開発者

チームが本当に使いたくなるAPI

予測可能なREST、冪等性キー、署名付きWebhook、シミュレートされた決済レールを備えたサンドボックス。1フランも動かす前に、エンドツーエンドで連携を完成できます。

アカウント作成
開発者のために

最初の決済受付をリクエスト1回で

クリーンなREST、予測可能なJSONエンベロープ、すべてのレスポンスにリクエストID。サンドボックスは本番環境の完全なミラーです: 同じAPI、同じステータス、同じWebhook。

  • アプリごとにスコープされたサンドボックスキーと本番キー
  • リプレイ保護付きのHMAC署名Webhook
  • 資金を動かすすべての呼び出しに冪等性キー
  • 修正すべき箇所を正確に伝える型付きエラー
  • OpenAPI 仕様、Postman コレクション、llms.txt をすべて公開
  • CRM・ERP・ショップ用コネクタ向けのホスト型チェックアウトセッションとフラットなコールバック
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"
}

最初の集金

1 回のリクエストで決済インテントを作成し、リクエスト id を返し、モバイルマネーでは支払者の端末に確認を送ります。サンドボックスは本番とまったく同じ挙動です。

テストキーを取得アカウントを作成すると、サンドボックスのキーがすぐ開発者ページに表示されます。本番キーは事業者確認の完了後に開きます。
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"
  }'
レスポンス
{
  "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
金額は API 境界では小数文字列、元帳では最小単位なので、浮動小数で失われるものはありません。資金が動く呼び出しはすべて冪等キーを受け取り、すべてのレスポンスにサポートへ伝えられるリクエスト id が付きます。

サーバー SDK

同じ REST API の薄い型付きラッパーで、冪等性と署名検証を内蔵しています。

TypeScript and Nodeまもなく公開@capay/sdk
インポート
import { Capay } from '@capay/sdk';

まだ npm には公開していません。上のインポート行は確定しているため、公開後もインテグレーションは変わりません。

ガイドを読む
Pythonまもなく公開capay
インポート
from capay import Capay

まだ PyPI には公開していません。上のインポート行は確定しているため、公開後もインテグレーションは変わりません。

ガイドを読む
PHPまもなく公開capay/capay-php
インポート
use Capay\CapayClient;

まだ Packagist には公開していません。上のインポート行は確定しているため、公開後もインテグレーションは変わりません。

ガイドを読む

すべての webhook を検証

署名は生のボディに対して計算し一定時間で比較します。300 秒より古いタイムスタンプは拒否します。検証していない webhook を信用しないでください。

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.
署名ヘッダー
X-Capay-Signature: t=1767225600,v1=6f8b4c2d9e0a1b3c5d7e9f0a2b4c6d8e0f1a3b5c7d9e1f0a2b4c6d8e0f1a3b5c
X-Capay-Event-Id: evt_2n4Kq8Zr41Xa
X-Capay-Event-Type: collection.completed
配信と再試行

失敗した配信は固定間隔で再試行します: 1m, 5m, 30m, 2h, 6h, 12h, 24h, 24h。連続 8 回失敗したエンドポイントは無効化され通知されるので、死んだエンドポイントが黙ってイベントを飲み込むことはありません。

署名シークレットは同時に 2 つ有効にできるため、イベントを落とさずローテーションできます。300 秒の窓の外はすべて拒否し、イベント id を保存して再送を無害にしてください。

その他のツール

機械可読の仕様、そのまま取り込めるコレクション、そしてそれらを読むツール。

llms.txtコーディング支援向けに平坦化した全ドキュメント。お使いの AI が当社の文章から当社の API について答えます。OpenAPI 仕様API から生成した完全な契約。取り込めば任意の言語でクライアントを作れます。Postman コレクション各エンドポイントにサンプルボディと環境変数付き。サンドボックスに対してすぐ実行できます。
コマンドライン近日公開テスト決済の作成、イベントの追跡、webhook のローカル再送ができます。@capay/cli
MCP サーバー近日公開コーディング支援にサンドボックスの読み取り権限を渡し、実データで答えさせます。@capay/mcp
チェックアウトスクリプト近日公開リダイレクトせず、自社ページの上のモーダルで決済ページを開きます。https://pay.capayglobal.com/capay.js

今日からアフリカ全域で決済の受け付けを

無料アカウントを作成し、サンドボックスで開発して、審査完了後に本番稼働。

アカウント作成

コリドーや取引量について、いつでもお知らせください。