I’ve been running a few shops on osCommerce all of which use PayPal as the only payment method. The problem I’ve been having is that I’ve been getting the confirmation emails from PayPal but when I log into the admin section of the shop, there is no order present, only the customers basic details.
Up until now I have managed as I know mySQL and PHP so have got their address from PayPal and checked the customer_basket table for the products they ordered so could manually create the order in the database without needing to contact the customer.
The last order I received however didn’t include any delivery address information in the PayPal details so I thought I would finally find out what the problem was and get it fixed. After a bit of Googling on a bunch of random bug reports (which I won’t link to as they weren’t very helpful), I found an article that explained it (which I won’t link to as I can’t find it again!).
The problem is that the orders are placed correctly if the user has a PayPal account already but if they use PayPal to pay by credit or debit card, either the session is lost when they return, or the user does not continue back to the site after paying, and so the order is not added to the database.
The solution: install the following module and use that instead of the default PayPal module:
osCommerce PayPal IPN Module v1.0 For 2.2MS2
This places the order before continuing to PayPal so that if something does go wrong, you still have all the information you need. I’ve just installed it and tried it and everything seems to be OK.