0

我正在使用 card.io 在我的应用程序中扫描信用卡。我的问题是我无法获得卡片图像徽标(即使我通过了(CardIOActivity.EXTRA_USE_CARDIO_LOGO,true))。我也没有拿到卡的钥匙(例如,VISA 有 4,MASTERCARD 有 55 或 51)。

答案将不胜感激。

提前致谢。

我对 Key 的意思是 CardTypeId。我们像这样在 ios 中获取 CardTypeId ..

(void)userDidProvideCreditCardInfo:(CardIOCreditCardInfo *)info inPaymentViewController:(CardIOPaymentViewController *)scanViewController {
// The full card number is available as info.cardNumber, but don't log that!
NSLog(@"Received card info. Number: %@, expiry: %02i/%i, cvv: %@.cardtype %u", info.cardNumber, info.expiryMonth, info.expiryYear, info.cvv,info.cardType);
//getting cardtype (like visa) from info.cardType (this is what we called as CardTypeId //an ineger value)

NSString *cardTypeString=[NSString stringWithFormat:@"%@",[CardIOCreditCardInfo     displayStringForCardType:info.cardType usingLanguageOrLocale:[[NSLocale currentLocale] localeIdentifier]]];
}

那么如何在android(info.cardType)中获取该整数(信息是CardIOCreditCardInfo的对象)仅供参考,info.cardType返回整数,如53,52等。

4

2 回答 2

5

来自card.io的杰夫在这里。

我们现在允许在card.io Android SDK 3.1.3 版本中检索卡片类型图像。要检索卡片类型图像,请使用

cardType.imageBitmap(context)

CardIOActivity.EXTRA_USE_CARDIO_LOGO 用于在扫描卡片时显示card.io logo,与获取图片logo无关。

关于 cardTypeId,我假设您需要 cardType 枚举和字符串。在 Android 中,CreditCard.getCardType() 返回CardType枚举,例如 CardType.VISA 或 CardType.AMEX。如果您想要检索到的信用卡的本地化名称,只需致电

cardType.getDisplayName(null) //optionally pass in the desired locale

枚举值并不重要,因为枚举是作为枚举使用的。它们绝不应该是未定义的值(iOS 头文件不会将 52 或 53 显示为可能的值)。如果您认为有错误,请在card.io GitHub Android repo中提交。

于 2013-09-16T18:16:15.133 回答
1

在方法【onActivityResult】中添加这一行</p>

resultStr += "Card Type: " +  scanResult.getCardType().getDisplayName(null) + "\n";
于 2014-10-01T09:22:22.720 回答