انتقل إلى المحتوى الرئيسي

تكامل Webhook

يقوم خطاف الويب بإبلاغ حدث الحساب إلى جهاز الاستقبال URL الخاص بك. إنه إشعار؛ تحقق من حالة المعاملة الرسمية من خلال GETمعاملة.

ضبط الرسيفر​

في إعدادات Heth webhook، قم بتعيين URL الذي تتحكم فيه، وقم بتكوين سر التكامل وتمكين التسليم. يؤدي تغيير URL إلى تغيير من يتلقى أحداث الحساب. قم بحماية نقطة النهاية هذه وتجنب عمليات إعادة التوجيه إلى مستلمين غير موثوق بهم. يتطلب التكوين جلسة حساب المستخدم؛ مفتاح API المستخدم للمعاملات لا يكفي تلقائيًا.

معالجة الإشعارات بأمان​

  1. التحقق من صحة توقيع webhook للحساب وإعادة عمليات التحقق الموضحة أدناه.
  2. سجل معرف الحدث/المعاملة مع حذف الحقول الحساسة.
  3. اجعل التعامل لمنع تكرار الأثر: يجب ألا يؤدي التسليم المكرر أو المتأخر إلى إنشاء دفعة أخرى.
  4. استرجاع المعاملة ببيانتك الخاصة وتسوية حالتها.
  5. إعادة رد المستلم المطلوب بموجب عقد التسليم المكوّن.

لا تعامل إشعار المتصفح كخطاف ويب أو ضمان للتسليم. لا تعد هذه النظرة العامة بالترتيب أو فترات إعادة المحاولة أو تنسيق المصادقة المشترك لكل عملية تكامل تم تكوينها. الحصول على عقد التسليم الفعلي قبل تمكين أتمتة الإنتاج.

تنسيق تسليم webhook الحساب​

ينطبق هذا التنسيق على خطافات الويب للحساب التي تم تكوينها في إعدادات Heth. قد تستخدم عمليات تكامل رد الاتصال الأخرى عقدًا مختلفًا.

عند تكوين سر خطاف ويب للحساب غير فارغ، يتضمن الطلب توقيع x-webhook (ست عشري HMAC-SHA256) وx-webhook-timestamp (ثواني Unix) ومعرف حدث x-webhook. تحقق من HMAC عبر الطابع الزمني + "." + بايتات نص HTTP الأولية الدقيقة باستخدام السر الذي تم تكوينه؛ لا تقم بتحليل وإعادة تسلسل JSON قبل التحقق. تحقق من تطابق الطابع الزمني للنص الموقع مع رأس الطابع الزمني، ورفض فرق الساعة الذي يزيد عن دقائق 5، ومقارنة التوقيعات في الوقت الثابت، وإلغاء التكرار بواسطة events_id. تحتفظ إعادة المحاولة بمعرف الحدث ولكنها تتلقى طابعًا زمنيًا/توقيعًا جديدًا. بدون سر تم تكوينه، يمكن أن تكون رؤوس التوقيع غائبة؛ قم بتكوين سر قبل الوثوق بالتسليم الآلي.

hex(HMAC-SHA256(secret, timestamp + "." + raw_body))

يحتوي المظروف على معرف الحدث والطابع الزمني والنوع والبيانات. بالنسبة لأحداث معاملات الحساب، تتضمن البيانات tx_id وtxid والنوع والحالة والمبلغ والعملة وevent_type. يمكن أن يكون المبلغ عددًا صحيحًا JSON: استخدم محللًا بدون فقدان البيانات. قد يضيف التبرع كائنًا للتبرع. قم بالاعتراف بالحدث الذي تم التحقق منه باستخدام HTTP 2xx بعد تسجيله؛ يجب ألا تؤدي قيم Event_id المتكررة التي تم التحقق منها إلى تشغيل إجراء الأعمال مرتين. قم بتأكيد المعاملة من خلال GET حتى بعد تلقي إشعار صالح.