Skip to main content
In-Store Payments

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.
Attention

If you choose to support tokenized refunds in Canada, you must also support unreferenced refunds to process refunds for Interac.

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:

Properties of a refund operation

Item

Description

Operation name displayed on a terminal

Refund

Operation name displayed on a receipt

REFUND

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:

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 the Payment Terminal Application. 
  • The first 22 characters (left justified) are used for reporting. 
  • This field is alphanumeric.

Optional

printReceipt

Applies to receipts printed by the payment terminal device or a printer attached to it.

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

Value:

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

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"
}
Is this page helpful?