FreemiumProBusinessEnterprise

لم يصل الويب هوك: التشخيص

أعراض المشكلة

يُبلغ المشارك أنه دفع ثمن التذكرة، لكن:

  • حالة التسجيل — «قيد انتظار الدفع»
  • لم يصل بريد إلكتروني بالتذكرة
  • في قائمة المشاركين حالة الدفع — pending

السبب الأكثر شيوعاً — أن الويب هوك من بوابة الدفع لم يتم تسليمه أو لم تتم معالجته بواسطة tikento.

الخطوة 1. تحقق من سجل تسليم الويب هوك

يحتفظ tikento بسجل لجميع طلبات webhook الواردة:

  1. افتح الإعدادات ← المدفوعات.
  2. اختر البوابة (YooKassa أو Tochka).
  3. انتقل إلى علامة التبويب «سجل Webhook».

يعرض السجل:

  • تاريخ ووقت الطلب
  • نوع الحدث (payment.succeeded، payment.canceled، refund.succeeded)
  • رمز استجابة HTTP من tikento
  • نص الطلب (للتشخيص)
  • حالة المعالجة (نجاح / خطأ)

النتائج المحتملة

الحالةماذا يعنيماذا تفعل
الويب هوك غير موجود في السجلالبوابة لم ترسله أو لم تتمكن من تسليمهانتقل إلى الخطوة 2
الويب هوك موجود، رمز 200تمت المعالجة بنجاحتحقق من تطابق payment_id مع الدفعة المعنية
الويب هوك موجود، رمز 4xxخطأ في التحقق (توقيع غير صحيح، تنسيق غير معروف)انتقل إلى الخطوة 4
الويب هوك موجود، رمز 5xxخطأ داخلي في tikentoانتقل إلى الخطوة 5

الخطوة 2. تحقق من إعدادات الويب هوك في البوابة

سجّل الدخول إلى لوحة تحكم بوابة الدفع وتحقق من:

YooKassa

  1. افتح «الإعدادات»«إشعارات HTTP».
  2. تأكد من تطابق عنوان URL للويب هوك:
    https://app.tikento.com/webhooks/yookassa/{shopId}
    
  3. تحقق من تحديد جميع الأحداث المطلوبة:
    • payment.succeeded
    • payment.canceled
    • refund.succeeded

Tochka

  1. افتح «التكامل»«الإشعارات».
  2. تأكد من تطابق عنوان URL للويب هوك:
    https://app.tikento.com/webhooks/tochka/{merchantId}
    
  3. تحقق من فلاتر الأحداث.

الأخطاء الشائعة في عنوان URL

  • حذف https:// (تم إدخال http:// — تتطلب البوابات HTTPS)
  • شرطة مائلة زائدة في نهاية URL
  • shopId أو merchantId غير صحيح في المسار
  • عنوان URL من اتصال قديم (إذا أعدت توصيل البوابة)

الخطوة 3. تحقق من إمكانية الوصول إلى نقطة نهاية الويب هوك

إذا كان عنوان URL صحيحاً ولكن الويب هوك لا يُسلَّم، فالأسباب المحتملة:

  • جدار الحماية أو CDN يحظر طلبات POST الواردة من البوابة
  • مهلة زمنية: لم يتمكن tikento من الرد في الوقت المحدد (تنتظر البوابات عادةً 10-30 ثانية)
  • مشاكل DNS: لا يمكن حل النطاق من جانب البوابة

للتحقق، استخدم ويب هوك اختباري من لوحة تحكم البوابة (إن كان متاحاً) أو اطلب إعادة الإرسال.

الخطوة 4. خطأ في التحقق (4xx)

إذا وصل الويب هوك لكن tikento أرجع خطأ 4xx:

الرمزالسببالحل
400نص طلب غير صالحتحقق من تنسيق الإشعارات في البوابة. تأكد من اختيار تنسيق JSON وليس XML
401توقيع طلب غير صحيحتأكد من أن secretKey في tikento محدّث. إذا أعدت إنشاء المفتاح في البوابة، حدّثه في tikento أيضاً
404مسار عنوان URL غير صحيح للويب هوكتحقق من URL — ربما shopId / merchantId مُدخل بشكل خاطئ
409ويب هوك مكرر (تمت معالجته مسبقاً)هذا سلوك طبيعي — حماية التكرار (idempotency) فعّالة. تمت معالجة الدفع بالفعل

الخطوة 5. خطأ داخلي (5xx)

