Payment Gateway Quickstart — Accept Payments in 10 Minutes
Accept your first payment in 10 minutes with Kang Open Banking Payment Gateway. Mobile money, cards, and bank transfers in Cameroon and CEMAC. Field names match OpenAPI v4.50.1.
10-Minute Integration Guide
Start accepting payments in Cameroon and the CEMAC region with minimal code. Always include an Idempotency-Key header on every payment POST request. The GatewayCharge schema requires channel and customer_phone per the OpenAPI 3.1 spec.
Step 1: Create a Charge (Mobile Money)
curl -X POST https://sandbox-api.kangopenbanking.com/v1/gateway/charges \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"amount": "500000",
"currency": "XAF",
"channel": "mobile_money",
"customer_phone": "+237650000000",
"description": "Test payment"
}'
Step 2: Successful Response
{
"data": {
"id": "ch_01HZX9K7P3M2N4Q5R6S7T8V9W0",
"status": "pending",
"amount": "500000",
"currency": "XAF",
"channel": "mobile_money",
"customer_phone": "+237650000000",
"tx_ref": "kob_tx_8f3e1c92a7b4",
"created_at": "2026-05-01T14:32:11Z"
}
}
Step 3: Check Charge Status
curl https://sandbox-api.kangopenbanking.com/v1/gateway/charges/ch_01HZX9K7P3M2N4Q5R6S7T8V9W0 \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Step 4: Verify Webhooks
Configure your webhook endpoint and verify HMAC-SHA256 signatures on every incoming event using the X-KOB-Signature header. See the Webhook Verification Guide.
Step 5: Issue a Payout
curl -X POST https://sandbox-api.kangopenbanking.com/v1/gateway/payouts \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"amount": "250000",
"currency": "XAF",
"channel": "mobile_money",
"customer_phone": "+237650000000"
}'
Supported Payment Methods
| Method | Min Amount (XAF) | Max Amount (XAF) | Settlement |
| MTN MoMo | 100 | 5,000,000 | T+1 |
| Orange Money | 100 | 3,000,000 | T+1 |
| Visa/Mastercard | 500 | 10,000,000 | T+2 |
| Bank Transfer | 1,000 | 50,000,000 | T+1 |
Amounts are string integers in minor units. XAF has no subunits, so "500000" = 500,000 XAF.
Developer Portal Home | OpenAPI Spec (JSON) | Contact