从应用程序打开网站并重定向回来

时间:2017-08-16 10:08:47

标签: swift3 uiwebview

我们有一个需要用户付款的应用。我们有第三方提供商处理付款。在我们的网站上,当用户付款时,他们会被定向到第三方网站上的付款门户网站,付款后,他们会被重定向回我们的网站。

我的任务是在我们的iOS Swift 3应用程序中实现相同的功能。我知道自己想做什么,但我不太清楚该怎么做。我开始认为我可以通过POST请求打开用户的浏览器(我现在知道我不能)然后使用通用链接,一旦付款完成就抓住应用程序的重定向。

因为我无法在用户的浏览器上执行POST请求,我想我会在我的应用程序中实现UIWebView。基本上我有代码来做到这一点。我的问题是。如何从UiWebView捕获重定向?据我所知,成功付款后,UIWebView将保持活动状态,页面将重定向,在我们的应用程序中显示我们的网站。这不是我想要的。

任何人都可以解释更好的方法吗?无需代码,但将不胜感激。

1 个答案:

答案 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 
    }

}