WPIntell

Source evidence

Users Randomly Asked for Postcode = Order Cannot Proceed (Fails)

Payment Plugins for Stripe WooCommerce · support · 2026-06-25T07:54:00+00:00

complaintsentiment
highseverity
0.86relevance
11replies
Evidence linked to opportunitycommercial context

Proof Health

Open evidence

Commercial opportunities need traceable source links before they are treated as build-worthy.

11 / 39 rows with source links

28.2% of this page's analysis has direct source links.

0 build-decision rows missing links

0 rows here require auditable proof before promotion.

28 rows with no attached evidence

0 rows have source counts but still need direct links.

Conversation

support
bluebirdwebdev resolved
I sell virtual products. We only collect first name, last name, email address. I am based in New Zealand. Users are randomly being prompted to enter their postcode (zip code) inside the inline Stripe credit card form. This never occurred prior to 4.0.0 or 4.0.1, and never occurred prior to 25 June 2026. If my users enter their correct postcode, they are shown the below error, since Stripe is expecting the rest of their billing data (address, suburb, city) from the Woo checkout page. View post on imgur.com If the user leaves the postcode field blank, they see this error: View post on imgur.com This topic was modified 19 hours, 41 minutes ago by bluebirdwebdev . This topic was modified 19 hours, 40 minutes ago by bluebirdwebdev . UPDATE: I am unsure if this is the cause 100% of the time, but I found this thread online that discusses this happening when using foreign based credit cards. https://github.com/stripe-archive/react-stripe-elements/issues/20 If I use the Stripe provided test card number 4242424242424242 (USA Based card), it triggers the postcode requirement. If I use an Australian issued test credit card 4000000360000006 the requirement to add a post code to the inline form never happens. I rolled back to 3.3.108 – 05/15/26 and one customer that was being forced to enter a postcode (even with a New Zealand based card, with my store being in New Zealand), no longer does and was able to complete the checkout successfully. Hi @bluebirdwebdev Thank you for contacting Payment Plugins and providing these details. This seems to be specific to the Stripe inline form so I would recommend using the Stripe payment form option for now if you want to use 4.0.1 . I am having these scenario tested and will report back if we can replicate this error using the Stripe inline form. Can you confirm that your checkout page is displaying all the required billing address fields like Billing Country? Or do you have some fields optional or disabled? Kind Regards This reply was modified 13 hours, 4 minutes ago by Clayton R . Hi @bluebirdwebdev I was able to have your site tested and can confirm that your checkout page is only displaying the billing first name, last name, and email address. The reason you’re receiving that error message is because the billing country field is expected. We’re updating the plugin logic in 4.0.2 so you won’t receive that error but it’s recommended that you add the billing country field since Stripe uses that as part of their fraud detection. Kind Regards Hi @bluebirdwebdev Here is a link to the 4.0.2 download so you don’t have to wait. https://paymentplugins.com/documentation/stripe/releases/4.0.2/ Kind Regards @mrclayton I was able to have your site tested and can confirm that your checkout page is only displaying the billing first name, last name, and email address. The reason you’re receiving that error message is because the billing country field is expected. I understand this may be best practice, but our store has been able to sell virtual products for the last 2 years, only ever collecting the first name, last name and email address, and we’ve never had the “post code” section appear on the inline Stripe form. Something must have changed starting version 4.0.0 or 4.0.1 that makes the post code appear, as we’ve never had this happen previously. Does 4.0.2 remove the possibility of the post code / zip code being triggered to appear on the inline form? Something must have changed starting version 4.0.0 or 4.0.1 that makes the post code appear, as we’ve never had this happen previously. Here is the JSON object from your site sent to Stripe when setting up the inline form using version 3.3.108: { "value": { "postalCode": "" }, "hidePostalCode": false, "iconStyle": "default", "style": { "base": { "color": "#32325d", "fontFamily": "\"Helvetica Neue\", Helvetica, sans-serif", "fontSmoothing": "antialiased", "fontSize": "18px", "::placeholder": { "color": "#aab7c4" }, ":focus": [] }, "invalid": { "color": "#fa755a", "iconColor": "#fa755a" } }, "disableLink": true } Here is the object sent using version 4.0.2: { "style": { "base": { "color": "#32325d", "fontFamily": "\"Helvetica Neue\", Helvetica, sans-serif", "fontSmoothing": "antialiased", "fontSize": "18px", "::placeholder": { "color": "#aab7c4" }, ":focus": [] }, "invalid": { "color": "#fa755a", "iconColor": "#fa755a" } }, "disableLink": true, "value": { "postalCode": "" }, "hidePostalCode": false } The objects appear identical which means the behavior should be the same. The hidePostalCode field being false means it will show based on the customer’s payment method billing country. That value has not changed from 3.3.108 to 4.0.2. What 4.0.2 does change is the error You passed an empty string for billing_details[address][country] . You can also use the Stripe payment form option which never displays a postal code field. Kind Regards This reply was modified 5 hours, 55 minutes ago by Clayton R . Hi @bluebirdwebdev I am having a custom code snippet created for you that will disable the postal code requirement on the Stripe inline form regardless of Stripe’s internal requirements. I’ll respond to this thread once it’s ready. Thanks This custom code snippet, which will work in 4.0.2 will disable the postal code field for the Stripe inline form: add_action('wp_enqueue_scripts', function(){ if(function_exists('is_checkout') && is_checkout()){ $javascript = " if(wcStripe?.actions?.default){ wcStripe.actions.default.addFilter('payment_element_options', (options, gateway) => { if(gateway.id === 'stripe_cc'){ options.hidePostalCode = true; } return options; }); }else if(wcStripe?.actions?.addFilter){ wcStripe.actions.addFilter('payment_element_options', (options, gateway) => { if(gateway.id === 'stripe_cc'){ options.hidePostalCode = true; } return options; }); }"; wp_add_inline_script('wc-stripe-credit-card', $javascript, 'after'); } }); I would recommend using a Code Snippet plugin like this one to add this snippet: Thanks Just so I understand functionality correctly – if I use the Stripe Payment Form instead of Inline Form, does this mean the postal code requirement is guaranteed to never appear? I’d rather rely on the native Stripe Payment Form style preventing the postcode, than a snippet, which could break in future updates. if I use the Stripe Payment Form instead of Inline Form, does this mean the postal code requirement is guaranteed to never appear? On the checkout page yes. If your customers use the My Account > Add Payment Method page then the postal code field can appear. That’s because Stripe can require that information when saving a payment method. I would recommend using the Stripe payment form because the Stripe inline form has been deprecated by Stripe for a while now. We still support it because this plugin has been around for many years but we encourage merchants to switch to the Stripe payment form. Kind Regards Thank you for the confirmation, I’ve switched to the Stripe Payment Form option

