راهنمای عیبیابی وب مشکلات و سؤالات مربوط به موضوعات زیر را پوشش میدهد.
ثبتنام و دسترسی
ممکن است در نقطهای از ادغام با خطاهای زیر مواجه شوید. این فهرست چند توصیه مفید برای عیبیابی درصورت بروز این خطاها ارائه میدهد.
- این فروشنده برای Google Pay فعال نشده است
- Google Pay API برای سایتهایی که
PaymentsClientرا برای محیطPRODUCTIONپیکربندی میکنند، به Google merchantId نیاز دارد. یکmerchantIdازطریق کنسول کیف پول و Google Pay با یک یا چند دامنه کاملاً واجدشرایط مرتبط است. برای اطلاعات بیشتر، جزئیات خطای برگشتدادهشده را بررسی کنید. - این فروشنده ثبتنام برای استفاده از Google Pay API را تکمیل نکرده است. لطفاً برای تأیید به کنسول (https://pay.google.com/business/console) بروید.
- فرایند ثبت وبسایتهایتان را برای Google Pay API تکمیل نکردهاید. برای ثبتنام بااستفاده از کنسول کیف پول و Google Pay و درخواست بازبینی استفاده وبسایتتان از Google Pay API، درخواست دسترسی به تولید را مرور کنید.
- این نمایه فروشنده به این ویژگی دسترسی ندارد
- Google وبسایت شما را برای استفاده از Google Pay API پیکربندی نکرده است. درخواست دسترسی تولید را مرور کنید تا درخواست بازبینی استفاده وبسایتتان از Google Pay API را ازطریق کنسول کیف پول و Google Pay ارسال کنید.
- این یکپارچهسازی Google Pay API غیرفعال است. لطفاً برای اطلاعات بیشتر با ما تماس بگیرید (https://developers.google.com/pay/api/faq#how-to-get-support).
- با ما تماس بگیرید تا درباره مراحل لازم برای فعال کردن مجدد Google Pay API برای «حساب Google» خود بیشتر بدانید.
- دامنه «example.com» شما برای استفاده از این میانای برنامهسازی کاربردی ثبت نشده است
- دامنهای که تصفیهحساب شما در آن میزبانی میشود با
merchantIdکه استفاده میکنید مرتبط نیست. مطمئن شوید پارامترmerchantIdدرست باشد و دامنهتان ازطریق کنسول کیف پول و Google Pay ثبت شده باشد. - میانای برنامهسازی کاربردی Google Pay باید در زمینه امن فراخوانی شود!
- Google Pay API فقط در وبسایتهای دارای زمینه امن قابلاستفاده است. برای اطلاعات بیشتر، زمینههای امن را ببینید.
- هیچ کلیدی برای این نمایه فروشنده پیدا نشد
- باید کلید رمزگذاری عمومیتان را ازطریق
کنسول Pay و کیف پول Google در Google ثبت کنید تا
ادغام
DIRECTtokenizationSpecificationtypeتکمیل شود.
merchantId
ممکن است در نقطهای از ادغام با خطاهای زیر دررابطهبا merchantId مواجه شوید. این فهرست چند توصیه مفید برای عیبیابی درصورت بروز این خطاها ارائه میدهد.
- merchantId باید تنظیم شود!
- پارامتر
merchantIdدرPaymentDataRequestباید روی مقداری تنظیم شود که بااستفاده از کنسول Pay و کیف پول Google ارائه شده است. پارامترmerchantIdفقط زمانی لازم است که ازPaymentsClientپیکربندیشده برای محیطPRODUCTIONاستفاده کنید. بازبینه ادغام ما را مرور کنید تا درخواست بازبینی استفاده وبسایتتان از Google Pay API را ارسال کنید وmerchantIdخود را دریافت کنید. - merchantId رشته نیست
- پارامتر
merchantIdداخلPaymentDataRequestهمیشه باید رشته باشد. مطمئن شوید نوع پارامترmerchantIdکه استفاده میکنید قبلاز فراخوانی API، رشته باشد. - merchantId ثبت نشده است.
- پارامتر
merchantIdدرPaymentDataRequestباید ازطریق کنسول کیف پول و Google Pay تأمین شود. برای اطلاعات بیشتر، درخواست دسترسی تولید را مرور کنید.
اعتبار دروازه
ممکن است در نقطهای از ادغام با خطاهای زیر دررابطهبا اعتبار درگاه مواجه شوید. این فهرست چند توصیه مفید برای عیبیابی درصورت بروز این خطاها ارائه میدهد.
- دروازه ناشناخته «دروازه شما»
- پارامتر درگاهی که در
paymentMethodTokenizationParameters.parametersمشخص کردهاید درحالحاضر توسط Google پشتیبانی نمیشود. برای اطلاعات بیشتر درباره شناسه درگاه و فیلدهای مرتبط با آن، مانندgatewayMerchantId، با درگاهتان تماس بگیرید. - از «نمونه» درگاه نمیتوان در حالت تولید استفاده کرد
- مقدار پارامتر درگاه نمونه فقط برای اهداف آزمایشی استفاده میشود و نمیتوان از آن با
PaymentsClientپیکربندیشده برای محیطPRODUCTIONاستفاده کرد. برای اطلاعات بیشتر درباره مقادیر پارامترهایPaymentMethodTokenizationSpecificationکه باید برای استفاده با Google Pay API تنظیم کنید، با درگاهتان تماس بگیرید.
اعتبار شیء
ممکن است در نقطهای از ادغام با خطاهای زیر دررابطهبا اعتبار شیء مواجه شوید. این فهرست چند توصیه مفید برای عیبیابی درصورت بروز این خطاها ارائه میدهد.
- PaymentDataRequest مربوط به Google Pay در قالب json معتبر نیست
- پارامتر ارائهشده به
loadPaymentDataهمیشه باید شیءPaymentDataRequestمعتبری باشد. - transactionInfo باید تنظیم شود!
- پارامتر
transactionInfoدرPaymentDataRequestهمیشه باید شیءTransactionInfoمعتبری باشد.
فروشندگان مستقیم
ممکن است در نقطهای از ادغام خود با خطاهای زیر مربوط به فروشندگان مستقیم مواجه شوید. این فهرست چند توصیه مفید برای عیبیابی درصورت بروز این خطاها ارائه میدهد.
- درستیسنجی امضا
- اگر
merchantIdاشتباه باشد، ممکن است با خطای درستیسنجی امضا مواجه شوید. این اتفاق ممکن است در محیطTESTزمانی رخ دهد که از کتابخانه Tink paymentmethodtoken استفاده میکنید. برای جلوگیری از این مشکل، YOUR_MERCHANT_ID را روی12345678901234567890در اینجا تنظیم کنید: .recipientId("merchant:YOUR_MERCHANT_ID")
- نمیتوان رمز نشانه را گشود
- اگر از کتابخانه Tink paymentmethodtoken برای رمزگشایی کردن توکن استفاده میکنید، به موارد زیر توجه کنید:
- مطمئن شوید که محیط پاسخ میانای برنامهسازی کاربردی Google Pay با محیط Tink paymentmethodtoken مطابقت داشته باشد. برای جزئیات بیشتر، مثال زیر را ببینید:
- اگر پاسخ Google Pay API توسط محیط
TESTبرگردانده شده باشد، Tink برای رمزگشایی به محیط آزمایشی اشاره میکند. - پاسخ Google Pay API را قبلاز ارسال به Tink تغییر ندهید. مطمئن شوید که کل کد برگرداندهشده از پاسخ Google Pay API را ارسال میکنید. برای جزئیات بیشتر، به یادداشت زیر مراجعه کنید:
- بررسی کنید که کلید خصوصی مناسبی را که با کلید عمومی ثبتشده در Google مرتبط است داشته باشید.
- تولید کردن جفت کلید عمومی و خصوصی در Windows
- اگر از Windows استفاده میکنید و میخواهید مراحل ذکرشده در استفاده از OpenSSL برای تولید جفت کلید خصوصی و عمومی را دنبال کنید، حتماً Cygwin را در دستگاهتان نصب کنید. این کار برای اجرای فرمانهای Linux لازم است.
اشیای خطا
اشیاء خطا اشیائی هستند که توسط یک وعده ردشده از یک روش جاوا اسکریپت مشتری برگردانده میشوند.
- PaymentsError
- این شیء حاوی جزئیاتی درباره خطاهای برگرداندهشده توسط روشهای جاوا اسکریپت مشتری است. ممکن است خطاها در کادر گفتگوی سَمت کاربر نمایش داده نشود.
| دارایی | نوع | شرح |
|---|---|---|
statusCode |
رشته | کد کوتاهی که نوع خطا را شرح میدهد. |
statusMessage |
رشته | پیام توسعهدهنده که خطای مواجهشده و مراحل احتمالی برای اصلاح آن را شرح میدهد. |
- خطاهای رایج
- این شیء خطاهایی را نمایش میدهد که ممکن است در همه روشهای جاوا اسکریپت با آنها مواجه شوید. حتماً کنسول توسعهدهندگان را برای پیامهای خطای بیشتر بررسی کنید.
- ویژگی CardInfo چیست؟
- Google Pay به مصرفکنندگان نشان میدهد که کارتی پشت دکمه پرداخت Google Pay وجود دارد، که هم شبکه نمانام کارت و هم چهار رقم آخر کارت را ارائه میدهد.
- چرا ویژگی CardInfo در پیادهسازی من ارائه نمیشود؟
برای اینکه ویژگی CardInfo کار کند، شرایط زیر را لازم داریم:
- باید
createButtonAPI را پیادهسازی کنید. - باید
ButtonOptions.buttonTypeرا رویbuy،long، یاpayپیکربندی کنید. - کاربر باید روش پرداخت دردسترسی داشته باشد، همانطور که توسط شیء
CardParametersشما تعریف شده است.
- باید
- چرا دکمه پرداخت Google Pay بهطور نامحدود بار میشود؟
- شنوندگان رویداد
onLoadرا برندارید. اگر شنوندگان رویدادonLoadرا بردارید، ممکن است باعث شود دکمه پرداخت Google Pay بهطور نامحدود بار شود. - چرا پساز کلیک کردن روی دکمه پرداخت Google Pay، پیامواره پرداخت نشان داده نمیشود؟
- یک فراخوانی شنونده رویداد را به رویداد
ButtonOptions.onClickاختصاص دهید. - کار کردن با «وبنما»
- راهنماهای Android و iOS را دنبال کنید تا مطمئن شوید ادغام شما با «وبنما» سازگار است.
Cross-Origin-Opener-Policyسرایند پاسخ HTTP- اگر سرایند پاسخ 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 مواجه شوید. این فهرست چند توصیه مفید برای عیبیابی درصورت بروز این خطا ارائه میدهد.