Skip to main content

SCA Functional Specification

CARD VALIDATION

Last updated: 23-Jan-2025

This command requests a card validation (zero dollar authorization) and will not impact the cardholder’s open-to-buy.

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 CARD_VALIDATION Command name
PAYMENT_TYPE Optional List     CREDIT SCA supports only Credit payment type for card validation. When present, will bypass the consumer payment selection screen.
MANUAL_ENTRY Optional Binary    
  • TRUE
  • FALSE
Instructs Point to collect the account information through the keypad on the device.
CARD_PRESENT Optional Binary    
  • TRUE - Card present (Default)
  • FALSE - Card not present
Card Present Indicator
CUSTOMER_STREET Conditional Character 1 20   Applicable when MANUAL_ENTRY = TRUE. CUSTOMER_STREET or CUSTOMER_ZIP required for Amex card validation when using FDRC Engage.
CUSTOMER_ZIP Conditional Character 9     Applicable when MANUAL_ENTRY = TRUE. Merchants should send this field only when required by the processor. CUSTOMER_STREET or CUSTOMER_ZIP required for Amex card validation when using FDRC Engage.
SCMCI_INDICATOR Conditional Numeric 1 1
  • 1 - Cardholder Initiated Signup Transaction.
  • 2 - Cardholder Initiated Charge Transaction. (UGP)
  • 2 - Merchant Initiated Charge Transaction. (Worldpay and UGP)
  • 3 - Merchant Initiated Charge Transaction.
This field denotes the Stored Credential Transaction Indicator. This is a Required field for stored credential transaction and the value should be set as 1. NOTE: Value 2 is applicable to Worldpay Direct. Value 1 and 3 are applicable to GSC. Value 1 and 2 are applicable to UGP.
SCMCI_REASON Conditional Numeric    
  • 3900 - Incremental Authorization
  • 3901 - Resubmission
  • 3902 - Delayed Charges
  • 3903 - Reauthorization
  • 3904 - No Show
  • 0000 - No message reason code
This field indicates the message as reason code for the SCMCI indicator to host. It is a passthrough field. This is applicable to UGP only.
COL_3, COL_4, COL_5, COL_6, COL_7, COL_8, COL_9, COL_10 Optional Character 1 255   These fields represent Column 3 to Column 10. These fields are expected for the Merchants internal POS System, which will record any additional data and link those to the PWC CLIENT_ID and CTROUTD. When a value for COL_n is passed in, that same value will be returned in the response. These COL_n values are not indexed, or searchable in any command report. These fields are not sent to any payment processor. Example: Merchant defined data
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
Response Packet
Field Type Value Description
RESPONSE_TEXT Character   Processor response text. Example: SUCCESS
RESULT Character   This indicates the Result details, commonly APPROVED or DECLINED.
RESULT_CODE Numeric Expected result codes: 5 or 6 This indicates the result code.
TERMINATION_STATUS Character SUCCESS or 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
TROUTD Numeric   STAN number. Example: 000042
CTROUTD Numeric   Client-specific Transaction routing ID. Example: 20
TRANS_SEQ_NUM Numeric   Processor/Batch trans sequence number. Example: 5
INTRN_SEQ_NUM Numeric   PWC transaction ID (not meaningful for direct host integrations). Example: 178
PAYMENT_MEDIA Character   Medium of payment. NOTE: Value returned by device for an offline (SAF) response may differ from online. Example: MASTERCARD
PAYMENT_TYPE Character   Type of payment. Example: CREDIT, GIFT
ACCT_NUM Numeric   Masked account number. Example: 400555******0019
AUTH_RESP_CODE Character   Processor authorization response code. Example: OK0156
CARD_ENTRY_MODE Character   Refer to Card Entry Mode for details on possible values. Example: Swiped
CARDHOLDER Character   Returned for swiped/insert transactions. Example: FDMS TEST CARD
CARD_EXP_MONTH Numeric   Expiry month of the card. Example: 12
CARD_EXP_YEAR Numeric   Expiry year of the card. Example: 20
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
CARD_ABBRV Character   Card abbreviation as present in SSI response. If not in SSI response, MSR: Value from CDT or EMV: Value from AIDList.xml. Example: MC
AUTHNWID Character   This will be returned if present in the SSI response from host. Example: 03
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.
AUTH_REF_NUMBER Character Example: 123456789012345; Or, it can be empty This tag returns in the host response with the value for the particular transaction. This is used by some merchants to refer to the transaction at the host side. Currently this is applicable only for Worldpay processor.
AVAILABLE_BALANCE Floating point number   Available balance on the card used for transaction. This field will be returned to POS, when the Host returns the Available Balance data. SCA application sends <BALANCE_ENQ> as Host request field and based on the processor, it returns the Available Balance, and SCA will send it back to POS. Example: 1.00
COL_3, COL_4, COL_5, COL_6, COL_7, COL_8, COL_9, COL_10 Character   Column 3 to Column 10 fields value will be echoed in POS response. These fields are not sent to any payment processor.

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: 001/00/02/MASTERCARD/

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.

Stored Credential transaction (Conditional)

  

Note

All the fields are applicable for GSC Specific Signup, however COF_REFERENCE field applicable for UGP as well.

