我们有一个需要用户付款的应用。我们有第三方提供商处理付款。在我们的网站上,当用户付款时,他们会被定向到第三方网站上的付款门户网站,付款后,他们会被重定向回我们的网站。
我的任务是在我们的iOS Swift 3应用程序中实现相同的功能。我知道自己想做什么,但我不太清楚该怎么做。我开始认为我可以通过POST请求打开用户的浏览器(我现在知道我不能)然后使用通用链接,一旦付款完成就抓住应用程序的重定向。
因为我无法在用户的浏览器上执行POST请求,我想我会在我的应用程序中实现UIWebView。基本上我有代码来做到这一点。我的问题是。如何从UiWebView捕获重定向?据我所知,成功付款后,UIWebView将保持活动状态,页面将重定向,在我们的应用程序中显示我们的网站。这不是我想要的。
任何人都可以解释更好的方法吗?无需代码,但将不胜感激。
答案 0 :(得分:2)
是的,它可能和许多应用程序都在做同样的事情。 有各种方法可以做到这一点,但我正在做什么,我可以分享。 我在webview中打开付款页面,在付款页面上成功后。该页面将使用SuccessURL重定向到“成功”页面。当SuccessURL / FailedURL(预定义)开始加载时,我将用户带回本机应用程序。
func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool {
if request.url == "sucessURL" {
//do whatever you want
return false
}
if request.url == "failedURL" {
////do whatever you want
return false
}
else {
return true
}
}