Skip to main content
تعيد Payment Retries تحصيل مدفوعات التجديد الفاشلة للاشتراكات تلقائيًا وفق جدول زمني متدرج. عند نجاح إعادة المحاولة، يعود الاشتراك إلى active، دون أي إجراء من العميل ودون الحاجة إلى أي عمل تكاملي.

ما هي Payment Retries؟

عند فشل دفعة تجديد الاشتراك، ينتقل الاشتراك إلى on_hold، أو إلى past_due إذا ضبطت فترة سماح. عند تفعيل Payment Retries، تعيد Dodo Payments تحصيل المبلغ من وسيلة الدفع المحفوظة للعميل وفق جدول زمني، حتى تنجح عملية التحصيل أو تنتهي نافذة الاسترداد. تسترد إعادة المحاولة الإيرادات المفقودة بسبب حالات الفشل المؤقتة، مثل وجود حجز مؤقت على البطاقة، أو عدم كفاية الرصيد الذي يضيف العميل إليه أموالًا لاحقًا، أو خطأ مؤقت في الشبكة. لا يتلقى العميل أي بريد إلكتروني ولا يحتاج إلى تغيير أي شيء.
تنطبق Payment Retries على مدفوعات تجديد الاشتراكات فقط. لا تتم إعادة محاولة الدفعة الأولى للاشتراك (إعداد التفويض)، أو المدفوعات لمرة واحدة، أو رسوم تغيير الخطة، أو الرسوم عند الطلب.

آلية عمل Payment Retries

1

Renewal fails

تفشل دفعة تجديد الاشتراك، وينتقل الاشتراك إلى on_hold، أو إلى past_due خلال فترة سماح.
2

Retryability check

تتحقق Dodo Payments من رمز خطأ الفشل. تكون حالات الرفض اللينة، مثل عدم كفاية الرصيد أو الرفض العام أو خطأ المعالجة أو الشبكة، قابلة لإعادة المحاولة. أما حالات الرفض الصلبة فتنهي سلسلة إعادة المحاولة، لأن محاولة أخرى لن تغير النتيجة. ويُعد الفشل الذي لا يتضمن رمز خطأ حالة رفض صلبة.
3

Scheduled retry

إذا كان الرفض قابلًا لإعادة المحاولة وكانت المحاولة التالية ستقع ضمن نافذة الاسترداد، تجدولها Dodo Payments. كل إعادة محاولة هي عملية تحصيل خارج الجلسة من وسيلة الدفع المحفوظة للعميل، ويُحتسب كل تأخير بدءًا من الفشل السابق.
4

Recovery

عند نجاح أول إعادة محاولة، يعود الاشتراك إلى active، وينتقل تاريخ الفوترة التالي إلى فترة فوترة واحدة بعد إعادة المحاولة الناجحة. إذا أُغلقت النافذة قبل نجاح أي إعادة محاولة، تتوقف إعادة المحاولة ويحتفظ الاشتراك بحالته، مثل on_hold.

إعداد Payment Retries

فعّل Payment Retries واضبطه من Settings → Recovery في لوحة التحكم.
صفحة إعدادات الاسترداد مع تفعيل خيار Enable Payment Retries وتعيين حقل Recovery window (days) إلى 13

Payment Retries settings under Settings → Recovery

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

جدول إعادة المحاولة

تزداد فترات الانتظار بين محاولات الإعادة تدريجيًا. تجري Dodo Payments ما يصل إلى 8 محاولات، ما دام كل منها يقع ضمن نافذة الاسترداد لديك:
تغطي النافذة الافتراضية البالغة 13 يومًا المحاولات من 1 إلى 5، لأن المحاولة 5 تُجرى بعد نحو 10.5 أيام من الفشل. لتشغيل المحاولات اللاحقة ذات الفواصل الزمنية الأطول، زد مدة النافذة: تحتاج المحاولة 6 إلى 16 يومًا على الأقل، والمحاولة 7 إلى 23 يومًا على الأقل، والمحاولة 8 إلى الحد الأقصى البالغ 30 يومًا.

انتقالات حالة الاشتراك

تنقل إعادة المحاولة الاشتراك بين الحالات التالية:
عند إلغاء الاشتراك، تنتهي سلسلة إعادة المحاولة ولا تُجرى أي محاولات أخرى. تستمر كل حالة أخرى (on_hold، past_due، expired، pending، failed) في إعادة المحاولة، لأن فاتورة التجديد المفتوحة تمثل دينًا عن فترة سبق أن استخدمها العميل. وتتوقف إعادة المحاولة أيضًا عند سداد الفاتورة بطريقة أخرى، مثل تحديث العميل لوسيلة الدفع، أو عند إضافة العميل إلى قائمة الحظر.
تُصدر هذه الانتقالات أحداث webhook القياسية للاشتراك، لذا لا يحتاج منطق الاستحقاقات لديك إلى معالجة خاصة بإعادة المحاولة:

Subscription Webhook Payloads

اعرض مخططات حمولة webhook الكاملة لأحداث دورة حياة الاشتراك.

حالات الفشل القابلة لإعادة المحاولة وغير القابلة لها

يحدد رمز الخطأ الخاص بأحدث فشل ما إذا كانت السلسلة ستستمر:
لن تؤدي إعادة محاولة الرفض الصلب إلى تغيير النتيجة، لذا تنتهي السلسلة فور حدوث رفض صلب. اجمع بين Payment Retries وSubscription Dunning لطلب وسيلة دفع جديدة من العميل في هذه الحالات. لمعرفة نوع كل رمز، راجع Transaction Failures.

إعادة المحاولة عند الطلب

لست مضطرًا إلى انتظار المحاولة المجدولة التالية. أثناء كون الاشتراك في on_hold، يمكنك إرسال إعادة محاولة من صفحة تفاصيل الدفعة الفاشلة في لوحة التحكم، أو باستخدام POST /payments/{payment_id}/retry. تعمل إعادة المحاولات اليدوية بشكل مستقل عن الجدول: لا تستهلك محاولة تلقائية ولا تؤجلها، وتعمل حتى عند إيقاف Payment Retries. راجع Manual Payment Retry.

Payment Retries مقابل Dunning

يسترد Payment Retries وSubscription Dunning نوعين مختلفين من حالات الفشل: فعّل كليهما للحصول على أوسع تغطية: تلتقط إعادة المحاولة التلقائية حالات الفشل المؤقتة، بينما يعيد Dunning العملاء الذين تحتاج وسيلة دفعهم إلى الاستبدال.

ذات صلة

Manual Payment Retry

أرسل إعادة محاولة فورًا بدلًا من انتظار المحاولة المجدولة التالية.

Subscription Dunning

تسلسلات بريد إلكتروني تطلب من العملاء تحديث وسيلة الدفع الخاصة بهم.

Abandoned Cart Recovery

استرد عمليات الدفع المتروكة أو الفاشلة باستخدام رسائل البريد الإلكتروني للاسترداد.

Subscriptions

حالات الاشتراك التي تنتقل بينها مسارات الاسترداد.

Subscription Webhooks

استجب لأحداث subscription.on_hold وsubscription.active.
آخر تعديل في ٢٦ سبتمبر ٢٠٢٦