Prerequisites
Before you start, make sure you have:- Valid API credentials (see Authentication)
- Your API base URL
- A Sandbox or production account with sufficient balance
Step 1: Create a Beneficiary
First, create a beneficiary to receive the payout. A beneficiary represents a person or entity together with their payment account details. For NGN bank accounts,bankCode is the 3-digit CBN short code (e.g. 044) or the 6-digit NIP long code (e.g. 000014), and crAccount is the 10-digit account number.
string
Unique UUID for the created beneficiary
array
Array of payment accounts with their IDs and details
Step 2: Create Your First Payout
Now create a payout to your beneficiary. RECOMMENDED: Reference the beneficiary by ID (from Step 1). Currency Fields:inputCurrency is the currency debited from your account, while currency is what the beneficiary receives. When they differ, Zuba converts automatically; no separate quote is needed for this corridor:
senderInfo is optional. If omitted, your workspace is used as the business
originator; supply it only when paying out on behalf of a distinct third
party. Some corridors, such as mobile money in Ghana and Cameroon, require it.Step 3: Monitor Payout Status
Track your payout’s progress by checking its status:created → queued → processing → paid, so don’t be surprised to see created or queued if you poll immediately after creation. See Payout Statuses for detailed status definitions.
Step 4: Handle the Response
A successful payout response includes:inputAmount is the total charged in inputCurrency (including the fee), and fxRate is the rate applied to convert to the destination currency.
Error Handling
Common errors when creating payouts:Next Steps
- Learn about batch payouts for processing multiple payouts efficiently
- Set up webhook notifications to receive real-time payout updates
- Explore error handling for robust production implementations