Skip to content

    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.

    Complete Refund via TAN flow

    Refund via TAN flow

    Was this helpful?

    What was your feeling about it?