Guides
Log In
Guides

Pre-Card Entry

Overview

This hook allows activation before card detection but after modifiers such as Tips, catering to use cases where transactions are processed through alternative means, such as third-party gift cards or digital wallets, loyalty or charity.


Request Structure

ElementTypeDescriptionSizeRequired
apiVersionStringAPI version numberV20Required
actionString"PRE_CARD_ENTRY"V30Required
transactionTypeStringTransaction that the terminal is currently performing.
Valid values:
  • "PURCHASE"
  • "PRE_AUTHORIZATION"
  • "PRE_AUTHORIZATION_COMPLETION"
  • "REFUND"
  • "INDEPENDENT_REFUND"
  • "VOID"
F8Required
requestDateTimeStringDate and time of the request (YYYY-MM-DDTHH:MM:SSZ). The format is based on the standard RFC 3339 internet profile — a subset of ISO 8601.F20Required
languageStringTerminal Language. Provides the two-letter language code according to the ISO 639-1 standard.
For a complete list of language codes, visit:
https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes.
V30Required
correlationIdStringCorrelates a series of requests within the same flow.V50Required
terminalIdStringTerminal IDF8Required
merchantIdStringMerchant IDV13Required
merchantNameStringMerchant NameV100Required
merchantAddressObjectMerchant Address-Required
unitNumberStringUnit numberV19Optional
streetNumberStringStreet numberV19Optional
streetNameStringThe full street nameV100Optional
provinceStringProvince or state ISO 3166-2 codeV3Optional
cityStringName of the city / localityV100Optional
postalCodeStringZip code or postal codeV30Optional
countryStringThe country code according to iso-3166-1-alpha-2V2Optional
totalAmountObjectTotal transaction amount-Required
amountStringThe value must be in cents. Therefore $10.59 must be sent as 1059V10Required
currencyStringProvides the three-letter currency code according to the ISO 4217 standard.
For a complete list of currency codes, visit: ISO 4217
V4Required
amountDetailsObjectAmount Details breakdown-Optional
tipAmountObjectTip transaction amount-Optional
amountStringThe value must be in cents. Therefore $10.59 must be sent as 1059V10Required
currencyStringProvides the three-letter currency code according to the ISO 4217 standard.
For a complete list of currency codes, visit: ISO 4217
V4Required
subtotalAmountObjectSubtotal amount (before taxes)-Required
amountStringThe value must be in cents. Therefore $10.59 must be sent as 1059V10Required
currencyStringProvides the three-letter currency code according to the ISO 4217 standard.
For a complete list of currency codes, visit: ISO 4217
V4Required
taxesArrayMaximum of 5 tax objects-Required
taxNameStringName to be displayed on receipt (hst, gst etc)V15Required
taxAmountObjectCorresponding amount-Required
amountStringThe value must be in cents. Therefore $10.59 must be sent as 1059V10Required
currencyStringProvides the three-letter currency code according to the ISO 4217 standard.
For a complete list of currency codes, visit: ISO 4217
V4Required

{
  "apiVersion": "2025-01-09",
  "action": "PRE_CARD_ENTRY",
  "transactionType": "PURCHASE",
  "requestDateTime": "2025-12-31T23:59:60Z",
  "language": "en",
  "correlationId": "example_correlationId",
  "terminalId": "example_terminalId",
  "merchantId": "example_merchantId",
  "merchantName": "example_merchantName",
  "merchantAddress": {
    "unitNumber": "1A",
    "streetNumber": "12",
    "streetName": "Yonge St",
    "province": "ON",
    "city": "Toronto",
    "postalCode": "M4W 3H7",
    "country": "CA"
  },
  "totalAmount": {
    "amount": "12000",
    "currency": "CAD"
  },
  "amountDetails": {
    "subtotalAmount": {
      "amount": "10000",
      "currency": "CAD"
    },
    "tipAmount": {
      "amount": "1000",
      "currency": "CAD"
    },
    "taxes": [
      {
        "taxName": "HST",
        "taxAmount": {
          "amount": "500",
          "currency": "CAD"
        }
      },
      {
        "taxName": "GST",
        "taxAmount": {
          "amount": "500",
          "currency": "CAD"
        }
      }
    ]
  }
}

Response Structure

ElementTypeDescriptionSizeRequired
apiVersionStringAPI version numberV20Required
correlationIdStringEcho from the requestV50Required
responseDateTimeStringDate and time of the response (YYYY-MM-DDTHH:MM:SSZ). The format is based on the standard RFC 3339 internet profile—a subset of ISO 8601.F20Required
actionString"PRE_CARD_ENTRY"V50Required
statusStringHTTP Status Codes for the overall transaction requestF3Required
updatedTotalAmountObjectTotal transaction amount modified by the third party application.
This amount can be greater than or less than the original transaction amount.
-Optional
amountStringThe value must be in cents. Therefore $10.59 must be sent as 1059V10Required
currencyStringProvides the three-letter currency code according to the ISO 4217 standard.
For a complete list of currency codes, visit: ISO 4217
V4Required

{
  "apiVersion": "3.0",
  "correlationId": "example_correlationId",
  "responseDateTime": "2025-12-31T23:59:60Z",
  "action": "PRE_CARD_ENTRY",
  "status": "200",
  "updatedTotalAmount": {
    "amount": "2000",
    "currency": "CAD"
  }
}