艺术他们,Django-Paypal信号

时间:2015-09-13 18:58:47

标签: django django-paypal

我正在使用Django和django-paypal尝试设置支付系统。

使用developer IPN simulator我可以将帖子发送到我的服务器进行测试。

[13/Sep/2015 18:54:08] "POST /paypal/ HTTP/1.1" 200 4

有来自模拟器的帖子,没问题。

现在我想要发出信号。我将以下内容放在我的aps models.py中,与documentation

中一样
from paypal.standard.models import ST_PP_COMPLETED
from paypal.standard.ipn.signals import valid_ipn_received

def show_me_the_money(sender, **kwargs):
    print "Hello"
    ipn_obj = sender
    if ipn_obj.payment_status == ST_PP_COMPLETED:
        # Undertake some action depending upon `ipn_obj`.
        if ipn_obj.custom == "Upgrade all users!":
            Users.objects.update(paid=True)
    else:
        #...

valid_ipn_received.connect(show_me_the_money)

但我从来没有从信号中得到任何回复。

我不明白为什么?而且我不知道如何测试这个

1 个答案:

答案 0 :(得分:0)

我不熟悉这个库,但是您定义的是receiversender吗?

例如,在post_save信号上,我会像这样构造它:

post_save.connect(receiver=my_function, sender=myModel)

看起来show_me_the_money钱是信号的接收者,但是这里不清楚什么是发射信号。也许它应该是:

post_save.connect(receiver=my_function, sender=ST_PP_COMPLETED)