Jump to content

RESOLVED: Moneybookers module problem on Presta 1.4 and earlier


Recommended Posts

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

  • 1 month later...

$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

  • 1 month later...
 $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

  • 3 years later...

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 by drw (see edit history)
Link to comment
Share on other sites

×
×
  • Create New...