Overview
This page explains the webhook feature and how to configure it. To start receiving webhook events, you need to set up a single URL endpoint that acceptsPOST
requests. This endpoint should be hosted on a server you control and able to handle the incoming webhook payloads.
All webhook events generated by the Paywint such as initiated
, processing
, success
, failed
, and rejected
— will be sent to the configured URL.
Where To Setup
Sandbox
To configure webhooks in the Sandbox environment:- Go to Sandbox Dashboard → URLs.
- Enter your webhook endpoint URL in the provided field.
Production
To configure webhooks in the Production environment:- Go to Production Dashboard → URLs.
- Enter your webhook endpoint URL in the provided field.
Available Event Types
Below is the complete list of webhook events sent by Paywint.KYC Events
Event Name | Description |
---|---|
kyc.pending | KYC verification is pending review. |
kyc.applied | User has submitted KYC details. |
kyc.approved | KYC verification has been approved. |
kyc.rejected | KYC verification has been rejected. |
kyc.failed | KYC verification has failed. |
kyc.completed | KYC process is completed. |
kyc.deleted | KYC record has been deleted. |
KYB Events
Event Name | Description |
---|---|
kyb.approved | KYB verification has been approved. |
kyb.rejected | KYB verification has been rejected. |
kyb.deleted | KYB record has been deleted. |
Wallet Funding Events
Event Name | Description |
---|---|
wallet.funding.initiated | Wallet funding request initiated. |
wallet.funding.processing | Wallet funding is in progress. |
wallet.funding.success | Wallet funding was successful. |
wallet.funding.failed | Wallet funding failed. |
wallet.funding.rejected | Wallet funding request rejected. |
Wallet Withdrawal Events
Event Name | Description |
---|---|
wallet.withdrawal.initiated | Wallet withdrawal initiated. |
wallet.withdrawal.processing | Wallet withdrawal is in progress. |
wallet.withdrawal.settling | Wallet withdrawal is being settled. |
wallet.withdrawal.success | Wallet withdrawal was successful. |
wallet.withdrawal.failed | Wallet withdrawal failed. |
wallet.withdrawal.rejected | Wallet withdrawal was rejected. |
Card Events
Event Name | Description |
---|---|
card.added | A new card has been added. |
card.images_uploaded | Card images have been uploaded. |
Payment Events
Event Name | Description |
---|---|
payment.initiated | Payment was initiated. |
payment.processing | Payment is being processed. |
payment.settling | Payment is being settled. |
payment.success | Payment was successful. |
payment.failed | Payment failed. |
payment.rejected | Payment was rejected. |
payment.refunded | Payment was refunded. |
payment.fee_refunded | Payment fee was refunded. |
Basic Structure
Field | Description |
---|---|
event | The type of event that occurred (e.g., kyc.applied ). |
id | A unique identifier for this webhook delivery. |
data | The event-specific payload object. |
eventGeneratedTime | UNIX timestamp (in seconds) when the event was generated. |
Delivery & Retry Behavior
If your webhook endpoint fails to return a2xx
HTTP response, Paywint will automatically retry delivery up to two more times, for a total of three attempts per event.
- Retries are sent within a predefined timeframe.
- If all attempts fail, Paywint will notify your account’s admin email with details of the failed event.
Note: To avoid missed events, ensure your webhook endpoint is highly available and returns 200 OK
quickly. Any internal processing should happen asynchronously to avoid missed events.