Comments

11 shown
bluebirdwebdev 2026-06-25T08:07:00+00:00

UPDATE: I am unsure if this is the cause 100% of the time, but I found this thread online that discusses this happening when using foreign based credit cards. https://github.com/stripe-archive/react-stripe-elements/issues/20 If I use the Stripe provided test card number 4242424242424242 (USA Based card), it triggers the postcode requirement. If I use an Australian issued test credit card 4000000360000006 the requirement to add a post code to the inline form never happens. I rolled back to 3.3.108 – 05/15/26 and one customer that was being forced to enter a postcode (even with a New Zealand based card, with my store being in New Zealand), no longer does and was able to complete the checkout successfully.

Clayton R 2026-06-25T14:40:00+00:00

Hi @bluebirdwebdev Thank you for contacting Payment Plugins and providing these details. This seems to be specific to the Stripe inline form so I would recommend using the Stripe payment form option for now if you want to use 4.0.1 . I am having these scenario tested and will report back if we can replicate this error using the Stripe inline form. Can you confirm that your checkout page is displaying all the required billing address fields like Billing Country? Or do you have some fields optional or disabled? Kind Regards This reply was modified 13 hours, 4 minutes ago by Clayton R .

Clayton R 2026-06-25T17:58:00+00:00

Hi @bluebirdwebdev I was able to have your site tested and can confirm that your checkout page is only displaying the billing first name, last name, and email address. The reason you’re receiving that error message is because the billing country field is expected. We’re updating the plugin logic in 4.0.2 so you won’t receive that error but it’s recommended that you add the billing country field since Stripe uses that as part of their fraud detection. Kind Regards

Clayton R 2026-06-25T18:58:00+00:00

Hi @bluebirdwebdev Here is a link to the 4.0.2 download so you don’t have to wait. https://paymentplugins.com/documentation/stripe/releases/4.0.2/ Kind Regards

