尝试更新现有订阅时,trial_end无效

时间:2019-04-11 21:03:13

标签: python django stripe-payments

当调用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,
)

1 个答案:

答案 0 :(得分:1)

事实证明,我正在传递数据条的时间戳中有一个小数。时间戳为1560360533.0,这引起了问题。当我截断时间戳以删除小数时,一切工作正常。这是修复它的代码行:

new_end_ts = round(new_end_dt.replace(tzinfo=timezone.utc).timestamp())