UNPKG

chargebee

Version:

A library for integrating with Chargebee.

1,279 lines 66.2 kB
// Generated Zod schemas: Invoice // Actions: create, createForChargeItemsAndCharges, charge, chargeAddon, createForChargeItem, stopDunning, pauseDunning, resumeDunning, importInvoice, applyPayments, deleteLineItems, applyCredits, list, invoicesForCustomer, invoicesForSubscription, retrieve, pdf, listPaymentReferenceNumbers, addCharge, addAddonCharge, addChargeItem, close, collectPayment, recordPayment, recordTaxWithheld, removeTaxWithheld, refund, recordRefund, removePayment, removeCreditNote, voidInvoice, writeOff, delete, updateDetails, applyPaymentScheduleScheme // Do not edit manually – regenerate via sdk-generator import { z } from 'zod'; //Invoice.create const CreateInvoiceShippingAddressSchema = 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 CreateInvoiceStatementDescriptorSchema = z.object({ descriptor: z.string().max(65000).optional(), }); const CreateInvoiceAdditionalInformationSchema = z.looseObject({}); const CreateInvoiceCardSchema = 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(), tmp_token: z.string().max(300).optional(), first_name: z.string().max(50).optional(), last_name: z.string().max(50).optional(), number: z.string().max(1500).optional(), expiry_month: z.number().int().min(1).max(12).optional(), expiry_year: z.number().int().optional(), cvv: z.string().max(520).optional(), preferred_scheme: z .enum(['cartes_bancaires', 'mastercard', 'visa']) .optional(), billing_addr1: z.string().max(150).optional(), billing_addr2: z.string().max(150).optional(), billing_city: z.string().max(50).optional(), billing_state_code: z.string().max(50).optional(), billing_state: z.string().max(50).optional(), billing_zip: z.string().max(20).optional(), billing_country: z.string().max(50).optional(), ip_address: z.string().max(50).optional(), additional_information: CreateInvoiceAdditionalInformationSchema.optional(), }); const CreateInvoiceBillingAddressSchema = z.looseObject({}); const CreateInvoiceBankAccountSchema = z.object({ gateway_account_id: z.string().max(50).optional(), iban: z.string().max(50).min(10).optional(), first_name: z.string().max(150).optional(), last_name: z.string().max(150).optional(), company: z.string().max(250).optional(), email: z.string().email().max(70).optional(), phone: z.string().max(50).optional(), bank_name: z.string().max(100).optional(), account_number: z.string().max(17).min(4).optional(), routing_number: z.string().max(9).min(3).optional(), bank_code: z.string().max(20).optional(), account_type: z .enum(['checking', 'savings', 'business_checking', 'current']) .optional(), account_holder_type: z.enum(['individual', 'company']).optional(), echeck_type: z.enum(['web', 'ppd', 'ccd']).optional(), issuing_country: z.string().max(50).optional(), swedish_identity_number: z.string().max(12).min(10).optional(), billing_address: CreateInvoiceBillingAddressSchema.optional(), }); const CreateInvoicePaymentMethodSchema = z.object({ type: z .enum([ 'card', 'paypal_express_checkout', 'amazon_payments', 'direct_debit', 'generic', 'alipay', 'unionpay', 'apple_pay', 'wechat_pay', 'ideal', 'google_pay', 'sofort', 'bancontact', 'giropay', 'dotpay', 'upi', 'netbanking_emandates', 'venmo', 'pay_to', 'faster_payments', 'sepa_instant_transfer', 'automated_bank_transfer', 'klarna_pay_now', 'online_banking_poland', 'payconiq_by_bancontact', 'electronic_payment_standard', 'kbc_payment_button', 'pay_by_bank', 'trustly', 'stablecoin', 'kakao_pay', 'naver_pay', 'revolut_pay', 'cash_app_pay', 'twint', 'go_pay', 'grab_pay', 'pay_co', 'after_pay', 'swish', 'payme', 'pix', 'klarna', 'alipay_hk', 'paypay', 'gcash', 'south_korean_cards', ]) .optional(), gateway: z .enum([ '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', 'gocardless', '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(), reference_id: z.string().max(200).optional(), tmp_token: z.string().max(65000).optional(), issuing_country: z.string().max(50).optional(), additional_information: CreateInvoiceAdditionalInformationSchema.optional(), }); const CreateInvoicePaymentIntentSchema = z.object({ id: z.string().max(150).optional(), gateway_account_id: z.string().max(50).optional(), gw_token: z.string().max(65000).optional(), payment_method_type: z .enum([ 'card', 'ideal', 'sofort', 'bancontact', 'google_pay', 'dotpay', 'giropay', 'apple_pay', 'upi', 'netbanking_emandates', 'paypal_express_checkout', 'direct_debit', 'boleto', 'venmo', 'amazon_payments', 'pay_to', 'faster_payments', 'sepa_instant_transfer', 'klarna_pay_now', 'online_banking_poland', 'payconiq_by_bancontact', 'electronic_payment_standard', 'kbc_payment_button', 'pay_by_bank', 'trustly', 'stablecoin', 'kakao_pay', 'naver_pay', 'revolut_pay', 'cash_app_pay', 'wechat_pay', 'alipay', 'twint', 'go_pay', 'grab_pay', 'pay_co', 'after_pay', 'swish', 'payme', 'pix', 'klarna', 'alipay_hk', 'paypay', 'gcash', 'south_korean_cards', ]) .optional(), reference_id: z.string().max(65000).optional(), gw_payment_method_id: z.string().max(65000).optional(), additional_information: CreateInvoiceAdditionalInformationSchema.optional(), }); const CreateInvoiceAddonsSchema = 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 CreateInvoiceChargesSchema = 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 CreateInvoiceTaxProvidersFieldsSchema = z.object({ provider_name: z.array(z.string().max(50).optional()).optional(), field_id: z.array(z.string().max(50).optional()).optional(), field_value: z.array(z.string().max(50).optional()).optional(), }); const CreateInvoiceNotesToRemoveSchema = z.object({ entity_type: z .array(z .enum(['plan', 'addon', 'customer', 'subscription', 'coupon']) .optional()) .optional(), entity_id: z.array(z.string().max(100).optional()).optional(), }); const CreateInvoiceBodySchema = z.looseObject({ customer_id: z.string().max(50).optional(), subscription_id: z.string().max(50).optional(), currency_code: z.string().max(3).optional(), invoice_date: z.number().int().optional(), invoice_note: z.string().max(2000).optional(), remove_general_note: z.boolean().default(false).optional(), po_number: z.string().max(100).optional(), coupon: z.string().max(100).optional(), coupon_ids: z.array(z.string().max(100).optional()).optional(), authorization_transaction_id: z.string().max(40).optional(), payment_source_id: z.string().max(40).optional(), auto_collection: z.enum(['on', 'off']).optional(), token_id: z.string().max(40).optional(), replace_primary_payment_source: z.boolean().default(false).optional(), retain_payment_source: z.boolean().default(true).optional(), payment_initiator: z.enum(['customer', 'merchant']).optional(), shipping_address: CreateInvoiceShippingAddressSchema.optional(), statement_descriptor: CreateInvoiceStatementDescriptorSchema.optional(), card: CreateInvoiceCardSchema.optional(), bank_account: CreateInvoiceBankAccountSchema.optional(), payment_method: CreateInvoicePaymentMethodSchema.optional(), payment_intent: CreateInvoicePaymentIntentSchema.optional(), addons: CreateInvoiceAddonsSchema.optional(), charges: CreateInvoiceChargesSchema.optional(), tax_providers_fields: CreateInvoiceTaxProvidersFieldsSchema.optional(), notes_to_remove: CreateInvoiceNotesToRemoveSchema.optional(), }); export { CreateInvoiceBodySchema }; //Invoice.createForChargeItemsAndCharges const CreateForChargeItemsAndChargesInvoiceShippingAddressSchema = 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 CreateForChargeItemsAndChargesInvoiceStatementDescriptorSchema = z.object({ descriptor: z.string().max(65000).optional(), }); const CreateForChargeItemsAndChargesInvoiceAdditionalInformationSchema = z.looseObject({}); const CreateForChargeItemsAndChargesInvoiceCardSchema = 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(), tmp_token: z.string().max(300).optional(), first_name: z.string().max(50).optional(), last_name: z.string().max(50).optional(), number: z.string().max(1500).optional(), expiry_month: z.number().int().min(1).max(12).optional(), expiry_year: z.number().int().optional(), cvv: z.string().max(520).optional(), preferred_scheme: z .enum(['cartes_bancaires', 'mastercard', 'visa']) .optional(), billing_addr1: z.string().max(150).optional(), billing_addr2: z.string().max(150).optional(), billing_city: z.string().max(50).optional(), billing_state_code: z.string().max(50).optional(), billing_state: z.string().max(50).optional(), billing_zip: z.string().max(20).optional(), billing_country: z.string().max(50).optional(), ip_address: z.string().max(50).optional(), additional_information: CreateForChargeItemsAndChargesInvoiceAdditionalInformationSchema.optional(), }); const CreateForChargeItemsAndChargesInvoiceBillingAddressSchema = z.looseObject({}); const CreateForChargeItemsAndChargesInvoiceBankAccountSchema = z.object({ gateway_account_id: z.string().max(50).optional(), iban: z.string().max(50).min(10).optional(), first_name: z.string().max(150).optional(), last_name: z.string().max(150).optional(), company: z.string().max(250).optional(), email: z.string().email().max(70).optional(), phone: z.string().max(50).optional(), bank_name: z.string().max(100).optional(), account_number: z.string().max(17).min(4).optional(), routing_number: z.string().max(9).min(3).optional(), bank_code: z.string().max(20).optional(), account_type: z .enum(['checking', 'savings', 'business_checking', 'current']) .optional(), account_holder_type: z.enum(['individual', 'company']).optional(), echeck_type: z.enum(['web', 'ppd', 'ccd']).optional(), issuing_country: z.string().max(50).optional(), swedish_identity_number: z.string().max(12).min(10).optional(), billing_address: CreateForChargeItemsAndChargesInvoiceBillingAddressSchema.optional(), }); const CreateForChargeItemsAndChargesInvoicePaymentMethodSchema = z.object({ type: z .enum([ 'card', 'paypal_express_checkout', 'amazon_payments', 'direct_debit', 'generic', 'alipay', 'unionpay', 'apple_pay', 'wechat_pay', 'ideal', 'google_pay', 'sofort', 'bancontact', 'giropay', 'dotpay', 'upi', 'netbanking_emandates', 'venmo', 'pay_to', 'faster_payments', 'sepa_instant_transfer', 'automated_bank_transfer', 'klarna_pay_now', 'online_banking_poland', 'payconiq_by_bancontact', 'electronic_payment_standard', 'kbc_payment_button', 'pay_by_bank', 'trustly', 'stablecoin', 'kakao_pay', 'naver_pay', 'revolut_pay', 'cash_app_pay', 'twint', 'go_pay', 'grab_pay', 'pay_co', 'after_pay', 'swish', 'payme', 'pix', 'klarna', 'alipay_hk', 'paypay', 'gcash', 'south_korean_cards', ]) .optional(), gateway: z .enum([ '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', 'gocardless', '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(), reference_id: z.string().max(200).optional(), tmp_token: z.string().max(65000).optional(), issuing_country: z.string().max(50).optional(), additional_information: CreateForChargeItemsAndChargesInvoiceAdditionalInformationSchema.optional(), }); const CreateForChargeItemsAndChargesInvoicePaymentIntentSchema = z.object({ id: z.string().max(150).optional(), gateway_account_id: z.string().max(50).optional(), gw_token: z.string().max(65000).optional(), payment_method_type: z .enum([ 'card', 'ideal', 'sofort', 'bancontact', 'google_pay', 'dotpay', 'giropay', 'apple_pay', 'upi', 'netbanking_emandates', 'paypal_express_checkout', 'direct_debit', 'boleto', 'venmo', 'amazon_payments', 'pay_to', 'faster_payments', 'sepa_instant_transfer', 'klarna_pay_now', 'online_banking_poland', 'payconiq_by_bancontact', 'electronic_payment_standard', 'kbc_payment_button', 'pay_by_bank', 'trustly', 'stablecoin', 'kakao_pay', 'naver_pay', 'revolut_pay', 'cash_app_pay', 'wechat_pay', 'alipay', 'twint', 'go_pay', 'grab_pay', 'pay_co', 'after_pay', 'swish', 'payme', 'pix', 'klarna', 'alipay_hk', 'paypay', 'gcash', 'south_korean_cards', ]) .optional(), reference_id: z.string().max(65000).optional(), gw_payment_method_id: z.string().max(65000).optional(), additional_information: CreateForChargeItemsAndChargesInvoiceAdditionalInformationSchema.optional(), }); const CreateForChargeItemsAndChargesInvoiceItemPricesSchema = 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 CreateForChargeItemsAndChargesInvoiceItemTiersSchema = 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 CreateForChargeItemsAndChargesInvoiceChargesSchema = 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 CreateForChargeItemsAndChargesInvoiceNotesToRemoveSchema = z.object({ entity_type: z .array(z .enum([ 'customer', 'subscription', 'coupon', 'plan_item_price', 'addon_item_price', 'charge_item_price', ]) .optional()) .optional(), entity_id: z.array(z.string().max(100).optional()).optional(), }); const CreateForChargeItemsAndChargesInvoiceTaxProvidersFieldsSchema = z.object({ provider_name: z.array(z.string().max(50).optional()).optional(), field_id: z.array(z.string().max(50).optional()).optional(), field_value: z.array(z.string().max(50).optional()).optional(), }); const CreateForChargeItemsAndChargesInvoiceDiscountsSchema = 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 CreateForChargeItemsAndChargesInvoiceBodySchema = z.looseObject({ customer_id: z.string().max(50).optional(), subscription_id: z.string().max(50).optional(), currency_code: z.string().max(3).optional(), invoice_note: z.string().max(2000).optional(), remove_general_note: z.boolean().default(false).optional(), po_number: z.string().max(100).optional(), coupon: z.string().max(100).optional(), coupon_ids: z.array(z.string().max(100).optional()).optional(), authorization_transaction_id: z.string().max(40).optional(), payment_source_id: z.string().max(40).optional(), auto_collection: z.enum(['on', 'off']).optional(), net_term_days: z.number().int().optional(), invoice_date: z.number().int().optional(), token_id: z.string().max(40).optional(), replace_primary_payment_source: z.boolean().default(false).optional(), retain_payment_source: z.boolean().default(true).optional(), payment_initiator: z.enum(['customer', 'merchant']).optional(), shipping_address: CreateForChargeItemsAndChargesInvoiceShippingAddressSchema.optional(), statement_descriptor: CreateForChargeItemsAndChargesInvoiceStatementDescriptorSchema.optional(), card: CreateForChargeItemsAndChargesInvoiceCardSchema.optional(), bank_account: CreateForChargeItemsAndChargesInvoiceBankAccountSchema.optional(), payment_method: CreateForChargeItemsAndChargesInvoicePaymentMethodSchema.optional(), payment_intent: CreateForChargeItemsAndChargesInvoicePaymentIntentSchema.optional(), item_prices: CreateForChargeItemsAndChargesInvoiceItemPricesSchema.optional(), item_tiers: CreateForChargeItemsAndChargesInvoiceItemTiersSchema.optional(), charges: CreateForChargeItemsAndChargesInvoiceChargesSchema.optional(), notes_to_remove: CreateForChargeItemsAndChargesInvoiceNotesToRemoveSchema.optional(), tax_providers_fields: CreateForChargeItemsAndChargesInvoiceTaxProvidersFieldsSchema.optional(), discounts: CreateForChargeItemsAndChargesInvoiceDiscountsSchema.optional(), }); export { CreateForChargeItemsAndChargesInvoiceBodySchema }; //Invoice.charge const ChargeInvoiceTaxProvidersFieldsSchema = z.object({ provider_name: z.array(z.string().max(50).optional()).optional(), field_id: z.array(z.string().max(50).optional()).optional(), field_value: z.array(z.string().max(50).optional()).optional(), }); const ChargeInvoiceBodySchema = z.looseObject({ customer_id: z.string().max(50).optional(), subscription_id: z.string().max(50).optional(), currency_code: z.string().max(3).optional(), amount: z.number().int().min(1).optional(), amount_in_decimal: z.string().max(39).optional(), description: z.string().max(250), date_from: z.number().int().optional(), date_to: z.number().int().optional(), coupon_ids: z.array(z.string().max(100).optional()).optional(), coupon: z.string().max(100).optional(), avalara_sale_type: z .enum(['wholesale', 'retail', 'consumed', 'vendor_use']) .optional(), avalara_transaction_type: z.number().int().optional(), avalara_service_type: z.number().int().optional(), po_number: z.string().max(100).optional(), invoice_date: z.number().int().optional(), payment_source_id: z.string().max(40).optional(), payment_initiator: z.enum(['customer', 'merchant']).optional(), tax_providers_fields: ChargeInvoiceTaxProvidersFieldsSchema.optional(), }); export { ChargeInvoiceBodySchema }; //Invoice.chargeAddon const ChargeAddonInvoiceBodySchema = z.looseObject({ customer_id: z.string().max(50).optional(), subscription_id: z.string().max(50).optional(), addon_id: z.string().max(100), addon_quantity: z.number().int().min(1).optional(), addon_unit_price: z.number().int().min(0).optional(), addon_quantity_in_decimal: z.string().max(33).optional(), addon_unit_price_in_decimal: z.string().max(39).optional(), date_from: z.number().int().optional(), date_to: z.number().int().optional(), coupon_ids: z.array(z.string().max(100).optional()).optional(), coupon: z.string().max(100).optional(), po_number: z.string().max(100).optional(), invoice_date: z.number().int().optional(), payment_source_id: z.string().max(40).optional(), payment_initiator: z.enum(['customer', 'merchant']).optional(), }); export { ChargeAddonInvoiceBodySchema }; //Invoice.createForChargeItem const CreateForChargeItemInvoiceItemPriceSchema = z.object({ item_price_id: z.string().max(100), quantity: z.number().int().min(1).optional(), quantity_in_decimal: z.string().max(33).optional(), unit_price: z.number().int().min(0).optional(), unit_price_in_decimal: z.string().max(39).optional(), date_from: z.number().int().optional(), date_to: z.number().int().optional(), }); const CreateForChargeItemInvoiceItemTiersSchema = z.object({ 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 CreateForChargeItemInvoiceBodySchema = z.looseObject({ customer_id: z.string().max(50).optional(), subscription_id: z.string().max(50).optional(), po_number: z.string().max(100).optional(), coupon: z.string().max(100).optional(), payment_source_id: z.string().max(40).optional(), payment_initiator: z.enum(['customer', 'merchant']).optional(), invoice_date: z.number().int().optional(), item_price: CreateForChargeItemInvoiceItemPriceSchema.optional(), item_tiers: CreateForChargeItemInvoiceItemTiersSchema.optional(), }); export { CreateForChargeItemInvoiceBodySchema }; //Invoice.stopDunning const StopDunningInvoiceBodySchema = z.looseObject({ comment: z.string().max(300).optional(), }); export { StopDunningInvoiceBodySchema }; //Invoice.pauseDunning const PauseDunningInvoiceBodySchema = z.looseObject({ expected_payment_date: z.number().int(), comment: z.string().max(300).optional(), }); export { PauseDunningInvoiceBodySchema }; //Invoice.resumeDunning const ResumeDunningInvoiceBodySchema = z.looseObject({ comment: z.string().max(300).optional(), }); export { ResumeDunningInvoiceBodySchema }; //Invoice.importInvoice const ImportInvoiceInvoiceCreditNoteSchema = z.object({ id: z.string().max(50).optional(), }); const ImportInvoiceInvoiceBillingAddressSchema = 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 ImportInvoiceInvoiceShippingAddressSchema = 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 ImportInvoiceInvoiceLineItemsSchema = z.object({ id: z.array(z.string().max(40).optional()).optional(), date_from: z.array(z.number().int().optional()).optional(), date_to: z.array(z.number().int().optional()).optional(), subscription_id: z.array(z.string().max(50).optional()).optional(), description: z.array(z.string().max(250).optional()), unit_amount: z.array(z.number().int().optional()).optional(), quantity: z.array(z.number().int().optional()).optional(), amount: z.array(z.number().int().optional()).optional(), unit_amount_in_decimal: z.array(z.string().max(39).optional()).optional(), quantity_in_decimal: z.array(z.string().max(33).optional()).optional(), amount_in_decimal: z.array(z.string().max(39).optional()).optional(), entity_type: z .array(z .enum([ 'adhoc', 'plan_item_price', 'addon_item_price', 'charge_item_price', 'plan_setup', 'plan', 'addon', ]) .optional()) .optional(), entity_id: z.array(z.string().max(100).optional()).optional(), item_level_discount1_entity_id: z .array(z.string().max(100).optional()) .optional(), item_level_discount1_amount: z .array(z.number().int().min(0).optional()) .optional(), item_level_discount2_entity_id: z .array(z.string().max(100).optional()) .optional(), item_level_discount2_amount: z .array(z.number().int().min(0).optional()) .optional(), tax1_name: z.array(z.string().max(50).optional()).optional(), tax1_amount: z.array(z.number().int().min(0).optional()).optional(), tax2_name: z.array(z.string().max(50).optional()).optional(), tax2_amount: z.array(z.number().int().min(0).optional()).optional(), tax3_name: z.array(z.string().max(50).optional()).optional(), tax3_amount: z.array(z.number().int().min(0).optional()).optional(), tax4_name: z.array(z.string().max(50).optional()).optional(), tax4_amount: z.array(z.number().int().min(0).optional()).optional(), tax5_name: z.array(z.string().max(50).optional()).optional(), tax5_amount: z.array(z.number().int().min(0).optional()).optional(), tax6_name: z.array(z.string().max(50).optional()).optional(), tax6_amount: z.array(z.number().int().min(0).optional()).optional(), tax7_name: z.array(z.string().max(50).optional()).optional(), tax7_amount: z.array(z.number().int().min(0).optional()).optional(), tax8_name: z.array(z.string().max(50).optional()).optional(), tax8_amount: z.array(z.number().int().min(0).optional()).optional(), tax9_name: z.array(z.string().max(50).optional()).optional(), tax9_amount: z.array(z.number().int().min(0).optional()).optional(), tax10_name: z.array(z.string().max(50).optional()).optional(), tax10_amount: z.array(z.number().int().min(0).optional()).optional(), created_at: z.array(z.number().int().optional()).optional(), }); const ImportInvoiceInvoicePaymentReferenceNumbersSchema = z.object({ id: z.array(z.string().max(40).optional()).optional(), type: z.array(z.enum(['kid', 'ocr', 'frn', 'fik', 'swiss_reference']).optional()), number: z.array(z.string().max(100).optional()), }); const ImportInvoiceInvoiceLineItemTiersSchema = z.object({ line_item_id: z.array(z.string().max(40).optional()), starting_unit: z.array(z.number().int().min(0).optional()).optional(), ending_unit: z.array(z.number().int().optional()).optional(), quantity_used: z.array(z.number().int().min(0).optional()).optional(), unit_amount: 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(), quantity_used_in_decimal: z.array(z.string().max(33).optional()).optional(), unit_amount_in_decimal: z.array(z.string().max(40).optional()).optional(), }); const ImportInvoiceInvoiceDiscountsSchema = z.object({ line_item_id: z.array(z.string().max(40).optional()).optional(), entity_type: z.array(z .enum([ 'item_level_coupon', 'document_level_coupon', 'promotional_credits', 'item_level_discount', 'document_level_discount', ]) .optional()), entity_id: z.array(z.string().max(100).optional()).optional(), description: z.array(z.string().max(250).optional()).optional(), amount: z.array(z.number().int().min(0).optional()), }); const ImportInvoiceInvoiceTaxesSchema = z.object({ name: z.array(z.string().max(100).optional()), rate: z.array(z.number().min(0).max(100).optional()), amount: z.array(z.number().int().min(0).optional()).optional(), description: z.array(z.string().max(50).optional()).optional(), juris_type: z .array(z .enum([ 'country', 'federal', 'state', 'county', 'city', 'special', 'unincorporated', 'other', ]) .optional()) .optional(), juris_name: z.array(z.string().max(250).optional()).optional(), juris_code: z.array(z.string().max(250).optional()).optional(), }); const ImportInvoiceInvoicePaymentsSchema = z.object({ id: z.array(z.string().max(40).optional()).optional(), amount: z.array(z.number().int().min(1).optional()), payment_method: z.array(z .enum([ 'cash', 'check', 'bank_transfer', 'other', 'app_store', 'play_store', 'custom', ]) .optional()), date: z.array(z.number().int().optional()).optional(), reference_number: z.array(z.string().max(100).min(1).optional()).optional(), }); const ImportInvoiceInvoiceNotesSchema = z.object({ entity_type: z .array(z .enum([ 'coupon', 'plan_item_price', 'addon_item_price', 'charge_item_price', 'plan', 'addon', ]) .optional()) .optional(), entity_id: z.array(z.string().max(50).optional()).optional(), note: z.array(z.string().max(65000).optional()).optional(), }); const ImportInvoiceInvoiceLineItemAddressesSchema = z.object({ line_item_id: z.array(z.string().max(40).optional()).optional(), first_name: z.array(z.string().max(150).optional()).optional(), last_name: z.array(z.string().max(150).optional()).optional(), email: z.array(z.string().email().max(70).optional()).optional(), company: z.array(z.string().max(250).optional()).optional(), phone: z.array(z.string().max(50).optional()).optional(), line1: z.array(z.string().max(150).optional()).optional(), line2: z.array(z.string().max(150).optional()).optional(), line3: z.array(z.string().max(150).optional()).optional(), city: z.array(z.string().max(50).optional()).optional(), state_code: z.array(z.string().max(50).optional()).optional(), state: z.array(z.string().max(50).optional()).optional(), zip: z.array(z.string().max(20).optional()).optional(), country: z.array(z.string().max(50).optional()).optional(), validation_status: z .array(z .enum(['not_validated', 'valid', 'partially_valid', 'invalid']) .optional()) .optional(), }); const ImportInvoiceInvoiceBodySchema = z.looseObject({ id: z.string().max(50), currency_code: z.string().max(3).optional(), customer_id: z.string().max(50).optional(), subscription_id: z.string().max(50).optional(), po_number: z.string().max(100).optional(), price_type: z.enum(['tax_exclusive', 'tax_inclusive']).optional(), tax_override_reason: z .enum(['id_exempt', 'customer_exempt', 'export']) .optional(), vat_number: z.string().max(20).optional(), vat_number_prefix: z.string().max(10).optional(), date: z.number().int(), total: z.number().int().min(0), round_off: z.number().int().min(-99).max(99).optional(), status: z .enum(['paid', 'posted', 'payment_due', 'not_paid', 'voided', 'pending']) .optional(), voided_at: z.number().int().optional(), void_reason_code: z.string().max(100).optional(), is_written_off: z.boolean().default(false).optional(), write_off_amount: z.number().int().min(0).optional(), write_off_date: z.number().int().optional(), due_date: z.number().int().optional(), net_term_days: z.number().int().optional(), has_advance_charges: z.boolean().default(false).optional(), use_for_proration: z.boolean().default(false).optional(), credit_note: ImportInvoiceInvoiceCreditNoteSchema.optional(), billing_address: ImportInvoiceInvoiceBillingAddressSchema.optional(), shipping_address: ImportInvoiceInvoiceShippingAddressSchema.optional(), line_items: ImportInvoiceInvoiceLineItemsSchema.optional(), payment_reference_numbers: ImportInvoiceInvoicePaymentReferenceNumbersSchema.optional(), line_item_tiers: ImportInvoiceInvoiceLineItemTiersSchema.optional(), discounts: ImportInvoiceInvoiceDiscountsSchema.optional(), taxes: ImportInvoiceInvoiceTaxesSchema.optional(), payments: ImportInvoiceInvoicePaymentsSchema.optional(), notes: ImportInvoiceInvoiceNotesSchema.optional(), line_item_addresses: ImportInvoiceInvoiceLineItemAddressesSchema.optional(), }); export { ImportInvoiceInvoiceBodySchema }; //Invoice.applyPayments const ApplyPaymentsInvoiceTransactionsSchema = z.object({ id: z.array(z.string().max(40).optional()).optional(), amount: z.array(z.number().int().min(0).optional()).optional(), }); const ApplyPaymentsInvoiceBodySchema = z.looseObject({ comment: z.string().max(300).optional(), transactions: ApplyPaymentsInvoiceTransactionsSchema.optional(), }); export { ApplyPaymentsInvoiceBodySchema }; //Invoice.deleteLineItems const DeleteLineItemsInvoiceLineItemsSchema = z.object({ id: z.array(z.string().max(40).optional()).optional(), }); const DeleteLineItemsInvoiceBodySchema = z.looseObject({ line_items: DeleteLineItemsInvoiceLineItemsSchema.optional(), }); export { DeleteLineItemsInvoiceBodySchema }; //Invoice.applyCredits const ApplyCreditsInvoiceCreditNotesSchema = z.object({ id: z.array(z.string().max(50).optional()).optional(), }); const ApplyCreditsInvoiceBodySchema = z.looseObject({ comment: z.string().max(300).optional(), credit_notes: ApplyCreditsInvoiceCreditNotesSchema.optional(), }); export { ApplyCreditsInvoiceBodySchema }; //Invoice.list const ListInvoiceIdSchema = z.object({ is: z.string().min(1).optional(), is_not: z.string().min(1).optional(), starts_with: z.string().min(1).optional(), in: z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(), not_in: z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(), }); const ListInvoiceSubscriptionIdSchema = z.object({ is: z.string().min(1).optional(), is_not: z.string().min(1).optional(), starts_with: z.string().min(1).optional(), is_present: z.enum(['true', 'false']).optional(), in: z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(), not_in: z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(), }); const ListInvoiceCustomerIdSchema = z.object({ is: z.string().min(1).optional(), is_not: z.string().min(1).optional(), starts_with: z.string().min(1).optional(), in: z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(), not_in: z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(), }); const ListInvoiceRecurringSchema = z.object({ is: z.enum(['true', 'false']).optional(), }); const ListInvoiceStatusSchema = z.object({ is: z .enum(['paid', 'posted', 'payment_due', 'not_paid', 'voided', 'pending']) .optional(), is_not: z .enum(['paid', 'posted', 'payment_due', 'not_paid', 'voided', 'pending']) .optional(), in: z .enum(['paid', 'posted', 'payment_due', 'not_paid', 'voided', 'pending']) .optional(), not_in: z .enum(['paid', 'posted', 'payment_due', 'not_paid', 'voided', 'pending']) .optional(), }); const ListInvoicePriceTypeSchema = z.object({ is: z.enum(['tax_exclusive', 'tax_inclusive']).optional(), is_not: z.enum(['tax_exclusive', 'tax_inclusive']).optional(), in: z.enum(['tax_exclusive', 'tax_inclusive']).optional(), not_in: z.enum(['tax_exclusive', 'tax_inclusive']).optional(), }); const ListInvoiceDateSchema = z.object({ after: z.string().regex(RegExp('^\\d{10}$')).optional(), before: z.string().regex(RegExp('^\\d{10}$')).optional(), on: z.string().regex(RegExp('^\\d{10}$')).optional(), between: z.string().regex(RegExp('^\\[\\d{10},\\d{10}\\]$')).optional(), }); const ListInvoicePaidAtSchema = z.object({ after: z.string().regex(RegExp('^\\d{10}$')).optional(), before: z.string().regex(RegExp('^\\d{10}$')).optional(), on: z.string().regex(RegExp('^\\d{10}$')).optional(), between: z.string().regex(RegExp('^\\[\\d{10},\\d{10}\\]$')).optional(), }); const ListInvoiceTotalSchema = z.object({ is: z.string().regex(RegExp('^-?\\d+$')).optional(), is_not: z.string().regex(RegExp('^-?\\d+$')).optional(), lt: z.string().regex(RegExp('^-?\\d+$')).optional(), lte: z.string().regex(RegExp('^-?\\d+$')).optional(), gt: z.string().regex(RegExp('^-?\\d+$')).optional(), gte: z.string().regex(RegExp('^-?\\d+$')).optional(), between: z.string().regex(RegExp('^\\[-?\\d+,-?\\d+\\]$')).optional(), }); const ListInvoiceAmountPaidSchema = z.object({ is: z.string().regex(RegExp('^-?\\d+$')).optional(), is_not: z.string().regex(RegExp('^-?\\d+$')).optional(), lt: z.string().regex(RegExp('^-?\\d+$')).optional(), lte: z.string().regex(RegExp('^-?\\d+$')).optional(), gt: z.string().regex(RegExp('^-?\\d+$')).optional(), gte: z.string().regex(RegExp('^-?\\d+$')).optional(), between: z.string().regex(RegExp('^\\[-?\\d+,-?\\d+\\]$')).optional(), }); const ListInvoiceAmountAdjustedSchema = z.object({ is: z.string().regex(RegExp('^-?\\d+$')).optional(), is_not: z.string().regex(RegExp('^-?\\d+$')).optional(), lt: z.string().regex(RegExp('^-?\\d+$')).optional(), lte: z.string().regex(RegExp('^-?\\d+$')).optional(), gt: z.string().regex(RegExp('^-?\\d+$')).optional(), gte: z.string().regex(RegExp('^-?\\d+$')).optional(), between: z.string().regex(RegExp('^\\[-?\\d+,-?\\d+\\]$')).optional(), }); const ListInvoiceCreditsAppliedSchema = z.object({ is: z.string().regex(RegExp('^-?\\d+$')).optional(), is_not: z.string().regex(RegExp('^-?\\d+$')).optional(), lt: z.string().regex(RegExp('^-?\\d+$')).optional(), lte: z.string().regex(RegExp('^-?\\d+$')).optional(), gt: z.string().regex(RegExp('^-?\\d+$')).optional(), gte: z.string().regex(RegExp('^-?\\d+$')).optional(), between: z.string().regex(RegExp('^\\[-?\\d+,-?\\d+\\]$')).optional(), }); const ListInvoiceAmountDueSchema = z.object({ is: z.string().regex(RegExp('^-?\\d+$')).optional(), is_not: z.string().regex(RegExp('^-?\\d+$')).optional(), lt: z.string().regex(RegExp('^-?\\d+$')).optional(), lte: z.string().regex(RegExp('^-?\\d+$')).optional(), gt: z.string().regex(RegExp('^-?\\d+$')).optional(), gte: z.string().regex(RegExp('^-?\\d+$')).optional(), between: z.string().regex(RegExp('^\\[-?\\d+,-?\\d+\\]$')).optional(), }); const ListInvoiceDunningStatusSchema = z.object({ is: z.enum(['in_progress', 'exhausted', 'stopped', 'success']).optional(), is_not: z.enum(['in_progress', 'exhausted', 'stopped', 'success']).optional(), in: z.enum(['in_progress', 'exhausted', 'stopped', 'success']).optional(), not_in: z.enum(['in_progress', 'exhausted', 'stopped', 'success']).optional(), is_present: z.enum(['true', 'false']).optional(), }); const ListInvoicePaymentOwnerSchema = z.object({ is: z.string().min(1).optional(), is_not: z.string().min(1).optional(), starts_with: z.string().min(1).optional(), in: z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(), not_in: z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(), }); const ListInvoiceUpdatedAtSchema = z.object({ after: z.string().regex(RegExp('^\\d{10}$')).optional(), before: z.string().regex(RegExp('^\\d{10}$')).optional(), on: z.string().regex(RegExp(