webhook مدفوعات الكريبتو: كيف تعالج id وstatus
دليل webhook مدفوعات الكريبتو: استقبل الحالة النهائية بطلب POST يحمل id وstatus، وتحقق من ترويسة x-api-key وحدّث الطلبات بأمان. مع مثال كود عملي.
يخبر webhook مدفوعات الكريبتو خلفيتك بالحالة النهائية لدفعة ما. في Qvard هو طلب POST يحمل معرّف طلبك والحالة، فيتحدّث منطق الطلب دون الاستعلام المتكرر من الواجهة.
ما الذي يرسله الـwebhook
تستدعي Qvard عنوان webhook الخاص بك بطلب POST. يحتوي المتن على id الذي أرسلته عند إنشاء الدفعة والحالة، مثل paid. ويحمل الطلب رمز x-api-key في الترويسة.
تحقق من ترويسة x-api-key
قبل أن تثق بالرسالة قارن ترويسة x-api-key برمز حسابك. ارفض الطلبات التي لا تحملها حتى لا يستطيع أحد وضع علامة مدفوع على طلب باستدعاء نقطة النهاية مباشرة.
x-api-key: sk_live_…
{ "id": "order_1024", "status": "paid" }حدّث الطلب بالمعرّف
ابحث عن الطلب بالـid الموجود في المتن وغيّر حالته وفق الـstatus. ضع علامة مدفوع على الطلب فقط عندما تكون الحالة paid، وتجاهل الحالات التي لا يعالجها نظامك.
اجعل المعالج آمنًا عند التكرار
قد يصل الـwebhook نفسه أكثر من مرة. احفظ الـid والحالة اللذين عالجتهما ولا تفعل شيئًا إذا كان الحدث معالجًا من قبل. أجب بكود نجاح بعد حفظ التغيير.
أجب بسرعة وضع العمل البطيء في طابور
أكّد الـwebhook فور حفظ الطلب. أرسل الرسائل والفواتير ونداءات المستودع من مهمة خلفية حتى لا تسبب خطوة بطيئة مهلة انتظار أبدًا.
اختبر بفاتورة تجريبية
أنشئ فاتورة تجريبية وادفعها في الصفحة المستضافة، وراقب وصول الـwebhook إلى نقطة نهايتك قبل الانتقال إلى الإنتاج.
FAQ
ما الفرق بين استجابة API وwebhook؟
تؤكد استجابة API إنشاء الدفعة وتعيد redirectUrl. الـwebhook وحده يبلغ عن الحالة النهائية للدفعة.
ماذا لو كانت نقطة النهاية غير متاحة؟
تتم إعادة الإرسال، لذلك يجب أن يكون المعالج آمنًا عند التكرار. راجع السجلات بانتظام وطابق الطلبات التي بقيت معلقة.
هل أثق بالـwebhook دون x-api-key؟
لا. تحقق دائمًا من ترويسة x-api-key قبل تغيير أي طلب.
ما الحالات التي يجب أن أعالجها؟
عالج paid للدفعات الناجحة، واعتبر أي حالة أخرى معلومة. توثيق API يسرد القيم كاملة.
