No momento, esta página não está disponível em português
Point-of-sale icon

Quick chip

Use quick chip to reduce the waiting time for shoppers at checkout.

Quick chip reduces the time that an EMV chip card has to remain in the payment terminal. This reduces the waiting time for shoppers and prevent waiting lines at checkout. Shoppers can insert their EMV chip card at any time. The terminal does not need to wait for the final transaction amount or the authorization response to ask shoppers to remove their card. After the card is read, the POS app can process the transaction without the card remaining inserted.

The quick chip feature is only available in the United States.

How it works

To enable quick chip, contact our Support Team. Let them know if there are specific local payment methods for which you'd like to enable this feature.

If the final transaction amount is not known when the shopper inserts their card into the card reader of the terminal, you need to do the following:

  1. You make a card acquisition request to get the card details with a placeholder value for theTotalAmount to get the card details.
  2. The terminal informs the shopper to take their card.
  3. You process the details from the card acquisition response in your own system.
  4. You finish the card acquisition with a payment request in which you specify the actual TotalAmount.

Make a card acquisition request

  1. Make a POST request to a Terminal API endpoint, specifying:

    • MessageHeader: the standard SaleToPOIRequest.MessageHeader object. Specify:

      Parameter Required Description
      ProtocolVersion -white_check_mark- 3.0
      MessageClass -white_check_mark- Service
      MessageCategory -white_check_mark- CardAcquisition
      MessageType -white_check_mark- Request
      ServiceID -white_check_mark- 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 -white_check_mark- Your unique ID for the POS system component to send this request from.
      POIID -white_check_mark- 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 -white_check_mark- 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.TokenRequestedType Customer. Returns the card alias in the TokenValue field of the response. Note that the card alias is always returned in the AdditionalResponse.
      CardAcquisitionTransaction -white_check_mark- A required object that can be empty or contain:
      • TotalAmount: the transaction amount. When you don't know the amount yet, specify an initial amount and provide the final amount later, in the payment request.
  2. When the card acquisition succeeds, you receive a CardAcquisitionResponse with a message of CARD_ACQ_COMPLETED in the AdditionalResponse.

  3. From the CardAcquisitionResponse, save the following details :

    • POIData.POITransactionID: keep the TimeStamp and the TransactionID because you need these card acquisition details in your payment request.

Make a payment request

To complete the card acquisition flow for quick chip with a payment, the payment request must include a reference to the card acquisition.

  1. Make a POST request to a Terminal API endpoint, specifying:

    • MessageHeader: the standard SaleToPOIRequest.MessageHeader object. Specify:

      Parameter Required Description
      ProtocolVersion -white_check_mark- 3.0
      MessageClass -white_check_mark- Service
      MessageCategory -white_check_mark- Payment
      MessageType -white_check_mark- Request
      ServiceID -white_check_mark- 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 -white_check_mark- Your unique ID for the POS system component to send this request from.
      POIID -white_check_mark- 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 -white_check_mark- 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.SaleToAcquirerData Depending on your use case, you may need to provide tender options or additional data here, or a flag for tax free shopping.
      PaymentTransaction.AmountsReq -white_check_mark- An object with:
      • Currency: the transaction currency.
      • RequestedAmount: the final transaction amount.
      PaymentData.CardAcquisitionReference -white_check_mark- An object referring to the card acquisition:
      • TimeStamp: the time stamp returned in the POIData.POITransactionID of the card acquisition response.
      • TransactionID: the transaction ID returned in the POIData.POITransactionID of the card acquisition response.

    Here is how you make a payment referring to a card acquisition that had a TimeStamp of 2023-10-18T07:57:49.108Z and a TransactionID of 8ha5001697615869002.

  2. 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.Result is Success, the quick chip payment was successful.

See also