AUTHORIZE
This command requests a payment authorization at the processor or adds a voice authorization code to PWC.
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 | AUTH | Command name |
TRANS_AMOUNT | Required | Floating point number | 1(2) | 6(2) | Transaction amount. Example: 5.00 | |
PAYMENT_TYPE | Optional | List |
|
When present, will bypass the consumer payment selection screen. Required field for Vantiv Direct (GIFT only). Point Classic supports AUTH for Credit card only. PAYMENT_TYPE field is mandatory for card token based transactions. | ||
AUTH_CODE | Conditional | Character | 1 | 16 | When present, the authorization is performed offline as a VOICE_AUTH. This is applicable for credit card only. Not supported by First Data Rapid Connect in Point Classic implementation. Example: TA12605 | |
MANUAL_ENTRY | Optional | Boolean | TRUE or 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. | ||
CARD_PRESENT | Optional | Binary |
|
Card Present Indicator | ||
MANUAL_PROMPT_OPTIONS | Optional | Character | 1 | 50 | NOEXP | Applicable when MANUAL_ENTRY = TRUE with VOICE_AUTH or OPEN_TAB. When this is present, SCA will not prompt for expiration. This is applicable for CREDIT or GIFT. |
BILLPAY | Optional | Boolean | 1 | 1 | TRUE or FALSE | This is used to indicate a bill payment. This is applicable to UGP and Vantiv Direct. |
FORCE_FLAG | Conditional | Boolean | True or FALSE | This field is used to override duplicate checking for the transaction, when DUPLICATECHECK parameter (Application Parameters) is enable. The value should be sent as TRUE to override duplicate checking. | ||
CAPTURECARD_EARLYRETURN | Optional | Boolean | TRUE or FALSE | If the sending value is TRUE, then the application returns card data to POS before processing. PCI BIN checking in place to return full PAN or masked PAN BIN range level. Refer to the example response below. SCA will cache data from the swipe, but will only use in immediately subsequent CAPTURE request containing explicit tender type. Refer to Capture Card Early Return for more details. | ||
EMV_TAGS_REQD | Conditional | Binary | Valid values: Y/N | EMV tags detail required. This field is sent in request to return the EMV tags in the response, only in case of CAPTURECARD_EARLYRETURN is sent as TRUE. | ||
ENCRYPT | Conditional | Boolean | TRUE or FALSE | This field is required to encrypt the PAN details before passing it on to processor/gateway. In case of P2PE encryption, this field needs to be set to TRUE as value. If this field is not present, then the application will internally treat this field as a value TRUE when the device encryption is ADE/VSD. | ||
INSTALLMENT | Conditional | Character |
|
This field denotes that the Stored Credential transaction will be processed for instalment payments. This is a required field, when SCMCI_INDICATOR=3. This field is prohibited, when SCMCI_INDICATOR=2. This is an optional, when SCMCI_INDICATOR=1. NOTE: Value N and Y are applicable to GSC. Value Y and F are applicable to UGP. | ||
RECURRING | Conditional | Character |
|
This field denotes that the Stored Credential transaction will be processed for instalment payments. This is a required field, when SCMCI_INDICATOR=3. This field is prohibited, when SCMCI_INDICATOR=2. This is an optional, when SCMCI_INDICATOR=1. NOTE: Value N and Y are applicable to GSC. Value Y and F are applicable to UGP. | ||
UNSCHEDULED | Conditional | Binary |
|
This field denotes that the Stored Credential transaction will be processed for unscheduled payments. This is a required field, when SCMCI_INDICATOR=3. This field is prohibited, when SCMCI_INDICATOR=2. This is an optional, when SCMCI_INDICATOR=1. NOTE: This is applicable to GSC only. | ||
SCMCI_INDICATOR | Optional | Numeric |
|
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 | Character | Numeric |
|
This field indicates the message as reason code for the SCMCI indicator to host. It is a passthrough field. NOTE: This is applicable to UGP only. | ||
CDD_DATA | Optional | Character | 1 | 10000 | Ex: INV200471 | 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. 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> |
DEPARTMENT_CODE | Optional | Character | 40 | Department code. Application will accept this field in the POS Request and the same will be forwarded in the host request. Example: <DEPARTMENT_CODE>Verifone01!</DEPARTMENT_CODE> |
||
TOKEN_TYPE | Optional | Character | LVT (Low Value Token) | Token type. A limited used token called Low Value Token (LVT) is introduced. This is a transactional token that has 24-hour duration for expiration. This LVT can be used the same manner as the current High Value Token/Omni-Token (HVT) is used. If this field is not sent, then HVT will be used by default. If TOKENIZE is set to ‘0’ and the POS sends a command request with TOKEN_TYPE=LVT then the terminal will request an LVT token. This field is applicable for Worldpay Direct only. Refer to Application Parameters table for more details on TOKENIZE parameter. | ||
PROMO_SPECIAL_FIN_IND | Optional | Character | 2 | 2 | Ex: 02 | Promo Special Financial Indicator. To request the promotional APR(s) (Annual Percentage Rate). This field will also contain the result of the promotional requests. As of this publication, this field is applicable for GSC only. Refer to Notes on PROMO fields for additional details. |
PROMO_PLAN_CODE | Optional | Character | 3 | 3 | Ex: A54 | Promo Plan Code. This field contains the promotional code for the cards applicable for Retail Special Financing clients. As of this publication, this field is applicable for GSC only. Refer to Notes on PROMO fields for additional details. |
PROMO_PLAN_EXP_DATE | Optional | Character | 6 | 6 | Ex: 122024 | Promo Plan Expiry Date. This field contains the promotional plan expiration date. This is a passthrough field for the application. Merchant or POS receives the format from the processor or gateway to configure. As of this publication, this field is applicable for GSC only and the format is yyyy-mm-dd. Refer to Notes on PROMO fields for additional details. |
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 | 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 |
|
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 | This field is used to enter the account number manually. For this MANUAL_ENTRY must be set to TRUE. Pre-swipe data will not be honored. 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 | |
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 |
---|---|---|---|---|---|---|
TKN_RENEW | Conditional | Character | 1 | Valid value: 1 | Application will send this field to the Gateway, requesting for Token renewal. As of this publication, this is applicable for UGP only. | |
CARD_TOKEN | Conditional | Character | 1 | 40 | Card token is processor-based or gateway-based and can represent a unique card. Refer to Two Way Card Token section. Example: 7987654321098765 | |
DCC_IND | Conditional | Numeric | 1 | 1 |
|
DCC Indicator. |
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: Ex: 01/00/02/Visa/ | |
OC_INDUSTRY_CODE | Conditional | Character |
|
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. |
Stored Credential on File transaction - Worldpay
- The following fields are specific to WorldPay only.
- These are added for Credential on File transaction, in which a cardholder explicitly authorizes the merchant to store the cardholder’s account information and subsequently authorizes that same merchant to bill them.
- Credential on File transaction option is supported only in Credit payment type.
- CUSTOMER_ID, CUSTOMER_EMAIL, CUSTOMER_PHONE_NUM tags will be sent from POS in G059 (Customer Order Information) in the request packet and CUSTOMER_NAME_ON_CARD tag will be sent from POS in G063 (Merchant Fraud Customer Name) in the request packet.
Note
Field | Rule | Type | Minimum | Maximum | Value(s) | Description |
---|---|---|---|---|---|---|
CUSTOMER_ID | Optional | Conditional | 0 | 32 | Customer order ID. | |
CUSTOMER_EMAIL | Optional | Conditional | 0 | 64 | Customer email. | |
CUSTOMER_PHONE_NUM | Optional | Numeric | 10 | Customer phone number. | ||
CUSTOMER_NAME_ON_CARD | Optional | Conditional | 0 | 20 | Customer name on card. |
Stored Credential Charge transaction (Conditional)
Note
All the fields are applicable for GSC, however COF_REFERENCE field applicable for UGP as well. Refer to Stored Credential transaction for the sample request and response.
Field | Rule | Type | Minimum | Maximum | Value(s) | Description |
---|---|---|---|---|---|---|
COF_REFERENCE | Reruired | Character | Maximum length 50 | For GSC, this is the Signup Reference UUID. For UGP, this is SCMCI host field for charge transaction. | ||
COF_PROCESSOR_TRANS_ID | Optional | Character | Maximum length 128 | Signup Processor Transaction ID. Maps to POS Request field: PROCESSOR_TRANS_ID | ||
COF_ISSUER_AUTH_RESULT | Optional | Character | Maximum length 50 | Signup Issuer Authorisation Result. | ||
COF_ACQ_AUTH_RESULT | Optional | Character | Maximum length 50 | Signup Acquirer Authorisation Result. | ||
COF_ACQ_REFERENCE_DATA | Required | Character | Maximum length 200 | Signup Acquirer Reference Data. | ||
COF_SCHEME_REFERENCE_DATA | Optional | Character | Maximum length 200 | Signup Scheme Reference Data. | ||
COF_AUTH_CODE | Required | Numeric | Maximum length 10 | Signup Authorisation Code. Maps to POS Request field: AUTH_CODE | ||
COF_ACQ_RESP_DATETIME | Required | Character | Maximum length 30 | Signup Acquirer Response Date/Time. Maps to POS Request field: ACQUIRER_DATETIME. | ||
COF_SETTLEMENT_DATE | Optional | Character | Maximum length 30 | Signup Settlement Date. |
- PROMO_SPECIAL_FIN_IND, PROMO_PLAN_CODE and PROMO_PLAN_EXP_DATE fields are applicable for Post Authorization transactions.
- If PROMO_PLAN_CODE is sent and PROMO_SPECIAL_FIN_IND is not sent, then the Promo Special Financial Indicator will consider the configured value from PROMOSPECIALFININD parameter.
- If PROMO_PLAN_CODE is sent and PROMO_PLAN_EXP_DATE is not sent, then the Promo Expiry Date will consider the configured value from PROMOEXPIRYDATE parameter.
Note
Example
Following is an example of request packet
<TRANSACTION>
<FUNCTION_TYPE>PAYMENT</FUNCTION_TYPE>
<COMMAND>AUTH</COMMAND>
<COUNTER>1</COUNTER>
<MAC> … </MAC>
<MAC_LABEL>REG2</MAC_LABEL>
<TRANS_AMOUNT>1.00</TRANS_AMOUNT>
<RECURRING>Y</RECURRING>
<BILLPAY>TRUE</BILLPAY>
<OC_INDUSTRY_CODE>M</OC_INDUSTRY_CODE>
<ENCRYPT>TRUE</ENCRYPT>
<SCMCI_INDICATOR>2</SCMCI_INDICATOR>
</TRANSACTION>
Response Packet
Field | Type | Value | Description |
---|---|---|---|
RESPONSE_TEXT | Character | Ex: APPROVED: A :AP | Processor response text |
RESULT | Character | Ex: APPROVED | This indicates the Result details. Commonly APPROVED or DECLINED. |
RESULT_CODE | Numeric |
|
This indicates the result code. Refer to Result/Error Codes for details. |
RESPONSE_CODE | Character | A and 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 (not meaningful for direct host integrations). For private label transaction (ADS), PT_SEQ_NUM field will be mapped to TRANS_SEQ_NUM and TROUTD fields back to SCA. Example: 000042 | |
INTRN_SEQ_NUM | Numeric | PWC transaction ID (not meaningful for direct host integrations). Example: 000042 | |
TROUTD | Numeric | Transaction routing ID. Example: 123456789. Refer to Responses from Point for more details on TROUTD. | |
CTROUTD | Numeric | Client-specific Transaction routing ID. Example: 45. Refer to Responses from Point for more details on CTROUTD. | |
LPTOKEN | Numeric | 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. Refer to Responses from Point section in Message Format. Example: 12357 | |
TOKEN_TYPE | Character | Returns low value token type, if sent as the query request field. This field is applicable for Worldpay Direct only. | |
TKN_EXPDATE | Token expiration date. May be sent on Payment Transaction or Token Query transaction to override default expiration date assigned to the Token. Example: 07022021 | ||
TKN_MATCHING | Matching Token. This is a non-reversible token used for matching purposes. For example, loyalty tracking. Example: 3278483765646148999 | ||
EMV_TAGS | Character | This is returned for Early Card Capture payment flows for Non PCI card BIN ranges, only when EMV_TAGS_REQD is sent as Y. | |
CMRCL_FLAG | Character | P (purchase card) | This is returned for Early Card Capture payment flows, when the application analyses the card as Purchase card through the BIN ranges data using CommercialCards.DB. Example: <CMRCL_FLAG>P</CMRCL_FLAG> |
TKN_USED |
|
Whether the Token is used. | |
PAYMENT_MEDIA | Character | Commonly VISA/ MC/ DISC/ AMEX/ DEBIT | Mode of payment. Value returned by device for an offline (SAF) response may differ from online. |
PAYMENT_TYPE | Character | Type of payment. Example: 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: 0.01 | |
APPROVED_AMOUNT | Floating point number | Amount approved on authorization. Example: 5.00 | |
ORIG_TRANS_AMOUNT | Floating point number | Original transaction amount. Example: 5.00 | |
CARD_ENTRY_MODE | Character | Returns card entry mode values. Refer to Card Entry Mode for details on possible values. Example: Swiped. Refer to Card Entry Mode for more details. | |
CARDHOLDER | Character | Returns for swiped/insert transactions. Example: MC TEST | |
CARD_EXP_MONTH | Numeric | 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. Example: M | |
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 | |
DEPARTMENT_CODE | Character | Application returns the field on the POS Response. If value of this field gets changed in the host response, then the updated value will be sent to POS. | |
MERCH_DECL | Character |
|
Merchant decline codes will return when this is configured. It returns when declined by Host due to AVS/CVV mismatch. |
MERCH_REF | Character |
|
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. The code is maximum of 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 | Refer to Receipt Data in Response section for more details. | |
TRAN_LANG_CODE | Character |
|
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 | If present, returns the VSP code. Example: 100 | |
VSP_RESULTDESC | Character | If present, returns the VSP result description. Example: Success | |
VSP_TRXID | Numeric | If present, returns the VSP transaction ID. 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. | |
TRANS_CURRENCY_CODE | Numeric |
|
|
DCC_IND | Numeric |
|
DCC Indicator. |
PROMO_SPECIAL_FIN_IND | Character | Ex: 02 | This field is used to request the promotional APR(s) (Annual Percentage Rate). This field will also contain the result of the promotional requests. This field is also applicable for Post Authorization transactions. As of this publication, this field is applicable for GSC only. |
PROMO_APR_FLAG | Character | Ex: 10 | This field identifies the type of the APR, which will be applied during the promotional period. This field is also applicable for Post Authorization transactions. As of this publication, this field is applicable for GSC only. |
PROMO_APR | Character | This field contains the APR, which will be applied during the promotional period. This field is also applicable for Post Authorization transactions. As of this publication, this field is applicable for GSC only. | |
AFTER_PROMO_FLAG | Character | Ex: 01 | This field identifies the type of the APR, which will be applied after the promotional period. This field is also applicable for Post Authorization transactions. As of this publication, this field is applicable for GSC only. |
AFTER_PROMO_APR | Character | This field contains the APR, which will be applied after the promotional period. This field is also applicable for Post Authorization transactions. As of this publication, this field is applicable for GSC only. | |
PROMO_DURATION | Character | This field contains the promo duration. This field is also applicable for Post Authorization transactions. As of this publication, this field is applicable for GSC only. | |
PROMO_DESCRIPTION | Character | This field contains the promo description. This field is also applicable for Post Authorization transactions. As of this publication, this field is applicable for GSC only. | |
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. |
Check
Field | Type | Value | Comments |
---|---|---|---|
ACH_TRANSACTION_STATUS | Numeric |
|
|
Processor-Based Token (Conditional)
Note
For use with host based processors supporting card based token implementations.
Field | Type | Value | Comments |
---|---|---|---|
CARD_TOKEN | Character | Card token. Example: 7987654321098765. Refer to Card Tokens for more details on this field. | |
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 | Comments |
---|---|---|---|
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 | Comments |
---|---|---|---|
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. The DUPLICATECHECK parameter(Application Parameters) must be enabled on Engage device. Refer to Duplicate Detection for more details on duplicate checking. |
Stored Credential transaction (Conditional)
Note
All the fields are applicable for GSC, however COF_REFERENCE field applicable for UGP as well. Refer to Stored Credential transaction for the sample request and response.
Field | Type | Value | Comments |
---|---|---|---|
COF_REFERENCE | Character | Maximum length is 50. | The Stored Credential Signup Reference UUID (Universally Unique IDentifier) 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 later 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. |
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
Following is an example of request packet - Without Payment Type
<TRANSACTION>
<FUNCTION_TYPE>PAYMENT</FUNCTION_TYPE>
<COMMAND>AUTH</COMMAND>
<COUNTER>1</COUNTER>
<MAC> … </MAC>
<MAC_LABEL>REG2</MAC_LABEL>
<TRANS_AMOUNT>1.00</TRANS_AMOUNT>
<RECURRING>Y</RECURRING>
<BILLPAY>TRUE</BILLPAY>
<OC_INDUSTRY_CODE>M</OC_INDUSTRY_CODE>
<ENCRYPT>TRUE</ENCRYPT>
<SCMCI_INDICATOR>2</SCMCI_INDICATOR>
</TRANSACTION>
Following is an example of response packet - Without Payment Type
<RESPONSE>
<ACCT_NUM>400555******0019</ACCT_NUM>
<AUTH_CODE>119517</AUTH_CODE>
<APPROVED_AMOUNT>4.50</APPROVED_AMOUNT>
<CARD_ENTRY_MODE>Swiped</CARD_ENTRY_MODE>
<CARDHOLDER>TEST CARD</CARDHOLDER>
<CTROUTD>153</CTROUTD>
<INTRN_SEQ_NUM>34549</INTRN_SEQ_NUM>
<PAYMENT_TYPE>CREDIT</PAYMENT_TYPE>
<PAYMENT_MEDIA>VISA</PAYMENT_MEDIA>
<PPCV>CBCC.WSI</PPCV>
<REFERENCE>100007265288</REFERENCE>
<RESPONSE_TEXT>APPROVED</RESPONSE_TEXT>
<RESULT>APPROVED</RESULT>
<RESULT_CODE>5</RESULT_CODE>
<TERMINATION_STATUS>SUCCESS</TERMINATION_STATUS>
<COUNTER>1</COUNTER>
<TRANS_DATE>2016.04.10</TRANS_DATE>
<TRANS_SEQ_NUM>15</TRANS_SEQ_NUM>
<TRACE_NUM>1400040000000004001951</TRACE_NUM>
<TRANS_TIME>12:24:30</TRANS_TIME>
<TRAN_LANG_CODE>en</TRAN_LANG_CODE>
<TROUTD>34549</TROUTD>
</RESPONSE>
Authorize Sample with Capture Card Early Return
Following is an example of request packet - First leg
<TRANSACTION>
<FUNCTION_TYPE>PAYMENT</FUNCTION_TYPE>
<COMMAND>AUTH</COMMAND>
<TRANS_AMOUNT>30.00</TRANS_AMOUNT>
<CAPTURECARD_EARLYRETURN>TRUE</CAPTURECARD_EARLYRETURN>
<MANUAL_ENTRY>FALSE</MANUAL_ENTRY>
<PAYMENT_TYPE>CREDIT</PAYMENT_TYPE>
<FORCE_FLAG>FALSE</FORCE_FLAG>
<MAC_LABEL>P_EJIOKG</MAC_LABEL>
<COUNTER>11</COUNTER>
<MAC>ZdjzzG5FYuyzAuPJ1U+gUpfBNCvLIwG7VxZdRj1cWmc=</MAC>
</TRANSACTION>
Following is an example of response packet - First leg
<RESPONSE>
<RESPONSE_TEXT>CAPTURE EARLY CARD NOTIFICATION</RESPONSE_TEXT>
<RESULT>OK</RESULT>
<RESULT_CODE>-1</RESULT_CODE>
<TERMINATION_STATUS>SUCCESS</TERMINATION_STATUS>
<COUNTER>11</COUNTER>
<ACCT_NUM>476134******0035</ACCT_NUM>
<TRANS_AMOUNT>30.00</TRANS_AMOUNT>
<CARD_EXP_MONTH>**</CARD_EXP_MONTH>
<CARD_EXP_YEAR>**</CARD_EXP_YEAR>
<CARDHOLDER>**</CARDHOLDER>
<PAYMENT_TYPE>CREDIT</PAYMENT_TYPE>
<PAYMENT_MEDIA>VISA</PAYMENT_MEDIA>
<CARD_ENTRY_MODE>Contactless</CARD_ENTRY_MODE>
<INVOICE>123456</INVOICE>
</RESPONSE>
Following is an example of request packet - Second leg
<TRANSACTION>
<FUNCTION_TYPE>PAYMENT</FUNCTION_TYPE>
<COMMAND>AUTH</COMMAND>
<TRANS_AMOUNT>30.00</TRANS_AMOUNT>
<MANUAL_ENTRY>FALSE</MANUAL_ENTRY>
<PAYMENT_TYPE>CREDIT</PAYMENT_TYPE>
<FORCE_FLAG>FALSE</FORCE_FLAG>
<MAC_LABEL>P_EJIOKG</MAC_LABEL>
<COUNTER>12</COUNTER>
<MAC>QEV5Fo/nxBTA3Rsvm/iyDhWIHI3qEN/0gTXhtvGZPDY=</MAC>
</TRANSACTION>
Following is an example of response packet - Second leg
<RESPONSE>
<RESPONSE_TEXT> Duplicate transaction based on account/invoice/amount combination </RESPONSE_TEXT>
<RESULT>DECLINED</RESULT>
<RESULT_CODE>6</RESULT_CODE>
<TERMINATION_STATUS>SUCCESS</TERMINATION_STATUS>
<COMMAND>AUTH</COMMAND>
<INTRN_SEQ_NUM>4016100322</INTRN_SEQ_NUM>
<BATCH_TRACE_ID>0a1516d4-d456-4a79-bc80-66b236b953f4</BATCH_TRACE_ID>
<TRANS_AMOUNT>30.00</TRANS_AMOUNT>
<PAYMENT_MEDIA>VISA</PAYMENT_MEDIA>
<PAYMENT_TYPE>CREDIT</PAYMENT_TYPE>
<ACCT_NUM>476134******0035</ACCT_NUM>
<CARDHOLDER>**</CARDHOLDER>
<BANK_USERDATA>VISA</BANK_USERDATA>
<VSP_CODE>100</VSP_CODE>
<VSP_RESULTDESC>Success</VSP_RESULTDESC>
<VSP_TRXID>637932047386259687</VSP_TRXID>
<CARD_ABBRV>VI</CARD_ABBRV>
<CARD_ENTRY_MODE>Contactless</CARD_ENTRY_MODE>
<CARD_TOKEN>4761************</CARD_TOKEN>
<TRAN_LANG_CODE>en</TRAN_LANG_CODE>
<CARD_EXP_MONTH>**</CARD_EXP_MONTH>
<CARD_EXP_YEAR>**</CARD_EXP_YEAR>
<DUP_ACCT_NUM>476134******0035</DUP_ACCT_NUM>
<DUP_AUTH_CODE>894544</DUP_AUTH_CODE>
<DUP_CTROUTD>75062</DUP_CTROUTD>
<DUP_INVOICE>123456</DUP_INVOICE>
<DUP_PAYMENT_MEDIA>VISA</DUP_PAYMENT_MEDIA>
<DUP_TRANS_AMOUNT>30.00</DUP_TRANS_AMOUNT>
<DUP_TRANS_DATE>2022.07.12</DUP_TRANS_DATE>
<DUP_TRANS_TIME>02:38:26</DUP_TRANS_TIME>
<TRAINING_MODE>OFF</TRAINING_MODE>
<EMV_CVM>SIGNATURE</EMV_CVM>
<EMV_TAG_4F>A0000000031010</EMV_TAG_4F>
<EMV_TAG_50>VISA TEST</EMV_TAG_50>
<EMV_TAG_82>0000</EMV_TAG_82>
<EMV_TAG_84>A0000000031010</EMV_TAG_84>
<EMV_TAG_95>0000000000</EMV_TAG_95>
<EMV_TAG_9A>220711</EMV_TAG_9A>
<EMV_TAG_9B>0000</EMV_TAG_9B>
<EMV_TAG_9C>00</EMV_TAG_9C>
<EMV_TAG_5F20>**</EMV_TAG_5F20>
<EMV_TAG_5F2A>0840</EMV_TAG_5F2A>
<EMV_TAG_5F34>01</EMV_TAG_5F34>
<EMV_TAG_9F02>000000003000</EMV_TAG_9F02>
<EMV_TAG_9F03>000000000000</EMV_TAG_9F03>
<EMV_TAG_9F09>008C</EMV_TAG_9F09>
<EMV_TAG_9F10>06011103A00000</EMV_TAG_9F10>
<EMV_TAG_9F1A>0840</EMV_TAG_9F1A>
<EMV_TAG_9F1E>01501302</EMV_TAG_9F1E>
<EMV_TAG_9F21>234216</EMV_TAG_9F21>
<EMV_TAG_9F26>1E49203FBAE2FF02</EMV_TAG_9F26>
<EMV_TAG_9F27>80</EMV_TAG_9F27>
<EMV_TAG_9F33>E068C8</EMV_TAG_9F33>
<EMV_TAG_9F34>020000</EMV_TAG_9F34>
<EMV_TAG_9F35>22</EMV_TAG_9F35>
<EMV_TAG_9F36>4887</EMV_TAG_9F36>
<EMV_TAG_9F37>6829DDBF</EMV_TAG_9F37>
<EMV_TAG_9F39>07</EMV_TAG_9F39>
<EMV_TAG_9F40>7000F05001</EMV_TAG_9F40>
<EMV_TAG_9F41>00000003</EMV_TAG_9F41>
<EMV_TAG_9F6E>20700000</EMV_TAG_9F6E>
<EMV_MODE>CARD</EMV_MODE>
<COUNTER>12</COUNTER>
</RESPONSE>
Authorize Sample with Stored Credential Transaction
Following is an example of Request packet - First leg (Sign up)
<TRANSACTION>
<FUNCTION_TYPE>PAYMENT</FUNCTION_TYPE>
<COMMAND>AUTH</COMMAND>
<TRANS_AMOUNT>1.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 - First leg (Sign up)
<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>AUTH</COMMAND>
<APPROVED_AMOUNT>1.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>
Following is an example of Request packet - Second leg (Charge)
<TRANSACTION>
<FUNCTION_TYPE>PAYMENT</FUNCTION_TYPE>
<COMMAND>AUTH</COMMAND>
<TRANS_AMOUNT>15.00</TRANS_AMOUNT>
<CARD_EXP_MONTH>12</CARD_EXP_MONTH>
<CARD_EXP_YEAR>24</CARD_EXP_YEAR>
<CARD_TOKEN>aw97xuLMACC82sj8</CARD_TOKEN>
<TOKEN_SOURCE>INTERNAL</TOKEN_SOURCE>
<PAYMENT_TYPE>CREDIT</PAYMENT_TYPE>
<BANK_USERDATA>MASTERCARD</BANK_USERDATA>
<COF_ACQ_RESP_DATETIME>2023-11-18T23:31:32Z</COF_ACQ_RESP_DATETIME>
<COF_ACQ_REFERENCE_DATA>MTAwHDE3MzE1MxwxOTMxNTAcHDEwMBwcQTAwMDE5MzE1MDExMTgcHBwzMzIyMTcxNzMxNTMcMzIyMDAwMDAxMTAwMDAwMRwc</COF_ACQ_REFERENCE_DATA>
<COF_REFERENCE>44b23c8e-a51b-40d6-9c3c-167ce64dad58</COF_REFERENCE>
<COF_AUTH_CODE>193150</COF_AUTH_CODE>
<SCMCI_INDICATOR>3</SCMCI_INDICATOR>
<RECURRING>Y</RECURRING>
<MANUAL_ENTRY>FALSE</MANUAL_ENTRY>
<FORCE_FLAG>FALSE</FORCE_FLAG>
</TRANSACTION>
Following is an example of Response packet - Second leg (Charge)
<RESPONSE>
<ACQUIRER_DATETIME>2023-11-18T23:37:02Z</ACQUIRER_DATETIME>
<COF_ACQ_REFERENCE_DATA>MTUwMBwxNzM3MjEcMTkzMTc0HBwxNTAwHBxBMDAwMTkzMTc0MTExOBwcHDMzMjIxNzE3MzcyMRwzMjIwMDAwMDExMDAwMDAyHBw=</COF_ACQ_REFERENCE_DATA>
<COMMAND>AUTH</COMMAND>
<APPROVED_AMOUNT>15.00</APPROVED_AMOUNT>
<AUTH_CODE>193174</AUTH_CODE>
<BANK_USERDATA>MASTERCARD</BANK_USERDATA>
<BATCH_TRACE_ID>fe81c934-913a-481c-9b34-cdbdd80f63b7</BATCH_TRACE_ID>
<CARD_ABBRV>MC</CARD_ABBRV>
<CARD_EXP_MONTH>12</CARD_EXP_MONTH>
<CARD_EXP_YEAR>24</CARD_EXP_YEAR>
<CARD_TOKEN>aw97xuLMACC82sj8</CARD_TOKEN>
<CTROUTD>fe81c934-913a-481c-9b34-cdbdd80f63b7</CTROUTD>
<INVOICE>123456</INVOICE>
<HOST_RESPCODE>00</HOST_RESPCODE>
<MERCHID>700000013698</MERCHID>
<PAYMENT_MEDIA>MASTERCARD</PAYMENT_MEDIA>
<PAYMENT_TYPE>CREDIT</PAYMENT_TYPE>
<REFERENCE>332217173721</REFERENCE>
<RESPONSE_TEXT>Approved</RESPONSE_TEXT>
<RESULT>CAPTURED</RESULT>
<RESULT_CODE>5</RESULT_CODE>
<TERMID>001</TERMID>
<TERMINATION_STATUS>SUCCESS</TERMINATION_STATUS>
<TOKEN_SOURCE>INTERNAL</TOKEN_SOURCE>
<TRAINING_MODE>OFF</TRAINING_MODE>
<TRANS_AMOUNT>15.00</TRANS_AMOUNT>
<TRANS_DATE>2023.11.18</TRANS_DATE>
<TRANS_TIME>17:37:21</TRANS_TIME>
<TRANS_CURRENCY_CODE>0840</TRANS_CURRENCY_CODE>
<RESPONSE>