إذا تم استلام الويب هوك لكن tikento أرجع 5xx — فهذا خطأ مؤقت من جانب tikento. في معظم الحالات:

  1. ستعيد البوابة التسليم تلقائياً (انظر سياسة إعادة المحاولة أدناه).
  2. عادةً ما تُحل المشكلة عند المحاولة التالية.
  3. إذا تكرر الخطأ — تواصل مع دعم tikento.

سياسة إعادة التسليم

البوابةعدد المحاولاتالفواصل الزمنية
YooKassaحتى 10تأخير أسي: 1 ث، 5 ث، 30 ث، 2 د، 10 د، 30 د، 1 س، 3 س، 6 س، 12 س
Tochkaحتى 5فاصل ثابت: كل 5 دقائق

إذا استُنفدت جميع المحاولات، استخدم إعادة المحاولة يدوياً.

إعادة المحاولة يدوياً والتأكيد

إعادة المحاولة يدوياً للويب هوك

في سجل webhook اضغط «إعادة المحاولة» بجانب السجل غير الناجح. سيعيد tikento معالجة نص طلب الويب هوك.

التأكيد اليدوي للدفع

إذا تعذر استعادة الويب هوك لكنك ترى دفعة ناجحة في لوحة تحكم البوابة:

  1. افتح الفعالية ← «المشاركون».
  2. ابحث عن السجل ذي الحالة المعلقة.
  3. اضغط «إجراءات»«تأكيد الدفع يدوياً».
  4. حدد السبب (للتدقيق).

يُحدّث التأكيد اليدوي حالة التسجيل ويرسل للمشارك بريداً إلكترونياً بالتذكرة.

اختبار الويب هوك

للتأكد من أن الويب هوك يعمل بشكل صحيح، قبل أو بعد الإعداد:

دفعة اختبارية

  1. أنشئ فعالية اختبارية بتذكرة مدفوعة.
  2. وصّل البوابة في وضع الاختبار.
  3. ادفع ببطاقة اختبارية (4111 1111 1111 1111).
  4. تحقق من سجل webhook — يجب أن يظهر سجل برمز 200.
  5. تأكد من تحديث حالة التسجيل إلى «مدفوع».

ويب هوك اختباري من البوابة

بعض البوابات تسمح بإرسال ويب هوك اختباري يدوياً:

  • YooKassa: في قسم «إشعارات HTTP» زر «إرسال إشعار اختباري»
  • Tochka: تواصل مع دعم Tochka لإرسال إشعار اختباري

الوقاية

لتجنب مشاكل الويب هوك:

  • عند تغيير مفاتيح API في البوابة، حدّثها فوراً في tikento
  • لا تحذف أو تغيّر عنوان URL للويب هوك بدون ضرورة
  • تحقق بشكل دوري من سجل webhook بحثاً عن أخطاء
  • عند إعادة توصيل البوابة، أجرِ دائماً دفعة اختبارية

الأسئلة الشائعة

عملية الدفع معلقة في حالة «قيد الانتظار» — ماذا أفعل؟
تحقق من سجل تسليم webhook في tikento (الإعدادات ← المدفوعات ← سجل Webhook). إذا لم يكن الويب هوك قد وصل — تحقق من عنوان URL وإعدادات الأحداث في لوحة تحكم بوابة الدفع. إذا وصل الويب هوك مع خطأ — افحص رمز الاستجابة في السجل.
كم مرة تعيد بوابة الدفع إرسال الويب هوك؟
YooKassa — حتى 10 محاولات مع تأخير أسي (من ثوانٍ إلى ساعات). Tochka — حتى 5 محاولات بفاصل 5 دقائق. إذا استُنفدت جميع المحاولات، استخدم إعادة المحاولة يدوياً.
هل يمكنني تأكيد الدفع يدوياً بدون webhook؟
نعم. افتح سجل المشارك، اضغط «إجراءات» ← «تأكيد الدفع يدوياً». سيؤدي ذلك إلى تحديث حالة التسجيل، لكنه لن يُنشئ سجل دفع في بوابة الدفع.
كيف أتحقق من صحة عنوان URL الخاص بالويب هوك؟
في tikento افتح الإعدادات ← المدفوعات ← اختر البوابة. انسخ عنوان URL المعروض للويب هوك وقارنه بالعنوان المُدخل في لوحة تحكم البوابة. يجب أن يتطابقا تماماً، بما في ذلك البروتوكول (https://).