如何在 Android 中从沙盒模式设置 Google 钱包生产模式?

Kha*_*han 5 payment android android-sdk-tools android-pay

我正在使用 Google Wallet Instant Buy, 按照此处给出的描述和 Google 提供的示例以及 Android SDK 在此路径或类似路径D:\android-sdk-windows\extras\google\google_play_services\samples\wallet(根据 SDK)显示在您的电脑上。

我成功运行了该应用程序并在我的应用程序中实现了相同的功能,并且它在沙盒模式下运行良好

现在我必须进入应用程序的最后阶段才能将其发布到游戏商店中,我需要将沙盒模式更改为生产模式,以便我们可以进行实时交易(购买)。

据我理解代码并得到我需要更改的内容,我已在特定类中进行了如下所示的更改

课程

  1. 常量.类

    // 创建 WalletClient 实例时使用的环境

    public static final int WALLET_ENVIRONMENT = WalletConstants.ENVIRONMENT_SANDBOX;
    
    Run Code Online (Sandbox Code Playgroud)

    取而代之

    public static final int WALLET_ENVIRONMENT = WalletConstants.ENVIRONMENT_PRODUCTION;
    
    Run Code Online (Sandbox Code Playgroud)
  2. LoginFragment.class

    private static final String WALLET_SANDBOX_SCOPE ="https://www.googleapis.com/auth/paymentssandbox.make_payments";
    
    Run Code Online (Sandbox Code Playgroud)

    取而代之

    private static final String WALLET_SANDBOX_SCOPE ="https://www.googleapis.com/auth/payments.make_payments";
    
    Run Code Online (Sandbox Code Playgroud)

所有类均在 GOOGLE 提供的示例中给出,并 根据您电脑上的 SDK 位于D:\android-sdk-windows\extras\google\google_play_services\samples\wallet位置。

我已经在我的应用程序中直接使用了它,并进行了必要的包更改和其他设计相关的更改。

我已经按照此处给出的说明完成了所有必需的设置Android Google Wallet Integration

由于我必须在生产模式下工作,所以我使用Sign APK Keystore创建了客户端 id 和 Android 密钥。

我尝试在设备中运行Sign APK,但它返回错误ERROR_CODE_MERCHANT_ACCOUNT_ERROR (405)

不知道如何解决这个问题。

还有一个问题是谷歌钱包如何检测它的Android 密钥客户端密钥..因为就像在简单的谷歌地图示例中一样,我们在应用程序中使用Api 密钥,但我没有找到Api 密钥或客户端 id的类似用途谷歌钱包示例

Blu*_*303 3

猜测由于指纹无效而发生错误,当用于签署 Android 应用程序的签名密钥指纹与在 Google Play 注册的指纹不匹配时,Android 的 Instant Buy API 返回 ERROR_CODE_MERCHANT_ACCOUNT_ERROR (405)

要解决此问题,请确保提供给 Google 的指纹与用于签署 Android 应用程序的密钥指纹相匹配。Android 应用程序签名后,

使用以下命令验证用于签名的密钥的指纹:

// 首先从APK jar中提取META-INF/CERT.RSA -xvf META-INF/CERT.RSA inflated: META-INF/CERT.RSA

keytool -printcert -文件 META-INF/CERT.RSA

证书指纹:MD5:77:41:C5:C1:DD:3F:6C:09:88:FA:33:3D:83:5F:D3:9E SHA1:EC:4A:EE:DC:F4:02: EA:87:0A:C5:09:C0:58:06:91:E7:EA:41:09:9D
签名算法名称:SHA1withRSA

将 SHA1 与提供给 Google Play 的指纹进行匹配。,希望有帮助