Checkout reliability

Required fields in express checkout

In the WooCommerce Stripe extension, an additional required field can be checked after the shopper approves the wallet sheet. If the field was not collected from that button location, the checkout can reject the attempt. Compare the field’s registration method with whether the button appeared on the product, cart or checkout page; wallet-sheet approval alone is not proof that payment succeeded.

For: An owner or administrator of a research-only store whose express-checkout payments fail even though the shopper approved the wallet sheet.

Updated 2026-09-29

The check runs after the shopper approves the wallet

Express checkout methods such as Apple Pay, Google Pay, Link by Stripe, and Amazon Pay let a shopper pay with pre-filled account information, so the usual checkout form may never be displayed. WooCommerce's Stripe extension documentation states the consequence directly: the required-field check runs after the shopper approves the wallet sheet, not before it opens. The shopper gets no advance warning. The payment is refused and an error is shown that indicates the missing field.

The shopper’s approval in a wallet sheet and the store’s required-field validation are different stages. A missing-field error identifies a failed validation check; it does not establish issuer authorization, final payment success or the absence of another issue.

How the field was registered decides what express checkout does

The same documentation separates the two ways extensions add custom checkout fields, and the behavior differs by method. Fields registered with woocommerce_register_additional_checkout_field appear on the blocks checkout page. When a shopper pays with an express method from that page, express checkout collects the values they entered and saves them to the order. WooCommerce itself validates those fields, so a required one left empty stops the payment.

Fields added with the woocommerce_checkout_fields filter appear on the shortcode checkout page. On that page, express checkout enforces any such field marked as required, and the values a shopper enters are saved to the order as custom fields keyed by the field ID. If you do not know which method your extension used, that is the first thing to establish, because it determines where the shopper can ever see the field.

Button location decides whether the field was ever shown

Express checkout buttons can be placed on the checkout page, individual product pages, and the cart page, and the extension's customization settings control which locations are active. Neither registration method shows the custom field on product or cart pages. An express payment started there sends the field empty. If the field is required, the blocks-registered field causes WooCommerce to refuse the payment and report the field as required; a filter-registered field blocks the payment and tells the shopper to go to the checkout page, fill in the required fields, and complete the order from there.

Successful express checkouts from the checkout page alongside missing-field errors from product or cart buttons are a useful clue to this location difference. Confirm the named field and its registration method before attributing every failed attempt to it.

What to check before changing anything

Identify which extension adds the field, how it registered the field, whether the field is marked required, and on which button locations the failed attempts started. The extension's own documentation or the developer who added the field can confirm the registration method. Then decide whether the field is genuinely required for every order: a field the store does not truly need is a candidate for removal through the extension's own settings, not for a workaround.

Keep genuinely required fields and acknowledgments enforced. Select a checkout path that collects them, with the responsible developer confirming the behavior. A filter that suppresses required-field handling can discard values instead of fixing their collection.

Describe the field, extension and affected button location in a consultation. Confirm the implementation scope and responsible maintainer before changes begin.

Express-checkout field and location check

Map each required additional field to its registration method and each button location to what express checkout does there. Use your own store's field names; the last column is for your notes.

Worksheet entries are not submitted by Prism’s worksheet and are not saved by the site. Use record types, availability, anonymized observations, or match/mismatch results. Do not enter government identifiers, customer names or addresses, customer messages, receipt-access links, card or bank details, passwords, or keys. Send sensitive documents only through the provider’s verified secure channel.

Express-checkout field and location check. The last column is for temporary notes.
Button locationField registration methodWhat express checkout does thereYour finding
Blocks checkout pagewoocommerce_register_additional_checkout_fieldThe field is shown on that page; express checkout collects the entered values and saves them to the order.
Product or cart: block-registered fieldwoocommerce_register_additional_checkout_fieldThe field is not shown and is sent empty; if it is required, WooCommerce refuses the payment and reports the field as required.
Shortcode (classic) checkout pagewoocommerce_checkout_fields filterRequired fields are enforced; entered values are saved to the order as custom fields keyed by the field ID.
Product or cart: classic-hook fieldwoocommerce_checkout_fields filterThe field is not shown; if it is required, the payment is blocked and the shopper is directed to the checkout page to fill in the fields and finish there.
Any location, after wallet approvalEither methodValidation may report a missing required field after wallet-sheet approval. Read the actual error and payment status; approval of the sheet is not proof of successful payment.

These are temporary notes. Leaving or reloading this page may clear them. Worksheet entries are not sent automatically. If you copy notes into the consultation message and submit the form, Prism receives them as part of your request.

Limits

  • Preserve genuinely required fields and buyer acknowledgments. Removing unnecessary fields is a separate design decision, not a way to bypass required data collection.
  • The behavior described is the documented behavior of the Stripe WooCommerce extension's express checkouts; other gateways and other WooCommerce versions document their own handling.
  • A consultation request does not authorize or implement a WooCommerce change; field and button changes happen in your own store with your own developer.

Sources

  • WooCommerce: Enabling express checkouts — checked 2026-09-29. Custom-field behavior for express checkouts: blocks-registered fields are collected and saved on the blocks checkout, sent empty from product and cart pages with required fields refused; filter-registered required fields are enforced on the shortcode checkout and block payment from product and cart pages; the check runs after the wallet sheet is approved; button locations are customizable.
  • Prism contact — checked 2026-09-21. The form takes the website, products, and question, excludes card details, passwords, and customer records, and does not submit a processing application. Follow-up is by email.

Get help with checkout

Is this happening on your own store?