I have a pretty critical issue with one of my clients websites.
The site, running Craft CMS 2.7.2 and craft commerce 1.2.1364, uses a event/tickets plugin and uses Mollie as the payment provider.
The problem is the following:
A customer goes to the site, selects an event and adds 2 tickets to their cart. The customer goes through checkout, pays for 2 tickets successfully and returns back to the site, but receives 4 tickets.
The only difference between this bugged order and a normal order (that I can tell anyway) is the status updates. A normal order will have only one status update but bugged orders have three updates in the orderhistory (see screenshot) This order has purchased and paid for 7 tickets but has received 14 tickets.
The problem seems to be happening randomly from what I can tell.
Any help or information about what the problem could be would be much appreciated.
(Note: we have contacted the plugin owner but have not yet received a response. We also contacted craft support but awaiting a response decided to ask here as well). If we receive any answer/solution we will post it below.
UPDATE: This is the response from Craft support:
Something in your site setup, or a plugin, is setting the orderStatusId on the order to one that triggers an email. Somehow the status is being set twice.
My guess is, without seeing the email setup or the plugin, that since the same status is set twice, the emails are sending twice. That makes sense, but my guess is that the emails themselves generate the ticket numbers on send, hence the additional tickets being issued.
The plugin developer should have saved the tickets numbers on order complete, and linked them to the order. Then the email could be sent out as many times as needed, without it regenerating multiple ticket numbers.
Hope that helps.