CardIO无法获取我的卡信息

时间:2013-11-08 16:46:13

标签: ios objective-c credit-card

我正在测试cardIO的iOS SDK扫描信用卡,我按照https://github.com/card-io/card.io-iOS-SDK中的说明操作,但是我打开了我的CardIOPaymentViewController,它不扫描我的卡,没有回调“userDidProvideCreditCardInfo:”,否则当我取消控制器“userDidCancelPaymentViewController:”被调用。我错过了什么吗?

请注意,卡片位置正确,我正在使用签证卡。

我的来源:

@interface TestViewController : UIViewController <CardIOPaymentViewControllerDelegate>

- (IBAction)scanCard:(id)sender;

@end

@implementation TestViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
}

- (IBAction)scanCard:(id)sender{
    CardIOPaymentViewController *scanViewController = [[CardIOPaymentViewController alloc] initWithPaymentDelegate:self];
    scanViewController.appToken = @"app-token";
    scanViewController.collectCVV = YES;
    scanViewController.collectExpiry = YES;
    scanViewController.useCardIOLogo = YES;
    [self.navigationController presentViewController:scanViewController animated:YES completion:nil];
}

- (void)userDidCancelPaymentViewController:(CardIOPaymentViewController *)scanViewController {
    NSLog(@"User canceled payment info");
    // Handle user cancellation here...
    [scanViewController dismissViewControllerAnimated:YES completion:nil];
}

- (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: %02lu/%lu, cvv: %@.", info.redactedCardNumber, (unsigned long)info.expiryMonth, (unsigned long)info.expiryYear, info.cvv);
    // Use the card info...
    [scanViewController dismissViewControllerAnimated:YES completion:nil];
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

问候。

1 个答案:

答案 0 :(得分:3)

来自card.io的戴夫。

并非所有卡都可以通过card.io成功扫描。例如,最近的一些信用卡使用的是小型非浮雕数字,而不是目前设计card.io的传统大型数字。

尝试使用几张不同的卡片来确定这是否是特定于卡片的问题。