Refunds via TAN
A __Refund__ transaction must be requested when an end-customer has executed successfully a full/partial return of goods from an existing order.
Prerequisites for TAN Refunds
You need:
a configured bank account with defined TAN scheme
Your bank account has to be successfully set up in the Merchant Center and activated prior to requesting any refunds.
The TAN scheme for the activated bank account has to be specified.
a successful Debit or Capture transaction
An existing Debit or Capture transaction in Success
status has to be in place for the order for which you want to request a refund.
Overview of Refunds via TAN
Definition
A Refund transaction via TAN can be defined as a special case of a general Refund transaction for which it is required to enter a TAN every time you want to execute such transaction.
Ways of Execution
TAN refunds can be executed in two ways: via API and via Merchant Center.
For API execution all TAN schemes excluding photo TAN are possible.
For Merchant Center execution refunds are only possible with iTAN and mTAN (SMS TAN).
Payment Methods requiring TAN Refunds
For the following payment methods refund transactions are possible only via using TAN:
- SEPA
- SOFORT
- Prepayment
- Giropay
For the payment method Giropay refunds via TAN are not yet implemented but they are on the road-map for implementation.
The process flows of TAN refunds are identical when executed via API, regardless of the payment method: the process flow described below is valid for all affected payment methods.
The only difference between two similarly executed TAN refunds is the use of different TAN schemes depending on the supported TAN scheme of your bank account.
TAN Refunds Execution via API
A Refund transaction requiring a TAN, executed via API, can be presented as a process that consists of the following steps:
Step 1
When an end-customer requests a refund for successfully returned goods from an existing order, you have to initiate the Create Refund request:
POST/v1/orders/{orderId}/transactions/{transactionId}/refund
Create Refund Request
{ "description": "description for transaction.", "initialAmount": 2500, "currency": "EUR",
Step 2 - Refund response
As a result of the Refund request for the payment methods requiring TAN, the status of the Refund transaction will change to PENDING
. The Create Refund response will contain an element Challenge
with the TAN instructions.
Refund response
{ "createdAt": 1549300655090, "modifiedAt": 1549300655090, "type": "REFUND",
Note: The content of the Challenge
element will be specific for different TAN schemes.
Step 3 - Request for transmitting the TAN
To update the Refund transaction, you must transmit the required TAN in a subsequent request:
PATCH/v1/orders/{orderId}/transactions/{transactionId}
Refund Transaction Update
{ "meta": { "tan": "32154" }
Step 4 - Response after transmitting the TAN
After transmitting the TAN, there are two possible results:
- status of Refund transaction is
SUCCESS
- status of Refund transaction is
FAILURE
In both cases, the merchant will be informed accordingly by Payengine.