3

I'm trying to debug my DJango Paypal IPN integration but I'm struggling. The Django dev server reports a 500 error to the console (but no other details) and the IPN test tool reports a 500 error but no other details.

I've tried disabling the DEBUG mode to try and get it to send me emails but despite setting up the EMAIL_HOST to something suitable, I'm not seeing any emails. I tried and verifying that the email system is working with a call to send_mail ..but that succeeds and I still see no emails regarding internal server errors.

What could I be missing?

edit

I'm running the dev server from PyCharm and the console output looks like this:

runnerw.exe C:\Python26\python.exe manage.py runserver 192.168.1.4:80
Validating models...

0 errors found
Django version 1.4 pre-alpha, using settings 'settings'
Development server is running at http://192.168.1.4:80/
Quit the server with CTRL-BREAK.
Verifying...
...response: VERIFIED
IpnEndPoint.on_process
Valid: {u'last_name': u'Smith', u'txn_id': u'491116223', u'receiver_email': u'[email protected]', u'payment_status': u'Completed', u'tax': u'2.02', u'payer_status': u'unverified', u'residence_country': u'US', u'invoice': u'abc1234', u'address_state': u'CA', u'item_name1': u'something', u'txn_type': u'cart', u'item_number1': u'AK-1234', u'quantity1': u'1', u'payment_date': u'14:03:49 Nov 16, 2011 PST', u'first_name': u'John', u'mc_shipping': u'3.02', u'address_street': u'123, any street', u'charset': u'windows-1252', u'custom': u'xyz123', u'notify_version': u'2.4', u'address_name': u'John Smith', u'address_zip': u'95131', u'test_ipn': u'1', u'receiver_id': u'TESTSELLERID1', u'payer_id': u'TESTBUYERID01', u'mc_handling1': u'1.67', u'verify_sign': u'A8SIYWSxkrwNPfuNewSuxsIAatvMAi2mxYjlYvaiWh3Z4BuIQojK3KBO', u'mc_handling': u'2.06', u'mc_gross_1': u'9.34', u'address_country_code': u'US', u'address_city': u'San Jose', u'address_status': u'confirmed', u'address_country': u'United States', u'mc_fee': u'0.44', u'mc_currency': u'USD', u'payer_email': u'[email protected]', u'payment_type': u'instant', u'mc_shipping1': u'1.02'}
Logging Transaction..
[16/Nov/2011 22:20:49] "POST /IPN/ HTTP/1.0" 500 104946
1
  • could you post the content of your console (including the command line used to invoke the server)? Commented Nov 16, 2011 at 22:12

3 Answers 3

2

Another thing to try is to launch a simple SMTP server on your machine.

python -m smtpd -n -c DebuggingServer localhost:1025

Which will output on your console all emails headers and body. Make sure localhost and the port 1025 correpond to what you have in your settings.py, respectively in EMAIL_HOST and EMAIL_PORT.

Source: Djangodocs Testing email sending

Sign up to request clarification or add additional context in comments.

Comments

1

given that you are running a pre-alpha version of django, I would recomment asking this question on the django user list https://groups.google.com/group/django-users

3 Comments

Well spotted; I thought I was using a stable build!
Doesn't answer my question here, but you nailed the other one I had open. Please post this as the answer to that question and I'll accept it as the final answer.. ...because after regressing to 1.3.1 stable it works!
The one I linked to in the question: stackoverflow.com/questions/8145907/…
0

have a look at django-sentry

it logs 500 errors (also supports regular logging), making the dynamic "orange 500 pages" browsable after the fact. this is especially useful when you never get the original error page, e.g. when using ajax or remote apis like your case

2 Comments

i'm only running 1.8, but it has a sentry_testing setting which does work in debug mode. has that been removed?
you might be right. I just wasn't aware this was ever a possibility.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.