Implement refunds

It is not required that merchants can request refunds within your app. You can also 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. To prevent unauthorized usage, the Card Not Present refund should be protected by a password. An UI for this could look like this:

For Card Not Present Refunds we offer an API call. POST to /v2/transactions/{transactionIdentifier}/refunds as shown below. You should protect this feature with a password (see the UI above) to prevent unauthorized refunding.

Make sure the amount and the currency match those of the original transaction.

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

Refund receipts

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

It is strongly recommend that a merchant can refund transactions right in your solution.

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 shoper does not have to be read again by the reader. To prevent unauthorized usage, the Card Not Present refund should be protected by a password. An UI for this could look like this:

For Card Not Present Refunds we offer an API call. POST to /v2/transactions/{transactionIdentifier}/refunds as shown below. You should protect this feature with a password (see the UI above) to prevent unauthorized refunding.

Make sure the amount and the currency match those of the original transaction.

post /v2/transactions/{transactionIdentifier}/refunds Try it out! Response
{
  "amount": "108.20",
  "customIdentifier": "My identifier",
  "subject": "string",
  "currency": "EUR"
}

Refund receipts

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

 

Can we help you?

If you cannot find your answer, contact us and we'll get in touch with you soon.

© Copyright 2017 Payworks GmbH. Legal.