Skip to main content

Card transactions

Use transaction requests to facilitate and manage financial operations. Capture a sale, perform a void or refund, authorize and complete a payment, and more.

Card transaction operation

The Transaction operation performs a financial transaction based on the configuration (parameter settings) of Payment Terminal Application. This consists of acquiring card data and cardholder verification from the cardholder, and then running a transaction with the payment host. This is a complex operation consisting of a single request, several possible notification messages, and a final response.

The screens used to perform this operation differ based on the type of transaction and the parameter settings of the payment application. For every screen that displays, a Status notification message may be returned by Payment Terminal Application.

Timeout reversal

Payment Terminal Application creates a pending timeout reversal record prior to sending a transaction to our payment host. We delete the pending reversal record when Payment Terminal Application receives our payment host transaction response (for both approval and decline).  If no response is received, Payment Terminal Application automatically runs the reversal transaction prior to your next transaction attempt. The POS application does not receive a notification for the processing of a timeout reversal and nothing is displayed on the user interface.

Sensitive payment data

Payment Terminal Application does not return sensitive payment data in the clear to the POS. The POS receives data that looks similar to a PAN, but upon closer inspection only the first six and last four digits of the card match. The middle digits are modified. The modified PAN data is referred to as "format preserving" and is useful for reporting and administrative purposes.

If you manually enter the card information for a transaction, Payment Terminal Application returns a masked account number with the expiration date in the clear.

Supported transactions

Transaction type value and description
Transaction type Description
SALE Authorize and capture a card-present sale.
AUTHORIZATION Perform an authorization without the associated completion.
COMPLETION Capture the completion for a previous authorization.
FORCE_SALE Capture an approved prior authorization.
MOTO_SALE Authorize and capture a card-not-present sale.
REFUND Capture a refund for a previously settled sale.
STATUS_CHECK Perform a zero-dollar authorization to check account status.
VOID Cancel a previous sale in the open batch.
BALANCE_INQUIRY Retrieve the cardholder account balance.
SETTLEMENT Consolidate the batch accounting and close the batch on our payment host.

Transaction request fields

The presence of each field in a card transaction request or response is mandatory, optional, conditional, or present:

Mandatory fields are required to be present.

Optional fields are not required and depend on the transaction context.

Conditional fields are required to support a specific feature or scenario.

Present fields are included by default in a response.

Card transaction type

Sale

The Sale operation allows a merchant and a cardholder to perform a credit or debit sale transaction using any of the supported card brands and entry modes.

Properties of a credit or debit sale transaction

Item

Description

Operation name displayed on a terminal

Sale

Operation name displayed on a receipt

SALE

Merchant is requested to supply the following data

Password, Invoice Number, Customer Number, Ticket Number, Purchase Number, Table Number

Cardholder is requested to supply the following data

Card, Tip, EMV Application Selection, PIN, signature.

ISO transaction message

1200

Can the operation be autoreversed?

Yes

Does the operation use data supplied by the Cardholder?

Yes

Merchant copy of the receipt?

Yes

Cardholder copy of the reciept?

Yes

Is the receipt stored as last receipt?

Yes

Can the receipt have a signature line?

Yes

Request fields

Request fields for sale
Field                               Description

Presence       

operation
Contains the value Transaction.

Mandatory

type
The transaction type.

Mandatory

requestedAmount

The amount of the transaction. The amount field is numeric. No other characters are permitted.

The amount value contains two implied decimal places. For example, the value 50000 represents $500.00 and the value 500 represents $5.00.

Mandatory

cashbackAmount Additional optional cashback amount included as part of the sale. 

Optional

reference A POS-generated reference number. If none is provided, Payment Terminal Application generates this value internally.
Maximum of 12 alphanumeric characters.

Optional

invoice The invoice number associated with the transaction. Maximum of 6 numeric characters.

Optional

customer

The customer number associated with the transaction. Maximum of 8 alphanumeric characters.

Optional

ticket          

The ticket number associated with the transaction. Maximum of 8 alphanumeric characters.

Optional

purchase          

The purchase number associated with the transaction. Maximum of 8 alphanumeric characters.

Optional

isDebit Used to force the debit/credit information for swiped sale transactions. If not provided and the card is swiped, Payment Terminal Application prompts for debit or credit.

Optional

commercialCardType

When this field is present, the card is assumed to be a commercial card. This field determines the type of commercial card:

  • 0 — Corporate
  • 1 — Purchasing

Optional

customerReference Required for commercial card processing. Contains the customer reference number. Maximum of 17 alphanumeric characters.

Optional

taxAmount If provided, taxAmount overrides the calculation based on the TAXPERCENT parameter (if configured). This value has the same format as the requestedAmount field.

Optional

tipAmount

If tipAmount is provided, Payment Terminal Application does not prompt for tip during the transaction flow.

Optional

cardPresent

Indicates if the manually entered card is physically present. Possible values:

  • 0 — Card present
  • 1 — Card not present

Optional

expDate

Card expiration date manually captured at the POS in format YYMM.

When this field is provided, the payment terminal device does not prompt for card entry.

Optional

zip The ZIP code associated to the cardholder account (for AVS purposes). Required for Amex commercial card processing.

Optional

address The address associated to the cardholder account (for AVS purposes).

Optional

ebtVoucher The EBT SNAP voucher serial number.

Optional

ebtApprovalCode The EBT SNAP voucher approval code.

Optional

lastFour Last 4 digits of the card number. When provided by the POS application, Payment Terminal Application uses this field for fraud control by comparing with the captured card number.

Optional

duplicateCheck

If you send a value of 1, Payment Terminal Application checks the last performed transaction for a matching card number and amount. If the previous transaction matches, Payment Terminal Application returns an error.

Possible values:

  • 0 — Ignore duplicates
  • 1 — Check duplicates

Optional

uniqueTransactionId

Unique reference provided by the POS application or a 30-character unique ID generated by Payment Terminal Application. The first 22 characters (left justified) are used for reporting. This field is alphanumeric.

Optional

printReceipt

Valid values:

  • 0 — Do not print receipt
  • 1 — Print receipt (if supported)

If you omit this field, the default value is 0 and no receipt is printed.

This field applies only to receipts printed by the payment terminal device or a printer attached to it.

Optional

Sale example

Here is an example of a request to process a sale:

Json
{
    "operation": "Transaction",
    "type": "SALE",
    "requestedAmount": "100",
    "printReceipt": "1"
}

Here is a sale example response:

