2016-11-19 53 views
0

是否有一个选项可以将用户的信用卡添加到Braintree用户界面中,还是只能用于付款?我将服务器配置为发送令牌并接收付款,但我希望我的用户能够在使用我的应用程序之前添加信用卡。Braintree放入用户界面 - 添加信用卡

回答

0

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

根据我与Braintree支持团队的电子邮件通信,如果您使用了Drop-in Payment UI,则无法仅添加信用卡。只做任何交易时,用户将能够添加信用卡。

+1

完全披露:我在布伦特里工作。当与客户ID一起使用时,Drop-In将[自动保存客户使用的任何新卡片](https://developers.braintreepayments.com/guides/drop-in/javascript/v2#customer-id)。如果您想要对存储进行手动控制,则应该使用Braintree的[托管字段产品](https://developers.braintreepayments.com/guides/hosted-fields/overview/javascript/v3)。 – jake

+0

@jake,使用JS客户端,我们可以获得付款方式令牌,并可以将其与Braintree客户ID进行保存 - https://developers.braintreepayments.com/reference/client-reference/javascript/v2/configuration。 iOS客户端SDK中是否有类似的东西? –

+0

@ArindamNayak,这有点偏离了这个问题,所以我鼓励你打开一个新的问题,或者如果你需要任何关注,请[联系布兰特里支持](https://developers.braintreepayments.com/forms/contact) -向上。简而言之:是的,[iOS SDK返回付款方式随机](https://developers.braintreepayments.com/guides/credit-cards/client-side/ios/v4),您可以使用它将付款方式存储在Braintree库。 – jake

1

这是一个有点棘手搞清楚,但我能做到这包含在布伦特里SDK使用的组件适用于iOS(诉4.9.0)

你必须从取得“令牌”你没有“客户ID”服务器当你收到(这避免自动保存在卡)

的“令牌”,你可以这样做:

  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]; 

上面的代码将呈现标准的布伦特里形式采集卡数据。

您必须实现BTCardFormViewControllerDelegate以获取标记卡。

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

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

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

希望能有所帮助。

相关问题