Как внедрить Apple Pay с помощью Braintree?

if(braintree && ![braintree isKindOfClass:[NSNull class]])
{
    self.provider = [braintree paymentProviderWithDelegate:self];
  if ([self.provider canCreatePaymentMethodWithProviderType:BTPaymentProviderTypeApplePay]==0)
  {
     self.provider.paymentSummaryItems = @[[PKPaymentSummaryItem summaryItemWithLabel:@"MakeUp" amount:[NSDecimalNumber decimalNumberWithString:@"1"]]];
  }
  [self.provider createPaymentMethod:BTPaymentProviderTypeApplePay];
  if ([self.provider canCreatePaymentMethodWithProviderType:BTPaymentProviderTypeApplePay]) //False
  {


 }
}

Вот и получаю:

canCreatePaymentMethodWithProviderType: BTPaymentProviderTypeApplePay false.

Как и где мне нужно предъявить PKPaymentAuthorizationViewController?


person Kamlesh Shingarakhiya    schedule 31.03.2015    source источник
comment
Вы настроили Apple Pay в панели управления Braintree? Включены ли у вас правильные права в настройках сборки вашего приложения?   -  person mickeyreiss    schedule 31.03.2015
comment
@mickeyreiss Да, я настроил Apple Pay, и у меня есть правильные права в моем приложении. Еще одна вещь заключается в том, что в сертификате идентификатора продавца моей учетной записи разработчика отображается производство, а в braintree я тестирую в песочнице, так что это проблема? Если да, как я могу получить идентификатор продавца для разработки?   -  person Kamlesh Shingarakhiya    schedule 01.04.2015
comment
Для песочницы Braintree просто создайте еще один Apple Merchant ID и настройте сертификат в панели управления песочницы (sandbox.braintreegateway.com/merchants/YOUR_MERCHANT/processing/). Ваше приложение должно иметь два идентификатора продавца Apple, по одному для каждой среды.   -  person mickeyreiss    schedule 01.04.2015
comment
Эта строка в вашем коде подозрительна: if ([self.provider canCreatePaymentMethodWithProviderType:BTPaymentProviderTypeApplePay]==0). Когда все настроено правильно, этот метод вернет YES.   -  person mickeyreiss    schedule 01.04.2015
comment
@mickeyreiss Я удалил его, но он все равно дает мне ложь. Я сделал это так: if ([self.provider canCreatePaymentMethodWithProviderType: BTPaymentProviderTypeApplePay]). все, что я настроил правильно, но все же, если возможно, вы можете сказать мне шаги, которые мне нужно выполнить, чтобы я мог повторно подтвердить конфигурацию.   -  person Kamlesh Shingarakhiya    schedule 02.04.2015
comment
@mickeyreiss Ошибка, которую я вижу: Ошибка Apple Pay: - Ошибка Домен = BTPaymentProviderErrorDomain Code = 2 Не удалось инициализировать контроллер представления авторизации Apple Pay. Проверьте устройство, версию ОС, карты в Passbook и конфигурацию.   -  person Kamlesh Shingarakhiya    schedule 02.04.2015
comment
На каком устройстве вы тестируете? Вы можете поделиться своим кодом?   -  person mickeyreiss    schedule 03.04.2015
comment
@mickeyreiss Тестирую на iPhone 6.   -  person Kamlesh Shingarakhiya    schedule 03.04.2015
comment
Понятно. Мне будет сложно помочь вам без дополнительной информации о вашей настройке. Убедитесь, что вы очень внимательно следуете всем инструкциям по установке (разработчики. braintreepayments.com/ios+ruby/guides/apple-pay/)   -  person mickeyreiss    schedule 03.04.2015
comment
@mickeyreiss Вы можете увидеть код по ссылке ниже: - nofollow .com / document / d /   -  person Kamlesh Shingarakhiya    schedule 03.04.2015
comment
Похоже, что корень проблемы в том, что canMakePaymentsUsingNetworks: возвращает NO. Это может произойти, когда на устройстве нет карт, а также может произойти, когда ваш профиль обеспечения не совпадает с идентификатором продавца Apple в ваших правах и вашем коде.   -  person mickeyreiss    schedule 06.04.2015
comment
Здесь описан обходной путь: stackoverflow.com/questions/28090069/   -  person mickeyreiss    schedule 06.04.2015