Developer

Partner Docs

Merchant Docs

Refund Webhooks

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:

  1. Refund Webhook Types: Overview of the different webhook types available.
  2. Mandated Refunds: Details on webhooks for refunds processed via mandates.
  3. AccountToAccount Refunds: Details on webhooks for refunds processed via direct

Refund Webhook Types

Below is a summary of the available webhook types:

WebhookDescription
Refund PendingIndicates that the Refund has been authorized but Banked has not yet received confirmation that the Refund has left the merchant's account.
Refund SentIndicates that the Refund has left the merchant's account and is now within the Refund network.
Refund FailedIndicates 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.

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:

json
{
  "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": {
      "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:

json
{
  "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": {
      "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:

json
{
  "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": {
      "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"
}

AccountToAccount 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:

json
{
  "data": {
    "amount": 1,
    "created_at": "2025-05-22T10:38:49.162980987Z",
    "currency": "AUD",
    "debtor_account": {
      "account_type": "BANKED_BANK_ACCOUNT_ENTITY",
      "bank_account_id": "06a1cb4b-f038-4d4d-b3f9-2114e31125a2"
    },
    "expiration": "2025-06-21T10:38:49.162981594Z",
    "id": "4690e5d4-5fcb-49e1-ad90-396dc48587c5",
    "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:38:50.25627009Z"
  },
  "id": "a8b2c56d-3ee8-4275-855e-2ecb36bfcf4c",
  "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:

json
{
  "data": {
    "amount": 1,
    "created_at": "2025-05-22T10:38:49.162980987Z",
    "currency": "AUD",
    "debtor_account": {
      "account_type": "BANKED_BANK_ACCOUNT_ENTITY",
      "bank_account_id": "06a1cb4b-f038-4d4d-b3f9-2114e31125a2"
    },
    "expiration": "2025-06-21T10:38:49.162981594Z",
    "id": "4690e5d4-5fcb-49e1-ad90-396dc48587c5",
    "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:38:52.816048392Z"
  },
  "id": "4bb35a16-b87e-4ac0-bf5a-2d062a9090cb",
  "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:

json
{
  "data": {
    "amount": 1,
    "created_at": "2025-05-22T10:38:49.162980987Z",
    "currency": "AUD",
    "debtor_account": {
      "account_type": "BANKED_BANK_ACCOUNT_ENTITY",
      "bank_account_id": "06a1cb4b-f038-4d4d-b3f9-2114e31125a2"
    },
    "expiration": "2025-06-21T10:38:49.162981594Z",
    "id": "4690e5d4-5fcb-49e1-ad90-396dc48587c5",
    "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": "BANK_REJECTED",
        "message": "Bank rejected"
      },
      "status": "FAILED"
    },
    "updated_at": "2023-03-31T17:24:38.763786Z"
  },
  "type": "refund_failed",
  "version": "v3"
}

© 2025 Banked Ltd.

Dark Theme
PrivacyTerms