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 للاطلاع على القائمة الكاملة لأنواع الرفض والإجراءات الموصى بها.
معالجة حالات الفشل عند الدفع مقابل التجديد
تعتمد طريقة الاسترداد على ما إذا كان العميل حاضرًا.- At checkout (customer present)
- On subscription renewal (customer not present)
العميل يُجري عملية الدفع حاليًا. اعرض رسالة واضحة واسمح له بإعادة المحاولة أو استخدام بطاقة أخرى.
requires_payment_method— لم يقدّم العميل طريقة دفع مطلقًا. عادةً ما يعني هذا التخلي عن عملية الدفع، وليس رفضًا. أعد إشراك العميل لإكمال الدفع (راجع استعادة السلات المتروكة).requires_customer_action— يلزم إجراء مصادقة إضافية (مثل 3DS). اطلب من العميل إكمالها. راجع 3D Secure.
إعادة محاولة دفعة فاشلة
الاشتراكات: فعّل إعادة محاولات دفع الاشتراكات لاستعادة حالات الرفض المؤقت تلقائيًا. لإعادة المحاولة فورًا بدلًا من الانتظار وفق الجدول، استخدم Manual Payment Retry من لوحة المعلومات أو API. يمكنك أيضًا بدء الاستعادة بأن يحدّث العميل طريقة الدفع عبر 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
بطاقات اختبار تحاكي حالات الرفض وفشل التجديد.