Stripe Subscription

Stripe Subscription with status lifecycle, billing periods, and item details.

Report an issue
stripe

Install

$ npx shadcn@latest add @open-types/stripe-subscription

Dependencies

Source

import type { StripeMetadata } from "./stripe-shared";

export type StripeSubscriptionStatus =
  | "incomplete"
  | "incomplete_expired"
  | "trialing"
  | "active"
  | "past_due"
  | "canceled"
  | "unpaid"
  | "paused";

export interface StripeSubscriptionItem {
  id: string;
  object: "subscription_item";
  price: string;
  quantity: number;
}

export interface StripeSubscriptionItems {
  data: StripeSubscriptionItem[];
}

export interface StripeSubscription {
  id: string;
  object: "subscription";
  customer: string;
  status: StripeSubscriptionStatus;
  current_period_start: number;
  current_period_end: number;
  cancel_at_period_end: boolean;
  canceled_at: number | null;
  items: StripeSubscriptionItems;
  metadata: StripeMetadata;
  created: number;
  livemode: boolean;
}
import type { StripeMetadata } from "./stripe-shared";

export type StripeSubscriptionStatus =
  | "incomplete"
  | "incomplete_expired"
  | "trialing"
  | "active"
  | "past_due"
  | "canceled"
  | "unpaid"
  | "paused";

export interface StripeSubscriptionItem {
  id: string;
  object: "subscription_item";
  price: string;
  quantity: number;
}

export interface StripeSubscriptionItems {
  data: StripeSubscriptionItem[];
}

export interface StripeSubscription {
  id: string;
  object: "subscription";
  customer: string;
  status: StripeSubscriptionStatus;
  current_period_start: number;
  current_period_end: number;
  cancel_at_period_end: boolean;
  canceled_at: number | null;
  items: StripeSubscriptionItems;
  metadata: StripeMetadata;
  created: number;
  livemode: boolean;
}