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 | 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.
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 |
Yes |
Can the receipt have a signature line? |
Yes |
Request fields
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:
|
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:
|
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:
|
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:
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:
{
"operation": "Transaction",
"type": "SALE",
"requestedAmount": "100",
"printReceipt": "1"
}
Here is a sale example response:
{
"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.
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
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:
|
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:
|
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:
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:
{
"operation":"Transaction",
"type":"AUTHORIZATION",
"requestedAmount":"200"
}
Here is an authorization example response:
{
"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.
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
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:
|
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:
|
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:
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:
{
"operation":"Transaction",
"type":"COMPLETION",
"requestedAmount":"200",
"originalAuthCode":"096653"
}
Here is a completion example response:
{
"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.
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
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:
|
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:
|
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:
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:
{
"operation":"Transaction",
"type":"FORCE_SALE",
"requestedAmount":"200",
"reference":"1234567890 ",
"originalAuthCode":"717586"
}
Here is a force sale example response:
{
"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.
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
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:
|
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:
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:
{
"operation":"Transaction",
"type":"MOTO_SALE",
"requestedAmount":"200",
"order":"ABCD1234"
}
Here is a MOTO sale example response:
{
"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.
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
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:
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:
{
"operation": "Transaction",
"type": "REFUND",
"requestedAmount": “200"
}
Here is an example of a tokenized refund request:
{
"operation": "Transaction",
"type": "REFUND",
"requestedAmount": "1500",
"cardToken": "4761730382600011",
"expDate": "2512",
"storedCredential": "1"
}
Here is a refund example response:
{
"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.
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
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:
{
"operation": "Transaction",
"type": "STATUS_CHECK"
}
Here is a status check example response:
{
"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.
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
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:
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:
{
"operation":"Transaction",
"type":"VOID",
"requestedAmount":"200",
"originalAuthCode":"096653"
}
Here is a void example response:
{
"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.
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
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:
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:
{
"operation":"Transaction",
"type":"BALANCE_INQUIRY"
}
Here is a balance inquiry example response:
{
"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.
Request fields
Field | Description | Presence |
---|---|---|
operation |
Contains the value Transaction . |
Mandatory |
type |
The transaction type. | Mandatory |
Card transaction response
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:
|
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:
|
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:
|
account | The account number masked according to PCI and card brand requirements. |
accountType | Returns the determined account type for an Interac card.
|
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.
|
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 result , responseCode , 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:
|
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:
|
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:
|
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:
|
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 code | Description |
---|---|
0 |
OK: The operation completed successfully. Note that the |
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:
{
"operation":"Transaction",
"type":"TEST",
"requestedAmount":"200"
}
Here is an example response with result codes:
{
"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:
{
"operation":"ReadCard",
"cardType":"0",
"timeout":"30"
}
Here is an example response with result codes:
{
"AC": "",
"ARC": "",
"IAD": "",
"TSI": "",
"cardType": "0",
"demoMode": "no",
"operation": "Transaction",
"result": "2",
"type": ""
}