Payment Intent Statuses
A Payment Intent goes through several statuses during its lifecycle:Status Flow
Checkout Session Statuses
Disbursement Statuses
Disbursements (payouts to customers) have the following statuses:Remittance Statuses
Remittances (transfers) follow the same pattern:Handling Different Statuses
Successful Payments
When a payment reachessucceeded:
Failed Payments
When a payment fails, check thefailure_message:
Processing Payments
While a payment isprocessing:
Failure Messages
When a payment fails, thefailure_message field provides details:
Webhook Events by Status
Best Practices
- Always handle all statuses - Don’t assume payments will always succeed
- Use webhooks for reliability - Don’t rely only on synchronous responses
- Log status changes - Keep a history for debugging and support
- Show clear messages - Help users understand what happened and what to do next
- Implement retry logic - Allow customers to retry failed payments
For testing different statuses, use the test numbers in the sandbox environment.