0

我是IONIC的新手,我试图在离子应用程序中实现支付网关。我已将所有内容设置在外部网址中,只能通过inappbrowser将其加载到应用程序中。在客户决定使用签证卡进行支付时,所有款项看起来都不错,特别是在使用Master卡的情况下,客户不得不要求使用Visa-Verified验证(VBV/3DS弹出窗口)作为其交易流程的一部分。弹出窗口不会在IONICv1 InAppBrowser中打开

现在的问题是:弹出窗口不会出现inappbrowser。我试图使用iFrame,它的所有相同的东西。我已经看过Cordova Documentation on InAppBrowser,但没有帮助。任何建议将不胜感激。 在我的配置: `

<access origin="*"/> 
    <allow-navigation href="*" /> 
    <preference name="webviewbounce" value="false"/> 
    <preference name="UIWebViewBounce" value="false"/> 
    <preference name="DisallowOverscroll" value="true"/> 
<preference name="BackupWebStorage" value="none"/> 

`

回答

0

经过这么多的努力,我联系了webpay服务提供商,他们在iFrame上重定向(弹出)加载,而不是试图在新窗口加载它。 这是什么解决了我的问题。

0

TL; DR:在官方科尔多瓦InAppBrowser(IAB)插件不支持弹出式窗口。

我试图在使用IAB的科尔多瓦应用程序中显示包含Braintree JS SDK的网页时遇到了同样的问题。

Braintree(现在是PayPal的子公司)创建了一个“PopupBridge”,它允许移动应用程序WebViews在浏览器中打开弹出窗口并模拟父级(WebView)和子级(浏览器)页面之间的跨框架通信。有AndroidiOS的版本。但是,他们的工作针对的是原生应用程序,而不是Cordova应用程序。

所以我创建了cordova-plugin-inappbrowser-popup-bridge,它增加了对Cordova的InappBrowser Braintree的PopupBridge功能的支持。这使得在基于科尔多瓦的Android和iOS应用程序的InappBrowser元素的上下文中支持Braintree支持的PayPal付款成为可能。

这可以看出我在proof-of-concept example Cordova app工作,我创建了它在IAB WebView中打开Braintree PopupBridge Example webpage

Braintree的iOS版PopupBridge依赖于WKWebView(自iOS 8以来的新iOS WebView),但官方的Cordova IAB插件仍使用较旧的UIWebView。所以在我分叉的IAB版本中,我重写了iOS IAB插件以使用WKWebView而不是UIWebView。

+0

谢谢,你发布的例子有点复杂。你可以请张贴在这里可用的示例代码,在科尔多瓦控制器 – Akinsam

+0

我的意思是,我试过你的例子,它显示弹出如预期,虽然它没有传递的价值相比,浏览器上运行的一个。 尽管如此,它看起来像你已经写了一个点击功能,处理window.open 但在支付接口是一个在放置你的卡片细节后自动调用弹出URL的情况下,什么都没有向上 – Akinsam

相关问题