A
AfriLink Pay
Docs
← Back to App

Getting Started

Welcome to AfriLink Pay — Africa's one-click payments platform. Send money across borders, receive payments online, and manage your finances, all from your phone.

What is AfriLink Pay?

AfriLink Pay is a pan-African payments infrastructure that lets you:

  • Send money to any of the 54 African countries in seconds
  • Pay using mobile money (M-Pesa, MTN MoMo, Airtel, Orange), bank transfer, QR code, or payment link
  • Receive international transfers from the African diaspora in Europe, North America, and the Middle East
  • Accept payments as a merchant — no card terminal required
  • Operate as a cash agent, earning commissions on every transaction
No bank account required. AfriLink works with your mobile money wallet. All you need is a registered SIM card.

How to Make Your First Payment

📷Payment wizard screenshot — 4-step flow
  1. 1
    Choose your corridorSelect the country you are sending from and the country you are sending to. AfriLink shows you all available payment rails for that corridor.
  2. 2
    Select a payment railChoose how the money should travel — mobile money, bank transfer, cash pickup, QR, or a payment link. Each option shows the estimated fee and delivery time upfront.
  3. 3
    Enter receiver detailsType the recipient's phone number, bank account, or scan their QR code. For cash pickup, enter the receiver's name and ID number.
  4. 4
    Confirm and payReview the amount, FX rate, and fee summary. Tap Pay Now to initiate the transfer. You receive a payment ID immediately.

Supported Countries

AfriLink Pay supports all 54 African Union member states. Countries with active live provider connections are highlighted.

🇩🇿 Algeria
🇦🇴 Angola
🇧🇯 Benin
🇧🇼 Botswana
🇧🇫 Burkina Faso
🇧🇮 Burundi
🇨🇻 Cape Verde
🇨🇲 Cameroon
🇨🇫 CAR
🇹🇩 Chad
🇰🇲 Comoros
🇨🇩 DR Congo
🇨🇬 Rep. Congo
🇩🇯 Djibouti
🇪🇬 Egypt
🇬🇶 Eq. Guinea
🇪🇷 Eritrea
🇸🇿 Eswatini
🇪🇹 Ethiopia
🇬🇦 Gabon
🇬🇲 Gambia
🇬🇭 Ghana
🇬🇳 Guinea
🇬🇼 Guinea-Bissau
🇨🇮 Ivory Coast
🇰🇪 Kenya
🇱🇸 Lesotho
🇱🇷 Liberia
🇱🇾 Libya
🇲🇬 Madagascar
🇲🇼 Malawi
🇲🇱 Mali
🇲🇷 Mauritania
🇲🇺 Mauritius
🇲🇦 Morocco
🇲🇿 Mozambique
🇳🇦 Namibia
🇳🇪 Niger
🇳🇬 Nigeria
🇷🇼 Rwanda
🇸🇹 São Tomé
🇸🇳 Senegal
🇸🇱 Sierra Leone
🇸🇴 Somalia
🇿🇦 South Africa
🇸🇸 South Sudan
🇸🇩 Sudan
🇹🇿 Tanzania
🇹🇬 Togo
🇹🇳 Tunisia
🇺🇬 Uganda
🇿🇲 Zambia
🇿🇼 Zimbabwe
🇸🇨 Seychelles

Supported Currencies

AfriLink Pay supports all major African currencies plus international settlement currencies. Exchange rates are refreshed every 5 minutes from live market data.

RegionCurrencies
West AfricaNGN, GHS, XOF (CFA), GMD, SLL, LRD
East AfricaKES, TZS, UGX, RWF, ETB, SOS, DJF
Southern AfricaZAR, ZMW, MWK, BWP, SZL, LSL, MZN, NAD, ZWL
North AfricaEGP, MAD, TND, LYD, DZD, SDG
Central AfricaXAF (CFA), CDF, AOA
InternationalUSD, EUR, GBP, USDC, USDT

