Оплата через Stripe ошибка показывает в html Swift - PullRequest
0 голосов
/ 20 сентября 2019

Я интегрирую полосу в свое приложение.Код работает, но я хотел бы получить описание ошибки и показать его пользователю с предупреждением на случай, если что-то пойдет не так (номер мобильного телефона, неправильный почтовый индекс и т. Д.). Строка возврата HTML ниже:

Html Format

<h4>An uncaught Exception was encountered</h4>
<p>Type: Stripe\Exception\InvalidRequestException</p>
<p>Message: You cannot use a live bank account number when making transfers or debits in test mode</p>

Вопрос: Как показать ошибку полосы в приложении?

Может кто-нибудь объяснить мне, как отобразить ошибку.

Любая помощьбудет принята с благодарностью.

Спасибо заранее.

1 Ответ

1 голос
/ 20 сентября 2019

Простым решением является создание настраиваемого представления предупреждений с помощью UIwebview / wkwebview и загрузка строки Html.В случае, если вам не нравится показывать нужное сообщение из Html, вам нужно проанализировать строку Html и показать ее в AlertViewController.

Также вы можете использовать AlerViewController с веб-просмотром.Вот пример кода, вызовите этот метод, когда вы получите ошибку:

func showError(with html: String) {
        let alertController = UIAlertController(title: "", message: nil, preferredStyle: .alert)
        let webView = UIWebView()
        webView.loadHTMLString(html, baseURL: nil)
        alertController.view.addSubview(webView)
        webView.translatesAutoresizingMaskIntoConstraints = false
        webView.topAnchor.constraint(equalTo: alertController.view.topAnchor, constant: 45).isActive = true
        webView.rightAnchor.constraint(equalTo: alertController.view.rightAnchor, constant: -10).isActive = true
        webView.leftAnchor.constraint(equalTo: alertController.view.leftAnchor, constant: 10).isActive = true
        webView.heightAnchor.constraint(equalToConstant: 250).isActive = true

        alertController.view.translatesAutoresizingMaskIntoConstraints = false
        alertController.view.heightAnchor.constraint(equalToConstant: 330).isActive = true

        let cancelAction = UIAlertAction(title: "Cancel", style: .cancel, handler: nil)
        alertController.addAction(cancelAction)
        self.present(alertController, animated: true, completion: nil)
    }
...