Вероятно, разрешение Apple Pay для вашего приложения настроено неправильно.
Я заметил, что canMakePayments
возвращает YES
, а canMakePaymentsUsingNetworks:
возвращает NO
, когда права не установлены.
(Я также заметил, что они оба могут возвращать YES
, когда идентификатор продавца, который вы установили в своем PKPaymentRequest
, не соответствует идентификатору продавца вашего права на Apple Pay. В этом случае ваш PKPaymentAuthorizationViewController
будет ненулевым, но представление его регистрирует загадочная ошибка в консоли).
Поэтому, чтобы убедиться, что Apple Pay настроен для вашего приложения, убедитесь, что «Apple Pay» включено в разделе «Возможности» ваших целевых настроек и что у него есть идентификатор продавца (который вам потребуется настроить, если вы еще этого не сделали).
Тогда либо:
- Если вы используете метод прямой интеграции
PassKit
, убедитесь, что вы устанавливаете для свойства merchantIdentifier
соответствующий идентификатор продавца в праве.
Пожалуйста, проверьте этот код:
if ([PKPaymentAuthorizationViewController canMakePayments]) {
NSLog(@"Can Make Payments");
PKPaymentAuthorizationViewController *viewController = [[PKPaymentAuthorizationViewController alloc] initWithPaymentRequest:request];
if (!viewController) { /* ... Handle error ... */ }
viewController.delegate = self;
[self presentViewController:viewController animated:YES completion:nil];
}
else {
NSLog(@"Can't Make payments");
}
or
сошлитесь на этот URL с образцом кода: https://developer.apple.com/library/content/ApplePay_Guide/CreateRequest.html#//apple_ref/doc/uid/TP40014764-CH3-SW2
person
Bhadresh Kathiriya
schedule
17.09.2016