【问题标题】:How to get return URL from WebView after successful payment in Xamarin.Forms app?在 Xamarin.Forms 应用中成功付款后如何从 WebView 获取返回 URL?
【发布时间】:2020-07-10 05:46:26
【问题描述】:

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

【问题讨论】:

  • 你能看看我的回答吗? @Prãshant Saraswat

标签: c# xamarin xamarin.forms xamarin.android xamarin.ios


【解决方案1】:

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

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

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 值并将其与应用程序中的其他逻辑相结合,导航用户离开或任何您想要的付款成功后再做。

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

【讨论】:

  • 如果您使用的是 MVVM,您还可以使用 EventToCommand 行为将此事件转换为您在 VM 中的命令,但这是另一个主题。祝你好运!
  • :) 谢谢 Almir Vuk,你拯救了我的一天。有效!干杯!!!!!!!!!!!!!!!
  • 您能否告诉我,当我使用 WebView 在线接受付款时,我的应用是否会在 Google Play 或 App Store 上获得批准?
  • 您的应用是否在 Google Play 和 App Store 上使用 webview paypal 方式获得批准?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-07-11
  • 2011-08-20
  • 1970-01-01
  • 2013-03-02
  • 2016-02-15
  • 2017-09-29
  • 2016-09-30
相关资源
最近更新 更多