python - 尝试更新现有订阅时无效的 trial_end
问题描述
调用 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,
)
解决方案
事实证明,我传递条纹的时间戳中有一个小数。时间戳是1560360533.0
,这导致了问题。当我截断时间戳以删除小数时,一切正常。这是修复它的代码行:
new_end_ts = round(new_end_dt.replace(tzinfo=timezone.utc).timestamp())
推荐阅读
- asp.net - 尝试从视图访问模型到控制器编辑方法
- arrays - 根据另一个属性值在对象数组中查找属性值
- c - Flex 字符串识别“无法识别的规则”错误
- google-sheets - 如何将工作表查询结果折叠到单个单元格中
- spring-boot - Jhipster - 在 JHI_User 和另一个实体之间创建关系错误
- javascript - JS:检测被监视的 div 的 dom 突变(或将事件侦听器更改为 innerHTML)
- django - 如何将三个输入组合到一个变量中并使用它使用 Django 从数据库中获取数据?
- r - r 凹凸/斜率图表设置自定义厚度和颜色
- python - 值中不带引号的字典的字符串表示
- angular - 无法将参数添加到 Angular 路由