Как получить CardType / Тип платежной сети для Android Pay

В настоящее время:

maskedWallet.getPaymentDescriptions()[0].substring(0,maskedWallet.getPaymentDescriptions()[0].indexOf("-")); 

дал бы мне тип карты (VISA/AMEX/MASTERCARD/DISCOVER). Например: maskedWallet.getPaymentDescriptions()[0] имеет строковое значение "VISA-1008".

Выше метод выбрасывает исключение индекса за пределами границ, когда "-" не найден.

Теперь я обновил код, чтобы получить тип платежной сети / тип карты из dpan (виртуальный аккаунт # от Android Pay), используя тот же метод, который дает нам тип карты на основе номера кредитной карты (здесь я использовал dpan вместо CC#).

Я хотел знать, есть ли лучший способ получить CardType, если это транзакция Android Pay?

1 ответ

Из объекта MaskedWallet, полученного в onActivityResults(){}

String card_type = mMaskedWallet.getInstrumentInfos()[0].getInstrumentType();
String card_num = mMaskedWallet.getInstrumentInfos()[0].getInstrumentDetails();

String cardholder_name =  mMaskedWallet.getBuyerBillingAddress().getName();

Для получения дополнительной информации см. Документацию: https://developers.google.com/android/reference/com/google/android/gms/wallet/MaskedWallet.html

Другие вопросы по тегам