import * as z from "zod/v3"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { CustomFieldRequestEntity, CustomFieldRequestEntity$Outbound } from "./customfieldrequestentity.js"; import { ProductCurrency } from "./productcurrency.js"; import { ProductRequestBillingPeriod } from "./productrequestbillingperiod.js"; import { ProductRequestBillingType } from "./productrequestbillingtype.js"; import { TaxCategory } from "./taxcategory.js"; import { TaxMode } from "./taxmode.js"; export type CreateProductRequestEntity = { /** * Name of the product */ name: string; /** * Description of the product */ description?: string | undefined; /** * URL of the product image */ imageUrl?: string | undefined; /** * The price of the product in cents */ price: number; /** * Three-letter ISO currency code, in uppercase. Must be a supported currency. */ currency: ProductCurrency; /** * Indicates the billing method for the customer. It can either be a `recurring` billing cycle or a `onetime` payment. */ billingType: ProductRequestBillingType; /** * Billing period, required if billing_type is recurring */ billingPeriod?: ProductRequestBillingPeriod | undefined; /** * Specifies the tax calculation mode for the transaction. If set to "inclusive," the tax is included in the price. If set to "exclusive," the tax is added on top of the price. */ taxMode?: TaxMode | undefined; /** * Categorizes the type of product or service for tax purposes. This helps determine the applicable tax rules based on the nature of the item or service. */ taxCategory?: TaxCategory | undefined; /** * The URL to which the user will be redirected after successfull payment. */ defaultSuccessUrl?: string | undefined; /** * Collect additional information from your customer using custom fields during checkout. Up to 3 fields are supported. */ customFields?: Array | undefined; /** * DEPRECATED: Use `custom_fields` instead. Collect additional information from your customer using custom fields during checkout. Up to 3 fields are supported. * * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible. */ customField?: Array | undefined; /** * Enable abandoned cart recovery for this product */ abandonedCartRecoveryEnabled?: boolean | undefined; }; /** @internal */ export declare const CreateProductRequestEntity$inboundSchema: z.ZodType; /** @internal */ export type CreateProductRequestEntity$Outbound = { name: string; description?: string | undefined; image_url?: string | undefined; price: number; currency: string; billing_type: string; billing_period?: string | undefined; tax_mode?: string | undefined; tax_category?: string | undefined; default_success_url?: string | undefined; custom_fields?: Array | undefined; custom_field?: Array | undefined; abandoned_cart_recovery_enabled: boolean; }; /** @internal */ export declare const CreateProductRequestEntity$outboundSchema: z.ZodType; export declare function createProductRequestEntityToJSON(createProductRequestEntity: CreateProductRequestEntity): string; export declare function createProductRequestEntityFromJSON(jsonString: string): SafeParseResult; //# sourceMappingURL=createproductrequestentity.d.ts.map