是否可以选择只在UI中使用Braintree下拉添加信用卡,或者只能用于付款?我的服务器配置为发送令牌并收到付款,但我希望我的用户能够在使用我的应用程序之前添加信用卡。
答案 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;
在这里,您可以使用卡的数据访问标记化的卡和视图控制器。
您可以获取网关配置以显示支持的卡。
希望可以提供帮助。