Payment Limits

KYC LevelSingle TransactionDaily LimitMonthly Limit
None (unverified)$10 / equivalent$20$50
Basic (phone verified)$200$500$2,000
Standard (ID uploaded)$1,000$3,000$10,000
Enhanced (full KYC)$10,000$50,000Unlimited

Limits may vary by country corridor based on local regulations (CBN, CBK, BOG). Higher limits require enhanced KYC documents.


Making Payments

AfriLink's 4-step payment wizard guides you from source country to delivery in under a minute.

Step-by-Step Payment Wizard Guide

🖼Step 1 — Corridor selection screen

Step 1 — Corridor: Select the source country (where the money comes from) and destination country. The app automatically loads available payment rails for that corridor.

🖼Step 2 — Rail selection with fees

Step 2 — Rail: Choose how the money travels. Each rail shows the fee, FX rate, and estimated delivery time before you commit.

🖼Step 3 — Receiver details form

Step 3 — Receiver: Enter recipient details. For mobile money, this is a phone number. For bank transfers, you need an account number and bank name. For cash pickup, enter the receiver's full name.

🖼Step 4 — Confirmation summary

Step 4 — Confirm: Review all details, then tap Pay Now. A payment ID is issued immediately. Keep this ID — you can use it to track status or contact support.

Choosing a Payment Rail

📱Mobile MoneyM-Pesa, MTN MoMo, Airtel, Orange. Fast, no bank needed. Best for East & West Africa.
🏦Bank TransferTransfers directly to a bank account. Slower (1–3 days) but supports larger amounts.
💵Cash PickupReceiver collects cash at an AfriLink agent location. Great for recipients without bank/mobile accounts.
📷QR PaymentScan the receiver's QR code. Instant and works offline. Ideal for in-person transactions.
🔗Payment LinkShare a link that lets anyone pay you. No app required for the sender.
💳CardPay using Visa or Mastercard. Available through our pan-Africa fallback provider.

Understanding FX Rates and Fees

AfriLink shows you a total cost summary before you confirm any payment. There are two components:

  • FX Rate: The live mid-market exchange rate with a small platform spread (typically 1–2%). Rates are refreshed every 5 minutes.
  • Transaction Fee: A flat fee or percentage depending on the rail and corridor. Always shown upfront — no hidden charges.
What you see is what you pay. The amount shown in step 4 is the final deducted amount, including all fees and FX conversion.

Payment Status Meanings

StatusMeaningAction needed?
pendingPayment received; waiting to be sent to the provider.No — wait.
processingSent to the payment provider, in transit to the receiver.No — funds are moving.
completedSuccessfully delivered. Receiver has the funds.None.
failedPayment could not be completed.See below — retry or contact support.

What to Do If a Payment Fails

  1. Note the Payment ID from your confirmation screen.
  2. Check the failure reason in your transaction history (if shown).
  3. Common reasons: incorrect receiver number, account number mismatch, receiver's wallet is full, provider downtime.
  4. You will not be charged for failed payments — funds are returned to your wallet within 24 hours.
  5. If the issue persists, contact support at support@afrilinkpay.com with your Payment ID.


QR Payments

QR payments are the fastest way to pay in person — no account number to type, no cash to count.

How QR Payments Work

  1. 1
    Merchant displays QR codePrinted on counter, shown on phone screen, or embedded in a payment link.
  2. 2
    Customer scans with their phoneUsing AfriLink app or any QR scanner — it opens the payment page in the browser.
  3. 3
    Enter amount and confirmFor flexible-amount QRs, the payer enters the amount. For fixed QRs, just tap Confirm.
  4. 4
    Payment is instantMerchant receives a notification within seconds. Transaction appears in the dashboard immediately.

Scanning a QR Code

Any standard smartphone QR scanner or camera app will open the payment page. No special AfriLink app is required for payers.

Works in any browser. The payment page is fully mobile-responsive and works on 2G connections.

