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)(infoはCardIOCreditCardInfoのオブジェクトです)FYI 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 ロゴを表示するために使用され、画像ロゴの取得とは無関係です。

cardTypeId に関しては、cardType 列挙型と文字列が必要だと思います。Android では、CreditCard.getCardType() はCardType.VISA や CardType.AMEX などのCardType列挙型を返します。取得したクレジット カードのローカライズされた名前が必要な場合は、電話してください。

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 に答える