我们使用的支付处理器支持除了Discover for Android Pay之外的所有卡类型。我一直在寻找各地试图找到一种限制支持的卡类型的方法。我可以找到的唯一标志与MaskedWalletRequest的位置有些相关。但它们只允许您拒绝借记卡或预付卡。
任何人都知道限制接受卡类型的方法吗?
答案 0 :(得分:1)
我最终找到了自己问题的解决方案。我想我会发布答案,因为我无法在其他任何地方找到答案。 MaskedWalletRequest Builder上有.addAllowedCardNetworks(supportedNetworks)
方法。
如果使用.addAllowedCardNetworks(supportedNetworks)
或.addAllowedCardNetwork(cardNetwork)
方法未提供任何内容,则默认为所有卡片网络。
Collection<Integer> supportedNetworks = new ArrayList<Integer>();
supportedNetworks.add(WalletConstants.CardNetwork.AMEX);
supportedNetworks.add(WalletConstants.CardNetwork.MASTERCARD);
supportedNetworks.add(WalletConstants.CardNetwork.VISA);
MaskedWalletRequest maskedRequest = MaskedWalletRequest.newBuilder()
.setMerchantName(BuildConfig.MERCHANT_NAME)
.setPhoneNumberRequired(false)
.setShippingAddressRequired(false)
.setCurrencyCode("USD")
.setEstimatedTotalPrice(String.format(Locale.US, "%s", total))
.setCart(cart)
.setPaymentMethodTokenizationParameters(parameters)
.addAllowedCardNetworks(supportedNetworks)
.build();