限制Android Pay的信用卡类型



我们使用的支付处理器支持除了Discover for Android Pay之外的所有卡类型。我一直在到处寻找,试图找到一种方法来限制支持的卡类型。我能找到的唯一标志是在MaskedWalletRequest上相关的地方。但他们只允许你拒绝借记卡或预付卡。

有谁知道限制可接受的卡片类型的方法吗?

我最终找到了我自己问题的解决方案。我想我应该把答案贴出来,因为我在其他地方找不到。在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();

最新更新