Developerfoɔ

API a w'akuo no ani bɛgye ho ampa

REST a wonim deɛ ɛbɛba, idempotency key, webhook a wɔde nsɛnkyerɛnneɛ ahyɛ so ne sandbox a akwan no nyinaa wɔ mu sɛnea wobɛtumi asi biribiara ansa na woatu frank baako mpo.

Bue akawnt
Wɔsi maa developerfoɔ

Wo sikagye a ɛdi kan wɔ abisadeɛ baako mu

REST a ani tew, JSON nhyehyɛeɛ a wonim deɛ ɛbɛba, ne request id wɔ mmuaeɛ biara so. Sandbox no te sɛ deɛ ɛwɔ hɔ ankasa: API koro, tebea koro, webhook koro.

  • Sandbox ne production key, a wɔakyekyɛ mu ama app biara
  • Webhook a HMAC ahyɛ so a replay ho bammɔ ka ho
  • Idempotency key wɔ frɛ biara a ɛma sika tu so
  • Mfomsoɔ a wɔakyekyɛ mu a ɛkyerɛ wo deɛ ɛsɛ sɛ wosiesie pɛpɛɛpɛ
  • OpenAPI nkyerekyeremu, Postman boaboa ne llms.txt, wobeyii ne nyinaa adi
  • Checkout session a wɔahyɛ ne callback a ɛyɛ tẽẽ ma CRM, ERP ne dwadibea nkabom nneɛma
POST /v1/collections
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"
  }'
201 Created
{
  "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"
}

Wo agyeye a edi kan

Abisade baako yi tua botae, de abisade nsonoe ba, na wo mobail sika mu, esoma nkaebo ko otuafo fon so. Sandbox ye adwuma pefee te se adwumaye.

Nya wo sohwe safeYi akawnt na sandbox safe bepue wo wo nkoso kratafa so ntem ara. Adwumaye safe bue bere a wosi adwuma no so dua wie.
POST /v1/collections
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"
  }'
Mmuae
{
  "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"
}
201 Created
Sika dodow ye desimal nkyerewde wo API ano na eye nkyemu ketewa wo nhoma mu, enti biribiara nyera. Frenamu biara a etu sika gye idempotency safe na mmuae biara kura abisade nsonoe a wobetumi aka akyere mmoa.

Server SDK

Nkataso a ehe na ewo su wo REST API koro no ara so, a idempotency ne nsaano nhwehwemu wom.

TypeScript and NodeYebeyi adi nnansa yi ara@capay/sdk
Import
import { Capay } from '@capay/sdk';

Ɛnnya nni npm so. Import nkyerɛwde a ɛwɔ soro no yɛ deɛ ɛtwa toɔ, enti sɛ wɔyi no adi a, wo nkabomu no rensesa.

Kenkan akwankyere
PythonYebeyi adi nnansa yi aracapay
Import
from capay import Capay

Ɛnnya nni PyPI so. Import nkyerɛwde a ɛwɔ soro no yɛ deɛ ɛtwa toɔ, enti sɛ wɔyi no adi a, wo nkabomu no rensesa.

Kenkan akwankyere
PHPYebeyi adi nnansa yi aracapay/capay-php
Import
use Capay\CapayClient;

Ɛnnya nni Packagist so. Import nkyerɛwde a ɛwɔ soro no yɛ deɛ ɛtwa toɔ, enti sɛ wɔyi no adi a, wo nkabomu no rensesa.

Kenkan akwankyere

Hwehwe webhook biara mu

Wobu nsaano wo nipadua mono no so na wode toto ho wo bere koro mu, na wopo bere nsonoe a akyen sekan 300. Nnye webhook a wonhwehwee mu nni bere biara.

X-Capay-Signature
# 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.
Nsaano tirimu
X-Capay-Signature: t=1767225600,v1=6f8b4c2d9e0a1b3c5d7e9f0a2b4c6d8e0f1a3b5c7d9e1f0a2b4c6d8e0f1a3b5c
X-Capay-Event-Id: evt_2n4Kq8Zr41Xa
X-Capay-Event-Type: collection.completed
Ode kama ne nsan sohwe

Wosan sohwe ode kama a edii nkogu wo nhyehyee a ensakra so: 1m, 5m, 30m, 2h, 6h, 12h, 24h, 24h. Baabi a edi nkogu mpen 8 toatoa so no, wodum na woka kyere wo, enti baabi a awu no memene nsem komm.

Nsaano ahintasem abien betumi aye adwuma bere koro, enti wobetumi asesa a worenhwere asem biara. Po biribiara a efi sekan 300 tokuru no akyi na kora asem nsonoe no so na nsansobea ye hunu.

Nnwinnade a aka

Nkyerekyeremu a mfiri betumi akenkan, boaboa a wobetumi de aba, ne nnwinnade a ekenkan.

llms.txtNkrataa no nyinaa a wobo mu ma koodu aboafo, na wo AI de yen ankasa nkyerewde abua yen API ho asem.OpenAPI nkyerekyeremuApam no nyinaa, wo fi API mu. Fa ba na yi kliɛnt wo kasa biara mu.Postman boaboaBaabi biara a ewie ne nhwesoo nipadua ne mmeae nsakraye, ayeyie ama wo de bedi dwuma wo sandbox so.
Ahyede nkyerewdeErebaYi sohwe tua, di nsem akyi na san bo webhook wo wo mfiri so.@capay/cli
MCP serverErebaMa wo koodu boafo kwan ma onkenkan wo sandbox na ode wo nokware nsem abua.@capay/mcp
Tua skriptErebaBue tua kratafa no wo tokuru mu wo wo ankasa kratafa so sen se wobesoma obi ako baabi foforo.https://pay.capayglobal.com/capay.js

Fi ase gye sika wɔ Afrika baabiara ɛnnɛ

Bue akawnt a ɛyɛ kwa, si wo dwumadie wɔ sandbox so, na fi ase wɔ nhwehwɛmu akyi.

Bue akawnt

Ka wo sikakwan ne wo sika dodoɔ ho asɛm kyerɛ yɛn berɛ biara.