限制Android Pay上的卡类型

时间:2016-09-13 15:14:47

标签: android credit-card android-pay

我们使用的支付处理器支持除了Discover for Android Pay之外的所有卡类型。我一直在寻找各地试图找到一种限制支持的卡类型的方法。我可以找到的唯一标志与MaskedWalletRequest的位置有些相关。但它们只允许您拒绝借记卡或预付卡。

任何人都知道限制接受卡类型的方法吗?

1 个答案:

答案 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();