在 Cordova ios 4.0.0+ 中使用 Stripe Checkout
Using Stripe Checkout with Cordova ios 4.0.0+
我一直在尝试让 Stripe checkout 与 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">
现在它在 Cordova ios 3.9.2 上完美运行,但在 4.0.0+ 上它只有一个带有深色覆盖层的空 iframe。我认为它试图在像移动网络这样的新选项卡中打开弹出窗口,而不是像在应用程序上应该做的那样打开弹出窗口。我希望有一个 useragent 或我可以欺骗的东西来让它工作,因为它在 android web/cordova 以及网络上的 iphone 上完美工作。有什么方法可以让它工作吗?
我在这里做了一个测试仓库,有人可以克隆来测试
https://github.com/HockeyCommunity/stripe
几天来我一直在用头撞墙寻找解决方案。解决方案是将以下两行添加到我的 config.xml
文件中:
<access origin="*" />
<allow-navigation href="https://*.stripe.com/*" />
希望对您有所帮助!
编辑:根据@TateThurston 的建议更新了解决方案
我一直在尝试让 Stripe checkout 与 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">
现在它在 Cordova ios 3.9.2 上完美运行,但在 4.0.0+ 上它只有一个带有深色覆盖层的空 iframe。我认为它试图在像移动网络这样的新选项卡中打开弹出窗口,而不是像在应用程序上应该做的那样打开弹出窗口。我希望有一个 useragent 或我可以欺骗的东西来让它工作,因为它在 android web/cordova 以及网络上的 iphone 上完美工作。有什么方法可以让它工作吗?
我在这里做了一个测试仓库,有人可以克隆来测试 https://github.com/HockeyCommunity/stripe
几天来我一直在用头撞墙寻找解决方案。解决方案是将以下两行添加到我的 config.xml
文件中:
<access origin="*" />
<allow-navigation href="https://*.stripe.com/*" />
希望对您有所帮助!
编辑:根据@TateThurston 的建议更新了解决方案