我只接受借记卡付款,以使用Google电子钱包付款,但找不到任何有用的文章或解决方案。

这是我遵循的代码示例:

private PaymentDataRequest createPaymentDataRequest() {
    PaymentDataRequest.Builder request =
            PaymentDataRequest.newBuilder()
                    .setTransactionInfo(
                            TransactionInfo.newBuilder()
                                    .setTotalPriceStatus(WalletConstants.TOTAL_PRICE_STATUS_FINAL)
                                    .setTotalPrice("10.00")
                                    .setCurrencyCode("USD")
                                    .build())
                    .addAllowedPaymentMethod(WalletConstants.PAYMENT_METHOD_CARD)
                    .addAllowedPaymentMethod(WalletConstants.PAYMENT_METHOD_TOKENIZED_CARD)
                    .setCardRequirements(
                            CardRequirements.newBuilder()
                                    .addAllowedCardNetworks(
                                            Arrays.asList(
                                                    WalletConstants.CARD_NETWORK_AMEX,
                                                    WalletConstants.CARD_NETWORK_DISCOVER,
                                                    WalletConstants.CARD_NETWORK_VISA,
                                                    WalletConstants.CARD_NETWORK_MASTERCARD))
                                    .setAllowPrepaidCards(false)
                                    .build());

    PaymentMethodTokenizationParameters params =
            PaymentMethodTokenizationParameters.newBuilder()
                    .setPaymentMethodTokenizationType(
                            WalletConstants.PAYMENT_METHOD_TOKENIZATION_TYPE_PAYMENT_GATEWAY)
                    .addParameter("gateway", "xxxx")
                    .addParameter("gatewayMerchantId", "xxxxxxx")
                    .build();

    request.setPaymentMethodTokenizationParameters(params);
    return request.build();
}


任何建议将不胜感激。

提前致谢。

最佳答案

目前无法在Google Pay API中过滤掉信用卡。

但是,使用getCardClass()从意图中收到PaymentData后,您可以检查卡类型:

PaymentData paymentData = PaymentData.getFromIntent(intent);
if (paymentData.getCardInfo().getCardClass() != WalletConstants.CARD_CLASS_DEBIT) {
    // show error to user
}

关于android - 如何仅允许借记卡进行Google钱包集成Android,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47826043/

10-11 06:27