如何使用 Django 创建订阅服务

时间:2021-02-09 15:54:04

标签: python django django-models subscription

我正在开发一个 Django 应用程序。我需要在应用程序中包含订阅服务。我在 is_subscribed 模型中使用字段 subscription_startsubscription_enduser profile。我正在使用 Razorpay 进行支付集成。成功付款后,我更新订阅状态如下:

UserProfile.objects.filter(user=request.user).update(is_subscribed=True,subscription_start=datetime.datetime.now(),subscription_end=datetime.datetime.now()+datetime.timedelta(days))

如何在 UserProfile 小于当前时间时自动更新 subscription_end。我希望模型在时间结束后立即更新为 is_subscribed as False。截至目前,每当用户访问任何网址时,我都会检查用户的订阅是否有效。如果没有,那么我正在以这种方式更新模型

user = UserProfile.objects.filter(user=request.user).values()


 use1 = UserProfile.objects.filter(user=request.user,subscription_end__gte=datetime.datetime.now()).values()
 if not use1[0]['is_admin']:
     UserProfile.objects.filter(user=request.user).update(is_subscribed=False,joined=[])

。订阅结束后立即更新的正确方法是什么。

1 个答案:

答案 0 :(得分:0)

您需要使用 RazorPay Webhooks,特别是 Subscriptions Webhooks

您需要配置您的 RazorPay 帐户以触发您的订阅事件并指定将处理该特定事件的 Django 应用程序端点。您需要构建自己的端点,以便在触发该事件时处理该事件。 [Follow This Guide to configure your RazorPay Account]

您需要等待的 webhook 事件是 subscription.pending

相关问题