Offline QR (Works Without Internet)

AfriLink's offline QR feature lets merchants accept payments even when their internet is down:

  1. The merchant generates an offline QR code from their dashboard — this embeds a signed payment nonce in the QR.
  2. Customer scans the QR; their browser stores the payment intent locally.
  3. When connectivity returns, the browser automatically submits the stored payment to POST /api/qr/redeem.
  4. Each QR nonce is single-use — cannot be replayed or double-charged.
Offline QR nonces expire after 24 hours. Generate a fresh offline QR each business day.

Generating a QR for Your Business

Go to your merchant dashboard → Offline QR section → click Generate Offline QR. Download the PNG or SVG and print it. For a standard (online) QR, go to Payment Links and click the QR icon next to any link.


For Merchants

AfriLink merchants get a full payments stack — accept money online, in-store, or via API.

Creating a Merchant Account

  1. 1
    Contact your AfriLink administratorMerchant accounts are created by platform administrators. Reach out to your AfriLink contact or email merchants@afrilinkpay.com.
  2. 2
    Receive your API keyYou'll receive a merchant API key by email. Store it securely — treat it like a password.
  3. 3
    Complete KYCLog into the merchant dashboard and complete identity verification to unlock higher transaction limits.

Dashboard Overview

The merchant dashboard at /merchant gives you a full view of your business:

  • Overview — total revenue, transaction count, recent activity
  • Transactions — searchable, filterable history of all payments
  • Payment Links — create and manage shareable payment links
  • FX Rates — live rates for your corridors
  • Integrations — connect third-party tools
  • Team — invite team members with role-based access
  • KYC — document verification status
  • Bills — pay utility bills and airtime

Integrations and API Keys

Use your merchant API key to integrate AfriLink into your website or app:

curl -X POST https://afrilinkpay.com/api/pay \
  -H "X-Merchant-API-Key: your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "fromCode": "NG",
    "toCode": "KE",
    "railId": "mobile_money",
    "amount": 5000,
    "currency": "NGN",
    "receiver": "+254712345678"
  }'

For the full API spec, see the API Reference section or download the OpenAPI YAML.

Webhook Setup

AfriLink sends webhooks to your server when payment status changes. To set up webhooks:

  1. Go to Settings in your merchant dashboard.
  2. Enter your webhook URL (must be publicly reachable HTTPS).
  3. AfriLink will POST a signed JSON payload to your URL on every payment event.
Verify webhook signatures. Each webhook includes an X-AfriLink-Signature header containing an HMAC-SHA256 signature of the payload. Always verify this before processing.

See the Webhooks API reference for payload formats and event types.

Viewing Transactions

From the Transactions section, you can:

  • Filter by status, date range, amount range, or corridor
  • Download transaction history as CSV
  • Click any transaction to see full details including the payment ID, provider reference, and timestamps

Team Management

Invite team members with different roles:

RoleAccess
OwnerFull access — can manage API keys, billing, and team
ManagerView and manage transactions, links, and settings
SupportView transactions and respond to customer inquiries
ViewerRead-only access to all sections

Bill Payments

Merchants can pay utility bills and buy airtime directly from the dashboard:

  • Electricity (prepaid/postpaid)
  • Water
  • Airtime top-up (all African operators)
  • Pay-TV (DSTV, GoTV, StarTimes)
  • Internet/data bundles

Go to Bills in your merchant dashboard, select the bill type, enter the account number, and confirm payment.

Subscription Billing

AfriLink supports recurring payment schedules for subscription businesses:

  • Create subscription plans with weekly, monthly, or annual billing
  • Customers subscribe via a payment link
  • AfriLink auto-charges on schedule and sends renewal receipts
  • Failed renewal payments trigger automatic retry (up to 3 attempts)

For Agents

AfriLink agents are the physical touchpoints of the network — they handle cash transactions for people without digital payment access.

