Payment module was taken out of ecommerce, but it wasn't done thoroughly, and therefore has bits of e-commerce dependent code in some places.
One particular issue is the payment types that redirect the user to another site, and back again, don't handle the redirect back properly. They still assume there is a $payment->redirectToOrder(); method available. I'm currently attempting to implement a PaystationPayment method.
Redirect handlers should be standardised for all payments that require them.
I found the stuff that was order specific and commented it out. I was able to get as far as the automatic redirect to Paypal but I stopped there for now because the PP account isn't completely enabled yet. I'll be watching for that patch, if you manage to get it working.
Ecommerce has so many problems because it is still in beta. E-commerce and Payment modules have little development activity. It may be soely up to the SilverStripe community to produce patches / new versions of the modules.
Another issue that is causing problems is the fact that Payment related code was seperated out into its own seperate module. Some payment methods still need to be updated to work properly with the e-commerce module. Infact the payment module needs to be abstracted properly.
I've written about this issue here: http://groups.google.com/group/silverstripe-ecommerce/browse_thread/thread/aa1055a7c565e22