OPEN_TAB
This command opens a customer tab by performing a pre-authorization to PWC and returning the transaction IDs to the server. The message specification for Open Tab is identical to Authorize.
Device UI Required: Yes
Request Packet
Field | Rule | Type | Minimum | Maximum | Value(s) | Description |
---|---|---|---|---|---|---|
FUNCTION_TYPE | Required | Static value | PAYMENT | Type of function | ||
COMMAND | Required | Static | OPEN_TAB | Command name | ||
TRANS_AMOUNT | Required | Floating point number | 1(2) | 6(2) | Ex: 5.00 | Transaction amount |
PAYMENT_TYPE | Optional | List | CREDIT GIFT PRIV_LBL |
|
||
AUTH_CODE | Conditional | Character | 1 | 16 | Ex: TA12605 |
|
MANUAL_ENTRY | Optional | Boolean | TRUE FALSE |
Instructs Point to collect the account information through the keypad on the device. Any value other than TRUE is FALSE. | ||
CUSTOMER_STREET | Optional | Character | 1 | 20 | Applicable when MANUAL_ENTRY = TRUE. Merchants should send this field only when required by the processor. Not required for customers using Point Gateway services. | |
CUSTOMER_ZIP | Optional | Character | 9 | Applicable when MANUAL_ENTRY = TRUE. Merchants should send this field only when required by the processor. Not required for customers using Point Gateway services. | ||
MANUAL_PROMPT_OPTIONS | Optional | Character | 1 | 50 | NOEXP |
|
RECURRING | Optional | Boolean | N/A | N/A | Yes or No | This is used when Payment Type is Credit. This field denotes Recurring Billing Flag to indicate the transaction is recurring. Example: This is applicable to UGP only. |
BILLPAY | Optional | Boolean | N/A | N/A | TRUE or False | This is for UGP and Vantiv Direct. This is used to indicate a bill payment. |
FORCE_FLAG | Conditional | Boolean | N/A | N/A | TRUE or FALSE | Used to override duplicate checking for the transaction. |
CAPTURECARD_EARLYRETURN | Optional | Boolean | N/A | N/A | TRUE or FALSE |
|
ENCRYPT | Conditional | Boolean | N/A | N/A | TRUE or FALSE |
|
SCMCI_INDICATOR | Optional | Numeric | 2 | This field denotes the Stored Credential Transaction Indicator. The acceptable value for this field as of this publication is 2 which signifies that it is a cardholder initiated transaction. | ||
CDD_DATA | Optional | Character | 1 | 30 | 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. Example: <CDD_DATA>INV200471</CDD_DATA> |
|
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 used to authenticate the POS. Example: 100 | |
MAC | Required | Base64 Encoded Data | 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 2
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 |
|
Tax indicator | ||
CMRCL_FLAG | Conditional | List |
|
Commercial flag |
Keyed Account Information for Gift Card and Credit Card Payment Types Only
Field | Rule | Type | Minimum | Maximum | Value(s) | Description |
---|---|---|---|---|---|---|
ACCT_NUM | Optional | Numeric | 1 | 25 | Ex: 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 | |
BARCODE | Optional | Character | 1 | 100 | Barcode scanning option. | |
PIN_CODE | Optional | Numeric | 1 | 10 | PIN code. | |
CVV2 | Optional | Numeric | 1 | 10 | Card Verification Value 2. |
Processor-Based Token (Conditional)
Note
For use with host based processors supporting card based token implementations.
Field | Rule | Type | Minimum | Maximum | Value(s) | Description |
---|---|---|---|---|---|---|
CARD_TOKEN | Conditional | Character | 1 | 40 | Card token is processor-based or gateway-based and can represent a unique card. Example: 7987654321098765 | |
CARD_EXP_MONTH | Conditional | Numeric | 2 | 2 | Card expiry month details are required when sending AUTH_CODE and CARD_TOKEN. This is applicable to Point SCA First Data Rapid Connect and Direct to Vantiv implementations only. | |
CARD_EXP_YEAR | Conditional | Numeric | 2 | 2 | Card expiry year details are required when sending AUTH_CODE and CARD_TOKEN. This is applicable to Point SCA First Data Rapid Connect and Direct to Vantiv implementations only. | |
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. 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. This is applicable in case of UGP host only. |
Authorization Response
Field | Type | Value | Description |
---|---|---|---|
RESPONSE_TEXT | Character | Processor response text. Example: APPROVED: A :AP | |
RESULT | Character | Commonly APPROVED or DECLINED | |
RESULT_CODE | Numeric | 5 - Approved (RCHI/CPHI) 6 - DECLINED 59074 - Call for Auth |
This indicates the result code. |
RESPONSE_CODE | Character | A or 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 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 | |
TRANS_SEQ_NUM | Numeric | Processor/Batch trans sequence number. Example: 5 | |
INTRN_SEQ_NUM | Numeric | PWC transaction ID. Example: 123456789 | |
TROUTD | Numeric | Transaction routing ID. Example: 123456789 | |
CTROUTD | Numeric | Client-specific Transaction routing ID. Example: 45 | |
LPTOKEN | Numeric | Ex: 12357 | LP Token is a non-sensitive unique number assigned to each unique card number processed with the UGP gateway. This value will automatically increment by one for each unique card number. This is a conditional field. |
PAYMENT_MEDIA | Character | Commonly VISA/MC/DISC/AMEX/DEBIT |
|
PAYMENT_TYPE | Character | Type of payment (e.g., CREDIT, GIFT) | |
ACCT_NUM | Numeric | Returned the masked account number. Example: 400555******0019 | |
AUTH_CODE | Character | Processor authorization number. Example: TA0156 | |
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 | |
APPROVED_AMOUNT | Floating point | Amount approved on authorization. Example: 5.00 | |
ORIG_TRANS_AMOUNT | Floating point | Original transaction amount. Example: 5.00 | |
CARD_ENTRY_MODE | Character | Refer to Card Entry Mode for details on possible values. | |
CARDHOLDER | Character | Returned for swiped/insert transactions. Example: MC TEST | |
CARD_EXP_MONTH | Numeric | Ex: 12 | Card expiry month. Example: 12 |
CARD_EXP_YEAR | Numeric | Card expiry year. Example: 20 | |
AVS_CODE | Character | Result of AVS check. Example: Z | |
CVV2_CODE | Character | Result of CVV2 check. | |
MERCHID | Numeric | Merchant ID. Example: 900000000123 | |
TERMID | Numeric | Terminal ID. Example: 001 | |
SERVER_ID | Numeric | Echoes what is sent in START request. Example: 10 | |
CASHIER_ID | Character | Echoes what is sent in START request. Example: 10 | |
REFERENCE | Character | Returned by some processors. Example: 100007265288 | |
TRACE_CODE | Character | Returned by some processors for tracking purposes. Example: 119517 | |
MERCH_DECL | Character | Values return: 100-AVS MISMATCH 200-CVV MISMATCH 300-AVS/CVV MISMATCH |
Merchant decline codes will return when this is configured. It returns when declined by Host due to AVS/CVV mismatch. |
MERCH_REF | Character | AVS MISMATCH CVV MISMATCH |
Merchant reference will return when this is configured. It returns when declined by Host due to AVS/CVV mismatch. |
AUTH_RESP_CODE | Character | Returned by some processors when the transaction is declined. Max 19 bytes. Example: 0131 | |
SAF_NUM | Numeric | Returned instead of CTROUTD when transaction has been put in SAF. SAF number is per device. Example: 0008 | |
RECEIPT_DATA | Character | Receipt Data | |
TRAN_LANG_CODE | Character | en – English fr – French es – Spanish |
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. |
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 | Ex: 100 | If present, VSP response field. Example: 100 |
VSP_RESULTDESC | Character | Success or Failure | If present, VSP response field. |
VSP_TRXID | Numeric | If present, VSP response field. Example: 987696060049091234 | |
PPCV | Character | This field is sent from the Host Response to POS Response, without any change. Example: CBCC.WSI | |
TRACE_NUM | Numeric | This field is sent from the Host Response. This field contains the Interac Sequence number from the host. Example: 1400040000000004001951 | |
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> |
|
SIGNATUREDATA | Base 64 encoded data | Signature data. | |
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 | |
BANK_USERDATA | Character | Bank User Data, normally returned with CARD_TOKEN. Maximum 50 alphanumeric. Example: /CustData`JANE`K`DOE`````00` |
Direct to Processor Implementation Response Fields (Conditional)
Note
Not applicable to Point Classic implementations.
Field | Type | Value | Description |
---|---|---|---|
HOST_RESPCODE | Numeric | Will be sent if present in the host response | |
MERCHID | Numeric | Merchant ID | |
TERMID | Numeric | Terminal ID | |
LANE | Numeric | This is returned to identify the retail lane. |
Duplicate Transaction (Conditional)
Field | Type | Value | Description |
---|---|---|---|
DUPLICATE_TRANSACTION | Character | 1 - Duplicate transaction detected | A duplicate transaction is detected if the same card is swiped in the context of two consecutive cashless purchase transactions on the same PIN pad. DUPLICATECHECK parameter must be enabled on Engage device. Refer to SCA Configuration Guide for more details on DUPLICATECHECK parameter. |