A payin represents any incoming payment into a wallet, whether it comes from bank transfers, cards, crypto networks, or internal transfers. These events allow you to:
- Reconcile incoming funds
- Update user balances
- Trigger business logic (e.g., grant access, release goods)
- Handle failures or cancellations
Payin Lifecycle
A payin moves through the following states:State Definitions
| State | Description | Types |
|---|---|---|
| PROCESSING | Funds received but not yet settled or confirmed | cardPayin |
| COMPLETED | Funds settled and credited to the wallet | cardPayin, bankPayin, cryptoPayin |
| FAILED | The funding process failed | cardPayin, bankPayin, cryptoPayin |
Available Webhook Events
Each state transition triggers a webhook event.| Event | Description |
|---|---|
| payin_processing | Notifies when a funding is pending confirmation |
| payin_completed | Notifies when a funding are fully settled and credited |
| payin_failed | Notifies when a funding has failed |
Payin Types
A payin can originate from different funding sources:| Type | Description |
|---|---|
| bankPayin | Bank transfer funding |
| cryptoPayin | Blockchain transfer |
| cardPayin | Card payment |
payinType field in the webhook payload identifies the origin of the funds.
Important Behavior
payin_completedguarantees funds are available in the wallet.- Only
COMPLETEDpayins increase the wallet balance. - Fees and FX conversion (if applicable) are already calculated in the payload.
- Always use
orderIdorown_referencefor reconciliation.