Skip to content

Search is only available in production builds. Try building and previewing the site to test it out locally.

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.

EventDirectionDescription
checkout/valuesEmitsEmitted when form or configuration values change

Listens Reference

Events this drop-in listens for from external sources.

EventDirectionDescription
cart/initializedListensFired by Cart (cart) when the component completes initialization
cart/mergedListensFired by Cart (cart) when data is merged
cart/resetListensFired 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.

EventDirectionDescription
cart/dataEmits and ListensTriggered when data is available or changes
checkout/errorEmits and ListensTriggered when an error occurs
checkout/initializedEmits and ListensTriggered when the component completes initialization
checkout/updatedEmits and ListensTriggered when the component state is updated
shipping/estimateEmits and ListensTriggered 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 listening
checkoutValuesListener.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 listening
cartInitializedListener.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 listening
cartMergedListener.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 listening
cartResetListener.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 listening
cartDataListener.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 listening
checkoutErrorListener.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 listening
checkoutInitializedListener.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 listening
checkoutUpdatedListener.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 listening
shippingEstimateListener.off();