API tí inú ẹgbẹ́ rẹ yóò dùn sí ní tòótọ́
REST tí a lè sọ tẹ́lẹ̀, kọ́kọ́rọ́ idempotency, webhook tí a fọwọ́ sí àti sandbox pẹ̀lú àwọn ọ̀nà ìsanwó àfarawé kí o lè ṣe ìsopọ̀ láti ìbẹ̀rẹ̀ dé òpin kí fáráǹkì kan tó gbéra.
Ìgbowó àkọ́kọ́ rẹ nínú ìbéèrè kan ṣoṣo
REST tí ó mọ́, àpò JSON tí a lè sọ tẹ́lẹ̀ àti ID ìbéèrè lórí ìdáhùn kọ̀ọ̀kan. Sandbox ṣe déédéé pẹ̀lú ibi iṣẹ́ gidi: API kan náà, ipò kan náà, webhook kan náà.
- Àwọn kọ́kọ́rọ́ sandbox àti ti iṣẹ́ gidi, tí a ṣètò fún app kọ̀ọ̀kan
- Àwọn webhook tí a fọwọ́ sí pẹ̀lú HMAC, pẹ̀lú ààbò lòdì sí àtúnlò
- Kọ́kọ́rọ́ idempotency lórí gbogbo ìpè tí ó ń gbé owó
- Àwọn àṣìṣe elétò tí ó sọ ní pàtó ohun tí o ní láti tún ṣe
- Alaye OpenAPI, akojo Postman ati llms.txt, gbogbo re ti jade
- Àwọn ìgbà ìsanwó tí a gbàlejò àti callback tí ó tẹ́jú fún àwọn asopọ̀ CRM, ERP àti ṣọ́ọ̀bù
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"
}Igbowo akoko re
Ibeere kan n da ipinnu isanwo, o n da idanimo ibeere pada ati, fun owo alagbeka, o n ti akiyesi si foonu oluisanwo. Sandbox n sise gera bi iseduro.
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 olupin
Ideri tinrin ti o ni iru lori API REST kanna, pelu idempotency ati ijerisi ibuwolu ti a ti ko sinu re.
import { Capay } from '@capay/sdk';Kò tíì sí lórí npm. Ìlà import tí ó wà lókè jẹ́ ìkẹyìn, nítorí náà ìsopọ̀ rẹ kò ní yí padà nígbà tí a bá tẹ̀ ẹ́ jáde.
Ka itonifrom capay import CapayKò tíì sí lórí PyPI. Ìlà import tí ó wà lókè jẹ́ ìkẹyìn, nítorí náà ìsopọ̀ rẹ kò ní yí padà nígbà tí a bá tẹ̀ ẹ́ jáde.
Ka itoniuse Capay\CapayClient;Kò tíì sí lórí Packagist. Ìlà import tí ó wà lókè jẹ́ ìkẹyìn, nítorí náà ìsopọ̀ rẹ kò ní yí padà nígbà tí a bá tẹ̀ ẹ́ jáde.
Ka itoniJerisi webhook kookan
A n se isiro ibuwolu lori ara aise a si n fi we ni akoko didi, a si n ko ontẹ akoko ti o ju iseju aaya 300 lo. Ma se gbekele webhook ti o ko jerisi.
# 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.completedA n gbiyanju ifijise ti o kuna lori eto ti o duro: 1m, 5m, 30m, 2h, 6h, 12h, 24h, 24h. Ibudo ti o kuna nigba 8 lesese ni a n pa, a si n so fun o, nitorina ibudo oku ki i gbe awon isele mi ni idakeje.
Awon asiri ibuwolu meji le maa sise ni akoko kanna, nitorina o le yi won pada laisi sonu isele kan. Ko ohunkohun ti o wa ni ita ferese iseju aaya 300 ki o si to idanimo isele pamo ki atunse ma ba pa lara.
Iyoku ohun elo
Awon alaye ti ero le ka, akojo ti o le mu wole, ati awon ohun elo ti n ka won.
Ṣàwárí pílátífọ́ọ̀mù náà
Bẹ̀rẹ̀ ìgbowó káàkiri Áfíríkà lónìí
Ṣí àkáǹtì ọ̀fẹ́, kọ́ iṣẹ́ rẹ lórí sandbox, kí o sì bẹ̀rẹ̀ iṣẹ́ gidi lẹ́yìn ìmúdájú.
Sọ fún wa nípa àwọn ọ̀nà-owó àti ìwọ̀n iṣẹ́ rẹ nígbàkigbà.