Express Checkout Element Shippingaddresschange Event
Shippingaddresschange event
Last verified 2026-09-27
Express Checkout Element Availablepaymentmethodschange EventExpress Checkout Element Shippingratechange Event
Is this helpful?
Stripe
4105 articles
expressCheckoutElement.on(event: string, handler: function) The shippingaddresschange event is triggered from an Express Checkout Element whenever the customer selects a new address in the payment interface. This event is not available for Elements with Checkout Sessions (EwCS integrations). When using an Express Checkout Element with a Checkout Session, shipping address changes are managed through the Checkout Session itself. You can update the session on your server after the customer completes their payment rather than responding to this event during the payment flow. - event The name of the event. In this case, shippingaddresschange. - handler A callback function handler(event) => void you provide that's called after the event is fired. After it's called, it passes an event object with the following properties: - elementType The type of element the event is fired from, which is expressCheckout in this case. - resolve A function resolve(payload) => void that's called if the recipient's shipping address is valid. - 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 for more details. - paymentDescription - managementURL - regularBilling - amount - label - recurringPaymentStartDate - recurringPaymentEndDate - recurringPaymentIntervalUnit - recurringPaymentIntervalCount - trialBilling - amount - label - recurringPaymentStartDate - recurringPaymentEndDate - recurringPaymentIntervalUnit - recurringPaymentIntervalCount - automaticReloadPaymentRequest Specify a request to set up an automatic reload payment. See the Apple Pay documentation for more details. - paymentDescription - managementURL - automaticReloadBilling - amount - label - automaticReloadPaymentThresholdAmount - lineItems An array of LineItem objects. These LineItems are shown as line items in the payment interface, if line items are supported. - name The name of the line item surfaced to the customer in the payment interface. - amount The amount in the currency's subunit (for example, cents, yen, etc.). - shippingRates An array of ShippingRate objects. The first shipping rate listed appears in the payment interface as the default option. - id Unique identifier for the object. - amount The amount to charge for shipping. - displayName The name of the shipping rate, displayed to the customer in the payment interface. - deliveryEstimate The estimated range for how long shipping takes, displayed to the customer in the payment interface. We recommended using the object format, but you can use a string instead. - maximum The upper bound of the estimated range. If empty, it represents no upper bound (for example, infinite). - unit A unit of time. - value Must be greater than 0. - minimum The lower bound of the estimated range. If empty, it represents no lower bound. - unit A unit of time. - value Must be greater than 0. - reject A function reject() => void that's called if the recipient's shipping address is invalid. - name The name of the recipient. - address The shipping address of the recipient. To maintain privacy, browsers might anonymize the shipping address by removing sensitive information that isn't necessary to calculate shipping costs. Depending on the country, some fields can be missing or partially redacted. For example, the shipping address in the US can only contain a city, state, and ZIP code. The full shipping address appears in the confirm event object after the purchase is confirmed in the browser’s payment interface. - city - state - postal_code - country ### Example title Handle 'shippingaddresschange' event Is this helpful?