小编tra*_*ndh的帖子

ERROR_CODE_MERCHANT_ACCOUNT_ERROR (405) 在使用 Google 示例代码的 TEST 环境中尝试 Android Pay 时

使用https://github.com/android-pay/androidpay-quickstart尝试 Android Pay。以下是我为 Android pay 所做的微小更改,以绕过示例中的默认 Google 钱包实现。

  1. 在我的设备中安装了最新版本 (8.4.89) 的 Google Play 服务

  2. 将 build.gradle 文件中的依赖项更改为使用 8.3 版本作为

    编译 'com.google.android.gms:play-services-wallet:8.3.0'

  3. 在我的设备上,从 Play 商店下载了“Android Pay”应用程序并成功添加了一张支持的银行卡。

WalletFragmentStyle walletFragmentStyle = new WalletFragmentStyle()
            .setBuyButtonText(BuyButtonText.BUY_WITH_GOOGLE)
            .setBuyButtonAppearance(WalletFragmentStyle.BuyButtonAppearance.ANDROID_PAY_LIGHT)
            .setMaskedWalletDetailsLogoImageType(WalletFragmentStyle.LogoImageType.ANDROID_PAY)
            .setBuyButtonWidth(Dimension.MATCH_PARENT);
Run Code Online (Sandbox Code Playgroud)

通过这样做,我可以在 CheckOutActivity 屏幕中获得 Android Pay 标志,类似于https://developers.google.com/android-pay/payment-flows 中的支付流程部分下的第一张图片。但是当我点击“ Buy With Android(logo) Pay ”时,我收到错误代码405。根据https://developers.google.com/android-pay/best-practices 中的无效签名密钥指纹”部分, 这通常发生在开发中的应用程序从沙盒环境切换到生产环境之后。

我已确保在代码中将环境设置为 TEST (WalletConstants.ENVIRONMENT_TEST),如下所示

WalletFragmentOptions walletFragmentOptions = WalletFragmentOptions.newBuilder()
            .setEnvironment(WalletConstants.ENVIRONMENT_TEST)
            .setFragmentStyle(walletFragmentStyle)
            .setTheme(WalletConstants.THEME_LIGHT)
            .setMode(WalletFragmentMode.BUY_BUTTON)
            .build();
Run Code Online (Sandbox Code Playgroud)

请注意,我尚未在 Play 商店中发布此应用程序,我只是在我的本地盒子中尝试使用,并且不想对示例应用程序进行预授权。因此,我没有遵循https://developers.google.com/android-pay/preauth 中提到的步骤。因此,我无法验证“提供给 Google 的指纹与用于签署 Android …

android android-pay

5
推荐指数
2
解决办法
2178
查看次数

标签 统计

android ×1

android-pay ×1