From 97db17c27d71a0ae73e1578b6331842ceeed54ec Mon Sep 17 00:00:00 2001 From: panteliselef Date: Tue, 5 Aug 2025 14:26:39 +0300 Subject: [PATCH] chore(clerk-js,types): Strict type for `CommerceCheckout.status` --- .changeset/nasty-shirts-behave.md | 6 ++++++ packages/clerk-js/src/core/resources/CommerceCheckout.ts | 2 +- packages/types/src/commerce.ts | 2 +- packages/types/src/json.ts | 2 +- 4 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 .changeset/nasty-shirts-behave.md diff --git a/.changeset/nasty-shirts-behave.md b/.changeset/nasty-shirts-behave.md new file mode 100644 index 00000000000..fc4ec263492 --- /dev/null +++ b/.changeset/nasty-shirts-behave.md @@ -0,0 +1,6 @@ +--- +'@clerk/clerk-js': minor +'@clerk/types': minor +--- + +[Billing Beta] Update checkout.status type to be `'needs_confirmation' | 'completed'` instead of `string`. diff --git a/packages/clerk-js/src/core/resources/CommerceCheckout.ts b/packages/clerk-js/src/core/resources/CommerceCheckout.ts index 0ae7e3c9bfd..04fb7e0465c 100644 --- a/packages/clerk-js/src/core/resources/CommerceCheckout.ts +++ b/packages/clerk-js/src/core/resources/CommerceCheckout.ts @@ -18,7 +18,7 @@ export class CommerceCheckout extends BaseResource implements CommerceCheckoutRe plan!: CommercePlan; planPeriod!: CommerceSubscriptionPlanPeriod; planPeriodStart!: number | undefined; - status!: string; + status!: 'needs_confirmation' | 'completed'; totals!: CommerceCheckoutTotals; isImmediatePlanChange!: boolean; diff --git a/packages/types/src/commerce.ts b/packages/types/src/commerce.ts index 2fd659e090e..3ae559e3c23 100644 --- a/packages/types/src/commerce.ts +++ b/packages/types/src/commerce.ts @@ -1503,7 +1503,7 @@ export interface CommerceCheckoutResource extends ClerkResource { * * ``` */ - status: string; + status: 'needs_confirmation' | 'completed'; /** * @experimental This is an experimental API for the Billing feature that is available under a public beta, and the API is subject to change. * It is advised to pin the SDK version and the clerk-js version to a specific version to avoid breaking changes. diff --git a/packages/types/src/json.ts b/packages/types/src/json.ts index 1c3d415e48a..11dd4760797 100644 --- a/packages/types/src/json.ts +++ b/packages/types/src/json.ts @@ -870,7 +870,7 @@ export interface CommerceCheckoutJSON extends ClerkResourceJSON { plan: CommercePlanJSON; plan_period: CommerceSubscriptionPlanPeriod; plan_period_start?: number; - status: string; + status: 'needs_confirmation' | 'completed'; totals: CommerceCheckoutTotalsJSON; is_immediate_plan_change: boolean; }