Android 谷歌钱包:只有在更改MaskedWallet后才能加载FullWallet

Android 谷歌钱包:只有在更改MaskedWallet后才能加载FullWallet,android,android-pay,Android,Android Pay,我正在将谷歌钱包应用到Android应用程序中,遇到了一个奇怪的问题 我可以加载MaskedWallet请求,但当我准备下订单并尝试加载FullWallet时,我会收到错误\代码\无效\参数错误响应。但是,如果我随后立即调用changeMaskedWallet方法,然后进行与第一次尝试相同的FullWalletRequest,则FullWallet将正常运行 你知道这是怎么回事吗 编辑: 我创建FullWalletRequest的代码如下所示: return FullWalletRequest.

我正在将谷歌钱包应用到Android应用程序中,遇到了一个奇怪的问题

我可以加载MaskedWallet请求,但当我准备下订单并尝试加载FullWallet时,我会收到错误\代码\无效\参数错误响应。但是,如果我随后立即调用changeMaskedWallet方法,然后进行与第一次尝试相同的FullWalletRequest,则FullWallet将正常运行

你知道这是怎么回事吗

编辑: 我创建FullWalletRequest的代码如下所示:

return FullWalletRequest.newBuilder()
            .setGoogleTransactionId(googleTransactionId)
            .setCart(Cart.newBuilder()
                    .setCurrencyCode("USD")
                    .setTotalPrice(String.format("%.2f", totalPrice))
                    .setLineItems(buildLineItems(cartModel))
                    .build())
            .build();

当我调用changeMaskedWallet时,我会收到相同的googleTransactionId并将其传递给这个构建器。此外,我尝试添加商户交易Id,但没有帮助。不幸的是,我无法发布生成行项目的逻辑,但我基本上使用LineItem.newBuilder构建器来创建我需要添加的每个项目。

因此,基本上我没有正确设置行项目,尽管很难判断,因为LogCat中没有记录错误。我改为使用Gson序列化Wallet对象,并用肉眼检查生成的Json。这不是最好的方法,但对我来说很有效。

有没有代码片段来说明你的问题?@Fred:谢谢,我发布了我可以发布的内容。任何帮助都会很好!logcat中应该有一个错误,它告诉您请求失败的确切原因,例如无效货币或无效行项目。您能再解释一下行项目的错误吗?我也遇到了类似的事情…我想我的处境。。。我使用的是测试条带密钥,而不是活动条带密钥。