What is an AfriLink Agent?

An AfriLink agent is a registered individual or business that offers cash-in and cash-out services in their community. Agents:

  • Accept cash from senders and initiate digital transfers on their behalf
  • Pay out cash to receivers of incoming transfers
  • Earn commissions on every transaction they process
  • Serve communities that lack bank branches or reliable mobile money agents

Agent Registration

  1. 1
    Apply to your AfriLink regional managerContact your country's AfriLink representative. You'll need a valid government ID and proof of business address.
  2. 2
    Complete KYCSubmit your national ID, business registration (if applicable), and a selfie for biometric verification.
  3. 3
    Receive your agent code and credentialsYou'll receive an agent code and a phone-linked login. Use these to access the agent portal at /agent.
  4. 4
    Fund your floatDeposit initial float (the cash pool you use to pay out to receivers). Minimum float varies by region.

Float Management

What is Float?

Float is the pool of digital currency you hold to pay out cash to receivers. When you pay out cash, your digital float decreases by the same amount. When a sender deposits cash with you, your float increases.

How to Top Up Float

  • Transfer from your personal mobile money wallet or bank account to your AfriLink agent account
  • Receive a float top-up from the AfriLink back-office (for authorized agents)
  • Monitor your float balance in the agent dashboard at all times — never let it drop to zero
Low float alert. AfriLink sends you an SMS when your float falls below the minimum threshold. Top up immediately to avoid declining payouts.

Processing Cash-In / Cash-Out

Cash-In (Sender deposits cash with agent)

  1. Sender presents cash and provides receiver details (phone number or payment code).
  2. Agent logs into the agent portal → Record Contribution.
  3. Enter the amount and receiver details, then confirm. The platform routes the funds digitally to the receiver.
  4. Agent's digital float increases by the deposited amount.

Cash-Out (Receiver collects cash from agent)

  1. Receiver presents their payment code (received via SMS or in-app).
  2. Agent verifies the receiver's identity (check their ID against the payment details).
  3. Agent logs into portal → Cash Payout → enter the payment code.
  4. Confirm the payout. Agent's digital float decreases; cash is handed to receiver.
Always verify identity before paying out cash. Once a payout is confirmed it cannot be reversed. Ask for a government-issued ID.

Earning Commissions

Agents earn a percentage commission on every transaction they process:

Transaction TypeCommission Rate
Cash-In0.5% of transaction amount
Cash-Out1.0% of transaction amount
Other / Default0.25% of transaction amount

Commission Payout

Commissions accrue daily and are paid out weekly to your registered mobile money wallet or bank account. You can view your earned commissions and pending payouts in the Commissions section of the agent portal.


Advanced Features

AfriLink's advanced features bring the latest financial technology to African users and businesses.

Open Banking (Account Linking)

Open Banking lets you connect your bank account directly to AfriLink, enabling faster payments without manual bank transfers. Powered by Mono (Nigeria, Kenya, Ghana) and Okra (Nigeria).

  1. Go to Open Banking in your merchant dashboard.
  2. Click Connect Account — a secure consent window opens.
  3. Log into your bank with your online banking credentials (AfriLink never sees your password).
  4. Once connected, you can initiate direct debit payments for your customers.
Bank-grade security. Account linking uses OAuth 2.0. You can revoke access at any time from your bank's settings.

Stablecoin Payments (USDC/USDT)

For large cross-border transfers, AfriLink can route payments through USDC or USDT stablecoins as a settlement layer. This avoids volatile FX rates and enables near-instant settlement across borders.

  • Bitnob: Handles NGN ↔ USDC conversion in Nigeria
  • Yellow Card: Supports USDC in 20+ African countries
  • Kotani Pay: USDC → mobile money in East Africa

Stablecoin payments are available as a rail option in supported corridors. No crypto wallet required for the receiver.

Diaspora Transfers

