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

Element Type Description Size Required
apiVersion String API version number V20 Required
action String "POST\_PROCESSING" V30 Required
transactionType String Transaction that the terminal is currently performing.
Valid values:
  • "PURCHASE"
  • "PRE\_AUTHORIZATION"
  • "PRE\_AUTHORIZATION\_COMPLETION"
  • "REFUND"
  • "INDEPENDENT\_REFUND"
  • "VOID"
F8 Required
requestDateTime String Date 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.
F20 Required
language String Terminal 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](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes).
V30 Required
correlationId String Correlates a series of requests within the same flow. V50 Required
terminalId String Terminal ID. F8 Required
merchantId String Merchant ID V13 Required
merchantName String Merchant Name V100 Required
merchantAddress Object Required - Required
unitNumber String Unit number V19 Optional
streetNumber String Street number V19 Optional
streetName String The full street name V100 Optional
province String Province or state ISO 3166-2 code V3 Optional
city String Name of the city / locality V100 Optional
postalCode String Zip code or postal code V30 Optional
country String The country code according to iso-3166-1-alpha-2 V2 Optional
receipt String Financial receipt data sent using ISO-8895-1 encoding V4000 Conditional
transactionAmount Object Payment amount received / approved V10 Conditional
amount String The value must be in cents. Therefore $10.59 must be sent as 1059 V10 Required
currency String Provides the three-letter currency code according to the ISO 4217 standard.
For a complete list of currency codes, visit: ISO 4217
V4 Required
authorizedAmount Object Payment amount received / approved V10 Conditional
amount String The value must be in cents. Therefore $10.59 must be sent as 1059 V10 Required
currency String Provides the three-letter currency code according to the ISO 4217 standard.
For a complete list of currency codes, visit: ISO 4217
V4 Required
remainingAmount Object Remaining amount that is owed V10 Optional
amount String The value must be in cents. Therefore $10.59 must be sent as 1059 V10 Required
currency String Provides the three-letter currency code according to the ISO 4217 standard.
For a complete list of currency codes, visit: ISO 4217
V4 Required
amountDetails Object Amount Details breakdown - Optional
tipAmount Object Tip transaction amount - Optional
amount String The value must be in cents. Therefore $10.59 must be sent as 1059 V10 Required
currency String Provides the three-letter currency code according to the ISO 4217 standard.
For a complete list of currency codes, visit: ISO 4217
V4 Required
subtotalAmount Object Subtotal amount (before taxes) - -
amount String The value must be in cents. Therefore $10.59 must be sent as 1059 V10 Required
currency String Provides the three-letter currency code according to the ISO 4217 standard.
For a complete list of currency codes, visit: ISO 4217
V4 Required
taxes Array Maximum of 5 tax objects - -
taxName String Name to be displayed on receipt (hst, gst etc) V15 -
taxAmount Object Corresponding amount - -
amount String The value must be in cents. Therefore $10.59 must be sent as 1059 V10 Required
currency String Provides the three-letter currency code according to the ISO 4217 standard.
For a complete list of currency codes, visit: ISO 4217
V4 Required
cashbackAmount Object Cashback amount - Conditional
amount String The value must be in cents. Therefore $10.59 must be sent as 1059 V10 Required
currency String Provides the three-letter currency code according to the ISO 4217 standard.
For a complete list of currency codes, visit: ISO 4217
V4 Required
surchargeAmount Object Surcharge amount on transaction - Conditional
amount String The value must be in cents. Therefore $10.59 must be sent as 1059 V10 Required
currency String Provides the three-letter currency code according to the ISO 4217 standard.
For a complete list of currency codes, visit: ISO 4217
V4 Required
paymentMethod Object Payment method response object - Conditional
paymentMethodInformation Object Details about the card used in the payment method. - Conditional
paymentAccountReference String Used to link Primary Account Number (PAN) based transactions and transactions on associated payment tokens without using the PAN as the linking mechanism. V29 Conditional
cardInformation Object Information about the card being used for the transaction - Conditional
bankIdentificationNumber String BIN: 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.
V8 Conditional
lastFour String Last 4 digits of the card. F4 Conditional
cardBrand String Displays the card brand name associated with the card type.
"VISA"
"MASTERCARD"
"AMERICAN\_EXPRESS"
"INTERAC"
"JCB"
"DISCOVER"
"UNIONPAY"
"GIFT MONERIS"
"GIFT DATACANDY"
"GIFT GIVEX"
V50 Conditional
cardType String Card type:
“CREDIT”
“DEBIT”
"GIFT"
V50 Conditional
cardFingerprint String Unique 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.
V255 Conditional
issuer String Card issuer V100 Conditional
transactionDetails Object Additional details about the transaction outcome. - Conditional
transactionUniqueId String Realtime transaction identifier from the host. F15 Conditional
isoResponseCode String ISO response Code V2 Conditional
responseCode String Moneris Host Response Code. V3 Conditional
sequenceNumber String Sequence number V18 Conditional
authorizationCode String Authorization code returned from the issuing institution. V8 Conditional

{
  "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

Element Type Description Size Required
apiVersion String API version number V20 Required
correlationId String Echo from the request V50 Required
responseDateTime String Date 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.
F20 Required
action String "POST\_PROCESSING" V50 Required
status\* String HTTP Status Codes for the overall transaction request. F3 Required
receipt\*\* Object JSON Object - Conditional
line1 String Line 1 of the receipt insert for Third-Party app message V60 Optional
line2 String Line 2 of the receipt insert for Third-Party app message V60 Optional
line3 String Line 3 of the receipt insert for Third-Party app message V60 Optional

{
  "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


Did this page help you?