Skip to main content

SCA Functional Specification

Credit

Last updated: 04-Dec-2024

This command returns funds to a cardholder’s account.

Device UI Required: Yes - Conditional (Required for some payment types for some processors.)

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 CREDIT Command name
TRANS_AMOUNT Required Floating point number 1(2) 6(2)   Transaction amount. Example: 5.00
PAYMENT_TYPE Optional List    
  • CREDIT
  • DEBIT
  • GIFT
  • EBT (Vantiv)
When present, will bypass the consumer payment selection screen. NOTE: PAYMENT_TYPE field is mandatory for card token based transactions.
AUTH_CODE Conditional Character 1 6   When present, the authorization is performed offline as a VOICE_AUTH. NOTE: This is applicable for Credit card only. Example: TA1260
MANUAL_ENTRY Optional Binary    
  • TRUE
  • FALSE
Instructs Point to collect the account information through the keypad on the device. Any value other than TRUE is FALSE. Not applicable for some PAYMENT_TYPEs.
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 - (Default) Card present (POS Condition Code 71)
  • FALSE - Card not present (POS Condition Code 08)
Card Present Indicator. This is applicable to FDRC, Worldpay and TSYS.
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.
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.
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.

FSA/HSA (Payment type CREDIT only)

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: 2.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: Thiis is used only in case of UGP host.
Response Packet
Field Type Value Description
RESPONSE_TEXT Character   This is Conditional. Processor response text. This element will not be present if no response text is returned by the processor. Example: APPROVAL
RESULT Character   This indicates the Result details, commonly CAPTURED or DECLINED.
RESULT_CODE Numeric Expected result codes: 4 or 6 and 59009 (if card does not match original) 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
TRANS_SEQ_NUM Numeric   Processor/Batch trans sequence number (not meaningful for direct host integrations). Example: 000048
INTRN_SEQ_NUM Numeric   PWC transaction ID (not meaningful for direct host integrations). Example: 000048
TROUTD Numeric   STAN number. Example: 000042
CTROUTD Numeric   Client-specific Transaction routing ID. Example: 028661052
AUTH_CODE Character   Processor authorization number, returned by some processors. This is not common. Example: TA0156
ACCT_NUM Numeric   Masked account number. This is conditional. ACCT_NUM will not be returned if CTROUTD or a processor card-based token is sent in request. Example: 400555******0019
CARD_EXP_MONTH Numeric   Expiry month of the card. Example: 12
CARD_EXP_YEAR Numeric   Expiry year of the card. Example: 20
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
APPROVED_AMOUNT Floating point number   Amount approved on authorization. Example: 5.00
AVAILABLE_BALANCE Floating point number   Available balance on card. Example: 0.01
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
PAYMENT_MEDIA Character   Medium of payment, commonly VISA/MC/DISC/AMEX/DEBIT . NOTE: Value returned by device for an offline (SAF) response may differ from online. Example: VISA
PAYMENT_TYPE Character   Type of payment. Example: CREDIT, GIFT
EBT_TYPE FOOD_STAMP   Indicates processed EBT transaction.
AUTH_RESP_CODE Character   Returned by some processors when the transaction is declined. The value is maximum of 19 bytes. Example: OK0156
HOST_RESPCODE Numeric   Host response code. This will be sent if included in the SSI response Example: 000
SAF_NUM Numeric   Returned instead of CTROUTD/TROUTD when transaction has been put in SAF. SAF number is per device. Example: 0008
FSA_AMOUNT Floating point number   Indicates processing with FSA items in transaction. FSA amount. Example: 5.00
MERCHID Numeric   Returns the merchant ID.
TERMID Numeric   Returns the terminal ID.
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   This is conditional. Batch Trace ID. Example: 12cc7b17-4b45-4344-b412-5432
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.
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.

Processor-Based Token (Conditional)

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/

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