4 نقاط نهاية
جلسات الدفع
يتحوّل طلب المتجر الإلكتروني إلى جلسة: توجّهون المشتري إلى صفحة الدفع المستضافة وتستعيدون النتيجة.
عناوين النقاط وأوصافها تأتي من عقد OpenAPI، بالإنجليزية — فلا يمكن أن تحيد عن الواجهة.
بكلمات بسيطة
الأداء داخل موقعكم: طلبية واحدة، جلسة واحدة.
متى تستعملونها
لمتجر أو تطبيق يقع فيه الدفع داخل مسار طلب، بعناوين عودة وإلغاء تخصّكم. وتنتهي صلاحية الجلسة افتراضيًا بعد 72 ساعة من إنشائها — `expiresAt` لتقصيرها.
كيف تدمجونها
- 1أنشئوا الجلسة بالمبلغ ومرجع طلبكم — عناوين العودة اختيارية: بدونها تسري القيم الافتراضية لحسابكم.
- 2وجّهوا المشتري إلى عنوان الدفع الذي تستلمونه.
- 3عند عودته، اعرضوا حالة انتظار — فالعودة تقول إن المشتري رجع، لا إن الدفع تمّ.
- 4أكّدوا الطلب عند وصول الويب هوك، لا بالاعتماد على إعادة التوجيه وحدها.
بطاقة اختبار السندبوكس
تعمل السندبوكس على مسارات حقيقية مقابل بيئة اختبار: المسارات حقيقية، أما المال فلا. وبطاقة واحدة فقط مقبولة فيها.
هذا الـ PAN هو الوحيد المقبول. أي رقم آخر — بما فيه 4242… الخاص بمنصات أخرى — يُرفض عند المنبع — عادةً بخطأ 502 — مع الرمز الثابت BAAS_CHARI_ERROR. إن واجهتم هذا الخطأ أثناء الاختبار، فتحققوا أولًا من البطاقة المُدخلة.
- POST
/v1/payment-sessions/{sessionId}/cancelإلغاء جلسة دفع - GET
/v1/payment-sessionsعرض جلسات الدفع - POST
/v1/payment-sessionsإنشاء جلسة دفع - GET
/v1/payment-sessions/{sessionId}استرجاع جلسة دفع
إلغاء جلسة دفع
يُنهي صلاحية الجلسة بحيث لا يمكن دفعها بعد ذلك. يُعيد حالة الجلسة المحدّثة.
| الحقل | النوع | الموضع | مطلوب | الوصف |
|---|---|---|---|---|
sessionId | string | path | مطلوب |
عرض جلسات الدفع
تُرجع جلسات الدفع الخاصة بالجهة المستدعية لبيئة المفتاح، الأحدث أولًا. يمكنكم اختياريًا التصفية حسب مصدر الإنشاء باستخدام ?origin=API أو ?origin=DASHBOARD.
| الحقل | النوع | الموضع | مطلوب | الوصف |
|---|---|---|---|---|
origin | enum | query | اختياري | التصفية حسب مصدر الإنشاء (API أو DASHBOARD).القيم APIDASHBOARD |
pageable | Pageable | query | مطلوب |
إنشاء جلسة دفع
تنشئ جلسة دفع للاستخدام مرة واحدة لطلبية معيّنة وتُرجع رابط checkoutUrl المستضاف الخاص بها. أرسلوا externalId اختياريًا من إنشائكم (فريدًا لكل تاجر) لجعل عملية الإنشاء idempotent (دون تكرار): يؤدي externalId المكرّر إلى إرجاع الجلسة الموجودة مع 200 OK. مرّروا ترويسة Idempotency-Key اختيارية لجعل إعادة المحاولات آمنة.
المخطط · CreateCheckoutSessionRequest
| الحقل | النوع | الموضع | مطلوب | الوصف |
|---|---|---|---|---|
Idempotency-Key | string | header | اختياري | مفتاح Idempotency اختياري؛ إعادة إرسال القيمة نفسها تُعيد النتيجة الأولى. |
amount | number | body | مطلوب | المبلغ المراد تحصيله، بالدرهم (الوحدة الرئيسية). |
orderId | string | body | مطلوب | مرجع الطلب أو المرجع التجاري الخاص بكم لجلسة الدفع هذه. |
singleUse | boolean | body | اختياري | جلسة للاستخدام مرة واحدة (موصى به). القيمة الافتراضية true. |
externalId | string | body | اختياري | معرّف اختياري تقدّمونه أنتم، فريد لكل تاجر؛ تؤدي القيمة المكرّرة إلى إعادة إرجاع الجلسة الموجودة. يختلف عن orderId/externalReference اللذين لا يُفرض عليهما التفرّد. |
config | CheckoutSessionConfig | body | مطلوب | المشتري وروابط إعادة التوجيه وخيارات جلسة الدفع. |
config.customer | CheckoutSessionCustomer | body | مطلوب | المشتري الذي يُخصم منه المبلغ. |
config.urls | CheckoutSessionUrls | body | اختياري | عناوين URL اختيارية لإعادة التوجيه / الإشعار. أي حقل غير مضبوط يعود إلى القيمة الافتراضية المهيّأة لدى التاجر، ثم إلى القيمة الافتراضية للمنصة. |
config.keepAlive | boolean | body | اختياري | يُبقي الجلسة نشطة بعد محاولة فاشلة ليتمكّن المشتري من إعادة المحاولة. القيمة الافتراضية false. |
config.frontend | CheckoutSessionFrontend | body | اختياري | تخصيص بصري اختياري لصفحة الدفع المستضافة. |
config.settlement | CheckoutSessionSettlement | body | اختياري | توزيع اختياري — محفظة التاجر الفرعي المراد إيداع المبلغ فيها. |
metadata | object | body | اختياري | كائن بيانات وصفية حر الشكل (≤ 4 KB) يُعاد إرساله في ويب هوك الدفع. |
expiresAt | string (date-time) | body | اختياري | انتهاء صلاحية الجلسة (ISO-8601 UTC). يجب أن يكون في المستقبل؛ افتراضيًا بعد 72 ساعة من الإنشاء. |
notifyOnFailure | boolean | body | اختياري | إرسال ويب هوك payment.failed أيضاً عند فشل الدفع. القيمة الافتراضية false. |
استرجاع جلسة دفع
تجلب الحالة الحالية لجلسة ما ومبلغها وتاريخ انتهائها بواسطة معرّفها.
| الحقل | النوع | الموضع | مطلوب | الوصف |
|---|---|---|---|---|
sessionId | string | path | مطلوب | معرّف الجلسة. |
سؤال حول الدمج؟
يجيب فريقنا التقني فرق الإدماج، من أول استدعاء في السندبوكس حتى الانتقال إلى الإنتاج.