Android 生成 MaskedWalletRequest 时支付 errorCode = 8

Android Pay errorCode = 8 when generating MaskedWalletRequest

我正在构建 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 支付按钮时,我的 onActivityResult 得到正确的请求代码,结果代码 = 1,数据 Intent 的错误值为 8。

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

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

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

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

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

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