Django-PayPal IPN не работает

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

Что происходит, когда я получаю сообщение IPN по URL-адресу обработки IPN, когда сервер django дает сбой:

Traceback (most recent call last):
  File "/usr/local/lib/python2.6/dist-packages/django/core/servers/basehttp.py", line 281, in run
    self.finish_response()
  File "/usr/local/lib/python2.6/dist-packages/django/core/servers/basehttp.py", line 321, in finish_response
    self.write(data)
  File "/usr/local/lib/python2.6/dist-packages/django/core/servers/basehttp.py", line 417, in write
    self._write(data)
  File "/usr/lib/python2.6/socket.py", line 300, in write
    self.flush()
  File "/usr/lib/python2.6/socket.py", line 286, in flush
    self._sock.sendall(buffer)
error: [Errno 104] Connection reset by peer

Мои платежные приложения urls.py выглядят так:

urlpatterns = patterns('mysite.payment.views',
    (r'^thank_you/', 'thank_you'),
    (r'^canceled/', 'canceled'),
    (r'^paypal-ipn/', include('paypal.standard.ipn.urls'))
    )

Для меня сообщение об ошибке довольно бесполезно. Было бы здорово, если бы кто-то мог мне помочь.

2 ответа

Решение

Я признаю, что я идиот:)

Вам не нужно SSL для этого. Но вам нужно сделать syncdb, прежде чем вы сможете его использовать,...

Боже, иногда это так легко, что ты просто не видишь этого.

Можете ли вы точно отслеживать пакет, который PayPal отправляет на ваш сервер, используя tcpdump или проволочная акула? Похоже, что они могут преждевременно разорвать соединение, но трудно сказать многое без более длительного отслеживания и / или дампа пакетов.

Изменить: я забыл о сообщениях https. Paypal, вероятно, требует HTTPS для этих обратных вызовов. Сервер разработки не будет поддерживать это, так что, к сожалению, вам, вероятно, потребуется конкретизировать конфигурацию вашего сервера, прежде чем вы сможете протестировать эту функциональность.

Другие вопросы по тегам