使用Cordova ios 4.0.0+的Stripe Checkout

Amr*_*lon 12 javascript ios cordova stripe-payments

我一直试图让Stripe结账与Cordova iOs 4.2.0一起使用,但我没有运气.最后使用的Cordova iOs版本是3.9.2.为了测试我制作了一个空的hello world cordova应用程序,并为条带添加了此代码(在ios 9和10上测试):

<script
    src="https://checkout.stripe.com/checkout.js" class="stripe-button"
    data-key="xxxxxxx"
    data-amount="999"
    data-name="Oki Technologies Inc"
    data-description="Widget"
    data-locale="auto"
    data-currency="cad">
Run Code Online (Sandbox Code Playgroud)

现在它在Cordova ios 3.9.2上完美运行,但在4.0.0+上它只有一个带有黑色叠加层的空iframe.我认为它试图在像移动网络这样的新标签中打开弹出窗口,而不是像应用程序那样的弹出窗口.我希望有一个useragent或我可以欺骗的东西让它工作,因为它完美的android web/cordova以及网络上的iphone.有没有办法让这个工作?

我在这里做了一个测试回购,有人可以克隆来测试 https://github.com/HockeyCommunity/stripe

adl*_*don 8

几天来我一直在撞墙,寻找解决方案.解决方法是将以下两行添加到我的config.xml文件中:

<access origin="*" /> <allow-navigation href="https://*.stripe.com/*" />

希望这可以帮助!

编辑:根据@TateThurston的建议更新了解决方案

  • 如果您想要更严格(并且不希望其他链接导航您的应用程序 Web 视图),则可以使用:`&lt;allow-navigation href="https://*.stripe.com/*" /&gt;` (2认同)