我正在使用paypal ipn监听器 - 它似乎没有“听到”信号,虽然数据库已更新,因此我知道ipn已被paypal.standard.ipn包。Django-Paypal IPN 403错误
现在我从ipn模拟器得到一个403错误 - 有谁知道为什么会发生这种情况吗?当我直接导航到侦听器url时,没有错误。
我将@csrf_exempt添加到了监听器中,但这并没有帮助。
欢迎任何建议。
Listeners.py:
from django.dispatch import receiver
from django.contrib.sites.models import Site
from django.views.decorators.csrf import csrf_exempt
from paypal.standard.ipn import signals as paypal_signals
from messaging import send
from utests.models import Test
import logging
@csrf_exempt
@receiver(paypal_signals.payment_was_successful)
def payment_was_succesful_listener(sender, **kwargs):
#:sender is the PayPalIPN model instance
logging.debug("in payment successful listener")
... the rest of the code is commented out while I debug...
@receiver(paypal_signals.payment_was_flagged, dispatch_uid="dl-payment_was_flagged")
def payment_was_flagged_listener(sender, **kwargs):
#:sender is the PayPalIPN model instance
pass
正如你所看到的,一切是应该发生的一些调试,但它并没有到达那里。
检查您的错误日志/权限。出于某种原因,脚本正在返回403(禁止)。我们不会真正知道为什么这取决于您的脚本/环境。 – Robert
@罗伯特是正确的,没有日志(也许看到相关的代码),这个问题是不可能回答,并且过于局限于本地化。我还没有完成它,因为如果改进了,它可能对其他人有用,特别是如果您向我们显示相关代码。 –
错误日志没有显示任何内容 - 访问日志只显示远程IP,URL和403.在403错误出现之前,我没有更改任何权限,但只是为了确保所有权限都被双重检查并且他们很好。我会发布日志以防万一... – hgolov