VOID
Last updated: 09-Dec-2024
This command allows the POS to signal the device to immediately apply any pending updates from VHQ. SCA will inform VHQ to defer the updates if a transaction is in progress.
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 | VOID | Command name |
PAYMENT_TYPE | Required | List | N/A | N/A | CREDIT DEBIT GIFT EBT (Vantiv Direct only) CHECK (for Check Processing) |
|
CTROUTD | Required | Numeric | 1 | 16 | This is the transaction ID from the previous transaction that is being voided. CTROUTD is a sequence number for PAYMENT transactions (always enabled) that is generated per Client ID. Each Client ID has its own CTROUTD sequence counter. Example: 45 |
|
CDD_DATA | Optional | Character | 1 | 10000 | Customer Defined Data. This field is optional and the datatype is String. It is a pass through field and it is passed in the host request if this field is present in the POS request and also returned in POS response. This field is applicable for all payment transactions. NOTE: In case of UGP with PWC processor, SCA supports up to 30 characters of data. For other Hosts, application supports 10000 characters of data. Example: <CDD_DATA>INV200471</CDD_DATA> |
|
PROMO_NEEDED | Optional | Character | 4 | Ex: 0999 | This field is sent from POS in case of PLCC (Private Label Credit Card) transactions. This will be sent in host request. This field is Required only for PLCC transactions with maximum length of 4 characters. As of this publication, this field is applicable for Worldpay solutions 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. These fields are sent in SAF transaction request. 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 used to authenticate the POS. Example: 100 | |
MAC | Required | Base64 Encoded Data | N/A | 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 |
Example
Following is an example of request packet
<TRANSACTION>
<FUNCTION_TYPE>PAYMENT</FUNCTION_TYPE>
<COMMAND>VOID</COMMAND>
<COUNTER>1</COUNTER>
<MAC> … </MAC>
<MAC_LABEL>REG2</MAC_LABEL>
<PAYMENT_TYPE>CREDIT</PAYMENT_TYPE>
<CTROUTD>5</CTROUTD>
</TRANSACTION>
Response Packet
Field | Type | Value | Description |
---|---|---|---|
RESPONSE_TEXT | Character | Processor response text. Example: VOIDED | |
RESULT | Character | Commonly VOIDED or DECLINED. Example: VOIDED | |
RESULT_CODE | Numeric | Expected result code: 6, 7 | This indicates the result code. |
RESPONSE_CODE | Character | Expected response code: A, E | Response code data will be returned to POS, same as received from the Host if this is present in Host response. Example: “<RESPONSE_CODE>E</RESPONSE_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 | |
MERCHID | Numeric | Merchant ID. Example: 900000000123 | |
TERMID | Numeric | Merchant ID. Example: 001 | |
TRANS_SEQ_NUM | Numeric |
|
|
INTRN_SEQ_NUM | Numeric | PWC transaction ID. | |
TRACE_NUM | Numeric | This field is sent from the Host Response. This field contains the Interac Sequence number from the host. Example: 1400040000000004001951 | |
TROUTD | Numeric | Transaction routing ID (this will match the TROUTD of the original transaction that is voided). Example: 123456789 | |
CTROUTD | Numeric |
|
|
APPROVED_AMOUNT | Floating point number | Amount approved. Example: 5.02 | |
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: 0.01 | |
PAYMENT_MEDIA | Character | Medium of payment. Commonly VISA/MC/DISC/AMEX/DEBIT | |
PAYMENT_TYPE | Character | Payment type returned. Example: CREDIT | |
ACCOUNT_TYPE | Character | Indicates the type of debit account based on the selection of the customer. Example: CHECKING/SAVINGS. | |
AUTH_RESP_CODE | Character | Returned by some processors when the transaction is declined. Maximum of 19 bytes. Example: 0131. | |
RECEIPT_DATA | Character | Receipt Data | |
TRANS_DATE | Character | Transaction date returned. Example: 2016.09.20 | |
TRANS_TIME | Character | Transaction time returned. Example: 09:16:25 | |
TRAINING_MODE | Character | ON or OFF | Conditionally returned when session is in Training Mode. |
VSP_CODE | Numeric | If present, returns the VSP code. Example: 910 | |
VSP_RESULTDESC | Character | If present, returns the VSP result description. Example: VSP NOT APPLICABLE | |
VSP_TRXID | Numeric | If present, returns the VSP transaction ID. Example: 0 | |
TRAN_LANG_CODE | Character | “en” – English and “fr” – French | This field contains the language code for the current transaction which is finalized based on the configured language on terminal and language preference from the card. This field will be returned only whenever the Card data is captured from cardholder during transaction flow. If Language code is not available from card, then terminal language will be returned. This field needs to be added for the below transaction flows. |
CDD_DATA | Character | Customer Defined Data field is returned in POS response when it is present in the POS request and passed in the host request. Example: <CDD_DATA>INV200471</CDD_DATA> |
|
TRANS_CURRENCY_CODE | Numeric |
|
|
HOST_PAYTYPE | Character | This field is sent back to POS when the Debit Optimization feature is applied for a transaction. If Debit Optimization flag in G035 (EMV Tag Data) is sent in the Worldpay host response, then HOST_PAYTYPE with the value ‘CREDIT’ will be sent back in the POS response. In other cases, this field will be absent in the POS response. As of this publication, this field is applicable for Worldpay only. Example: CREDIT | |
PROMO_NEEDED | Character | This field is sent back to POS in case of PLCC (Private Label Credit Card) transactions. As of this publication, this field is applicable for Worldpay only. Example: 0999 | |
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. |
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)
Note
For use with host based processors supporting card based token implementations.
Field | Type | Value | Description |
---|---|---|---|
CARD_TOKEN | Character | Card token. Example: 7987654321098765 | |
TOKEN_SOURCE | Character | Source of token. Example: PWC |
Example
Following is an example of response packet
<RESPONSE>
<AUTH_CODE>125463</AUTH_CODE>
<CTROUTD>5</CTROUTD>
<INTRN_SEQ_NUM>34552</INTRN_SEQ_NUM>
<PAYMENT_MEDIA>VISA</PAYMENT_MEDIA>
<PAYMENT_TYPE>CREDIT</PAYMENT_TYPE>
<ACCOUNT_TYPE>SAVINGS</ACCOUNT_TYPE>
<RESPONSE_TEXT>CAPTURED</RESPONSE_TEXT>
<RESULT>VOIDED</RESULT>
<RESULT_CODE>7</RESULT_CODE>
<TERMINATION_STATUS>SUCCESS</TERMINATION_STATUS>
<TRANS_SEQ_NUM>17</TRANS_SEQ_NUM>
<TRACE_NUM>1400040000000004001951</TRACE_NUM>
<TROUTD>24552</TROUTD>
<TRAN_LANG_CODE>en</TRAN_LANG_CODE>
</RESPONSE>
Rate this article: