--- title: Checkout Settings description: The API for interacting with the checkout settings. api_version: 2025-10 api_name: customer-account-ui-extensions source_url: html: >- https://shopify.dev/docs/api/customer-account-ui-extensions/latest/apis/order-status-api/checkout-settings md: >- https://shopify.dev/docs/api/customer-account-ui-extensions/latest/apis/order-status-api/checkout-settings.md --- # Checkout Settings The API for interacting with the checkout settings. ## OrderStatusApi The API object provided to this and other `customer-account.order-status` extension targets. * checkoutSettings SubscribableSignalLike\ required Settings applied to the buyer's checkout. ### SubscribableSignalLike Represents a read-only value managed on the main thread that an extension can subscribe to. Example: Checkout uses this to manage the state of an object and communicate state changes to extensions running in a sandboxed web worker. This interface is compatible with \[Preact's ReadonlySignal]\(https://github.com/preactjs/signals/blob/a023a132a81bd4ba4a0bebb8cbbeffbd8c8bbafc/packages/core/src/index.ts#L700-L709). Some fields are deprecated but still supported for backwards compatibility. In version 2025-10, \[\`StatefulRemoteSubscribable\`]\(https://github.com/Shopify/remote-dom/blob/03929aa8418a89d41d294005f219837582718df8/packages/async-subscription/src/types.ts#L17) was replaced with \`ReadonlySignalLike\`. Checkout will remove the old fields some time in the future. * current ```ts T ``` * destroy ```ts () => Promise ``` * subscribe ```ts (fn: (value: T) => void) => () => void ``` * value ```ts T ``` ```ts export interface SubscribableSignalLike extends ReadonlySignalLike { /** * @deprecated Use `.value` instead. */ readonly current: T; /** * @deprecated No longer needed. Use Preact Signal management instead. */ destroy(): Promise; } ``` ### CheckoutSettings Settings describing the behavior of the buyer's checkout. * orderSubmission The type of order that will be created once the buyer completes checkout. ```ts 'DRAFT_ORDER' | 'ORDER' ``` * paymentTermsTemplate Represents the merchant configured payment terms. ```ts PaymentTermsTemplate ``` * shippingAddress Settings describing the behavior of the shipping address. ```ts ShippingAddressSettings ``` ```ts export interface CheckoutSettings { /** * The type of order that will be created once the buyer completes checkout. */ orderSubmission: 'DRAFT_ORDER' | 'ORDER'; /** * Represents the merchant configured payment terms. */ paymentTermsTemplate?: PaymentTermsTemplate; /** * Settings describing the behavior of the shipping address. */ shippingAddress: ShippingAddressSettings; } ``` ### PaymentTermsTemplate Represents the payment terms template object. * dueDate The due date for net payment terms as a ISO 8601 formatted string \`YYYY-MM-DDTHH:mm:ss.sssZ\`. ```ts string ``` * dueInDays The number of days between the issued date and due date if using net payment terms. ```ts number ``` * id A globally-unique ID. ```ts string ``` * name The name of the payment terms translated to the buyer's current language. See \[localization.language]\(/docs/api/customer-account-ui-extensions/apis/localization#standardapi-propertydetail-localization). ```ts string ``` ```ts export interface PaymentTermsTemplate { /** * A globally-unique ID. * @example 'gid://shopify/PaymentTermsTemplate/1' */ id: string; /** * The name of the payment terms translated to the buyer's current language. See [localization.language](/docs/api/customer-account-ui-extensions/apis/localization#standardapi-propertydetail-localization). */ name: string; /** * The due date for net payment terms as a ISO 8601 formatted string `YYYY-MM-DDTHH:mm:ss.sssZ`. */ dueDate?: string; /** * The number of days between the issued date and due date if using net payment terms. */ dueInDays?: number; } ``` ### ShippingAddressSettings Settings describing the behavior of the shipping address. * isEditable Describes whether the buyer can ship to any address during checkout. ```ts boolean ``` ```ts export interface ShippingAddressSettings { /** * Describes whether the buyer can ship to any address during checkout. */ isEditable: boolean; } ```