在iOS设备上,可以提交并打开支付网关的页面。但在 Android 中却无法做到这一点。
嘿,我在提交时使用 facebook 登录的 javascript API 遇到了类似的问题。
安装 Cordova inappbrowser 插件对我来说很有效。
https://github.com/apache/cordova-plugin-inappbrowser
另外,如果这不能解决问题,这就是我在你的位置上会做的:(我假设你有一个 LAMP 服务器)
1)使用 ajax 将所有付款数据发送到 php 文件,以将数据插入数据库,然后将插入行的 id 返回到 JavaScript 并将其存储在名为 的变量中insertedPaymentId
。
2)在 LAMP 服务器中创建一个 php 页面,让我们调用它;
http://www.yourdomain.com/ paymentSubmit.php
3)然后,在单击提交按钮并将付款数据插入数据库后,使用应用程序内浏览器将 insertPaymentId 推送到 paymentSubmit.php 文件;
var ref = cordova.InAppBrowser.open('http://www.yourdomain.com/paymentSubmit.php?paymentID='+insertedPaymentId, '_blank', 'location=yes');
Run Code Online (Sandbox Code Playgroud)
4)使用 GET 获取 paymentSubmit.php 文件中的 insertPaymentId 变量,并在此 php 页面上从数据库中选择付款数据,然后使用“隐藏”输入,设置此页面中的所有数据,并有一个提交按钮,例如“确认您的”付款”这样;
<form action="secure.payu/_payment.php...">
<input id="amount" type="hidden" value="<?php $db['amount']; ?>"/>
<input id="productinfo" type="hidden" value="<?php $db['productInfo']; ?>"/>
<input id="firstname" type="hidden" value="<?php $db['firstname']; ?>"/>
<input type="submit" value="Confirm"/>
</form>
Run Code Online (Sandbox Code Playgroud)
在这种情况下,用户将在他们的应用程序上看到一个弹出窗口,要求他们确认付款,之后您实际上位于 LAMP 服务器和 PHP 环境中,做您想做的事情,如果您完成了提交,您可以通过阅读 inappbrowser 上的更多内容来关闭该窗口。
希望有帮助,让我更新。
归档时间: |
|
查看次数: |
2513 次 |
最近记录: |