Refund notifications

Volt will send you one notification per refund request, which will detail its final status.  You’ll get a notification whether you initiated the refund from the API or in Fuzebox.

About the notification
  • This notification will be delivered to your payment notifications URL set up during the Application creation
  • As this is a Connect notification, the User-Agent will be Volt/2.0
  • It will contain an X-Volt-Type header containing refund_confirmed, refund_failed or refund_rejected so that you can easily identify the message format to process

Contrary to payment notifications, it is not possible to override the notification URL set up in Fuzebox in the refund request. Volt will always deliver the refund notifications to the URL defined in the application. 

Refund confirmed

If the refund was successful we’ll send you a confirmation notification with the X-Volt-Type header of refund_confirmed.

Headers
POST /payment_notification_url HTTP/1.1
Host: customer.com
Content-Type: application/json
User-Agent: Volt/2.0
X-Volt-Timed: 20200131123456
X-Volt-Signed: eda5e46baa6a676851975365e12b4ae61ee48442c0cbb8d0e3c3cfd47c3e1085
X-Volt-Type: refund_confirmed
Body
{
  "refund": "026cefa0-a174-4ca3-a1e6-533a129d9c32",
  "payment": "01dfb01b-c5ab-49e4-bfa4-277c766d5ecc",
  "status": "REFUND_CONFIRMED",
  "error": "",
  "amount": 100,
  "currency": "GBP",
  "externalReference": null,
  "merchantInternalReference": "Order for a trip to Greece 20-27.08.2023",
  "timestamp": "2022-05-12T12:41:12+00:00",
  "sender": {
    "iban": "DK8389009999910135",
    "swiftBic": "ALBPPLPW",
    "name": "test customer name"
  },
  "recipient": {
    "accountNumber": "12345678",
    "sortCode": "654321",
    "iban": "DE33500105173822933531",
    "swiftBic": "SXPYDKKKXXX",
    "name": "test recipient name"
  }
}

Refund failed

If the refund was not successful, we’ll send you a notification with the X-Volt-Type header of refund_failed, containing details of why the refund failed in the error field, if available.

Headers
POST /payment_notification_url HTTP/1.1
Host: customer.com
Content-Type: application/json
User-Agent: Volt/2.0
X-Volt-Timed: 20200131123456
X-Volt-Signed: eda5e46baa6a676851975365e12b4ae61ee48442c0cbb8d0e3c3cfd47c3e1085
X-Volt-Type: refund_failed
Body
{
  "refund": "83a15d24-02b8-11ed-b939-0242ac120002",
  "payment": "01dfb01b-c5ab-49e4-bfa4-277c766d5ecc",
  "status": "REFUND_FAILED",
  "error": "Payout processing has failed or was rejected by Cash Management Provider",
  "amount": 100,
  "currency": "GBP",
  "externalReference": null,
  "merchantInternalReference": "Order for a trip to Greece 20-27.08.2023",
  "timestamp": "2022-05-12T12:41:12+00:00",
  "sender": {
    "iban": "DK8389009999910135",
    "swiftBic": "ALBPPLPW",
    "name": "test customer name"
  },
  "recipient": {
    "accountNumber": "12345678",
    "sortCode": "654321",
    "iban": "DE33500105173822933531",
    "swiftBic": "SXPYDKKKXXX",
    "name": "test recipient name"
  }
}

Refund rejected

If the refund was rejected, we’ll send you a notification with the X-Volt-Type header of refund_rejected, containing details of why the refund was rejected in the error field, if available.

Header
POST /payment_notification_url HTTP/1.1
Host: customer.com
Content-Type: application/json
User-Agent: Volt/2.0
X-Volt-Timed: 20200131123456
X-Volt-Signed: eda5e46baa6a676851975365e12b4ae61ee48442c0cbb8d0e3c3cfd47c3e1085
X-Volt-Type: refund_rejected
Body
{
  "refund": "83a15d24-02b8-11ed-b939-0242ac120002",
  "payment": "01dfb01b-c5ab-49e4-bfa4-277c766d5ecc",
  "status": "REFUND_FAILED",
  "error": "Payout processing has failed or was rejected by Cash Management Provider",
  "amount": 100,
  "currency": "GBP",
  "externalReference": null,
  "merchantInternalReference": "Order for a trip to Greece 20-27.08.2023",
  "timestamp": "2022-05-12T12:41:12+00:00",
  "sender": {
    "iban": "DK8389009999910135",
    "swiftBic": "ALBPPLPW",
    "name": "test customer name"
  },
  "recipient": {
    "accountNumber": "12345678",
    "sortCode": "654321",
    "iban": "DE33500105173822933531",
    "swiftBic": "SXPYDKKKXXX",
    "name": "test recipient name"
  }
}