我正在尝试将我的应用重定向到3DS进行付款。该文档说:
从/ payments响应中获取action.url和action.method。
使用HTTP POST将购物者重定向到指定的url,然后 在请求中包含数据对象的内容。
我得到了URL,方法(POST)和数据正文。现在,我想使用带有该URL和POST数据的组件InAppBrowser
来打开新的浏览器,但由于我不知道如何将其与POST方法一起使用,因此无法正确打开。
我正在尝试这样的事情:
let pageContent = '<form action="'+result.action.url+'"
method="'+result.action.method+'">' +
'<input type="hidden" name="md" value="'+result.action.data.MD+'">' +
'<input type="hidden" name="paReq" value="'+result.action.data.PaReq+'">' +
'<input type="hidden" name="termUrl" value="'+result.action.data.TermUrl+'">' +
'</form>'
this.paymentGatewayObject.target = '_blank'
this.paymentGatewayObject.options = `location=no,${this.platform.is('android') ?
',hidden=yes' : ''}`
const pageContentUrl = 'data:text/html;base64,' + btoa(pageContent)
this.paymentGatewayObject.browser = this.InAppBrowser.create(pageContentUrl,
this.paymentGatewayObject.target, this.paymentGatewayObject.options)
答案 0 :(得分:0)
您可以使用webkit.messageHandlers.cordova_iab.postMessage(msgJson);
您可以在此处查看示例:https://github.com/apache/cordova-plugin-inappbrowser#example-1