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 |
|
Instructs Point to collect the account information through the keypad on the device. | ||
CARD_PRESENT | Optional | Binary |
|
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 |
|
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 |
|
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 |
|
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>
Rate this article: