التوثيق
الدمجالأخطاء

أكواد أخطاء الدفع

كل قيمة لـ `lastPaymentError.code`، متجمّعة حسب اللي حصل. الـ URL بتاع كل إدخال هو قيمة `lastPaymentError.docUrl`.

الصفحة دي هي وجهة كل lastPaymentError.docUrl اللي كوده كود خطأ دفع. الإرساء (anchors) هنا بيطابق قيمة code، فـ https://docs.xpay.app/integrate/errors/payment-error-codes#card_declined بيوصلك مباشرةً للصف اللي تحت.

code بيقولك نوع الفشل إيه. لسبب البنك المحدّد على الرفض (lastPaymentError.declineCode)، شوف أكواد الرفض. للنموذج ونمط المعالِج، شوف أخطاء الدفع.

الرفض

الدفعة وصلت للبنك أو لمزوّد الدفع، وهو رفض. declineCode بيحمل السبب المحدّد وadviceCode بيقولك تعمل إيه بعد كده.

card_declined

دفعة بطاقة اترفضت. type: card_error. اقرا declineCode للسبب.

payment_declined

دفعة غير بطاقية (Valu، Fawry) اترفضت. type: payment_method_error. declineCode بيحمل السبب لما المزوّد يدّيه.

العميل ما كمّلش

payment_abandoned

العميل مشي قبل ما يخلّص خطوة مطلوبة: تحدّي 3D Secure، أو صفحة الدفع بتاعة المزوّد، أو دفع رقم مرجع Fawry قبل ما ينتهي. مفيش حاجة اتخصمت. العميل يقدر يدفع تاني على نفس جلسة الدفع.

اترفض قبل ما يوصل للبنك

type: processor_error. مفيش بطاقة اتخصم منها ومفيش بنك رفض أي حاجة. الإرشاد: do_not_try_again. في أول تلات أكواد إعادة المحاولة هتفشل بنفس الطريقة مهما كانت طريقة الدفع، فاتواصل مع دعم XPay ومعاك chargeId. processor_risk_blocked مختلف: الفحص بيتعمل على البطاقة والعملية دي بالذات، فبطاقة تانية ممكن تعدي.

processor_request_rejected

مزوّد الدفع رفض طلب الدفع قبل ما يوصل لشبكة البطاقات.

local_processor_rejected

نفس الفشل لطريقة دفع غير بطاقية: المزوّد رفض الطلب قبل ما يتعمل رقم مرجع قابل للدفع.

merchant_config_incomplete

إعداد حسابك لطريقة الدفع دي مش مكتمل، فالدفعة ما اتبعتتش.

processor_risk_blocked

فحص المخاطر منع البطاقة دي في العملية دي قبل ما توصل للبنك. اقترح على العميل بطاقة تانية.

المزوّد ما ردّش

type: processor_error. الإرشاد: try_again_later. إعادة المحاولة بنفس البطاقة هي الخطوة الصح.

processor_unavailable

مزوّد الدفع ما قدرش يخدم الطلب (مشغول أو فيه عطل). مفيش حاجة اتخصمت. إعادة المحاولة بعد شوية بتنجح.

processor_session_expired

جلسة الدفع انتهت قبل ما العملية تتبعت. مفيش حاجة اتخصمت. إعادة المحاولة بتفتح جلسة جديدة.

processor_no_response

المحاولة انتهت من غير رد من المزوّد، وXPay أكّد إن مفيش حاجة اتخصمت.

processor_error

المزوّد رجّع خطأ XPay ما قدرش يصنّفه، أو ما قدرناش نوصله. اقرا merchantMessage علشان تعرف اللي حصل.

رايح فين بعد كده

في الصفحة دي