Live in The GambiaRead the docs

The payment ledger for The Gambia

Every dalasi,
on one live ledger.

Collections, payouts, and reconciliation across Wave, APS, and cards — one API, one source of truth for the money moving through your business.

Ledger · GMD · liveCleared todayD 4,182,940.00
TimeMerchant · railAmount
14:02:57Serrekunda LtdAPSD 21,700.00
14:02:51Kombo RetailWAVED 2,500.00
14:02:44Fajara PharmacyCARDD 940.50
14:02:39Banjul FreightWAVED 8,150.00
14:02:31Tanji FisheriesAPSD 3,050.00
settled in-flight failedWave · APS · Card
Settling overWaveAPSWaychit

The platform

One platform to move every dalasi.

Collections

Get paid the way your customers already pay.

Accept mobile money and cards with a single request. Wave, APS, and card checkout — localized, hosted, and reconciled for you, from the first transaction to the millionth.

Collection · GMD#GM-4821
Kombo Retail WAVED 2,500.00
initiatedok
authorizedok
settledok
payment.succeeded4.2s

Payouts

Send money to any rail, automatically.

One request per payout, queued and retried automatically if a rail wobbles. Nothing silently disappears — a payout settles, tells you why it failed, or waits for float and says so.

Batch payout · 42 recipientsrunning
Kombo RetailWAVED 12,400.00
Banjul FreightWAVED 8,150.00
Senegambia CoAPSD 21,700.00
Serrekunda LtdCARDD 3,050.00
auto-retry · exponential backoff38 / 42 settled

Built for developers

Three requests. That's the whole integration.

Plain REST and JSON — no SDK required. Amounts as decimal strings, idempotent by reference, documented in an OpenAPI spec that's checked in CI, so the docs can't drift from the API.

curl https://api.hpg.hexai.gm/api/v1/collections/initiate \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "amount": "10.50",
    "currency": "GMD",
    "client_reference": "ORD-12345",
    "customer_name": "Awa Ceesay",
    "customer_mobile": "+2207123456",
    "customer_email": "awa@example.com",
    "success_url": "https://yourapp.com/success",
    "error_url": "https://yourapp.com/failed"
  }'

# → { "transaction_id": "b3f1c2a4-5d6e-7f80-9a1b-2c3d4e5f6a7b", "status": "PENDING", "redirect_url": "https://checkout.wave.com/c/cos-abc123" }

How it works

From sign-up to first payment in an afternoon.

01

Get your keys

auth.keys

Sign up, complete KYC, and grab live + test API keys from the dashboard.

02

Register a webhook

webhook.register

One HTTPS endpoint. Every event arrives signed with HMAC-SHA256.

03

Initiate a collection

collections.initiate

One POST returns a checkout URL. Your customer pays in the app they already use.

04

Money confirmed

ledger.settled

The webhook fires on completion. Payouts settle on your configured schedule.

Pricing

One rate. Pay only when money moves.

A simple commission per successful transaction — negotiated once for your volume, transparent on every settlement statement. No subscriptions, no hidden spreads, nothing charged on failed payments.

Settlement statement · GMD
Commission
per cleared transaction
%
by rail & monthly volume
Collections & payouts on every live railincl.
Signed webhooks with automatic redeliveryincl.
Sandbox environment & test keysincl.
Dashboard, analytics & team accessincl.
KYC onboarding & compliance handledincl.
No setup fee, no monthly feeincl.
billed on settlementD 0.00 on failed payments

Open your ledger

Start moving money today.

Sandbox keys are free and take minutes. When you're ready to go live, our team walks you through KYC and launch.