You can implement refunds from your backend. However, it is not required that merchants request refunds from your backend. You can also
implement refunds in your app or you can use a manual process where merchants contact you via mail or phone for refunds.
Check the Refund Status of a Transaction
The rules for refund status and process depend on your acquiring contract. The refund details for a transaction specify the:
Refund status (refundable or not refundable). This may change at certain times of the day, e.g., midnight.
Refund process (card not present or card present).
For a specific transaction, you can retrieve the refund status by
querying the platform. The response contains the refund details:
"refundDetails": {
"status" : "REFUNDABLE_FULL_ONLY", // can also be NON_REFUNDABLE, REFUNDED.
"process" : [ "WITHOUT_CARD" ] // can also contain SAME_CARD or ANY_CARD
}
If the process contains multiple options, you are free to choose one. As these details may change over time, don't cache the refund details or calculate them yourself.
For Card Not Present refund (
WITHOUT_CARD
, the card of the shopper does not have to be read again by the reader.
POST to
/v2/transactions/{transactionIdentifier}/refunds
as shown below. You can refund less than the total amount of the transaction (partial refund). In total, you can refund up to the original transaction's amount.
Make sure the currency of the refund matches the currency of the original transaction.
post
/v2/transactions/{transactionIdentifier}/refunds
Try it out! Request
{
"amount": "108.20",
"currency": "EUR",
"customIdentifier": "My identifier",
"subject": "string"
}
You must enable the merchant to
send a receipt for a successful refund.