Listening for Internal Transfers Webhooks

An internal transfer webhook sends real-time notifications to your system about key internal transfer events, such as initiation, completion, or failure, enabling automated updates without manual intervention.

Webhook Types

In the internal transfer workflow you should expect to receive the following webhooks:

EventDescription
bvnk:payment:transfer:status-changeThe transfer has transitioned to a new state.

Data Types

FieldDescription
eventThe type of event triggering the webhook.
eventIdA unique identifier for the event.
timestampThe timestamp of when the event occurred.
data.statusThe status of the transfer.
data.customerReferenceA customer-specific reference for the transaction (optional).
data.transactionReferenceA unique reference for the transaction.
data.paymentReferenceA reference code for the payment.
data.valueDateThe date the transaction was valued.
data.amount.valueThe value of the transaction amount.
data.amount.currencyCodeThe currency code of the transaction amount.
data.fee.valueThe value of the transaction fee.
data.fee.currencyCodeThe currency code of the transaction fee.
data.originator.walletIdThe wallet ID of the originator.
data.originator.accountReferenceA unique reference for the account of the originator.
data.originator.entity.typeThe type of originator entity.

Possible values:

- INDIVIDUAL
- COMPANY
data.originator.entity.nameThe name of the originator (for companies).
data.originator.entity.firstNameThe first name of the originator (for individuals).
data.originator.entity.lastNameThe last name of the originator (for individuals).
data.beneficiary.walletIdThe wallet ID of the beneficiary.
data.beneficiary.accountReferenceA unique reference for the account of the beneficiary.
data.beneficiary.entity.typeThe type of beneficiary entity.
data.beneficiary.entity.nameThe name of the beneficiary (for companies).
data.beneficiary.entity.firstNameThe first name of the beneficiary (for individuals).
data.beneficiary.entity.lastNameThe last name of the beneficiary (for individuals).

Webhook Examples

For example:

{
   "event": "bvnk:payment:transfer:status-change",
   "eventId": "0193ba8c-74f4-7bd3-a2fb-00e43851577c",
   "timestamp": "2024-12-12T11:06:27.444216650Z",
   "data": {
      "fee": {
         "value": 0,
         "currencyCode": "EUR"
       },
      "amount": {
         "value": 10,
         "currencyCode": "EUR"
      },
      "status": "COMPLETED",
      "valueDate": "2024-12-12",
      "originator": {
         "entity": {
            "type": "INDIVIDUAL",
            "lastName": "John",
            "firstName": "Doe"
         },
         "walletId": "a:24103136208222:wSFXcWf:1",
         "accountReference": "3399c975-e1c1-4acf-9a90-6cfbdcdeaaea"
      },
      "beneficiary": {
         "entity": {
            "name": "Test Ltd",
            "type": "COMPANY"
         },
         "walletId": "a:24082935226274:do8hboJ:1",
         "accountReference": "3399c975-e1c1-4acf-9a90-6cfbdcdeaaea"
      },
      "paymentReference": "REF124903",
      "transactionReference": "13584355-b879-11ef-982c-e1c33615f5a8"
   }
}