Banked provides several webhook notifications to keep you informed about the status of a refund. These webhooks allow you to track the progress of a refund from initiation to completion or failure.
This guide will explain the following:
- Refund Webhook Types: Overview of the different webhook types available.
- Refund Webhook Payloads: Detailed examples of the JSON payloads for each refund webhook type.
Refund Webhook Types
Below is a summary of the available webhook types for Mandate and AccountToAccount refunds:
Webhook | Description |
---|---|
Refund Pending | Indicates that the Refund has been authorized but Banked has not yet received confirmation that the Refund has left the merchant's account. |
Refund Sent | Indicates that the Refund has left the merchant's account and is now within the Refund network. |
Refund Failed | Indicates that the Refund was not authorized by the merchants's account. |
Each webhook includes a JSON payload with detailed information about the Refund. Refer to the sections below to view examples and learn more about each webhook type.
Refund Webhook Payloads
Below are examples of the JSON payloads for each refund webhook type for both Mandate and AccountToAccount refunds. Note that the structure of the payloads is similar besides the mandate
field, which is only present for mandated refunds.
Refund Pending
The Refund Pending notification indicates that the Refund
has yet to be concluded.
The JSON below shows an example of a pending
notification payload:
{ "data": { "amount": 1, "created_at": "2025-05-22T10:26:55.815053234Z", "currency": "AUD", "debtor_account": { "account_type": "BANKED_BANK_ACCOUNT_ENTITY", "bank_account_id": "71dd52df-b05b-41fb-9a28-16c543a1abf6" }, "expiration": "2025-06-21T10:26:55.815054084Z", "id": "eec4e4be-40ce-4c81-a6bc-3e24f1ad0667", "mandate": { // Note: this field is returned only for mandated refunds "id": "3f80b430-4127-46f9-a86f-3ce18a02a53d" }, "metadata": { "key1": "value", "key2": "value" }, "original_payin_information": { "amount": 10000, "id": "82a649c5-af14-474a-997a-b25b0d3f45be" }, "payment_identification": { "end_to_end_identification": "end-to-end-id" }, "remittance_information": { "structured": { "creditor_reference_information": { "reference": "" } } }, "status_details": { "status": "PENDING" }, "updated_at": "2025-05-22T10:26:55.863891998Z" }, "id": "3a7e0e66-3b15-496a-8948-458a0a50488e", "type": "refund_pending", "version": "v3" }
Refund Sent
The Refund Sent notification indicates that the Refund
has been successfully concluded.
The JSON below shows an example of a sent
notification payload:
{ "data": { "amount": 1, "created_at": "2025-05-22T10:26:55.815053234Z", "currency": "AUD", "debtor_account": { "account_type": "BANKED_BANK_ACCOUNT_ENTITY", "bank_account_id": "71dd52df-b05b-41fb-9a28-16c543a1abf6" }, "expiration": "2025-06-21T10:26:55.815054084Z", "id": "eec4e4be-40ce-4c81-a6bc-3e24f1ad0667", "mandate": { // Note: this field is returned only for mandated refunds "id": "3f80b430-4127-46f9-a86f-3ce18a02a53d" }, "metadata": { "key1": "value", "key2": "value" }, "original_payin_information": { "amount": 10000, "id": "82a649c5-af14-474a-997a-b25b0d3f45be" }, "payment_identification": { "end_to_end_identification": "end-to-end-id" }, "remittance_information": { "structured": { "creditor_reference_information": { "reference": "" } } }, "status_details": { "status": "SENT" }, "updated_at": "2025-05-22T10:26:55.863891998Z" }, "id": "3a7e0e66-3b15-496a-8948-458a0a50488e", "type": "refund_sent", "version": "v3" }
Refund Failed
The Refund Failed notification indicates that the Refund
was unsuccessful.
The JSON below shows an example of a failed
notification payload:
{ "data": { "amount": 1, "created_at": "2025-05-22T10:26:55.815053234Z", "currency": "AUD", "debtor_account": { "account_type": "BANKED_BANK_ACCOUNT_ENTITY", "bank_account_id": "71dd52df-b05b-41fb-9a28-16c543a1abf6" }, "expiration": "2025-06-21T10:26:55.815054084Z", "id": "eec4e4be-40ce-4c81-a6bc-3e24f1ad0667", "mandate": { // Note: this field is returned only for mandated refunds "id": "3f80b430-4127-46f9-a86f-3ce18a02a53d" }, "metadata": { "key1": "value", "key2": "value" }, "original_payin_information": { "amount": 10000, "id": "82a649c5-af14-474a-997a-b25b0d3f45be" }, "payment_identification": { "end_to_end_identification": "end-to-end-id" }, "remittance_information": { "structured": { "creditor_reference_information": { "reference": "" } } }, "status_details": { "reason": { "code": "MANDATE_INELIGIBLE_AMOUNT_EXCEEDED", "message": "Amount Requested Exceeds Mandate Limit" }, "status": "FAILED" }, "updated_at": "2025-05-22T10:26:56.086017458Z" }, "id": "7095c887-b186-4f9a-8788-2128d4ab5303", "type": "refund_failed", "version": "v3" }