Json
{
    "AC": "72BD66388088094D",
    "AID": "A0000000031010",
    "ARC": "3030",
    "IAD": "06010A03A00000",
    "PARData": "V0010013018037103627480477422",
    "TSI": "0000",
    "TVR": "0000000000",
    "account": "476173******0011",
    "accountType": "0",
    "approval": "approved",
    "approvalMode": "ISSUER",
    "authCode": "050168",
    "balance": "0",
    "batchJulianDay": "24192",
    "batchNumber": "000001",
    "cardBrand": "VISA",
    "cardToken": "4761730382600011",
    "cardholderLanguage": "en",
    "cashbackAmount": "0",
    "commercialCardType": "-1",
    "currencyCode": "CAD",
    "cvm": "NO CVM",
    "dateTime": "07-10-2024 15:18:46",
    "demoMode": "no",
    "dueAmount": "0",
    "entryMode": "Contactless",
    "expDate": "2412",
    "footerLine1": "Thank You",
    "footerLine2": "Please Come Again",
    "hostError": "00000",
    "merchantID": "9999999",
    "operation": "Transaction",
    "preferredName": "VISA CREDIT",
    "reference": "000000151846",
    "requestedAmount": "100",
    "responseCode": "00",
    "result": "0",
    "shift": "0",
    "signatureRequired": "no",
    "subTotalAmount": "200",
    "surchargeAmount": "0",
    "surchargeFixed": "0",
    "surchargePercentage": "0",
    "table": "0",
    "taxAmount": "0",
    "terminalID": "017",
    "tipAmount": "0",
    "totalAmount": "100",
    "transactionID": "1920000011000001",
    "transactionType": "SALE",
    "type": "SALE",
    "uniqueTransactionId": "700000204353017172063912600100"
}

Authorization

The Authorization operation allows a merchant and a Cardholder to perform an initial hold on the cardholder’s account using any of the supported card brands and entry modes.

Authorization transactions can be explicitly captured (using the Completion operation), automatically captured, or reversed using the Void operation.

Properties of an authorization transaction

Item

Description

Operation name displayed on a terminal

Authorization

Operation name displayed on a receipt

AUTHORIZATION

Merchant is requested to supply the following data

Password, Invoice Number, Customer Number, Ticket Number, Purchase Number

Cardholder is requested to supply the following data

Card, EMV Application Selection, PIN, signature

ISO transaction message

1100

Can the operation be autoreversed?

Yes

Does the operation use data supplied by the Cardholder?

Yes

Merchant copy of the receipt?

Yes

Cardholder copy of the reciept?

Yes

Is the receipt stored as “last receipt”?

Yes

Can the receipt have a signature line?

Yes

Request fields

Request fields for authorization
Field                               Description

Presence       

operation  
Contains the value Transaction.

Mandatory

type   
The transaction type.

Mandatory

requestedAmount

The amount of the transaction. The amount field is numeric. No other characters are permitted.

The amount value contains two implied decimal places. For example, the value 50000 represents $500.00 and the value 500 represents $5.00.

Mandatory

reference           A POS-generated reference number. If none is provided, Payment Terminal Application generates this value internally.
Maximum of 12 alphanumeric characters.

Optional

invoice           The invoice number associated with the transaction. Maximum of 6 numeric characters.

Optional

customer          

The customer number associated with the transaction. Maximum of 8 alphanumeric characters.

Optional

ticket          

The ticket number associated with the transaction. Maximum of 8 alphanumeric characters.

Optional

purchase          

The purchase number associated with the transaction. Maximum of 8 alphanumeric characters.

Optional

cardPresent          

Indicates if the manually entered card is physically present. Possible values:

  • 0 — Card present
  • 1 — Card not present

Optional

expDate          

Card expiration date manually captured at the POS in format YYMM.

When this field is provided, the payment terminal device does not prompt for card entry.

Optional

zip           The ZIP code associated to the cardholder account (for AVS purposes). Required for Amex commercial card processing.

Optional

address           The address associated to the cardholder account (for AVS purposes).

Optional

lastFour           Last 4 digits of the card number. When provided by the POS application, Payment Terminal Application uses this field for fraud control by comparing with the captured card number.

Optional

duplicateCheck          

If you send a value of 1, Payment Terminal Application checks the last performed transaction for a matching card number and amount. If the previous transaction matches, Payment Terminal Application returns an error.

Possible values:

  • 0 — Ignore duplicates
  • 1 — Check duplicates

Optional

uniqueTransactionId

Unique reference provided by the POS application or a 30-character unique ID generated by Payment Terminal Application. The first 22 characters (left justified) are used for reporting. This field is alphanumeric.

Optional

printReceipt          

Valid values:

  • 0 — Do not print receipt
  • 1 — Print receipt (if supported)

If you omit this field, the default value is 0 and no receipt is printed.

This field applies only to receipts printed by the payment terminal device or a printer attached to it.

Optional

Authorization example

Here is an example of a request to process an authorization:

Json
{
    "operation":"Transaction",
    "type":"AUTHORIZATION",
    "requestedAmount":"200"
}

Here is an authorization example response:

Json
{
    "AC": "F650CA51C0A80D69",
    "AID": "A0000000031010",
    "ARC": "3030",
    "IAD": "06010A03A00000",
    "PARData": "V0010013018037103627480477422",
    "TSI": "0000",
    "TVR": "0000000000",
    "account": "476173******0011",
    "approval": "approved",
    "authCode": "006876",
    "batchJulianDay": "24192",
    "batchNumber": "000001",
    "cardBrand": "VISA",
    "cardToken": "4761730382600011",
    "cardholderLanguage": "en",
    "currencyCode": "CAD",
    "cvm": "NO CVM",
    "dateTime": "07-10-2024 15:34:01",
    "demoMode": "no",
    "dueAmount": "0",
    "entryMode": "Contactless",
    "expDate": "2412",
    "footerLine1": "Thank You",
    "footerLine2": "Please Come Again",
    "hostError": "00000",
    "merchantID": "9999999",
    "operation": "Transaction",
    "preferredName": "VISA CREDIT",
    "reference": "000000153401",
    "requestedAmount": "200",
    "responseCode": "00",
    "result": "0",
    "shift": "0",
    "signatureRequired": "no",
    "table": "0",
    "taxAmount": "0",
    "terminalID": "017",
    "totalAmount": "200",
    "transactionID": "1920000012000002",
    "transactionType": "PRE-AUTH",
    "type": "AUTHORIZATION",
    "uniqueTransactionId": "700000204353017172064004100100"
}

Completion

The Authorization Completion operation always relates to a previous authorization and allows a merchant to perform a final capture on a previously approved authorization. This excludes tip on a receipt adjustment and restaurant industry data.

Properties of a completion operation

Item

Description

Operation name displayed on a terminal

Completion

Operation name displayed on a receipt

COMPLETION

Merchant is requested to supply the following data

Password, Amount and Authorization Code.

Cardholder is requested to supply the following data

Signature

