2017-12-15 18 views
0

Google 월렛을 사용하여 직불 카드로만 결제하는 것을 허용하고 싶습니다. 유용 할만한 기사 나 솔루션을 찾지 못했습니다. 어떤 제안이 매우 극명하게 될 것이다Google 월렛 통합을위한 직불 카드 허용 방법 Android

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(); 
} 

: 여기

내가 다음 코드 샘플입니다.

미리 감사드립니다.

답변

0

현재 Google Pay API에서 신용 카드를 필터링 할 수 없습니다. 당신이 getCardClass()를 사용하여 의도에서 PaymentData을받은 후

당신은, 그러나, 카드 종류를 확인할 수 있습니다

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