Making Payments
Pay vendors, employees, and customers directly from your BudPay wallet. Send money to bank accounts across Nigeria, Kenya, and Ghana in seconds.
Why Use BudPay Payouts
| Benefit | What you get |
|---|---|
| Fast settlement | Transfers arrive in minutes, not days |
| Multi-currency | Pay in NGN, KES, or GHS from one dashboard |
| Bulk processing | Send thousands of payments in a single request |
| Built-in verification | Validate accounts before sending money |
| Real-time tracking | Know exactly when payments land |
How It Works
Step 1: Validate the recipient
Before sending money, verify the account exists and matches the intended recipient.
curl -X POST https://api.budpay.com/api/v2/account_name_verify \
-H "Authorization: Bearer YOUR_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{
"bank_code": "000013",
"account_number": "0050883605"
}'Response includes the account holder name for confirmation.
Step 2: Calculate the fee
Get the exact fee before initiating the transfer.
curl -X POST https://api.budpay.com/api/v2/payout_fee \
-H "Authorization: Bearer YOUR_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{
"currency": "NGN",
"amount": "50000"
}'Step 3: Send the payment
Initiate a single transfer or batch multiple payments together.
curl -X POST https://api.budpay.com/api/v2/bank_transfer \
-H "Authorization: Bearer YOUR_SECRET_KEY" \
-H "Encryption: Signature_HMAC-SHA-512" \
-H "Content-Type: application/json" \
-d '{
"currency": "NGN",
"amount": "50000",
"bank_code": "000013",
"bank_name": "GUARANTY TRUST BANK",
"account_number": "0050883605",
"narration": "Vendor payment"
}'Step 4: Track the status
Use the reference from the response to verify completion.
curl https://api.budpay.com/api/v2/payout/BUDPAY_REF_12345 \
-H "Authorization: Bearer YOUR_SECRET_KEY"Single vs Bulk Transfers
| Use case | Recommended method | Why |
|---|---|---|
| Customer refund | Single transfer | Immediate processing |
| Vendor payment | Single transfer | One-off transaction |
| Salary payments | Bulk transfer | Process hundreds at once |
| Commission payouts | Bulk transfer | Batch efficiency |
| Distributor payments | Bulk transfer | Scheduled disbursement |
Bulk transfers process asynchronously. Each payment gets its own reference for individual tracking.
Supported Countries and Banks
| Country | Currency | Banks |
|---|---|---|
| Nigeria | NGN | All commercial banks |
| Kenya | KES | All major banks, M-Pesa |
| Ghana | GHS | All major banks |
Use the Bank List endpoint to get the current list of supported banks for each currency.
Transfer Status
| Status | Meaning |
|---|---|
pending | Transfer is queued for processing |
success | Money has been delivered |
failed | Transfer could not be completed |
reversed | Transfer was returned by the bank |
Set up webhooks to get notified the moment a transfer status changes.
API Reference
| Endpoint | What it does |
|---|---|
| Bank List | Get supported banks for a currency |
| Account Validation | Verify account details before sending |
| Payout Fees | Calculate transfer cost |
| Single Transfer | Send money to one recipient |
| Bulk Transfer | Send money to multiple recipients |
| Verify Transfer | Check transfer status |
Common Errors
| Error | What happened | How to fix |
|---|---|---|
| Insufficient balance | Wallet funds too low | Top up your wallet |
| Invalid account | Account number not found | Re-verify with account validation |
| Invalid bank code | Bank not recognized | Check bank list for correct code |
| Transfer failed | Bank rejected the transfer | Check error details, retry or contact support |
Best Practices
- Always validate accounts first. Prevent failed transfers and incorrect payments.
- Calculate fees before displaying totals. Keep your users informed.
- Store reference IDs. You will need them for tracking and reconciliation.
- Use webhooks. Polling wastes resources. Webhooks notify you instantly.
- Process bulk transfers during off-peak hours. Better performance for large batches.