mollie / PrestaShop

iDEAL, Creditcard, Bancontact, SOFORT, Bank transfer, PayPal & paysafecard for Prestashop
http://www.mollie.com
BSD 2-Clause "Simplified" License
69 stars 43 forks source link

Creation of order in advance of payment causes problems #177

Closed pswaab closed 4 years ago

pswaab commented 4 years ago

Hi,

Updating from 3.5.5 to 4.0.x did not go very well, but after a lot of tries it works. Some 500 errors etc, but after removing the module completely (uninstall) and install again it works.

One of the new features; creation of an order before the payment is done, causes two issues:

I loved your previous module, and of all the payment providers, your module was the best because you did not create an order before payment was finished successfully. Also I did not have any issues with this module in the past. For one of my customers (who does nothing with the backend, but rely on the new order message) this is a problem, because we can not count on that email anymore.

The feature I really love about the new module, is adding a fee for payments. Now we are able to add a percentage to paypal.

Is it possible to have the option to switch between order creation after and before order?

Kind regards,

Patrick

Environment

muyncky commented 4 years ago

I agree with everything @pswaab points out.

Making the order in advance causes a lot of problems. What problem does this solve?

pic16f876 commented 4 years ago

I totally agree as well. I get nothing but troubles now, but the previous module was perfect. Also some orders remain on status unpaid even when iDeal payment is done and visible in portal.

SimonasB88 commented 4 years ago

Hey guys, our team wants to thank you all for the huge amount of communication, we are really taking it on in deep. Regarding many requests from the community, upcoming release will have ability to switch between order creation after and before. And we are currently in testing status. So stay tooned for the next release on Github.

Thank you once again.

Best Regards, Invertus Support Team

Ditwo commented 4 years ago

I agree with everything @pswaab points out.

Making the order in advance causes "fake" orders. This is disturbing for the admin which has the feeling a lot of payments get wrong. And too many unuseful orders. Hope it will be solved soon. Best regards Denis

MerijnMollie commented 4 years ago

HI Everyone,

I'd like to thank you all for taking the time to contribute to our PrestaShop plugin.

Regarding (old) functionality where an order was only created after payment: this was build with a bunch of override mechanisms in the Mollie plugin. The result was convenient, but it also created a lot of extra work in the backend, and some (possible) instabilities. We have made the decision to take this out, and get closer to standard Prestashop order workflow.(Where orders are created before payment). The result will be a plugin that better to maintain, grow and scale into the future.

The order confirmation email can be switched off with the latest version to erase the confusion with the consumer, so the answer to your question @pswaab : yes, you can now choose!

We know it's quite a change, but we really believe it's for the best.

Merchants will now see more canceled orders in the backend, so maybe should get used to filter this out in daily use. On the other hand: these canceled orders can be used to track flaws in the payment flow. Our Magento2 community has the same setup, and they have gotten used quite well.

Again, thanks for all the input and your patience in the last couple of (rather turbulent) weeks. We believe we have a strong new release out there (4.06) and are very much looking forward to next releases, which will include very nice new features such as:

If any new issues arise, please feel free to drop them here, and we'll get on them asap.

If anyone would like to share some thoughts with me personally, feel free to contact me as well!

Regards,

Merijn van Zuidam, Lead Technical Partner Manager Mollie.

pswaab commented 4 years ago

Hi Merijn,

Thanks for your answer.

But this does not solve the issue that a merchant will receive a new order email (module from prestashop) when a new order is created but not yet paid. I have one customer who is 74 and it was really great for him to not go to the merchant backend to print his orders, but could rely on the order created email from this module.

Also the issue when cancelling your payment wil still resolve in an order, and a customer needs to add the products to his shopping basket again. This could also be resolved when cancelling payment would resolve in creation of a new shopping basket, and bring the customer back to the payment selection part of the checkout.

So actually all my issues I added are still there.

Could you please comment on that?

Your module (3.5.x) and PayPal both where great because both did not create an order before payment was done. I have not had any issues with this in the past for all the webshops I maintain(ed).

Kind regards,

Patrick

MerijnMollie commented 4 years ago

Hi Patrick,

Thanks for the reply. I see now you mean the email that the merchant is receiving, not the consumer. We'll definitely add this to our backlog, and make another setting there. Thanks also for pointing out that part of retrieving the basket. We are actually in the progress of building a sustainable solution for that as well. Will be part of the next release(where shopping bag will be retained in a quote). I created two new issues for your input, and we'll address them accordingly. Please have a little bit more patience, as I'm sure we'll get everything aligned again with previous situation, but than more sustainable and scalable for the future.

