Guides
Log In
Guides

Post Processing

Overview

This hook is activated after processing the financial request but before receipt processing. Only approved responses will trigger a call on this hook.


Request Structure

ElementTypeDescriptionSizeRequired
apiVersionStringAPI version numberV20Required
actionString"POST_PROCESSING"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 ID.F8Required
merchantIdStringMerchant IDV13Required
merchantNameStringMerchant NameV100Required
merchantAddressObjectRequired-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
receiptStringFinancial receipt data sent using ISO-8895-1 encodingV4000Conditional
transactionAmountObjectPayment amount received / approvedV10Conditional
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
authorizedAmountObjectPayment amount received / approvedV10Conditional
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
remainingAmountObjectRemaining amount that is owedV10Optional
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)--
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--
taxNameStringName to be displayed on receipt (hst, gst etc)V15-
taxAmountObjectCorresponding amount--
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
cashbackAmountObjectCashback amount-Conditional
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
surchargeAmountObjectSurcharge amount on transaction-Conditional
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
paymentMethodObjectPayment method response object-Conditional
paymentMethodInformationObjectDetails about the card used in the payment method.-Conditional
paymentAccountReferenceStringUsed to link Primary Account Number (PAN) based transactions and transactions on associated payment tokens without using the PAN as the linking mechanism.V29Conditional
cardInformationObjectInformation about the card being used for the transaction-Conditional
bankIdentificationNumberStringBIN: Bank Identification Number.
Consists of the first six to eight digits of the Primary Account Number (PAN) and identifies the relevant payment network and the specific payment issuing institution.
V8Conditional
lastFourStringLast 4 digits of the card.F4Conditional
cardBrandStringDisplays the card brand name associated with the card type.
"VISA"
"MASTERCARD"
"AMERICAN_EXPRESS"
"INTERAC"
"JCB"
"DISCOVER"
"UNIONPAY"
"GIFT MONERIS"
"GIFT DATACANDY"
"GIFT GIVEX"
V50Conditional
cardTypeStringCard type:
“CREDIT”
“DEBIT”
"GIFT"
V50Conditional
cardFingerprintStringUnique card identifier.
Fingerprinting randomly assigns identifiers for cards that share the same Primary Account Number (PAN) to easily identify when multiple payments methods are attached to the same underlying card, and assists merchants identify individual customers across various channels; i.e. loyalty programs.
V255Conditional
issuerStringCard issuerV100Conditional
transactionDetailsObjectAdditional details about the transaction outcome.-Conditional
transactionUniqueIdStringRealtime transaction identifier from the host.F15Conditional
isoResponseCodeStringISO response CodeV2Conditional
responseCodeStringMoneris Host Response Code.V3Conditional
sequenceNumberStringSequence numberV18Conditional
authorizationCodeStringAuthorization code returned from the issuing institution.V8Conditional

{
  "apiVersion": "2025-01-09",
  "correlationId": "example_correlationId",
  "requestDateTime": "2025-12-31T23:59:60Z",
  "merchantId": "example_merchantId",
  "merchantName": "example_merchantName",
  "merchantAddress": {
    "unitNumber": "1A",
    "streetNumber": "12",
    "streetName": "Yonge St",
    "province": "ON",
    "city": "Toronto",
    "postalCode": "M4W 3H7",
    "country": "CA"
  },
  "terminalId": "example_terminalId",
  "action": "POST_PROCESSING",
  "transactionAmount": {
    "amount": "16000",
    "currency": "CAD"
  },
  "authorizedAmount": {
    "amount": "16000",
    "currency": "CAD"
  },
  "remainingAmount": {
    "amount": "0",
    "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"
        }
      }
    ],
    "cashbackAmount": {
      "amount": "16000",
      "currency": "CAD"
    },
    "surchargeAmount": {
      "amount": "0",
      "currency": "CAD"
    }
  },
  "paymentMethod": {
    "paymentMethodInformation": {
      "paymentAccountReference": "11112222333344445555666677778",
      "cardInformation": {
        "bankIdentificationNumber": "123456",
        "lastFour": "1234",
        "cardBrand": "MASTERCARD",
        "cardType": "CREDIT",
        "cardFingerprint": "1Q2W3E4r5t6rfwewerwewrrw",
        "issuer": "RBC"
      }
    }
  },
  "transactionDetails": {
    "transactionUniqueId": "938c2cc0dcc05f2b68c4287040cfcf71",
    "isoResponseCode": "00",
    "responseCode": "000",
    "message": "approved",
    "ecommerceIndicator": "AUTHENTICATED_ECOMMERCE"
  }
}

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"POST_PROCESSING"V50Required
status*StringHTTP Status Codes for the overall transaction request.F3Required
receipt**ObjectJSON Object-Conditional
line1StringLine 1 of the receipt insert for Third-Party app messageV60Optional
line2StringLine 2 of the receipt insert for Third-Party app messageV60Optional
line3StringLine 3 of the receipt insert for Third-Party app messageV60Optional

{
  "apiVersion": "3.0",
  "correlationId": "example_correlationId",
  "responseDateTime": "2025-12-31T23:59:60Z",
  "action": "POST_PROCESSING",
  "status": "200",
  "receipt": {
    "line1": "\\2\\LAmount:\\2\\R$100.00",
    "line2": "\\2\\LPoints:\\2\\R200 pts",
    "line3": "\\2\\LBalance:\\2\\R1000 pts"
  }
}

Notes:

  • The receipt object will be processed only when the “status” field indicates “200”, processed OK
  • The receipt lines support limited formatting descriptors, each descriptor prefixed by “\”
    • Font size: 1, 2, 3. Font size 2 is the main font size used in the body of the financial receipt
    • Alignment info: L - left, C - center, R - right aligned