0

感谢任何可以帮助我回答这个问题的人。我正在运行一项 Django 电子学习服务,该服务需要持续 90 天的一次性付款订阅。我已经使用django-paypal来整合我的付款。我在网站支付标准中使用 IPN(即时支付通知)作为我的主要支付方式。

问题 - 在收到 IPN 信号payment_was_successful时,我表示以下许可:

def purchase_success(sender, **kwargs):
    ipn_obj = sender
    student = User.objects.get(username=str(ipn_obj.custom))
    permission = Permission.objects.get(name="Subscribed")
    student.user_permissions.add(permission)
payment_was_successful.connect(purchase_success)

我试图弄清楚如何在 90 天内自动“过期”订阅。IE:

permission - Permission.objects.get(name="Subscribed")
student.user_permissions.remove(permission)
4

1 回答 1

0

没有经过测试,但据我所知,它可能会起作用。

Paypal 可以为您处理订阅: https ://github.com/johnboxall/django-paypal/blob/master/README.md#using-paypal-payments-standard-with-subscriptions

"p3": 90,                          # duration of each unit (depends on unit)
"t3": "D",                         # duration unit ("D for Day")

您的信号可能不会是 payment_was_successful,而是其中之一:

subscription_cancel - Sent when a subscription is cancelled.
subscription_eot - Sent when a subscription expires.
subscription_modify - Sent when a subscription is modified.
subscription_signup - Sent when a subscription is created.

祝你好运,我发现 django-paypal 很混乱!

于 2012-09-16T23:04:58.177 回答