Skip to content
Last updated

Webhook Events

Each webhook will contain an adfin-webhook-type header, which helps to identify the type of event being processed. You can use this information to build the appropriate logic in your platform to handle each event type effectively. Ensure that you verify the webhook signature to confirm the event’s authenticity before processing it (see Webhook Signature Verification Guide).

Biller webhooks

Header information:
adfin-webhook-type: biller

{
  "type": "BILLER_CREATED",
  "billerId": "ed0ce9fc-550e-4e2a-af56-7e457dd70dd8"
}

Customer webhooks

Header information:
adfin-webhook-type: customer

{
  "type":"CUSTOMER_CREATED",
  "eventId": "965ed90d-afc3-49b3-b60f-7a6eccd100cd",
  "billerId":"0bfe8c7e-116c-4c70-abd5-73cba6954f9c",
  "userId":"08b0706f-ca9c-4698-aaa1-2c5e46d8e410",
  "customerId":"cbd677d4-bcfa-46b4-be33-26d1d375ebd3"
}

Invoice webhooks

Header information: adfin-webhook-type: invoice

{
  "type": "INVOICE_CREATED",
  "eventId": "965ed90d-afc3-49b3-b60f-7a6eccd100cd",
  "billerId": "0bfe8c7e-116c-4c70-abd5-73cba6954f9c",
  "userId": "08b0706f-ca9c-4698-aaa1-2c5e46d8e410",
  "invoiceId": "91279ba0-9a24-4e8f-9c36-b0691e74c72b"
}

Direct debit webhooks

Header information:
adfin-webhook-type: dd-mandate

{
  "type": "DIRECT_DEBIT_MANDATE_INITIATED",
  "eventId": "965ed90d-afc3-49b3-b60f-7a6eccd100cd",
  "billerId": "0bfe8c7e-116c-4c70-abd5-73cba6954f9c",
  "userId": "08b0706f-ca9c-4698-aaa1-2c5e46d8e410",
  "customerId": "9861c08f-f3a1-4891-9137-254d8b341665",
  "directDebitMandateId": "60d7b5e5-759d-4af1-9224-ca0082c5f1ad"
}

Payment webhooks

Header information:
adfin-webhook-type: payment

{
  "type": "PAYMENT_SENT",
  "eventId": "965ed90d-afc3-49b3-b60f-7a6eccd100cd",
  "billerId": "0bfe8c7e-116c-4c70-abd5-73cba6954f9c",
  "userId": "08b0706f-ca9c-4698-aaa1-2c5e46d8e410",
  "paymentId": "60d7b5e5-759d-4af1-9224-ca0082c5f1ad",
  "paymentRequestId": "5c678ac8-b6f1-4e93-ac58-a4664e044023"
}

Security best practices for all events

  • Verify signatures: Always verify the webhook signature using the shared secret before processing the event payload.
  • Logging: Log incoming webhook events and their responses for audit purposes and troubleshooting.
  • Retry mechanism: Implement a retry mechanism in case of webhook delivery failure.