يتناول دليل تحديد المشاكل وحلّها على الويب المشاكل والأسئلة المتعلقة بالمواضيع التالية.
- إذن الوصول إلى التسجيل
- merchantID
- صلاحية البوابة
- صلاحية العنصر
- التجّار المباشرون
- CardInfo
- أخطاء OR_BIBED_15
التسجيل وإمكانية الوصول
قد تواجه الأخطاء التالية في مرحلة ما من عملية الدمج. تقدّم هذه القائمة بعض النصائح المفيدة لتحديد المشاكل وحلّها في حال حدوث هذه الأخطاء.
- لم يتم تفعيل Google Pay لهذا التاجر
- يتطلّب Google Pay API توفير merchantId من Google للمواقع الإلكترونية التي يتم ضبطها
PaymentsClientلبيئةPRODUCTION. يتم ربطmerchantIdمن Google باسم نطاق مؤهَّل بالكامل واحد أو أكثر من خلال Google Pay & Wallet Console. راجِع تفاصيل الخطأ التي تم عرضها للحصول على مزيد من المعلومات. - لم يكمل هذا التاجر عملية التسجيل لاستخدام Google Pay API. يُرجى الانتقال إلى وحدة التحكّم (https://pay.google.com/business/console) لإثبات الملكية.
- لم تُكمل عملية تسجيل مواقعك الإلكترونية في Google Pay API. المراجعة طلب الوصول إلى مرحلة الإنتاج للتسجيل باستخدام Google Pay & Wallet Console وطلب مراجعة استخدام موقعك الإلكتروني لواجهة Google Pay API
- لا يمكن للملف التجاري هذا استخدام هذه الميزة
- لم تضبط Google موقعك الإلكتروني لاستخدام Google Pay API. راجِع طلب الوصول إلى مرحلة الإنتاج لطلب مراجعة استخدام موقعك الإلكتروني لواجهة Google Pay API من خلال Google Pay & Wallet Console.
- تم إيقاف عملية دمج واجهة Google Pay API هذه. يُرجى التواصل معنا للحصول على مزيد من المعلومات (https://developers.google.com/pay/api/faq#how-to-get-support).
- يُرجى التواصل معنا لمعرفة المزيد من المعلومات عن الخطوات المطلوبة لإعادة تفعيل Google Pay API لحسابك على Google.
- النطاق "example.com" غير مسجَّل لاستخدام واجهة برمجة التطبيقات هذه
- النطاق الذي تتم فيه استضافة عملية الدفع غير مرتبط بـ
merchantIdالذي تستخدمه. تأكَّد من صحة المَعلمةmerchantIdومن أنّ نطاقك مسجَّل من خلال Google Pay & Wallet Console. - يجب استدعاء Google Pay API في سياق آمن.
- لا يمكن استخدام Google Pay API إلا على المواقع الإلكترونية في سياق آمن. لمزيد من المعلومات، راجِع السياقات الآمنة.
- لم يتم العثور على مفاتيح لملف التاجر هذا
- يجب تسجيل مفتاح التشفير العام لدى Google من خلال
Google Pay & Wallet Console لإكمال عملية الدمج
DIRECTtokenizationSpecificationtype.
merchantId
قد تواجه الأخطاء التالية المتعلقة بـ merchantId في مرحلة ما من عملية الدمج. تقدّم هذه القائمة بعض النصائح المفيدة لتحديد المشاكل وحلّها في حال حدوث هذه الأخطاء.
- يجب ضبط merchantId.
- يجب ضبط المَعلمة
merchantIdداخلPaymentDataRequestعلى القيمة المقدَّمة باستخدام Google Pay & Wallet Console. لا تكون المَعلمةmerchantIdمطلوبة إلا عند استخدامPaymentsClientتم إعداده لبيئةPRODUCTION. راجِع قائمة التحقّق من الدمج لطلب مراجعة استخدام موقعك الإلكتروني لواجهة Google Pay API والحصول علىmerchantId. - merchantId ليس سلسلة
- يجب أن تكون المَعلمة
merchantIdداخلPaymentDataRequestسلسلة دائمًا. تأكَّد من أنّ نوع المَعلمةmerchantIdالتي تستخدمها هو سلسلة قبل طلب البيانات من واجهة برمجة التطبيقات. - لم يتم تسجيل merchantId.
- يجب توفير المَعلمة
merchantIdداخلPaymentDataRequestمن خلال Google Pay & Wallet Console. راجِع مقالة طلب إذن الإصدار للحصول على مزيد من المعلومات.
صلاحية البوابة
قد تواجه الأخطاء التالية المتعلقة بصلاحية البوابة في مرحلة ما من عملية الدمج. تقدّم هذه القائمة بعض النصائح المفيدة لتحديد المشاكل وحلّها في حال حدوث هذه الأخطاء.
- بوابة غير معروفة 'yourgateway'
- لا تتوافق معلَمة البوابة التي حدّدتها في
paymentMethodTokenizationParameters.parametersمع Google حاليًا. يُرجى التواصل مع بوابة الدفع للحصول على مزيد من المعلومات حول معرّف البوابة والحقول المرتبطة به، مثلgatewayMerchantId. - لا يمكن استخدام البوابة "example" في وضع الإنتاج
- لا تُستخدَم قيمة مَعلمة البوابة النموذجية إلا لأغراض الاختبار، ولا يمكن استخدامها مع
PaymentsClientتم إعداده لبيئةPRODUCTION. يُرجى التواصل مع بوابة الدفع للحصول على مزيد من المعلومات حول قيم المَعلماتPaymentMethodTokenizationSpecificationالتي عليك ضبطها لاستخدامها مع Google Pay API.
صلاحية العنصر
قد تواجه الأخطاء التالية المتعلقة بصلاحية العنصر في مرحلة ما من عملية الدمج. تقدّم هذه القائمة بعض النصائح المفيدة لتحديد المشاكل وحلّها في حال حدوث هذه الأخطاء.
- PaymentDataRequest في Google Pay ليس بتنسيق json صالح
- يجب أن تكون المَعلمة المقدَّمة إلى
loadPaymentDataدائمًا كائنPaymentDataRequestصالحًا. - يجب ضبط transactionInfo.
- يجب أن تكون المَعلمة
transactionInfoداخلPaymentDataRequestدائمًا كائنًا صالحًاTransactionInfo.
التجّار المباشرون
قد تواجه الأخطاء التالية المتعلقة بالتجّار المباشرين في مرحلة ما من عملية الدمج. تقدّم هذه القائمة بعض النصائح المفيدة لتحديد المشاكل وحلّها في حال حدوث هذه الأخطاء.
- التحقّق من التوقيع
- قد تواجه خطأ في التحقّق من صحة التوقيع إذا كان
merchantIdغير صحيح. يمكن أن يحدث ذلك في بيئةTESTعند استخدام مكتبة paymentmethodtoken في Tink. لتجنُّب هذه المشكلة، اضبط قيمة YOUR_MERCHANT_ID على12345678901234567890في: .recipientId("merchant:YOUR_MERCHANT_ID")
- يتعذّر فك تشفير الرمز المميّز
- إذا كنت تستخدم مكتبة Tink paymentmethodtoken لفك تشفير الرمز المميّز، يُرجى الانتباه إلى ما يلي:
- تأكَّد من أنّ بيئة الردّ في Google Pay API تتوافق مع بيئة paymentmethodtoken في Tink. لمزيد من التفاصيل، يُرجى الاطّلاع على المثال التالي:
- إذا تم عرض استجابة Google Pay API من خلال البيئة
TEST، يشير Tink إلى بيئة الاختبار لفك التشفير. - لا تعدِّل الردّ من Google Pay API قبل تمريره إلى Tink. تأكَّد من إرسال الرمز المميز الكامل الذي تم عرضه في الردّ من Google Pay API. لمزيد من التفاصيل، يُرجى الاطّلاع على الملاحظة التالية:
- تأكَّد من أنّ لديك المفتاح الخاص المناسب المرتبط بالمفتاح العام الذي سجّلته لدى Google.
- إنشاء مفتاحَي تشفير عام وخاص على Windows
- إذا كنت تستخدم نظام التشغيل Windows وأردت اتّباع الخطوات المذكورة في مقالة استخدام OpenSSL لإنشاء زوج مفاتيح خاص وعام، احرص على تثبيت Cygwin على جهازك. هذا الإعداد مطلوب لتنفيذ أوامر Linux.
عناصر الخطأ
عناصر الخطأ هي عناصر تعرضها وعود مرفوضة من طريقة JavaScript خاصة بالعميل.
- PaymentsError
- يحتوي هذا العنصر على تفاصيل حول الأخطاء التي تعرضها طرق JavaScript من جهة العميل. قد لا يتم عرض الأخطاء في مربّع حوار يظهر للمستخدم.
| الموقع | النوع | الوصف |
|---|---|---|
statusCode |
سلسلة | رمز قصير يصف نوع الخطأ. |
statusMessage |
سلسلة | رسالة موجّهة إلى المطوّرين تصف الخطأ الذي حدث والخطوات المحتملة لتصحيحه. |
- الأخطاء الشائعة
- يعرض هذا العنصر الأخطاء التي قد تواجهها في جميع طرق JavaScript. احرص على مراجعة لوحة تحكّم المطوّر للاطّلاع على رسائل الخطأ الإضافية.
- ما هي ميزة CardInfo؟ تشير
- Google Pay إلى المستهلكين بأنّه توجد بطاقة خلف زر الدفع في Google Pay، ما يؤدي إلى عرض كلّ من شبكة العلامة التجارية للبطاقة وآخر أربعة أرقام من البطاقة.
- لماذا لا يتم عرض ميزة CardInfo في عملية التنفيذ؟
لكي تعمل ميزة CardInfo، يجب استيفاء الشروط التالية:
- يجب تنفيذ واجهة برمجة التطبيقات
createButton. - يجب ضبط
ButtonOptions.buttonTypeعلىbuyأوlongأوpay. - يجب أن يتوفّر لدى المستخدم طريقة دفع، كما هو محدّد في عنصر
CardParameters.
- يجب تنفيذ واجهة برمجة التطبيقات
- لماذا يستغرق تحميل زر الدفع في Google Pay وقتًا طويلاً؟
- لا تزِل أدوات معالجة الحدث
onLoad. في حال إزالة أدوات معالجة الأحداثonLoad، قد يؤدي ذلك إلى تحميل زر الدفع في Google Pay إلى أجل غير مسمى. - لماذا لا يظهر طلب الدفع بعد النقر على زر الدفع في Google Pay؟
- تعيين دالة رد نداء لأداة معالجة الأحداث إلى حدث
ButtonOptions.onClick. - العمل باستخدام WebViews
- اتّبِع الأدلة الخاصة بنظامَي التشغيل Android وiOS للتأكّد من أنّ عملية الدمج متوافقة مع WebViews.
- عنوان استجابة HTTP يتضمّن
Cross-Origin-Opener-Policy - إذا تم ضبط عنوان استجابة HTTP
Cross-Origin-Opener-Policyعلىsame-origin، قد يؤدي ذلك إلى منع المتصفّح من فتح النافذة المنبثقة اللازمة ليتمكّن المستخدمون من إكمال معاملاتهم. حاوِل تغيير قيمة العنوان إلىsame-origin-allow-popupsللحدّ من هذه المشاكل. - التأخيرات بين حدث نقرة المستخدِم وطلب
loadPaymentData() -
إذا حدث تأخير بعد النقر على زر Google Pay (أو زر مشابه للدفع) وقبل تنفيذ طلب
loadPaymentData()(أمثلة:setTimeout()أو طلبات الشبكة الإضافية أو منطق مشابه يستغرق وقتًا طويلاً)، قد يؤدي ذلك إلى تفعيل آلية حظر النوافذ المنبثقة في المتصفّح. ننصح بعدم ضبط أي تأخير بين نقرة المستخدِم واستدعاءloadPaymentData().
| رمز الحالة | الوصف |
|---|---|
BUYER_ACCOUNT_ERROR |
لا يمكن لمستخدم Google الحالي تقديم معلومات الدفع. |
DEVELOPER_ERROR |
تم تنسيق إحدى المَعلمات التي تم تمريرها بشكلٍ غير صحيح. قد تظهر رسالة خطأ في وحدة تحكّم المتصفّح لجميع البيئات التي تم ضبطها. |
MERCHANT_ACCOUNT_ERROR |
لا يملك الموقع الإلكتروني الذي يصل إلى Google Pay API الإذن المناسب. قد يرجع ذلك إلى إعداد غير صحيح أو معرّف تاجر غير صحيح تم ضبطه في الطلب. لمزيد من التفاصيل، اطّلِع على الحقل |
INTERNAL_ERROR |
حدث خطأ عام في الخادم. |
CardInfo
OR_BIBED_15 خطأ
قد يظهر لك الخطأ OR_BIBED_15 في مرحلة ما من عملية الدمج. تقدّم هذه القائمة بعض النصائح المفيدة لتحديد المشاكل وحلّها في حال حدوث هذا الخطأ.