bluebirdwebdev 2026-06-25T21:35:00+00:00

@mrclayton I was able to have your site tested and can confirm that your checkout page is only displaying the billing first name, last name, and email address. The reason you’re receiving that error message is because the billing country field is expected. I understand this may be best practice, but our store has been able to sell virtual products for the last 2 years, only ever collecting the first name, last name and email address, and we’ve never had the “post code” section appear on the inline Stripe form. Something must have changed starting version 4.0.0 or 4.0.1 that makes the post code appear, as we’ve never had this happen previously. Does 4.0.2 remove the possibility of the post code / zip code being triggered to appear on the inline form?

Clayton R 2026-06-25T21:48:00+00:00

Something must have changed starting version 4.0.0 or 4.0.1 that makes the post code appear, as we’ve never had this happen previously. Here is the JSON object from your site sent to Stripe when setting up the inline form using version 3.3.108: { "value": { "postalCode": "" }, "hidePostalCode": false, "iconStyle": "default", "style": { "base": { "color": "#32325d", "fontFamily": "\"Helvetica Neue\", Helvetica, sans-serif", "fontSmoothing": "antialiased", "fontSize": "18px", "::placeholder": { "color": "#aab7c4" }, ":focus": [] }, "invalid": { "color": "#fa755a", "iconColor": "#fa755a" } }, "disableLink": true } Here is the object sent using version 4.0.2: { "style": { "base": { "color": "#32325d", "fontFamily": "\"Helvetica Neue\", Helvetica, sans-serif", "fontSmoothing": "antialiased", "fontSize": "18px", "::placeholder": { "color": "#aab7c4" }, ":focus": [] }, "invalid": { "color": "#fa755a", "iconColor": "#fa755a" } }, "disableLink": true, "value": { "postalCode": "" }, "hidePostalCode": false } The objects appear identical which means the behavior should be the same. The hidePostalCode field being false means it will show based on the customer’s payment method billing country. That value has not changed from 3.3.108 to 4.0.2. What 4.0.2 does change is the error You passed an empty string for billing_details[address][country] . You can also use the Stripe payment form option which never displays a postal code field. Kind Regards This reply was modified 5 hours, 55 minutes ago by Clayton R .

Clayton R 2026-06-25T22:16:00+00:00

Hi @bluebirdwebdev I am having a custom code snippet created for you that will disable the postal code requirement on the Stripe inline form regardless of Stripe’s internal requirements. I’ll respond to this thread once it’s ready. Thanks

Clayton R 2026-06-25T22:28:00+00:00

This custom code snippet, which will work in 4.0.2 will disable the postal code field for the Stripe inline form: add_action('wp_enqueue_scripts', function(){ if(function_exists('is_checkout') && is_checkout()){ $javascript = " if(wcStripe?.actions?.default){ wcStripe.actions.default.addFilter('payment_element_options', (options, gateway) => { if(gateway.id === 'stripe_cc'){ options.hidePostalCode = true; } return options; }); }else if(wcStripe?.actions?.addFilter){ wcStripe.actions.addFilter('payment_element_options', (options, gateway) => { if(gateway.id === 'stripe_cc'){ options.hidePostalCode = true; } return options; }); }"; wp_add_inline_script('wc-stripe-credit-card', $javascript, 'after'); } }); I would recommend using a Code Snippet plugin like this one to add this snippet: Thanks

bluebirdwebdev 2026-06-25T22:36:00+00:00

Just so I understand functionality correctly – if I use the Stripe Payment Form instead of Inline Form, does this mean the postal code requirement is guaranteed to never appear? I’d rather rely on the native Stripe Payment Form style preventing the postcode, than a snippet, which could break in future updates.

Clayton R 2026-06-25T22:55:00+00:00

if I use the Stripe Payment Form instead of Inline Form, does this mean the postal code requirement is guaranteed to never appear? On the checkout page yes. If your customers use the My Account > Add Payment Method page then the postal code field can appear. That’s because Stripe can require that information when saving a payment method. I would recommend using the Stripe payment form because the Stripe inline form has been deprecated by Stripe for a while now. We still support it because this plugin has been around for many years but we encourage merchants to switch to the Stripe payment form. Kind Regards

bluebirdwebdev 2026-06-25T22:56:00+00:00

Thank you for the confirmation, I’ve switched to the Stripe Payment Form option