Iwa*_*aru 4 node.js stripe-payments
我正在使用Stripe允许我的客户保存信用卡并支付发票(具有唯一ID).在付款时,我使用表单将带有卡ID(由条带提供)的POST请求发送到我的服务器,然后控制器对其进行收费.然后我将发票标记为付款在我身边.
事实证明,如果我足够快地双击我的表单的提交按钮,我发送两个POST请求,并且卡最终被收取两次,因为当第二个POST请求到达我的服务器时,从我的服务器到Stripe API的POST请求(来自第一次点击)没有完成,因此发票尚未标记为付款.
我正在考虑在第一次点击后禁用表单提交按钮,但我觉得可能有一种更清洁的方式.
Stripe方面是否有防止重复收费(可能使用我的发票ID)?如果不是最好的后端方法在我身边做什么呢?
小智 6
是的,幂等请求是实现此目的的正确方法。
你可以在这里参考这个
https://stripe.com/docs/api#idempot_requests
您可以实现的另一个简单解决方案是通过跟踪 stripe api 调用来使用状态机。