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

ما هي Payment Retries؟

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

آلية عمل Payment Retries

1

Renewal fails

تفشل دفعة تجديد الاشتراك وينتقل الاشتراك إلى حالة on_hold.
2

Retryability check

يتم التحقق من رمز خطأ الفشل. تكون حالات الرفض اللينة (عدم كفاية الرصيد، والرفض العام، وأخطاء المعالجة أو الشبكة، وغير ذلك) قابلة لإعادة المحاولة. أما حالات الرفض الصعبة فتنهي سلسلة إعادة المحاولات فورًا، لأن إعادة المحاولة لن تغيّر النتيجة.
3

Scheduled retry

إذا كان الرفض قابلًا لإعادة المحاولة وكانت فترة الاسترداد تسمح بذلك، تتم جدولة المحاولة التالية. تُنفّذ إعادة المحاولات خارج الجلسة باستخدام وسيلة الدفع الحالية للعميل وفق جدول تراجعي تدريجي.
4

Recovery

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

إعداد Payment Retries

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

Payment Retries settings under Settings → Recovery

تُحتسب فترة الاسترداد من وقت إنشاء فاتورة التجديد الفاشلة. ولا تتم جدولة إعادة المحاولات إلا عندما يظل التأخير التراجعي التراكمي ضمن الفترة.

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

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

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

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

Subscription Webhook Payloads

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

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

لن تغيّر إعادة محاولة الرفض الصعب النتيجة، لذلك تنتهي سلسلة إعادة المحاولات بمجرد رصد رفض صعب. استخدم Payment Retries مع Subscription Dunning لحث العميل على تحديث وسيلة الدفع في هذه الحالات.

Payment Retries مقارنةً بـ Dunning

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

ذو صلة

Subscription Dunning

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

Abandoned Cart Recovery

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

Subscriptions

تعرّف على حالات الاشتراك المشاركة في عمليات الاسترداد.

Subscription Webhooks

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