import type { PeriodEnum } from './PeriodEnum'; import type { StripeCheckoutSessionRequestModeEnum } from './StripeCheckoutSessionRequestModeEnum'; /** * Serializer for Stripe checkout session creation requests. */ export type StripeCheckoutSessionRequest = { /** * Product SKU */ sku?: string; /** * Alternative to SKU */ product?: string; /** * Tenant type to create after successful checkout */ tenant: string; /** * URL to redirect after successful payment */ success_url: string; /** * URL to redirect if checkout cancelled */ cancel_url: string; /** * Checkout mode * * * `subscription` - subscription * * `payment` - payment * * `setup` - setup */ mode?: StripeCheckoutSessionRequestModeEnum; /** * Billing period * * * `weekly` - weekly * * `monthly` - monthly * * `yearly` - yearly */ period?: PeriodEnum; /** * Whether to use metered billing */ metered?: boolean; /** * Subscription quantity */ quantity?: number; /** * Coupon code to apply */ coupon?: string; /** * Enable free trial */ is_free_trial?: boolean; /** * Trial period in days */ trial_days?: number; /** * Skip card collection for trial */ skip_card?: boolean; };