Sunday, September 26, 2010

PrestaShop Tips - How to Create Order From Cart (Recover a Missed Order)

Free PrestaShop Modules/Addons/Modification
You can get this free modification here

The Problem


Your customer has paid but can't finalize an order? Your payment module sometimes does not work and your orders are lost?

Have you ever got in trouble that your customer placed an order, successfully paid the order, but the order does not show up on your back office? Yes, I have had more than one times got this problem. In that case, what you can do is manually create the order again or create the records via PhpMyAdmin.

If you are uing PrestaShop 1.3 or lower, then you can not find a good solution for above situations.

Solution


Here I modified the AdminCarts.php page so that you can create an order from shopping cart very easily by just one click.



Above screen shot of Cart Detail page with extended Order Recovery function.

Features


  • You can input Payment method, amount paid and transaction # for the order to generate.

  • You can create order for existing shopping cart by just one click.

  • If the cart already has an order generated, then this UI will be hidden to avoid duplicated order generated from same cart.

  • This UI only appears when customer info is available in the cart. So that you will not generate dummy orders.


  • Now a free version of addon is available for download.

    10 comments:

    Anonymous said...

    Thanks a lot
    its working thanks for your support

    kindredscents said...

    i received an error that "order cannot be created" do you know why this is?

    Barbanson said...

    Good afternoon,

    I did "buy" the module, and did install it, but I can't see the options you describe...
    What did I do wrong, or what do i have to do more than just install it in the modules?

    Kind regards,
    Ingeborg

    Alvin said...

    >I did "buy" the module
    the modification of this AdminCarts is free. you don't have to buy.

    If the you use the same version. It should work.

    But please be note, following case, the UI won't show up.

    1. if the cart already has an order created from

    2. if the cart does not have customer information. Because PrestaShop requires this information to create an order.

    Ian said...

    Hi do you think it is possible to use this in Prestashop version 1.2 upwards. We have much modules which do not work with 1.3 or 1.4 so we do not want to upgrage just yet - but would realy like this module of your for our site. Please, please advise more. Regards

    Ian

    Alvin said...

    HI Ian
    Thanks for your inquiry.

    This is a modification of existing AdminCart.php page. it is not a module.

    It is possible to apply it to 1.2 and higher version. But different veion will have different theme file.
    the modification is different.

    I am thinking of create a module to hanle the order recovery. but that may not be a free one, it will charge a small fee.

    Peter said...

    Hi

    Using this fix which is fantastic to create orders but when you input the valid transaction id from paypal it says in the message box that the secure key is empty but upon examining the mysql table its there.

    Is this a bug or can this be modified to link with paypal??

    Thanks

    Alvin said...

    My Mod will not add any message to message box. I guess this was generated by when PrestaShop PaymentModule during validate the order.

    I think it should be fixable.

    Peter said...

    Hi

    Me again, when I put the order through from a saved cart it creates the order which i put a valid paypal transaction id in but have noticed that the details aren't updated in ps_paypal_order table containing id_order and transaction_id.

    How can this be achieved through your script.

    Thanks

    Alvin said...

    my Mod is for general purpose. It could be used to any payment method. There are many payment methods there, it is difficult to handle all the cases.

    But you can modify my code to add the record to the table by yourself.