Skip to main content

SCA Functional Specification

Capture

Last updated: 04-Dec-2024

This command captures payment authorization(s) and marks them eligible for settlement.

  

Note

If both AUTH_CODE and CTROUTD are sent in the transaction, Point will issue an error (example, AUTH_CODE/CTROUTD combination not valid).

Device UI Required: Yes

Request Packet
Field Rule Type Minimum Maximum Value(s) Description
FUNCTION_TYPE Required Static value N/A N/A PAYMENT Type of function
COMMAND Required Static value N/A N/A CAPTURE Command name
TRANS_AMOUNT Required Floating point number 1(2) 6(2)   Total transaction amount (including any TIP_AMOUNT). Example: 5.35
TIP_AMOUNT Optional Floating point number 1(2) 6(2)   Tip amount. Example: 1.00
EBTCASH_ELIGIBLE Optional Floating point number 1(2) 6(2)   Amount eligible for Cash Benefits EBT. When present, SCA displays EBT payment button. Example: 5.00
EBTSNAP_ELIGIBLE Optional Floating point number 1(2) 6(2)   Amount eligible for Food Stamp EBT. When present, SCA displays EBT payment button. Example: 5.00
PAYMENT_TYPE Optional List    
  • CREDIT
  • DEBIT
  • GIFT
  • EBT
Required when CTROUTD is sent. Optional otherwise. When present, will bypass the consumer payment selection screen. NOTE: PAYMENT_TYPE field is mandatory for card token based transactions.
EBT_TYPE Optional List     FOOD_STAMP or CASH_BENEFITS Required for EBT transactions
AUTH_CODE Conditional Character 1 6   When present, the capture is performed offline as a POST_AUTH. NOTE: This is applicable for Credit card only and Vantiv Direct allows maximum 6 bytes. Example: TA1260
MANUAL_ENTRY Optional Binary    
  • TRUE
  • FALSE
Instructs Point to collect the account information through the keypad on the device.
CUSTOMER_STREET Optional Character 1 20   Applicable when MANUAL_ENTRY = TRUE. Merchants should send this field only when required by the processor.
CUSTOMER_ZIP Optional Character   9   Applicable when MANUAL_ENTRY = TRUE. Merchants should send this field only when required by the processor.
MER_SVC_PHONE_NUM Optional Numeric   10   FDRC Engage Only. Customer Service Phone Number for use when CARD_PRESENT=FALSE (will override what is in CustomerSvcPhone parameter). Example: 8001234567
PAYMENT_TYPES Optional Character 3     Pipe-delimited list of valid tender types (for capture/refund transactions) specified by POS. Only listed payment types will appear on consumer payment selection screen. NOTE: All included tender types must be configuration enabled. Example: CREDIT|DEBIT|GIFT|FSA
CARD_PRESENT Optional Binary    
  • TRUE - Card present (POS Condition Code 71) (Default)
  • FALSE - Card not present (POS Condition Code 08)
Card Present Indicator. This is applicable to FDRC, Worldpay and TSYS.
ORDER_TYPE Optional List    
  • 1 - Mail Order
  • 2 - Telephone Order (default)
Order Type for Card not present (MOTO) transactions, when CARD_PRESENT is set to FALSE. This is applicable to FDRC and TSYS.
CTROUTD Conditional Numeric 1 16   When present, Point will mark the referenced transaction as eligible for settlement (performed with the COMPLETION command). Example: 1234567
RECURRING Optional Binary 1 1 Yes or No This is for UGP only. This is used when Payment Type is Credit. This field denotes Recurring Billing Flag to indicate the transaction is recurring.
BILLPAY Optional Binary 1 1 TRUE or False This is for UGP and Vantiv Direct. Used to indicate a bill payment. NOTE: When using Vantiv, a CAPTURE followed by a CAPTURE with BILLPAY in the same session = Pay on Account.
FORCE_FLAG Conditional Binary     TRUE or False This is applicable for FDRC and UGP. This field is used to override duplicate checking (dupcheck) for the transaction.
USER_DEFINED1 Optional Character 1 35   This is for Vantiv Direct Only. This is a user defined field (will override START session).
USER_DEFINED2 Optional Character 1 35   This is for Vantiv Direct Only. This is a user defined field (will override START session). NOTE: This will be truncated to 20.
USER_DEFINED3 Optional Character 1 35   This is for Vantiv Direct Only. This is a user defined field (will override START session). NOTE: This will be truncated to 20.
DCC_NOT_ALLOWED Conditional Binary     TRUE or FALSE Required if HOST_RESP_CODE is Referral code for DCC. Disables DCC for the transaction. NOTE: Classic Solution to FirstData/Fiserv only.
COUNTER Required Numeric 1 10   COUNTER is used for a given MAC label. Each COUNTER should be higher than the last one. This is sed to authenticate the POS. Example: 100
MAC Required Base64 Encoded Data N/A N/A   Message Authentication Code. This is used to authenticate the POS.
MAC_LABEL Required Character 1 50   Associated label that tells the device which MAC_KEY to use to decrypt the value of MAC. This is used to authenticate the POS. Example: REG1

