Overview
Mavapay allows you to send Nigerian Naira (NGN) to South African bank accounts in Rand (ZAR). This guide walks you through fetching supported banks, getting exchange rates, creating quotes, and tracking payouts.ZAR payouts require
autopayout: true. Unlike NGN or BTC flows, there is no manual payout option — funds are sent directly to the beneficiary’s bank account.Integration Flow
Step 1: Fetch Supported South African Banks
Before initiating a payout, retrieve the list of supported South African banks. Use the country ISO codeZA.
Cache the bank list for 24 hours as this list rarely changes.
Step 2: Get the Exchange Rate (Optional)
Use the price ticker endpoint to preview the current rate before creating a quote. Theask price reflects the rate for sending 1 Rand using NGN.
The rate is returned as the price of 1 Rand to Nigerian Naira. Use the ticker for indicative pricing only.
Step 3: Create a Quote
Create a quote to lock in the exchange rate and receive a virtual NGN bank account to fund the transfer. The quote is valid for 10 minutes after which the virtual account number expires.Understanding Payment Currency
ThepaymentCurrency parameter determines what the amount field represents:
paymentCurrency: "NGNKOBO"→ amount is in Naira (you’re specifying how much Naira to send)paymentCurrency: "ZARCENT"→ amount is in Rand (you’re specifying how much the recipient should receive)
Option A: Send a Specific NGN Amount
When you want to send exactly ₦5,000:Option B: Recipient Gets a Specific ZAR Amount
When the recipient should receive exactly R500:Step 4: Review the Quote Response
The response includes a virtual NGN bank account for you to fund the transfer:| Field | Description |
|---|---|
ngnBankAccountNumber | The virtual account to transfer Naira to |
ngnBankName | Bank name for the virtual account |
ngnAccountName | Account name on the virtual account |
totalAmountInSourceCurrency | Exact amount in Kobo to transfer (includes fees) |
amountInTargetCurrency | Amount in Cents the recipient will receive |
exchangeRate | BTC-ZAR exchange rate applied |
hash | Transaction hash for tracking |
expiry | Quote expiration timestamp |
Step 5: Make the NGN Transfer
Transfer the exacttotalAmountInSourceCurrency (in Kobo) to the provided ngnBankAccountNumber.
Step 6: Track Payment Status
You’ll receive webhooks as the transaction progresses:payment.received— Naira transfer confirmedpayment.sent— Rand disbursed to the beneficiary’s bank account
hash:
Beneficiary Format
The ZAR beneficiary object requires three fields:| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Beneficiary’s full name |
bankName | string | Yes | South African bank name (use exact name from bank list) |
bankAccountNumber | string | Yes | South African bank account number |
Testing in Staging
Test your integration without real funds using the staging environment:Important Considerations
Currency Denominations
All amounts are in the lowest denomination:- NGNKOBO: 100 Kobo = ₦1 (so
500000= ₦5,000) - ZARCENT: 100 Cents = R1 (so
50000= R500)
Quote Expiration
Quotes expire after approximately 10 minutes. Display a countdown timer and prompt users to transfer quickly.Exchange Rate Volatility
Rates update frequently. Create a fresh quote each time — don’t cache quotes for long periods.Autopayout Requirement
ZAR payouts must haveautopayout: true. Unlike NGN or BTC flows, there is no manual wallet option for Rand.
Related Resources
- Create Quote API - Interactive API documentation
- Beneficiary Formats - Required formats for all currencies
- Webhook Examples - Complete webhook payloads
- Payment Simulation - Testing in staging
- Quote Examples - Examples for all currency pairs
FAQ
Q: What is the minimum amount for NGN to ZAR? A: Minimum amount is 50 Rands. Q: How long does the ZAR payout take? A: Payouts are typically processed within minutes of the NGN transfer being confirmed. Q: Can I cancel a quote after creating it? A: Quotes expire automatically. If no transfer is made, the quote simply lapses. Q: What happens if I send the wrong amount? A: Partial or incorrect payments are not automatically processed. Contact support with thehash for manual handling.