UNPKG

chargebee

Version:

A library for integrating with Chargebee.

1,317 lines (1,316 loc) 64 kB
// Generated Zod schemas: HostedPage // Actions: checkoutNew, checkoutOneTime, checkoutOneTimeForItems, checkoutNewForItems, checkoutExisting, checkoutExistingForItems, updateCard, updatePaymentMethod, managePaymentSources, collectNow, acceptQuote, extendSubscription, checkoutGift, checkoutGiftForItems, claimGift, retrieveAgreementPdf, list, preCancel, events, viewVoucher // Do not edit manually – regenerate via sdk-generator import { z } from 'zod'; //HostedPage.checkoutNew const CheckoutNewHostedPageSubscriptionSchema = z.looseObject({ id: z.string().max(50).optional(), plan_id: z.string().max(100), plan_quantity: z.number().int().min(1).optional(), plan_quantity_in_decimal: z.string().max(33).optional(), plan_unit_price: z.number().int().min(0).optional(), plan_unit_price_in_decimal: z.string().max(39).optional(), setup_fee: z.number().int().min(0).optional(), trial_end: z.number().int().optional(), start_date: z.number().int().optional(), coupon: z.string().max(100).optional(), auto_collection: z.enum(['on', 'off']).optional(), offline_payment_method: z .enum([ 'no_preference', 'cash', 'check', 'bank_transfer', 'ach_credit', 'sepa_credit', 'boleto', 'us_automated_bank_transfer', 'eu_automated_bank_transfer', 'uk_automated_bank_transfer', 'jp_automated_bank_transfer', 'mx_automated_bank_transfer', 'custom', ]) .optional(), invoice_notes: z.string().max(2000).optional(), affiliate_token: z.string().max(250).optional(), contract_term_billing_cycle_on_renewal: z .number() .int() .min(1) .max(100) .optional(), }); const CheckoutNewHostedPageCustomerSchema = z.looseObject({ id: z.string().max(50).optional(), email: z.string().email().max(70).optional(), first_name: z.string().max(150).optional(), last_name: z.string().max(150).optional(), company: z.string().max(250).optional(), phone: z.string().max(50).optional(), locale: z.string().max(50).optional(), taxability: z.enum(['taxable', 'exempt']).optional(), vat_number: z.string().max(20).optional(), vat_number_prefix: z.string().max(10).optional(), consolidated_invoicing: z.boolean().optional(), }); const CheckoutNewHostedPageCardSchema = z.object({ gateway: z .enum([ 'chargebee', 'chargebee_payments', 'adyen', 'stripe', 'wepay', 'braintree', 'authorize_net', 'paypal_pro', 'pin', 'eway', 'eway_rapid', 'worldpay', 'balanced_payments', 'beanstream', 'bluepay', 'elavon', 'first_data_global', 'hdfc', 'migs', 'nmi', 'ogone', 'paymill', 'paypal_payflow_pro', 'sage_pay', 'tco', 'wirecard', 'amazon_payments', 'paypal_express_checkout', 'orbital', 'moneris_us', 'moneris', 'bluesnap', 'cybersource', 'vantiv', 'checkout_com', 'paypal', 'ingenico_direct', 'exact', 'mollie', 'quickbooks', 'razorpay', 'global_payments', 'bank_of_america', 'ecentric', 'metrics_global', 'windcave', 'pay_com', 'ebanx', 'dlocal', 'nuvei', 'solidgate', 'paystack', 'jp_morgan', 'deutsche_bank', 'ezidebit', 'twikey', 'tempus', 'moyasar', 'payway', ]) .optional(), gateway_account_id: z.string().max(50).optional(), }); const CheckoutNewHostedPageBillingAddressSchema = z.object({ first_name: z.string().max(150).optional(), last_name: z.string().max(150).optional(), email: z.string().email().max(70).optional(), company: z.string().max(250).optional(), phone: z.string().max(50).optional(), line1: z.string().max(150).optional(), line2: z.string().max(150).optional(), line3: z.string().max(150).optional(), city: z.string().max(50).optional(), state_code: z.string().max(50).optional(), state: z.string().max(50).optional(), zip: z.string().max(20).optional(), country: z.string().max(50).optional(), validation_status: z .enum(['not_validated', 'valid', 'partially_valid', 'invalid']) .optional(), }); const CheckoutNewHostedPageShippingAddressSchema = z.object({ first_name: z.string().max(150).optional(), last_name: z.string().max(150).optional(), email: z.string().email().max(70).optional(), company: z.string().max(250).optional(), phone: z.string().max(50).optional(), line1: z.string().max(150).optional(), line2: z.string().max(150).optional(), line3: z.string().max(150).optional(), city: z.string().max(50).optional(), state_code: z.string().max(50).optional(), state: z.string().max(50).optional(), zip: z.string().max(20).optional(), country: z.string().max(50).optional(), validation_status: z .enum(['not_validated', 'valid', 'partially_valid', 'invalid']) .optional(), }); const CheckoutNewHostedPageContractTermSchema = z.object({ action_at_term_end: z.enum(['renew', 'evergreen', 'cancel']).optional(), cancellation_cutoff_period: z.number().int().optional(), }); const CheckoutNewHostedPageAddonsSchema = z.object({ id: z.array(z.string().max(100).optional()).optional(), quantity: z.array(z.number().int().min(1).optional()).optional(), quantity_in_decimal: z.array(z.string().max(33).optional()).optional(), unit_price: z.array(z.number().int().min(0).optional()).optional(), unit_price_in_decimal: z.array(z.string().max(39).optional()).optional(), billing_cycles: z.array(z.number().int().min(0).optional()).optional(), }); const CheckoutNewHostedPageEventBasedAddonsSchema = z.object({ id: z.array(z.string().max(100).optional()).optional(), quantity: z.array(z.number().int().min(1).optional()).optional(), unit_price: z.array(z.number().int().min(0).optional()).optional(), quantity_in_decimal: z.array(z.string().max(33).optional()).optional(), unit_price_in_decimal: z.array(z.string().max(39).optional()).optional(), service_period_in_days: z .array(z.number().int().min(1).max(4000).optional()) .optional(), on_event: z .array(z .enum([ 'subscription_creation', 'subscription_trial_start', 'plan_activation', 'subscription_activation', 'contract_termination', ]) .optional()) .optional(), charge_once: z.array(z.boolean().default(true).optional()).optional(), charge_on: z.array(z.enum(['immediately', 'on_event']).optional()).optional(), }); const CheckoutNewHostedPageBodySchema = z.looseObject({ billing_cycles: z.number().int().min(0).optional(), mandatory_addons_to_remove: z .array(z.string().max(100).optional()) .optional(), terms_to_charge: z.number().int().min(1).optional(), billing_alignment_mode: z.enum(['immediate', 'delayed']).optional(), coupon_ids: z.array(z.string().max(100).optional()).optional(), redirect_url: z.string().max(250).optional(), cancel_url: z.string().max(250).optional(), pass_thru_content: z.string().max(2048).optional(), embed: z.boolean().default(true).optional(), iframe_messaging: z.boolean().default(false).optional(), allow_offline_payment_methods: z.boolean().optional(), subscription: CheckoutNewHostedPageSubscriptionSchema.optional(), customer: CheckoutNewHostedPageCustomerSchema.optional(), card: CheckoutNewHostedPageCardSchema.optional(), billing_address: CheckoutNewHostedPageBillingAddressSchema.optional(), shipping_address: CheckoutNewHostedPageShippingAddressSchema.optional(), contract_term: CheckoutNewHostedPageContractTermSchema.optional(), addons: CheckoutNewHostedPageAddonsSchema.optional(), event_based_addons: CheckoutNewHostedPageEventBasedAddonsSchema.optional(), }); export { CheckoutNewHostedPageBodySchema }; //HostedPage.checkoutOneTime const CheckoutOneTimeHostedPageCustomerSchema = z.looseObject({ id: z.string().max(50).optional(), email: z.string().email().max(70).optional(), first_name: z.string().max(150).optional(), last_name: z.string().max(150).optional(), company: z.string().max(250).optional(), phone: z.string().max(50).optional(), locale: z.string().max(50).optional(), taxability: z.enum(['taxable', 'exempt']).optional(), vat_number: z.string().max(20).optional(), vat_number_prefix: z.string().max(10).optional(), consolidated_invoicing: z.boolean().optional(), }); const CheckoutOneTimeHostedPageInvoiceSchema = z.object({ po_number: z.string().max(100).optional(), }); const CheckoutOneTimeHostedPageCardSchema = z.object({ gateway: z .enum([ 'chargebee', 'chargebee_payments', 'adyen', 'stripe', 'wepay', 'braintree', 'authorize_net', 'paypal_pro', 'pin', 'eway', 'eway_rapid', 'worldpay', 'balanced_payments', 'beanstream', 'bluepay', 'elavon', 'first_data_global', 'hdfc', 'migs', 'nmi', 'ogone', 'paymill', 'paypal_payflow_pro', 'sage_pay', 'tco', 'wirecard', 'amazon_payments', 'paypal_express_checkout', 'orbital', 'moneris_us', 'moneris', 'bluesnap', 'cybersource', 'vantiv', 'checkout_com', 'paypal', 'ingenico_direct', 'exact', 'mollie', 'quickbooks', 'razorpay', 'global_payments', 'bank_of_america', 'ecentric', 'metrics_global', 'windcave', 'pay_com', 'ebanx', 'dlocal', 'nuvei', 'solidgate', 'paystack', 'jp_morgan', 'deutsche_bank', 'ezidebit', 'twikey', 'tempus', 'moyasar', 'payway', ]) .optional(), gateway_account_id: z.string().max(50).optional(), }); const CheckoutOneTimeHostedPageBillingAddressSchema = z.object({ first_name: z.string().max(150).optional(), last_name: z.string().max(150).optional(), email: z.string().email().max(70).optional(), company: z.string().max(250).optional(), phone: z.string().max(50).optional(), line1: z.string().max(150).optional(), line2: z.string().max(150).optional(), line3: z.string().max(150).optional(), city: z.string().max(50).optional(), state_code: z.string().max(50).optional(), state: z.string().max(50).optional(), zip: z.string().max(20).optional(), country: z.string().max(50).optional(), validation_status: z .enum(['not_validated', 'valid', 'partially_valid', 'invalid']) .optional(), }); const CheckoutOneTimeHostedPageShippingAddressSchema = z.object({ first_name: z.string().max(150).optional(), last_name: z.string().max(150).optional(), email: z.string().email().max(70).optional(), company: z.string().max(250).optional(), phone: z.string().max(50).optional(), line1: z.string().max(150).optional(), line2: z.string().max(150).optional(), line3: z.string().max(150).optional(), city: z.string().max(50).optional(), state_code: z.string().max(50).optional(), state: z.string().max(50).optional(), zip: z.string().max(20).optional(), country: z.string().max(50).optional(), validation_status: z .enum(['not_validated', 'valid', 'partially_valid', 'invalid']) .optional(), }); const CheckoutOneTimeHostedPageAddonsSchema = z.object({ id: z.array(z.string().max(100).optional()).optional(), quantity: z.array(z.number().int().min(1).optional()).optional(), unit_price: z.array(z.number().int().min(0).optional()).optional(), quantity_in_decimal: z.array(z.string().max(33).optional()).optional(), unit_price_in_decimal: z.array(z.string().max(39).optional()).optional(), date_from: z.array(z.number().int().optional()).optional(), date_to: z.array(z.number().int().optional()).optional(), }); const CheckoutOneTimeHostedPageChargesSchema = z.object({ amount: z.array(z.number().int().min(1).optional()).optional(), amount_in_decimal: z.array(z.string().max(39).optional()).optional(), description: z.array(z.string().max(250).optional()).optional(), taxable: z.array(z.boolean().default(true).optional()).optional(), tax_profile_id: z.array(z.string().max(50).optional()).optional(), avalara_tax_code: z.array(z.string().max(50).optional()).optional(), hsn_code: z.array(z.string().max(50).optional()).optional(), taxjar_product_code: z.array(z.string().max(50).optional()).optional(), avalara_sale_type: z .array(z.enum(['wholesale', 'retail', 'consumed', 'vendor_use']).optional()) .optional(), avalara_transaction_type: z.array(z.number().int().optional()).optional(), avalara_service_type: z.array(z.number().int().optional()).optional(), date_from: z.array(z.number().int().optional()).optional(), date_to: z.array(z.number().int().optional()).optional(), }); const CheckoutOneTimeHostedPageBodySchema = z.looseObject({ currency_code: z.string().max(3).optional(), invoice_note: z.string().max(2000).optional(), coupon: z.string().max(100).optional(), coupon_ids: z.array(z.string().max(100).optional()).optional(), redirect_url: z.string().max(250).optional(), cancel_url: z.string().max(250).optional(), pass_thru_content: z.string().max(2048).optional(), embed: z.boolean().default(true).optional(), iframe_messaging: z.boolean().default(false).optional(), customer: CheckoutOneTimeHostedPageCustomerSchema.optional(), invoice: CheckoutOneTimeHostedPageInvoiceSchema.optional(), card: CheckoutOneTimeHostedPageCardSchema.optional(), billing_address: CheckoutOneTimeHostedPageBillingAddressSchema.optional(), shipping_address: CheckoutOneTimeHostedPageShippingAddressSchema.optional(), addons: CheckoutOneTimeHostedPageAddonsSchema.optional(), charges: CheckoutOneTimeHostedPageChargesSchema.optional(), }); export { CheckoutOneTimeHostedPageBodySchema }; //HostedPage.checkoutOneTimeForItems const CheckoutOneTimeForItemsHostedPageCustomerSchema = z.looseObject({ id: z.string().max(50).optional(), email: z.string().email().max(70).optional(), first_name: z.string().max(150).optional(), last_name: z.string().max(150).optional(), company: z.string().max(250).optional(), phone: z.string().max(50).optional(), locale: z.string().max(50).optional(), taxability: z.enum(['taxable', 'exempt']).optional(), vat_number: z.string().max(20).optional(), vat_number_prefix: z.string().max(10).optional(), einvoicing_method: z.enum(['automatic', 'manual', 'site_default']).optional(), is_einvoice_enabled: z.boolean().optional(), entity_identifier_scheme: z.string().max(50).optional(), entity_identifier_standard: z.string().max(50).optional(), consolidated_invoicing: z.boolean().optional(), }); const CheckoutOneTimeForItemsHostedPageInvoiceSchema = z.object({ po_number: z.string().max(100).optional(), }); const CheckoutOneTimeForItemsHostedPageCardSchema = z.object({ gateway: z .enum([ 'chargebee', 'chargebee_payments', 'adyen', 'stripe', 'wepay', 'braintree', 'authorize_net', 'paypal_pro', 'pin', 'eway', 'eway_rapid', 'worldpay', 'balanced_payments', 'beanstream', 'bluepay', 'elavon', 'first_data_global', 'hdfc', 'migs', 'nmi', 'ogone', 'paymill', 'paypal_payflow_pro', 'sage_pay', 'tco', 'wirecard', 'amazon_payments', 'paypal_express_checkout', 'orbital', 'moneris_us', 'moneris', 'bluesnap', 'cybersource', 'vantiv', 'checkout_com', 'paypal', 'ingenico_direct', 'exact', 'mollie', 'quickbooks', 'razorpay', 'global_payments', 'bank_of_america', 'ecentric', 'metrics_global', 'windcave', 'pay_com', 'ebanx', 'dlocal', 'nuvei', 'solidgate', 'paystack', 'jp_morgan', 'deutsche_bank', 'ezidebit', 'twikey', 'tempus', 'moyasar', 'payway', ]) .optional(), gateway_account_id: z.string().max(50).optional(), }); const CheckoutOneTimeForItemsHostedPageBillingAddressSchema = z.object({ first_name: z.string().max(150).optional(), last_name: z.string().max(150).optional(), email: z.string().email().max(70).optional(), company: z.string().max(250).optional(), phone: z.string().max(50).optional(), line1: z.string().max(150).optional(), line2: z.string().max(150).optional(), line3: z.string().max(150).optional(), city: z.string().max(50).optional(), state_code: z.string().max(50).optional(), state: z.string().max(50).optional(), zip: z.string().max(20).optional(), country: z.string().max(50).optional(), validation_status: z .enum(['not_validated', 'valid', 'partially_valid', 'invalid']) .optional(), }); const CheckoutOneTimeForItemsHostedPageShippingAddressSchema = z.object({ first_name: z.string().max(150).optional(), last_name: z.string().max(150).optional(), email: z.string().email().max(70).optional(), company: z.string().max(250).optional(), phone: z.string().max(50).optional(), line1: z.string().max(150).optional(), line2: z.string().max(150).optional(), line3: z.string().max(150).optional(), city: z.string().max(50).optional(), state_code: z.string().max(50).optional(), state: z.string().max(50).optional(), zip: z.string().max(20).optional(), country: z.string().max(50).optional(), validation_status: z .enum(['not_validated', 'valid', 'partially_valid', 'invalid']) .optional(), }); const CheckoutOneTimeForItemsHostedPageItemPricesSchema = z.object({ item_price_id: z.array(z.string().max(100).optional()).optional(), quantity: z.array(z.number().int().min(1).optional()).optional(), quantity_in_decimal: z.array(z.string().max(33).optional()).optional(), unit_price: z.array(z.number().int().min(0).optional()).optional(), unit_price_in_decimal: z.array(z.string().max(39).optional()).optional(), date_from: z.array(z.number().int().optional()).optional(), date_to: z.array(z.number().int().optional()).optional(), }); const CheckoutOneTimeForItemsHostedPageItemTiersSchema = z.object({ item_price_id: z.array(z.string().max(100).optional()).optional(), starting_unit: z.array(z.number().int().min(1).optional()).optional(), ending_unit: z.array(z.number().int().optional()).optional(), price: z.array(z.number().int().min(0).optional()).optional(), starting_unit_in_decimal: z.array(z.string().max(33).optional()).optional(), ending_unit_in_decimal: z.array(z.string().max(33).optional()).optional(), price_in_decimal: z.array(z.string().max(39).optional()).optional(), pricing_type: z .array(z.enum(['per_unit', 'flat_fee', 'package']).optional()) .optional(), package_size: z.array(z.number().int().min(1).optional()).optional(), }); const CheckoutOneTimeForItemsHostedPageChargesSchema = z.object({ amount: z.array(z.number().int().min(1).optional()).optional(), amount_in_decimal: z.array(z.string().max(39).optional()).optional(), description: z.array(z.string().max(250).optional()).optional(), taxable: z.array(z.boolean().default(true).optional()).optional(), tax_profile_id: z.array(z.string().max(50).optional()).optional(), avalara_tax_code: z.array(z.string().max(50).optional()).optional(), hsn_code: z.array(z.string().max(50).optional()).optional(), taxjar_product_code: z.array(z.string().max(50).optional()).optional(), avalara_sale_type: z .array(z.enum(['wholesale', 'retail', 'consumed', 'vendor_use']).optional()) .optional(), avalara_transaction_type: z.array(z.number().int().optional()).optional(), avalara_service_type: z.array(z.number().int().optional()).optional(), date_from: z.array(z.number().int().optional()).optional(), date_to: z.array(z.number().int().optional()).optional(), }); const CheckoutOneTimeForItemsHostedPageDiscountsSchema = z.object({ percentage: z.array(z.number().min(0.01).max(100).optional()).optional(), amount: z.array(z.number().int().min(0).optional()).optional(), quantity: z.array(z.number().int().min(1).optional()).optional(), apply_on: z.array(z.enum(['invoice_amount', 'specific_item_price']).optional()), item_price_id: z.array(z.string().max(100).optional()).optional(), }); const CheckoutOneTimeForItemsHostedPageEntityIdentifiersSchema = z.object({ id: z.array(z.string().max(40).optional()).optional(), scheme: z.array(z.string().max(50).optional()).optional(), value: z.array(z.string().max(50).optional()).optional(), operation: z .array(z.enum(['create', 'update', 'delete']).optional()) .optional(), standard: z.array(z.string().max(50).optional()).optional(), }); const CheckoutOneTimeForItemsHostedPageBodySchema = z.looseObject({ business_entity_id: z.string().max(50).optional(), layout: z.enum(['in_app', 'full_page']).optional(), invoice_note: z.string().max(2000).optional(), coupon: z.string().max(100).optional(), coupon_ids: z.array(z.string().max(100).optional()).optional(), currency_code: z.string().max(3).optional(), redirect_url: z.string().max(250).optional(), cancel_url: z.string().max(250).optional(), pass_thru_content: z.string().max(2048).optional(), customer: CheckoutOneTimeForItemsHostedPageCustomerSchema.optional(), invoice: CheckoutOneTimeForItemsHostedPageInvoiceSchema.optional(), card: CheckoutOneTimeForItemsHostedPageCardSchema.optional(), billing_address: CheckoutOneTimeForItemsHostedPageBillingAddressSchema.optional(), shipping_address: CheckoutOneTimeForItemsHostedPageShippingAddressSchema.optional(), item_prices: CheckoutOneTimeForItemsHostedPageItemPricesSchema.optional(), item_tiers: CheckoutOneTimeForItemsHostedPageItemTiersSchema.optional(), charges: CheckoutOneTimeForItemsHostedPageChargesSchema.optional(), discounts: CheckoutOneTimeForItemsHostedPageDiscountsSchema.optional(), entity_identifiers: CheckoutOneTimeForItemsHostedPageEntityIdentifiersSchema.optional(), }); export { CheckoutOneTimeForItemsHostedPageBodySchema }; //HostedPage.checkoutNewForItems const CheckoutNewForItemsHostedPageSubscriptionSchema = z.looseObject({ id: z.string().max(50).optional(), trial_end: z.number().int().optional(), setup_fee: z.number().int().min(0).optional(), start_date: z.number().int().optional(), coupon: z.string().max(100).optional(), auto_collection: z.enum(['on', 'off']).optional(), offline_payment_method: z .enum([ 'no_preference', 'cash', 'check', 'bank_transfer', 'ach_credit', 'sepa_credit', 'boleto', 'us_automated_bank_transfer', 'eu_automated_bank_transfer', 'uk_automated_bank_transfer', 'jp_automated_bank_transfer', 'mx_automated_bank_transfer', 'custom', ]) .optional(), invoice_notes: z.string().max(2000).optional(), po_number: z.string().max(100).optional(), contract_term_billing_cycle_on_renewal: z .number() .int() .min(1) .max(100) .optional(), }); const CheckoutNewForItemsHostedPageCustomerSchema = z.looseObject({ id: z.string().max(50).optional(), email: z.string().email().max(70).optional(), first_name: z.string().max(150).optional(), last_name: z.string().max(150).optional(), company: z.string().max(250).optional(), phone: z.string().max(50).optional(), locale: z.string().max(50).optional(), taxability: z.enum(['taxable', 'exempt']).optional(), vat_number: z.string().max(20).optional(), vat_number_prefix: z.string().max(10).optional(), is_einvoice_enabled: z.boolean().optional(), entity_identifier_scheme: z.string().max(50).optional(), entity_identifier_standard: z.string().max(50).optional(), einvoicing_method: z.enum(['automatic', 'manual', 'site_default']).optional(), }); const CheckoutNewForItemsHostedPageCardSchema = z.object({ gateway: z .enum([ 'chargebee', 'chargebee_payments', 'adyen', 'stripe', 'wepay', 'braintree', 'authorize_net', 'paypal_pro', 'pin', 'eway', 'eway_rapid', 'worldpay', 'balanced_payments', 'beanstream', 'bluepay', 'elavon', 'first_data_global', 'hdfc', 'migs', 'nmi', 'ogone', 'paymill', 'paypal_payflow_pro', 'sage_pay', 'tco', 'wirecard', 'amazon_payments', 'paypal_express_checkout', 'orbital', 'moneris_us', 'moneris', 'bluesnap', 'cybersource', 'vantiv', 'checkout_com', 'paypal', 'ingenico_direct', 'exact', 'mollie', 'quickbooks', 'razorpay', 'global_payments', 'bank_of_america', 'ecentric', 'metrics_global', 'windcave', 'pay_com', 'ebanx', 'dlocal', 'nuvei', 'solidgate', 'paystack', 'jp_morgan', 'deutsche_bank', 'ezidebit', 'twikey', 'tempus', 'moyasar', 'payway', ]) .optional(), gateway_account_id: z.string().max(50).optional(), }); const CheckoutNewForItemsHostedPageBillingAddressSchema = z.object({ first_name: z.string().max(150).optional(), last_name: z.string().max(150).optional(), email: z.string().email().max(70).optional(), company: z.string().max(250).optional(), phone: z.string().max(50).optional(), line1: z.string().max(150).optional(), line2: z.string().max(150).optional(), line3: z.string().max(150).optional(), city: z.string().max(50).optional(), state_code: z.string().max(50).optional(), state: z.string().max(50).optional(), zip: z.string().max(20).optional(), country: z.string().max(50).optional(), validation_status: z .enum(['not_validated', 'valid', 'partially_valid', 'invalid']) .optional(), }); const CheckoutNewForItemsHostedPageShippingAddressSchema = z.object({ first_name: z.string().max(150).optional(), last_name: z.string().max(150).optional(), email: z.string().email().max(70).optional(), company: z.string().max(250).optional(), phone: z.string().max(50).optional(), line1: z.string().max(150).optional(), line2: z.string().max(150).optional(), line3: z.string().max(150).optional(), city: z.string().max(50).optional(), state_code: z.string().max(50).optional(), state: z.string().max(50).optional(), zip: z.string().max(20).optional(), country: z.string().max(50).optional(), validation_status: z .enum(['not_validated', 'valid', 'partially_valid', 'invalid']) .optional(), }); const CheckoutNewForItemsHostedPageContractTermSchema = z.object({ action_at_term_end: z.enum(['renew', 'evergreen', 'cancel']).optional(), cancellation_cutoff_period: z.number().int().optional(), }); const CheckoutNewForItemsHostedPageSubscriptionItemsSchema = z.object({ item_price_id: z.array(z.string().max(100).optional()), quantity: z.array(z.number().int().min(1).optional()).optional(), quantity_in_decimal: z.array(z.string().max(33).optional()).optional(), unit_price: z.array(z.number().int().min(0).optional()).optional(), unit_price_in_decimal: z.array(z.string().max(39).optional()).optional(), billing_cycles: z.array(z.number().int().min(0).optional()).optional(), trial_end: z.array(z.number().int().optional()).optional(), service_period_days: z .array(z.number().int().min(1).max(730).optional()) .optional(), charge_on_event: z .array(z .enum([ 'subscription_creation', 'subscription_trial_start', 'plan_activation', 'subscription_activation', 'contract_termination', ]) .optional()) .optional(), charge_once: z.array(z.boolean().optional()).optional(), item_type: z.array(z.enum(['plan', 'addon', 'charge']).optional()).optional(), charge_on_option: z .array(z.enum(['immediately', 'on_event']).optional()) .optional(), }); const CheckoutNewForItemsHostedPageDiscountsSchema = z.object({ apply_on: z .array(z.enum(['invoice_amount', 'specific_item_price']).optional()) .optional(), duration_type: z.array(z.enum(['one_time', 'forever', 'limited_period']).optional()), percentage: z.array(z.number().min(0.01).max(100).optional()).optional(), amount: z.array(z.number().int().min(0).optional()).optional(), period: z.array(z.number().int().min(1).optional()).optional(), period_unit: z .array(z.enum(['day', 'week', 'month', 'year']).optional()) .optional(), included_in_mrr: z.array(z.boolean().optional()).optional(), item_price_id: z.array(z.string().max(100).optional()).optional(), quantity: z.array(z.number().int().min(1).optional()).optional(), }); const CheckoutNewForItemsHostedPageItemTiersSchema = z.object({ item_price_id: z.array(z.string().max(100).optional()).optional(), starting_unit: z.array(z.number().int().min(1).optional()).optional(), ending_unit: z.array(z.number().int().optional()).optional(), price: z.array(z.number().int().min(0).optional()).optional(), starting_unit_in_decimal: z.array(z.string().max(33).optional()).optional(), ending_unit_in_decimal: z.array(z.string().max(33).optional()).optional(), price_in_decimal: z.array(z.string().max(39).optional()).optional(), pricing_type: z .array(z.enum(['per_unit', 'flat_fee', 'package']).optional()) .optional(), package_size: z.array(z.number().int().min(1).optional()).optional(), }); const CheckoutNewForItemsHostedPageEntityIdentifiersSchema = z.object({ id: z.array(z.string().max(40).optional()).optional(), scheme: z.array(z.string().max(50).optional()).optional(), value: z.array(z.string().max(50).optional()).optional(), operation: z .array(z.enum(['create', 'update', 'delete']).optional()) .optional(), standard: z.array(z.string().max(50).optional()).optional(), }); const CheckoutNewForItemsHostedPageBodySchema = z.looseObject({ layout: z.enum(['in_app', 'full_page']).optional(), business_entity_id: z.string().max(50).optional(), billing_cycles: z.number().int().min(0).optional(), mandatory_items_to_remove: z.array(z.string().max(100).optional()).optional(), terms_to_charge: z.number().int().min(1).optional(), billing_alignment_mode: z.enum(['immediate', 'delayed']).optional(), coupon_ids: z.array(z.string().max(100).optional()).optional(), redirect_url: z.string().max(250).optional(), cancel_url: z.string().max(250).optional(), pass_thru_content: z.string().max(2048).optional(), allow_offline_payment_methods: z.boolean().optional(), subscription: CheckoutNewForItemsHostedPageSubscriptionSchema.optional(), customer: CheckoutNewForItemsHostedPageCustomerSchema.optional(), card: CheckoutNewForItemsHostedPageCardSchema.optional(), billing_address: CheckoutNewForItemsHostedPageBillingAddressSchema.optional(), shipping_address: CheckoutNewForItemsHostedPageShippingAddressSchema.optional(), contract_term: CheckoutNewForItemsHostedPageContractTermSchema.optional(), subscription_items: CheckoutNewForItemsHostedPageSubscriptionItemsSchema.optional(), discounts: CheckoutNewForItemsHostedPageDiscountsSchema.optional(), item_tiers: CheckoutNewForItemsHostedPageItemTiersSchema.optional(), entity_identifiers: CheckoutNewForItemsHostedPageEntityIdentifiersSchema.optional(), }); export { CheckoutNewForItemsHostedPageBodySchema }; //HostedPage.checkoutExisting const CheckoutExistingHostedPageSubscriptionSchema = z.looseObject({ id: z.string().max(50), plan_id: z.string().max(100).optional(), plan_quantity: z.number().int().min(1).optional(), plan_unit_price: z.number().int().min(0).optional(), setup_fee: z.number().int().min(0).optional(), plan_quantity_in_decimal: z.string().max(33).optional(), plan_unit_price_in_decimal: z.string().max(39).optional(), start_date: z.number().int().optional(), trial_end: z.number().int().optional(), coupon: z.string().max(100).optional(), auto_collection: z.enum(['on', 'off']).optional(), offline_payment_method: z .enum([ 'no_preference', 'cash', 'check', 'bank_transfer', 'ach_credit', 'sepa_credit', 'boleto', 'us_automated_bank_transfer', 'eu_automated_bank_transfer', 'uk_automated_bank_transfer', 'jp_automated_bank_transfer', 'mx_automated_bank_transfer', 'custom', ]) .optional(), invoice_notes: z.string().max(2000).optional(), contract_term_billing_cycle_on_renewal: z .number() .int() .min(1) .max(100) .optional(), }); const CheckoutExistingHostedPageCustomerSchema = z.looseObject({ vat_number: z.string().max(20).optional(), vat_number_prefix: z.string().max(10).optional(), }); const CheckoutExistingHostedPageCardSchema = z.object({ gateway: z .enum([ 'chargebee', 'chargebee_payments', 'adyen', 'stripe', 'wepay', 'braintree', 'authorize_net', 'paypal_pro', 'pin', 'eway', 'eway_rapid', 'worldpay', 'balanced_payments', 'beanstream', 'bluepay', 'elavon', 'first_data_global', 'hdfc', 'migs', 'nmi', 'ogone', 'paymill', 'paypal_payflow_pro', 'sage_pay', 'tco', 'wirecard', 'amazon_payments', 'paypal_express_checkout', 'orbital', 'moneris_us', 'moneris', 'bluesnap', 'cybersource', 'vantiv', 'checkout_com', 'paypal', 'ingenico_direct', 'exact', 'mollie', 'quickbooks', 'razorpay', 'global_payments', 'bank_of_america', 'ecentric', 'metrics_global', 'windcave', 'pay_com', 'ebanx', 'dlocal', 'nuvei', 'solidgate', 'paystack', 'jp_morgan', 'deutsche_bank', 'ezidebit', 'twikey', 'tempus', 'moyasar', 'payway', ]) .optional(), gateway_account_id: z.string().max(50).optional(), }); const CheckoutExistingHostedPageContractTermSchema = z.object({ action_at_term_end: z.enum(['renew', 'evergreen', 'cancel']).optional(), cancellation_cutoff_period: z.number().int().optional(), }); const CheckoutExistingHostedPageAddonsSchema = z.object({ id: z.array(z.string().max(100).optional()).optional(), quantity: z.array(z.number().int().min(1).optional()).optional(), unit_price: z.array(z.number().int().min(0).optional()).optional(), billing_cycles: z.array(z.number().int().min(0).optional()).optional(), quantity_in_decimal: z.array(z.string().max(33).optional()).optional(), unit_price_in_decimal: z.array(z.string().max(39).optional()).optional(), }); const CheckoutExistingHostedPageEventBasedAddonsSchema = z.object({ id: z.array(z.string().max(100).optional()).optional(), quantity: z.array(z.number().int().min(1).optional()).optional(), unit_price: z.array(z.number().int().min(0).optional()).optional(), service_period_in_days: z .array(z.number().int().min(1).max(4000).optional()) .optional(), charge_on: z.array(z.enum(['immediately', 'on_event']).optional()).optional(), on_event: z .array(z .enum([ 'subscription_creation', 'subscription_trial_start', 'plan_activation', 'subscription_activation', 'contract_termination', ]) .optional()) .optional(), charge_once: z.array(z.boolean().default(true).optional()).optional(), quantity_in_decimal: z.array(z.string().max(33).optional()).optional(), unit_price_in_decimal: z.array(z.string().max(39).optional()).optional(), }); const CheckoutExistingHostedPageBodySchema = z.looseObject({ replace_addon_list: z.boolean().default(false).optional(), mandatory_addons_to_remove: z .array(z.string().max(100).optional()) .optional(), invoice_date: z.number().int().optional(), billing_cycles: z.number().int().min(0).optional(), terms_to_charge: z.number().int().min(1).optional(), reactivate_from: z.number().int().optional(), billing_alignment_mode: z.enum(['immediate', 'delayed']).optional(), coupon_ids: z.array(z.string().max(100).optional()).optional(), replace_coupon_list: z.boolean().default(false).optional(), reactivate: z.boolean().optional(), force_term_reset: z.boolean().default(false).optional(), redirect_url: z.string().max(250).optional(), cancel_url: z.string().max(250).optional(), pass_thru_content: z.string().max(2048).optional(), embed: z.boolean().default(true).optional(), iframe_messaging: z.boolean().default(false).optional(), allow_offline_payment_methods: z.boolean().optional(), subscription: CheckoutExistingHostedPageSubscriptionSchema.optional(), customer: CheckoutExistingHostedPageCustomerSchema.optional(), card: CheckoutExistingHostedPageCardSchema.optional(), contract_term: CheckoutExistingHostedPageContractTermSchema.optional(), addons: CheckoutExistingHostedPageAddonsSchema.optional(), event_based_addons: CheckoutExistingHostedPageEventBasedAddonsSchema.optional(), }); export { CheckoutExistingHostedPageBodySchema }; //HostedPage.checkoutExistingForItems const CheckoutExistingForItemsHostedPageSubscriptionSchema = z.looseObject({ id: z.string().max(50), setup_fee: z.number().int().min(0).optional(), start_date: z.number().int().optional(), trial_end: z.number().int().optional(), coupon: z.string().max(100).optional(), auto_collection: z.enum(['on', 'off']).optional(), offline_payment_method: z .enum([ 'no_preference', 'cash', 'check', 'bank_transfer', 'ach_credit', 'sepa_credit', 'boleto', 'us_automated_bank_transfer', 'eu_automated_bank_transfer', 'uk_automated_bank_transfer', 'jp_automated_bank_transfer', 'mx_automated_bank_transfer', 'custom', ]) .optional(), invoice_notes: z.string().max(2000).optional(), contract_term_billing_cycle_on_renewal: z .number() .int() .min(1) .max(100) .optional(), }); const CheckoutExistingForItemsHostedPageCustomerSchema = z.looseObject({ vat_number: z.string().max(20).optional(), vat_number_prefix: z.string().max(10).optional(), is_einvoice_enabled: z.boolean().optional(), entity_identifier_scheme: z.string().max(50).optional(), entity_identifier_standard: z.string().max(50).optional(), }); const CheckoutExistingForItemsHostedPageCardSchema = z.object({ gateway: z .enum([ 'chargebee', 'chargebee_payments', 'adyen', 'stripe', 'wepay', 'braintree', 'authorize_net', 'paypal_pro', 'pin', 'eway', 'eway_rapid', 'worldpay', 'balanced_payments', 'beanstream', 'bluepay', 'elavon', 'first_data_global', 'hdfc', 'migs', 'nmi', 'ogone', 'paymill', 'paypal_payflow_pro', 'sage_pay', 'tco', 'wirecard', 'amazon_payments', 'paypal_express_checkout', 'orbital', 'moneris_us', 'moneris', 'bluesnap', 'cybersource', 'vantiv', 'checkout_com', 'paypal', 'ingenico_direct', 'exact', 'mollie', 'quickbooks', 'razorpay', 'global_payments', 'bank_of_america', 'ecentric', 'metrics_global', 'windcave', 'pay_com', 'ebanx', 'dlocal', 'nuvei', 'solidgate', 'paystack', 'jp_morgan', 'deutsche_bank', 'ezidebit', 'twikey', 'tempus', 'moyasar', 'payway', ]) .optional(), gateway_account_id: z.string().max(50).optional(), }); const CheckoutExistingForItemsHostedPageContractTermSchema = z.object({ action_at_term_end: z.enum(['renew', 'evergreen', 'cancel']).optional(), cancellation_cutoff_period: z.number().int().optional(), }); const CheckoutExistingForItemsHostedPageSubscriptionItemsSchema = z.object({ item_price_id: z.array(z.string().max(100).optional()), quantity: z.array(z.number().int().min(1).optional()).optional(), quantity_in_decimal: z.array(z.string().max(33).optional()).optional(), unit_price: z.array(z.number().int().min(0).optional()).optional(), unit_price_in_decimal: z.array(z.string().max(39).optional()).optional(), billing_cycles: z.array(z.number().int().min(0).optional()).optional(), trial_end: z.array(z.number().int().optional()).optional(), service_period_days: z .array(z.number().int().min(1).max(730).optional()) .optional(), charge_on_event: z .array(z .enum([ 'subscription_creation', 'subscription_trial_start', 'plan_activation', 'subscription_activation', 'contract_termination', ]) .optional()) .optional(), charge_once: z.array(z.boolean().optional()).optional(), charge_on_option: z .array(z.enum(['immediately', 'on_event']).optional()) .optional(), item_type: z.array(z.enum(['plan', 'addon', 'charge']).optional()).optional(), }); const CheckoutExistingForItemsHostedPageDiscountsSchema = z.object({ apply_on: z .array(z.enum(['invoice_amount', 'specific_item_price']).optional()) .optional(), duration_type: z.array(z.enum(['one_time', 'forever', 'limited_period']).optional()), percentage: z.array(z.number().min(0.01).max(100).optional()).optional(), amount: z.array(z.number().int().min(0).optional()).optional(), period: z.array(z.number().int().min(1).optional()).optional(), period_unit: z .array(z.enum(['day', 'week', 'month', 'year']).optional()) .optional(), included_in_mrr: z.array(z.boolean().optional()).optional(), item_price_id: z.array(z.string().max(100).optional()).optional(), quantity: z.array(z.number().int().min(1).optional()).optional(), operation_type: z.array(z.enum(['add', 'remove']).optional()), id: z.array(z.string().max(50).optional()).optional(), }); const CheckoutExistingForItemsHostedPageItemTiersSchema = z.object({ item_price_id: z.array(z.string().max(100).optional()).optional(), starting_unit: z.array(z.number().int().min(1).optional()).optional(), ending_unit: z.array(z.number().int().optional()).optional(), price: z.array(z.number().int().min(0).optional()).optional(), starting_unit_in_decimal: z.array(z.string().max(33).optional()).optional(), ending_unit_in_decimal: z.array(z.string().max(33).optional()).optional(), price_in_decimal: z.array(z.string().max(39).optional()).optional(), pricing_type: z .array(z.enum(['per_unit', 'flat_fee', 'package']).optional()) .optional(), package_size: z.array(z.number().int().min(1).optional()).optional(), }); const CheckoutExistingForItemsHostedPageEntityIdentifiersSchema = z.object({ id: z.array(z.string().max(40).optional()).optional(), scheme: z.array(z.string().max(50).optional()).optional(), value: z.array(z.string().max(50).optional()).optional(), operation: z .array(z.enum(['create', 'update', 'delete']).optional()) .optional(), standard: z.array(z.string().max(50).optional()).optional(), }); const CheckoutExistingForItemsHostedPageBodySchema = z.looseObject({ layout: z.enum(['in_app', 'full_page']).optional(), mandatory_items_to_remove: z.array(z.string().max(100).optional()).optional(), replace_items_list: z.boolean().default(false).optional(), invoice_date: z.number().int().optional(), billing_cycles: z.number().int().min(0).optional(), terms_to_charge: z.number().int().min(1).optional(), reactivate_from: z.number().int().optional(), billing_alignment_mode: z.enum(['immediate', 'delayed']).optional(), coupon_ids: z.array(z.string().max(100).optional()).optional(), replace_coupon_list: z.boolean().default(false).optional(), reactivate: z.boolean().optional(), force_term_reset: z.boolean().default(false).optional(), change_option: z .enum(['immediately', 'end_of_term', 'specific_date']) .optional(), changes_scheduled_at: z.number().int().optional(), invoice_usages: z.boolean().default(false).optional(), redirect_url: z.string().max(250).optional(), cancel_url: z.string().max(250).optional(), pass_thru_content: z.string().max(2048).optional(), allow_offline_payment_methods: z.boolean().optional(), subscription: CheckoutExistingForItemsHostedPageSubscriptionSchema.optional(), customer: CheckoutExistingForItemsHostedPageCustomerSchema.optional(), card: CheckoutExistingForItemsHostedPageCardSchema.optional(), contract_term: CheckoutExistingForItemsHostedPageContractTermSchema.optional(), subscription_items: CheckoutExistingForItemsHostedPageSubscriptionItemsSchema.optional(), discounts: CheckoutExistingForItemsHostedPageDiscountsSchema.optional(), item_tiers: CheckoutExistingForItemsHostedPageItemTiersSchema.optional(), entity_identifiers: CheckoutExistingForItemsHostedPageEntityIdentifiersSchema.optional(), }); export { CheckoutExistingForItemsHostedPageBodySchema }; //HostedPage.updateCard const UpdateCardHostedPageCustomerSchema = z.object({ id: z.string().max(50), vat_number: z.string().max(20).optional(), vat_number_prefix: z.string().max(10).optional(), }); const UpdateCardHostedPageCardSchema = z.object({ gateway: z .enum([ 'chargebee', 'chargebee_payments', 'adyen', 'stripe', 'wepay', 'braintree', 'authorize_net', 'paypal_pro', 'pin', 'eway', 'eway_rapid', 'worldpay', 'balanced_payments', 'beanstream', 'bluepay', 'elavon', 'first_data_global', 'hdfc', 'migs', 'nmi', 'ogone', 'paymill', 'paypal_payflow_pro', 'sage_pay', 'tco', 'wirecard', 'amazon_payments', 'paypal_express_checkout', 'orbital', 'moneris_us', 'moneris', 'bluesnap', 'cybersource', 'vantiv', 'checkout_com', 'paypal', 'ingenico_direct', 'exact', 'mollie', 'quickbooks', 'razorpay', 'global_payments', 'bank_of_america', 'ecentric', 'metrics_global', 'windcave', 'pay_com', 'ebanx', 'dlocal', 'nuvei', 'solidgate', 'paystack', 'jp_morgan', 'deutsche_bank', 'ezidebit', 'twikey', 'tempus', 'moyasar', 'payway', ]) .optional(), gateway_account_id: z.string().max(50).optional(), }); const UpdateCardHostedPageBodySchema = z.looseObject({ redirect_url: z.string().max(250).optional(), cancel_url: z.string().max(250).optional(), pass_thru_content: z.string().max(2048).optional(), iframe_messaging: z.boolean().default(false).optional(), customer: UpdateCardHostedPageCustomerSchema.optional(), card: UpdateCardHostedPageCardSchema.optional(), embed: z.boolean().default(true).optional(), }); export { UpdateCardHostedPageBodySchema }; //HostedPage.updatePaymentMethod const UpdatePaymentMethodHostedPageCustomerSchema = z.object({ id: z.string().max(50), vat_number: z.string().max(20).optional(), vat_number_prefix: z.string().max(10).optional(), }); const UpdatePaymentMethodHostedPageCardSchema = z.object({ gateway: z .enum([ 'chargebee', 'chargebee_payments', 'adyen', 'stripe', 'wepay', 'braintree', 'authorize_net', 'paypal_pro', 'pin', 'eway', 'eway_rapid', 'worldpay', 'balanced_payments', 'beanstream', 'bluepay', 'elavon', 'first_data_global', 'hdfc', 'migs',