Stripe and test mode

Am I right in thinking that in test mode for Stripe it doesn’t show the card details input fields? I have switched it over from Sage to Stripe but have not used Stripe before so I just wanted to check that when I put it live with the live keys it will show those fields or is there an issue. It does seem to push the name and order details to stripe in test mode. Thanks

It should most definitely be showing the card input in test mode. Please check your developer console for any errors and make sure you’ve configured the keys correctly.

Seems to be all set up correctly. When I click Make Payment it does register it with Stripe as an incomplete payment and has the message ‘The PaymentIntent requires a payment method’
It wouldn’t be connected to the statuses where I have the message;

‘The target status for when the order is ready for processing does not exist, or is not a status assigned to the “Processing” state. This will cause customers to enter an infinite loop after completing payment.

UPDATE

No, just checked that and fixed as per your other reply so it is nothing to do with the status. Can’t see what the issue would be. I’ve not used Stripe before so it may be something in Stripe but the account is all set up and authenticated.

Stripe seems to be receiving the data OK.

The payment intent is already created server-side before the client-side rendering. It’s supposed to look something like this:

43

It sounds like there might be a client-side error or reason for it to not show the card input. The browsers’ developer console should have information about that.

If you’d like me to take a look, please email MODX credentials and a link to support@modmore.com

Hi Mark, thanks, email sent with details.

For anyone stumbling across this in a while… the EmailObfuscate plugin for MODX was being used, which obfuscates the email address in the Stripe script, causing it to break.

The solution is to disable that plugin.

I can confirm this is now all working, thanks Mark. One question:- how do I either disable the zip code on the card payment field or make it accept UK postcodes? I can’t see where I can change this in the configuration. Thanks again for all your help. Appreciated.

So, according to this discussion, the card element should be smart enough to only be shown when it’s relevant. That does include the UK, but if you’re using one of the standard test card numbers (e.g. 424242…), those are US-based cards and require the US format.

Instead use the appropriate international test card and it should behave how you expect it to, while adhering to Stripe’s recommendations too.