المطورون

واجهة API سيستمتع بها فريقك فعلاً

واجهة REST متوقعة، ومفاتيح عدم التكرار، وويب هوك موقّعة، وبيئة تجريبية بقنوات محاكاة لتتكامل من البداية إلى النهاية قبل تحريك فرنك واحد.

إنشاء حساب
مصمم للمطورين

أول تحصيل لك في طلب واحد

واجهة REST نظيفة، وبنية JSON متوقعة، ومعرّف طلب في كل استجابة. البيئة التجريبية تطابق الإنتاج: نفس API، ونفس الحالات، ونفس الويب هوك.

  • مفاتيح للبيئة التجريبية والإنتاج، بنطاق محدد لكل تطبيق
  • ويب هوك موقّعة بتوقيع HMAC مع حماية من إعادة الإرسال
  • مفاتيح عدم التكرار في كل استدعاء يحرّك الأموال
  • أخطاء منظّمة تخبرك بالضبط بما يجب إصلاحه
  • مواصفة 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"
}

اول تحصيل لك

طلب واحد ينشئ نية دفع، ويعيد معرف الطلب، وفي المحفظة الهاتفية يرسل الطلب الى هاتف الدافع. تتصرف البيئة التجريبية تماما مثل بيئة الانتاج.

احصل على مفاتيح الاختبارانشئ حسابا وستظهر مفاتيح البيئة التجريبية فورا في صفحة المطور. تفتح مفاتيح الانتاج بعد التحقق من الشركة.
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
المبالغ سلاسل عشرية عند حدود الواجهة البرمجية ووحدات صغرى في الدفتر، فلا يضيع شيء بسبب الفاصلة العائمة. كل نداء يحرك مالا يقبل مفتاح عدم التكرار، وكل استجابة تحمل معرف طلب يمكنك ذكره للدعم.

حزم الخوادم

اغلفة رفيعة ومحددة الانواع فوق نفس الواجهة البرمجية، مع عدم التكرار والتحقق من التوقيع بداخلها.

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 مرات متتالية تعطل ويبلغك بذلك، حتى لا تبتلع نقطة ميتة الاحداث بصمت.

يمكن ان يكون سران للتوقيع نشطين في وقت واحد، فتستطيع التدوير دون فقدان حدث. ارفض كل ما هو خارج نافذة 300 ثانية واحفظ معرف الحدث حتى تصبح الاعادة غير ضارة.

بقية الادوات

مواصفات تقرؤها الالة، ومجموعة يمكنك استيرادها، والادوات التي تقرؤها.

llms.txtكل الوثائق مسطحة لمساعدي البرمجة، حتى يجيب ذكاؤك الاصطناعي عن واجهتنا البرمجية من نصنا نحن.مواصفة OpenAPIالعقد الكامل، مولد من الواجهة البرمجية. استورده لبناء عميل باي لغة.مجموعة Postmanكل نقطة نهاية مع اجسام امثلة ومتغيرات بيئة، جاهزة للتشغيل على البيئة التجريبية.
سطر الاوامرقريباانشئ دفعات اختبار، وتابع الاحداث، واعد تشغيل webhook على جهازك.@capay/cli
خادم MCPقريباامنح مساعد البرمجة لديك صلاحية قراءة بيئتك التجريبية ليجيب ببياناتك الحقيقية.@capay/mcp
سكربت الدفعقريباافتح صفحة الدفع في نافذة فوق صفحتك بدل اعادة التوجيه.https://pay.capayglobal.com/capay.js

ابدأ تحصيل المدفوعات عبر أفريقيا اليوم

أنشئ حساباً مجانياً، وطوّر على البيئة التجريبية، وانطلق مباشرة بعد التحقق.

إنشاء حساب

أخبرنا عن ممراتك وأحجام معاملاتك في أي وقت.