डेवलपर

एक API जो आपकी टीम को वाकई पसंद आएगा

अनुमानित REST, idempotency keys, साइन किए गए वेबहुक और सिम्युलेटेड रेल्स वाला सैंडबॉक्स, ताकि एक भी फ़्रैंक भेजने से पहले आप एंड-टू-एंड इंटीग्रेट कर सकें।

खाता बनाएँ
डेवलपर्स के लिए बनाया गया

एक ही अनुरोध में आपका पहला कलेक्शन

साफ़-सुथरा REST, अनुमानित JSON एनवेलप और हर रिस्पॉन्स पर request id। सैंडबॉक्स प्रोडक्शन का दर्पण है: वही API, वही स्टेटस, वही वेबहुक।

  • सैंडबॉक्स और प्रोडक्शन keys, हर ऐप के लिए अलग स्कोप
  • रीप्ले सुरक्षा के साथ HMAC-साइन किए गए वेबहुक
  • पैसा भेजने वाली हर कॉल पर idempotency keys
  • टाइप्ड एरर जो ठीक-ठीक बताते हैं कि क्या सुधारना है
  • 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"
}

आपका पहला संग्रहण

एक अनुरोध भुगतान आशय बनाता है, अनुरोध 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 सीमा पर दशमलव स्ट्रिंग और बहीखाते में छोटी इकाइयां हैं, इसलिए फ्लोटिंग पॉइंट में कुछ नहीं खोता। पैसा हिलाने वाला हर कॉल idempotency कुंजी लेता है और हर उत्तर में अनुरोध id होता है जिसे आप सहायता को बता सकते हैं।

सर्वर SDK

उसी REST API पर पतले, टाइप किए हुए आवरण, जिनमें idempotency और हस्ताक्षर सत्यापन पहले से हैं।

TypeScript and Nodeजल्द प्रकाशित@capay/sdk
Import
import { Capay } from '@capay/sdk';

npm पर अभी उपलब्ध नहीं है। ऊपर दी गई import लाइन अंतिम है, इसलिए प्रकाशित होने पर आपका इंटीग्रेशन नहीं बदलेगा।

गाइड पढ़ें
Pythonजल्द प्रकाशितcapay
Import
from capay import Capay

PyPI पर अभी उपलब्ध नहीं है। ऊपर दी गई import लाइन अंतिम है, इसलिए प्रकाशित होने पर आपका इंटीग्रेशन नहीं बदलेगा।

गाइड पढ़ें
PHPजल्द प्रकाशितcapay/capay-php
Import
use Capay\CapayClient;

Packagist पर अभी उपलब्ध नहीं है। ऊपर दी गई import लाइन अंतिम है, इसलिए प्रकाशित होने पर आपका इंटीग्रेशन नहीं बदलेगा।

गाइड पढ़ें

हर 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 बार असफल होने वाला endpoint बंद कर दिया जाता है और आपको बताया जाता है, ताकि मृत endpoint चुपचाप घटनाएं न निगले।

दो हस्ताक्षर रहस्य एक साथ सक्रिय रह सकते हैं, इसलिए आप बिना कोई घटना खोए बदल सकते हैं। 300 सेकंड की अवधि के बाहर सब कुछ अस्वीकार करें और घटना id सहेजें ताकि पुनरावृत्ति हानिरहित रहे।

बाकी सामग्री

मशीन पढ़ सके ऐसे विनिर्देश, आयात करने योग्य संग्रह, और उन्हें पढ़ने वाले उपकरण।

llms.txtकोडिंग सहायकों के लिए पूरा दस्तावेज एक साथ, ताकि आपका AI हमारी API के बारे में हमारे ही पाठ से उत्तर दे।OpenAPI विनिर्देशAPI से बना पूरा अनुबंध। किसी भी भाषा में क्लाइंट बनाने के लिए इसे आयात करें।Postman संग्रहहर endpoint उदाहरण बॉडी और पर्यावरण चरों के साथ, सैंडबॉक्स पर चलाने को तैयार।
कमांड लाइनजल्द आ रहा हैपरीक्षण भुगतान बनाएं, घटनाएं देखें और webhook को अपनी मशीन पर दोबारा चलाएं।@capay/cli
MCP सर्वरजल्द आ रहा हैअपने कोडिंग सहायक को सैंडबॉक्स की पढ़ने की अनुमति दें ताकि वह आपके असली डेटा से उत्तर दे।@capay/mcp
चेकआउट स्क्रिप्टजल्द आ रहा हैभुगतान पृष्ठ को पुनर्निर्देशित करने के बजाय अपने ही पृष्ठ पर एक विंडो में खोलें।https://pay.capayglobal.com/capay.js

आज ही पूरे अफ़्रीका में भुगतान कलेक्ट करना शुरू करें

मुफ़्त खाता बनाएँ, सैंडबॉक्स पर बिल्ड करें और सत्यापन के बाद लाइव जाएँ।

खाता बनाएँ

कभी भी हमें अपने कॉरिडोर और वॉल्यूम के बारे में बताएँ।