我在Windows UWP(桌面/平板电脑和手机)中有一个应用程序,我正在与Paypal支付网关集成。当我准备将数据传递给paypal时,我需要打开一个弹出式浏览器并显示用户确认的paypal对话框。(第https://checkout.paypal.com/one-touch-login-sandbox/index.html页)
我正在尝试使用Launcher.LaunchUriAsync打开页面,如下所示,
Uri uri = new Uri(args.Uri.AbsoluteUri);
LauncherOptions options = new LauncherOptions();
options.TargetApplicationPackageFamilyName = "Microsoft.MicrosoftEdge_8wekyb3d8bbwe";
LaunchUriResult result = await Launcher.LaunchUriForResultsAsync(uri, options);
此代码正在打开Microsoft Edge浏览器,但它没有显示弹出消息,而是在使用IsSuccess为true的NavigationCompleted方法中获得回调。此外,在回调之后,浏览器立即消失,这使我无法确认付款以继续进行交易。
另外,我收到的消息是"没有看到安全的paypal浏览器?我们将帮助您重新启动Windows以完成购买"使用继续按钮但是UWP应用程序中的继续按钮没有响应。当我在我的网站上收到相同的消息时,“继续”按钮会在前面显示弹出式浏览器,供用户响应。
我想知道是否有更好的方法从UWP应用程序打开浏览器并在浏览器事务成功后获得确认?
提前谢谢
答案 0 :(得分:1)
我认为您在UWP应用中与Paypal支付网关集成了一个错误的方向。存在安全问题,无法使用您的方法集成Paypal,这是一个案例,您可以查看Why is PayPal not working inside a WinRT WebView control。
经过一番研究后,我发现目前没有正式的SDK用于将Paypal集成到UWP应用程序中,即使有一个,也应该供受信任的客户使用(例如商家控制的服务器)和不适合不受信任的客户使用(例如,在不受商家控制的机器上运行的任何东西)。
现在建议您从应用中打开网络浏览器以通过Braintree v.zero完成交易,您还可以查看官方Paypal Developer Experience。