@checkoutpage/sdk 0.1.30 → 0.1.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -822,11 +822,10 @@ var CheckoutPageFieldsResource = class {
822
822
  if (!fieldId) {
823
823
  throw new Error("Field ID is required");
824
824
  }
825
- const response = await this.client.request({
825
+ return this.client.request({
826
826
  method: "DELETE",
827
827
  path: `/v1/checkout-pages/${pageId}/fields/${fieldId}`
828
828
  });
829
- return response;
830
829
  }
831
830
  };
832
831
  var CheckoutPagesResource = class {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/errors.ts","../src/resources/invoices/invoices.ts","../src/client.ts","../src/resources/accounts/accounts.ts","../src/resources/customers/customers.ts","../src/resources/coupons/coupons.ts","../src/resources/payments/payments.ts","../src/resources/subscriptions/subscriptions.ts","../src/resources/subscription-payments/subscription-payments.ts","../src/resources/bookings/bookings.ts","../src/resources/tickets/tickets.ts","../src/resources/products/products.ts","../src/resources/files/files.ts","../src/resources/checkout-pages/checkout-pages.ts","../src/resources/events/events.ts","../src/resources/forms/forms.ts","../src/resources/submissions/submissions.ts","../src/resources/tax-rates/tax-rates.ts","../src/resources/webhooks/webhooks.ts","../src/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["export class CheckoutPageError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'CheckoutPageError';\n Object.setPrototypeOf(this, CheckoutPageError.prototype);\n }\n}\n\nexport class AuthenticationError extends CheckoutPageError {\n constructor(message = 'Authentication failed. Please check your API key.') {\n super(message);\n this.name = 'AuthenticationError';\n Object.setPrototypeOf(this, AuthenticationError.prototype);\n }\n}\n\nexport class NotFoundError extends CheckoutPageError {\n constructor(message = 'The requested resource was not found.') {\n super(message);\n this.name = 'NotFoundError';\n Object.setPrototypeOf(this, NotFoundError.prototype);\n }\n}\n\nexport class ConflictError extends CheckoutPageError {\n constructor(message = 'Conflict - the created resource already exists.') {\n super(message);\n this.name = 'ConflictError';\n Object.setPrototypeOf(this, ConflictError.prototype);\n }\n}\n\nexport class RateLimitError extends CheckoutPageError {\n constructor(message = 'Rate limit exceeded. Please try again later.') {\n super(message);\n this.name = 'RateLimitError';\n Object.setPrototypeOf(this, RateLimitError.prototype);\n }\n}\n\nexport class ValidationError extends CheckoutPageError {\n constructor(message = 'Validation failed.') {\n super(message);\n this.name = 'ValidationError';\n Object.setPrototypeOf(this, ValidationError.prototype);\n }\n}\n\nexport class APIError extends CheckoutPageError {\n public readonly statusCode: number;\n public readonly response?: unknown;\n\n constructor(message: string, statusCode: number, response?: unknown) {\n super(message);\n this.name = 'APIError';\n this.statusCode = statusCode;\n this.response = response;\n Object.setPrototypeOf(this, APIError.prototype);\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type { Invoice, InvoiceList, InvoiceListParams, InvoiceResponse } from '../../types';\n\nexport class InvoiceResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n /**\n * Retrieve a single invoice by ID. The returned `invoiceUrl` is a freshly\n * signed link to the hosted PDF and expires an hour later — re-fetch to\n * mint a new one.\n *\n * @example\n * const { data: invoice } = await client.invoices.get(invoiceId);\n */\n async get(id: string): Promise<InvoiceResponse> {\n if (!id) {\n throw new Error('Invoice ID is required');\n }\n\n return this.client.request<InvoiceResponse>({\n method: 'GET',\n path: `/v1/invoices/${id}`,\n });\n }\n\n async list(args: InvoiceListParams = {}): Promise<InvoiceList> {\n const query: Record<string, string | undefined> = {\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n search: args.search,\n status: args.status,\n customerId: args.customerId,\n chargeId: args.chargeId,\n poNumber: args.poNumber,\n createdAfter: args.createdAfter,\n createdBefore: args.createdBefore,\n };\n\n return this.client.request<InvoiceList>({\n method: 'GET',\n path: '/v1/invoices/',\n query,\n });\n }\n\n async regenerate(id: string): Promise<Invoice> {\n const response = await this.client.request<{ data: Invoice }>({\n method: 'POST',\n path: `/v1/invoices/${id}/regenerate`,\n });\n return response.data;\n }\n}\n","import {\n APIError,\n AuthenticationError,\n ConflictError,\n NotFoundError,\n RateLimitError,\n ValidationError,\n} from './errors';\nimport { InvoiceResource } from './resources/invoices/invoices';\n\nexport interface CheckoutPageApiClientOptions {\n apiKey: string;\n baseUrl?: string;\n}\n\nexport interface RequestOptions {\n method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';\n path: string;\n body?: unknown;\n query?: Record<string, string | number | boolean | undefined>;\n formData?: FormData;\n}\n\nexport class CheckoutPageApiClient {\n private readonly apiKey: string;\n private readonly baseUrl: string;\n public readonly invoices: InvoiceResource;\n\n constructor(options: CheckoutPageApiClientOptions) {\n if (!options.apiKey) {\n throw new Error('API key is required');\n }\n\n this.apiKey = options.apiKey;\n this.baseUrl = options.baseUrl || 'https://api.checkoutpage.com';\n this.invoices = new InvoiceResource(this);\n }\n\n async request<T>(options: RequestOptions): Promise<T> {\n const url = this.buildUrl(options.path, options.query);\n\n const headers: Record<string, string> = {\n Authorization: `Bearer ${this.apiKey}`,\n 'User-Agent': '@checkoutpage/sdk/0.1.0',\n };\n\n // Only set Content-Type for JSON requests (FormData sets its own boundary)\n if (!options.formData) {\n headers['Content-Type'] = 'application/json';\n }\n\n const fetchOptions: RequestInit = {\n method: options.method,\n headers,\n };\n\n if (options.formData) {\n fetchOptions.body = options.formData;\n } else if (options.body) {\n fetchOptions.body = JSON.stringify(options.body);\n }\n\n const response = await fetch(url, fetchOptions);\n return await this.handleResponse<T>(response);\n }\n\n /**\n * Perform a request whose successful response is a binary file rather than\n * JSON (e.g. a ticket PDF). Errors are parsed and thrown the same way as\n * request().\n */\n async requestRaw(options: RequestOptions): Promise<ArrayBuffer> {\n const url = this.buildUrl(options.path, options.query);\n\n const response = await fetch(url, {\n method: options.method,\n headers: {\n Authorization: `Bearer ${this.apiKey}`,\n 'User-Agent': '@checkoutpage/sdk/0.1.0',\n },\n });\n\n if (!response.ok) {\n await this.handleResponse<never>(response);\n }\n\n return await response.arrayBuffer();\n }\n\n private buildUrl(\n path: string,\n query?: Record<string, string | number | boolean | undefined>\n ): string {\n const url = new URL(path, this.baseUrl);\n\n if (query) {\n Object.entries(query).forEach(([key, value]) => {\n if (value !== undefined) {\n url.searchParams.append(key, String(value));\n }\n });\n }\n\n return url.toString();\n }\n\n private async handleResponse<T>(response: Response): Promise<T> {\n const contentType = response.headers.get('content-type');\n const isJson = contentType?.includes('application/json');\n\n let data: unknown;\n try {\n data = isJson ? await response.json() : await response.text();\n } catch {\n data = null;\n }\n\n if (!response.ok) {\n const message = this.extractErrorMessage(data);\n\n switch (response.status) {\n case 401:\n case 403:\n throw new AuthenticationError(message);\n case 404:\n throw new NotFoundError(message);\n case 409:\n throw new ConflictError(message);\n case 400:\n case 422:\n throw new ValidationError(message);\n case 429:\n throw new RateLimitError(message);\n default:\n throw new APIError(message, response.status, data);\n }\n }\n\n return data as T;\n }\n\n private extractErrorMessage(data: unknown): string {\n if (typeof data === 'object' && data !== null) {\n if ('message' in data && typeof data.message === 'string') {\n return data.message;\n }\n if ('error' in data && typeof data.error === 'string') {\n return data.error;\n }\n }\n return 'An unexpected error occurred';\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type { Account } from '../../types';\n\nexport class AccountResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n /**\n * Retrieve the seller account the API key belongs to: store slug, display\n * name and logo.\n *\n * The endpoint wraps the account in a `data` envelope (the OpenAPI spec\n * documents the bare object); this unwraps it so callers get the account.\n */\n async get(): Promise<Account> {\n const response = await this.client.request<{ data: Account }>({\n method: 'GET',\n path: '/v1/account/',\n });\n\n return response.data;\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type {\n Customer,\n CustomerList,\n CustomerListParams,\n UpdateCustomerParams,\n UpdateCustomerResponse,\n} from '../../types';\n\nexport class CustomerResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async get(customerId: string): Promise<Customer> {\n if (!customerId) {\n throw new Error('Customer ID is required');\n }\n\n return this.client.request<Customer>({\n method: 'GET',\n path: `/v1/customers/${customerId}`,\n });\n }\n\n async list(args: CustomerListParams = {}): Promise<CustomerList> {\n const query: Record<string, string | undefined> = {\n search: args.search,\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n };\n\n return this.client.request<CustomerList>({\n method: 'GET',\n query,\n path: '/v1/customers/',\n });\n }\n\n async update(\n customerId: string,\n params: UpdateCustomerParams,\n ): Promise<UpdateCustomerResponse> {\n if (!customerId) {\n throw new Error('Customer ID is required');\n }\n\n const body: Record<string, unknown> = {};\n\n if (params.name !== undefined) {\n body.name = params.name;\n }\n if (params.companyName !== undefined) {\n body.companyName = params.companyName;\n }\n if (params.email !== undefined) {\n body.email = params.email;\n }\n if (params.phone !== undefined) {\n body.phone = params.phone;\n }\n if (params.billingEmail !== undefined) {\n body.billingEmail = params.billingEmail;\n }\n if (params.address !== undefined) {\n body.address = params.address;\n }\n if (params.shipping !== undefined) {\n body.shipping = params.shipping;\n }\n\n return this.client.request<UpdateCustomerResponse>({\n method: 'PATCH',\n path: `/v1/customers/${customerId}`,\n body,\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport {\n CouponList,\n CouponListParams,\n CreateCouponParams,\n CreateCouponResponse,\n UpdateCouponParams,\n UpdateCouponResponse,\n} from '../../types';\n\nexport class CouponResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async list(args: CouponListParams = {}): Promise<CouponList> {\n const query: Record<string, string | undefined> = {\n search: args.search,\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n };\n\n return this.client.request<CouponList>({\n method: 'GET',\n query,\n path: '/v1/coupons/',\n });\n }\n\n /**\n * Update an existing coupon. Only the fields you supply are changed.\n *\n * `pageIds` and `ticketTypeIds` replace the existing lists rather than\n * merging — pass an empty array to clear one.\n *\n * The discount itself (`code`, `amountOff`, `percentOff`, `currency`,\n * `duration`) is fixed once the coupon is mirrored into Stripe. To change a\n * discount, soft delete this coupon and create a replacement.\n *\n * @example\n * const { data: coupon } = await client.coupons.update(couponId, { deleted: true });\n */\n async update(couponId: string, params: UpdateCouponParams): Promise<UpdateCouponResponse> {\n if (!couponId) {\n throw new Error('Coupon ID is required');\n }\n\n return this.client.request<UpdateCouponResponse>({\n method: 'PATCH',\n path: `/v1/coupons/${couponId}`,\n body: params,\n });\n }\n\n async create(params: CreateCouponParams): Promise<CreateCouponResponse> {\n const body: Record<string, unknown> = {\n label: params.label,\n code: params.code,\n duration: params.duration,\n };\n\n if (params.duration === 'repeating') {\n body.durationInMonths = (params as any).durationInMonths;\n }\n\n if (params.appliesToSetupFee !== undefined) {\n body.appliesToSetupFee = params.appliesToSetupFee;\n }\n if (params.pageIds !== undefined) {\n body.pageIds = params.pageIds;\n }\n if (params.ticketTypeIds !== undefined) {\n body.ticketTypeIds = params.ticketTypeIds;\n }\n if (params.maxRedemptions !== undefined) {\n body.maxRedemptions = params.maxRedemptions;\n }\n if (params.redeemBy !== undefined) {\n body.redeemBy = params.redeemBy;\n }\n\n if (params.type === 'amount') {\n body.amountOff = params.amountOff;\n body.currency = params.currency;\n } else {\n body.percentOff = params.percentOff;\n }\n\n return this.client.request<CreateCouponResponse>({\n method: 'POST',\n path: '/v1/coupons/',\n body,\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type { PaymentList, PaymentListParams, PaymentResponse } from '../../types';\n\nexport class PaymentResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n /**\n * Retrieve a single payment by ID. Only checkout payments are returned —\n * an event charge is a booking, and 404s here.\n *\n * @example\n * const { data: payment } = await client.payments.get(paymentId);\n */\n async get(paymentId: string): Promise<PaymentResponse> {\n if (!paymentId) {\n throw new Error('Payment ID is required');\n }\n\n return this.client.request<PaymentResponse>({\n method: 'GET',\n path: `/v1/payments/${paymentId}`,\n });\n }\n\n async list(args: PaymentListParams = {}): Promise<PaymentList> {\n const query: Record<string, string | undefined> = {\n search: args.search,\n status: args.status,\n pageId: args.pageId,\n customerId: args.customerId,\n orderId: args.orderId,\n couponCode: args.couponCode,\n productId: args.productId,\n createdAfter: args.createdAfter,\n createdBefore: args.createdBefore,\n abandonmentStatus: args.abandonmentStatus,\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n };\n\n return this.client.request<PaymentList>({\n method: 'GET',\n query,\n path: '/v1/payments/',\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type {\n SubscriptionCancelParams,\n SubscriptionCancelResponse,\n SubscriptionList,\n SubscriptionListParams,\n SubscriptionResponse,\n} from '../../types';\n\nexport class SubscriptionResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n /**\n * Retrieve a single subscription by ID.\n *\n * @example\n * const { data: subscription } = await client.subscriptions.get(subscriptionId);\n */\n async get(subscriptionId: string): Promise<SubscriptionResponse> {\n if (!subscriptionId) {\n throw new Error('Subscription ID is required');\n }\n\n return this.client.request<SubscriptionResponse>({\n method: 'GET',\n path: `/v1/subscriptions/${subscriptionId}`,\n });\n }\n\n async list(args: SubscriptionListParams = {}): Promise<SubscriptionList> {\n const query: Record<string, string | undefined> = {\n search: args.search,\n pageId: args.pageId,\n status: args.status,\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n };\n\n return this.client.request<SubscriptionList>({\n method: 'GET',\n query,\n path: '/v1/subscriptions/',\n });\n }\n\n /**\n * Cancel a subscription. Provide exactly one of `cancelImmediately`,\n * `cancelAtPeriodEnd`, or `cancelAt` — timing is explicit at the API\n * boundary. Enforced both at the type level via the\n * {@link SubscriptionCancelParams} discriminated union and at the server\n * via zod. Cancellation is one-way; a canceled Stripe subscription cannot\n * be un-canceled.\n *\n * @example\n * await client.subscriptions.cancel(id, { cancelImmediately: true });\n * await client.subscriptions.cancel(id, { cancelAtPeriodEnd: true, sendCancellationEmail: true });\n * await client.subscriptions.cancel(id, { cancelAt: '2026-12-31T23:59:59.000Z' });\n */\n async cancel(\n subscriptionId: string,\n params: SubscriptionCancelParams,\n ): Promise<SubscriptionCancelResponse> {\n return this.client.request<SubscriptionCancelResponse>({\n method: 'POST',\n path: `/v1/subscriptions/${subscriptionId}/cancel`,\n body: params,\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type {\n SubscriptionPaymentList,\n SubscriptionPaymentListParams,\n SubscriptionPaymentResponse,\n} from '../../types';\n\nexport class SubscriptionPaymentResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n /**\n * Retrieve a single subscription payment by ID — one charge within a\n * subscription's billing cycle, not the subscription itself. For every\n * payment on a subscription, use `list({ subscriptionId })`.\n *\n * @example\n * const { data: payment } = await client.subscriptionPayments.get(paymentId);\n */\n async get(subscriptionPaymentId: string): Promise<SubscriptionPaymentResponse> {\n if (!subscriptionPaymentId) {\n throw new Error('Subscription payment ID is required');\n }\n\n return this.client.request<SubscriptionPaymentResponse>({\n method: 'GET',\n path: `/v1/subscription-payments/${subscriptionPaymentId}`,\n });\n }\n\n async list(args: SubscriptionPaymentListParams = {}): Promise<SubscriptionPaymentList> {\n const query: Record<string, string | undefined> = {\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n subscriptionId: args.subscriptionId,\n customerId: args.customerId,\n pageId: args.pageId,\n paymentStatus: args.paymentStatus,\n paid: args.paid,\n refunded: args.refunded,\n billingReason: args.billingReason,\n createdAfter: args.createdAfter,\n createdBefore: args.createdBefore,\n };\n\n return this.client.request<SubscriptionPaymentList>({\n method: 'GET',\n query,\n path: '/v1/subscription-payments/',\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type { BookingList, BookingListParams, BookingResponse } from '../../types';\n\nexport class BookingResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n /**\n * Retrieve a single booking by ID. Only event bookings are returned —\n * a checkout charge is a payment, and 404s here.\n *\n * @example\n * const { data: booking } = await client.bookings.get(bookingId);\n */\n async get(bookingId: string): Promise<BookingResponse> {\n if (!bookingId) {\n throw new Error('Booking ID is required');\n }\n\n return this.client.request<BookingResponse>({\n method: 'GET',\n path: `/v1/bookings/${bookingId}`,\n });\n }\n\n /**\n * Download the booking's ticket PDF (every ticket in the booking) as raw\n * bytes. The response reflects the current tickets, so attendee updates\n * appear on the next download. Throws NotFoundError when no PDF exists,\n * e.g. for unpaid or abandoned bookings.\n *\n * @example\n * const pdf = await client.bookings.downloadTicketPdf(bookingId);\n * fs.writeFileSync('tickets.pdf', Buffer.from(pdf));\n */\n async downloadTicketPdf(bookingId: string): Promise<ArrayBuffer> {\n if (!bookingId) {\n throw new Error('Booking ID is required');\n }\n\n return this.client.requestRaw({\n method: 'GET',\n path: `/v1/bookings/${bookingId}/ticket-pdf`,\n });\n }\n\n async list(args: BookingListParams = {}): Promise<BookingList> {\n const query: Record<string, string | undefined> = {\n search: args.search,\n status: args.status,\n pageId: args.pageId,\n customerId: args.customerId,\n orderId: args.orderId,\n couponCode: args.couponCode,\n createdAfter: args.createdAfter,\n createdBefore: args.createdBefore,\n abandonmentStatus: args.abandonmentStatus,\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n };\n\n return this.client.request<BookingList>({\n method: 'GET',\n query,\n path: '/v1/bookings/',\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type {\n TicketList,\n TicketListParams,\n UpdateTicketParams,\n UpdateTicketResponse,\n ValidateTicketData,\n ValidateTicketParams,\n ValidateTicketResponse,\n} from '../../types';\n\nexport class TicketResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async list(args: TicketListParams = {}): Promise<TicketList> {\n const query: Record<string, string | undefined> = {\n pageId: args.pageId,\n bookingId: args.bookingId,\n orderId: args.orderId,\n customerId: args.customerId,\n ticketTypeId: args.ticketTypeId,\n status: args.status,\n checkInStatus: args.checkInStatus,\n createdAfter: args.createdAfter,\n createdBefore: args.createdBefore,\n search: args.search,\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n };\n\n return this.client.request<TicketList>({\n method: 'GET',\n query,\n path: '/v1/tickets/',\n });\n }\n\n async update(ticketId: string, params: UpdateTicketParams): Promise<UpdateTicketResponse> {\n if (!ticketId) {\n throw new Error('Ticket ID is required');\n }\n\n const body: Record<string, unknown> = {};\n\n if (params.attendeeName !== undefined) {\n body.attendeeName = params.attendeeName;\n }\n if (params.attendeeEmail !== undefined) {\n body.attendeeEmail = params.attendeeEmail;\n }\n if (params.metadata !== undefined) {\n body.metadata = params.metadata;\n }\n\n return this.client.request<UpdateTicketResponse>({\n method: 'PATCH',\n path: `/v1/tickets/${ticketId}`,\n body,\n });\n }\n\n async validate(qrCode: string, params?: ValidateTicketParams): Promise<ValidateTicketResponse> {\n const body = params || {};\n\n const response = await this.client.request<ValidateTicketData>({\n method: 'POST',\n path: `/v1/tickets/validate/${qrCode}`,\n body,\n });\n\n return response.data;\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type { Product, UpdateProductParams } from '../../types';\n\nexport class ProductResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async get(productId: string): Promise<Product> {\n if (!productId) {\n throw new Error('Product ID is required');\n }\n\n return this.client.request<Product>({\n method: 'GET',\n path: `/v1/products/${productId}`,\n });\n }\n\n async update(productId: string, params: UpdateProductParams): Promise<Product> {\n if (!productId) {\n throw new Error('Product ID is required');\n }\n\n const body: Record<string, unknown> = {};\n\n if (params.title !== undefined) {\n body.title = params.title;\n }\n if (params.description !== undefined) {\n body.description = params.description;\n }\n if (params.price !== undefined) {\n body.price = params.price;\n }\n if (params.sku !== undefined) {\n body.sku = params.sku;\n }\n if (params.hasUnlimitedStock !== undefined) {\n body.hasUnlimitedStock = params.hasUnlimitedStock;\n }\n if (params.stock !== undefined) {\n body.stock = params.stock;\n }\n if (params.taxBehavior !== undefined) {\n body.taxBehavior = params.taxBehavior;\n }\n if (params.taxCode !== undefined) {\n body.taxCode = params.taxCode;\n }\n if (params.imageIds !== undefined) {\n body.imageIds = params.imageIds;\n }\n if (params.fileIds !== undefined) {\n body.fileIds = params.fileIds;\n }\n if (params.variantsRequired !== undefined) {\n body.variantsRequired = params.variantsRequired;\n }\n if (params.variants !== undefined) {\n body.variants = params.variants;\n }\n if (params.discounts !== undefined) {\n body.discounts = params.discounts;\n }\n if (params.limitSubscriptions !== undefined) {\n body.limitSubscriptions = params.limitSubscriptions;\n }\n if (params.enableFileAccessForInactiveSubscriptions !== undefined) {\n body.enableFileAccessForInactiveSubscriptions =\n params.enableFileAccessForInactiveSubscriptions;\n }\n if (params.generateLicenseKeys !== undefined) {\n body.generateLicenseKeys = params.generateLicenseKeys;\n }\n if (params.fixedTaxRateIds !== undefined) {\n body.fixedTaxRateIds = params.fixedTaxRateIds;\n }\n if (params.prices !== undefined) {\n body.prices = params.prices;\n }\n if (params.defaultPriceId !== undefined) {\n body.defaultPriceId = params.defaultPriceId;\n }\n\n return this.client.request<Product>({\n method: 'PATCH',\n path: `/v1/products/${productId}`,\n body,\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type {\n DeleteFileResponse,\n DownloadFileResponse,\n UploadFileResponse,\n UploadFileParams,\n} from '../../types';\n\nexport class FileResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async upload(params: UploadFileParams): Promise<UploadFileResponse> {\n if (!params.file) {\n throw new Error('File is required');\n }\n\n if (!params.purpose) {\n throw new Error('Purpose is required');\n }\n\n const formData = new FormData();\n formData.append('file', params.file);\n formData.append('purpose', params.purpose);\n\n return this.client.request<UploadFileResponse>({\n method: 'POST',\n path: '/v1/files/upload',\n formData,\n });\n }\n\n async delete(fileId: string): Promise<DeleteFileResponse> {\n if (!fileId) {\n throw new Error('File ID is required');\n }\n\n return this.client.request<DeleteFileResponse>({\n method: 'DELETE',\n path: `/v1/files/${fileId}`,\n });\n }\n\n async download(fileId: string): Promise<DownloadFileResponse> {\n if (!fileId) {\n throw new Error('File ID is required');\n }\n\n return this.client.request<DownloadFileResponse>({\n method: 'GET',\n path: `/v1/files/${fileId}/download`,\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type {\n CheckoutPageList,\n CheckoutPageListParams,\n CreateCheckoutPageParams,\n CreateCheckoutPageResponse,\n CheckoutPageResponse,\n UpdateCheckoutPageParams,\n UpdateCheckoutPageResponse,\n DeleteCheckoutPageResponse,\n CheckoutPageFieldDeleteResponse,\n CheckoutPageFieldList,\n CreateCheckoutPageFieldParams,\n UpdateCheckoutPageFieldParams,\n CheckoutPageFieldResponse,\n} from '../../types';\n\nexport class CheckoutPageFieldsResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async list(pageId: string): Promise<CheckoutPageFieldList> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<CheckoutPageFieldList>({\n method: 'GET',\n path: `/v1/checkout-pages/${pageId}/fields`,\n });\n }\n\n async create(\n pageId: string,\n params: CreateCheckoutPageFieldParams\n ): Promise<CheckoutPageFieldResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<CheckoutPageFieldResponse>({\n method: 'POST',\n path: `/v1/checkout-pages/${pageId}/fields`,\n body: params,\n });\n }\n\n async get(pageId: string, fieldId: string): Promise<CheckoutPageFieldResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!fieldId) {\n throw new Error('Field ID is required');\n }\n\n return this.client.request<CheckoutPageFieldResponse>({\n method: 'GET',\n path: `/v1/checkout-pages/${pageId}/fields/${fieldId}`,\n });\n }\n\n async update(\n pageId: string,\n fieldId: string,\n params: UpdateCheckoutPageFieldParams\n ): Promise<CheckoutPageFieldResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!fieldId) {\n throw new Error('Field ID is required');\n }\n\n return this.client.request<CheckoutPageFieldResponse>({\n method: 'PATCH',\n path: `/v1/checkout-pages/${pageId}/fields/${fieldId}`,\n body: params,\n });\n }\n\n async delete(\n pageId: string,\n fieldId: string\n ): Promise<{ data: CheckoutPageFieldDeleteResponse }> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!fieldId) {\n throw new Error('Field ID is required');\n }\n\n const response = await this.client.request<{ data: CheckoutPageFieldDeleteResponse }>({\n method: 'DELETE',\n path: `/v1/checkout-pages/${pageId}/fields/${fieldId}`,\n });\n\n return response;\n }\n}\n\nexport class CheckoutPagesResource {\n public readonly fields: CheckoutPageFieldsResource;\n private readonly client: CheckoutPageApiClient;\n\n constructor(client: CheckoutPageApiClient) {\n this.client = client;\n this.fields = new CheckoutPageFieldsResource(client);\n }\n\n async list(args: CheckoutPageListParams = {}): Promise<CheckoutPageList> {\n const query: Record<string, string | undefined> = {\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n status: args.status,\n search: args.search,\n };\n\n return this.client.request<CheckoutPageList>({\n method: 'GET',\n path: '/v1/checkout-pages/',\n query,\n });\n }\n\n async create(params: CreateCheckoutPageParams): Promise<CreateCheckoutPageResponse> {\n return this.client.request<CreateCheckoutPageResponse>({\n method: 'POST',\n path: '/v1/checkout-pages/',\n body: params,\n });\n }\n\n async get(pageId: string): Promise<CheckoutPageResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<CheckoutPageResponse>({\n method: 'GET',\n path: `/v1/checkout-pages/${pageId}`,\n });\n }\n\n async update(\n pageId: string,\n params: UpdateCheckoutPageParams\n ): Promise<UpdateCheckoutPageResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<UpdateCheckoutPageResponse>({\n method: 'PATCH',\n path: `/v1/checkout-pages/${pageId}`,\n body: params,\n });\n }\n\n async delete(pageId: string): Promise<DeleteCheckoutPageResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<DeleteCheckoutPageResponse>({\n method: 'DELETE',\n path: `/v1/checkout-pages/${pageId}`,\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type {\n EventList,\n EventListParams,\n CreateEventParams,\n CreateEventResponse,\n EventResponse,\n UpdateEventParams,\n UpdateEventResponse,\n DeleteEventResponse,\n EventTicketGroupList,\n EventTicketGroupResponse,\n CreateEventTicketGroupParams,\n CreateEventTicketGroupResponse,\n UpdateEventTicketGroupParams,\n UpdateEventTicketGroupResponse,\n DeleteEventTicketGroupResponse,\n EventTicketTypeList,\n EventTicketTypeResponse,\n CreateEventTicketTypeParams,\n CreateEventTicketTypeResponse,\n UpdateEventTicketTypeParams,\n UpdateEventTicketTypeResponse,\n DeleteEventTicketTypeResponse,\n EventFieldList,\n EventFieldResponse,\n CreateEventFieldParams,\n UpdateEventFieldParams,\n EventFieldDeleteResponse,\n} from '../../types';\n\nexport class EventFieldsResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async list(pageId: string): Promise<EventFieldList> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<EventFieldList>({\n method: 'GET',\n path: `/v1/events/${pageId}/fields`,\n });\n }\n\n async create(pageId: string, params: CreateEventFieldParams): Promise<EventFieldResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<EventFieldResponse>({\n method: 'POST',\n path: `/v1/events/${pageId}/fields`,\n body: params,\n });\n }\n\n async get(pageId: string, fieldId: string): Promise<EventFieldResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!fieldId) {\n throw new Error('Field ID is required');\n }\n\n return this.client.request<EventFieldResponse>({\n method: 'GET',\n path: `/v1/events/${pageId}/fields/${fieldId}`,\n });\n }\n\n async update(\n pageId: string,\n fieldId: string,\n params: UpdateEventFieldParams\n ): Promise<EventFieldResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!fieldId) {\n throw new Error('Field ID is required');\n }\n\n return this.client.request<EventFieldResponse>({\n method: 'PATCH',\n path: `/v1/events/${pageId}/fields/${fieldId}`,\n body: params,\n });\n }\n\n async delete(pageId: string, fieldId: string): Promise<{ data: EventFieldDeleteResponse }> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!fieldId) {\n throw new Error('Field ID is required');\n }\n\n return this.client.request<{ data: EventFieldDeleteResponse }>({\n method: 'DELETE',\n path: `/v1/events/${pageId}/fields/${fieldId}`,\n });\n }\n}\n\nexport class EventTicketTypesResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async list(pageId: string, ticketGroupId: string): Promise<EventTicketTypeList> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!ticketGroupId) {\n throw new Error('Ticket group ID is required');\n }\n\n return this.client.request<EventTicketTypeList>({\n method: 'GET',\n path: `/v1/events/${pageId}/ticket-groups/${ticketGroupId}/ticket-types`,\n });\n }\n\n async create(\n pageId: string,\n ticketGroupId: string,\n params: CreateEventTicketTypeParams\n ): Promise<CreateEventTicketTypeResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!ticketGroupId) {\n throw new Error('Ticket group ID is required');\n }\n\n return this.client.request<CreateEventTicketTypeResponse>({\n method: 'POST',\n path: `/v1/events/${pageId}/ticket-groups/${ticketGroupId}/ticket-types`,\n body: params,\n });\n }\n\n async get(\n pageId: string,\n ticketGroupId: string,\n ticketTypeId: string\n ): Promise<EventTicketTypeResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!ticketGroupId) {\n throw new Error('Ticket group ID is required');\n }\n\n if (!ticketTypeId) {\n throw new Error('Ticket type ID is required');\n }\n\n return this.client.request<EventTicketTypeResponse>({\n method: 'GET',\n path: `/v1/events/${pageId}/ticket-groups/${ticketGroupId}/ticket-types/${ticketTypeId}`,\n });\n }\n\n async update(\n pageId: string,\n ticketGroupId: string,\n ticketTypeId: string,\n params: UpdateEventTicketTypeParams\n ): Promise<UpdateEventTicketTypeResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!ticketGroupId) {\n throw new Error('Ticket group ID is required');\n }\n\n if (!ticketTypeId) {\n throw new Error('Ticket type ID is required');\n }\n\n return this.client.request<UpdateEventTicketTypeResponse>({\n method: 'PATCH',\n path: `/v1/events/${pageId}/ticket-groups/${ticketGroupId}/ticket-types/${ticketTypeId}`,\n body: params,\n });\n }\n\n async delete(\n pageId: string,\n ticketGroupId: string,\n ticketTypeId: string\n ): Promise<DeleteEventTicketTypeResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!ticketGroupId) {\n throw new Error('Ticket group ID is required');\n }\n\n if (!ticketTypeId) {\n throw new Error('Ticket type ID is required');\n }\n\n return this.client.request<DeleteEventTicketTypeResponse>({\n method: 'DELETE',\n path: `/v1/events/${pageId}/ticket-groups/${ticketGroupId}/ticket-types/${ticketTypeId}`,\n });\n }\n}\n\nexport class EventTicketGroupsResource {\n public readonly ticketTypes: EventTicketTypesResource;\n\n constructor(private client: CheckoutPageApiClient) {\n this.ticketTypes = new EventTicketTypesResource(client);\n }\n\n async list(pageId: string): Promise<EventTicketGroupList> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<EventTicketGroupList>({\n method: 'GET',\n path: `/v1/events/${pageId}/ticket-groups`,\n });\n }\n\n async create(\n pageId: string,\n params: CreateEventTicketGroupParams\n ): Promise<CreateEventTicketGroupResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<CreateEventTicketGroupResponse>({\n method: 'POST',\n path: `/v1/events/${pageId}/ticket-groups`,\n body: params,\n });\n }\n\n async get(pageId: string, ticketGroupId: string): Promise<EventTicketGroupResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!ticketGroupId) {\n throw new Error('Ticket group ID is required');\n }\n\n return this.client.request<EventTicketGroupResponse>({\n method: 'GET',\n path: `/v1/events/${pageId}/ticket-groups/${ticketGroupId}`,\n });\n }\n\n async update(\n pageId: string,\n ticketGroupId: string,\n params: UpdateEventTicketGroupParams\n ): Promise<UpdateEventTicketGroupResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!ticketGroupId) {\n throw new Error('Ticket group ID is required');\n }\n\n return this.client.request<UpdateEventTicketGroupResponse>({\n method: 'PATCH',\n path: `/v1/events/${pageId}/ticket-groups/${ticketGroupId}`,\n body: params,\n });\n }\n\n async delete(pageId: string, ticketGroupId: string): Promise<DeleteEventTicketGroupResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!ticketGroupId) {\n throw new Error('Ticket group ID is required');\n }\n\n return this.client.request<DeleteEventTicketGroupResponse>({\n method: 'DELETE',\n path: `/v1/events/${pageId}/ticket-groups/${ticketGroupId}`,\n });\n }\n}\n\nexport class EventsResource {\n public readonly ticketGroups: EventTicketGroupsResource;\n public readonly fields: EventFieldsResource;\n\n constructor(private client: CheckoutPageApiClient) {\n this.ticketGroups = new EventTicketGroupsResource(client);\n this.fields = new EventFieldsResource(client);\n }\n\n async list(args: EventListParams = {}): Promise<EventList> {\n const query: Record<string, string | undefined> = {\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n status: args.status,\n search: args.search,\n };\n\n return this.client.request<EventList>({\n method: 'GET',\n path: '/v1/events/',\n query,\n });\n }\n\n async create(params: CreateEventParams): Promise<CreateEventResponse> {\n return this.client.request<CreateEventResponse>({\n method: 'POST',\n path: '/v1/events/',\n body: params,\n });\n }\n\n async get(pageId: string): Promise<EventResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<EventResponse>({\n method: 'GET',\n path: `/v1/events/${pageId}`,\n });\n }\n\n async update(pageId: string, params: UpdateEventParams): Promise<UpdateEventResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<UpdateEventResponse>({\n method: 'PATCH',\n path: `/v1/events/${pageId}`,\n body: params,\n });\n }\n\n async delete(pageId: string): Promise<DeleteEventResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<DeleteEventResponse>({\n method: 'DELETE',\n path: `/v1/events/${pageId}`,\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type {\n FormList,\n FormListParams,\n CreateFormParams,\n CreateFormResponse,\n FormResponse,\n UpdateFormParams,\n UpdateFormResponse,\n DeleteFormResponse,\n FormFieldList,\n CreateFormFieldParams,\n UpdateFormFieldParams,\n FormFieldResponse,\n FormFieldDeleteResponse,\n} from '../../types';\n\nexport class FormFieldsResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async list(pageId: string): Promise<FormFieldList> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<FormFieldList>({\n method: 'GET',\n path: `/v1/forms/${pageId}/fields`,\n });\n }\n\n async create(pageId: string, params: CreateFormFieldParams): Promise<FormFieldResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<FormFieldResponse>({\n method: 'POST',\n path: `/v1/forms/${pageId}/fields`,\n body: params,\n });\n }\n\n async get(pageId: string, fieldId: string): Promise<FormFieldResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!fieldId) {\n throw new Error('Field ID is required');\n }\n\n return this.client.request<FormFieldResponse>({\n method: 'GET',\n path: `/v1/forms/${pageId}/fields/${fieldId}`,\n });\n }\n\n async update(\n pageId: string,\n fieldId: string,\n params: UpdateFormFieldParams\n ): Promise<FormFieldResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!fieldId) {\n throw new Error('Field ID is required');\n }\n\n return this.client.request<FormFieldResponse>({\n method: 'PATCH',\n path: `/v1/forms/${pageId}/fields/${fieldId}`,\n body: params,\n });\n }\n\n async delete(pageId: string, fieldId: string): Promise<{ data: FormFieldDeleteResponse }> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!fieldId) {\n throw new Error('Field ID is required');\n }\n\n return this.client.request<{ data: FormFieldDeleteResponse }>({\n method: 'DELETE',\n path: `/v1/forms/${pageId}/fields/${fieldId}`,\n });\n }\n}\n\nexport class FormsResource {\n public readonly fields: FormFieldsResource;\n constructor(private client: CheckoutPageApiClient) {\n this.fields = new FormFieldsResource(client);\n }\n\n async list(args: FormListParams = {}): Promise<FormList> {\n const query: Record<string, string | undefined> = {\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n status: args.status,\n search: args.search,\n };\n\n return this.client.request<FormList>({\n method: 'GET',\n path: '/v1/forms/',\n query,\n });\n }\n\n async create(params: CreateFormParams): Promise<CreateFormResponse> {\n return this.client.request<CreateFormResponse>({\n method: 'POST',\n path: '/v1/forms/',\n body: params,\n });\n }\n\n async get(pageId: string): Promise<FormResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<FormResponse>({\n method: 'GET',\n path: `/v1/forms/${pageId}`,\n });\n }\n\n async update(pageId: string, params: UpdateFormParams): Promise<UpdateFormResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<UpdateFormResponse>({\n method: 'PATCH',\n path: `/v1/forms/${pageId}`,\n body: params,\n });\n }\n\n async delete(pageId: string): Promise<DeleteFormResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<DeleteFormResponse>({\n method: 'DELETE',\n path: `/v1/forms/${pageId}`,\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type { SubmissionList, SubmissionListParams, SubmissionResponse } from '../../types';\n\nexport class SubmissionResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async get(submissionId: string): Promise<SubmissionResponse> {\n if (!submissionId) {\n throw new Error('Submission ID is required');\n }\n\n return this.client.request<SubmissionResponse>({\n method: 'GET',\n path: `/v1/submissions/${submissionId}`,\n });\n }\n\n async list(args: SubmissionListParams = {}): Promise<SubmissionList> {\n const query: Record<string, string | undefined> = {\n search: args.search,\n pageId: args.pageId,\n customerId: args.customerId,\n status: args.status,\n createdAfter: args.createdAfter,\n createdBefore: args.createdBefore,\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n };\n\n return this.client.request<SubmissionList>({\n method: 'GET',\n path: '/v1/submissions/',\n query,\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type {\n TaxRateList,\n TaxRateResponse,\n CreateTaxRateParams,\n UpdateTaxRateParams,\n} from '../../types';\n\nexport class TaxRateResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async list(): Promise<TaxRateList> {\n return this.client.request<TaxRateList>({\n method: 'GET',\n path: '/v1/tax-rates/',\n });\n }\n\n async create(params: CreateTaxRateParams): Promise<TaxRateResponse> {\n const body: Record<string, unknown> = {\n displayName: params.displayName,\n inclusive: params.inclusive,\n percentage: params.percentage,\n };\n\n if (params.default !== undefined) {\n body.default = params.default;\n }\n\n return this.client.request<TaxRateResponse>({\n method: 'POST',\n path: '/v1/tax-rates/',\n body,\n });\n }\n\n async update(taxRateId: string, params: UpdateTaxRateParams): Promise<TaxRateResponse> {\n if (!taxRateId) {\n throw new Error('Tax rate ID is required');\n }\n\n const body: Record<string, unknown> = {};\n\n if (params.displayName !== undefined) {\n body.displayName = params.displayName;\n }\n if (params.default !== undefined) {\n body.default = params.default;\n }\n\n return this.client.request<TaxRateResponse>({\n method: 'PATCH',\n path: `/v1/tax-rates/${taxRateId}`,\n body,\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport {\n CreateWebhookParams,\n CreateWebhookResponse,\n DeleteWebhookResponse,\n WebhookList,\n WebhookListParams,\n} from '../../types';\n\nexport class WebhookResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n /**\n * List webhook endpoints, newest first. Secrets are never returned.\n *\n * @example\n * const { data, has_more } = await client.webhooks.list({ event: 'payment.paid' });\n */\n async list(args: WebhookListParams = {}): Promise<WebhookList> {\n const query: Record<string, string | undefined> = {\n status: args.status,\n event: args.event,\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n };\n\n return this.client.request<WebhookList>({\n method: 'GET',\n path: '/v1/webhooks/',\n query,\n });\n }\n\n /**\n * Create a webhook endpoint. The `url` must use https.\n *\n * The response is the only place the signing `secret` is ever returned —\n * store it immediately. Omit `secret` to have one generated.\n *\n * @example\n * const { data: webhook } = await client.webhooks.create({\n * name: 'CRM sync',\n * url: 'https://example.com/hooks/checkoutpage',\n * events: ['payment.paid', 'subscription.created'],\n * });\n * saveSecret(webhook.secret);\n */\n async create(params: CreateWebhookParams): Promise<CreateWebhookResponse> {\n return this.client.request<CreateWebhookResponse>({\n method: 'POST',\n path: '/v1/webhooks/',\n body: params,\n });\n }\n\n /**\n * Delete a webhook endpoint. Deliveries stop immediately; the returned\n * object is its final state. The webhook no longer appears in `list()`,\n * and deleting the same id again returns 404.\n */\n async delete(webhookId: string): Promise<DeleteWebhookResponse> {\n if (!webhookId) {\n throw new Error('Webhook ID is required');\n }\n\n return this.client.request<DeleteWebhookResponse>({\n method: 'DELETE',\n path: `/v1/webhooks/${encodeURIComponent(webhookId)}`,\n });\n }\n}\n","import { CheckoutPageApiClient, CheckoutPageApiClientOptions } from './client';\nimport { AccountResource } from './resources/accounts/accounts';\nimport { CustomerResource } from './resources/customers/customers';\nimport { CouponResource } from './resources/coupons/coupons';\nimport { PaymentResource } from './resources/payments/payments';\nimport { SubscriptionResource } from './resources/subscriptions/subscriptions';\nimport { SubscriptionPaymentResource } from './resources/subscription-payments/subscription-payments';\nimport { BookingResource } from './resources/bookings/bookings';\nimport { TicketResource } from './resources/tickets/tickets';\nimport { ProductResource } from './resources/products/products';\nimport { FileResource } from './resources/files/files';\nimport { CheckoutPagesResource } from './resources/checkout-pages/checkout-pages';\nimport { EventsResource } from './resources/events/events';\nimport { FormsResource } from './resources/forms/forms';\nimport { SubmissionResource } from './resources/submissions/submissions';\nimport { TaxRateResource } from './resources/tax-rates/tax-rates';\nimport { InvoiceResource } from './resources/invoices/invoices';\nimport { WebhookResource } from './resources/webhooks/webhooks';\n\nexport class CheckoutPageClient {\n public readonly accounts: AccountResource;\n public readonly customers: CustomerResource;\n public readonly coupons: CouponResource;\n public readonly payments: PaymentResource;\n public readonly subscriptions: SubscriptionResource;\n public readonly subscriptionPayments: SubscriptionPaymentResource;\n public readonly bookings: BookingResource;\n public readonly tickets: TicketResource;\n public readonly products: ProductResource;\n public readonly files: FileResource;\n public readonly checkoutPages: CheckoutPagesResource;\n public readonly events: EventsResource;\n public readonly forms: FormsResource;\n public readonly submissions: SubmissionResource;\n public readonly taxRates: TaxRateResource;\n public readonly invoices: InvoiceResource;\n public readonly webhooks: WebhookResource;\n private readonly client: CheckoutPageApiClient;\n\n constructor(options: CheckoutPageApiClientOptions) {\n this.client = new CheckoutPageApiClient(options);\n this.accounts = new AccountResource(this.client);\n this.customers = new CustomerResource(this.client);\n this.coupons = new CouponResource(this.client);\n this.payments = new PaymentResource(this.client);\n this.subscriptions = new SubscriptionResource(this.client);\n this.subscriptionPayments = new SubscriptionPaymentResource(this.client);\n this.bookings = new BookingResource(this.client);\n this.tickets = new TicketResource(this.client);\n this.products = new ProductResource(this.client);\n this.files = new FileResource(this.client);\n this.checkoutPages = new CheckoutPagesResource(this.client);\n this.events = new EventsResource(this.client);\n this.forms = new FormsResource(this.client);\n this.submissions = new SubmissionResource(this.client);\n this.taxRates = new TaxRateResource(this.client);\n this.invoices = new InvoiceResource(this.client);\n this.webhooks = new WebhookResource(this.client);\n }\n}\n\nexport const createCheckoutPageClient = (options: CheckoutPageApiClientOptions) => {\n return new CheckoutPageClient(options);\n};\n\n// Export types and errors for convenience\nexport type { CheckoutPageApiClientOptions } from './client';\nexport type {\n Account,\n AccountLogo,\n Customer,\n Submission,\n SubmissionResponse,\n SubmissionList,\n SubmissionListParams,\n Address,\n Shipping,\n Coupon,\n CouponList,\n Payment,\n PaymentList,\n PriceSnapshot,\n Subscription,\n SubscriptionList,\n SubscriptionPayment,\n SubscriptionPaymentList,\n SubscriptionPaymentListParams,\n ValidateTicketResponse,\n ValidateTicketParams,\n Product,\n ProductData,\n Price,\n PriceInput,\n ProductVariant,\n UpdateProductParams,\n Event,\n EventList,\n EventListParams,\n CreateEventParams,\n CreateEventResponse,\n EventResponse,\n UpdateEventParams,\n UpdateEventResponse,\n DeleteEventResponse,\n EventTicketGroup,\n EventTicketGroupList,\n EventTicketGroupResponse,\n CreateEventTicketGroupParams,\n CreateEventTicketGroupResponse,\n UpdateEventTicketGroupParams,\n UpdateEventTicketGroupResponse,\n DeleteEventTicketGroupResponse,\n EventTicketType,\n EventTicketTypeList,\n EventTicketTypeResponse,\n CreateEventTicketTypeParams,\n CreateEventTicketTypeResponse,\n UpdateEventTicketTypeParams,\n UpdateEventTicketTypeResponse,\n DeleteEventTicketTypeResponse,\n EventField,\n EventFieldList,\n CreateEventFieldParams,\n UpdateEventFieldParams,\n EventFieldResponse,\n EventFieldDeleteResponse,\n Form,\n FormList,\n FormListParams,\n CreateFormParams,\n CreateFormResponse,\n FormResponse,\n UpdateFormParams,\n UpdateFormResponse,\n DeleteFormResponse,\n FormField,\n FormFieldList,\n CreateFormFieldParams,\n UpdateFormFieldParams,\n FormFieldDeleteResponse,\n CheckoutPage,\n CheckoutPageList,\n CheckoutPageListParams,\n CreateCheckoutPageParams,\n CreateCheckoutPageResponse,\n CheckoutPageResponse,\n UpdateCheckoutPageParams,\n UpdateCheckoutPageResponse,\n DeleteCheckoutPageResponse,\n CheckoutPageField,\n CheckoutPageFieldList,\n CreateCheckoutPageFieldParams,\n UpdateCheckoutPageFieldParams,\n CheckoutPageFieldDeleteResponse,\n UploadFileResponse,\n UploadFileParams,\n DeleteFileResponse,\n DownloadFileResponse,\n TaxRate,\n TaxRateList,\n TaxRateResponse,\n CreateTaxRateParams,\n UpdateTaxRateParams,\n Invoice,\n InvoiceList,\n InvoiceListParams,\n Webhook,\n WebhookList,\n WebhookListParams,\n CreateWebhookParams,\n CreateWebhookResponse,\n DeleteWebhookResponse,\n} from './types';\nexport {\n CheckoutPageError,\n AuthenticationError,\n NotFoundError,\n ConflictError,\n RateLimitError,\n ValidationError,\n APIError,\n} from './errors';\n"]}
1
+ {"version":3,"sources":["../src/errors.ts","../src/resources/invoices/invoices.ts","../src/client.ts","../src/resources/accounts/accounts.ts","../src/resources/customers/customers.ts","../src/resources/coupons/coupons.ts","../src/resources/payments/payments.ts","../src/resources/subscriptions/subscriptions.ts","../src/resources/subscription-payments/subscription-payments.ts","../src/resources/bookings/bookings.ts","../src/resources/tickets/tickets.ts","../src/resources/products/products.ts","../src/resources/files/files.ts","../src/resources/checkout-pages/checkout-pages.ts","../src/resources/events/events.ts","../src/resources/forms/forms.ts","../src/resources/submissions/submissions.ts","../src/resources/tax-rates/tax-rates.ts","../src/resources/webhooks/webhooks.ts","../src/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["export class CheckoutPageError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'CheckoutPageError';\n Object.setPrototypeOf(this, CheckoutPageError.prototype);\n }\n}\n\nexport class AuthenticationError extends CheckoutPageError {\n constructor(message = 'Authentication failed. Please check your API key.') {\n super(message);\n this.name = 'AuthenticationError';\n Object.setPrototypeOf(this, AuthenticationError.prototype);\n }\n}\n\nexport class NotFoundError extends CheckoutPageError {\n constructor(message = 'The requested resource was not found.') {\n super(message);\n this.name = 'NotFoundError';\n Object.setPrototypeOf(this, NotFoundError.prototype);\n }\n}\n\nexport class ConflictError extends CheckoutPageError {\n constructor(message = 'Conflict - the created resource already exists.') {\n super(message);\n this.name = 'ConflictError';\n Object.setPrototypeOf(this, ConflictError.prototype);\n }\n}\n\nexport class RateLimitError extends CheckoutPageError {\n constructor(message = 'Rate limit exceeded. Please try again later.') {\n super(message);\n this.name = 'RateLimitError';\n Object.setPrototypeOf(this, RateLimitError.prototype);\n }\n}\n\nexport class ValidationError extends CheckoutPageError {\n constructor(message = 'Validation failed.') {\n super(message);\n this.name = 'ValidationError';\n Object.setPrototypeOf(this, ValidationError.prototype);\n }\n}\n\nexport class APIError extends CheckoutPageError {\n public readonly statusCode: number;\n public readonly response?: unknown;\n\n constructor(message: string, statusCode: number, response?: unknown) {\n super(message);\n this.name = 'APIError';\n this.statusCode = statusCode;\n this.response = response;\n Object.setPrototypeOf(this, APIError.prototype);\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type { Invoice, InvoiceList, InvoiceListParams, InvoiceResponse } from '../../types';\n\nexport class InvoiceResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n /**\n * Retrieve a single invoice by ID. The returned `invoiceUrl` is a freshly\n * signed link to the hosted PDF and expires an hour later — re-fetch to\n * mint a new one.\n *\n * @example\n * const { data: invoice } = await client.invoices.get(invoiceId);\n */\n async get(id: string): Promise<InvoiceResponse> {\n if (!id) {\n throw new Error('Invoice ID is required');\n }\n\n return this.client.request<InvoiceResponse>({\n method: 'GET',\n path: `/v1/invoices/${id}`,\n });\n }\n\n async list(args: InvoiceListParams = {}): Promise<InvoiceList> {\n const query: Record<string, string | undefined> = {\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n search: args.search,\n status: args.status,\n customerId: args.customerId,\n chargeId: args.chargeId,\n poNumber: args.poNumber,\n createdAfter: args.createdAfter,\n createdBefore: args.createdBefore,\n };\n\n return this.client.request<InvoiceList>({\n method: 'GET',\n path: '/v1/invoices/',\n query,\n });\n }\n\n async regenerate(id: string): Promise<Invoice> {\n const response = await this.client.request<{ data: Invoice }>({\n method: 'POST',\n path: `/v1/invoices/${id}/regenerate`,\n });\n return response.data;\n }\n}\n","import {\n APIError,\n AuthenticationError,\n ConflictError,\n NotFoundError,\n RateLimitError,\n ValidationError,\n} from './errors';\nimport { InvoiceResource } from './resources/invoices/invoices';\n\nexport interface CheckoutPageApiClientOptions {\n apiKey: string;\n baseUrl?: string;\n}\n\nexport interface RequestOptions {\n method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';\n path: string;\n body?: unknown;\n query?: Record<string, string | number | boolean | undefined>;\n formData?: FormData;\n}\n\nexport class CheckoutPageApiClient {\n private readonly apiKey: string;\n private readonly baseUrl: string;\n public readonly invoices: InvoiceResource;\n\n constructor(options: CheckoutPageApiClientOptions) {\n if (!options.apiKey) {\n throw new Error('API key is required');\n }\n\n this.apiKey = options.apiKey;\n this.baseUrl = options.baseUrl || 'https://api.checkoutpage.com';\n this.invoices = new InvoiceResource(this);\n }\n\n async request<T>(options: RequestOptions): Promise<T> {\n const url = this.buildUrl(options.path, options.query);\n\n const headers: Record<string, string> = {\n Authorization: `Bearer ${this.apiKey}`,\n 'User-Agent': '@checkoutpage/sdk/0.1.0',\n };\n\n // Only set Content-Type for JSON requests (FormData sets its own boundary)\n if (!options.formData) {\n headers['Content-Type'] = 'application/json';\n }\n\n const fetchOptions: RequestInit = {\n method: options.method,\n headers,\n };\n\n if (options.formData) {\n fetchOptions.body = options.formData;\n } else if (options.body) {\n fetchOptions.body = JSON.stringify(options.body);\n }\n\n const response = await fetch(url, fetchOptions);\n return await this.handleResponse<T>(response);\n }\n\n /**\n * Perform a request whose successful response is a binary file rather than\n * JSON (e.g. a ticket PDF). Errors are parsed and thrown the same way as\n * request().\n */\n async requestRaw(options: RequestOptions): Promise<ArrayBuffer> {\n const url = this.buildUrl(options.path, options.query);\n\n const response = await fetch(url, {\n method: options.method,\n headers: {\n Authorization: `Bearer ${this.apiKey}`,\n 'User-Agent': '@checkoutpage/sdk/0.1.0',\n },\n });\n\n if (!response.ok) {\n await this.handleResponse<never>(response);\n }\n\n return await response.arrayBuffer();\n }\n\n private buildUrl(\n path: string,\n query?: Record<string, string | number | boolean | undefined>\n ): string {\n const url = new URL(path, this.baseUrl);\n\n if (query) {\n Object.entries(query).forEach(([key, value]) => {\n if (value !== undefined) {\n url.searchParams.append(key, String(value));\n }\n });\n }\n\n return url.toString();\n }\n\n private async handleResponse<T>(response: Response): Promise<T> {\n const contentType = response.headers.get('content-type');\n const isJson = contentType?.includes('application/json');\n\n let data: unknown;\n try {\n data = isJson ? await response.json() : await response.text();\n } catch {\n data = null;\n }\n\n if (!response.ok) {\n const message = this.extractErrorMessage(data);\n\n switch (response.status) {\n case 401:\n case 403:\n throw new AuthenticationError(message);\n case 404:\n throw new NotFoundError(message);\n case 409:\n throw new ConflictError(message);\n case 400:\n case 422:\n throw new ValidationError(message);\n case 429:\n throw new RateLimitError(message);\n default:\n throw new APIError(message, response.status, data);\n }\n }\n\n return data as T;\n }\n\n private extractErrorMessage(data: unknown): string {\n if (typeof data === 'object' && data !== null) {\n if ('message' in data && typeof data.message === 'string') {\n return data.message;\n }\n if ('error' in data && typeof data.error === 'string') {\n return data.error;\n }\n }\n return 'An unexpected error occurred';\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type { Account } from '../../types';\n\nexport class AccountResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n /**\n * Retrieve the seller account the API key belongs to: store slug, display\n * name and logo.\n *\n * The endpoint wraps the account in a `data` envelope (the OpenAPI spec\n * documents the bare object); this unwraps it so callers get the account.\n */\n async get(): Promise<Account> {\n const response = await this.client.request<{ data: Account }>({\n method: 'GET',\n path: '/v1/account/',\n });\n\n return response.data;\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type {\n Customer,\n CustomerList,\n CustomerListParams,\n UpdateCustomerParams,\n UpdateCustomerResponse,\n} from '../../types';\n\nexport class CustomerResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async get(customerId: string): Promise<Customer> {\n if (!customerId) {\n throw new Error('Customer ID is required');\n }\n\n return this.client.request<Customer>({\n method: 'GET',\n path: `/v1/customers/${customerId}`,\n });\n }\n\n async list(args: CustomerListParams = {}): Promise<CustomerList> {\n const query: Record<string, string | undefined> = {\n search: args.search,\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n };\n\n return this.client.request<CustomerList>({\n method: 'GET',\n query,\n path: '/v1/customers/',\n });\n }\n\n async update(\n customerId: string,\n params: UpdateCustomerParams,\n ): Promise<UpdateCustomerResponse> {\n if (!customerId) {\n throw new Error('Customer ID is required');\n }\n\n const body: Record<string, unknown> = {};\n\n if (params.name !== undefined) {\n body.name = params.name;\n }\n if (params.companyName !== undefined) {\n body.companyName = params.companyName;\n }\n if (params.email !== undefined) {\n body.email = params.email;\n }\n if (params.phone !== undefined) {\n body.phone = params.phone;\n }\n if (params.billingEmail !== undefined) {\n body.billingEmail = params.billingEmail;\n }\n if (params.address !== undefined) {\n body.address = params.address;\n }\n if (params.shipping !== undefined) {\n body.shipping = params.shipping;\n }\n\n return this.client.request<UpdateCustomerResponse>({\n method: 'PATCH',\n path: `/v1/customers/${customerId}`,\n body,\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport {\n CouponList,\n CouponListParams,\n CreateCouponParams,\n CreateCouponResponse,\n UpdateCouponParams,\n UpdateCouponResponse,\n} from '../../types';\n\nexport class CouponResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async list(args: CouponListParams = {}): Promise<CouponList> {\n const query: Record<string, string | undefined> = {\n search: args.search,\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n };\n\n return this.client.request<CouponList>({\n method: 'GET',\n query,\n path: '/v1/coupons/',\n });\n }\n\n /**\n * Update an existing coupon. Only the fields you supply are changed.\n *\n * `pageIds` and `ticketTypeIds` replace the existing lists rather than\n * merging — pass an empty array to clear one.\n *\n * The discount itself (`code`, `amountOff`, `percentOff`, `currency`,\n * `duration`) is fixed once the coupon is mirrored into Stripe. To change a\n * discount, soft delete this coupon and create a replacement.\n *\n * @example\n * const { data: coupon } = await client.coupons.update(couponId, { deleted: true });\n */\n async update(couponId: string, params: UpdateCouponParams): Promise<UpdateCouponResponse> {\n if (!couponId) {\n throw new Error('Coupon ID is required');\n }\n\n return this.client.request<UpdateCouponResponse>({\n method: 'PATCH',\n path: `/v1/coupons/${couponId}`,\n body: params,\n });\n }\n\n async create(params: CreateCouponParams): Promise<CreateCouponResponse> {\n const body: Record<string, unknown> = {\n label: params.label,\n code: params.code,\n duration: params.duration,\n };\n\n if (params.duration === 'repeating') {\n body.durationInMonths = (params as any).durationInMonths;\n }\n\n if (params.appliesToSetupFee !== undefined) {\n body.appliesToSetupFee = params.appliesToSetupFee;\n }\n if (params.pageIds !== undefined) {\n body.pageIds = params.pageIds;\n }\n if (params.ticketTypeIds !== undefined) {\n body.ticketTypeIds = params.ticketTypeIds;\n }\n if (params.maxRedemptions !== undefined) {\n body.maxRedemptions = params.maxRedemptions;\n }\n if (params.redeemBy !== undefined) {\n body.redeemBy = params.redeemBy;\n }\n\n if (params.type === 'amount') {\n body.amountOff = params.amountOff;\n body.currency = params.currency;\n } else {\n body.percentOff = params.percentOff;\n }\n\n return this.client.request<CreateCouponResponse>({\n method: 'POST',\n path: '/v1/coupons/',\n body,\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type { PaymentList, PaymentListParams, PaymentResponse } from '../../types';\n\nexport class PaymentResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n /**\n * Retrieve a single payment by ID. Only checkout payments are returned —\n * an event charge is a booking, and 404s here.\n *\n * @example\n * const { data: payment } = await client.payments.get(paymentId);\n */\n async get(paymentId: string): Promise<PaymentResponse> {\n if (!paymentId) {\n throw new Error('Payment ID is required');\n }\n\n return this.client.request<PaymentResponse>({\n method: 'GET',\n path: `/v1/payments/${paymentId}`,\n });\n }\n\n async list(args: PaymentListParams = {}): Promise<PaymentList> {\n const query: Record<string, string | undefined> = {\n search: args.search,\n status: args.status,\n pageId: args.pageId,\n customerId: args.customerId,\n orderId: args.orderId,\n couponCode: args.couponCode,\n productId: args.productId,\n createdAfter: args.createdAfter,\n createdBefore: args.createdBefore,\n abandonmentStatus: args.abandonmentStatus,\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n };\n\n return this.client.request<PaymentList>({\n method: 'GET',\n query,\n path: '/v1/payments/',\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type {\n SubscriptionCancelParams,\n SubscriptionCancelResponse,\n SubscriptionList,\n SubscriptionListParams,\n SubscriptionResponse,\n} from '../../types';\n\nexport class SubscriptionResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n /**\n * Retrieve a single subscription by ID.\n *\n * @example\n * const { data: subscription } = await client.subscriptions.get(subscriptionId);\n */\n async get(subscriptionId: string): Promise<SubscriptionResponse> {\n if (!subscriptionId) {\n throw new Error('Subscription ID is required');\n }\n\n return this.client.request<SubscriptionResponse>({\n method: 'GET',\n path: `/v1/subscriptions/${subscriptionId}`,\n });\n }\n\n async list(args: SubscriptionListParams = {}): Promise<SubscriptionList> {\n const query: Record<string, string | undefined> = {\n search: args.search,\n pageId: args.pageId,\n status: args.status,\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n };\n\n return this.client.request<SubscriptionList>({\n method: 'GET',\n query,\n path: '/v1/subscriptions/',\n });\n }\n\n /**\n * Cancel a subscription. Provide exactly one of `cancelImmediately`,\n * `cancelAtPeriodEnd`, or `cancelAt` — timing is explicit at the API\n * boundary. Enforced both at the type level via the\n * {@link SubscriptionCancelParams} discriminated union and at the server\n * via zod. Cancellation is one-way; a canceled Stripe subscription cannot\n * be un-canceled.\n *\n * @example\n * await client.subscriptions.cancel(id, { cancelImmediately: true });\n * await client.subscriptions.cancel(id, { cancelAtPeriodEnd: true, sendCancellationEmail: true });\n * await client.subscriptions.cancel(id, { cancelAt: '2026-12-31T23:59:59.000Z' });\n */\n async cancel(\n subscriptionId: string,\n params: SubscriptionCancelParams,\n ): Promise<SubscriptionCancelResponse> {\n return this.client.request<SubscriptionCancelResponse>({\n method: 'POST',\n path: `/v1/subscriptions/${subscriptionId}/cancel`,\n body: params,\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type {\n SubscriptionPaymentList,\n SubscriptionPaymentListParams,\n SubscriptionPaymentResponse,\n} from '../../types';\n\nexport class SubscriptionPaymentResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n /**\n * Retrieve a single subscription payment by ID — one charge within a\n * subscription's billing cycle, not the subscription itself. For every\n * payment on a subscription, use `list({ subscriptionId })`.\n *\n * @example\n * const { data: payment } = await client.subscriptionPayments.get(paymentId);\n */\n async get(subscriptionPaymentId: string): Promise<SubscriptionPaymentResponse> {\n if (!subscriptionPaymentId) {\n throw new Error('Subscription payment ID is required');\n }\n\n return this.client.request<SubscriptionPaymentResponse>({\n method: 'GET',\n path: `/v1/subscription-payments/${subscriptionPaymentId}`,\n });\n }\n\n async list(args: SubscriptionPaymentListParams = {}): Promise<SubscriptionPaymentList> {\n const query: Record<string, string | undefined> = {\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n subscriptionId: args.subscriptionId,\n customerId: args.customerId,\n pageId: args.pageId,\n paymentStatus: args.paymentStatus,\n paid: args.paid,\n refunded: args.refunded,\n billingReason: args.billingReason,\n createdAfter: args.createdAfter,\n createdBefore: args.createdBefore,\n };\n\n return this.client.request<SubscriptionPaymentList>({\n method: 'GET',\n query,\n path: '/v1/subscription-payments/',\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type { BookingList, BookingListParams, BookingResponse } from '../../types';\n\nexport class BookingResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n /**\n * Retrieve a single booking by ID. Only event bookings are returned —\n * a checkout charge is a payment, and 404s here.\n *\n * @example\n * const { data: booking } = await client.bookings.get(bookingId);\n */\n async get(bookingId: string): Promise<BookingResponse> {\n if (!bookingId) {\n throw new Error('Booking ID is required');\n }\n\n return this.client.request<BookingResponse>({\n method: 'GET',\n path: `/v1/bookings/${bookingId}`,\n });\n }\n\n /**\n * Download the booking's ticket PDF (every ticket in the booking) as raw\n * bytes. The response reflects the current tickets, so attendee updates\n * appear on the next download. Throws NotFoundError when no PDF exists,\n * e.g. for unpaid or abandoned bookings.\n *\n * @example\n * const pdf = await client.bookings.downloadTicketPdf(bookingId);\n * fs.writeFileSync('tickets.pdf', Buffer.from(pdf));\n */\n async downloadTicketPdf(bookingId: string): Promise<ArrayBuffer> {\n if (!bookingId) {\n throw new Error('Booking ID is required');\n }\n\n return this.client.requestRaw({\n method: 'GET',\n path: `/v1/bookings/${bookingId}/ticket-pdf`,\n });\n }\n\n async list(args: BookingListParams = {}): Promise<BookingList> {\n const query: Record<string, string | undefined> = {\n search: args.search,\n status: args.status,\n pageId: args.pageId,\n customerId: args.customerId,\n orderId: args.orderId,\n couponCode: args.couponCode,\n createdAfter: args.createdAfter,\n createdBefore: args.createdBefore,\n abandonmentStatus: args.abandonmentStatus,\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n };\n\n return this.client.request<BookingList>({\n method: 'GET',\n query,\n path: '/v1/bookings/',\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type {\n TicketList,\n TicketListParams,\n UpdateTicketParams,\n UpdateTicketResponse,\n ValidateTicketData,\n ValidateTicketParams,\n ValidateTicketResponse,\n} from '../../types';\n\nexport class TicketResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async list(args: TicketListParams = {}): Promise<TicketList> {\n const query: Record<string, string | undefined> = {\n pageId: args.pageId,\n bookingId: args.bookingId,\n orderId: args.orderId,\n customerId: args.customerId,\n ticketTypeId: args.ticketTypeId,\n status: args.status,\n checkInStatus: args.checkInStatus,\n createdAfter: args.createdAfter,\n createdBefore: args.createdBefore,\n search: args.search,\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n };\n\n return this.client.request<TicketList>({\n method: 'GET',\n query,\n path: '/v1/tickets/',\n });\n }\n\n async update(ticketId: string, params: UpdateTicketParams): Promise<UpdateTicketResponse> {\n if (!ticketId) {\n throw new Error('Ticket ID is required');\n }\n\n const body: Record<string, unknown> = {};\n\n if (params.attendeeName !== undefined) {\n body.attendeeName = params.attendeeName;\n }\n if (params.attendeeEmail !== undefined) {\n body.attendeeEmail = params.attendeeEmail;\n }\n if (params.metadata !== undefined) {\n body.metadata = params.metadata;\n }\n\n return this.client.request<UpdateTicketResponse>({\n method: 'PATCH',\n path: `/v1/tickets/${ticketId}`,\n body,\n });\n }\n\n async validate(qrCode: string, params?: ValidateTicketParams): Promise<ValidateTicketResponse> {\n const body = params || {};\n\n const response = await this.client.request<ValidateTicketData>({\n method: 'POST',\n path: `/v1/tickets/validate/${qrCode}`,\n body,\n });\n\n return response.data;\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type { Product, UpdateProductParams } from '../../types';\n\nexport class ProductResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async get(productId: string): Promise<Product> {\n if (!productId) {\n throw new Error('Product ID is required');\n }\n\n return this.client.request<Product>({\n method: 'GET',\n path: `/v1/products/${productId}`,\n });\n }\n\n async update(productId: string, params: UpdateProductParams): Promise<Product> {\n if (!productId) {\n throw new Error('Product ID is required');\n }\n\n const body: Record<string, unknown> = {};\n\n if (params.title !== undefined) {\n body.title = params.title;\n }\n if (params.description !== undefined) {\n body.description = params.description;\n }\n if (params.price !== undefined) {\n body.price = params.price;\n }\n if (params.sku !== undefined) {\n body.sku = params.sku;\n }\n if (params.hasUnlimitedStock !== undefined) {\n body.hasUnlimitedStock = params.hasUnlimitedStock;\n }\n if (params.stock !== undefined) {\n body.stock = params.stock;\n }\n if (params.taxBehavior !== undefined) {\n body.taxBehavior = params.taxBehavior;\n }\n if (params.taxCode !== undefined) {\n body.taxCode = params.taxCode;\n }\n if (params.imageIds !== undefined) {\n body.imageIds = params.imageIds;\n }\n if (params.fileIds !== undefined) {\n body.fileIds = params.fileIds;\n }\n if (params.variantsRequired !== undefined) {\n body.variantsRequired = params.variantsRequired;\n }\n if (params.variants !== undefined) {\n body.variants = params.variants;\n }\n if (params.discounts !== undefined) {\n body.discounts = params.discounts;\n }\n if (params.limitSubscriptions !== undefined) {\n body.limitSubscriptions = params.limitSubscriptions;\n }\n if (params.enableFileAccessForInactiveSubscriptions !== undefined) {\n body.enableFileAccessForInactiveSubscriptions =\n params.enableFileAccessForInactiveSubscriptions;\n }\n if (params.generateLicenseKeys !== undefined) {\n body.generateLicenseKeys = params.generateLicenseKeys;\n }\n if (params.fixedTaxRateIds !== undefined) {\n body.fixedTaxRateIds = params.fixedTaxRateIds;\n }\n if (params.prices !== undefined) {\n body.prices = params.prices;\n }\n if (params.defaultPriceId !== undefined) {\n body.defaultPriceId = params.defaultPriceId;\n }\n\n return this.client.request<Product>({\n method: 'PATCH',\n path: `/v1/products/${productId}`,\n body,\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type {\n DeleteFileResponse,\n DownloadFileResponse,\n UploadFileResponse,\n UploadFileParams,\n} from '../../types';\n\nexport class FileResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async upload(params: UploadFileParams): Promise<UploadFileResponse> {\n if (!params.file) {\n throw new Error('File is required');\n }\n\n if (!params.purpose) {\n throw new Error('Purpose is required');\n }\n\n const formData = new FormData();\n formData.append('file', params.file);\n formData.append('purpose', params.purpose);\n\n return this.client.request<UploadFileResponse>({\n method: 'POST',\n path: '/v1/files/upload',\n formData,\n });\n }\n\n async delete(fileId: string): Promise<DeleteFileResponse> {\n if (!fileId) {\n throw new Error('File ID is required');\n }\n\n return this.client.request<DeleteFileResponse>({\n method: 'DELETE',\n path: `/v1/files/${fileId}`,\n });\n }\n\n async download(fileId: string): Promise<DownloadFileResponse> {\n if (!fileId) {\n throw new Error('File ID is required');\n }\n\n return this.client.request<DownloadFileResponse>({\n method: 'GET',\n path: `/v1/files/${fileId}/download`,\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type {\n CheckoutPageList,\n CheckoutPageListParams,\n CreateCheckoutPageParams,\n CreateCheckoutPageResponse,\n CheckoutPageResponse,\n UpdateCheckoutPageParams,\n UpdateCheckoutPageResponse,\n DeleteCheckoutPageResponse,\n CheckoutPageFieldDeleteResponse,\n CheckoutPageFieldList,\n CreateCheckoutPageFieldParams,\n UpdateCheckoutPageFieldParams,\n CheckoutPageFieldResponse,\n} from '../../types';\n\nexport class CheckoutPageFieldsResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async list(pageId: string): Promise<CheckoutPageFieldList> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<CheckoutPageFieldList>({\n method: 'GET',\n path: `/v1/checkout-pages/${pageId}/fields`,\n });\n }\n\n async create(\n pageId: string,\n params: CreateCheckoutPageFieldParams\n ): Promise<CheckoutPageFieldResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<CheckoutPageFieldResponse>({\n method: 'POST',\n path: `/v1/checkout-pages/${pageId}/fields`,\n body: params,\n });\n }\n\n async get(pageId: string, fieldId: string): Promise<CheckoutPageFieldResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!fieldId) {\n throw new Error('Field ID is required');\n }\n\n return this.client.request<CheckoutPageFieldResponse>({\n method: 'GET',\n path: `/v1/checkout-pages/${pageId}/fields/${fieldId}`,\n });\n }\n\n async update(\n pageId: string,\n fieldId: string,\n params: UpdateCheckoutPageFieldParams\n ): Promise<CheckoutPageFieldResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!fieldId) {\n throw new Error('Field ID is required');\n }\n\n return this.client.request<CheckoutPageFieldResponse>({\n method: 'PATCH',\n path: `/v1/checkout-pages/${pageId}/fields/${fieldId}`,\n body: params,\n });\n }\n\n async delete(pageId: string, fieldId: string): Promise<CheckoutPageFieldDeleteResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!fieldId) {\n throw new Error('Field ID is required');\n }\n\n return this.client.request<CheckoutPageFieldDeleteResponse>({\n method: 'DELETE',\n path: `/v1/checkout-pages/${pageId}/fields/${fieldId}`,\n });\n }\n}\n\nexport class CheckoutPagesResource {\n public readonly fields: CheckoutPageFieldsResource;\n private readonly client: CheckoutPageApiClient;\n\n constructor(client: CheckoutPageApiClient) {\n this.client = client;\n this.fields = new CheckoutPageFieldsResource(client);\n }\n\n async list(args: CheckoutPageListParams = {}): Promise<CheckoutPageList> {\n const query: Record<string, string | undefined> = {\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n status: args.status,\n search: args.search,\n };\n\n return this.client.request<CheckoutPageList>({\n method: 'GET',\n path: '/v1/checkout-pages/',\n query,\n });\n }\n\n async create(params: CreateCheckoutPageParams): Promise<CreateCheckoutPageResponse> {\n return this.client.request<CreateCheckoutPageResponse>({\n method: 'POST',\n path: '/v1/checkout-pages/',\n body: params,\n });\n }\n\n async get(pageId: string): Promise<CheckoutPageResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<CheckoutPageResponse>({\n method: 'GET',\n path: `/v1/checkout-pages/${pageId}`,\n });\n }\n\n async update(\n pageId: string,\n params: UpdateCheckoutPageParams\n ): Promise<UpdateCheckoutPageResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<UpdateCheckoutPageResponse>({\n method: 'PATCH',\n path: `/v1/checkout-pages/${pageId}`,\n body: params,\n });\n }\n\n async delete(pageId: string): Promise<DeleteCheckoutPageResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<DeleteCheckoutPageResponse>({\n method: 'DELETE',\n path: `/v1/checkout-pages/${pageId}`,\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type {\n EventList,\n EventListParams,\n CreateEventParams,\n CreateEventResponse,\n EventResponse,\n UpdateEventParams,\n UpdateEventResponse,\n DeleteEventResponse,\n EventTicketGroupList,\n EventTicketGroupResponse,\n CreateEventTicketGroupParams,\n CreateEventTicketGroupResponse,\n UpdateEventTicketGroupParams,\n UpdateEventTicketGroupResponse,\n DeleteEventTicketGroupResponse,\n EventTicketTypeList,\n EventTicketTypeResponse,\n CreateEventTicketTypeParams,\n CreateEventTicketTypeResponse,\n UpdateEventTicketTypeParams,\n UpdateEventTicketTypeResponse,\n DeleteEventTicketTypeResponse,\n EventFieldList,\n EventFieldResponse,\n CreateEventFieldParams,\n UpdateEventFieldParams,\n EventFieldDeleteResponse,\n} from '../../types';\n\nexport class EventFieldsResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async list(pageId: string): Promise<EventFieldList> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<EventFieldList>({\n method: 'GET',\n path: `/v1/events/${pageId}/fields`,\n });\n }\n\n async create(pageId: string, params: CreateEventFieldParams): Promise<EventFieldResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<EventFieldResponse>({\n method: 'POST',\n path: `/v1/events/${pageId}/fields`,\n body: params,\n });\n }\n\n async get(pageId: string, fieldId: string): Promise<EventFieldResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!fieldId) {\n throw new Error('Field ID is required');\n }\n\n return this.client.request<EventFieldResponse>({\n method: 'GET',\n path: `/v1/events/${pageId}/fields/${fieldId}`,\n });\n }\n\n async update(\n pageId: string,\n fieldId: string,\n params: UpdateEventFieldParams\n ): Promise<EventFieldResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!fieldId) {\n throw new Error('Field ID is required');\n }\n\n return this.client.request<EventFieldResponse>({\n method: 'PATCH',\n path: `/v1/events/${pageId}/fields/${fieldId}`,\n body: params,\n });\n }\n\n async delete(pageId: string, fieldId: string): Promise<EventFieldDeleteResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!fieldId) {\n throw new Error('Field ID is required');\n }\n\n return this.client.request<EventFieldDeleteResponse>({\n method: 'DELETE',\n path: `/v1/events/${pageId}/fields/${fieldId}`,\n });\n }\n}\n\nexport class EventTicketTypesResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async list(pageId: string, ticketGroupId: string): Promise<EventTicketTypeList> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!ticketGroupId) {\n throw new Error('Ticket group ID is required');\n }\n\n return this.client.request<EventTicketTypeList>({\n method: 'GET',\n path: `/v1/events/${pageId}/ticket-groups/${ticketGroupId}/ticket-types`,\n });\n }\n\n async create(\n pageId: string,\n ticketGroupId: string,\n params: CreateEventTicketTypeParams\n ): Promise<CreateEventTicketTypeResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!ticketGroupId) {\n throw new Error('Ticket group ID is required');\n }\n\n return this.client.request<CreateEventTicketTypeResponse>({\n method: 'POST',\n path: `/v1/events/${pageId}/ticket-groups/${ticketGroupId}/ticket-types`,\n body: params,\n });\n }\n\n async get(\n pageId: string,\n ticketGroupId: string,\n ticketTypeId: string\n ): Promise<EventTicketTypeResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!ticketGroupId) {\n throw new Error('Ticket group ID is required');\n }\n\n if (!ticketTypeId) {\n throw new Error('Ticket type ID is required');\n }\n\n return this.client.request<EventTicketTypeResponse>({\n method: 'GET',\n path: `/v1/events/${pageId}/ticket-groups/${ticketGroupId}/ticket-types/${ticketTypeId}`,\n });\n }\n\n async update(\n pageId: string,\n ticketGroupId: string,\n ticketTypeId: string,\n params: UpdateEventTicketTypeParams\n ): Promise<UpdateEventTicketTypeResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!ticketGroupId) {\n throw new Error('Ticket group ID is required');\n }\n\n if (!ticketTypeId) {\n throw new Error('Ticket type ID is required');\n }\n\n return this.client.request<UpdateEventTicketTypeResponse>({\n method: 'PATCH',\n path: `/v1/events/${pageId}/ticket-groups/${ticketGroupId}/ticket-types/${ticketTypeId}`,\n body: params,\n });\n }\n\n async delete(\n pageId: string,\n ticketGroupId: string,\n ticketTypeId: string\n ): Promise<DeleteEventTicketTypeResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!ticketGroupId) {\n throw new Error('Ticket group ID is required');\n }\n\n if (!ticketTypeId) {\n throw new Error('Ticket type ID is required');\n }\n\n return this.client.request<DeleteEventTicketTypeResponse>({\n method: 'DELETE',\n path: `/v1/events/${pageId}/ticket-groups/${ticketGroupId}/ticket-types/${ticketTypeId}`,\n });\n }\n}\n\nexport class EventTicketGroupsResource {\n public readonly ticketTypes: EventTicketTypesResource;\n\n constructor(private client: CheckoutPageApiClient) {\n this.ticketTypes = new EventTicketTypesResource(client);\n }\n\n async list(pageId: string): Promise<EventTicketGroupList> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<EventTicketGroupList>({\n method: 'GET',\n path: `/v1/events/${pageId}/ticket-groups`,\n });\n }\n\n async create(\n pageId: string,\n params: CreateEventTicketGroupParams\n ): Promise<CreateEventTicketGroupResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<CreateEventTicketGroupResponse>({\n method: 'POST',\n path: `/v1/events/${pageId}/ticket-groups`,\n body: params,\n });\n }\n\n async get(pageId: string, ticketGroupId: string): Promise<EventTicketGroupResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!ticketGroupId) {\n throw new Error('Ticket group ID is required');\n }\n\n return this.client.request<EventTicketGroupResponse>({\n method: 'GET',\n path: `/v1/events/${pageId}/ticket-groups/${ticketGroupId}`,\n });\n }\n\n async update(\n pageId: string,\n ticketGroupId: string,\n params: UpdateEventTicketGroupParams\n ): Promise<UpdateEventTicketGroupResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!ticketGroupId) {\n throw new Error('Ticket group ID is required');\n }\n\n return this.client.request<UpdateEventTicketGroupResponse>({\n method: 'PATCH',\n path: `/v1/events/${pageId}/ticket-groups/${ticketGroupId}`,\n body: params,\n });\n }\n\n async delete(pageId: string, ticketGroupId: string): Promise<DeleteEventTicketGroupResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!ticketGroupId) {\n throw new Error('Ticket group ID is required');\n }\n\n return this.client.request<DeleteEventTicketGroupResponse>({\n method: 'DELETE',\n path: `/v1/events/${pageId}/ticket-groups/${ticketGroupId}`,\n });\n }\n}\n\nexport class EventsResource {\n public readonly ticketGroups: EventTicketGroupsResource;\n public readonly fields: EventFieldsResource;\n\n constructor(private client: CheckoutPageApiClient) {\n this.ticketGroups = new EventTicketGroupsResource(client);\n this.fields = new EventFieldsResource(client);\n }\n\n async list(args: EventListParams = {}): Promise<EventList> {\n const query: Record<string, string | undefined> = {\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n status: args.status,\n search: args.search,\n };\n\n return this.client.request<EventList>({\n method: 'GET',\n path: '/v1/events/',\n query,\n });\n }\n\n async create(params: CreateEventParams): Promise<CreateEventResponse> {\n return this.client.request<CreateEventResponse>({\n method: 'POST',\n path: '/v1/events/',\n body: params,\n });\n }\n\n async get(pageId: string): Promise<EventResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<EventResponse>({\n method: 'GET',\n path: `/v1/events/${pageId}`,\n });\n }\n\n async update(pageId: string, params: UpdateEventParams): Promise<UpdateEventResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<UpdateEventResponse>({\n method: 'PATCH',\n path: `/v1/events/${pageId}`,\n body: params,\n });\n }\n\n async delete(pageId: string): Promise<DeleteEventResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<DeleteEventResponse>({\n method: 'DELETE',\n path: `/v1/events/${pageId}`,\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type {\n FormList,\n FormListParams,\n CreateFormParams,\n CreateFormResponse,\n FormResponse,\n UpdateFormParams,\n UpdateFormResponse,\n DeleteFormResponse,\n FormFieldList,\n CreateFormFieldParams,\n UpdateFormFieldParams,\n FormFieldResponse,\n FormFieldDeleteResponse,\n} from '../../types';\n\nexport class FormFieldsResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async list(pageId: string): Promise<FormFieldList> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<FormFieldList>({\n method: 'GET',\n path: `/v1/forms/${pageId}/fields`,\n });\n }\n\n async create(pageId: string, params: CreateFormFieldParams): Promise<FormFieldResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<FormFieldResponse>({\n method: 'POST',\n path: `/v1/forms/${pageId}/fields`,\n body: params,\n });\n }\n\n async get(pageId: string, fieldId: string): Promise<FormFieldResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!fieldId) {\n throw new Error('Field ID is required');\n }\n\n return this.client.request<FormFieldResponse>({\n method: 'GET',\n path: `/v1/forms/${pageId}/fields/${fieldId}`,\n });\n }\n\n async update(\n pageId: string,\n fieldId: string,\n params: UpdateFormFieldParams\n ): Promise<FormFieldResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!fieldId) {\n throw new Error('Field ID is required');\n }\n\n return this.client.request<FormFieldResponse>({\n method: 'PATCH',\n path: `/v1/forms/${pageId}/fields/${fieldId}`,\n body: params,\n });\n }\n\n async delete(pageId: string, fieldId: string): Promise<FormFieldDeleteResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n if (!fieldId) {\n throw new Error('Field ID is required');\n }\n\n return this.client.request<FormFieldDeleteResponse>({\n method: 'DELETE',\n path: `/v1/forms/${pageId}/fields/${fieldId}`,\n });\n }\n}\n\nexport class FormsResource {\n public readonly fields: FormFieldsResource;\n constructor(private client: CheckoutPageApiClient) {\n this.fields = new FormFieldsResource(client);\n }\n\n async list(args: FormListParams = {}): Promise<FormList> {\n const query: Record<string, string | undefined> = {\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n status: args.status,\n search: args.search,\n };\n\n return this.client.request<FormList>({\n method: 'GET',\n path: '/v1/forms/',\n query,\n });\n }\n\n async create(params: CreateFormParams): Promise<CreateFormResponse> {\n return this.client.request<CreateFormResponse>({\n method: 'POST',\n path: '/v1/forms/',\n body: params,\n });\n }\n\n async get(pageId: string): Promise<FormResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<FormResponse>({\n method: 'GET',\n path: `/v1/forms/${pageId}`,\n });\n }\n\n async update(pageId: string, params: UpdateFormParams): Promise<UpdateFormResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<UpdateFormResponse>({\n method: 'PATCH',\n path: `/v1/forms/${pageId}`,\n body: params,\n });\n }\n\n async delete(pageId: string): Promise<DeleteFormResponse> {\n if (!pageId) {\n throw new Error('Page ID is required');\n }\n\n return this.client.request<DeleteFormResponse>({\n method: 'DELETE',\n path: `/v1/forms/${pageId}`,\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type { SubmissionList, SubmissionListParams, SubmissionResponse } from '../../types';\n\nexport class SubmissionResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async get(submissionId: string): Promise<SubmissionResponse> {\n if (!submissionId) {\n throw new Error('Submission ID is required');\n }\n\n return this.client.request<SubmissionResponse>({\n method: 'GET',\n path: `/v1/submissions/${submissionId}`,\n });\n }\n\n async list(args: SubmissionListParams = {}): Promise<SubmissionList> {\n const query: Record<string, string | undefined> = {\n search: args.search,\n pageId: args.pageId,\n customerId: args.customerId,\n status: args.status,\n createdAfter: args.createdAfter,\n createdBefore: args.createdBefore,\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n };\n\n return this.client.request<SubmissionList>({\n method: 'GET',\n path: '/v1/submissions/',\n query,\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport type {\n TaxRateList,\n TaxRateResponse,\n CreateTaxRateParams,\n UpdateTaxRateParams,\n} from '../../types';\n\nexport class TaxRateResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n async list(): Promise<TaxRateList> {\n return this.client.request<TaxRateList>({\n method: 'GET',\n path: '/v1/tax-rates/',\n });\n }\n\n async create(params: CreateTaxRateParams): Promise<TaxRateResponse> {\n const body: Record<string, unknown> = {\n displayName: params.displayName,\n inclusive: params.inclusive,\n percentage: params.percentage,\n };\n\n if (params.default !== undefined) {\n body.default = params.default;\n }\n\n return this.client.request<TaxRateResponse>({\n method: 'POST',\n path: '/v1/tax-rates/',\n body,\n });\n }\n\n async update(taxRateId: string, params: UpdateTaxRateParams): Promise<TaxRateResponse> {\n if (!taxRateId) {\n throw new Error('Tax rate ID is required');\n }\n\n const body: Record<string, unknown> = {};\n\n if (params.displayName !== undefined) {\n body.displayName = params.displayName;\n }\n if (params.default !== undefined) {\n body.default = params.default;\n }\n\n return this.client.request<TaxRateResponse>({\n method: 'PATCH',\n path: `/v1/tax-rates/${taxRateId}`,\n body,\n });\n }\n}\n","import type { CheckoutPageApiClient } from '../../client';\nimport {\n CreateWebhookParams,\n CreateWebhookResponse,\n DeleteWebhookResponse,\n WebhookList,\n WebhookListParams,\n} from '../../types';\n\nexport class WebhookResource {\n constructor(private client: CheckoutPageApiClient) {}\n\n /**\n * List webhook endpoints, newest first. Secrets are never returned.\n *\n * @example\n * const { data, has_more } = await client.webhooks.list({ event: 'payment.paid' });\n */\n async list(args: WebhookListParams = {}): Promise<WebhookList> {\n const query: Record<string, string | undefined> = {\n status: args.status,\n event: args.event,\n limit: args.limit?.toString(),\n starting_after: args.starting_after,\n ending_before: args.ending_before,\n };\n\n return this.client.request<WebhookList>({\n method: 'GET',\n path: '/v1/webhooks/',\n query,\n });\n }\n\n /**\n * Create a webhook endpoint. The `url` must use https.\n *\n * The response is the only place the signing `secret` is ever returned —\n * store it immediately. Omit `secret` to have one generated.\n *\n * @example\n * const { data: webhook } = await client.webhooks.create({\n * name: 'CRM sync',\n * url: 'https://example.com/hooks/checkoutpage',\n * events: ['payment.paid', 'subscription.created'],\n * });\n * saveSecret(webhook.secret);\n */\n async create(params: CreateWebhookParams): Promise<CreateWebhookResponse> {\n return this.client.request<CreateWebhookResponse>({\n method: 'POST',\n path: '/v1/webhooks/',\n body: params,\n });\n }\n\n /**\n * Delete a webhook endpoint. Deliveries stop immediately; the returned\n * object is its final state. The webhook no longer appears in `list()`,\n * and deleting the same id again returns 404.\n */\n async delete(webhookId: string): Promise<DeleteWebhookResponse> {\n if (!webhookId) {\n throw new Error('Webhook ID is required');\n }\n\n return this.client.request<DeleteWebhookResponse>({\n method: 'DELETE',\n path: `/v1/webhooks/${encodeURIComponent(webhookId)}`,\n });\n }\n}\n","import { CheckoutPageApiClient, CheckoutPageApiClientOptions } from './client';\nimport { AccountResource } from './resources/accounts/accounts';\nimport { CustomerResource } from './resources/customers/customers';\nimport { CouponResource } from './resources/coupons/coupons';\nimport { PaymentResource } from './resources/payments/payments';\nimport { SubscriptionResource } from './resources/subscriptions/subscriptions';\nimport { SubscriptionPaymentResource } from './resources/subscription-payments/subscription-payments';\nimport { BookingResource } from './resources/bookings/bookings';\nimport { TicketResource } from './resources/tickets/tickets';\nimport { ProductResource } from './resources/products/products';\nimport { FileResource } from './resources/files/files';\nimport { CheckoutPagesResource } from './resources/checkout-pages/checkout-pages';\nimport { EventsResource } from './resources/events/events';\nimport { FormsResource } from './resources/forms/forms';\nimport { SubmissionResource } from './resources/submissions/submissions';\nimport { TaxRateResource } from './resources/tax-rates/tax-rates';\nimport { InvoiceResource } from './resources/invoices/invoices';\nimport { WebhookResource } from './resources/webhooks/webhooks';\n\nexport class CheckoutPageClient {\n public readonly accounts: AccountResource;\n public readonly customers: CustomerResource;\n public readonly coupons: CouponResource;\n public readonly payments: PaymentResource;\n public readonly subscriptions: SubscriptionResource;\n public readonly subscriptionPayments: SubscriptionPaymentResource;\n public readonly bookings: BookingResource;\n public readonly tickets: TicketResource;\n public readonly products: ProductResource;\n public readonly files: FileResource;\n public readonly checkoutPages: CheckoutPagesResource;\n public readonly events: EventsResource;\n public readonly forms: FormsResource;\n public readonly submissions: SubmissionResource;\n public readonly taxRates: TaxRateResource;\n public readonly invoices: InvoiceResource;\n public readonly webhooks: WebhookResource;\n private readonly client: CheckoutPageApiClient;\n\n constructor(options: CheckoutPageApiClientOptions) {\n this.client = new CheckoutPageApiClient(options);\n this.accounts = new AccountResource(this.client);\n this.customers = new CustomerResource(this.client);\n this.coupons = new CouponResource(this.client);\n this.payments = new PaymentResource(this.client);\n this.subscriptions = new SubscriptionResource(this.client);\n this.subscriptionPayments = new SubscriptionPaymentResource(this.client);\n this.bookings = new BookingResource(this.client);\n this.tickets = new TicketResource(this.client);\n this.products = new ProductResource(this.client);\n this.files = new FileResource(this.client);\n this.checkoutPages = new CheckoutPagesResource(this.client);\n this.events = new EventsResource(this.client);\n this.forms = new FormsResource(this.client);\n this.submissions = new SubmissionResource(this.client);\n this.taxRates = new TaxRateResource(this.client);\n this.invoices = new InvoiceResource(this.client);\n this.webhooks = new WebhookResource(this.client);\n }\n}\n\nexport const createCheckoutPageClient = (options: CheckoutPageApiClientOptions) => {\n return new CheckoutPageClient(options);\n};\n\n// Export types and errors for convenience\nexport type { CheckoutPageApiClientOptions } from './client';\nexport type {\n Account,\n AccountLogo,\n Customer,\n Submission,\n SubmissionResponse,\n SubmissionList,\n SubmissionListParams,\n Address,\n Shipping,\n Coupon,\n CouponList,\n Payment,\n PaymentList,\n PriceSnapshot,\n Subscription,\n SubscriptionList,\n SubscriptionPayment,\n SubscriptionPaymentList,\n SubscriptionPaymentListParams,\n ValidateTicketResponse,\n ValidateTicketParams,\n Product,\n ProductData,\n Price,\n PriceInput,\n ProductVariant,\n UpdateProductParams,\n Event,\n EventList,\n EventListParams,\n CreateEventParams,\n CreateEventResponse,\n EventResponse,\n UpdateEventParams,\n UpdateEventResponse,\n DeleteEventResponse,\n EventTicketGroup,\n EventTicketGroupList,\n EventTicketGroupResponse,\n CreateEventTicketGroupParams,\n CreateEventTicketGroupResponse,\n UpdateEventTicketGroupParams,\n UpdateEventTicketGroupResponse,\n DeleteEventTicketGroupResponse,\n EventTicketType,\n EventTicketTypeList,\n EventTicketTypeResponse,\n CreateEventTicketTypeParams,\n CreateEventTicketTypeResponse,\n UpdateEventTicketTypeParams,\n UpdateEventTicketTypeResponse,\n DeleteEventTicketTypeResponse,\n EventField,\n EventFieldList,\n CreateEventFieldParams,\n UpdateEventFieldParams,\n EventFieldResponse,\n EventFieldDeleteResponse,\n Form,\n FormList,\n FormListParams,\n CreateFormParams,\n CreateFormResponse,\n FormResponse,\n UpdateFormParams,\n UpdateFormResponse,\n DeleteFormResponse,\n FormField,\n FormFieldList,\n CreateFormFieldParams,\n UpdateFormFieldParams,\n FormFieldDeleteResponse,\n CheckoutPage,\n CheckoutPageList,\n CheckoutPageListParams,\n CreateCheckoutPageParams,\n CreateCheckoutPageResponse,\n CheckoutPageResponse,\n UpdateCheckoutPageParams,\n UpdateCheckoutPageResponse,\n DeleteCheckoutPageResponse,\n CheckoutPageField,\n CheckoutPageFieldList,\n CreateCheckoutPageFieldParams,\n UpdateCheckoutPageFieldParams,\n CheckoutPageFieldDeleteResponse,\n UploadFileResponse,\n UploadFileParams,\n DeleteFileResponse,\n DownloadFileResponse,\n TaxRate,\n TaxRateList,\n TaxRateResponse,\n CreateTaxRateParams,\n UpdateTaxRateParams,\n Invoice,\n InvoiceList,\n InvoiceListParams,\n Webhook,\n WebhookList,\n WebhookListParams,\n CreateWebhookParams,\n CreateWebhookResponse,\n DeleteWebhookResponse,\n} from './types';\nexport {\n CheckoutPageError,\n AuthenticationError,\n NotFoundError,\n ConflictError,\n RateLimitError,\n ValidationError,\n APIError,\n} from './errors';\n"]}
package/dist/index.mjs CHANGED
@@ -820,11 +820,10 @@ var CheckoutPageFieldsResource = class {
820
820
  if (!fieldId) {
821
821
  throw new Error("Field ID is required");
822
822
  }
823
- const response = await this.client.request({
823
+ return this.client.request({
824
824
  method: "DELETE",
825
825
  path: `/v1/checkout-pages/${pageId}/fields/${fieldId}`
826
826
  });
827
- return response;
828
827
  }
829
828
  };
830
829
  var CheckoutPagesResource = class {