搜索了很多。我想在我的cordova应用程序中集成条带支付网关有没有办法在Android和ios中使用javascript实现它。
答案 0 :(得分:2)
我通过电子邮件发送了条带,显然它可以在iOS上正常工作,如果您只是像在网络上那样集成它。不幸的是它还没有在Android上运行! :(
虽然Checkout应该可以在带有PhoneGap(或使用本机WebView的任何东西)的iOS设备上正常工作,但它在带有本机WebView的Android设备上不起作用。这是一个已知问题,我们希望将来修复,但尚无法修复。目前,如果需要Android,解决方案是使用Stripe.js [0]构建自定义表单。
更新:
显然有一个存在!我还没有尝试过,但这里是链接
http://plugins.telerik.com/plugin/stripe
更新2:checkout.js现在可以正常使用phonegap或cordova。查看文档here。
更新3:Apparenly checkout.js再次被打破,包括cordova ios 4.0.0,有效的最新版本的cordova ios是3.9.2。还有另一个问题:Using Stripe Checkout with Cordova ios 4.0.0+
更新4:我们现在正在使用Stripe V3 Elements但条纹checkout.js应该有效,只要您看到here
列入白名单条带答案 1 :(得分:0)
编辑2:
我的以下建议没有奏效,checkout.js给出了一个错误,说明出了问题,并尝试使用其他浏览器。除了建立自己的结账表格之外,我还有其他情况。
编辑1:
建议的解决方案以及我如何解决这个问题:
为了解决checkout.js docs的这一部分(见底部常见问题解答): 建议的解决方案:
为了解决checkout.js docs的这一部分(参见底部的常见问题解答),
"所有使用Checkout提交的付款信息均通过安全的 HTTPS 连接进行。但是,为了保护自己免受某些形式的中间人攻击,您必须通过 HTTPS 提供包含付款表单的页面。简而言之,包含Checkout的网页地址必须以 https:// 开头,而不仅仅是http://。"
为了确保这一点,我在我的Cordova应用程序中嵌入<iframe>
,并将src
设置为我已制作并拥有的API终结点。 API端点返回它们在文档中的Simple实现中显示的<Form>
剪切器。所以我的api端点返回这个HTML:
<form action="/charge" method="POST">
<script
src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="pk_test_6pRNASCoBOKtIshFeQd4XMUh"
data-amount="2000"
data-name="Stripe.com"
data-description="2 widgets"
data-image="/img/documentation/checkout/marketplace.png"
data-locale="auto">
</script>
</form>
这样,结帐将通过 https !
得到保障现在我的警告是关于之前提到的插件。感谢@Amrit Kahlon更新该帖子!
警告! 不要使用此主题中讨论的插件:Telerik-Verified-Plugins/Stripe
在插件方面似乎不是一个很好的选择,你似乎也必须亲自去做。
该插件要求您在客户端存储Stripe密钥,这样恶意用户就有机会接受并使用它。
密钥应该保密。
这是插件的文档(https://github.com/Telerik-Verified-Plugins/Stripe/blob/master/doc/index.md)对自己说的内容:
安全警告
此插件要求将Stripe密钥嵌入到应用程序中。顾名思义,您永远不应该共享密钥,因为它允许完全访问Stripe API。将密钥嵌入应用程序意味着任何人都可以发现密钥并使用它来访问API。这可能导致敏感数据泄露(所有以前的费用都可见)甚至财务损失(可以启动退款)。
您不太可能希望将Stripe密钥嵌入Cordova应用程序中,因此您不太可能想要使用此插件。
https://support.stripe.com/questions/difference-between-secret-key-and-publishable-key
接受来自移动设备付款的正确方法仅使用可发布密钥。虽然可以使用密钥提交付款,但获得您的密钥的任何人都可以查看所有先前的费用,发放退款并启动转账。
请在使用前仔细考虑这是否符合预期目的。