Webhooks

Webhook notifications allow you to efficiently track payments states, and enable you to automate communication internally or with your customers

Webhook notifications allow you to efficiently track payments states, and enable you to automate communication internally or with your customers. They are push notifications sent as webhook message to URLs you define. We do not recommend using webhooks as a replacement for reconciliation purposes, here we refer you to our Reconciliation report.

You can subscribe to several payment events. When one of these events is triggered, we send a HTTP POST request to a URL of your choice in a JSON format. Along with the event, data about the payment is included, which we refer to as the payload.

📘

Webhook SLA

Our webhook capabilities guarantee a 100% sending rate. However, successful receipt depends on the client endpoint being available and properly configured. If your system is temporarily unavailable or misconfigured, some webhook events may not be received.

Additionally, duplicate events may occur, so we recommend implementing idempotency checks where necessary.

If client-side errors occur, our retry mechanism will automatically attempt to resend the webhook. For more information, please see Webhook retry strategy.

Supported events

These are the events that you can subscribe to.

Payment event types

You can refer to the Payment lifecycle for additional context on how payments change from one status to another.

Event

Description

Enum

Supported Targets

IncomingPaymentProcessed

One of your accounts is successfully funded (this also includes internal credit transfers)

1

Account (0)
Company (1)

OutgoingPaymentRejected

One of your outgoing payments is rejected. The status of the payment is now Rejected

2

Account (0)
Company (1)

OutgoingPaymentProcessed

One of your outgoing payments is successfully processed (this also includes internal debit transfers). The status of the payment is now Processed

3

Account (0)
Company (1)

MissingFunding

One of your outgoing payments cannot be executed due to insufficient balance. The payment will be automatically executed when there are sufficient funds, or rejected after 2 business days. The status of the payment is now MissingFunding

4

Account (0)
Company (1)

Reversed

One of your outgoing payments is reversed. The status of the payment is now Reversed

5

Account (0)
Company (1)

OutgoingPaymentBooked

One of your outgoing payments is successfully booked on your account.

6

Account (0)
Company (1)

PaymentRouting

One of your outgoing payment is routed via other payment scheme. More details will be available in 'routingStatus' field.

7

Account (0)
Company (1)

IncomingPaymentBooked

One of your incoming payments is successfully booked on your account

8

Account (0)
Company (1)

OutgoingDirectDebitPendingProcessing

One of your accounts has an outgoing payment initiated by a third party (e.g. through Bacs or SEPA Direct Debit) that is pending processing.

10

Account (0)
Company (1)


Other event types

EventDescriptionEnumSupported Targets
AccountHolderVerificationThe response to an Account Verification Request. More information in Account Holder Verification.9CompanyGroup (2)
CaseEventsA case was created or updated.11Company (1)
AgencyBankingWhitelistResultThe result of a request to whitelist an account for Agency Banking payment processing.12Company (1)

Subscriptions and subscription events

Our setup is flexible: you can create one subscription for all (or some) event types or you can create separate subscriptions specific to an event type. You can also setup subscriptions at a company level or on a bank account level. Here are two examples to illustrate the different setups.

Example where multiple event types covering one company are subscribed to a single URL

Example where multiple event types covering one company are subscribed to a single URL

Example where each event type covering a subset of bank accounts is subscribed to a unique URL

Example where each event type covering a subset of bank accounts is subscribed to a unique URL