عیب یابی

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

برنامه در حال حاضر در یک محیط آزمایشی اجرا می‌شود

کاربر ممکن است هنگام انتخاب کارت پرداخت از پنجره جزئیات پرداخت، پیام زیر را مشاهده کند:

برنامه در حال حاضر در یک محیط آزمایشی اجرا می‌شود. تراکنش‌ها منجر به کسر هزینه واقعی نمی‌شوند.

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

درخواست ناموفق بود

رایج‌ترین پیام خطا OR_BIBED_06 است. این پیام خطا همچنین در رابط کاربری به صورت یک کادر محاوره‌ای با متن زیر ظاهر می‌شود:

درخواست ناموفق بود
مشکلی در ادغام Google Pay فروشنده وجود دارد. لطفاً برای راهنمایی با فروشنده تماس بگیرید یا با روش دیگری پرداخت کنید.

برای آشنایی بیشتر با این خطا، مراحل زیر را دنبال کنید:

  1. مطمئن شوید که Android Debug Bridge (adb) روی رایانه شما نصب شده است.
  2. مطمئن شوید که اشکال‌زدایی USB در دستگاه شما فعال است. برای اطلاعات بیشتر، به بخش اشکال‌زدایی برنامه خود مراجعه کنید.
  3. دستگاه اندروید خود را به کامپیوتر وصل کنید یا شبیه‌ساز خود را اجرا کنید.
  4. دستور زیر را در ترمینال یا خط فرمان کامپیوتر خود اجرا کنید:

    adb logcat -s WalletMerchantError

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

02-26 17:41:28.133 14593 14593 W WalletMerchantError: Error in loadPaymentData: This
merchant profile does not have access to this feature.

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

اعتبار درگاه

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

OR_BIBED_06 دروازه ناشناخته 'yourgateway'
مقدار ویژگی gateway که در tokenizationSpecification مشخص کرده‌اید، در حال حاضر توسط API گوگل پی پشتیبانی نمی‌شود. برای اطلاعات بیشتر در مورد شناسه درگاه و فیلدهای مرتبط با آن، مانند gatewayMerchantId ، با درگاه خود تماس بگیرید.
OR_BIBED_06 نمی‌توان از «مثال» دروازه در حالت تولید استفاده کرد.
مقدار ویژگی دروازه نمونه فقط برای اهداف آزمایشی استفاده می‌شود و نمی‌توان آن را با مقدار پارامتر محیطی WalletOptions که روی WalletConstants.ENVIRONMENT_PRODUCTION تنظیم شده است، استفاده کرد. برای اطلاعات بیشتر در مورد پارامترهای gateway که باید با API گوگل پی استفاده کنید، با دروازه خود تماس بگیرید.

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

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

OR_BIBED_07 این API به کتابخانه سرویس‌های گوگل پلی نسخه ۸.۴ به بالا نیاز دارد.
مطمئن شوید که سرویس‌های گوگل پلی روی دستگاهی که برنامه روی آن اجرا می‌شود، به‌روز هستند.
OR_BIBED_07 هیچ کلیدی برای این پروفایل فروشنده یافت نشد
برای تکمیل یکپارچه‌سازی type tokenizationSpecification DIRECT ، باید کلید رمزگذاری عمومی خود را با استفاده از کنسول Google Pay & Wallet در گوگل ثبت کنید.
OR_BIBED_07 این نمایه فروشنده به این ویژگی دسترسی ندارد.
شما مراحل ثبت برنامه خود برای API گوگل پی را تکمیل نکرده‌اید. برای اطلاعات بیشتر، درخواست دسترسی به محیط عملیاتی را بررسی کنید.
OR_BIBED_10 این فروشنده در منطقه‌ای است که گوگل پی در آن پذیرفته نمی‌شود.
سرویس گوگل پی در این منطقه در دسترس نیست. برای اطلاعات بیشتر به لیست کشورهای پشتیبانی شده مراجعه کنید.
OR_BIBED_11 این فروشنده ثبت نام برای استفاده از Google Pay API را تکمیل نکرده است. لطفاً برای تأیید به کنسول (https://pay.google.com/business/console) بروید.
شما مراحل ثبت برنامه خود برای API گوگل پی را تکمیل نکرده‌اید. برای اطلاعات بیشتر، درخواست دسترسی به محیط عملیاتی را بررسی کنید.
OR_BIBED_12 این ادغام با API گوگل پی غیرفعال است. لطفاً برای اطلاعات بیشتر با ما تماس بگیرید (https://developers.google.com/pay/api/faq#how-to-get-support).
برای کسب اطلاعات بیشتر در مورد مراحل لازم برای فعال کردن مجدد API گوگل پی برای حساب خود، با ما تماس بگیرید .
OR_BIBED_13 اثر انگشت‌های کلید امضا {11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF:11:22:33:44:55} با رکوردهای ما برای این برنامه مطابقت ندارند.
API گوگل پی فقط در صورتی می‌تواند در حالت تولید استفاده شود که APK با کلید امضای صحیح امضا شده باشد. برای اطلاعات بیشتر، به بخش «امضای برنامه» مراجعه کنید.

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

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

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

وب ویو اندروید

OR_BIBED_15 گوگل پی به درستی بارگیری نشد زیرا این برنامه از وب ویو استفاده می‌کند. توسعه‌دهندگان برنامه باید دستورالعمل‌ها را دنبال کنند تا گوگل پی بتواند در وب ویو اندروید کار کند.
برای فعال کردن API گوگل پی برای اندروید وب‌ویو، دستورالعمل‌ها را دنبال کنید.

کارت اینفو

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

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

  • شما باید API createButton پیاده‌سازی کنید.
  • شما باید ButtonOptions.buttonType را برای buy ، long یا pay پیکربندی کنید.
  • کاربر باید یک روش پرداخت در دسترس داشته باشد، همانطور که توسط شیء CardParameters شما تعریف شده است.