Как получить 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