如何从 URL 重定向回 Flutter App?

Ali*_*der 6 dart flutter paytabs

我正在将 paytabs 支付网关集成到我的 flutter 应用程序中。它在应用程序浏览器中打开一个付款页面。交易完成后,它会重定向到 return_url。我想重定向回我的应用程序,以便我可以在处理付款后执行某些操作。

如何才能做到这一点?

Ali*_*der 6

我找到了一个解决方案,它对我有用!

InAppWebView
Run Code Online (Sandbox Code Playgroud)

在flutter中打开paytabs交易页面。当交易成功时,它会将我重定向到 return_url。InAppWebView 有一个方法

onLoadStart: (InAppWebViewController controller, String url)

在此方法中,我检查了 returl_url == url 是否并重定向到我的应用程序,并相应地关闭了 InAppWebView。

onLoadStart: (InAppWebViewController controller, String url) {
          setState(() {
            _con.url = url;
          });
          if (url == "return_url") {
            //close the webview
            _con.webView.goBack();

            //navigate to the desired screen with arguments
            Navigator.of(context).pushReplacementNamed('/OrderSuccess',
                arguments:
                    new RouteArgument(param: 'Credit Card (Paytabs)'));
          }
        },
Run Code Online (Sandbox Code Playgroud)

  • 这个答案适用于 Android,但不适用于 IOS。您还需要处理 **onLoadStop** 方法以支持 IOS (2认同)