Transaction Refund

If you want to return the amount which you debited from your customer's account/card, for example if they returned an item, then you need to refund the transaction.

For Payments that support separate authorization and capture, you can only refund a transaction after it has been captured. Transactions that have not yet been captured can be Cancel instead of Refund.

Supported Payment Methods

Novalnet will support refund for all the available payments.

How does it work?

Most of the Payments support both Partial and Full Refunds. However, You can initiate a Partial refund if you want to refund only the part of the amount to your customer. You can also perform multiple (partial) refunds, as long as their sum doesn't exceed the transaction amount. To Refund the transaction, you can use anyone the following options.

  • Execute an API call
  • Refund a Transaction in the Novalnet Admin Portal

The refund can be executed only if there was a charge at endcustomer/money transfer to our account. For some payments (like Direct Debit SEPA, bank transfer, invoice payment, etc.) the charge at endcustomer/money transfer to our account occurs delayed. So for those payments, if the refund action is triggered before the charge/money transfer, then the transaction will be cancelled at Novalnet. At that time, neither the charge/money transfer will occur nor the follow up transactions will be created.

In such cases, the transaction.status will be DEACTIVATED and the original tid will be returned in the transaction.tid without the refund.payment_type parameter in the refund object of the webhook notification.

Execute an API call

  • Make a request to the /transaction/refund endpoint by specifying the tid (a unique transaction ID of the authorized transaction) and the amount (the amount for which the refund has to be initiated).
    • tid A unique transaction ID of the authorized transaction
      amount For Partial Refunds, the amount has to be specified here

      If the amount parameter is not specified in your request, then our system will consider do the FULL refund of the transaction amount.

    • You will receive the response containing the result object.

Refund a Transaction in the Novalnet Admin Portal

  1. Log in to your Novalnet Admin Portal
  2. Go to the menu Search, search for the TID to be changed and open the detail window of the respective transaction
  3. Select the Refund/Reversal/Change status tab
  4. Then, in the Refund/Reversal amount field specify the amount and click on the Refund/Reversal now button and click on the Ok button in the alert

REFUND Notification

Once we have processed your Refund request, we will send you a notification with event.type value as TRANSACTION_REFUND

Webhook
{
   "event": {
      "checksum": "3ddf5548991311e9eb137fb9f0411d2290b8dae4168763385e1738a63c8f7e10",
      "tid": ###NOVALNET_TID###,
      "parent_tid": ###NOVALNET_PARENT_TID###,
	  "event_type":"TRANSACTION_REFUND" 
   },
   "result" : {
      "status" : "SUCCESS",
	  "status_code": 100,
      "status_text": "Successful"
   },
   "transaction" : {
      "amount" : 2500,
      "currency" : "EUR",
      "order_no": "###TRANSACTION_ORDER_NUMBER###",
	  "payment_type": "CREDITCARD",
      "refund" : {
         "amount" : 500,
         "currency" : "EUR",
         "payment_type" : "CREDITCARD_BOOKBACK",
         "tid" : ###NOVALNET_TID###
      },
      "refunded_amount" : 500,
      "status": "CONFIRMED",
	  "status_code": 100,
	  "test_mode": ###TEST_MODE###,
      "tid" : ###NOVALNET_PARENT_TID###
   },
    "custom" : {
		"input1": "###INPUT1###",
		"inputval1": "###INPUTVAL1###",
		"###INPUT1###": "###INPUTVAL1###"
	},
   "merchant": {
		"project": 6120,
		"project_name": "Developer Portal",
		"project_url": "https://developer.novalnet.de",
		"vendor": 4
  }
}

For more information please refer to the Webhook Notification.