How do I allow django-merchant to receive paypal I

2019-06-02 09:21发布

I have found many similar questions, but it seems I still cannot make my set-up to work :(

I am trying to use django-merchant to accept simple IPN paypal payments in my website; if I understand it right, once the set-up is correct: - django-merchant should serve a view for PayPal to call at an address that looks like myURL:myPORT/.../paypal-ipn-handler; - the view mentioned above is the one found in paypal/standard/ipn/views.py, where paypal is the root directory of the django-paypal app, that django-merchant wraps

At the moment I am using the debug version of paypal, and: - I can successfully make (fake) payments and have PayPal call the "return-url" to display the success message; - my set-up is running on a server with static ip-address, and I tried disabling the firewall altogether, so should not be a "reach-ability" problem; - if I remove the @require_POST decorator on the django-paypal IPN view and manually open the myURL:myPORT/.../paypal-ipn-handler browser page, it "successfully" creates a failed transaction entry on the db

BUT: I Just cannot ever have PayPal successfully call my myURL:myPORT/.../paypal-ipn-handler (not making fake purchases, not using the "simulator" in the PayPal's developer tools).

I have seen may had problems with signals, but all my tests suggest that my problem comes before that, and PayPay purchase confirmation never reach the designated paypal-ipn-handler (which I set up exactly as mentioned on django-merchant documentation).

Sorry for the long post, any is greatly appreciated :)

1条回答
成全新的幸福
2楼-- · 2019-06-02 10:11

SOLVED!!

Just in case someone runs in the same problem:

It is not much documented, but it seems that when in TEST-mode, PayPal IPN notify_url only works if this is on a "standard" port, like :80.

This article helps (in particular Matthew Fox's comment):
http://www.arronwoods.com/blog/2008/09/paypal-ipn-from-the-sandbox-not-working/

For reference, if working under Windows, here is a "quick-and-dirty" way for port forwarding do avoid having to change any setting if you're not already using a default port for your project (substitute port numbers and ip address from the example with yours, of course!):
https://social.technet.microsoft.com/Forums/windowsserver/en-US/417fcbcd-169d-4f7a-8f3a-7a00a91bad66/windows-2012-firewall-port-forwarding?forum=winservercore

查看更多
登录 后发表回答