如何在Xamarin.Forms应用中支付成功后从WebView中获取returnURL?

How to get return URL from WebView after successful payment in Xamarin.Forms app?

我在我的 Xamarin Forms 应用程序中集成了一个支付网关。填写付款详细信息后,我在 WebView 中打开付款页面以完成付款。付款完成后,它 return 发送一个带有付款状态代码的 URL。现在的问题是如何在我的 Xamarin Forms 应用程序中获得这个 return URL?

首先,我强烈建议您查看您正在使用的支付系统是否通过 SDK 或 API 提供某种支持,您可以使用它来完成支付流程,不使用WebView。

另一方面,如果您已经决定为此使用 WebView,则可以使用来自 Xamarin.Forms WebView.

Navigating 事件

Navigating 是导航开始时引发的事件。

在 C# 中使用:

yourWebView.Navigating += YourWebView_Navigating;

或在XAML中:

<WebView Navigating="YourWebView_Navigating" 
...

并且在您的代码隐藏中,您可以访问 WebNavigatingEventArgs 它:

void YourWebView_Navigating(object sender, WebNavigatingEventArgs e)
{
    if (e.Url // check the value of it
    // other code logic.

使用它您将可以访问 WebNavigatingEventArgs,其中包含一个名为 Url 的 属性,使用该信息您可以检查 URL 值并将其与其他值组合在您的应用程序中添加逻辑,让用户离开或您在成功付款后打算做的任何事情。

希望这对您有所帮助,祝您编码顺利!