Hi Nuno,
Thank you for your kind words.
I checked your Stripe logs. My guess was right - the problem is with the webhook delivery. Stripe sends payment success event notification, but instead of "200 OK" response code it receives "400 Bad Request" with very strange response text - "oops". Because of 400 code Stripe tries to send notification again and again, because it thinks that the event was not processed successfully. I do not remember exactly, how many times it tries to resend notification, but it does not important at the moment.
What is important to understand why this strange "400 Bad Request" response is happening. You say that the order is changing its status every time. This means that our plugin on every repeated Stripe notification does its internal checks and as a final step calls VirtueMart internal function. VirtueMart function updates the status of the order to "Confirmed". After that the same VirtueMart function performs several things and my guess that this point is the cause of "400 Bad Request".
And that is the biggest problem, because I need somehow to debug the VirtueMart code and find out what exactly is failing. Note, I need to do it on your website, because I cannot replicate the problem on our test websites.
Is it ok for you if I will make some debug actions to find out the cause?
Kind regards,
Dmitrijs