У меня есть план подписки, который стоит 10 долларов в месяц за план пользователя + плата за перерасход данных.Другими словами, это похоже на (не безлимитный) тарифный план для сотовых телефонов.
Когда я должен добавить ежемесячное использование данных в конце цикла?
Согласно Подписная документация о стиле жизни здесь , там говорится, что событие 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'
)