Project:Paybox payment for Ubercart
Version:6.x-1.1
Component:Code
Category:bug report
Priority:normal
Assigned:Unassigned
Status:closed (fixed)

Issue Summary

In a previous issue you had fixed the error #8 by rounding the order total with this code : $total = round($order->order_total*100, 2);
But this is not correct. If a VAT calculation results in something like 45.333333 (more than 4 decimals), the multiplication by 100 hides 2 decimals and the rounding 2 others. In my example, 2 decimals are still there and the error occurs.
The right code is : $total = number_format($order->order_total, 2) * 100;
First, you round the total by 2 decimals and then multiplicate by 100 which ends in no decimals.

Codes are line 46 and 196 in the uc_paybox.pages.inc file I have which version is : // $Id: uc_paybox.pages.inc,v 1.1.2.2 2009/12/01 15:44:37 mogtofu33 Exp $
Sorry, I don't know about the patch system and I don't have time to study it.
You'll fix it by yourself.
Thanks for your module, very useful.
Regards
Philippe

Comments

#1

Thanks a lot for this fix, will be added soon on all my payments modules.

Regards.
Mog.

#2

Version:6.x-1.0» 6.x-1.1
Status:active» fixed

#3

Status:fixed» closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

nobody click here