POST param "code" doesn't exist
We tried a lot of things to fix this but could not as yet. We tried Nginx config chnages, and on a different server htaccess setting changes, having settings in the config like enableCsrfProtection off, usePathInfo' => true etc. The requireElevatedSession works ok for us on change a users password etc so this did not seem to be the problem as some other users have had.

The only way we could get around this for now was by editing the Charge plugin to stop the requireElevatedSession (Asks for a password before doing anything). I hope everything is ok with Joel at SquareBit as his support before on this plugin was excellent, but have had no reply from the last few months.

We changed:
'craft/plugins/charge/controllers/Charge_ChargesController.php'
lines 113 and 175 and Comment out/remove 

//$this-&gt;requireElevatedSession();


And then in 'craft/plugins/charge/templates/payment/_view.html' removed JS calls

//new Craft.ElevatedSessionForm('.charge-refund-action');
//new Craft.ElevatedSessionForm('.charge-recur-cancel-action');


Hope this helps, or if anyone knows of a better fix?