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
Use the Sandbox environment to test your webhook setup before moving to production.-
Create a Sandbox Account:
Sign up for a Sandbox account to start testing your integration. -
Get API Key:
Go to the Sandbox Merchant Panel → Settings → API Key section to generate your Sandbox API key. -
Configure Webhook URLs:
In the Sandbox Merchant Panel → Settings → Redirect/Webhook section, you’ll find fields to enter your test endpoint:- Webhook URL:
The endpoint that receives specific event webhooks for payment status updates (e.g.,payment.success,payment.failed).
Example:https://example.com/webhook
- Webhook URL:
Production
Once your Sandbox testing is complete, you can move to the Production environment. Before enabling your Production setup, please contact our support team to ensure your API and webhook configurations are properly activated.-
Create a Production Account:
Sign up for a Production account. -
Enable Production Access:
Contact our support team to request activation of your Production API and webhook setup. -
Get API Key:
Go to the Sandbox Merchant Panel → Settings → API Key section to obtain your Production API key. - Configure Webhook URLs: In the Sandbox Merchant Panel → Settings → Redirect/Webhook section, enter your live endpoint:
- Webhook URL:
The live endpoint that receives real-time event webhooks.
Example:https://yourapp.com/webhook
- Support Contacts:
If you need assistance during setup:
- Email: support@paywint.com
- Phone: +1 (408) 461-5543
Available Event Types
Below is the complete list of webhook events sent by Paywint.KYC Events
| Event Name | Description |
|---|---|
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.
Detailed Webhook Responses
For complete webhook payload examples and detailed field descriptions for each event type, see our Webhook Responses documentation page.Webhook Responses
View detailed webhook payload examples, field descriptions, and implementation guidance for all payment events.
