【问题标题】:Android Pay errorCode = 8 when generating MaskedWalletRequest生成 MaskedWalletRequest 时的 Android Pay errorCode = 8
【发布时间】:2026-01-03 10:15:01
【问题描述】:

我正在构建一个MaskedWalletRequest

return MaskedWalletRequest.newBuilder()

    // required fields
    .setCurrencyCode(CURRENCY_CODE)
    .setEstimatedTotalPrice(String.valueOf(order.getTotal()))

    // optional fields
    .setShippingAddressRequired(false)
    .setMerchantName(MERCHANT_NAME)
    .setPhoneNumberRequired(false)
    .setPaymentMethodTokenizationParameters(tokenizationParameters)
    .setMerchantTransactionId(String.valueOf(order.getId()))
    .addAllowedCardNetwork(123)
    .build();

然后我启动 SupportWalletFragment:

SupportWalletFragment supportWalletFragment 
    SupportWalletFragment.newInstance(walletFragmentOptions);

MaskedWalletRequest maskedWalletRequest = createMaskedWalletRequest();

WalletFragmentInitParams initParams = 
    createWalletFragmentInitParams(maskedWalletRequest);

supportWalletFragment.initialize(initParams);

当我点击生成的 Android Pay 按钮时,我的onActivityResult 得到正确的请求代码,结果代码 = 1,数据 Intent 的错误值为 8。

我在 WalletConstants 类 (link ) 中看不到此错误代码。我错过了什么?

【问题讨论】:

    标签: android-pay


    【解决方案1】:

    看起来“8”可能来自 CommonStatusCodes 类。

    原来允许的卡网络无效。我只是将“123”放在那里进行快速测试。我只能传入其中一个network ints。我希望有一个更清晰的错误字符串,就像在 Android Pay 过程中生成的其他错误一样。

    【讨论】:

      【解决方案2】:

      当您多次点击“使用 Android Pay 购买”按钮时 - 出现错误代码 8。

      关于上述 Masked Wallet 构建器,请参阅 allowedCardNetworks() 上的文档以获取更多信息。

      https://developers.google.com/android/reference/com/google/android/gms/wallet/MaskedWalletRequest.Builder#addAllowedCardNetwork(int)

      【讨论】: