Apple Pay не работает с Stripe в Swift

#ios #swift #stripe-payments #applepay

#iOS #swift #stripe-платежи #applepay

Вопрос:

В моем коде все делается в соответствии с документацией stripe apple pay, но если пользователь нажимает на кнопку Apple Pay paymentContext!.pushPaymentOptionsViewController() , ничего не происходит. Это просто всплывающее окно PaymentOptionsViewController() . это код, который я использую для отображения контроллера просмотра параметров оплаты,

             let customerContext = STPCustomerContext(keyProvider: MyAPIClient())
            paymentContext = STPPaymentContext(customerContext: customerContext)
            paymentContext!.hostViewController = self
            paymentContext!.paymentAmount = 500
            paymentContext!.delegate = self
            paymentContext!.pushPaymentOptionsViewController()
 

Он показывает кнопку Apple pay в контроллере просмотра параметров оплаты. Вот видео-демонстрация проблемы.

введите описание изображения здесь

Комментарии:

1. вы включили Apple Pay в своей учетной записи Stripe?

2. да. он включен!

3. настройте все идентификаторы товаров и сертификаты в apple.com ?

4. ДА. Я настроил их и проверил пару раз. Мне интересно, отображается ли кнопка Apple Pay, и если пользователь нажимает на нее, то почему она не выводит меня во всплывающее диалоговое окно Apple pay. и он просто открывает paymentoptionsview

5. Пожалуйста, проверьте эту ссылку, может быть, вам поможет: medium.com/fantageek /…

Ответ №1:

но если пользователь нажмет на кнопку Apple Pay в paymentContext!.pushPaymentOptionsViewController() ничего не происходит

Это нормально и так оно и должно работать. Пользователь просто выбирает, что он хочет использовать Apple Pay в качестве способа оплаты. Фактический сеанс Apple Pay происходит при вызове вашего приложения paymentContext.requestPayment() , что вы обычно делаете, когда пользователь нажимает кнопку оплаты в вашем приложении (после закрытия PaymentOptionsViewController).

https://stripe.com/docs/mobile/ios/basic#submit-payment

Наконец, когда ваш пользователь будет готов заплатить (например, он нажмет кнопку «Купить»), вызовите requestPayment в контексте вашего платежа. Он отобразит любой требуемый пользовательский интерфейс (например, диалоговое окно Apple Pay) и вызовет соответствующие методы для своего делегата, когда ваш пользователь завершит платеж.

введите описание изображения здесь

Комментарии:

1. Спасибо за подробное объяснение. пробую сейчас

2. Вы только что спасли мою задницу! 🙂

3. Еще одна вещь, мне нужна помощь в отображении таблицы Apple pay в моем CheckoutViewController. не здесь, при выборе контроллера просмотра способа оплаты. не могли бы вы сказать мне, есть ли способ сделать это?

4. Вы можете использовать STPApplePayContext для представления Apple Pay в любом VC stripe.com/docs/apple-pay#native

5. Привет, пожалуйста, как вы заставили Apple Pay отображаться в качестве опции по умолчанию, пожалуйста. Я пытаюсь понять, что это за опция по умолчанию.