API mo goomu maa yiɗata tigi
REST ndi waylotaako, coktirɗe idempotency, webhooks siifaaɗi e sandbox e laabi nanndinaaɗi ngam jokkondirde fof hade faran gooto dillude.
Heɓgol maa adanngol e ɗaɓɓitannde wootere
REST laaɓɗo, mbaydi JSON ndi waylotaako, e ID ɗaɓɓitannde e kala jaabawol. Sandbox oo ina nanndi e golle goonga: API gooto, ngonkaaji gooti, webhooks gooti.
- Coktirɗe sandbox e golle goonga, keeriiɗe e kala aplikasiyon
- Webhooks siifaaɗi e HMAC, e ndeenka ngam haɗde ruttitagol
- Coktirɗe idempotency e kala noddaandu dillinoore kaalis
- Juume ɗe kollata ma tigi ko haani feewneede
- Faamnirgol OpenAPI, mooɓtal Postman e llms.txt, fof ɗe njaltinaama
- Session yoɓgol jogaaɗe e callback ɗaɓɓitiiɗe ngam jokkirɗe CRM, ERP e suudu njeeygu
curl https://api.capayglobal.com/v1/collections \
-H "Authorization: Bearer sk_test_..." \
-H "Idempotency-Key: 9f1c-collect-01" \
-H "Content-Type: application/json" \
-d '{
"amount": "2500",
"currency": "XAF",
"country": "CM",
"method": "mobile_money",
"msisdn": "2376XXXXXXXX",
"merchant_reference": "order-1042"
}'{
"status": "success",
"data": {
"id": "col_9xKQ2mD41Vb8",
"object": "collection",
"status": "pending",
"amount": "2500",
"currency": "XAF",
"country": "CM",
"method": "mobile_money",
"merchant_reference": "order-1042",
"fees": {
"platform_fee": "50",
"provider_fee": "0",
"total_fee": "50",
"bearer": "merchant"
},
"net_amount": null,
"livemode": false,
"created_at": "2026-08-30T12:04:11Z"
},
"request_id": "req_b0f3d2c1"
}Mooɓtugol maa adannge
Naamnal gootal ena sosa faandaare yoɓde, ena artira id naamnal kadi, e kaalis telefon, ena nelda naamnal e telefon yoɓoowo. Sandbox ena golla no production nii tigi.
curl -X POST https://api.capayglobal.com/v1/collections \
-H "Authorization: Bearer sk_test_XXXXXXXXXXXX" \
-H "Idempotency-Key: col-order-10482-a1b2c3" \
-H "Content-Type: application/json" \
-d '{
"amount": "5000",
"currency": "XAF",
"country": "CM",
"method": "mobile_money",
"msisdn": "+237650000001",
"merchant_reference": "order-10482"
}'{
"status": "success",
"data": {
"id": "col_7Qm3k1Xa9Zr4",
"object": "collection",
"status": "pending",
"amount": "5000",
"currency": "XAF",
"auth_model": "STK_PROMPT",
"livemode": false
},
"request_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}SDK serwer
Ceppitte pamare jogiiɗe sifaa dow API REST gootal, e idempotency e teeŋtinal siifannde e nder mum.
import { Capay } from '@capay/sdk';Wonaali tawo e npm. Diidol naatnugol ngol dow ko sakkitiingol, ndeen jokkondiral maa waylotaako so ɗum yaltinaama.
Janngu ɗowirgolfrom capay import CapayWonaali tawo e PyPI. Diidol naatnugol ngol dow ko sakkitiingol, ndeen jokkondiral maa waylotaako so ɗum yaltinaama.
Janngu ɗowirgoluse Capay\CapayClient;Wonaali tawo e Packagist. Diidol naatnugol ngol dow ko sakkitiingol, ndeen jokkondiral maa waylotaako so ɗum yaltinaama.
Janngu ɗowirgolTeeŋtin webhook kala
Ciifle ena limee e ɓanndu keccu kadi ena mbeɗɗindiree e sahaa ndeentaaɗo, kadi maandeeji sahaa ɓurɗi majjude e majjere 300 sekonde ena calee. Hoto hoolo webhook mo teeŋtinɗaa.
# T is the t= value from X-Capay-Signature; delivery.json is the raw body as received.
T=1767225600
SECRET=whsec_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
{ printf '%s.' "$T"; cat delivery.json; } \
| openssl dgst -sha256 -hmac "$SECRET" -r | cut -d' ' -f1
# Compare the printed hex with each v1= value in the header (either may match
# during a secret rotation), and reject the delivery if |now - T| > 300 s.X-Capay-Signature: t=1767225600,v1=6f8b4c2d9e0a1b3c5d7e9f0a2b4c6d8e0f1a3b5c7d9e1f0a2b4c6d8e0f1a3b5c
X-Capay-Event-Id: evt_2n4Kq8Zr41Xa
X-Capay-Event-Type: collection.completedYettingol ronkungol ena etee goɗngol e ɗerewol ndeentaaɗo: 1m, 5m, 30m, 2h, 6h, 12h, 24h, 24h. Endpoint mo ronkata laabi 8 jokkondirɗi ena uddee kadi aɗa habree, ko ɗum waɗi endpoint maayɗo moɗataa kewkewe e deeƴre.
Cuuɗi ɗiɗi siifannde ena mbaawi golle e sahaa gooto, ko ɗum waɗi aɗa waawi waylude ɗi tawi a majjinaani kewu. Sal ko woni caggal henorde sekonde 300 kadi mooɓ id kewu ngam artugol wonaa bonannde.
Kuutorɗe keddiiɗe
Faamnirɗe ɗe masiŋ waawi janngude, mooɓtal ngal mbaawɗaa naatnude, e kuutorɗe janngooje ɗe.
Fuɗɗo heɓde njoɓɗi nder Afirik hannde
Sos konte meere, mah e sandbox oo, naat e golle ɓaawo ƴeewtagol.
Habru min laabi maa e keeweendi njeeygu maa sahaa kala.