Built for African developers

One gateway.
Every African payment rail.

A self-hostable payment orchestration platform for cards, mobile money, wallets, bank transfers, collections and payouts. Run the complete flow locally without provider credentials.

  • Idempotent by design
  • Signed, retried webhooks
  • Double-entry ledger
  • Self-hosted, your data

Demo checkout: no real money moves. Use the simulator to approve or decline it.

How it works

From checkout to verified payment in three steps

  1. Create a checkout session

    Your server calls POST /v1/checkout/sessions and hands the signed, expiring token to the browser. Provider secrets never reach the client.

  2. The customer pays

    The drop-in element routes to the right provider, mobile money or card, with idempotent retries and a durable record of every attempt.

  3. You receive a verified event

    A signed webhook confirms the final state, and every movement is posted to a balanced ledger you can reconcile.

Provider ecosystem

Available payment connectors

This public catalog is generated from the gateway registry. Production availability still depends on the merchant account, country, enabled payment rail and provider certification.

Full catalog →
Loading provider catalog…
Drop-in frontend

Start with one HTML element

HTML
<script type="module" src="@bfstridegroup/africa-payment-checkout"></script>
<africa-payment-checkout
  base-url="https://payments.example.com"
  session-token="SIGNED_CHECKOUT_SESSION"
  locale="fr">
</africa-payment-checkout>
cURL
curl -X POST https://payments.example.com/v1/payments \
  -H "x-api-key: $APG_API_KEY" \
  -H "idempotency-key: order-1042" \
  -H "content-type: application/json" \
  -d '{"reference":"order-1042","amount":"5000","currency":"XOF",
       "method":"mobile_money","customer":{"phone":"22670000000"}}'