Hello all! We have been having problems with Website Payments Pro module since a long time ago, not sure how it started. Basically, when a person orders using Credit Card, I found out that zen cart tries to create 2 orders, 1 from the checkout_process.php file, and one from the ipn_main_handler.php file (data passed from Paypal). The one passed by Paypal will result in an error, because it won't be able to read the customer's session, and will create a fake one. The data being posted by Paypal doesn't include the customer's session ID, so it randomly takes a session from other people. :-/

So my question is... which of the 2 SHOULD create the order? checkout_process.php or ipn_main_handler.php? I checked my Paypal (normal Paypal/express checkout) module, and it's working fine because a) it passes the customer's session ID to Paypal and Paypal passes it back, and the ipn handler can read the session again, b) the Paypal module's before_process() function has a catch/condition, that is if it detects it came from Paypal, it doesn't create the order and lets the IPN main handler create the order. paypalpd only has this condition if there is an error. If there isn't an error, it continues the checkout_process.php script, hence an order is created.

I hope you can help me! I just need suggestions on where in paypaldp module to look, or if I should be passing the session ID to paypal.

Thanks!