ISO transaction message

1200

Can the operation be autoreversed?

Yes

Does the operation use data supplied by the Cardholder?

Yes

Merchant copy of the receipt?

Yes

Cardholder copy of the reciept?

Yes

Is the receipt stored as “last receipt”?

Yes

Can the receipt have a signature line?

Yes

Request fields

Request fields for completion
Field                               Description

Presence       

operation          
Contains the value Transaction.

Mandatory

type          
The transaction type.

Mandatory

requestedAmount

The amount of the transaction. The amount field is numeric. No other characters are permitted.

The amount value contains two implied decimal places. For example, the value 50000 represents $500.00 and the value 500 represents $5.00.

Mandatory

reference           A POS-generated reference number. If none is provided, Payment Terminal Application generates this value internally.
Maximum of 12 alphanumeric characters.

Optional

originalAuthCode

The authorization code returned in the original authorization.

This field is alphanumeric.

Mandatory

taxAmount           If provided, taxAmount overrides the calculation based on the TAXPERCENT parameter (if configured). This value has the same format as the requestedAmount field.

Optional

cardPresent          

Indicates if the manually entered card is physically present. Possible values:

  • 0 — Card present
  • 1 — Card not present

Optional

cardToken           Card token used for credential on file transactions.

Optional

expDate          

Card expiration date manually captured at the POS in format YYMM.

When this field is provided, the payment terminal device does not prompt for card entry.

Optional

zip           The ZIP code associated to the cardholder account (for AVS purposes). Required for Amex commercial card processing.

Optional

address           The address associated to the cardholder account (for AVS purposes).

Optional

lastFour           Last 4 digits of the card number. When provided by the POS application, Payment Terminal Application uses this field for fraud control by comparing with the captured card number.

Optional

duplicateCheck          

If you send a value of 1, Payment Terminal Application checks the last performed transaction for a matching card number and amount. If the previous transaction matches, Payment Terminal Application returns an error.

Possible values:

  • 0 — Ignore duplicates
  • 1 — Check duplicates

Optional

uniqueTransactionId

Unique reference provided by the POS application or a 30-character unique ID generated by Payment Terminal Application. The first 22 characters (left justified) are used for reporting. This field is alphanumeric.

Optional

printReceipt          

Valid values:

  • 0 — Do not print receipt
  • 1 — Print receipt (if supported)

If you omit this field, the default value is 0 and no receipt is printed.

This field applies only to receipts printed by the payment terminal device or a printer attached to it.

Optional

Completion example

Here is an example of a request to process a completion:

Json
{
    "operation":"Transaction",
    "type":"COMPLETION",
    "requestedAmount":"200",
    "originalAuthCode":"096653"
}

Here is a completion example response:

Json
{
    "AC": "",
    "ARC": "",
    "IAD": "",
    "TSI": "",
    "approval": "approved",
    "approvalMode": "ISSUER",
    "authCode": "096653",
    "batchJulianDay": "24192",
    "batchNumber": "000001",
    "cardBrand": "VISA",
    "cardToken": "4761730382600011",
    "currencyCode": "CAD",
    "cvm": "NO CVM",
    "dateTime": "07-10-2024 15:38:40",
    "demoMode": "no",
    "entryMode": "None",
    "footerLine1": "Thank You",
    "footerLine2": "Please Come Again",
    "hostError": "00000",
    "merchantID": "9999999",
    "operation": "Transaction",
    "reference": "000000153840",
    "requestedAmount": "200",
    "responseCode": "00",
    "result": "0",
    "shift": "0",
    "signatureRequired": "no",
    "taxAmount": "0",
    "terminalID": "017",
    "totalAmount": "200",
    "transactionID": "1920000011000006",
    "transactionType": "PRE-AUTH COMPLETION",
    "type": "COMPLETION",
    "uniqueTransactionId": "700000204353017172064032000000"
}

Force Sale

The Force Sale operation allows a merchant to perform a capture on a previously approved voice authorization.

Properties of a force sale operation

Item

Description

Operation name displayed on a terminal

Force Sale

Operation name displayed on a receipt

FORCE SALE

Merchant is requested to supply the following data

Password, Invoice Number, Customer Number, Ticket Number, Purchase Number, Authorization Code.

Cardholder is requested to supply the following data

Signature

ISO transaction message

1200

Can the operation be autoreversed?

Yes

Does the operation use data supplied by the Cardholder?

Yes

Merchant copy of the receipt?

Yes

Cardholder copy of the reciept?

Yes

Is the receipt stored as “last receipt”?

Yes

Can the receipt have a signature line?

Yes

Request fields

Request fields for force sale
Field                               Description

Presence       

operation          
Contains the value Transaction.

Mandatory

type          
The transaction type.

Mandatory

requestedAmount

The amount of the transaction. The amount field is numeric. No other characters are permitted.

The amount value contains two implied decimal places. For example, the value 50000 represents $500.00 and the value 500 represents $5.00.

Mandatory

reference           A POS-generated reference number. If none is provided, Payment Terminal Application generates this value internally.
Maximum of 12 alphanumeric characters.

Optional

invoice           The invoice number associated with the transaction. Maximum of 6 numeric characters.

Optional

customer          

The customer number associated with the transaction. Maximum of 8 alphanumeric characters.

Optional

ticket          

The ticket number associated with the transaction. Maximum of 8 alphanumeric characters.

Optional

purchase          

The purchase number associated with the transaction. Maximum of 8 alphanumeric characters.

Optional

originalAuthCode

The authorization code returned in the original authorization.

This field is alphanumeric.

Mandatory

taxAmount           If provided, taxAmount overrides the calculation based on the TAXPERCENT parameter (if configured). This value has the same format as the requestedAmount field.

Optional

tipAmount          

If tipAmount is provided, Payment Terminal Application does not prompt for tip during the transaction flow.

Optional

cardPresent          

Indicates if the manually entered card is physically present. Possible values:

  • 0 — Card present
  • 1 — Card not present

Optional

expDate          

Card expiration date manually captured at the POS in format YYMM.

When this field is provided, the payment terminal device does not prompt for card entry.

Optional

lastFour           Last 4 digits of the card number. When provided by the POS application, Payment Terminal Application uses this field for fraud control by comparing with the captured card number.

Optional

duplicateCheck          

If you send a value of 1, Payment Terminal Application checks the last performed transaction for a matching card number and amount. If the previous transaction matches, Payment Terminal Application returns an error.

Possible values:

  • 0 — Ignore duplicates
  • 1 — Check duplicates

Optional

uniqueTransactionId

Unique reference provided by the POS application or a 30-character unique ID generated by Payment Terminal Application. The first 22 characters (left justified) are used for reporting. This field is alphanumeric.

Optional

