How It Works
- Configure your notification URL when creating the payout payment using the
notification_urlparameter - Receive notifications automatically when payout status changes
- Process the payload containing the complete payout details
- Return a 200 OK response to acknowledge receipt
Setting Up Webhooks
To receive webhook notifications for payout transactions, include thenotification_url parameter when creating a payment:
notification_url field in the request body when creating a payment. Each payment can have its own notification URL, allowing you to route notifications to different endpoints based on your needs.
Webhook Payload
When a payout status changes, you’ll receive a POST request with the following data:Response Fields
Payout IDExample:
2322977Payout invoiceExample:
575e8327-f145-48ff-b207-737eef2d6f3fPayout end-to-endExample:
END-TO-END-IDObject that contains the current status of your payout.
Last update of your payout.Format:
<date-time>Example: 2024-09-25 15:55:18This object will only be returned if the payout is canceled and the merchant is using the “Account Mismatch” functionality. It provides more details on the reason for the cancellation.
Example Payload
Status Codes
Common payout status codes:| Status ID | Status Name | Description |
|---|---|---|
| 1 | Created | Payout has been created |
| 2 | Processing | Payout is being processed |
| 3 | Paid | Payout has been paid successfully |
| 4 | Failed | Payout failed |
| 5 | Rejected | Payout rejected by compliance |
| 6 | Cancelled | Payout was cancelled |
Webhook Endpoint Requirements
Your webhook endpoint must:- Accept POST requests - All webhook notifications are sent via POST
- Use HTTPS - Only secure HTTPS URLs are accepted
- Return 200 OK - Respond with a 200 status code within 5 seconds
- Be publicly accessible - The endpoint must be reachable from the internet
Best Practices
Always Respond 200 OK: Your endpoint must respond with HTTP 200 to acknowledge receipt. Otherwise, WEpayments will retry sending the webhook.
Re-submission Policy:
INVALID_DATA: You may resubmit the same payload in a new request only if the payment status is INVALID_DATA. This status occurs when banking details are incorrect (provided validation is enabled for the merchant).
Other Statuses: All other statuses will trigger a duplication block if an invoice with the same data already exists.

