API ambayo timu yako itaifurahia kweli
REST inayotabirika, funguo za idempotency, webhook zilizosainiwa na sandbox yenye njia za malipo zilizoigwa ili uunganishe kuanzia mwanzo hadi mwisho kabla ya kuhamisha hata faranga moja.
Kusanyo lako la kwanza kwa ombi moja
REST safi, muundo wa JSON unaotabirika na kitambulisho cha ombi kwenye kila jibu. Sandbox inafanana kabisa na mazingira halisi: API ile ile, hali zile zile, webhook zile zile.
- Funguo za sandbox na za mazingira halisi, zikiwa na mipaka kwa kila programu
- Webhook zilizosainiwa kwa HMAC zenye kinga dhidi ya kurudiwa
- Funguo za idempotency kwenye kila wito unaohamisha pesa
- Makosa yaliyoainishwa yanayokuambia hasa cha kurekebisha
- Maelezo ya OpenAPI, mkusanyiko wa Postman na llms.txt, vyote vimechapishwa
- Vipindi vya malipo vinavyopangishwa na callback tambarare kwa viunganishi vya CRM, ERP na maduka
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"
}Ukusanyaji wako wa kwanza
Ombi moja huunda nia ya malipo, hurudisha kitambulisho cha ombi na, kwa pesa ya simu, hutuma kidokezo kwa simu ya mlipaji. Sandbox hufanya kazi sawasawa na uzalishaji.
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 seva
Vifuniko vyembamba vyenye aina juu ya API ileile ya REST, vikiwa na idempotency na uhakiki wa saini ndani yake.
import { Capay } from '@capay/sdk';Bado haipo kwenye npm. Mstari wa import ulio hapo juu ni wa mwisho, hivyo muunganisho wako hautabadilika itakapochapishwa.
Soma mwongozofrom capay import CapayBado haipo kwenye PyPI. Mstari wa import ulio hapo juu ni wa mwisho, hivyo muunganisho wako hautabadilika itakapochapishwa.
Soma mwongozouse Capay\CapayClient;Bado haipo kwenye Packagist. Mstari wa import ulio hapo juu ni wa mwisho, hivyo muunganisho wako hautabadilika itakapochapishwa.
Soma mwongozoHakiki kila webhook
Saini hukokotolewa juu ya mwili ghafi na kulinganishwa kwa muda thabiti, na alama ya muda kongwe kuliko sekunde 300 hukataliwa. Usiamini kamwe webhook ambayo hujaihakiki.
# 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.completedUwasilishaji ulioshindwa hujaribiwa tena kwa ratiba isiyobadilika: 1m, 5m, 30m, 2h, 6h, 12h, 24h, 24h. Sehemu inayoshindwa mara 8 mfululizo huzimwa nawe huarifiwa, hivyo sehemu iliyokufa haimezi matukio kimyakimya.
Siri mbili za kusaini zinaweza kuwa hai kwa wakati mmoja, hivyo unaweza kuzibadilisha bila kupoteza tukio. Kataa chochote kilicho nje ya dirisha la sekunde 300 na hifadhi kitambulisho cha tukio ili kurudia kusiwe na madhara.
Sehemu nyingine ya kifurushi
Maelezo yanayosomwa na mashine, mkusanyiko unaoweza kuingiza, na zana zinazoyasoma.
Chunguza jukwaa
Anza kupokea malipo kote Afrika leo
Fungua akaunti ya bure, jenga kwenye sandbox na uanze rasmi baada ya uthibitisho.
Tueleze kuhusu korido na kiasi cha miamala yako wakati wowote.