Neither the “official Stripe plugin” nor our Stripe plugin control the UX on the checkout page when the place order button is clicked. When that button is clicked, WooCommerce assigns a class of “processing” to the checkout form and then calls jQuery('form.checkout').blockUI(). The blockUI is a jQuery plugin that triggers the processing affect shown in your video.
You would need to share a staging site url for me to comment on why that’s behaving differently. For example, on our testing site, everything works perfectly and the UX shows a processing indicator when the place order button is clicked.
I tested your site, and the BlockUI loader displays on your checkout page when the place order button is clicked. Here is a screenshot of your checkout page from when I tested:
Watching your video, it appears the loader is not visible at any point after the place order button is clicked. I did not observe that issue on your site during my testing.
so, the issue here is the loader not coming up when the card requires 3D checking. I see you did not use one the test stripe cards that require this. please use 4000000000003220 and you should see the problem.
so, the issue here is the loader not coming up when the card requires 3D checking.
I know what the issue is now. Your product has a free trial, which means the 3DS authentication takes place client side. Free trials are unique, because they require a setup intent object rather than a payment intent.
Our plugin lazy loads the setup intent which makes it faster. But we don’t trigger the checkout form submit until after the 3DS authentication. This is pretty simple to resolve in the next release.
Hope you’re well. I was just doing some final testing for our Black Friday promo, and I noticed the issue is still present. Any chance this will be resolved by tomorrow?
It really does tend to cause some issues as people navigate out of the tab thinking something has gone wrong.