2010-11-09 7 views
1

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

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

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')) 
    ) 

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

ответ

4

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

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

Бог иногда так просто, что вы просто не видите его.

+0

>.

0

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

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

+0

Я могу использовать симулятор мгновенных платежей (IPN) или песочницу с «реальным» запросом, проблема такая же. Но теперь я поймаю пакет с tcpdump. – Kai

+0

По какой-то причине я получаю только сообщения https. Так что не так много, чтобы видеть. Но это может быть проблемой, потому что я работаю на сервере разработки django, у меня нет поддержки ssl. Но я не знаю, где изменить это поведение в PayPal. – Kai

+0

Это звучит как сложность. Сообщения Https не будут очень интересны в 'tcpdump', и я считаю, что вам нужно работать с https ... paypal не отправит эти сообщения в незашифрованном формате. –

Смежные вопросы