Skip to main content

قبل الاستدعاء

  • يجب أن تكون المعاملة بالحالة READY.
  • اعرض على العميل amount وfee ومجموعهما لكل فاتورة اختارها، واحصل على تأكيده.
  • احفظ سجل الطلب الخاص بك أولًا. تنقل pay أموالًا فعلية.

الطلب

تأخذ POST /v3/bills/pay قيمة transactionId الخاصة بالاكتشاف، والفاتورة (أو الفواتير) المراد دفعها، وref جديدًا.أرسل billId أو billIds، ولا ترسلهما معًا أبدًا.
يجب ألا تكون قيمة ref هي ref الاكتشاف. تحتفظ الواجهة بـ ref الاكتشاف في المعاملة وترفض أي ref لا يزال مستخدمًا لدى ذلك الشريك بالخطأ 403 DUPLICATED_REF. اصطلاح بسيط: <discoveryRef>-pay.

الاستجابة

قيمة ref في الاستجابة هي ref الاكتشاف: تحتفظ المعاملة بمرجع واحد طوال دورة حياتها. يعني الرمز 200 أن الدفعة قُبلت، لا أنها نجحت.

دفع عدة فواتير دفعةً واحدة

أرسل billIds بدلًا من billId. تُسدَّد الفواتير في طلب واحد ورسومها هي مجموع قيم fee للفواتير المختارة. وحده SEAAL يسدّد عدة فواتير في طلب واحد: لدى أي شريك آخر، يجيب billIds الذي يحوي أكثر من معرّف بـ 400 ERR_VALIDATION.
في المعاملة، يحمل selectedBill حينئذٍ القيمة الإجمالية (amount = مجموع الفواتير، وbillId = المعرّف الأول)، وتسرد selectedBills[] كل فاتورة على حدة. استخدم selectedBills للمطابقة.ينطبق هذا على أي مُصدِر فاتورة أعاد الاكتشاف لديه عدة فواتير. وهذا شائع في حسابات SEAAL.

متابعة الدفعة

استطلع حالة GET /v3/bills/transactions/{transactionId} كل 5 ثوانٍ إلى أن تصبح قيمة status هي SUCCESS أو FAILED أو REFUNDED.تفاصيل كل حالة وكل حقل: حالة المعاملة.

الأخطاء المتزامنة

يعني الرمز 4xx/5xx هنا أنه لم يُنقل أي مبلغ. أما انتهاء مهلة الشبكة فيعني أنك لا تعرف النتيجة: ابحث عن المعاملة قبل القيام بأي شيء آخر.

التالي: حالة المعاملة

كل حالة، وكل حقل، وطريقة استطلاع الحالة