Requires billing details when Payment Element collection is disabled
Requires Elements with the Checkout Sessions API integrations to provide required billing details for any field disabled on the Payment Element, starting with Endive. If you set a billing field to never in the Payment Element configuration, the Payment Element no longer collects that field, and you’re responsible for supplying required billing data through another Element or a supported Custom Checkout SDK method. Previously, checkout.confirm() could succeed even when a required billing field configured as never wasn’t provided through another source. Starting with Endive, these integrations fail at confirmation with an integration error.
Requires billing details when Payment Element collection is disabled: from its source to your code
docs.stripe.comquote checked
behaviour change
Your codeby hand
Nemotron fixes
In its own wordsmatches the page ✓
| [Requires billing details when Payment Element collection is disabled](https://docs.stripe.com/changelog/endive/2026-09-30/strict-billing-details-validation.md) | Checkout, Elements | Breaking | stripejs |
Previously, `checkout.confirm()` could succeed even when a required billing field configured as `never` wasn’t provided through another source. Starting with Endive, these integrations fail at confirmation with an integration error.
If your integration disables any billing-details fields on the Payment Element, provide the corresponding data before calling checkout.confirm(). Use one of the following approaches depending on the type of billing data. For a full walkthrough of address collection with Custom Checkout, see Collect physical addresses.
If your integration collects specific billing details itself, set only those fields to never and leave the remaining fields as auto. The Payment Element can then collect the remaining fields when the selected payment method requires them.
Set fields.billingDetails to never only if your integration collects all billing details itself. In this configuration, the Payment Element doesn’t collect any billing details, so you must collect and provide every applicable billing field through another Element or supported Custom Checkout SDK method.
### Name and address
Call updateBillingAddress to set the billing address before confirmation.
Pass a billingAddress option to checkout.confirm().
Use the Billing Address Element to collect billing addresses through a dedicated Element.
If you use automatic tax and disable billing address collection in the Payment Element, don’t pass billingAddress to checkout.confirm(). Instead, provide the tax address using the Address Element or updateBillingAddress(). See Collect tax with Elements for details.
### Email
Call updateEmail to set the email before confirmation.
Pass an email option to checkout.confirm().
### Phone
Enable phone_number_collection.enabled on the Checkout Session.
Call updatePhoneNumber to set the phone number before confirmation.