Payouts Overview
Send money directly to beneficiaries via bank transfers, mobile money, and other payment methods
Payouts Overview
The Payouts API enables you to send money directly to beneficiaries through various payment methods including bank transfers, mobile money, and digital wallets. This is ideal for disbursements, refunds, rewards, and incentive payments.
Overview
Payouts allow you to:
- Send money globally - Transfer funds to beneficiaries in multiple countries and currencies
- Multiple payment rails - Bank transfers, mobile money, digital wallets, and more
- Real-time tracking - Monitor payout status from creation to completion
- Beneficiary management - Save and reuse beneficiary information for recurring payments
Quick Start
- Create Beneficiaries - Save beneficiary information for reuse
- Create a Payout - Initiate a money transfer
- Track Status - Monitor payout progress
Available Endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/v1/beneficiaries | List saved beneficiaries |
| POST | /api/v1/beneficiaries | Create a new beneficiary |
| GET | /api/v1/beneficiaries/:id | Get beneficiary details |
| DELETE | /api/v1/beneficiaries/:id | Delete a beneficiary |
| GET | /api/v1/payouts | List payouts |
| POST | /api/v1/payouts | Create a new payout |
| GET | /api/v1/payouts/:id | Get payout details |
| POST | /api/v1/payouts/:id/cancel | Cancel a payout |
Payout Lifecycle
Payouts progress through the following statuses:
created → queued → processing → settling → completed
↓ ↓
failed action_requiredStatus Definitions
| Status | Description | Terminal |
|---|---|---|
created | Payout created, wallet deducted | No |
queued | Queued for processing | No |
processing | Being processed by payment provider | No |
settling | Funds are settling with beneficiary | No |
action_required | Additional action needed (e.g., verification) | No |
completed | Successfully delivered to beneficiary | Yes |
failed | Payout failed, wallet refunded | Yes |
cancelled | Cancelled by client, wallet refunded | Yes |
expired | Payout expired before completion | Yes |
Fees and Charges
Payout fees vary by provider and are calculated based on:
- Fixed fees - A flat amount per transaction
- Percentage fees - A percentage of the payout amount
- Combined fees - Both fixed and percentage components
Fee information is included in the payout response after creation.
Currency Support
Each payout provider supports specific currencies. The supported currencies are returned in the provider details. Common supported currencies include:
- USD, EUR, GBP (Major currencies)
- INR, NGN, KES, GHS (Regional currencies)
- And many more based on provider coverage
Best Practices
Before Creating Payouts
- Verify provider availability - Check that a suitable provider exists for the destination country/currency
- Validate beneficiary info - Ensure all required identifiers are provided
- Check wallet balance - Confirm sufficient funds including fees
During Processing
- Use unique reference IDs - Prevent duplicate payouts with idempotent references
- Handle async processing - Implement polling or webhooks for status updates
- Store payout IDs - Save returned IDs for tracking and reconciliation
Error Handling
- Check failure reasons - Failed payouts include detailed error information
- Implement retries - Some failures are temporary and can be retried
- Monitor completion rates - Track success metrics for each provider/corridor
Security Considerations
- Always use HTTPS for all API communications
- Validate beneficiary data before creating payouts
- Implement fraud checks for unusual payout patterns
- Use webhooks securely with signature verification
Next Steps
- Create a Beneficiary - Save beneficiary information
- Create Your First Payout - Send money to a beneficiary