printReceipt          

Valid values:

  • 0 — Do not print receipt
  • 1 — Print receipt (if supported)

If you omit this field, the default value is 0 and no receipt is printed.

This field applies only to receipts printed by the payment terminal device or a printer attached to it.

Optional

Force Sale example

Here is an example of a request to process a force sale:

Json
{
    "operation":"Transaction",
    "type":"FORCE_SALE",
    "requestedAmount":"200",
    "reference":"1234567890  ",
    "originalAuthCode":"717586"
}

Here is a force sale example response:

Json
{
    "AC": "",
    "ARC": "",
    "IAD": "",
    "TSI": "",
    "account": "476173******0011",
    "approval": "approved",
    "approvalMode": "ISSUER",
    "authCode": "717586",
    "batchJulianDay": "24192",
    "batchNumber": "000001",
    "cardBrand": "VISA",
    "cardToken": "4761730382600011",
    "currencyCode": "CAD",
    "dateTime": "07-10-2024 15:23:17",
    "demoMode": "no",
    "entryMode": "Manual",
    "footerLine1": "Thank You",
    "footerLine2": "Please Come Again",
    "hostError": "00000",
    "merchantID": "9999999",
    "operation": "Transaction",
    "reference": "1234567890  ",
    "requestedAmount": "200",
    "responseCode": "00",
    "result": "0",
    "shift": "0",
    "signatureRequired": "no",
    "subTotalAmount": "200",
    "taxAmount": "0",
    "terminalID": "017",
    "totalAmount": "200",
    "transactionID": "1920000011000002",
    "transactionType": "FORCE SALE",
    "type": "FORCE_SALE",
    "uniqueTransactionId": "700000204353017172063939700000"
}

MOTO Sale

The MOTO operation allows a merchant to perform a Mail Order / Telephone Order sale transaction. MOTO transactions are authorized online. 

Properties of a MOTO sale operation

Item

Description

Operation name displayed on a terminal

MOTO Sale

Operation name displayed on a receipt

MOTO SALE

Merchant is requested to supply the following data

Password, Invoice Number, Customer Number, Ticket Number, Purchase Number

ISO transaction message

1200

Can the operation be autoreversed?

Yes

Merchant copy of the receipt?

Yes

Cardholder copy of the reciept?

Yes

Is the receipt stored as “last receipt”?

Yes

Can the receipt have a signature line?

No

Request fields

Request fields for MOTO sale
Field                               Description

Presence       

operation          
Contains the value Transaction.

Mandatory

type          
The transaction type.

Mandatory

requestedAmount

The amount of the transaction. The amount field is numeric. No other characters are permitted.

The amount value contains two implied decimal places. For example, the value 50000 represents $500.00 and the value 500 represents $5.00.

Mandatory

reference           A POS-generated reference number. If none is provided, Payment Terminal Application generates this value internally.
Maximum of 12 alphanumeric characters.

Optional

invoice           The invoice number associated with the transaction. Maximum of 6 numeric characters.

Optional

customer          

The customer number associated with the transaction. Maximum of 8 alphanumeric characters.

Optional

ticket          

The ticket number associated with the transaction. Maximum of 8 alphanumeric characters.

Optional

purchase          

The purchase number associated with the transaction. Maximum of 8 alphanumeric characters.

Optional

order           The order number associated to the transaction. Maximum of 9 alphanumeric characters.

Mandatory

taxAmount           If provided, taxAmount overrides the calculation based on the TAXPERCENT parameter (if configured). This value has the same format as the requestedAmount field.

Optional

expDate          

Card expiration date manually captured at the POS in format YYMM.

When this field is provided, the payment terminal device does not prompt for card entry.

Optional

zip           The ZIP code associated to the cardholder account (for AVS purposes). Required for Amex commercial card processing.

Optional

address           The address associated to the cardholder account (for AVS purposes).

Optional

lastFour           Last 4 digits of the card number. When provided by the POS application, Payment Terminal Application uses this field for fraud control by comparing with the captured card number.

Optional

duplicateCheck          

If you send a value of 1, Payment Terminal Application checks the last performed transaction for a matching card number and amount. If the previous transaction matches, Payment Terminal Application returns an error.

Possible values:

  • 0 — Ignore duplicates
  • 1 — Check duplicates

Optional

uniqueTransactionId

Unique reference provided by the POS application or a 30-character unique ID generated by Payment Terminal Application. The first 22 characters (left justified) are used for reporting. This field is alphanumeric.

Optional

printReceipt          

Valid values:

  • 0 — Do not print receipt
  • 1 — Print receipt (if supported)

If you omit this field, the default value is 0 and no receipt is printed.

This field applies only to receipts printed by the payment terminal device or a printer attached to it.

Optional

MOTO Sale example

Here is an example of a request to process a MOTO sale:

Json
{
    "operation":"Transaction",
    "type":"MOTO_SALE",
    "requestedAmount":"200",
    "order":"ABCD1234"
}

Here is a MOTO sale example response:

Json
{
    "AC": "",
    "ARC": "",
    "IAD": "",
    "PARData": "VI62Z28RKA1EBL470G9XYG90R5D3E",
    "TSI": "",
    "account": "476173******0011",
    "approval": "approved",
    "authCode": "096653",
    "avsAddressMatch": "Yes",
    "avsResult": "Y",
    "avsZipMatch": "Yes",
    "batchJulianDay": "24192",
    "batchNumber": "000001",
    "cardBrand": "VISA",
    "currencyCode": "CAD",
    "dateTime": "07-10-2024 15:35:28",
    "demoMode": "no",
    "dueAmount": "0",
    "entryMode": "Manual",
    "footerLine1": "Thank You",
    "footerLine2": "Please Come Again",
    "hostError": "00000",
    "merchantID": "9999999",
    "operation": "Transaction",
    "order": "ABCD1234",
    "reference": "000000153528",
    "requestedAmount": "200",
    "responseCode": "00",
    "result": "0",
    "shift": "0",
    "taxAmount": "0",
    "terminalID": "017",
    "totalAmount": "200",
    "transactionID": "1920000011000004",
    "transactionType": "MOTO",
    "type": "MOTO_SALE",
    "uniqueTransactionId": "700000204353017172064012800000"
}

Refund

The refund operation allows you to credit the cardholder’s account. Refund transactions are performed online and require authentication by the user of your POS, such as a user login or manager level access by PIN, to process.

Perform referenced refunds only. Link a refund to an existing transaction (and transaction amount) within your POS, rather than allowing the user to key in the amount for a refund. Limit your POS to refunds by reference to help reduce fraud and prevent unintended transactions, such as keying in the incorrect amount for a refund.

To avoid liability for unauthorized refunds as a POS provider, implement one or more methods to protect refund functionality within the POS.

