API ichanakidza chikwata chako zvechokwadi
REST inozivikanwa, ma-idempotency key, mawebhook akasainwa uye sandbox ine nzira dzekubhadhara dzekudzidzira nadzo kuti ubatanidze zvose usati wafambisa sendi rimwe chete.
Kutambira kwako kwekutanga nechikumbiro chimwe chete
REST yakachena, JSON envelope inozivikanwa uye request id pamhinduro yega yega. Sandbox yakafanana neyechokwadi: API imwe cheteyo, mastatus akafanana, mawebhook akafanana.
- Makiyi esandbox neechokwadi, akatarwa paapp imwe neimwe
- Mawebhook akasainwa neHMAC ane dziviriro ye-replay
- Ma-idempotency key pakushevedza kwese kunofambisa mari
- Zvikanganiso zvine mhando dzakajeka zvinokuudza chaizvo chekugadzirisa
- Tsananguro yeOpenAPI, muunganidzwa wePostman ne llms.txt, zvose zvakaburitswa
- Zvikamu zvekubhadhara zvinogarwa nemacallback akati sandara ezvibatanidzi zveCRM, ERP nezvitoro
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"
}Kuunganidza kwako kwekutanga
Chikumbiro chimwe chinogadzira chinangwa chekubhadhara, chinodzosa id yechikumbiro uye, pamari yefoni, chinotumira chikumbiro kufoni yemubhadhari. Sandbox inoita chaizvo sezvinoita production.
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"
}MaSDK eserver
Zvifukidziro zvishoma zvine marudzi pamusoro peAPI yeREST imwe chete, zvine idempotency nekusimbisa siginecha mukati.
import { Capay } from '@capay/sdk';Haisati iri panpm. Mutsara we import uri pamusoro ndiwo wekupedzisira, saka kubatanidzwa kwako hakuchinji pakuburitswa.
Verenga gwarafrom capay import CapayHaisati iri paPyPI. Mutsara we import uri pamusoro ndiwo wekupedzisira, saka kubatanidzwa kwako hakuchinji pakuburitswa.
Verenga gwarause Capay\CapayClient;Haisati iri paPackagist. Mutsara we import uri pamusoro ndiwo wekupedzisira, saka kubatanidzwa kwako hakuchinji pakuburitswa.
Verenga gwaraSimbisa webhook yega yega
Masiginecha anoverengerwa pamuviri usina kugadziriswa uye anoenzaniswa munguva yakagadzikana, uye chidzoro chenguva chinopfuura masekondi 300 chinorambwa. Usambo vimba newebhook yausina kusimbisa.
# 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.completedKuendesa kwakatadza kunoedzwa zvakare nehurongwa hwakagadzikana: 1m, 5m, 30m, 2h, 6h, 12h, 24h, 24h. Endpoint inotadza kanguva 8 kakateedzana inodzimwa uye unoudzwa, kuti endpoint yakafa isanyararira kumedza zviitiko.
Zvakavanzika zviviri zvekusaina zvinogona kushanda panguva imwe chete, saka unogona kuchinjanisa usingarasikirwe nechiitiko. Ramba chero chiri kunze kwenguva yemasekondi 300 uye chengeta id yechiitiko kuti kudzokorora kusakuvadza.
Zvimwe zvishandiso
Tsananguro dzinoverengwa nemuchina, muunganidzwa waunogona kupinza, uye zvishandiso zvinozviverenga.
Ferefeta platform
Tanga kutambira mari muAfrica yose nhasi
Vhura account yemahara, uvake uchishandisa sandbox, wozoenda live mushure mekuongororwa.
Tiudze nezvemakorido ako nehuwandu hwemari chero nguva.