Skip to main content
Understanding payment flows is essential for building reliable payment integrations. This guide explains the complete payment flow from initiation to completion, including error handling and edge cases.

Standard Payment Flow

Step-by-Step Flow

1

1. Create Recipient (Optional)

If recipient doesn’t exist, create recipient record with bank account details.
2

2. Initiate Payment

Create payment quote by calling the initiate endpoint.
3

3. Review Quote

Review the payment quote including:
  • Payment amount
  • Fees breakdown
  • Exchange rate (if applicable)
  • Total amount to deduct
  • Quote expiration time
4

4. Confirm Payment

Confirm the payment using quote ID and reference.
5

5. Payment Processing

Pooler processes the payment:
  • Validates payment details
  • Checks account balance
  • Selects payment route
  • Initiates transfer through payment network
6

6. Payment Completion

Payment is completed and recipient receives funds.

Payment States and Transitions

State Descriptions

Error Handling

Common Errors and Handling

Insufficient Balance
Invalid Recipient
Quote Expired

Error Flow Diagram

Webhook Events in Payment Flow

Webhook Handling Example

Payment Retry Strategies

When to Retry

Retry payments in these scenarios:

Retry Implementation

Best Practices

  • Review payment quotes before confirming to understand all costs.
  • Implement logic to handle expired quotes and create new ones.
  • Set up webhooks for real-time payment status updates instead of polling.
  • Implement retry logic for transient failures with exponential backoff.
  • Regularly check payment status for pending payments.
  • Reconcile payments daily to catch issues early.