ApplePay на WKWebview
Я знаю, что это то, что я должен реализовать и проверить, но после попытки я не смог загрузить всплывающее окно ApplePay на WKWebView.
Что-то еще, что мне нужно реализовать, чтобы это работало? На Apple также нет надлежащих документов, касающихся оплаты труда.
5 ответов
Кажется, может быть решение: https://webkit.org/blog/9674/new-webkit-features-in-safari-13/
Apple Pay в WKWebView В iOS 13 веб-страницы, загруженные в WKWebView, теперь могут принимать Apple Pay. Чтобы защитить безопасность транзакций Apple Pay в WKWebView, Apple Pay нельзя использовать вместе с API-интерфейсами внедрения скриптов, такими как WKUserScript или AssessmentJavaScript(_: Завершение Handler:).
Если эти API вызываются до того, как веб-страница использует Apple Pay, Apple Pay будет отключена. Если веб-страница использует Apple Pay до вызова метода evalJavaScript(_:completionHandler:), обработчик завершения будет вызван с ошибкой NSError, отличной от нуля. Эти ограничения сбрасываются каждый раз при переходе по верхнему кадру.
Apple Pay поддерживается только в SFSafariViewController, а не в UIWebView или WKWebview.
Вышеупомянутое ограничение iOS 13 снято с iOS 16:
https://developer.apple.com/documentation/safari-release-notes/safari-16-release-notes
Новые функции Apple Pay: добавлена поддержка, позволяющая вводить скрипты в WKWebView, которые использовали Apple Pay (и наоборот).
Я думаю, что вам нужно использовать SFSafariViewController.
iOS 10. Apple Pay JavaScript поддерживается на всех устройствах iOS с защищенным элементом. Он поддерживается как в Safari, так и в SFSafariViewControllerobjects.
Даже при внедрении скриптов Apple Pay в WKWebView, похоже, разрешена в Safari версии 16+.
https://developer.apple.com/documentation/safari-release-notes/safari-16-release-notes
Новые возможности Apple Pay: добавлена поддержка внедрения в WKWebView сценариев, использующих Apple Pay (и наоборот).