Checkout data & events
The Checkout drop-in uses the Event Bus to emit and listen to events for communication between drop-ins and external integrations. For common events shared across multiple drop-ins (such as locale
, error
, authenticated
, etc.), see the Common Events Reference.
Emits Reference
Events produced by this drop-in that you can subscribe to.
Event | Direction | Description |
---|---|---|
checkout/values | Emits | Emitted when form or configuration values change |
Listens Reference
Events this drop-in listens for from external sources.
Event | Direction | Description |
---|---|---|
cart/initialized | Listens | Fired by Cart (cart ) when the component completes initialization |
cart/merged | Listens | Fired by Cart (cart ) when data is merged |
cart/reset | Listens | Fired by Cart (cart ) when the component state is reset |
Emits and Listens Reference
Bidirectional events that both emit state changes and listen for external updates.
Event | Direction | Description |
---|---|---|
cart/data | Emits and Listens | Triggered when data is available or changes |
checkout/error | Emits and Listens | Triggered when an error occurs |
checkout/initialized | Emits and Listens | Triggered when the component completes initialization |
checkout/updated | Emits and Listens | Triggered when the component state is updated |
shipping/estimate | Emits and Listens | Triggered when an estimate is calculated |
Event Details
The following sections provide detailed information about each event, including its direction, data payload structure, and usage examples.
checkout/values (emits)
Emitted when form or configuration values change
Data payload
Usage
Listen to this event in your storefront:
import { events } from '@dropins/tools/event-bus.js';
const checkoutValuesListener = events.on('checkout/values', (data) => { console.log('checkout/values event received:', data); // Add your custom logic here});
// Later, when you want to stop listeningcheckoutValuesListener.off();
cart/initialized (listens)
Fired by Cart (cart
) when the component completes initialization
Data payload
Usage
Listen to this event in your storefront:
import { events } from '@dropins/tools/event-bus.js';
const cartInitializedListener = events.on('cart/initialized', (data) => { console.log('cart/initialized event received:', data); // Add your custom logic here});
// Later, when you want to stop listeningcartInitializedListener.off();
cart/merged (listens)
Fired by Cart (cart
) when data is merged
Data payload
Usage
Listen to this event in your storefront:
import { events } from '@dropins/tools/event-bus.js';
const cartMergedListener = events.on('cart/merged', (data) => { console.log('cart/merged event received:', data); // Add your custom logic here});
// Later, when you want to stop listeningcartMergedListener.off();
cart/reset (listens)
Fired by Cart (cart
) when the component state is reset
Data payload
Usage
Listen to this event in your storefront:
import { events } from '@dropins/tools/event-bus.js';
const cartResetListener = events.on('cart/reset', (data) => { console.log('cart/reset event received:', data); // Add your custom logic here});
// Later, when you want to stop listeningcartResetListener.off();
cart/data (emits and listens)
Triggered when data is available or changes
Data payload
Usage
Listen to this event in your storefront:
import { events } from '@dropins/tools/event-bus.js';
const cartDataListener = events.on('cart/data', (data) => { console.log('cart/data event received:', data); // Add your custom logic here});
// Later, when you want to stop listeningcartDataListener.off();
checkout/error (emits and listens)
Triggered when an error occurs
Data payload
Usage
Listen to this event in your storefront:
import { events } from '@dropins/tools/event-bus.js';
const checkoutErrorListener = events.on('checkout/error', (data) => { console.log('checkout/error event received:', data); // Add your custom logic here});
// Later, when you want to stop listeningcheckoutErrorListener.off();
checkout/initialized (emits and listens)
Triggered when the component completes initialization
Data payload
Usage
Listen to this event in your storefront:
import { events } from '@dropins/tools/event-bus.js';
const checkoutInitializedListener = events.on('checkout/initialized', (data) => { console.log('checkout/initialized event received:', data); // Add your custom logic here});
// Later, when you want to stop listeningcheckoutInitializedListener.off();
checkout/updated (emits and listens)
Triggered when the component state is updated
Data payload
Usage
Listen to this event in your storefront:
import { events } from '@dropins/tools/event-bus.js';
const checkoutUpdatedListener = events.on('checkout/updated', (data) => { console.log('checkout/updated event received:', data); // Add your custom logic here});
// Later, when you want to stop listeningcheckoutUpdatedListener.off();
shipping/estimate (emits and listens)
Triggered when an estimate is calculated
Data payload
Usage
Listen to this event in your storefront:
import { events } from '@dropins/tools/event-bus.js';
const shippingEstimateListener = events.on('shipping/estimate', (data) => { console.log('shipping/estimate event received:', data); // Add your custom logic here});
// Later, when you want to stop listeningshippingEstimateListener.off();