Send money home from Europe, North America, or the Middle East directly to Africa via AfriLink:

  • Supported send currencies: USD, EUR, GBP
  • Payout in local currency to mobile money or bank account
  • Powered by Wise and WorldRemit corridors
  • Typical delivery: minutes (mobile money) or 1–2 business days (bank)
Note: Some diaspora corridors require enhanced KYC and may be subject to local remittance regulations.

Credit & BNPL (Buy Now, Pay Later)

AfriLink's credit scoring engine assesses your eligibility for short-term credit based on your transaction history, device signals, and KYC level. BNPL lets you split purchases into installments.

  • Apply from your merchant or customer dashboard
  • Instant credit decision (usually under 30 seconds)
  • Repayment via mobile money on schedule
  • Builds your AfriLink credit score for future higher limits

USSD (Feature Phone Payments)

No smartphone? No problem. AfriLink works on any mobile phone via USSD:

  1. Dial *XXX# (your country's AfriLink shortcode) on any mobile phone.
  2. Follow the menu prompts to send money, check balance, or pay bills.
  3. No internet connection required — works on 2G.
USSD is available in: Nigeria, Kenya, Ghana, Uganda, Rwanda, Tanzania, Senegal, Cameroon, and more countries being added monthly.

🎁 Gift Cards

Turn your wallet balance into a shareable gift. Issue a cryptographic gift card, send the code or QR to anyone, and they redeem it straight into their AfriLink wallet.

How Gift Cards Work

  1. Issue: Choose an amount and currency. That value is debited from your wallet immediately and locked into the card.
  2. Share: You receive a one-time code in the form AFL-XXXX-XXXX-XXXX-XXXX plus a QR code. Send it via WhatsApp, Telegram, or any channel you like.
  3. Redeem: The recipient enters the code (or scans the QR) in their wallet and the amount is credited instantly. Anyone with an AfriLink wallet — individual, merchant, or agent — can redeem.
Supported currencies: USD, GHS, NGN, KES, ZAR, EUR, GBP.

Issuing a Gift Card

Open your wallet, tap 🎁 Gift Cards → Issue, and fill in:

  • Amount & currency — debited from your wallet balance.
  • Card design — Default, Birthday, Business, or Celebration.
  • Message (optional, up to 160 characters) — shown to the recipient on redemption.
  • PIN (optional) — a 4–8 digit code the recipient must enter to redeem. Share it separately for extra security.
  • Lock to @handle (optional) — only that specific @handle can redeem the card.
  • Expiry — 3, 6, 12 (default), or 24 months.
The full code is shown only once. Copy or share it immediately — for your security AfriLink only ever stores a hash, so it can never be recovered later. Card lists show just the first 8 characters.

Branding (optional): merchants can add a logo (https URL), brand name, and primary/accent colours so the gift card and its redemption page carry their brand.

Scheduled delivery (optional): set a recipient @handle and a future date/time. The card is issued (and your wallet debited) now, then automatically delivered into the recipient's wallet at the chosen time — no code to share.

Print / PDF (physical cards): after issuing — or after a CSV import — use Print / PDF to open a print-ready card (or full sheet) and save it as a PDF for physical gift-card programs.

Redeeming a Gift Card

  1. Open your wallet and tap 🎁 Gift Cards → Redeem.
  2. Enter the code (and the PIN, if the card is PIN-protected).
  3. The amount is credited to your wallet in the card's currency, instantly.

You can check any code before redeeming — the public verify step confirms the amount, remaining balance, currency, and whether it's still valid, without revealing who issued it.

Partial & Multi-Currency Redemption

  • Partial redemption: you don't have to spend the whole card at once. Enter an Amount to redeem smaller than the balance and the rest stays live on the card for later — redeem it across as many visits as you like until it's used up. Leave the amount blank to redeem the full remaining balance.
  • Multi-currency redemption: choose Receive in a different currency and the card's value is converted to your chosen currency at AfriLink's live FX rate (a small spread applies) and credited to your wallet in that currency.
