【发布时间】:2019-03-31 17:27:20
【问题描述】:
我有一个订阅计划,每个用户计划每月收费 10 美元 + 数据“超额”费用。换句话说,它类似于(不是无限的)手机数据计划。
我应该在什么时候在周期结束时添加每月数据使用量?
根据Subscription lifestyle documentation here,它说invoice.created 事件发生在invoice.payment_succeeded 或charge.succeeded 之前大约一个小时。但是,似乎几乎不可能对此进行测试,因为每当首次为订阅创建发票时,所有 webhook 事件似乎都会同时触发。应该如何处理?请注意,我只想在循环结束时更新一次metered usage amount。
我的代码目前是这样的:
def stripe_webhook(request):
if event_type == 'invoice.created':
subscription_item_id = [item['subscription_item'] for item in stripe_data_obj['lines']['data'] if item['plan']['usage_type'] == 'metered'][0]
data_usage = user.get_data_usage(start_date, end_date)
usage = stripe.UsageRecord.create(
quantity=data_usage,
timestamp=int(time.time()),
subscription_item=subscription_item_id,
action = 'set'
)
【问题讨论】:
标签: python stripe-payments webhooks