Level II

Field Rule Type Minimum Maximum Value(s) Description
TAX_AMOUNT Conditional Floating point number 1(2) 6(2)   Tax amount. Example: 5.00
TAX_IND Conditional List    
  • 0 - Tax not provided
  • 2 - Tax amount equals 0.00
  • 1 - Tax amount not equal to 0.00
Tax indicator.
CMRCL_FLAG Conditional List    
  • B - Business
  • C - Corporate
  • P - Purchasing
Commercial flag.
CUSTOMER_CODE Conditional Character 1 25   Customer code.
RETAIL_ITEM_DESC_1 Conditional Character 1 40 Default is (empty) Description of retail items.

Keyed Account Information for Gift Card Payment Type Only

Field Rule Type Minimum Maximum Value(s) Description
ACCT_NUM Optional Numeric 1 25   Account number. Example: 67823456781313
CARD_EXP_MONTH Optional Numeric 2 2   Card expiry month. Example: 12
CARD_EXP_YEAR Optional Numeric 2 2   Card expiry year. Example: 49
PIN_CODE Optional Numeric 1 10   Pin code.
CVV2 Optional Numeric 1 10   CVV2 number.

Processor-Based Token (Conditional)

Field Rule Type Minimum Maximum Value(s) Description
AMOUNT_HEALTHCARE Conditional Floating point number 1(2) 6(2)   Required for FSA. Total FSA-eligible amount. Example: 5.00
AMOUNT_PRESCRIPTION Optional Floating point number 1(2) 6(2)   FSA-eligible prescription amount. Example: 5.00
AMOUNT_VISION Optional Floating point number 1(2) 6(2)   FSA-eligible vision amount. Example: 1.00
AMOUNT_CLINIC Optional Floating point number 1(2) 6(2)   FSA-eligible clinic amount. Example: 1.00
AMOUNT_DENTAL Optional Floating point number 1(2) 6(2)   FSA-eligible dental amount. Example: 1.00

Processor-Based Token (Conditional)

Field Rule Type Minimum Maximum Value(s) Description
CARD_TOKEN Conditional Character 1 40   Refer to :ref: lbl-proto-spec-message-format-main section for more details on Two Way Card Token. Example: 7987654321098765
CARD_EXP_MONTH Conditional Numeric 2 2   Required when sending AUTH_CODE and CARD_TOKEN.
CARD_EXP_YEAR Conditional Numeric 2 2   Required when sending AUTH_CODE and CARD_TOKEN.
BANK_USERDATA Conditional Character 1 50   Returned with CARD_TOKEN. Whatever comes back with BANK_USERDATA in the response for the token should also be sent in the request. NOTE: This is applicable to FDRC Engage only. Example: 01/00/02/Visa/
OC_INDUSTRY_CODE Conditional Character 1 1
  • E - eCommerce
  • M - Moto. Default is empty.