Your "My cards" list shows the remaining balance on any partially-used card, and each redemption is recorded for the issuer's records.

Managing & Cancelling

  • My cards: the Gift Cards panel lists every card you've issued with its status — active, redeemed, expired, or cancelled.
  • Cancel: an unredeemed (active) card can be cancelled at any time. An admin-initiated cancellation refunds the locked value back to your wallet.
  • Expiry: cards auto-expire after the period you chose. Expired cards can no longer be redeemed.

Limits & Security

  • Per-card value is capped by your KYC tier (Tier 0 → $50, Tier 1 → $500, Tier 2 → $5,000, Tier 3 → unlimited).
  • You can issue up to 10 gift cards per 24 hours.
  • Every code is generated from 256-bit randomness and stored only as a SHA-256 hash. Each card can be redeemed exactly once — double-spends are physically impossible.

NFC & POS Payments

AfriLink wearables let you pay and receive money with a single tap — no app open, no PIN for small amounts, no card network fees.

💍 NFC Wearables

AfriLink NFC wearables (wristbands, key fobs, stickers) contain a tiny chip that stores a unique tag ID linked to your AfriLink wallet. A tap triggers an instant payment or lets someone send money to you.

Two Tap Modes

💳 Tap to Receive
Tap your wristband against another phone — the AfriLink payment page opens so they can send you money. Share your link without showing your handle.
📟 Tap to Pay
Tap your wristband at a merchant's POS terminal — your wallet is debited and the merchant's wallet is credited in real time. No PIN needed under your set limit.

Getting Your Wearable

  1. Visit the NFC Tags section of your dashboard or the Wearables page.
  2. Generate a tag, write it to your wearable using the AfriLink app or any NFC writer.
  3. Set a spending limit and optional PIN requirement in your account settings.

📟 Tap to Pay at a Terminal

When a merchant or agent has the AfriLink POS Terminal open, you can pay them instantly with your wearable — no cash, no phone unlock.

  1. 1
    Merchant opens the POSThey enter the amount on their phone at /pos and the terminal is ready to receive a tap.
  2. 2
    You tap your wearableTouch your AfriLink wristband or key fob to the back of their NFC-enabled Android phone. The reading takes under 1 second.
  3. 3
    Your identity is resolvedThe server maps your tag ID to your @handle, checks your wallet balance, and verifies your spending limit.
  4. 4
    Payment completesYour wallet is debited and the merchant's wallet is credited atomically. Both parties see a confirmation screen within 2–3 seconds.
Closed-loop & instant: Funds move directly between AfriLink wallets. There are no card networks, no settlement delays, and no interchange fees — the full amount reaches the merchant instantly.

What happens if I don't have enough balance?

The payment is declined immediately and the merchant's terminal shows an insufficient funds error. Your wallet is not debited. Top up your balance from the app or via your bank/mobile money before retrying.

Is there a limit per tap?

Default limits apply per your KYC tier. You can set a personal per-tap limit in Account → NFC Wearables → Spending Limit. Larger amounts may require confirming a PIN on your phone.

🔄 No-NFC Fallback

The AfriLink POS Terminal works on any smartphone — NFC is auto-detected and used when available, but there are two additional methods for iOS devices and older Android phones:

MethodHowBest for
NFC tapTouch wearable to NFC-enabled Android phoneFastest; under 1 second
QR scanShow your wearable QR code; merchant scans itiOS devices, no-NFC Android
@handle entryTell the merchant your @handle; they type it inNo phone needed; works offline
For merchants & agents: Want to add POS capability to your dashboard? See the POS Terminal page for setup instructions and the hardware API reference if you are integrating custom hardware.

Security & Compliance

AfriLink is built with security and regulatory compliance at its core.

KYC Verification Guide

Know Your Customer (KYC) verification is required by financial regulators in all African countries where AfriLink operates. It protects you and the platform from fraud and money laundering.

