import * as z from "zod/v3"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { CustomField, CustomField$Outbound } from "./customfield.js"; import { EnvironmentMode } from "./environmentmode.js"; import { FeatureEntity, FeatureEntity$Outbound } from "./featureentity.js"; import { ProductBillingPeriod } from "./productbillingperiod.js"; import { ProductBillingType } from "./productbillingtype.js"; import { ProductStatus } from "./productstatus.js"; import { TaxCategory } from "./taxcategory.js"; import { TaxMode } from "./taxmode.js"; export type ProductEntity = { /** * Unique identifier for the object. */ id: string; /** * String representing the environment. */ mode: EnvironmentMode; /** * String representing the object's type. Objects of the same type share the same value. */ object: string; /** * The name of the product */ name: string; /** * A brief description of the product */ description: string; /** * URL of the product image. Only png as jpg are supported */ imageUrl?: string | undefined; /** * Features of the product. */ features?: Array | undefined; /** * The price of the product in cents. 1000 = $10.00 */ price: number; /** * Three-letter ISO currency code, in uppercase. Must be a supported currency. */ currency: string; /** * Indicates the billing method for the customer. It can either be a `recurring` billing cycle or a `onetime` payment. */ billingType: ProductBillingType; /** * Billing period */ billingPeriod: ProductBillingPeriod; /** * Status of the product */ status: ProductStatus; /** * 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; /** * 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; /** * The product page you can redirect your customers to for express checkout. */ productUrl?: string | undefined; /** * The URL to which the user will be redirected after successfull payment. */ defaultSuccessUrl?: string | null | undefined; /** * Custom fields configured for the product. Collect additional information from your customer during checkout. */ customFields?: Array | null | undefined; /** * Creation date of the product */ createdAt: Date; /** * Last updated date of the product */ updatedAt: Date; }; /** @internal */ export declare const ProductEntity$inboundSchema: z.ZodType; /** @internal */ export type ProductEntity$Outbound = { id: string; mode: string; object: string; name: string; description: string; image_url?: string | undefined; features?: Array | undefined; price: number; currency: string; billing_type: string; billing_period: string; status: string; tax_mode: string; tax_category: string; product_url?: string | undefined; default_success_url?: string | null | undefined; custom_fields?: Array | null | undefined; created_at: string; updated_at: string; }; /** @internal */ export declare const ProductEntity$outboundSchema: z.ZodType; export declare function productEntityToJSON(productEntity: ProductEntity): string; export declare function productEntityFromJSON(jsonString: string): SafeParseResult; //# sourceMappingURL=productentity.d.ts.map