【发布时间】:2019-08-31 22:30:31
【问题描述】:
Laravel Cashier 是否处理竞态条件?
//收取一定金额的代码
$stripeCharge = $user->charge(100);
调用可能会成功,但在条带服务器可以告知之前连接中断。
现在在这种情况下,Cashier Package 如何处理这个问题?
【问题讨论】:
标签: laravel laravel-5 stripe-payments laravel-cashier
Laravel Cashier 是否处理竞态条件?
//收取一定金额的代码
$stripeCharge = $user->charge(100);
调用可能会成功,但在条带服务器可以告知之前连接中断。
现在在这种情况下,Cashier Package 如何处理这个问题?
【问题讨论】:
标签: laravel laravel-5 stripe-payments laravel-cashier
Stripe 允许您通过在请求中传递幂等键来处理此类情况。
API 支持幂等性,可以安全地重试请求,而不会意外执行相同的操作两次。当 API 调用在传输过程中中断并且您没有收到响应时,这很有用。
https://stripe.com/docs/api/idempotent_requests?lang=php
从外观上看,这个功能还没有在 Cashier 中实现,请看 open issue
支持幂等性选项
【讨论】: