Entwickler

Eine API, die Ihrem Team wirklich Freude macht

Vorhersehbares REST, Idempotenzschlüssel, signierte Webhooks und eine Sandbox mit simulierten Zahlwegen, damit Sie Ende-zu-Ende integrieren, bevor ein einziger Franc fließt.

Konto erstellen
Für Entwickler gebaut

Ihr erster Zahlungseinzug mit einer Anfrage

Sauberes REST, ein vorhersehbares JSON-Envelope und eine Request-ID bei jeder Antwort. Die Sandbox spiegelt die Produktion: gleiche API, gleiche Status, gleiche Webhooks.

  • Sandbox- und Produktionsschlüssel, pro App getrennt
  • HMAC-signierte Webhooks mit Replay-Schutz
  • Idempotenzschlüssel bei jedem geldbewegenden Aufruf
  • Typisierte Fehler, die genau sagen, was zu beheben ist
  • OpenAPI-Spezifikation, Postman-Sammlung und llms.txt, alle veroffentlicht
  • Gehostete Checkout-Sessions und flache Callbacks für CRM-, ERP- und Shop-Konnektoren
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"
}

Ihr erster Zahlungseingang

Eine Anfrage erzeugt eine Zahlungsabsicht, liefert eine Request-ID zuruck und schickt bei Mobile Money die Aufforderung auf das Handy des Zahlers. Die Sandbox verhalt sich exakt wie die Produktion.

Testschlussel holenKonto anlegen, und die Sandbox-Schlussel stehen sofort auf Ihrer Entwicklerseite. Produktionsschlussel offnen sich nach der Unternehmensprufung.
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"
  }'
Antwort
{
  "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
Betrage sind an der API-Grenze Dezimalzeichenketten und im Hauptbuch Untereinheiten, es geht also nichts durch Fliesskomma verloren. Jeder geldbewegende Aufruf nimmt einen Idempotenzschlussel, und jede Antwort tragt eine Request-ID, die Sie dem Support nennen konnen.

Server-SDKs

Schlanke, typisierte Hullen uber derselben REST-API, mit eingebauter Idempotenz und Signaturprufung.

TypeScript and NodeVeroffentlichung folgt@capay/sdk
Import
import { Capay } from '@capay/sdk';

Noch nicht auf npm. Die Importzeile oben ist final, Ihre Integration ändert sich bei der Veröffentlichung also nicht.

Anleitung lesen
PythonVeroffentlichung folgtcapay
Import
from capay import Capay

Noch nicht auf PyPI. Die Importzeile oben ist final, Ihre Integration ändert sich bei der Veröffentlichung also nicht.

Anleitung lesen
PHPVeroffentlichung folgtcapay/capay-php
Import
use Capay\CapayClient;

Noch nicht auf Packagist. Die Importzeile oben ist final, Ihre Integration ändert sich bei der Veröffentlichung also nicht.

Anleitung lesen

Jeden Webhook prufen

Signaturen werden uber den Rohkorper berechnet und in konstanter Zeit verglichen, und ein Zeitstempel alter als 300 Sekunden wird abgelehnt. Vertrauen Sie nie einem Webhook, den Sie nicht gepruft haben.

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.
Signatur-Header
X-Capay-Signature: t=1767225600,v1=6f8b4c2d9e0a1b3c5d7e9f0a2b4c6d8e0f1a3b5c7d9e1f0a2b4c6d8e0f1a3b5c
X-Capay-Event-Id: evt_2n4Kq8Zr41Xa
X-Capay-Event-Type: collection.completed
Zustellung und Wiederholungen

Eine fehlgeschlagene Zustellung wird nach festem Plan wiederholt: 1m, 5m, 30m, 2h, 6h, 12h, 24h, 24h. Ein Endpunkt, der 8 Mal hintereinander scheitert, wird deaktiviert und Sie werden informiert, damit ein toter Endpunkt nie stillschweigend Ereignisse verschluckt.

Zwei Signaturgeheimnisse konnen gleichzeitig aktiv sein, Sie konnen also rotieren, ohne ein Ereignis zu verlieren. Lehnen Sie alles ausserhalb des Fensters von 300 Sekunden ab und speichern Sie die Ereignis-ID, damit Wiederholungen harmlos sind.

Der Rest des Werkzeugkastens

Maschinenlesbare Spezifikationen, eine importierbare Sammlung und die Werkzeuge, die sie lesen.

llms.txtDie gesamte Dokumentation flach fur Coding-Assistenten, damit Ihre KI aus unserem Text uber unsere API antwortet.OpenAPI-SpezifikationDer vollstandige Vertrag, aus der API erzeugt. Importieren Sie ihn, um einen Client in jeder Sprache zu bauen.Postman-SammlungJeder Endpunkt mit Beispielkorpern und Umgebungsvariablen, bereit fur einen Lauf gegen die Sandbox.
KommandozeileDemnachstTestzahlungen anlegen, Ereignisse mitlesen und einen Webhook auf Ihren Rechner spielen.@capay/cli
MCP-ServerDemnachstGeben Sie Ihrem Coding-Assistenten Lesezugriff auf Ihre Sandbox, damit er mit Ihren echten Daten antwortet.@capay/mcp
Checkout-SkriptDemnachstOffnen Sie die gehostete Bezahlseite als Overlay auf Ihrer eigenen Seite statt weiterzuleiten.https://pay.capayglobal.com/capay.js

Ziehen Sie noch heute Zahlungen in ganz Afrika ein

Erstellen Sie ein kostenloses Konto, bauen Sie gegen die Sandbox und gehen Sie nach der Verifizierung live.

Konto erstellen

Erzählen Sie uns jederzeit von Ihren Korridoren und Volumen.