Properties of a refund operation

Item

Description

Operation name displayed on a terminal

Refund

Operation name displayed on a receipt

REFUND

Merchant is requested to supply the following data

Password

Cardholder is requested to supply the following data

Card, EMV Application Selection, PIN, signature

ISO transaction message

1200

Can the operation be autoreversed?

Yes

Does the operation use data supplied by the Cardholder?

Yes

Merchant copy of the receipt?

Yes

Cardholder copy of the reciept?

Yes

Is the receipt stored as “last receipt”?

Yes

Can the receipt have a signature line?

Yes

Request fields

Request fields for refund
Field                               Description

Presence       

operation          
Contains the value Transaction.

Mandatory

type          
The transaction type.

Mandatory

requestedAmount

The amount of the transaction. The amount field is numeric. No other characters are permitted.

The amount value contains two implied decimal places. For example, the value 50000 represents $500.00 and the value 500 represents $5.00.

Mandatory

cardToken           Card token used for credential on file transactions.

Optional

expDate          

Card expiration date manually captured at the POS in format YYMM.

When this field is provided, the payment terminal device does not prompt for card entry.

Optional

uniqueTransactionId

Unique reference provided by the POS application or a 30-character unique ID generated by Payment Terminal Application. The first 22 characters (left justified) are used for reporting. This field is alphanumeric.

Optional

printReceipt          

Valid values:

  • 0 — Do not print receipt
  • 1 — Print receipt (if supported)

If you omit this field, the default value is 0 and no receipt is printed.

This field applies only to receipts printed by the payment terminal device or a printer attached to it.

Optional

Refund example

Here is an example of a request to process a refund:

Json
{
    "operation": "Transaction",
    "type": "REFUND",
    "requestedAmount": “200"
}

Here is an example of a tokenized refund request:

Json
{
    "operation": "Transaction",
    "type": "REFUND",
    "requestedAmount": "1500",
    "cardToken": "4761730382600011",
    "expDate": "2512",
    "storedCredential": "1"
}

Here is a refund example response:

Json
{
    "AC": "4E715B607420C0DB",
    "AID": "A0000000031010",
    "ARC": "3030",
    "IAD": "06010A03A00000",
    "PARData": "V0010013018037103627480477422",
    "TSI": "0000",
    "TVR": "0000000000",
    "account": "476173******0011",
    "approval": "approved",
    "authCode": "076276",
    "batchJulianDay": "24192",
    "batchNumber": "000001",
    "cardBrand": "VISA",
    "cardToken": "4761730382600011",
    "cardholderLanguage": "en",
    "currencyCode": "CAD",
    "cvm": "NO CVM",
    "dateTime": "07-10-2024 15:31:09",
    "demoMode": "no",
    "entryMode": "Contactless",
    "footerLine1": "Thank You",
    "footerLine2": "Please Come Again",
    "hostError": "00000",
    "merchantID": "9999999",
    "operation": "Transaction",
    "preferredName": "VISA CREDIT",
    "reference": "000000153109",
    "requestedAmount": "200",
    "responseCode": "00",
    "result": "0",
    "shift": "0",
    "signatureRequired": "no",
    "table": "0",
    "taxAmount": "0",
    "terminalID": "017",
    "totalAmount": "500",
    "transactionID": "1920000011000003",
    "transactionType": "REFUND",
    "type": "REFUND",
    "uniqueTransactionId": "700000204353017172063986900100"
}

Status Check

The Status Check operation allows a merchant to perform an initial check on the cardholder’s account using any of the supported card brands and entry modes.

This transaction is performed online as a zero dollar authorization. 

Properties of a status check operation

Item

Description

Operation name displayed on a terminal

Status Check

Operation name displayed on a receipt

Not applicable

Merchant is requested to supply the following data

Password

Cardholder is requested to supply the following data

Card, EMV Application Selection

ISO transaction message

1100

Can the operation be autoreversed?

No

Does the operation use data supplied by the Cardholder?

Yes

Merchant copy of the receipt?

No

Cardholder copy of the reciept?

No

Is the receipt stored as “last receipt”?

No

Can the receipt have a signature line?

No

Request fields

Request fields for status check
Field                               Description

Presence       

operation          
Contains the value Transaction.

Mandatory

type          
The transaction type.

Mandatory

reference           A POS-generated reference number. If none is provided, Payment Terminal Application generates this value internally.
Maximum of 12 alphanumeric characters.

Optional

expDate          

Card expiration date manually captured at the POS in format YYMM.

When this field is provided, the payment terminal device does not prompt for card entry.

Optional

lastFour           Last 4 digits of the card number. When provided by the POS application, Payment Terminal Application uses this field for fraud control by comparing with the captured card number.

Optional

uniqueTransactionId

Unique reference provided by the POS application or a 30-character unique ID generated by Payment Terminal Application. The first 22 characters (left justified) are used for reporting. This field is alphanumeric.

Optional

Status Check example

Here is an example of a request to process a status check:

Json
{
    "operation": "Transaction",
    "type": "STATUS_CHECK"
}

Here is a status check example response:

Json
{
    "AC": "A0A22513C4498841",
    "AID": "A0000000031010",
    "ARC": "3030",
    "IAD": "06010A03A0B800",
    "PARData": "V0010013018037103627480477422",
    "TSI": "6800",
    "TVR": "8080008000",
    "account": "476173******0011",
    "approval": "approved",
    "authCode": "000168",
    "batchJulianDay": "24192",
    "batchNumber": "000001",
    "cardBrand": "VISA",
    "cardToken": "4761730382600011",
    "cardholderName": "UAT USA/Test Card 01      ",
    "currencyCode": "CAD",
    "cvm": "Signature",
    "dateTime": "07-10-2024 15:24:41",
    "demoMode": "no",
    "entryMode": "Chip",
    "expDate": "2412",
    "footerLine1": "Thank You",
    "footerLine2": "Please Come Again",
    "hostError": "00000",
    "merchantID": "9999999",
    "operation": "Transaction",
    "preferredName": "Visa Credit",
    "reference": "000000152441",
    "responseCode": "00",
    "result": "0",
    "shift": "0",
    "terminalID": "017",
    "transactionID": "1920000012000001",
    "transactionType": "STATUS CHECK",
    "type": "STATUS_CHECK",
    "uniqueTransactionId": "700000204353017172063948100100"
}

Void

The Void operation allows a merchant to reverse a previously approved authorization, sale, or refund transaction. This operation relates to a previous transaction. Voids are only possible if the original transaction is in the open batch.

Void transactions are processed online. 

Properties of a void operation

Item

Description

Operation name displayed on a terminal

Void

Operation name displayed on a receipt

VOID

