我们正在对客户的订阅使用Stripe付款处理。当用户更改计划时,我们希望立即按比例收取差额费用。当计划具有不同的计费间隔时,Stripe会自动执行此操作,但是在具有相同间隔的计划之间进行更改时,Stripe会将付款推迟到下一个计费周期。
我们现在处理此问题的方法是在更新订阅后创建发票,但是如果由于计费失败而导致失败,则需要进行回滚。
stripe.subscriptions.update(/* change plan */);
if (plans_have_different_billing_intervals) {
try {
stripe.invoices.create(/* for all pending charges */);
} catch (err) {
/* rollback subscription to old plan */
}
}
Run Code Online (Sandbox Code Playgroud)
总体而言,这感觉是错误的并且令人费解。有没有更容易/更清洁的方法来实现我们所没有的?