在Cordova/Phonegap应用中实现分条支付网关
Implement Stripe Payment Gateway in Cordova/Phonegap Application
搜索了很多次。我想在我的cordova应用程序集成Stripe支付网关是否有任何方法来实现它在android和ios使用javascript。
我给stripe发了邮件,如果你像在网页上那样简单地整合它,显然它在iOS上运行得很好。不幸的是,它还不能在android上工作!(
虽然Checkout应该在带有PhoneGap的iOS设备(或任何使用原生WebViews的设备)上工作良好,但它不能在带有原生WebViews的Android设备上工作。这是一个已知的问题,我们希望在未来修复,但目前还无法修复。目前的解决方案是,如果Android是必需的,则使用Stripe.js[0]构建自定义表单。
<年代>更新:年代>
显然存在一个!我还没试过,不过这里有个链接
http://plugins.telerik.com/plugin/stripe
UPDATE 2: checkout.js现在在phonegap或cordova上工作得很好。
更新3:很明显,checkout.js在超过和包括cordova ios 4.0.0的情况下再次被破坏,cordova ios的最新版本是3.9.2。还有一个问题:在Cordova ios 4.0.0+中使用Stripe Checkout
更新4:我们现在使用Stripe V3元素,但Stripe checkout.js应该工作,只要你有白名单的条纹,如这里所示
编辑2:
我下面的建议没有工作,checkout.js给了我一个错误说什么出错了,并尝试不同的浏览器。除了构建自己的结帐表单之外,我还没有其他问题。
编辑1:建议的解决方案和我如何解决这个问题:
为了解决checkout.js文档的这部分问题(见底部的FAQ):解决方案:
为了解决checkout.js文档的这部分问题(见底部的FAQ),
"使用Checkout提交的所有支付信息都是通过安全的HTTPS连接进行的。但是,为了保护自己免受某些形式的中间人攻击,您还必须通过HTTPS提供包含支付表单的页面。简而言之,包含Checkout的页面的地址必须以https://开头,而不仅仅是http://."
为了确保这一点,我在我的Cordova应用程序中嵌入了一个<iframe>
, src
设置为我所做的和我自己的API端点。API端点返回他们在文档中的简单实现中显示的<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。这可能会导致敏感数据泄露(所有以前的费用都是可见的),甚至造成财务损失(可以启动退款)。
这是极不可能的,你想要嵌入你的条纹密钥在Cordova应用程序,因此极不可能你想要使用这个插件。
https://support.stripe.com/questions/difference-between-secret-key-and-publishable-key接受移动设备支付的正确方法只使用可发布密钥。虽然可以使用秘钥提交付款,但任何获得您的秘钥的人都可以查看所有先前的费用,发出退款并发起转账。
请在使用前仔细考虑这是否是您的目的。
- AngularJS$http.post调用返回502(坏网关)错误
- AWS API网关返回400错误请求,但Postman工作正常
- 用于 Squareup.com 的自定义Woocommerce支付网关
- 重定向基于提交的网关页面PHP
- 如何将API网关SDK添加到React
- 错误网关响应
- Django 视图 - 502 坏网关
- 如何启用 Shopify 不想支持的第三方支付网关
- 安卓应用内购买中的第三方支付网关
- Braintree支付网关:paymentMethodNonceReceived无法停止提交表单
- 使用自定义Woocommerce支付网关的“下订单按钮”的Javascript覆盖
- 基于java技术的EBS支付网关实现
- 将CORS与AWS API网关一起使用会带来哪些安全影响
- 我想PayPal支付网关集成到我的应用程序中,但我无法传递金额变量
- 将支付网关与angularjs应用程序集成到spring后端
- Square Up支付网关表单与ajax
- PhoneGap Ajax请求返回502(坏网关),而AT&T数据,但不是在WiFi上
- 在Cordova/Phonegap应用中实现分条支付网关
- 认证AWS API网关通过javascript和凭据提供程序
- Authorize.net支付网关问题