Jump to content

warning: $A*2 paid instead of $A in order page


Recommended Posts

Hi all

 

I have a servious problem for the payment module Paypal and COD.

 

After you made the payment through the two modules, it always shows double or triple amount paid instead of the real amount in the payment section of order detail page in admistration. It is very strange. It not happens to bank wire. I do not think it is something wrong with the module, maybe it is prestashop.

 

 

Thanks a lot.

post-634809-0-88424400-1381555236_thumb.jpg

post-634809-0-53104600-1381555245_thumb.jpg

Link to comment
Share on other sites

No, the quantity is 1 when I tested. I think it related to the payment method. This error occurs when selecting those payment methods which are able to change the order status automatically, eg status-payment received for paypal, status - in preparation for COD.  

Link to comment
Share on other sites

  • 1 year later...
  • 10 months later...
  • 2 months later...

It seems that this issue is more related to statuses rather than payments.

I have observed that for COD the order gets status 'Preparation in progress' and upon order confirmation by customer the payment is automatically assigned to order, after you will update the status of the order, for example to Shipped/Delivered the same payment is assigned once more and doubles the payment.

 

In my case I have modified modules/cashondelivery/controllers/front/validation.php and commented line 59:

/* $this->module->validateOrder((int)$this->context->cart->id, Configuration::get('PS_OS_PREPARATION'), $total, $this->module->displayName, null, array(), null, false, $customer->secure_key);*/
 
and replaced it with:
    $this->module->validateOrder((int)$this->context->cart->id, Configuration::get('PS_OS_COD_VALIDATION'), $total, $this->module->displayName, null, array(), null, false, $customer->secure_key);

 

PS_OS_COD_VALIDATION is the status for 'Waiting COD Validation' from config/config.inc.php file

 

After testing the above mentioned modification the payment is not assigned after order confirmation by customer and once you will update the status of your order to Shipped/Delivered you will see only one payment.

 

In case you do not want to perform manual modification, another solution might be to untick 'Consider the associated order as validated.' and 'Set the order as paid.' checkboxes from Backoffice > Orders > Statuses > Preparation in progress (In this way the order is not marked as paid after confirmation).

 

Hope this helps :)

 

By the way, I am using PS 1.6.1.4

 

Cheers!

Marius

Link to comment
Share on other sites

Hi! "Preparation in Progress" is set to mark the order as paid by default. If you do a clean install with all the defaults you won't face this issue...

 

My prestashop has invoices disabled... don't know wether it has some influence...

 

This also happens with Paypal module... Doesn't happen with Bankwire though...

 

 

It seems that this issue is more related to statuses rather than payments.

I have observed that for COD the order gets status 'Preparation in progress' and upon order confirmation by customer the payment is automatically assigned to order, after you will update the status of the order, for example to Shipped/Delivered the same payment is assigned once more and doubles the payment.

 

In my case I have modified modules/cashondelivery/controllers/front/validation.php and commented line 59:

/* $this->module->validateOrder((int)$this->context->cart->id, Configuration::get('PS_OS_PREPARATION'), $total, $this->module->displayName, null, array(), null, false, $customer->secure_key);*/
 
and replaced it with:
    $this->module->validateOrder((int)$this->context->cart->id, Configuration::get('PS_OS_COD_VALIDATION'), $total, $this->module->displayName, null, array(), null, false, $customer->secure_key);

 

PS_OS_COD_VALIDATION is the status for 'Waiting COD Validation' from config/config.inc.php file

 

After testing the above mentioned modification the payment is not assigned after order confirmation by customer and once you will update the status of your order to Shipped/Delivered you will see only one payment.

 

In case you do not want to perform manual modification, another solution might be to untick 'Consider the associated order as validated.' and 'Set the order as paid.' checkboxes from Backoffice > Orders > Statuses > Preparation in progress (In this way the order is not marked as paid after confirmation).

 

Hope this helps :)

 

By the way, I am using PS 1.6.1.4

 

Cheers!

Marius

Link to comment
Share on other sites

We are not using paypal as payment menthod for the moment.

Most of our orders are based on cash on delivery and bank wire transfers.

What is the first status of an order that was placed using PayPal as payment method and what boxes are ticked for that respective status in the backoffice?

 

Marius

Link to comment
Share on other sites

The first status is "Payment Accepted" :)

 

It becomes marked as paid twice as soon as we set it to "In progress" which by default is set to mark the order as paid.

 

As I told before in the forum, bug tracker, etc, this is a Bug, and a big one and it seems strange to me that with so many people reporting it the staff doesn't seem to really care...

We are not using paypal as payment menthod for the moment.

Most of our orders are based on cash on delivery and bank wire transfers.

What is the first status of an order that was placed using PayPal as payment method and what boxes are ticked for that respective status in the backoffice?

 

Marius

  • Like 2
Link to comment
Share on other sites

Try to untick the boxes ('Consider the associated order as validated.' and 'Set the order as paid.') of Payment Accepted status, save the changes, afterwards do a test transaction and change the status to In Progress.

 

Or leave the Payment Accepted status as it is and do the above changes for In Progress.

 

Marius

Edited by whitelord (see edit history)
Link to comment
Share on other sites

  • 1 month later...

My solution. I had got duplicate payment for Paypall, Alipay and Weixin. Problem is that you have to generate Delivery Note at least one status before you set order as Paid.

Sample of statuses sequence:

PAYMENT RECEIVED - order cannot be set as paid (no delivery note no invoice). So you delivery note to be gererated in the next status.

ORDER ACCEPTED - order still cannot be set as paid - generate Delivery Note.

ORDER PROCESSING - because pdf i generated in previous order you can set order as paid.

 

This works for me in 1613

Link to comment
Share on other sites

×
×
  • Create New...