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 (и наоборот).

Другие вопросы по тегам