عیب یابی

راهنمای عیب‌یابی وب، مسائل و سوالات مربوط به موضوعات زیر را پوشش می‌دهد.

ثبت نام و دسترسی

ممکن است در مقطعی از فرآیند یکپارچه‌سازی با خطاهای زیر مواجه شوید. این لیست، توصیه‌های مفیدی برای عیب‌یابی در صورت بروز این خطاها ارائه می‌دهد.

این فروشنده برای Google Pay فعال نیست
API گوگل پی برای سایت‌هایی که PaymentsClient برای محیط PRODUCTION پیکربندی می‌کنند، به یک Google merchantId نیاز دارد. یک Google merchantId از طریق کنسول گوگل پی و کیف پول به یک یا چند دامنه کاملاً واجد شرایط مرتبط است. برای اطلاعات بیشتر، جزئیات خطای برگشتی را بررسی کنید.
این فروشنده ثبت نام برای استفاده از Google Pay API را تکمیل نکرده است. لطفاً برای تأیید به کنسول (https://pay.google.com/business/console) بروید.
شما مراحل ثبت وب‌سایت‌های خود برای Google Pay API را تکمیل نکرده‌اید. بررسی درخواست دسترسی به محیط عملیاتی برای ثبت نام با استفاده از کنسول Google Pay & Wallet و درخواست بررسی استفاده وب‌سایت شما از Google Pay API.
این نمایه فروشنده به این ویژگی دسترسی ندارد
گوگل وب‌سایت شما را برای استفاده از API گوگل پی پیکربندی نکرده است. برای درخواست بررسی استفاده وب‌سایت شما از API گوگل پی از طریق کنسول گوگل پی و کیف پول، درخواست دسترسی به محیط عملیاتی را ارسال کنید .
این ادغام API گوگل پی غیرفعال است. لطفا برای اطلاعات بیشتر با ما تماس بگیرید (https://developers.google.com/pay/api/faq#how-to-get-support).
برای کسب اطلاعات بیشتر در مورد مراحل لازم برای فعال کردن مجدد API گوگل پی برای حساب گوگل خود، با ما تماس بگیرید .
دامنه شما "example.com" برای استفاده از این API ثبت نشده است.
دامنه‌ای که پرداخت شما در آن میزبانی می‌شود با merchantId مورد استفاده شما مرتبط نیست. مطمئن شوید که پارامتر merchantId صحیح است و دامنه شما از طریق کنسول Google Pay & Wallet ثبت شده است.
رابط برنامه‌نویسی کاربردی گوگل پی (Google Pay API) باید در یک بستر امن فراخوانی شود!
رابط برنامه‌نویسی کاربردی گوگل پی (Google Pay API) فقط در وب‌سایت‌هایی که در یک بستر امن قرار دارند، قابل استفاده است. برای اطلاعات بیشتر، به «زمینه‌های امن» مراجعه کنید.
هیچ کلیدی برای این پروفایل فروشنده یافت نشد
برای تکمیل یکپارچه‌سازی type tokenizationSpecification DIRECT ، باید کلید رمزگذاری عمومی خود را از طریق کنسول Google Pay & Wallet در گوگل ثبت کنید.

شناسه تجاری

ممکن است در مقطعی از فرآیند ادغام خود با خطاهای زیر در رابطه با merchantId مواجه شوید. در صورت بروز این خطاها، این لیست توصیه‌های مفیدی برای عیب‌یابی ارائه می‌دهد.

merchantId باید تنظیم شود!
پارامتر merchantId درون PaymentDataRequest باید روی مقداری که با استفاده از کنسول Google Pay & Wallet ارائه می‌شود، تنظیم شود. پارامتر merchantId فقط زمانی مورد نیاز است که از PaymentsClient پیکربندی‌شده برای محیط PRODUCTION استفاده کنید. برای درخواست بررسی استفاده وب‌سایت خود از API Google Pay و دریافت merchantId خود، چک‌لیست یکپارچه‌سازی ما را بررسی کنید.
merchantId یک رشته نیست
پارامتر merchantId درون PaymentDataRequest همیشه باید یک رشته باشد. قبل از فراخوانی API، مطمئن شوید که نوع پارامتر merchantId مورد استفاده شما یک رشته است.
شناسه تجاری ثبت نشده است.
پارامتر merchantId درون PaymentDataRequest باید از طریق کنسول Google Pay & Wallet ارائه شود. برای اطلاعات بیشتر، درخواست دسترسی به محیط عملیاتی را بررسی کنید.

اعتبار درگاه

ممکن است در مقطعی از فرآیند یکپارچه‌سازی خود با خطاهای زیر در رابطه با اعتبار دروازه مواجه شوید. در صورت بروز این خطاها، این لیست توصیه‌های مفیدی برای عیب‌یابی ارائه می‌دهد.

دروازه ناشناخته 'yourgateway'
پارامتر gateway که در paymentMethodTokenizationParameters.parameters مشخص کرده‌اید، در حال حاضر توسط گوگل پشتیبانی نمی‌شود. برای اطلاعات بیشتر در مورد شناسه gateway و فیلدهای مرتبط، مانند gatewayMerchantId ، با gateway خود تماس بگیرید.
«مثال» گیت‌وی در حالت تولید قابل استفاده نیست
مقدار پارامتر مثال دروازه فقط برای اهداف آزمایشی استفاده می‌شود و نمی‌توان آن را با PaymentsClient پیکربندی‌شده برای محیط PRODUCTION استفاده کرد. برای اطلاعات بیشتر در مورد مقادیر پارامترهای PaymentMethodTokenizationSpecification که باید برای استفاده با API گوگل پی تنظیم کنید، با دروازه خود تماس بگیرید.

اعتبار شیء

ممکن است در مقطعی از یکپارچه‌سازی خود با خطاهای زیر در رابطه با اعتبار شیء مواجه شوید. این لیست، توصیه‌های مفیدی برای عیب‌یابی در صورت بروز این خطاها ارائه می‌دهد.

درخواست پرداخت گوگل پی (Google Pay's PaymentDataRequest) از نوع json معتبر نیست.
پارامتر ارائه شده به loadPaymentData باید همیشه یک شیء PaymentDataRequest معتبر باشد.
اطلاعات تراکنش باید تنظیم شود!
پارامتر transactionInfo درون PaymentDataRequest باید همیشه یک شیء TransactionInfo معتبر باشد.

بازرگانان مستقیم

ممکن است در مقطعی از فرآیند ادغام خود با خطاهای زیر در رابطه با فروشندگان مستقیم مواجه شوید. این لیست، توصیه‌های مفیدی برای رفع این خطاها ارائه می‌دهد.

تأیید امضا
اگر merchantId اشتباه باشد، ممکن است با خطای تأیید امضا مواجه شوید. این اتفاق می‌تواند در محیط TEST هنگام استفاده از کتابخانه paymentmethodtoken Tink رخ دهد. برای جلوگیری از این مشکل، YOUR_MERCHANT_ID را در مسیر زیر روی 12345678901234567890 تنظیم کنید:
.recipientId("merchant:YOUR_MERCHANT_ID")
نمی‌توان توکن را رمزگشایی کرد
اگر از کتابخانه‌ی Tink paymentmethodtoken برای رمزگشایی یک توکن استفاده می‌کنید، به موارد زیر توجه داشته باشید:
  • مطمئن شوید که محیط پاسخ API گوگل پی با محیط Tink paymentmethodtoken مطابقت دارد. برای جزئیات بیشتر، به مثال زیر مراجعه کنید:
    • اگر پاسخ API گوگل پی توسط محیط TEST برگردانده شود، Tink برای رمزگشایی به محیط آزمایشی اشاره می‌کند.
  • قبل از ارسال پاسخ از API گوگل پی به تینک، آن را تغییر ندهید. مطمئن شوید که کل توکن برگردانده شده از پاسخ API گوگل پی را ارسال می‌کنید. برای جزئیات بیشتر، به نکته زیر مراجعه کنید:
  • تأیید کنید که کلید خصوصی مناسب مرتبط با کلید عمومی که در گوگل ثبت کرده‌اید را دارید.
ایجاد جفت کلید عمومی و خصوصی در ویندوز
اگر از ویندوز استفاده می‌کنید و می‌خواهید مراحل ذکر شده در «استفاده از OpenSSL برای تولید جفت کلید خصوصی و عمومی» را دنبال کنید، مطمئن شوید که Cygwin را روی دستگاه خود نصب کرده‌اید. این نرم‌افزار برای اجرای دستورات لینوکس مورد نیاز است.

اشیاء خطا

اشیاء خطا، اشیاء هستند که توسط یک promise رد شده از یک متد جاوا اسکریپت کلاینت بازگردانده می‌شوند.

خطای پرداخت
این شیء شامل جزئیاتی در مورد خطاهایی است که توسط متدهای جاوا اسکریپت کلاینت برگردانده می‌شوند. خطاها ممکن است در کادر محاوره‌ای کاربر نمایش داده نشوند.
ملک نوع توضیحات
statusCode رشته کد کوتاهی که نوع خطا را توصیف می‌کند.
statusMessage رشته پیامی که از طرف توسعه‌دهنده ارسال می‌شود و خطای رخ داده و مراحل احتمالی برای اصلاح آن را شرح می‌دهد.
خطاهای رایج
این شیء خطاهایی را که ممکن است در تمام متدهای جاوا اسکریپت با آنها مواجه شوید، نمایش می‌دهد. حتماً کنسول توسعه‌دهنده را برای پیام‌های خطای بیشتر بررسی کنید.
کد وضعیت توضیحات
BUYER_ACCOUNT_ERROR کاربر فعلی گوگل قادر به ارائه اطلاعات پرداخت نیست.
DEVELOPER_ERROR

پارامتر ارسالی به طور نامناسبی قالب‌بندی شده است. ممکن است برای همه محیط‌های پیکربندی شده، یک پیام خطا در کنسول مرورگر ظاهر شود .

MERCHANT_ACCOUNT_ERROR

سایتی که به API گوگل پی دسترسی دارد، مجوز لازم را ندارد. این می‌تواند به دلیل پیکربندی نادرست یا تنظیم نادرست شناسه فروشنده در درخواست باشد. برای جزئیات بیشتر، فیلد statusMessage را بررسی کنید. اگر همچنان مشکل دارید، با پشتیبانی تماس بگیرید .

INTERNAL_ERROR خطای عمومی سرور.

کارت اینفو

ویژگی CardInfo چیست؟
گوگل پی به مصرف‌کنندگان نشان می‌دهد که پشت دکمه پرداخت گوگل پی، یک کارت وجود دارد که هم شبکه برند کارت و هم چهار رقم آخر کارت را نمایش می‌دهد.
چرا ویژگی CardInfo در پیاده‌سازی من رندر نمی‌شود؟

برای اینکه ویژگی CardInfo کار کند، به شرایط زیر نیاز داریم:

  • شما باید API createButton پیاده‌سازی کنید.
  • شما باید ButtonOptions.buttonType را برای buy ، long یا pay پیکربندی کنید.
  • کاربر باید یک روش پرداخت در دسترس داشته باشد، همانطور که توسط شیء CardParameters شما تعریف شده است.
چرا دکمه پرداخت گوگل پی به طور نامحدود بارگذاری می‌شود؟
شنونده‌های رویداد onLoad حذف نکنید. اگر شنونده‌های رویداد onLoad را حذف کنید، می‌تواند باعث شود دکمه پرداخت Google Pay به طور نامحدود بارگیری شود.
چرا بعد از کلیک روی دکمه پرداخت گوگل پی، هیچ پیام پرداختی نمایش داده نمی‌شود؟
یک تابع فراخوانی شنونده رویداد (event listener) به رویداد ButtonOptions.onClick اختصاص دهید.

خطاهای OR_BIBED_15

ممکن است در مقطعی از فرآیند یکپارچه‌سازی با خطای OR_BIBED_15 مواجه شوید. این لیست توصیه‌های مفیدی برای عیب‌یابی در صورت بروز این خطا ارائه می‌دهد.

کار با وب ویوها
برای اطمینان از سازگاری ادغام خود با WebViews، راهنماهای مربوط به اندروید و iOS را دنبال کنید.
هدر پاسخ HTTP Cross-Origin-Opener-Policy
اگر هدر پاسخ HTTP Cross-Origin-Opener-Policy روی same-origin تنظیم شده باشد، ممکن است مرورگر نتواند پنجره‌های پاپ‌آپ لازم برای تکمیل تراکنش کاربران را باز کند. برای کاهش این مشکلات، مقدار هدر را به same-origin-allow-popups تغییر دهید.
تأخیر بین رویداد کلیک کاربران و فراخوانی تابع loadPaymentData()
اگر پس از کلیک روی دکمه Google Pay (یا دکمه پرداخت مشابه) و قبل از فراخوانی loadPaymentData() تأخیری وجود داشته باشد (مثال‌ها: setTimeout() ، فراخوانی‌های شبکه اضافی یا منطق طولانی مدت مشابه)، این می‌تواند باعث فعال شدن مکانیسم مسدود کردن پنجره‌های بازشو در مرورگر شود. توصیه ما این است که هیچ تأخیری بین کلیک کاربر و فراخوانی loadPaymentData() تنظیم نشود.