【发布时间】:2020-02-15 21:41:02
【问题描述】:
我想要的功能是,如果有订阅的客户取消他们的订阅,我想让他们使用我的服务,直到他们支付的当前期限结束。
我的实施计划是,当他们取消时,更新他们的订阅以在当前期间结束时取消。我目前正在尝试在 python 中实现代码来更新客户订阅 cancel_at_period_end 属性,但我似乎无法让它工作。这就是我所拥有的:
stripe_customer_obj = stripe.Customer.retrieve(current_user.stripe_customer_id)
stripe_customer_subscription = stripe_customer_obj.subscriptions['data'][0]
stripe.Subscription.modify(
stripe_customer_subscription['id'],
metadata={"cancel_at_period_end": True},
)
当我通过以下命令打印出 cancel_at_period_end 属性时,这运行良好:
print(stripe_customer_subscription['cancel_at_period_end'])
在我修改订阅的代码前后都是 False。就像我修改订阅的那一行实际上并没有更新或保存,即使它正在运行并且没有崩溃。
如果它是相关的(我不认为它是相关的)- 我正在尝试将 cancel_at_period_end 属性更新为 True 以便当订阅在期间结束时被取消时,我可以使用一个 webhook 来触发更新我的数据库中的客户条目,以便从应用程序中切断他们的访问权限。
【问题讨论】:
标签: python python-3.x stripe-payments