At the time of beginning this article, I’m still in the midst of a painful process to get working Paypal support on an oscommerce 2.3.4(BS) store. At this stage it’s a cautionary tale.
In testing, the paypal_standard module worked fine in sandbox mode, but was not tested in live mode.
We went live, and following payment through paypal, although processed fine in pp, the error “Could not verify the PayPal transaction. Please try again.” showed on return to the store. In the meantime, however, the IPN went through and updated the order to the appropriate status and added the comment verified.
The debug email showed only partial data being returned – no result and some get vars:
[tx] => 6M910349SK180201D
[st] => Completed
[amt] => 1.20
[cc] => GBP
[cm] => 947
After a couple of hours fiddling about without getting any further, I re-implemented the old payment module from osc 2.2. I’m not happy with that either, as the ipn seems unreliable (though it was fine before the upgrade). So there are two paths of ongoing work, see if I can get the standard module going from a test osc install but against the live paypal account without the error and see if I can get the app going. The latter is fodder for several articles by itself.
Anyway the lesson learnt is – always test paypal integation against the live paypal environment as well as sandbox. Even if it’s just to make sure you have all the credentials right!