عند فشل دفعة، يخبرك Dodo Payments بالسبب من خلال
error_code موحّد وerror_message قابل للفهم. يوضح هذا الدليل كيفية قراءة هذه الحقول، وتحديد ما إذا كانت إعادة المحاولة مجدية، واسترداد الدفعة دون كشف معلومات حساسة للعملاء.كيف يُبلغ Dodo Payments عن الفشل
تحمل كل دفعة فاشلة — سواء كانت عملية دفع لمرة واحدة أو تجديدًا لاشتراك — حقول الفشل نفسها في كائن الدفعة:يكون كل من
error_code وerror_message بقيمة null إلى أن تفشل الدفعة فعليًا. تحقق دائمًا من status أولًا، ثم اقرأ حقول الخطأ.Webhook الخاص بـ payment.failed
الطريقة الأكثر موثوقية لاكتشاف الفشل هي webhook الخاص بـ payment.failed. يغلّف الحدث كائن الدفع الكامل في data:
payment.failed payload
error_code ويوجّه المعالجة وفقًا له:
تحديد ما إذا كنت ستعيد المحاولة: حالات الرفض المؤقتة مقابل النهائية
يخبركerror_code ما إذا كانت إعادة المحاولة باستخدام طريقة الدفع نفسها تستحق العناء.
يسرد مرجع Transaction Failures نوع الرفض والإجراء المقترح لكل
error_code.
معالجة حالات الفشل عند الدفع مقابل التجديد
تعتمد طريقة الاسترداد على ما إذا كان العميل حاضرًا.- At checkout (customer present)
- On subscription renewal (customer not present)
العميل يجري عملية الدفع بنشاط. اعرض رسالة واضحة واسمح له بإعادة المحاولة فورًا أو باستخدام بطاقة أخرى.
requires_payment_method— لم يقدّم العميل طريقة دفع مطلقًا: إما أنه لم يُدخل تفاصيل البطاقة، أو طُلبت منه ولم يتخذ أي إجراء. عادةً ما يكون هذا تخلّيًا عن عملية الدفع، وليس رفضًا — أعد إشراك العميل لإكمال الدفع (راجع استرداد سلة التسوق المتروكة).requires_customer_action— يلزم إجراء مصادقة إضافي (مثل 3DS)؛ اطلب من العميل إكماله. راجع معالجة 3D Secure.
إعادة محاولة دفعة فاشلة
- الاشتراكات: فعّل إعادة محاولات دفع الاشتراك لاسترداد حالات الرفض المؤقتة دون الحاجة إلى أعمال دمج. يمكنك أيضًا تشغيل الاسترداد من خلال مطالبة العميل بتحديث طريقة الدفع عبر Update Payment Method API، الذي يخصم أي مستحقات معلّقة.
- الدفعات لمرة واحدة: أعد إرسال صفحة الدفع أو
payment_linkحتى يتمكن العميل من المحاولة مجددًا باستخدام طريقة مختلفة. لا توجد إعادة محاولة تلقائية للدفعات لمرة واحدة.
عرض الأخطاء للعملاء بأمان
اعرض للعملاء رسالة ودية — وليسerror_code الخام مطلقًا، ولا error_message الموجّه للتاجر مطلقًا.
في الواجهات التي تتحكم بها Dodo Payments — صفحة الدفع وCustomer Portal ورسائل البريد الإلكتروني لمتابعة التحصيل — تم تنفيذ هذا الربط نيابةً عنك بالفعل، بما في ذلك الرجوع إلى رسالة عامة لحالات الرفض المرتبطة بالاحتيال. لا تحتاج إلى الربط أدناه إلا عندما تعرض حالات الفشل في منتجك الخاص.
Customer-facing messaging
ذات صلة
Transaction Failures
كل رمز رفض ونوعه والإجراء المقترح.
Error Codes
أخطاء API وأخطاء منطق الأعمال التي لا تُعد حالات رفض للبطاقات.
Subscription Payment Retries
الاسترداد التلقائي لحالات الرفض المؤقتة عند تجديد الاشتراكات.
Subscription Dunning
تسلسلات البريد الإلكتروني التي تسترد حالات الرفض النهائية.
Payment Webhooks
مخطط الحمولة الكامل لأحداث الدفع.
Testing Failures
بطاقات اختبار تحاكي حالات الرفض وفشل التجديد.