Webhooks

Webhooks in Walapay serve as a powerful mechanism for real-time notifications, enabling your application to react promptly to various events and status updates.

Event Types

These are all the events that you can receive:

EventDescription
customer.createdTriggered when a customer is created
customer.updatedTriggered when a customer is updated (this includes KYC/KYB status)
account.createdTriggered when an account (external or virtual) is created
account.updatedTriggered when an account (external or virtual) is updated
account.depositTriggered when an account (virtual) receives a deposit
payment.createdTriggered when a payment is created
payment.updatedTriggered when a payment is updated (completed, failed, or refunded)

Sending schedule

We attempts to deliver each webhook message based on a retry schedule with exponential backoff:

  • Immediately
  • 5 seconds
  • 5 minutes
  • 30 minutes
  • 2 hours
  • 5 hours
  • 10 hours
  • 10 hours (in addition to the previous)

If an endpoint is removed or disabled delivery attempts to the endpoint will be disabled as well.

For example, an attempt that fails three times before eventually succeeding will be delivered roughly 35 minutes and 5 seconds following the first attempt.

Configuring Your Webhooks

To start receiving webhook notifications, you'll need to create the webhook using our API. Here are some steps and best practices for setting up your webhook listener:

  • Secure Your Endpoint: Ensure your endpoint is secured using HTTPS to protect the data integrity and confidentiality of the webhook communications.
  • Verify Webhook origin: Walapay signs each webhook request. Verifying these signatures on your server is crucial for ensuring that the requests are genuinely from Walapay and not a third party. Alternatively, you can also provide a key/value pair when creating the endpoint that will be included in header of the webhook event and then accepted or rejected by your server.
  • Set Up Endpoint for Each Webhook Type: Depending on your needs, you might set up a single endpoint to handle all webhook types or separate endpoints for different types of notifications for easier management.