2016-11-19 2 views
0

Есть ли возможность добавить кредитную карту к пользователю с удалением Braintree в пользовательском интерфейсе или же его можно использовать только для оплаты? У меня настроен сервер для отправки токенов и получения оплаты, но я хочу, чтобы мои пользователи могли добавлять кредитную карту перед использованием моего приложения.Braintree Drop in UI - добавить кредитную карту

ответ

0

Нет, вы не можете добавить кредитную карту.

В соответствии с моим сообщением электронной почты с командой поддержки Braintree, если вы используете интерфейс платежных карт, то вы не можете добавить только кредитную карту. Выполняя только транзакцию, пользователи смогут добавить кредитную карту.

+1

Полное раскрытие: я работаю в Braintree. При использовании с идентификатором клиента Drop-In будет автоматически сбрасывать новые карты, которые использует клиент. (Https://developers.braintreepayments.com/guides/drop-in/javascript/v2#customer-id). Если вам нужен ручной контроль над сводами, вы должны использовать продукт [Hosted Fields product] Braintree (https://developers.braintreepayments.com/guides/hosted-fields/overview/javascript/v3). – jake

+0

@jake, используя JS-клиент, мы можем получить токен метода оплаты и сохранить его против идентификатора клиента Braintree - https://developers.braintreepayments.com/reference/client-reference/javascript/v2/configuration. Есть ли что-то подобное в SDK клиента iOS? –

+0

@ArindamNayak, это немного отличается от вопроса, поэтому я призываю вас открыть новый вопрос или [обратиться к поддержке Braintree] (https://developers.braintreepayments.com/forms/contact), если вам нужно какое-либо последующее -до. Короче: Да, [iOS SDK возвращает метод оплаты nonces] (https://developers.braintreepayments.com/guides/credit-cards/client-side/ios/v4), который вы можете использовать для хранения способов оплаты в вашем Braintree Свод. – jake

1

Это было немного сложно понять, но я мог бы сделать это, используя компоненты, входящие в Braintree SDK для Ios (ст. 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; 

Здесь у вас есть доступ к токенированной карте и контроллеру вида с данными карты.

Вы можете получить конфигурацию шлюза для отображения поддерживаемой карты.

Надежда может помочь.

Смежные вопросы