I'm building a 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();
I then start SupportWalletFragment:
SupportWalletFragment supportWalletFragment
SupportWalletFragment.newInstance(walletFragmentOptions);
MaskedWalletRequest maskedWalletRequest = createMaskedWalletRequest();
WalletFragmentInitParams initParams =
createWalletFragmentInitParams(maskedWalletRequest);
supportWalletFragment.initialize(initParams);
When I click on generated Android Pay button, my onActivityResult
gets correct request code, result code = 1, and data Intent has error value of 8.
I don't see this error code in the WalletConstants
class (link ). What am I missing?
It looks like the "8" may be coming from the CommonStatusCodes class.
It turns out the allowed card network was invalid. I just dropped '123' in there for a quick test. I can only pass in one of these network ints. I was hoping for a much more clear error string like the other errors generated during the Android Pay process.