Also just got this from one customer: When I tried to place the order, it kept coming up with an error message saying the ZIP code entered was invalid, but my post code was entered correctly and my country so I just stopped bothering after about 3/4 attempts and:
“The order had failed but when I had refreshed the page the order went through fine. I don’t know what had happened. I checked my bank and I only got charged once so I think it was just a slight error. The page had frozen before it had told me that it had been declined, but my order went through fine afterwards, so I didn’t think anything of it. “
Phil
(@fullysupportedphil)
Automattic Happiness Engineer
Hey @jamescorneille
When sharing logs, please remove any identifiable tokens for you and your customer’s security. For example the ID, Charge ID, Payment Intent and Method are all unique variables for your site and this transaction.
The do_not_honor code is what Stripe is receiving back from the customers bank. You’ll see that that in the logs you shared:
[seller_message] => The bank returned the decline code do_not_honor.
Generally that means the customer either doesn’t have sufficient funds or the charge was flagged as potentially fraudulent.
Based on what you shared in your follow up message though, it sounds like you might have some conflicts happening on your checkout page.
I would recommend setting up a staging site where you can try to replicate this and run some tests. Once you’re staging site is setup, please follow our guide on how to test for conflicts here:
https://docs.woocommerce.com/document/woocommerce-self-service-guide/#section-4
It could be a theme or plugin that is causing the checkout page errors. If that is impacting the information that is being sent with the Stripe request (for example passing empty fields), it would explain why banks are declining the charge.
My theme is one of the most popular ones for WP so I doubt it’s that (Would’ve heard about it on the product page I think) and I did have one check out plugin, disabled it and the issues are still there.
When it comes to the staging site, the issue only happens 5-10% of the time, I’m not sure it would happen if I made a staging site with test stripe info as it wouldn’t be contacting my banks?
Also can you please delete my reply above, didn’t realise it had sensitive info
Phil
(@fullysupportedphil)
Automattic Happiness Engineer
My theme is one of the most popular ones for WP so I doubt it’s that (Would’ve heard about it on the product page I think) and I did have one check out plugin, disabled it and the issues are still there.
Regardless of the popularity of a theme or plugin, they can still cause conflicts. Conflicts can also come as a result of using a unique combination of plugins with a theme. So this may only happen when using your theme, PLUS a specific group of plugins. Or it could caused entirely by a unique combination of several plugins.
As I mentioned above the errors in your logs are what Stripe gets from the issuing bank. This means that the plugin was able to send a call to the Stripe properly.
That call could contain some blank information though if some conflict is preventing that info from being gathered.
I would recommend asking Stripe to have a look at a couple of the transactions you received do_not_honor and tell you if any required information is missing in the request sent to the issuing bank. If they find a value that is missing, please let me know as that could help better identify the source of the problem.
In regards to the other issues you noted (orders showing as failed until you refresh the page), that would be something you’d need to access using the conflict test methods I mentioned above. As WooCommerce has not had any issues relating to that by itself, so it’s either a code conflict or an issue with some bad server caching. As a reminded the Cart, Checkout, and My Account pages should never be cached either by plugins or by your hosting company.
I hope that helps a bit.
Plugin Support
Fernando a11n
(@fhaps)
Automattic Happiness Engineer
We haven’t heard back from you in a while, so I’m going to mark this as resolved – if you have any further questions, you can start a new thread.