Making Payment
Overview

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

BenefitWhat you get
Fast settlementTransfers arrive in minutes, not days
Multi-currencyPay in NGN, KES, or GHS from one dashboard
Bulk processingSend thousands of payments in a single request
Built-in verificationValidate accounts before sending money
Real-time trackingKnow 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 caseRecommended methodWhy
Customer refundSingle transferImmediate processing
Vendor paymentSingle transferOne-off transaction
Salary paymentsBulk transferProcess hundreds at once
Commission payoutsBulk transferBatch efficiency
Distributor paymentsBulk transferScheduled disbursement

Bulk transfers process asynchronously. Each payment gets its own reference for individual tracking.


Supported Countries and Banks

CountryCurrencyBanks
NigeriaNGNAll commercial banks
KenyaKESAll major banks, M-Pesa
GhanaGHSAll major banks

Use the Bank List endpoint to get the current list of supported banks for each currency.


Transfer Status

StatusMeaning
pendingTransfer is queued for processing
successMoney has been delivered
failedTransfer could not be completed
reversedTransfer was returned by the bank

Set up webhooks to get notified the moment a transfer status changes.


API Reference

EndpointWhat it does
Bank ListGet supported banks for a currency
Account ValidationVerify account details before sending
Payout FeesCalculate transfer cost
Single TransferSend money to one recipient
Bulk TransferSend money to multiple recipients
Verify TransferCheck transfer status

Common Errors

ErrorWhat happenedHow to fix
Insufficient balanceWallet funds too lowTop up your wallet
Invalid accountAccount number not foundRe-verify with account validation
Invalid bank codeBank not recognizedCheck bank list for correct code
Transfer failedBank rejected the transferCheck error details, retry or contact support

Best Practices

  1. Always validate accounts first. Prevent failed transfers and incorrect payments.
  2. Calculate fees before displaying totals. Keep your users informed.
  3. Store reference IDs. You will need them for tracking and reconciliation.
  4. Use webhooks. Polling wastes resources. Webhooks notify you instantly.
  5. Process bulk transfers during off-peak hours. Better performance for large batches.

Next Steps