API itsinda ryawe rizishimira by'ukuri
REST iteganijwe, imfunguzo za idempotency, webhook zishyizweho umukono na sandbox ifite imiyoboro yiganwa kugira ngo uhuze byose uhereye ku ntangiriro kugeza ku iherezo mbere y'uko ifaranga na rimwe rigenda.
Ubwishyu bwawe bwa mbere mu cyifuzo kimwe
REST isobanutse, imiterere ya JSON iteganijwe na ID y'icyifuzo kuri buri gisubizo. Sandbox isa neza n'ikoreshwa nyaryo: API imwe, imiterere imwe, webhook zimwe.
- Imfunguzo za sandbox n'iza production, buri porogaramu ifite izayo
- Webhook zishyizweho umukono wa HMAC zifite uburinzi bwo kubuza gusubiramo
- Imfunguzo za idempotency kuri buri gikorwa kigenza amafaranga
- Amakosa asobanuye neza akubwira icyo gukosora
- Ubusobanuro bwa OpenAPI, ikusanyirizo rya Postman na llms.txt, byose byatangajwe
- Ibihe byo kwishyura bicumbikiwe na callback zoroshye ku bihuza CRM, ERP n'amaduka
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"
}Ikusanya ryawe rya mbere
Icyifuzo kimwe kirema intego yo kwishyura, gisubiza id y'icyifuzo kandi, ku mafaranga ya telefone, cyohereza ubutumwa kuri telefone y'uwishyura. Sandbox ikora nk'uko umusaruro ukora.
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 za seriveri
Ibipfundikizo bito bifite ubwoko hejuru ya API ya REST imwe, bifite idempotency no kugenzura umukono imbere.
import { Capay } from '@capay/sdk';Ntabwo iri kuri npm. Umurongo wo gutumiza uri hejuru ni uwa nyuma, bityo guhuza kwawe ntibizahinduka igihe izasohoka.
Soma ubuyobozifrom capay import CapayNtabwo iri kuri PyPI. Umurongo wo gutumiza uri hejuru ni uwa nyuma, bityo guhuza kwawe ntibizahinduka igihe izasohoka.
Soma ubuyoboziuse Capay\CapayClient;Ntabwo iri kuri Packagist. Umurongo wo gutumiza uri hejuru ni uwa nyuma, bityo guhuza kwawe ntibizahinduka igihe izasohoka.
Soma ubuyoboziGenzura buri webhook
Imikono ibarwa ku mubiri mubisi kandi igereranywa mu gihe gihoraho, kandi ikimenyetso cy'igihe kirenze amasegonda 300 kiranzwe. Ntukigere wizera webhook utagenzuye.
# 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.completedGutanga kwanze kongerwa kugerageza ku gahunda ihoraho: 1m, 5m, 30m, 2h, 6h, 12h, 24h, 24h. Endpoint yanze inshuro 8 zikurikirana ihagarikwa kandi ukamenyeshwa, ni yo mpamvu endpoint yapfuye itamira ibintu mu ibanga.
Amabanga abiri yo gusinya ashobora gukora icyarimwe, ni yo mpamvu ushobora kuyahindura utabuze ikintu. Anga ikintu cyose kiri hanze y'idirishya ry'amasegonda 300 kandi ubike id y'ikintu kugira ngo kongera kohereza kutagira ingaruka.
Ibindi bikoresho
Ubusobanuro imashini ishobora gusoma, ikusanyirizo ushobora kwinjiza, n'ibikoresho bibisoma.
Sura urubuga
Tangira kwakira ubwishyu muri Afurika yose uhereye none
Fungura konti y'ubuntu, wubake ukoresheje sandbox, hanyuma utangire nyayo nyuma yo kugenzurwa.
Tubwire imiyoboro n'ubwinshi bw'ibikorwa byawe igihe icyo ari cyo cyose.