The quick chip feature allows shoppers to present and remove their EMV chip cards before all the goods have been scanned. The terminal does not need to wait for the final transaction amount or the authorization response to allow shoppers to remove their card. This speeds up the transaction processing and reduces the waiting time for shoppers.
The quick chip feature is only available in the United States.
Requirements
| Requirement | Description | 
|---|---|
| Integration type | Terminal API. | 
| Hardware | Terminal models on software version 1.95 or later. | 
| Setup steps | Before you begin: 
 | 
How it works
- You make a card acquisition request to get the card details with a placeholder value for the TotalAmount.
- The shopper presents their card.
- The terminal informs the shopper to remove their card.
- You process the details from the card acquisition response in your own system.
- You make a payment request with the final TotalAmountto complete the transaction.
Get the card details
- 
Make a POST Terminal API request, specifying: - 
The standard SaleToPOIRequest.MessageHeaderobject, withMessageClassset to Service andMessageCategoryset to CardAcquisition.Parameter Required Description ProtocolVersion 3.0 MessageClass Service MessageCategory CardAcquisition MessageType Request ServiceID Your unique ID for this request, consisting of 1-10 alphanumeric characters. Must be unique within the last 48 hours for the terminal ( POIID) being used.SaleID Your unique ID for the POS system component to send this request from. POIID The unique ID of the terminal to send this request to. Format: [device model]-[serial number]. 
 - 
CardAcquisitionRequest: the request body with: Parameter Required Description SaleData.SaleTransactionID An object with: - TransactionID: your reference to identify a payment. We recommend using a unique value per payment.
- TimeStamp: date and time of the request in UTC format.
 SaleData.TokenRequestedTypeCustomer. Returns the card alias in the TokenValuefield of the response. Note that the card alias is always returned in theAdditionalResponse.CardAcquisitionTransaction A required object that can be empty or contain: - TotalAmount: the transaction amount. When you do not know the amount yet, specify an initial amount and provide the final amount later, in the payment request.
 
 
- 
- 
When the card acquisition succeeds, you receive a CardAcquisitionResponse with a messageof CARD_ACQ_COMPLETED in theAdditionalResponse.
- 
From the CardAcquisitionResponse, save the following details :- POIData.POITransactionID: keep the- TimeStampand the- TransactionIDbecause you need these card acquisition details in your payment request.
 
Make a payment request
To complete the quick chip transaction, make a payment request with the reference to the card acquisition:
- 
Make a POST Terminal API request, specifying: - 
The standard SaleToPOIRequest.MessageHeaderobject, withMessageClassset to Service andMessageCategoryset to Payment.Parameter Required Description ProtocolVersion 3.0 MessageClass Service MessageCategory Payment MessageType Request ServiceID Your unique ID for this request, consisting of 1-10 alphanumeric characters. Must be unique within the last 48 hours for the terminal ( POIID) being used.SaleID Your unique ID for the POS system component to send this request from. POIID The unique ID of the terminal to send this request to. Format: [device model]-[serial number]. 
 - 
PaymentRequest: the request body with: Parameter Required Description SaleData.SaleTransactionID An object with: - TransactionID: your reference to identify a payment. We recommend using a unique value per payment.
- TimeStamp: date and time of the request in UTC format.
 SaleData.SaleToAcquirerDataDepending on your use case, you may need to provide tender options or additional data here, or a flag for tax free shopping. PaymentTransaction.AmountsReq An object with: - Currency: the transaction currency.
- RequestedAmount: the final transaction amount.
 PaymentData.CardAcquisitionReference An object referring to the card acquisition: - TimeStamp: the time stamp returned in the- POIData.POITransactionIDof the card acquisition response.
- TransactionID: the transaction ID returned in the- POIData.POITransactionIDof the card acquisition response.
 
 Here is how you make a payment referring to a card acquisition that had a TimeStampof 2023-10-18T07:57:49.108Z and aTransactionIDof 8ha5001697615869002.
- 
- 
In the PaymentResponse note the following: - PaymentInstrumentData.CardData: the same card details that you received in the card acquisition response.
- Response.AdditionalResponse: transaction data, including the same details that you received in the card acquisition response. You receive either a string of form-encoded key-value pairs or a Base64 string that you need to decode to get a JSON object.
 If the Response.Resultis Success, the quick chip payment was successful.