Refund
The Refund operation allows you to credit the cardholder’s account for a previously settled sale.
There are two types of refunds:
Unreferenced refund
An unreferenced refund credits the account of any card presented by the cardholder. Unreferenced refunds require card entry on the payment terminal and are required to support refunds for Interac, Canada’s debit network.
Common uses for unreferenced refund include:
- Returning funds to a consumer who no longer has the original card used for the purchase.
- Support refunds for Interac cards (Canada’s debit network).
Tokenized refund
A tokenized refund credits the account of the card originally used for the purchase by submitting the REFUND value with the card token returned in a SALE, AUTHORIZATION, or COMPLETION response. Tokenized refunds do not require card entry.
Some common uses for unreferenced refund include:
- Reducing fraud by ensuring funds are returned to the card that made the purchase.
- Improving consumer experience by not requiring card entry for refunds.
To help prevent fraud and unintended transactions, link refunds to original transactions when possible, and implement controls (such as user authentication or manager approval) to protect refund functionality within your point-of-sale (POS).
Properties
The following table lists the properties of a Refund operation:
Item |
Description |
|---|---|
Operation name displayed on a terminal |
Refund |
Operation name displayed on a receipt |
|
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 receipt? |
Yes |
Is the receipt stored as “last receipt”? |
Yes |
Can the receipt have a signature line? |
Yes |
Request fields
The following table lists and defines Refund request fields:
| Field | Description | Presence |
|---|---|---|
operation |
Contains the value Transaction. |
Mandatory |
type |
The transaction type. | Mandatory |
requestedAmount |
|
Mandatory |
cardToken |
Card token used for credential on file transactions. | Optional |
expDate |
|
Optional |
|
|
Optional |
printReceipt |
Applies to receipts printed by the payment terminal device or a printer attached to it. If you omit Value:
|
Optional |
Example
The following example is a request to process an unreferenced refund:
{
"operation": "Transaction",
"type": "REFUND",
"requestedAmount": “200"
}The following example is a request to process a tokenized refund:
{
"operation": "Transaction",
"type": "REFUND",
"requestedAmount": "2520",
"cardToken": "2223603006060329",
"expDate": "2512"
}The following example is a Refund response:
{
"AC": "",
"ARC": "",
"IAD": "",
"TSI": "",
"approval": "approved",
"authCode": "551807",
"authorizedAmount": "2520",
"batchJulianDay": "25092",
"batchNumber": "000001",
"cardBrand": "MASTERCARD",
"cardToken": "2223603006060329",
"cardTypeProcessed": "1",
"cardholderReceipt": "\n\n\nMerc. ID: 9999999\nTerm. ID: 009\nRRN: 000000022016\nTax Number: 0\nFri,Apr 04,2025 02:20:16\n\n REFUND\n\n APPROVED\n\n No Signature Required\n\nMASTERCARD\n\nAMOUNT $25.20\nSUBTOTAL $25.20\n ____________________\nTOTAL $25.20\n\nTran ID:0920000011000008\nBatch#: 092-001\nApproval Code: 551807\n\n Customer copy\n Thank You\n Please Come Again\n",
"currencyCode": "USD",
"cvm": "NO CVM",
"dateTime": "04-04-2025 02:20:16",
"demoMode": "no",
"entryMode": "None",
"expDate": "2512",
"footerLine1": "Thank You",
"footerLine2": "Please Come Again",
"hostError": "00000",
"merchantID": "9999999",
"merchantReceipt": "\n\n\nMerc. ID: 9999999\nTerm. ID: 009\nRRN: 000000022016\nTax Number: 0\nFri,Apr 04,2025 02:20:16\n\n REFUND\n\n APPROVED\n\n No Signature Required\n\nMASTERCARD\n\nAMOUNT $25.20\nSUBTOTAL $25.20\n ____________________\nTOTAL $25.20\n\nTran ID:0920000011000008\nBatch#: 092-001\nApproval Code: 551807\n\n Merchant copy\n Thank You\n Please Come Again\n",
"operation": "Transaction",
"reference": "000000022016",
"requestedAmount": "2520",
"responseCode": "00",
"result": "0",
"shift": "0",
"signatureRequired": "no",
"table": "0",
"taxAmount": "0",
"terminalID": "009",
"totalAmount": "2520",
"transactionID": "0920000011000008",
"transactionType": "REFUND",
"type": "REFUND",
"uniqueTransactionId": "700000014312009174370801600000"
}