Skip to content
SkanPay Docs

SkanPay API

Accept MTN Mobile Money and Airtel Money in your own website or app, and move money back out, with no one logging in to confirm anything.

SkanPay is API-first. Your server asks SkanPay to charge a customer's wallet, the customer approves the prompt on their phone, and SkanPay tells your server the outcome with a signed webhook. Your order is marked paid automatically. The dashboard is where you watch and configure this; it is never how customer money moves.

What you can build

Money flowWhat it doesEndpointStatus
Cash-in (collections)Charge a customer's MTN or Airtel wallet for an order.POST /v1/chargesLive
Top-up (deposits)Move money from your own wallet into your SkanPay balance.POST /v1/depositsLive
Cash-out (payouts)Send money from your balance to any MTN or Airtel wallet.POST /v1/payoutsComing soon
Cash-out (withdrawals)Send your balance to your own verified business wallet.POST /v1/withdrawalsComing soon
ReconcileList every transaction with its status trail and ledger entries.GET /v1/transactionsLive
Get notifiedSigned webhooks with retries, replayable from the dashboard.WebhooksLive

Where it works

CountryCurrencyNetworksStatus
Uganda (+256)UGXMTN Mobile Money, Airtel MoneyLive
Kenya (+254)KESAirtel MoneyComing soon
Ghana (+233)GHSMTN MoMo, AirtelTigo MoneyComing soon

How a payment works

  1. Your customer checks out on your site. Your server calls POST /v1/charges with the amount, the customer's phone number and your order id.
  2. SkanPay answers straight away with the charge in status AWAITING_CUSTOMER. The customer now has a prompt on their phone asking for their mobile money PIN.
  3. You show “Check your phone to approve the payment” on your page.
  4. The customer approves (or declines, or ignores it).
  5. SkanPay sends a charge.successful or charge.failed webhook to your server, signed with your webhook secret. You verify it and mark the order paid.
  6. The money lands in your pending balance, less SkanPay's fee, and becomes available one day later.

Base URL

Every endpoint is relative to
https://api.skanpay.website

All requests use HTTPS and JSON. Authenticate with your secret key as a bearer token. There is no separate test environment: your account is reviewed and approved first, and then you integrate against the live API with small real amounts.

Start here