This is used to convert a transaction from the Merchants default industry of Retail or Restaurant to E-Commerce or MOTO. NOTE: This is used only in case of UGP host.
Response Packet
Field Type Value Description
RESPONSE_TEXT Character   Processor response text. Example: APPROVAL
RESULT Character   This indicates the Result details, commonly CAPTURED or DECLINED.
RESULT_CODE Numeric Expected result codes: 4 or 5 or 6 This indicates the result code.
TERMINATION_STATUS Character SUCCESS and FAILURE This indicates the transaction termination status. This is the overall status of the transaction irrespective of approved or declined. Like, if the output is generated then the status is SUCCESS and if no output is generated then the status will be FAILURE.
COUNTER Numeric   Echoes COUNTER sent in the request. Example: 100
B_NUM Numeric   Processor/Batch trans sequence number (not meaningful for direct host integrations). Example: 000042
INTRN_SEQ_NUM Numeric   PWC transaction ID (not meaningful for direct host integrations). Example: 000042
TROUTD Numeric   In Vantiv Direct implementations this is STAN number. Example: 000042
CTROUTD Numeric   Client-specific Transaction routing ID. Example: 028660198
PAYMENT_TYPE Character   Type of payment. Example: CREDIT, DEBIT
PAYMENT_MEDIA Character   Medium of payment, Commonly VISA/MC/DISC/AMEX/DEBIT. Example: VISA
EBT_TYPE Character FOOD_STAMP or CASH_BENEFITS Indicates processed EBT transaction.
ACCT_NUM Numeric   Masked account number. Example: 400555******0019
AUTH_CODE Character   Processor authorization number. Example: TA0156
AVAILABLE_BALANCE Floating point number   Available balance on card. Example: 0.01
APPROVED_AMOUNT Floating point number   Amount approved on authorization. Example: 5.00
DIFF_AMOUNT_DUE Floating point number   For partial authorizations, remaining payment amount (TRANS_AMOUNT - APPROVED_AMOUNT). This is applicable if PARTIALAUTH_ configuration parameter (Host Specific paramter) is enabled.
FSA_AMOUNT Floating point number   FSA amount. Indicates processing with FSA items in transaction. Example: 5.00
CASHBACK_AMNT Floating point number   Returned for Debit or EBT Cash Benefits transactions with cash back. Example: 10.00
TIP_AMOUNT Floating point number   Returned if counter tip selected or if TIP_AMOUNT sent in request. Example: 2.00
FS_AVAIL_BALANCE Floating point number   Available balance on EBT SNAP card. Example: 0.00
CB_AVAIL_BALANCE Floating point number   Available balance on EBT Cash Benefits card. Example: 0.00
CARD_ENTRY_MODE Character   Refer to Card Entry Mode for details on possible values. NOTE: Vantiv Direct also has value Token. Example: Swiped
CARDHOLDER Character   Returned for swiped/insert transactions. Example: Doe/John
CARD_EXP_MONTH Numeric   Expiry month of the card. Example: 12
CARD_EXP_YEAR Numeric   Expiry year of the card. Example: 20
AVS_CODE Character   Result of AVS check when sent from host. Example: Z
CVV2_CODE Character   Result of CVV2 check when sent from host. Example: M
AUTH_RESP_CODE Character   Processor authorization response code. Returned by some processors when the transaction is declined. This length is maximum of 19 bytes. Example: 0131
EMBOSSED_ACCT_NUM Numeric   Card number conditionally returned if present in the response. Returned if payment type = GIFT and returnembossednumforgift is enabled. Example: 6499991111115789
SAF_NUM Numeric   Returned instead of CTROUTD/TROUTD when transaction has been put in SAF. SAF number is per device. Example: 0008
RECEIPT_DATA Character   Refer to Receipt Data in Response section for more details on receipt data.
TRANS_DATE Character   Transaction date. Example: 2018.01.10
TRANS_TIME Character   Transaction time. Example: 12:24:30
BATCH_TRACE_ID Character   Conditional. Batch Trace ID. Example: 12cc7b17-4b45-4344-b412-1234
TRAN_LANG_CODE Character
  • en - English
  • fr - French
  • es - Espanol
This field is returned in POS response in case of only payment transactions with card intervention.
TRAINING_MODE Character ON or OFF Conditionally returned when session is in Training Mode.

Processor-Based Token (Conditional)

  

Note

For use with host based processors supporting card based token implementations.

Field Type Value(s) Description
CARD_TOKEN Character   Refer to MESSAGE FORMAT section for more details on Message Format, Responses from Point. Example: 7987654321098765
BANK_USERDATA Character   Bank User Data, normally returned with CARD_TOKEN. NOTE: This is applicable for FDRC Engage only. Example: 01/00/02/Visa/

Direct to Processor Implementation Response Fields (Conditional)

Field Type Value(s) Description
HOST_RESPCODE Numeric   Host response code. Example: 000
MERCHID Numeric   Returns the merchant ID.
TERMID Numeric   Returns the terminal ID.
LANE Numeric   Lane number.
EMV_CVM Character
  • SIGNATURE
  • PIN
  • NONE
NOTE: Vantiv Direct returns for both EMV and MSR transactions.
EMV_REVERSAL_TYPE Numeric
Possible values:
  • 401-Host Approved but EMV Card Removed Before Completing (auto-voided)
  • 402-Host Approved but EMV Card Rejected Current Transaction (auto-voided)
  • 403-Host Approved but Error Occurred before completing Current Transaction (auto-voided)
EMV reversal type.

Dynamic Currency Conversion Response Fields (Conditional)

  

Note

Classic Solution to FirstData/Fiserv only.

Field Type Value(s) Description
DCC_TRAN_AMOUNT Floating point number   Converted amount. Example: 24.45
DCC_EXCHANGE_RATE Floating point number   Exchange rate for converting local currency to foreign currency. Example: 1.7461
DCC_ALPHA_CURR_CODE Character   Currency code of the foreign transaction. Example: SGD

Need help?

Do you have a question? If you didn’t find the answer you are looking for in our documentation, you can contact our Support teams for more information. If you have a technical issue or question, please contact us. We are happy to help.

Not yet a Verifone customer?

We’ll help you choose the right payment solution for your business, wherever you want to sell, in-person or online. Our team of experts will happily discuss your needs.

Verifone logo