Skip to main content

نظرة عامة

الدفع هو نصف الكتابة في دفع الفواتير. تأخذ billId واحداً من استكشاف في حالة READY، وترسله، فتحمل المعاملة نفسها الدفعة حتى تصل إلى حالة نهائية.هذا هو الاستدعاء الذي يحرّك المال، لذا فإن ترتيب العمليات هنا يهم أكثر من أي مكان آخر في التكامل: اكتب سجلك الخاص أولاً، ثم أرسل مرة واحدة، ثم تابع الحالة.
الرمز 200 من pay يعني أن الدفعة قُبلت وهي قيد التنفيذ. وهو لا يعني أن الفاتورة دُفعت. فالنتيجة لا تظهر إلا في status الخاص بالمعاملة.

اختيار فاتورة

قد تحمل bills[] في معاملة READY عدة مدخلات. اختر واحدة — فالدفعة تسدد فاتورة واحدة بالضبط.
لدفع عدة فواتير لحساب واحد، ادفع الأولى، وانتظر حتى تصل إلى حالة نهائية، ثم شغّل استكشافاً جديداً. أما وجود دفعتين قيد التنفيذ للحساب نفسه فيُرفض بـ 409 PAYMENT_IN_PROGRESS.

ما يدفعه عميلك

الرسوم نسبة مئوية من المبلغ، محصورة بين حد أدنى وحد أقصى، وتُضبط لكل مُصدِر فاتورة على حدة:SEAAL وAADL غير متاحين حاليًا، لذا لا تُنشر رسوم لهما.وبالتفصيل، لـ ADE وSONELGAZ:
لا تصبح النسبة المئوية مؤثرة إلا في الفواتير الكبيرة. فبالنسبة لـ ADE وSONELGAZ تُحتسب كل فاتورة حتى 6,000 DZD بالحد الأدنى البالغ 30 DZD، ولا تتجاوز الرسوم 60 DZD أبدًا. أما بالنسبة لـ Algérie Télécom فالعتبتان المقابلتان هما 2,000 DZD و10,000 DZD.
اقرأ fee من الاستجابة. فالنسبة المئوية والحدّان إعدادات، لا ثوابت — والرسوم التي تحسبها بنفسك ستختلف في نهاية المطاف عن الرسوم التي تُخصم منك.

قبل أن ترسل

1

احفظ سجلك الخاص

اكتب الطلب — العميل، وtransactionId، وbillId، وamount، وfee، وtotal، والـ ref الذي أنت على وشك استخدامه — قبل أن يغادر الطلبُ عمليتك. فإذا ضاعت الاستجابة، فهذا السطر هو وسيلتك للعثور على الدفعة مرة أخرى.
2

أكّد المجموع مع عميلك

اعرض amount وfee كلاً على حدة، ثم total الذي ستخصمه. ولا تعرض تقديراً أبداً.
3

أرسل مرة واحدة

استدعاء واحد، بـ ref جديد لدى هذا المُصدِر.
4

تابع حتى حالة نهائية

SUCCESS أو FAILED أو REFUNDED.الخطوة 4: تتبع الحالة

إرسال الدفعة

ثلاثة حقول، جميعها مطلوبة.
استخدم ref جديداً، مختلفاً عن مرجع الاستكشاف. فإعادة استخدام ref الاستكشاف هنا تُجيب بـ 403 DUPLICATED_REF. تحتفظ المعاملة بـ ref الاستكشاف الأصلي — وهو ما تُعيده الاستجابة وما يبحث عنه by-ref.

الحُرّاس الثلاثة

ثلاث قواعد تمنع تحرّك المال نفسه مرتين. وجميعها تجيب قبل أن يُخصم أي شيء.
ولا واحد من هذه الأخطاء سبب لإعادة المحاولة بـ ref مختلف. فكل واحد منها يعني أن العمل إما أُنجز بالفعل وإما أنه جارٍ الآن. وإعادة المحاولة للالتفاف حول حارس هي ما يجعل العميل يُخصم منه مرتين.
والاستجابة الصحيحة للثلاثة واحدة: اقرأ المعاملة وتابع من حالتها.

عندما لا تصل الاستجابة أبداً

انتهاء المهلة لا يخبرك بشيء عمّا إذا كانت الدفعة قد تمت. اقرأ المعاملة قبل أن تفعل أي شيء آخر.
لا تُعِد إرسال دفعة أبداً لمجرد أن الطلب انتهت مهلته. فالمعاملة التي ما زالت في READY هي الحالة الوحيدة التي تثبت أن الدفعة لم تبدأ.

الأخطاء التي ستصادفها

أفضل الممارسات

اكتب قبل أن ترسل

احفظ الطلب وref الخاص به أولاً. عندها تكون الاستجابة الضائعة قابلة للاستعادة دائماً.

ref واحد لكل استدعاء

disc- للاستكشاف، وpay- للدفع، وكلاهما مشتق من معرّف طلبك.

اخصم المجموع المُعاد

اخصم من عميلك الـ total الذي أنتجته API، لا رقماً حسبته أنت.

تعامل مع الحارس كجواب

403 و409 يعنيان أن العمل أُنجز أو أنه جارٍ. ابحث عنه بدلاً من الالتفاف حوله.

الخطوة التالية

الخطوة 4: تتبع الحالة

تابع الدفعة حتى حالة نهائية، وتعامل مع UNKNOWN بشكل صحيح

صفحات ذات صلة

دفع فاتورة

مرجع الـ endpoint

جلب معاملة بالمعرّف

كائن المعاملة بالكامل

استكشاف الفواتير

من أين يأتي billId

الإيصالات والمطابقة

ما ينبغي الاحتفاظ به بعد النجاح