我有一个订阅计划,每个用户每月10美元+数据“超期”收费。换句话说,它类似于(不是无限的)手机数据计划。在
在周期结束时,我应该在什么时候加入每月的数据使用量?在
根据Subscription lifestyle documentation here,它说invoice.created
事件大约发生在invoice.payment_succeeded
或{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'
)
如果您想手动将行项目添加到发票中,那么您可以肯定地对此进行测试。我们的想法是让你的客户试用几分钟。创建的第一张发票是为试用而创建的,您可以忽略该发票以及所有相关事件。几分钟后,当试用期结束时,将创建一个新的发票,并向您的端点发送一个
invoice.created
事件。这将允许您修改新发票,并添加本月要收取的额外金额/费用。在为此,您将使用createsubscription API并将
trial_end
参数作为表示未来几分钟的unix时间戳传递。在另外,如果您真的想报告超额使用情况,可以使用这里记录的按流量计费和使用记录:https://stripe.com/docs/billing/subscriptions/metered-billing
相关问题 更多 >
编程相关推荐