Я работал над слушателем paypal ipn - он, похоже, не «слышал» сигналы, хотя база данных была обновлена, поэтому я знаю, что ipn был принят пакетом paypal.standard.ipn.
Теперь я получаю ошибку 403 от симулятора ipn. Кто-нибудь знает, почему это происходит? Когда я перехожу непосредственно к 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
Как вы можете видеть, все, что должно произойти, - это некоторая отладка, но она не дошла.