0

我已经尝试了几个小时来让我的信号与 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 版本,但仍然没有乐趣。

我没有想法,我花了几个小时研究并试图解决这个问题。提前谢谢各位。

4

1 回答 1

0

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

您可以在开始时使用 pdb 调试standard.ipn.models.PayPalIPN.send_signals方法,它会被触发吗?不要因为调试目的而修改第三方代码。

于 2012-08-02T12:16:56.577 回答