django-paypal信号没有发射

时间:2012-08-02 10:57:51

标签: python django paypal paypal-ipn django-paypal

我已经尝试了几个小时让我的信号与django-paypal一起工作。

这是我的signals.py(在我的urls.py中导入):

from django.dispatch import receiver
from paypal.standard.ipn.signals import payment_was_successful, payment_was_flagged

@receiver(payment_was_successful)
def confirm_admin_payment(sender, **kwargs):
    print 'SUCCESS: %s' % sender.payer_email

@receiver(payment_was_flagged)
def payment_flagged(sender, **kwargs):
    print "FLAGGED: %s" % sender.payer_email

print "signals.py has been imported"

当我使用PayPal的IPN模拟器时,我知道交易有效,因为我可以进入数据库,查看paypal_ipn表并查看输入的交易就好了,所以信号应该正常工作。

我也试过dcramer和johnboxall的django-paypal版本,但仍然没有快乐。

我没有想法,我花了几个小时研究并试图解决这个问题。先谢谢你们。

1 个答案:

答案 0 :(得分:0)

查看付款交易中的错误/警告。信号payment_was_successful仅在事务中没有标志时触发,即使标志根本不重要(例如,如果您的settings.PAYPAL_RECEIVER_EMAIL!=事务接收者电子邮件)。

您可以在开始时使用pdb调试standard.ipn.models.PayPalIPN.send_signals方法,它是否会被解雇?不要光顾修改第三方代码以进行调试。