What Documents Are Needed?

KYC LevelRequired DocumentsUnlocks
BasicPhone number (OTP verified)Small transactions up to $200/day
StandardNational ID card, passport, or driver's license + selfieUp to $3,000/day
EnhancedProof of address (utility bill or bank statement) + source of funds declaration$50,000/day + merchant features

Why Is KYC Required?

KYC is mandated by the Central Bank of Nigeria (CBN), Central Bank of Kenya (CBK), Bank of Ghana (BOG), and all other national regulators. It prevents financial crime and protects users from fraud.

Two-Factor Authentication (2FA)

Enable 2FA to protect your account with a time-based one-time password (TOTP) from an authenticator app (Google Authenticator, Authy, etc.).

  1. Go to SettingsSecurityEnable 2FA.
  2. Scan the QR code with your authenticator app.
  3. Enter the 6-digit code to confirm setup.
  4. From now on, every login requires a 6-digit code from your app.
Save your backup codes. If you lose access to your authenticator app, you'll need your backup codes to recover your account.

Transaction Limits and What Triggers Review

Large transactions may be placed under review by AfriLink's compliance team. This typically happens when:

  • A transaction exceeds your current KYC tier limit
  • Multiple large transactions occur in a short period (structuring signals)
  • The transaction corridor is flagged under AfriLink's AML policy
  • AI risk scoring flags the transaction for manual review

If your transaction is under review, you will receive an email/SMS notification. The funds are held securely and the review typically completes within 1–2 business days.

Data Privacy (GDPR/NDPR Compliance)

AfriLink processes personal data in accordance with:

  • NDPR — Nigeria Data Protection Regulation
  • GDPR — EU General Data Protection Regulation (for EU-resident users)
  • Kenya Data Protection Act 2019
  • POPIA — South Africa's Protection of Personal Information Act

You have the right to request a copy of your data, correct inaccurate data, or request deletion of your account. Submit a data request by emailing privacy@afrilinkpay.com.

How to Report Suspicious Activity

  1. Do not complete any transaction you believe is suspicious.
  2. Email security@afrilinkpay.com immediately with the payment ID and a description.
  3. If you believe your account has been compromised, contact support to freeze it immediately.
  4. For fraud involving impersonation of AfriLink, report to your national financial intelligence unit (e.g. NFIU in Nigeria, FIU-Kenya).

API Reference

Brief overview — download the full spec at openapi.yaml.

Authentication

Two API key types are supported:

Key TypeHeaderUse
Admin keyX-Admin-API-KeyFull platform management (admin dashboard)
Merchant keyX-Merchant-API-Key or X-API-KeyMerchant-scoped payment API
# Example authenticated request
curl -X GET https://afrilinkpay.com/api/payments \
  -H "X-Merchant-API-Key: your_merchant_key"

Rate Limits

Default rate limits apply to all endpoints:

  • 100 requests per 1-minute window per IP address
  • Limits are returned in response headers: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset
  • Exceeding the limit returns HTTP 429 Too Many Requests

Contact your AfriLink account manager for elevated rate limits for production integrations.

Webhooks

Webhook Events

EventTriggered When
payment.completedPayment successfully delivered to receiver
payment.failedPayment failed and will not be retried
payment.pendingPayment created and awaiting processing
payment.refundedPayment refunded to sender
link.paidA payment link was successfully used

Payload Format

{
  "event": "payment.completed",
  "paymentId": "pay_abc123",
  "status": "completed",
  "amount": 5000,
  "currency": "NGN",
  "fromCode": "NG",
  "toCode": "KE",
  "timestamp": "2026-05-18T10:00:00.000Z"
}

Signature Verification

// Node.js example
const crypto = require('crypto')
const sig = req.headers['x-afrilink-signature']
const expected = crypto
  .createHmac('sha256', WEBHOOK_SECRET)
  .update(JSON.stringify(req.body))
  .digest('hex')