Regards, Merijn

svl2706 commented 4 years ago

Hi Guys,

I totally agree with everything that has been written here. I'd like to add another issue because, since the order is created even if the payment is cancelled and the cart is emptied, it breaks the normal flow of Prestashop. Another side effect is that my module of Google Review (which is sending a request to users who successfull purchased something on the website) does not work anymore. So it's really a big issue...

I have many customers who receive a confirmation order email even when they don't pay which is really confusing for them.

Any idea of when all this could be solved?

Thanks a lot for your work and efforts

Stéphane

margud commented 4 years ago

@svl2706 we added switch in module settings where you can disable order_confirm mail for mollie payments. But it only works for Prestashop 1.7+ versions. To disable it for Prestashop 1.6 versions you will need to disable one function from order validation but it will disable order_confirm email for all payments.

SimonasB88 commented 4 years ago

Hi,

Updating from 3.5.5 to 4.0.x did not go very well, but after a lot of tries it works. Some 500 errors etc, but after removing the module completely (uninstall) and install again it works.

One of the new features; creation of an order before the payment is done, causes two issues:

* Email of a new order goes out directly before payment is done

* when cancelling payment, the customer gets a cancelled order mail and the customer needs to add the products again to the shopping basket.

I loved your previous module, and of all the payment providers, your module was the best because you did not create an order before payment was finished successfully. Also I did not have any issues with this module in the past. For one of my customers (who does nothing with the backend, but rely on the new order message) this is a problem, because we can not count on that email anymore.

The feature I really love about the new module, is adding a fee for payments. Now we are able to add a percentage to paypal.

Is it possible to have the option to switch between order creation after and before order?

Kind regards,

Patrick

Environment

* PrestaShop version: 1.7.6.4 (multiple)

* Mollie module version: 3.3.5 and 4.0.4

* PHP version: 5.6.40 and 7.2.24

Hey @pswaab , regarding the topic cases you wrote and the recommendations from the developer, have you been able to try the latest release (4.0.7) ?

Best Regards.

margud commented 4 years ago

This ticket is closed due to lack of activity for some time. If the issue wasn’t solved please raise a new ticket and our support team will assign a developer to it. Have a nice day.

pswaab commented 4 years ago

Hi,

I am sorry for my late reply, but I did not have time yet to test.

My problem is still there. The order gets created, and directly after, the merchant (owner of the shop) receives an update of a new order (which is not paid yet).

I now modified ps_emailalerts to not send emails on hookActionValidateOrder but on hookActionOrderStatusPostUpdate and checked if status is payment accepted. This way it only sends notifications of new orders when payment is accepted, so solved by tweaking the other module.

When going back you get you previous products in shopping cart, so that works. But if possible, it would be great when you go back to the payment part in the order page in stead of the shopping cart.

I still preferred the previous module version (3.5) which did not create an order (now your order number is not the number of orders paid anymore)

Kind regards,

Patrick Swaab

SimonasB88 commented 4 years ago

Hi,

I am sorry for my late reply, but I did not have time yet to test.

My problem is still there. The order gets created, and directly after, the merchant (owner of the shop) receives an update of a new order (which is not paid yet).

I now modified ps_emailalerts to not send emails on hookActionValidateOrder but on hookActionOrderStatusPostUpdate and checked if status is payment accepted. This way it only sends notifications of new orders when payment is accepted, so solved by tweaking the other module.

When going back you get you previous products in shopping cart, so that works. But if possible, it would be great when you go back to the payment part in the order page in stead of the shopping cart.

I still preferred the previous module version (3.5) which did not create an order (now your order number is not the number of orders paid anymore)

Kind regards,

Patrick Swaab

Hey @pswaab thanks for your insights, we really appreciate that. Hopefully you can be satisfied now with your code modifications.

Referring the going back action UX, we had some multiple user claims, that it would be better to go back to the cart and to instantly review the items the user has added to cart.

Referring the order creation in Order List, there were also multiple claims, that some of the Orders in Prestashop Back-Office were being skipped, when users are creating multiple 3D secure pages, and accidentally completing all the Orders with all of them. So we had to refactor the whole module code in order to satisfy the majority.

Best Regards.