Merchant is requested to supply the following data

Password, original Approval code

Cardholder is requested to supply the following data

None

ISO transaction message

1400

Can the operation be autoreversed?

No

Does the operation use data supplied by the Cardholder?

Yes

Merchant copy of the receipt?

Yes

Cardholder copy of the reciept?

Yes

Is the receipt stored as “last receipt”?

Yes

Can the receipt have a signature line?

No

Request fields

Request fields for void
Field                               Description

Presence       

operation          
Contains the value Transaction.

Mandatory

type          
The transaction type.

Mandatory

requestedAmount

The amount of the transaction. The amount field is numeric. No other characters are permitted.

The amount value contains two implied decimal places. For example, the value 50000 represents $500.00 and the value 500 represents $5.00.

Optional

originalAuthCode

The authorization code returned in the original authorization.

This field is alphanumeric.

Mandatory

tipAmount          

If tipAmount is provided, Payment Terminal Application does not prompt for tip during the transaction flow.

Optional

cardToken           Card token used for credential on file transactions.

Optional

expDate          

Card expiration date manually captured at the POS in format YYMM.

When this field is provided, the payment terminal device does not prompt for card entry.

Optional

uniqueTransactionId

Unique reference provided by the POS application or a 30-character unique ID generated by Payment Terminal Application. The first 22 characters (left justified) are used for reporting. This field is alphanumeric.

Optional

printReceipt          

Valid values:

  • 0 — Do not print receipt
  • 1 — Print receipt (if supported)

If you omit this field, the default value is 0 and no receipt is printed.

This field applies only to receipts printed by the payment terminal device or a printer attached to it.

Optional

Void example

Here is an example of a request to process a void:

Json
{
    "operation":"Transaction",
    "type":"VOID",
    "requestedAmount":"200",
    "originalAuthCode":"096653"
}

Here is a void example response:

Json
{
    "AC": "",
    "ARC": "",
    "IAD": "",
    "TSI": "",
    "account": "476173******0011",
    "approval": "approved",
    "authCode": "096653",
    "batchJulianDay": "24192",
    "batchNumber": "000001",
    "cardBrand": "VISA",
    "currencyCode": "CAD",
    "cvm": "NO CVM",
    "dateTime": "07-10-2024 15:36:52",
    "demoMode": "no",
    "entryMode": "Manual",
    "footerLine1": "Thank You",
    "footerLine2": "Please Come Again",
    "merchantID": "9999999",
    "operation": "Transaction",
    "reference": "000000153528",
    "requestedAmount": "200",
    "responseCode": "00",
    "result": "0",
    "shift": "0",
    "table": "0",
    "taxAmount": "0",
    "terminalID": "017",
    "totalAmount": "200",
    "transactionID": "1920000011000005",
    "transactionType": "VOID",
    "type": "VOID",
    "uniqueTransactionId": "700000204353017172064021200000"
}

Balance Inquiry

The Balance Inquiry operation allows a customer to check the available funds for their account. This operation is performed online.

Properties of a balance inquiry operation

Item

Description

Operation name displayed on a terminal

Balance Inquiry

Operation name displayed on a receipt

BALANCE INQUIRY

Merchant is requested to supply the following data

Password

Cardholder is requested to supply the following data

Card, EMV Application Selection, PIN

ISO transaction message

1100

Can the operation be autoreversed?

No

Does the operation use data supplied by the Cardholder?

Yes

Merchant copy of the receipt?

No

Cardholder copy of the reciept?

Yes

Is the receipt stored as “last receipt”?

No

Can the receipt have a signature line?

No

Request fields

Request fields for balance inquiry
Field                               Description

Presence       

operation          
Contains the value Transaction.

Mandatory

type          
The transaction type.

Mandatory

reference           A POS-generated reference number. If none is provided, Payment Terminal Application generates this value internally.
Maximum of 12 alphanumeric characters.

Optional

printReceipt          

Valid values:

  • 0 — Do not print receipt
  • 1 — Print receipt (if supported)

If you omit this field, the default value is 0 and no receipt is printed.

This field applies only to receipts printed by the payment terminal device or a printer attached to it.

Optional

Balance Inquiry example

Here is an example of a request to process a balance inquiry:

Json
{
   "operation":"Transaction",
   "type":"BALANCE_INQUIRY"
}

Here is a balance inquiry example response:

Json
{
   "AC": "",
   "ARC": "",
   "IAD": "",
   "PARData": "VI62Z28RKA1EBL470G9XYG90R5D3E",
   "TSI": "",
   "account": "400001******0025",
   "approval": "approved",
   "authCode": "098278",
   "balance": "500",
   "batchJulianDay": "24197",
   "batchNumber": "000001",
   "cardBrand": "VISA",
   "cardholderName": "XXXXXXST/CNET CR CX 2",
   "currencyCode": "CAD",
   "cvm": "Signature",
   "dateTime": "07-15-2024 09:18:15",
   "demoMode": "no",
   "entryMode": "Swiped",
   "footerLine1": "Thank You",
   "footerLine2": "Please Come Again",
   "hostError": "00000",
   "merchantID": "9999999",
   "operation": "Transaction",
   "reference": "000000091815",
   "requestedAmount": "0",
   "responseCode": "00",
   "result": "0",
   "shift": "0",
   "table": "0",
   "terminalID": "017",
   "transactionID": "1970000012000001",
   "transactionType": "BALANCE INQUIRY",
   "type": "BALANCE_INQUIRY"
}

Settlement

Use transaction type settlement to manually close your batch at our payment host. Manual batch settlement is not typically required as the host capture mode of processing automatically settles the batch at a set time. 

Tip

When Payment Terminal Application is in demo mode, settlement is not performed. Instead, you simply receive a reminder of the current demo mode status.

Request fields

Request fields for settlement
Field                          Description

Presence       

operation          
Contains the value Transaction.

Mandatory

type          
The transaction type.

Mandatory

Card transaction response

Response fields

Card transaction response fields
Field                                    Description
processorLine1 Top processor line.
headerLine1 Response header line.

headerLine2

Response header line.

headerLine3

Response header line.

headerLine4

Response header line.

headerLine5

Response header line.

headerLine6

Response header line.
processorLine2 Bottom processor line.
terminalID Terminal ID value configured for your merchant account.
reference Echo of the POS-generated reference number in the transaction request or, if you do not send a value, the reference number generated by Payment Terminal Application.
Maximum of 15 alphanumeric characters.

merchantID

Merchant ID value configured for your merchant account.
storeID Store identification.
dateTime

Print the local date and time of the transaction on the receipt. The dateTime value has a custom format of [MM]-[DD]-[YYYY] [hh]:[mm]:[ss]. For example:

12-31-2024 13:59:59

