Supported webhooks
v1/sepa-direct-debit-collections
OAuth scope: sepa_direct_debit.read
Webhook that delivers events related to SEPA Direct Debit collections.
Supported events:
on_hold— The payment was collected and entered the guarding period.completed— The collection amount was successfully collected and settled.failed— The collection did not succeed. data.event is “failed” (unified from declined/rejected/canceled); data.status stays fine-grained.returned— The collection was credited but reversed by the bank (settlement to D+5).refunded— The collection was credited but reversed following a client request (settlement up to 8 weeks).
WEBHOOK
This topic delivers events related to SEPA Direct Debit collections.
Events:
completed— The collection amount was successfully collected and settled.failed— The collection did not succeed. For internal statuses declined, rejected, or canceled, the webhook setsdata.eventto"failed"so subscribers see a single event type;data.statusremains fine-grained (e.g.rejected).data.status_reasonindicates why (e.g.insufficient_funds,amount_limit_reached,no_mandate).returned— The collection had been credited but was reversed by the debtor’s bank (R-transaction). Typically from settlement up to D+5. Bank-triggered.refunded— The collection had been credited but was reversed following a request by the client (debtor). Typically from settlement up to 8 weeks. Client-triggered.
data.direct_debit_subscription_id is included so you can correlate the collection with an SDD subscription. Allowed values for status_reason are documented in the API reference.
Authorizations
The signature header follows the format t={timestamp},v1={signature}.
Verification steps:
- Extract the timestamp and signature from the signature header
- Reject the request if the timestamp is older than 5 minutes
- Recreate the signed payload: '{timestamp}.{raw_request_body}'
- Compute HMAC-SHA256 of the signed payload using your webhook secret as the key
- Compare the computed signature with the one in the header
Body
application/json
Webhook payload for topic v1/sepa-direct-debit-collections. Events: on_hold (collected, guarding period), completed (amount collected and settled), failed (declined/rejected/canceled — data.event is "failed", data.status stays fine-grained), returned (bank-triggered reversal, settlement to D+5), refunded (client-triggered reversal, settlement up to 8 weeks).
Response
200
Webhook received successfully