UI中的Braintree Drop - 添加信用卡

时间:2016-11-19 00:33:45

标签: ios braintree

是否可以选择只在UI中使用Braintree下拉添加信用卡,或者只能用于付款?我的服务器配置为发送令牌并收到付款,但我希望我的用户能够在使用我的应用程序之前添加信用卡。

2 个答案:

答案 0 :(得分:2)

不,您不能仅添加信用卡。

根据我与Braintree支持团队的电子邮件通信,如果您使用的是Drop-in Payment UI,则无法仅添加信用卡。在进行任何交易时,用户可以添加信用卡。

答案 1 :(得分:1)

要弄明白这一点有点棘手,但我可以使用适用于iOs的Braintree SDK中包含的组件(v.4.9.0)

你必须从没有“customerId”的服务器获得“令牌”(这样可以避免自动保存卡)

当您收到“令牌”时,您可以这样做:

            NSString* token = [jsonData valueForKey:@"response"];
            self.req=[[BTDropInRequest alloc] init];

            self.req.applePayDisabled = YES ;

            self.cardForm = [[BTDropInController alloc] initWithAuthorization:token request:self.req handler:^(BTDropInController * _Nonnull controller, BTDropInResult * _Nullable result, NSError * _Nullable error) {



            }];

            BTCardFormViewController* vd = [[BTCardFormViewController alloc] initWithAPIClient:self.cardForm.apiClient request:self.cardForm.dropInRequest];
            vd.supportedCardTypes = [NSArray arrayWithObject:@(BTUIKPaymentOptionTypeVisa)];
            vd.delegate = self;

            UINavigationController* navController = [[UINavigationController alloc] initWithRootViewController:vd];
            if ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad) {
                navController.modalPresentationStyle = UIModalPresentationPageSheet;
            }

            [self presentViewController:navController animated:YES completion:nil];

上面的代码将显示标准的Braintree表格以收集卡片数据。

你必须实现BTCardFormViewControllerDelegate才能获得标记化的卡片。

- (void)cardTokenizationCompleted:(BTPaymentMethodNonce * _Nullable )tokenizedCard error:(NSError * _Nullable )error sender:(BTCardFormViewController *) sender;

在这里,您可以使用卡的数据访问标记化的卡和视图控制器。

您可以获取网关配置以显示支持的卡。

希望可以提供帮助。