Apple Pay отлично работает в симуляторе, но после обновления Xcode до 10.4 перестала работать.
- Появится всплывающее окно Apple Pay.
После того, как вы нажмете «Оплатить с паролем», он скрывается без аутентификации платежа.
Метод
- (void)paymentAuthorizationViewController:(PKPaymentAuthorizationViewController *)controller didAuthorizePayment:(PKPayment *)payment completion:(void (^)(PKPaymentAuthorizationStatus))completion {}
не вызывается.
Код:
NSString *merchantIdentifier = [STPPaymentConfiguration sharedConfiguration].appleMerchantIdentifier;
PKPaymentRequest *paymentRequest = [Stripe paymentRequestWithMerchantIdentifier:merchantIdentifier country:@"US" currency:currencyCode];
paymentRequest.paymentSummaryItems = @[
[PKPaymentSummaryItem summaryItemWithLabel:@"Fancy Hat" amount:[NSDecimalNumber decimalNumberWithString:amount]],
// The final line should represent your company;
// it'll be prepended with the word "Pay" (i.e. "Pay iHats, Inc $50")
[PKPaymentSummaryItem summaryItemWithLabel:@"iHats, Inc" amount:[NSDecimalNumber decimalNumberWithString:amount]],
];
if ([Stripe canSubmitPaymentRequest:paymentRequest]) {
// Setup payment authorization view controller
PKPaymentAuthorizationViewController *paymentAuthorizationViewController = [[PKPaymentAuthorizationViewController alloc] initWithPaymentRequest:paymentRequest];
paymentAuthorizationViewController.delegate = self;
// Present payment authorization view controller
FlutterViewController* controller = (FlutterViewController* )[[UIApplication sharedApplication].keyWindow rootViewController];
[controller presentViewController:paymentAuthorizationViewController animated:YES completion:nil];
}
didAuthorizePayment
метода изменилась наfunc paymentAuthorizationViewController(_ controller: PKPaymentAuthorizationViewController, didAuthorizePayment payment: PKPayment, handler completion: @escaping (PKPaymentAuthorizationResult) -> Void)
и помечена как iOS11 +. Но переход на новую подпись мне не помог. - person Vitalii   schedule 17.09.2019