راهنمای عیبیابی وب، مسائل و سوالات مربوط به موضوعات زیر را پوشش میدهد.
ثبت نام و دسترسی
ممکن است در مقطعی از فرآیند یکپارچهسازی با خطاهای زیر مواجه شوید. این لیست، توصیههای مفیدی برای عیبیابی در صورت بروز این خطاها ارائه میدهد.
- این فروشنده برای Google Pay فعال نیست
- API گوگل پی برای سایتهایی که
PaymentsClientبرای محیطPRODUCTIONپیکربندی میکنند، به یک Google merchantId نیاز دارد. یک GooglemerchantIdاز طریق کنسول گوگل پی و کیف پول به یک یا چند دامنه کاملاً واجد شرایط مرتبط است. برای اطلاعات بیشتر، جزئیات خطای برگشتی را بررسی کنید. - این فروشنده ثبت نام برای استفاده از 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) فقط در وبسایتهایی که در یک بستر امن قرار دارند، قابل استفاده است. برای اطلاعات بیشتر، به «زمینههای امن» مراجعه کنید.
- هیچ کلیدی برای این پروفایل فروشنده یافت نشد
- برای تکمیل یکپارچهسازی
typetokenizationSpecificationDIRECT، باید کلید رمزگذاری عمومی خود را از طریق کنسول 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 | رشته | پیامی که از طرف توسعهدهنده ارسال میشود و خطای رخ داده و مراحل احتمالی برای اصلاح آن را شرح میدهد. |
- خطاهای رایج
- این شیء خطاهایی را که ممکن است در تمام متدهای جاوا اسکریپت با آنها مواجه شوید، نمایش میدهد. حتماً کنسول توسعهدهنده را برای پیامهای خطای بیشتر بررسی کنید.
- ویژگی CardInfo چیست؟
- گوگل پی به مصرفکنندگان نشان میدهد که پشت دکمه پرداخت گوگل پی، یک کارت وجود دارد که هم شبکه برند کارت و هم چهار رقم آخر کارت را نمایش میدهد.
- چرا ویژگی CardInfo در پیادهسازی من رندر نمیشود؟
برای اینکه ویژگی CardInfo کار کند، به شرایط زیر نیاز داریم:
- شما باید API
createButtonپیادهسازی کنید. - شما باید
ButtonOptions.buttonTypeرا برایbuy،longیاpayپیکربندی کنید. - کاربر باید یک روش پرداخت در دسترس داشته باشد، همانطور که توسط شیء
CardParametersشما تعریف شده است.
- شما باید API
- چرا دکمه پرداخت گوگل پی به طور نامحدود بارگذاری میشود؟
- شنوندههای رویداد
onLoadحذف نکنید. اگر شنوندههای رویدادonLoadرا حذف کنید، میتواند باعث شود دکمه پرداخت Google Pay به طور نامحدود بارگیری شود. - چرا بعد از کلیک روی دکمه پرداخت گوگل پی، هیچ پیام پرداختی نمایش داده نمیشود؟
- یک تابع فراخوانی شنونده رویداد (event listener) به رویداد
ButtonOptions.onClickاختصاص دهید. - کار با وب ویوها
- برای اطمینان از سازگاری ادغام خود با WebViews، راهنماهای مربوط به اندروید و iOS را دنبال کنید.
- هدر پاسخ 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 | کاربر فعلی گوگل قادر به ارائه اطلاعات پرداخت نیست. |
DEVELOPER_ERROR | پارامتر ارسالی به طور نامناسبی قالببندی شده است. ممکن است برای همه محیطهای پیکربندی شده، یک پیام خطا در کنسول مرورگر ظاهر شود . |
MERCHANT_ACCOUNT_ERROR | سایتی که به API گوگل پی دسترسی دارد، مجوز لازم را ندارد. این میتواند به دلیل پیکربندی نادرست یا تنظیم نادرست شناسه فروشنده در درخواست باشد. برای جزئیات بیشتر، فیلد |
INTERNAL_ERROR | خطای عمومی سرور. |
کارت اینفو
خطاهای OR_BIBED_15
ممکن است در مقطعی از فرآیند یکپارچهسازی با خطای OR_BIBED_15 مواجه شوید. این لیست توصیههای مفیدی برای عیبیابی در صورت بروز این خطا ارائه میدهد.