Field Type Value(s) Description
COF_REFERENCE Character Maximum length is 50. The Stored Credential Signup Reference UUID is the reference for the signup request returned for approved stored credential signup transactions. This will be used for the subsequent Stored Credential Charge transaction if returned by the host. This field is also applicable to UGP. SCMCI field is returned from the processor on an Initial transaction (Store Credentials) and the value will be sent in COF_REFERENCE field in POS.
PROCESSOR_TRANS_ID Character Maximum length is 128. The transaction ID used by the processor for the transaction which may be required in a subsequent refund or reversal transaction. This may be used for the subsequent Stored Credential Charge transaction if returned by the host.
COF_ISSUER_AUTH_RESULT Character Maximum length is 50. Issuer authorization result. This may be used for the subsequent Stored Credential Charge transaction if returned by the host.
COF_ACQ_AUTH_RESULT Character Maximum length is 50. Acquirer authorization result. This may be used for the subsequent Stored Credential Charge transaction if returned by the host.
COF_ACQ_REFERENCE_DATA Character Maximum length is 200. That Acquirer Reference Data that may represent the acquirer transaction identifier. This will be used for the subsequent Stored Credential Charge transaction if returned by the host.
COF_SCHEME_REFERENCE_DATA Character Maximum length is 200. The Scheme Reference Data sent by the acquirer in the authorization response message and sent in a subsequent authorization request messages associated with the same transaction. This may be used for the subsequent Stored Credential Charge transaction if returned by the host.
AUTH_CODE Numeric Maximum length is 10. The authorization response code received from issuer/acquirer. This will be used for the subsequent Stored Credential Charge transaction if returned by the host.
ACQUIRER_DATETIME Character Maximum length is 30. The date returned in the authorization response message. This will be used for the subsequent Stored Credential Charge transaction if returned by the host.
COF_SETTLEMENT_DATE Character Maximum length is 30. The date that reflects either the desired Merchant settlement date or the actual settlement date depending on where the transaction request is within the payment lifecycle. This may be used for the subsequent Stored Credential Charge transaction if returned by the host.
Example based on Stored Credential transaction

Following is an example of request packet

<TRANSACTION>
<FUNCTION_TYPE>PAYMENT</FUNCTION_TYPE>
<COMMAND>CARD_VALIDATION</COMMAND>
<TRANS_AMOUNT>0.00</TRANS_AMOUNT>
<SCMCI_INDICATOR>1</SCMCI_INDICATOR>
<INSTALLMENT>Y</INSTALLMENT>
<MANUAL_ENTRY>FALSE</MANUAL_ENTRY>
<FORCE_FLAG>FALSE</FORCE_FLAG>
</TRANSACTION>

Following is an example of response packet

<RESPONSE>
<ACCT_NUM>544400******2205</ACCT_NUM>
<ACQUIRER_DATETIME>2023-11-18T23:31:32Z</ACQUIRER_DATETIME>
<COF_ACQ_REFERENCE_DATA>MTAwHDE3MzE1MxwxOTMxNTAcHDEwMBwcQTAwMDE5MzE1MDExMTgcHBwzMzIyMTcxNzMxNTMcMzIyMDAwMDAxMTAwMDAwMRwc</COF_ACQ_REFERENCE_DATA>
<COMMAND>CARD_VALIDATION</COMMAND>
<APPROVED_AMOUNT>0.00</APPROVED_AMOUNT>
<AUTH_CODE>193150</AUTH_CODE>
<BANK_USERDATA>MASTERCARD</BANK_USERDATA>
<BATCH_TRACE_ID>1d708a81-1a30-455f-8e0c-9022f4937166</BATCH_TRACE_ID>
<CARDHOLDER>TEST-VOID/TEST</CARDHOLDER>
<CARD_ABBRV>MC</CARD_ABBRV>
<CARD_ENTRY_MODE>Swiped</CARD_ENTRY_MODE>
<CARD_EXP_MONTH>12</CARD_EXP_MONTH>
<CARD_EXP_YEAR>24</CARD_EXP_YEAR>
<CARD_TOKEN>aw97xuLMACC82sj8</CARD_TOKEN>
<CTROUTD>1d708a81-1a30-455f-8e0c-9022f4937166</CTROUTD>
<INVOICE>123456</INVOICE>
<HOST_RESPCODE>00</HOST_RESPCODE>
<MERCHID>700000013698</MERCHID>
<PAYMENT_MEDIA>MASTERCARD</PAYMENT_MEDIA>
<PAYMENT_TYPE>CREDIT</PAYMENT_TYPE>
<REFERENCE>332217173153</REFERENCE>
<RESPONSE_TEXT>Approved</RESPONSE_TEXT>
<RESULT>CAPTURED</RESULT>
<RESULT_CODE>5</RESULT_CODE>
<COF_REFERENCE>44b23c8e-a51b-40d6-9c3c-167ce64dad58</COF_REFERENCE>
<TERMID>001</TERMID>
<TERMINATION_STATUS>SUCCESS</TERMINATION_STATUS>
<TOKEN_SOURCE>INTERNAL</TOKEN_SOURCE>
<TRAINING_MODE>OFF</TRAINING_MODE>
<TRANS_AMOUNT>1.00</TRANS_AMOUNT>
<TRANS_DATE>2023.11.18</TRANS_DATE>
<TRAN_LANG_CODE>en</TRAN_LANG_CODE>
<TRANS_TIME>17:31:53</TRANS_TIME>
<TRANS_CURRENCY_CODE>0840</TRANS_CURRENCY_CODE>
<COUNTER>8</COUNTER>
<RESPONSE>

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