## ExpressCheckoutElement
Use the `ExpressCheckoutElement` from `@stripe/react-stripe-js` to accept payments through one-click payment buttons. The component must be rendered inside an [Elements Provider](https://docs.stripe.com/js/react_stripe_js/elements/elements_provider.md).

### Props

- `id`
Sets the DOM `id` attribute on the rendered Element container. Use this to target the Element for styling or testing.

- `className`
Applies custom CSS classes to the Element container.

- `options`
Express Checkout Element initialization options.

- `allowedShippingCountries`
By default, the Express Checkout Element allows all countries for shipping. You can specify which countries are allowed for shipping in the Express Checkout Element with a list of two-letter country codes.

- `applePay`
Specify Apple Pay specific options. These are passed through to the Apple Pay API.

- `recurringPaymentRequest`
Specify a request to set up a recurring payment. See the [Apple Pay documentation](https://developer.apple.com/documentation/apple_pay_on_the_web/applepayrecurringpaymentrequest) for more details.

- `paymentDescription`
- `managementURL`
- `regularBilling`
- `amount`
- `label`
- `recurringPaymentStartDate`
- `recurringPaymentEndDate`
- `recurringPaymentIntervalUnit`
- `recurringPaymentIntervalCount`

- `trialBilling`
- `amount`
- `label`
- `recurringPaymentStartDate`
- `recurringPaymentEndDate`
- `recurringPaymentIntervalUnit`
- `recurringPaymentIntervalCount`

- `billingAgreement`

- `deferredPaymentRequest`
Specify a request to set up a deferred payment. See the [Apple Pay documentation](https://developer.apple.com/documentation/apple_pay_on_the_web/applepaydeferredpaymentrequest) for more details.

- `paymentDescription`
- `managementURL`
- `deferredBilling`
- `amount`
- `amountType`
Indicates whether the billing amount is known at request time. When set to 'final', the Apple Pay payment sheet shows the configured amount.

- `label`
- `deferredPaymentDate`
- `billingAgreement`

- `freeCancellationDate`
If set, you must also supply a freeCancellationDateTimeZone.

- `freeCancellationDateTimeZone`
If set, you must also supply a freeCancellationDate. These are [tz](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) timezones such as `America/Los_ Angeles`, `Europe/Dublin`, and `Asia/Singapore`.

- `automaticReloadPaymentRequest`
Specify a request to set up an automatic reload payment. See the [Apple Pay documentation](https://developer.apple.com/documentation/apple_pay_on_the_web/applepayautomaticreloadpaymentrequest) for more details.

- `paymentDescription`
- `managementURL`
- `automaticReloadBilling`
- `amount`
- `label`
- `automaticReloadPaymentThresholdAmount`

- `billingAddressRequired`
Controls whether the Express Checkout Element collects the billing address. The default value depends on your integration:

- If you pass `allowedShippingCountries`, `phoneNumberRequired`, `shippingAddressRequired`, `emailRequired`, `applePay`, `lineItems`, or `business` when creating the Express Checkout Element, `billingAddressRequired` defaults to false.

- Otherwise, `billingAddressRequired` defaults to true. You can explicitly set `billingAddressRequired` to true or false to override the default behavior. We highly recommend that you collect the billing address because it can be used to perform address verifications and block fraudulent payments.

- `emailRequired`
Collect the customer's email by setting this option to `true`.

- `layout`
Specify how the buttons are arranged in a grid-like layout in the Express Checkout Element. Elements determines the layout by using certain factors, such as available space, number of buttons, and the defined `layout` object.

- `maxColumns`
Defines the maximum number of columns the Express Checkout Element can use to render. Default is `0`, meaning unlimited.

- `maxRows`
Defines the maximum number of rows the Express Checkout Element can use to render. Default is `0`, meaning unlimited.

- `overflow`
Specify whether or not to always hide the overflow menu or allow Elements to determine when to show the overflow menu. Default is `auto`. You can't specify both `overflow: 'never'` and set `maxRows` to a number greater than 0.

- `paymentMethodOrder`
By default, the Express Checkout Element uses a dynamic ordering that optimizes payment method display for each user. You can override the default order in which payment methods display in the Express Checkout Element with a list of payment method types. If there are payment methods that will show that are not specified in `paymentMethodOrder`, they display after the payment methods you specify. If you specify payment methods that