import type * as Whop from "../../../../index.js"; /** * @example * { * account_id: "biz_xxxxxxxxxxxxxx", * variant_id: "plan_xxxxxxxxxxxxx" * } */ export interface CreateCheckoutConfigurationsRequest { /** Account ID, prefixed `biz_`. */ account_id?: string; /** Affiliate code to apply to the checkout. */ affiliate_code?: string | null; /** Currency used for setup-mode payment method availability. */ currency?: string | null; /** Custom key-value metadata copied to payments and memberships. */ metadata?: Record | null; /** Controls whether checkout charges the buyer immediately or saves payment details for later. Defaults to `payment`. */ mode?: CreateCheckoutConfigurationsRequest.Mode; /** Payment method overrides for this checkout. `null` uses the variant or platform defaults. */ payment_method_configuration?: CreateCheckoutConfigurationsRequest.PaymentMethodConfiguration | null; /** URL customers are sent to after checkout. */ redirect_url?: string | null; /** 3D Secure behavior for supported on-session card payments. `mandate_challenge` requires a 3DS challenge before payment processing; `mandate_if_required` mandates a challenge only when the payment processor requires it; `frictionless_if_required` uses the regular frictionless 3DS flow. Payments of $1,000 or more use `mandate_if_required` unless `mandate_challenge` is selected. Risk and authentication recovery requirements can override the preference. Applies in setup mode; `null` uses frictionless 3DS. Payment mode uses the variant policy. */ three_ds_level?: CreateCheckoutConfigurationsRequest.ThreeDsLevel | null; /** Variant attributes used to create or find a variant for this checkout configuration. Mutually exclusive with `variant_id`. */ variant?: CreateCheckoutConfigurationsRequest.Variant | null; /** Existing variant ID, prefixed `plan_`. Mutually exclusive with `variant`. */ variant_id?: string | null; } export declare namespace CreateCheckoutConfigurationsRequest { /** Controls whether checkout charges the buyer immediately or saves payment details for later. Defaults to `payment`. */ const Mode: { readonly Payment: "payment"; readonly Setup: "setup"; }; type Mode = (typeof Mode)[keyof typeof Mode]; /** * Payment method overrides for this checkout. `null` uses the variant or platform defaults. */ interface PaymentMethodConfiguration { /** Payment method types explicitly disabled for checkout — the `type` values from the payment method types catalogue. Types Whop no longer offers, and the read-only `unknown` placeholder, are dropped. */ disabled?: Whop.PaymentMethodTypes[] | undefined; /** Payment method types explicitly enabled for checkout — the `type` values from the payment method types catalogue. Types Whop no longer offers, and the read-only `unknown` placeholder, are dropped. */ enabled?: Whop.PaymentMethodTypes[] | undefined; /** Whether platform default payment methods are included. */ include_platform_defaults?: boolean | undefined; } /** 3D Secure behavior for supported on-session card payments. `mandate_challenge` requires a 3DS challenge before payment processing; `mandate_if_required` mandates a challenge only when the payment processor requires it; `frictionless_if_required` uses the regular frictionless 3DS flow. Payments of $1,000 or more use `mandate_if_required` unless `mandate_challenge` is selected. Risk and authentication recovery requirements can override the preference. Applies in setup mode; `null` uses frictionless 3DS. Payment mode uses the variant policy. */ const ThreeDsLevel: { readonly MandateChallenge: "mandate_challenge"; readonly MandateIfRequired: "mandate_if_required"; readonly FrictionlessIfRequired: "frictionless_if_required"; }; type ThreeDsLevel = (typeof ThreeDsLevel)[keyof typeof ThreeDsLevel]; /** * Variant attributes used to create or find a variant for this checkout configuration. Mutually exclusive with `variant_id`. */ interface Variant { /** Account ID for the inline variant, prefixed `biz_`. Defaults to the account resolved from the request. */ account_id?: (string | null) | undefined; /** Recurring billing interval in days, such as 30 for monthly or 365 for annual. */ billing_period?: (number | null) | undefined; /** Billing model for the variant. */ billing_type?: (Variant.BillingType | null) | undefined; /** Three-letter ISO currency code for the variant's prices. */ currency?: (string | null) | undefined; /** Customer-visible variant description. */ description?: (string | null) | undefined; /** Access duration in days for expiration-based variants. */ expiration_days?: (number | null) | undefined; /** Whether to create a new variant instead of reusing a matching one. */ force_create_new_plan?: (boolean | null) | undefined; /** Initial purchase price in the variant currency. */ initial_price?: (number | null) | undefined; /** Custom key-value metadata stored on the variant. */ metadata?: (Record | null) | undefined; /** Tax classification override for this variant. */ override_tax_type?: (string | null) | undefined; /** Payment method overrides for the inline variant. `null` uses platform defaults. */ payment_method_configuration?: (Variant.PaymentMethodConfiguration | null) | undefined; /** Product ID the inline variant should belong to, prefixed `prod_`. */ product_id?: (string | null) | undefined; /** Sales method for the variant. */ release_method?: (Variant.ReleaseMethod | null) | undefined; /** Recurring price charged each billing period. */ renewal_price?: (number | null) | undefined; /** Units available for purchase. */ stock?: (number | null) | undefined; /** 3D Secure behavior for supported on-session card payments. `mandate_challenge` requires a 3DS challenge before payment processing; `mandate_if_required` mandates a challenge only when the payment processor requires it; `frictionless_if_required` uses the regular frictionless 3DS flow. Payments of $1,000 or more use `mandate_if_required` unless `mandate_challenge` is selected. Risk and authentication recovery requirements can override the preference. `null` inherits the account default. */ three_ds_level?: (Variant.ThreeDsLevel | null) | undefined; /** Variant display name shown to customers. */ title?: (string | null) | undefined; /** Free trial days before the first renewal charge. */ trial_period_days?: (number | null) | undefined; /** Whether the variant has unlimited stock. */ unlimited_stock?: (boolean | null) | undefined; /** Whether the variant is visible to customers or hidden from public view. */ visibility?: (Variant.Visibility | null) | undefined; } namespace Variant { /** Billing model for the variant. */ const BillingType: { readonly Renewal: "renewal"; readonly OneTime: "one_time"; }; type BillingType = (typeof BillingType)[keyof typeof BillingType]; /** * Payment method overrides for the inline variant. `null` uses platform defaults. */ interface PaymentMethodConfiguration { /** Payment method types explicitly disabled for this variant — the `type` values from the payment method types catalogue. Types Whop no longer offers, and the read-only `unknown` placeholder, are dropped. */ disabled?: Whop.PaymentMethodTypes[] | undefined; /** Payment method types explicitly enabled for this variant — the `type` values from the payment method types catalogue. Types Whop no longer offers, and the read-only `unknown` placeholder, are dropped. */ enabled?: Whop.PaymentMethodTypes[] | undefined; /** Whether platform default payment methods are included. */ include_platform_defaults?: boolean | undefined; } /** Sales method for the variant. */ const ReleaseMethod: { readonly BuyNow: "buy_now"; readonly Waitlist: "waitlist"; }; type ReleaseMethod = (typeof ReleaseMethod)[keyof typeof ReleaseMethod]; /** 3D Secure behavior for supported on-session card payments. `mandate_challenge` requires a 3DS challenge before payment processing; `mandate_if_required` mandates a challenge only when the payment processor requires it; `frictionless_if_required` uses the regular frictionless 3DS flow. Payments of $1,000 or more use `mandate_if_required` unless `mandate_challenge` is selected. Risk and authentication recovery requirements can override the preference. `null` inherits the account default. */ const ThreeDsLevel: { readonly MandateChallenge: "mandate_challenge"; readonly MandateIfRequired: "mandate_if_required"; readonly FrictionlessIfRequired: "frictionless_if_required"; }; type ThreeDsLevel = (typeof ThreeDsLevel)[keyof typeof ThreeDsLevel]; /** Whether the variant is visible to customers or hidden from public view. */ const Visibility: { readonly Visible: "visible"; readonly Hidden: "hidden"; readonly Archived: "archived"; readonly QuickLink: "quick_link"; }; type Visibility = (typeof Visibility)[keyof typeof Visibility]; } }