我正在使用 stripe API 集成来构建一个 python 应用程序,我希望能够允许用户在任何时间点从当前订阅升级其订阅,并且新订阅将在下一个计费间隔收费,我使用了文档中所示的条带订阅对象的修改方法,但问题是,修改订阅后,它不会覆盖以前的价格对象,它只是添加到它,有效地双倍收费用户下一个条带订阅计费间隔,请任何人提供一种简单的方法来帮助如何更新价格对象并丢失对订阅对象中的前一个条带price对象的所有引用
...
# retrieve stripe subscription object
subscription = stripe.Subscription.retrieve("<stripe_subscription_id>")
# modify the subscription
mod_subscription = stripe.Subscription.modify("<stripe_subscription_id>", items=[{"price":"<stripe_price_id>"}])
我发现这个代码片段解释了一种升级订阅的简单方法,而不会出现上述问题
# Set your secret key. Remember to switch to your live secret key in production.
# See your keys here: https://dashboard.stripe.com/apikeys
stripe.api_key = 'sk_test_51KSLReCELlsOU9fXlHPzWJK80JBbyCVgmHoWhtgBPqgkdJSOKDFI11VaUgWRnNEc6YoF8p1ZiG3N6psFg3tcAGQt00KX80pu70'
subscription = stripe.Subscription.retrieve('sub_49ty4767H20z6a')
stripe.Subscription.modify(
subscription.id,
cancel_at_period_end=False,
proration_behavior='create_prorations',
items=[{
'id': subscription['items']['data'][0].id,
'price': 'price_CBb6IXqvTLXp3f',
}]
)
参考请访问Stripe升级订阅文档