当调用Stripe的api更新客户的订阅时,出现错误。当用户在我的网站上执行操作时,他们可以获得免费的订阅月。为了给用户免费的时间,我正在尝试更新trial_end
参数以延长免费试用期。我收到的错误是:Invalid trial_end must be one of now
new_end_dt = datetime.now() + timedelta(days=30)
new_end_ts = new_end_dt.replace(tzinfo=timezone.utc).timestamp()
stripe.Subscription.modify(
self.stripe_subscription_id,
trial_end=new_end_ts,
trial_from_plan=False,
)
答案 0 :(得分:1)
事实证明,我正在传递数据条的时间戳中有一个小数。时间戳为1560360533.0
,这引起了问题。当我截断时间戳以删除小数时,一切工作正常。这是修复它的代码行:
new_end_ts = round(new_end_dt.replace(tzinfo=timezone.utc).timestamp())