Recently, I ran into an issue with the stripe add-on with Gravity Forms. All of the submissions for payment were failing with a message of “PaymentIntent status: is invalid”.
I tried usual trouble shooting such as making sure all plugins and wordpress itself was updated, as well as deactivating most other plugins. It was tried on multiple forms on multiple templates. I made sure to try with amounts greater than 50 cents, which apparently is a built in threshold. Same result every time.
Eventually I grabbed older versions of Gravity Forms and installed those in order to see if there was a change in one of those updates effecting things. I came to light that after the version 2.4.23 update is when this issue started happening. Comparisons of the older and newer plugin versions showed that they had changed their ajax jQuery call slightly to use the “method” parameter. If a site is using a very old version of jquery then the stripe called to create a payment intent ends up being sent via GET instead of POST methods since the “method” jquery ajax parameter doesn’t exist before version 1.9.
The site this issue was happening on was actually using an older but stable version os jQuery. This wasn’t auto updating with WordPress. A while ago we were worried about jQuery updates breaking sites without us knowing. This led to us enqueuing our own version. That worked quite well… until this issue was discovered. Nowadays, most things coded in javascript will be future proof with newer jQuery versions.
So, long story short is that updating / keeping jQuery updated fixed the issue. Some plugins use updated jQuery functionality, and we need to take that into consideration with our website development. jQuery is a powerful tool in wordpress development. It can be used to do many things that would otherwise be much more difficult to accomplish. Hope this helps someone!