jumbo Posted March 20, 2013 Share Posted March 20, 2013 Hello, This error has been going on without anyone bringing any solution. On prestashop 1.4 and earlier, when a customer pays through Moneybookers in a currecncy other than the default one, you'd usually get a message saying: payment error, customer paid 60.53 GBP instead of 40 GBP! While in fact the 60.53 is that same amount but in US Dollars, not GBP. The problem is easy to solve. The Moneybookers module code has 1 wrong parameter that takes the wrong amount from the values MB returns after the payment. Here's how to fix it: Inside the moneybookers module folder, open validation.php: Line 43: $moneyBookers->validateOrder(intval($id_cart), _PS_OS_BANKWIRE_, floatval($_POST['mb_amount']), $moneyBookers->displayName, $message); Line 48: $moneyBookers->validateOrder(intval($id_cart), _PS_OS_BANKWIRE_, floatval($_POST['mb_amount']), $moneyBookers->displayName, $message); Notice the 'mb_amount' parameter in these two lines. Simply change this parameter to 'amount' And that's it! no more payment errors of this kind! The problem was fixed in Prestashop 1.5 Link to comment Share on other sites More sharing options...
jumbo Posted March 20, 2013 Author Share Posted March 20, 2013 the bug was actually fixed as of Presta 1.4 So the bug exists on pre-1.4 versions Link to comment Share on other sites More sharing options...
Barmunk Posted April 29, 2013 Share Posted April 29, 2013 $moneyBookers->validateOrder(intval($id_cart), _PS_OS_BANKWIRE_, floatval($_POST['mb_amount']), $moneyBookers->displayName, $message); to $moneyBookers->validateOrder(intval($id_cart), _PS_OS_BANKWIRE_, floatval($_POST['amount']), $moneyBookers->displayName, $message); ???? Link to comment Share on other sites More sharing options...
jumbo Posted June 1, 2013 Author Share Posted June 1, 2013 $moneyBookers->validateOrder(intval($id_cart), _PS_OS_BANKWIRE_, floatval($_POST['mb_amount']), $moneyBookers->displayName, $message); to $moneyBookers->validateOrder(intval($id_cart), _PS_OS_BANKWIRE_, floatval($_POST['amount']), $moneyBookers->displayName, $message); ???? Yes, exactly... Do that on lines 43 and 48... Link to comment Share on other sites More sharing options...
drw Posted March 30, 2017 Share Posted March 30, 2017 (edited) We have this exact problem with Prestashop 1.4.7.0. Our validation.php already looks like this: $moneyBookers->validateOrder((int)($secure_cart[0]), Configuration::get('PS_OS_PAYMENT'), (float)($_POST['amount']), $moneyBookers->displayName, $message, array(), NULL, false, $secure_cart[2]); We've had this error regularly (once per day) since years... So little hope for a fix I guess. Edited March 30, 2017 by drw (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts