البداية
البدء السريع: دفعتك الأولى
احصل على رمز وصول، وأرسل طلب دفع إلى هاتف، واستقبل النتيجة الموقعة على خادمك، وكل ذلك بمفاتيح بيئة الاختبار.
5 دقائق قراءة
في هذه الصفحة
قبل أن تبدأ
أنشئ حساب مطور مجانيًا على pesa-bridge.com/developer/signup. تحصل فورًا على مجموعتي مفاتيح: pk_test_… / sk_test_… لبيئة الاختبار وpk_… / sk_… للإنتاج. المفتاح الذي تصادق به هو الذي يحدد الوضع، لذا لا تمس حركة الاختبار أموالًا حقيقية أبدًا.
كل استدعاء في هذا الدليل يذهب إلى عنوان أساسي واحد:
https://pesa-bridge.com/api/bridgepay/v11. احصل على رمز وصول
استبدل زوج مفاتيحك برمز Bearer. تدوم الرموز ساعة واحدة، فاطلب رمزًا جديدًا قبل انتهاء expires_in.
curl -s https://pesa-bridge.com/api/bridgepay/v1/oauth/token \
-H "Content-Type: application/json" \
-d '{"client_id":"pk_test_…","client_secret":"sk_test_…"}'{
"access_token": "at_9f3…",
"token_type": "Bearer",
"expires_in": 3600,
"mode": "test",
"sandbox": true
}2. أخبرنا أين نرسل النتائج
تكتمل المدفوعات على هاتف العميل، لذا تصلك النتيجة عبر webhook. سجّل نقطة نهاية مرة واحدة، وستتضمن الاستجابة سر توقيع يظهر مرة واحدة فقط. احفظه: فهو ما تتحقق به من كل تسليم.
curl -s https://pesa-bridge.com/api/bridgepay/v1/partner/webhooks/endpoints \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{"name":"Orders","url":"https://your-app.com/webhook","events":"*","mode":"test"}'GET /partner/echo/url عنوانًا يلتقط التسليمات ويتحقق من تواقيعها، ويمكنك فحصها في وحدة تحكم المطور.3. أرسل طلب دفع
أرسل رقم العميل بالصيغة الدولية والمبلغ. أضف reference الخاص بك لتطابق النتيجة مع طلبك، ومفتاح idem حتى لا تؤدي إعادة المحاولة بعد انتهاء المهلة إلى خصم مرتين أبدًا.
curl -s https://pesa-bridge.com/api/bridgepay/v1/partner/stk \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{"payer_msisdn":"254708374149","amount":250,"reference":"INV-1001","idem":"inv-1001-1"}'{
"charge_ref": "STK0000123",
"state": "pending",
"amount": 250.0,
"expiry": "2026-09-27T12:05:00Z"
}يوافق العميل على هاتفه الخاص برقمه السري. أنت لا تراه ولا تتعامل معه أبدًا.
4. استقبل النتيجة
عند اكتمال الخصم نرسل بطريقة POST حدثًا موقعًا إلى نقطة النهاية لديك:
POST /webhook
X-PesaBridge-Event: charge.completed
X-PesaBridge-Signature: …e9 (hex HMAC-SHA256 of the raw body)
{
"event": "charge.completed",
"charge_ref": "STK0000123",
"reference": "INV-1001",
"amount": 250.0,
"currency": "KES",
"payer": "254708374149",
"state": "completed",
"transaction": "PB7H2K9Qmn"
}تحقق من التوقيع، وضع علامة «مدفوع» على الطلب، وأجب بأي رمز 2xx. راجع Webhooks للاطلاع على شيفرة التحقق بعدة لغات.
5. أو تحقق من الحالة بنفسك
تبقى رسائل webhook المرجع المعتمد، لكن يمكنك السؤال في أي وقت:
curl -s "https://pesa-bridge.com/api/bridgepay/v1/partner/status?charge_ref=STK0000123" -H "Authorization: Bearer $TOKEN"{ "charge_ref": "STK0000123", "state": "completed", "transaction": "PB7H2K9Qmn" }الخطوات التالية
- المصادقة: أوضاع المفاتيح، وتخزين الرموز مؤقتًا وتدويرها.
- قبول المدفوعات: رمز QR، والصندوق والدفع برقم الفاتورة (C2B)، والفواتير والأوامر الدائمة.
- صفحة الدفع المستضافة: صفحة دفع دون أي عمل على الواجهة الأمامية.
- قائمة التحقق قبل التشغيل الفعلي: كل ما يجب تأكيده قبل الانتقال إلى المفاتيح الحية.