invoice

Echo of the invoice number in the request. Maximum of 6 numeric characters.

customer

The customer number associated to the transaction. Maximum of 8 alphanumeric characters.

ticket

The ticket number associated to the transaction. Maximum 8 alphanumeric characters.

purchase

The purchase number to be associated to the transaction. Maximum 8 alphanumeric characters.
commercialCardType

When present, the card is assumed to be a commercial card. This field determines the type of commercial card:

  • 0 — Corporate
  • 1 — Purchasing

customerReference

Required for commercial card processing. Contains the customer reference number. Maximum of 17 alphanumeric characters.
operation Echoed value of Transaction
transactionType

Transaction type in printable form. Valid values:

  • SALE
  • FORCE SALE
  • REFUND
  • AUTHORIZATION
  • STATUS CHECK
  • MOTO SALE
  • VOID
  • COMPLETION
  • BALANCE INQUIRY
  • CLOSE BATCH
account The account number masked according to PCI and card brand requirements.
accountType

Returns the determined account type for an Interac card.

  • 0=None
  • 1=Checking/Chequing
  • 2=Savings
cardBrand The card brand label inferred from the card BIN.

cardToken

Card token used for credential on file transactions.
entryMode

Indicates the interface used to capture the card data.
Valid values:

  • Manual
  • Swiped
  • FSwiped
  • EMV
  • Tap
  • COF

requestedAmount

The original amount of the transaction. The value format is numeric with a single decimal between major and minor denominations.
surchargeAmount The surcharge amount (if applied to the transaction).
surchargePercentage The applied surcharge percentage (if applicable).
surchargeFixed The applied surcharge fixed amount (if applicable).
taxAmount The tax amount (if applied to the transaction).
subTotalAmount The subTotalAmount comprising the authorized amount, the surcharge, and tax.
tipAmount The tip amount as entered during the transaction.
cashBackAmount The cash back amount (if applicable).
totalAmount The sum of all the amounts in the transaction.
dueAmount If the transaction is partially authorized, this field contains the difference between the totalAmount and the amount approved by the issuer.
balance Contains the account balance provided by the issuer (if available).

transactionID

Transaction ID number.

batchNumber

Indicates the current batch number. The number is locally initialized with 0 and is updated by our payment host responses.
traceNumber Contains the trace number returned by our payment host for EBT and debit transactions.
result The result code from Payment Terminal Application. Refer to the tables of result codes for the applicable values.

approval

Whether the transaction is approved or declined. All errors and cancelations cause this field to contain declined. Determine specific information about the cause of a decline in resultresponseCode, or hostMessage.

errorMessage

The display message from the host containing the description of the transaction decline. Applies to declined transactions.
hostError The payment host numeric code for the decline. Only applies to declined transactions. Approved transactions contain 00000.

authCode

The authorization approval code returned from our payment host. This field only applies to approved transactions and is optional.

responseCode

The response code returned from our payment host. Only present when provided by our payment host.

preferredName

Print this name (application label) of the EMV application on the receipt. Only present on EMV and CTLS transactions (if available). Maximum of 16 alphanumeric characters.
approvalMode

Indicates how the approval was obtained:

  • ISSUER

AID

Print the AID of the EMV application on the receipt. Only present on approved EMV transactions. Maximum of 32 alphanumeric characters.

TVR

Print the Terminal Verification Results value on the receipt. Only present on EMV and CTLS transactions (if available). Maximum of 10 alphanumeric characters.

IAD

Print the Issuer Application Data on the receipt. Only present on EMV and CTLS transactions (if available). Maxium of 64 alphanumeric characters.
AC Print the Application Cryptogram on the receipt. Only present on EMV and CTLS transactions. Maximum of 16 alphanumeric characters.

TSI

Print the Transaction Status Information on the receipt. Only present on EMV and CTLS transactions (if available). Maximum of 4 alphanumeric characters.

ARC

Print the Authorization Response Code on the receipt. Only present on EMV and CTLS transactions (if available). Maximum of 4 alphanumeric characters.
cvm

Indicates the cardholder verification method. Present on approved transactions.

Valid values:

  • NO CVM
  • Signature
  • PIN Verified
  • PIN and Signature
signatureRequired

Indicates if a signature is required. Present on approved transactions. Only present if the signature is required and not electronically captured at the payment terminal device. Valid values:

  • yes
  • no

signatureData

Contains the signature image electronically captured by the payment terminal device. Encoded in base64 format and represents a PNG picture.
uniqueTransactionID Echo from the request or a 30 character unique ID generated by Payment Terminal Application. The first 22 characters are used for reporting. This field is alphanumeric.

PARData

Payment account reference data. Present if on the EMV or CTLS card or returned by our payment host.

footerLine1Merchant

Response footer line.

footerLine2Merchant

Response footer line.

footerLine3Merchant

Response footer line.

footerLine1Cardholder

Response footer line.

footerLine2Mercholder

Response footer line.

footerLine3Cardholder

Response footer line.
demoMode

Indicates if the Payment Terminal Application is running in demo mode. Valid values:

  • yes
  • no
Card transaction response fields by supported transaction type
Field                          Sale Force
Sale
Refund Auth. Only Status Check MOTO Sale Void Completion Balance Inquiry Settlement

processorLine1

C

C

C

C

-

C

C

C

C

-

headerLine1

P

P

P

P

-

P

P

P

P

-

headerLine2

P

P

P

P

-

P

P

P

P

-

headerLine3

P

P

P

P

-

P

P

P

P

-

headerLine4

P

P

P

P

-

P

P

P

P

-

headerLine5

P

P

P

P

-

P

P

P

P

-

headerLine6

P

P

P

P

-

P

P

P

P

-

processorLine2

C

C

C

C

-

C

C

C

C

-

terminalID P

P

P

P

P

P

P

P

P

-

reference

P

P

P

P

P

P

P

P

P

-

merchantID

P

P

P

P

P

P

P

P

P

-

storeID P

P

P

P

P

P

P

P

P

-

dateTime

P

P

P

P

P

P

P

P

P

-

invoice O

O

-

-

-

O

-

-

-

-

customer O

O

-

O

-

O

-

-

-

-

ticket O

O

-

O

-

O

-

-

-

-

purchase O

O

-

O

-

O

-

-

-

-

commercialCardType

O

-

-

-

-

-

-

-

-

-

customerReference O

-

-

-

-

-

-

-

-

-

operation P

P

P

P

P

P

P

P

P

P

transactionType

P

P

P

P

P

P

P

P

P

P

account P

P

P

P

P

P

P

P

P

-

accountType

C

C

C

-

-

-

-

C

-

-

cardBrand P

P

P

P

P

P

P

P

P

-

cardToken O

-

-

O

