hi, I think there a little problem in the process() function in ot_redemptions.
the float precision between total order and the return value by the tep_calc_shopping_pvalue() function, could be different, so sometime you could have a negative total amout.
to fix it, i just add a little check in the process() function on line 34 :
before :
after :
i don't post a contribution, perhaps the author have a best way to solve this.
sorry for my bad english.
cya :)