if (!crypto.timingSafeEqual(Buffer.from(sig), Buffer.from(expected))) {
  return res.status(401).send('Invalid signature')
}

Error Codes

HTTP CodeErrorMeaning
400VALIDATION_ERRORRequest body failed schema validation
401UNAUTHORIZEDMissing or invalid API key
403KYC_REQUIREDTransaction requires higher KYC level
403MODULE_DISABLEDPayment rail is disabled on this platform
404NOT_FOUNDResource not found
409DUPLICATE_REQUESTIdempotency key already used
429RATE_LIMITEDToo many requests — slow down
500INTERNAL_ERRORServer error — contact support with your payment ID

Troubleshooting & FAQ

Common questions and solutions.

Why was my payment declined?

Payments can be declined for several reasons:

  • KYC limit: The amount exceeds your current verification level. Complete KYC to increase your limit.
  • Incorrect receiver details: Phone number or account number is wrong. Double-check and try again.
  • Receiver's wallet is full: Some mobile wallets have a maximum balance. Ask the receiver to withdraw first.
  • Provider downtime: The payment network in the destination country may be temporarily unavailable. Try again after 15 minutes.
  • Module disabled: The payment rail you selected may be disabled in your region. Try a different rail.
How long do transfers take?
RailTypical Delivery
Mobile Money (same country)Instant — under 30 seconds
Mobile Money (cross-border)1–5 minutes
Bank Transfer (domestic)Same day or next business day
Bank Transfer (cross-border)1–3 business days
Cash PickupInstant (receiver collects when convenient)
Stablecoin (USDC)2–10 minutes
I sent to the wrong number — what do I do?

Act quickly:

  1. Note your Payment ID immediately.
  2. If the payment is still pending or processing, contact support immediately at support@afrilinkpay.com — there may be time to cancel it.
  3. If the payment has already completed, AfriLink cannot force a reversal. We can help you reach the unintended recipient to request a voluntary return.
  4. Always double-check recipient details in Step 3 before confirming. AfriLink shows the recipient name for mobile money numbers that are registered — verify it before proceeding.
How do I request a refund?

Refund eligibility depends on the status:

  • Failed payments: Automatically refunded to your wallet within 24 hours. No action needed.
  • Completed payments: Refunds can be initiated by the merchant (if you paid to a merchant link). Contact the merchant directly first.
  • Disputed payments: Email support@afrilinkpay.com with your Payment ID, the amount, and a description. Our team reviews within 2 business days.
My payment is stuck in "processing" for a long time

Processing times vary by rail and corridor. If your payment has been in processing for more than:

  • 30 minutes for mobile money
  • 3 business days for bank transfer

Contact support with your Payment ID. This may indicate a provider-side delay that AfriLink can follow up on.

Is my money safe? What happens if AfriLink goes down?

AfriLink holds customer funds in segregated accounts with regulated partner banks. Your funds are never co-mingled with AfriLink's operational funds. In the unlikely event of service interruption, your funds remain secure with our banking partners and you can always contact support to resolve any pending transactions.

How do I close my account?

To close your AfriLink account:

  1. Ensure your wallet balance is zero (withdraw any remaining funds first).
  2. Email privacy@afrilinkpay.com with the subject "Account Closure Request".
  3. Include your registered phone number and the reason for closure.
  4. We will process the request within 5 business days and confirm by email.

Contact Support

ChannelContactHours
Email (general)support@afrilinkpay.comMon–Sat 07:00–22:00 WAT
Email (security)security@afrilinkpay.com24/7
Email (privacy/data)privacy@afrilinkpay.comMon–Fri
Merchant supportmerchants@afrilinkpay.comMon–Fri 08:00–18:00 WAT
API / Developerdev@afrilinkpay.comMon–Fri

When contacting support, always include your Payment ID, the amount, and the date of the transaction. This allows us to resolve your issue fastest.