-

-

-

-

-

-

entryMode

P

P

P

P

P

P

P

P

P

-

requestedAmount O

O

O

O

-

O

O

O

O

-

surchargeAmount O

O

-

-

-

O

O

-

-

-

surchargePercentage O

O

-

-

-

O

-

-

-

-

surchargeFixed O

O

-

-

-

O

-

-

-

-

taxAmount O

O

O

-

-

O

O

O

-

-

subTotalAmount P

P

-

-

-

O

O

-

-

-

tipAmount O

O

-

-

-

O

O

-

-

-

cashBackAmount O

-

-

-

-

-

O

-

-

-

totalAmount P

P

P

P

-

P

P

P

-

-

dueAmount O

-

-

O

-

O

-

-

-

-

balance O

-

-

-

-

-

-

-

P

-

transactionID P

P

P

P

P

P

P

P

P

-

batchNumber P

P

P

P

P

P

P

P

P

P

traceNumber O

-

-

O

-

-

-

O

-

-

result P

P

P

P

P

P

P

P

P

P

approval P

P

P

P

P

P

P

P

P

-

errorMessage O

O

O

O

O

O

O

O

O

-

hostError O

O

O

O

O

O

O

O

O

-

authCode O

O

O

O

O

O

O

O

O

-

responseCode O

O

O

O

O

O

O

O

O

-

preferredName O

O

O

O

O

-

-

O

O

-

approvalMode

P

P

-

-

-

-

-

P

-

-

AID C

-

C

C

C

-

-

C

C

-

TVR O

-

O

O

O

-

-

O

O

-

IAD O

-

O

O

O

-

-

O

O

-

AC O

-

O

O

O

-

-

O

O

-

TSI O

-

O

O

O

-

-

O

O

-

ARC O

-

O

O

O

-

-

O

O

-

cvm

C

-

C

C

C

-

-

C

C

-

signatureRequired

C

C

C

C

-

-

-

C

-

-

signatureData C

C

C

C

-

-

-

C

-

-

uniqueTransactionID C

C

C

C

C

C

C

C

-

-

PARData C

C

C

C

C

C

C

C

C

-

footerLine1Merchant

P

P

P

P

-

P

P

P

P

-

footerLine2Merchant

P

P

P

P

-

P

P

P

P

-

footerLine3Merchant

P

P

P

P

-

P

P

P

P

-

footerLine1Cardholder

P

P

P

P

-

P

P

P

P

-

footerLine2Mercholder

P

P

P

P

-

P

P

P

P

-

footerLine3Cardholder

P

P

P

P

-

P

P

P

P

-

demoMode

P

P

P

P

P

P

P

P

P

P

Result codes

Result codes
Result code Description

0

OK: The operation completed successfully. Note that the result field does not indicate whether the transaction was approved; it is an indicator of whether the transaction operation was able to successfully gather payment information and communicate with our payment host.

1

Application Error: These errors represent failures of processes internal to the application, such as being unable to create a new thread, file access errors, or loss of communication.

2

Card Error: This is usually due to the removal or failure of a contact card.

3

Message Error: A field in the request is invalid, a required field is missing, or the request is not formatted correctly.

4

Invalid Reference or Key: For a void transaction request, this indicates that the reference number does not match one in the terminal’s batch. For a parameter operation, this indicates an invalid key name.

5

Busy: An ongoing operation is already in progress. A new operation cannot be started.

6

PIN debit key error: The terminal does not have a PIN debit key injected.

7

PIN Encryption Error: PIN hardware failure or over 1 million transactions limit reached.

8

P2PE key error: The terminal does not have a point-to-point encryption key injected.

9

Card Removed: The card was removed during the transaction processing.

10

Timeout occurred on the user interface.

11

Canceled by user: The user pressed the cancel key on one of the screens that allow user cancelation.

12

Canceled: The operation was canceled by a cancel operation from the POS.

15

Parse Error trying to parse the incoming API request.

17

Declined by the card.

19

Declined by our payment host.

20

Pre-condition failed before reaching our payment host. Provide this error code and the ‘500’ Host Error Code to troubleshoot the issue.

21

Connection to our payment host failed.

22

Sending request to our payment host failed.

23

Payment host response could not be processed.

24

Invalid payment host response.

25

Invalid clerk identification.

26

Fraud control validation failed (account number does not match).

27

Printer not operational.

28

Card is not supported.

29

Debit refund error.

31

SAF Maximum amount per transaction exceeded.

32

SAF Maximum number of transactions reached.

33

SAF Maximum cumulative amount exceeded.

34

SAF Entry mode not supported.

35

SAF Mask conditions not fulfilled.

36

SAF Transaction type not allowed.

37

SAF CVM not allowed.

38

SAF International card not allowed.

39

SAF not supported.

40

SAF CIT not supported.

41

AVS Address no match.

42

AVS ZIP no match.

43

AVS Address and ZIP no match.

70

Printer cover is open.

71

Printer paper jam.

72

Printer not supported.

80

Terminal is not operational.

81

Terminal is not connected.

82

Transaction in progress.

83

Missing credentials.

84

Key injection failed.

85

Load EMV configuration failed.

86

Load security data error.

87

Low battery.

88

MAC verification failed.

89

Key sync failed.

90

Invalid configuration

91

Network connection failed.

92

Pending parameters.

93

EMV Kernel error.

94

Kernel initialization.

95

MAC failed.

97

No data found for the request.

98

Not implemented.

99

Unknown Error: This is a catch-all error that occurs only if an error condition has not been specifically accounted for in the application.

Other operation

Test operation

Example

Here is an example of a request to process a transaction:

Json
{
    "operation":"Transaction",
    "type":"TEST",
    "requestedAmount":"200"
}

Here is an example response with result codes:

Json
{
    "AC": "",
    "ARC": "",
    "IAD": "",
    "TSI": "",
    "dateTime": "07-10-2024 15:28:39",
    "demoMode": "no",
    "footerLine1": "Thank You",
    "footerLine2": "Please Come Again",
    "hostError": "51520",
    "hostMessage": "PAN DECRYPTION                  ",
    "merchantID": "9999999",
    "operation": "Transaction",
    "responseCode": "06",
    "result": "0",
    "terminalID": "017",
    "transactionType": "TEST TRANSACTION",
    "type": "TEST"
}

Read Card operation

Example

Here is an example of a request to process a transaction:

Json
{
    "operation":"ReadCard",
    "cardType":"0",
    "timeout":"30"
}

Here is an example response with result codes:

Json
{
    "AC": "",
    "ARC": "",
    "IAD": "",
    "TSI": "",
    "cardType": "0",
    "demoMode": "no",
    "operation": "Transaction",
    "result": "2",
    "type": ""
}