Где искусство, Джанго-Пайпал сигнализирует

Я использую Django и Django-PayPal, чтобы попытаться настроить платежную систему.

Используя симулятор разработчика IPN, я могу отправлять сообщения на мой сервер для тестирования.

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

Из симулятора идет пост, проблем нет.

Теперь я хочу получить сигнал огня. Я поместил следующее в один из моих aps models.py, как в документации:

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 ответ

Я не знаком с этой библиотекой, но вы определяете receiver а также sender?

Например, на post_save сигнал, я бы структурировал это так:

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

Это выглядит как show_me_the_money деньги являются приемником сигнала, но здесь неясно, что запускает сигнал. Возможно, так и должно быть:

post_save.connect(receiver=my_function, sender=ST_PP_COMPLETED) 
Другие вопросы по тегам