Implement refunds from your backend

It is not required that merchants can request refunds from your backend. You can also implement them in your app or you can have a 'manual' process where merchants contact you (via mail or phone) for refunds.

Check the refund status of a transaction

The refund rules for 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.
  • The 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 for yourself.

Card Not Present Refund (WITHOUT_CARD)

For Card Not Present refund, the card of the shopper does not have to be read again by the reader.

POST to /v2/transactions/{transactionIdentifier}/refunds as shown below. 

post /v2/transactions/{transactionIdentifier}/refunds Try it out! Request
  "customIdentifier": "My identifier",
  "subject": "string"

Refund receipts

You have to enable the merchant to send a receipt for a successful refund.