chargebee 3.25.0 → 3.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/README.md +39 -0
  3. package/cjs/RequestWrapper.js +27 -0
  4. package/cjs/chargebee.cjs.js +3 -0
  5. package/cjs/chargebee.cjs.worker.js +2 -0
  6. package/cjs/chargebeeZodValidationError.js +18 -0
  7. package/cjs/createChargebee.js +5 -0
  8. package/cjs/environment.js +1 -1
  9. package/cjs/resources/api_endpoints.js +120 -1
  10. package/cjs/schema/addon.schema.js +269 -0
  11. package/cjs/schema/address.schema.js +35 -0
  12. package/cjs/schema/alert.schema.js +74 -0
  13. package/cjs/schema/alert_status.schema.js +31 -0
  14. package/cjs/schema/attached_item.schema.js +144 -0
  15. package/cjs/schema/business_entity.schema.js +46 -0
  16. package/cjs/schema/card.schema.js +165 -0
  17. package/cjs/schema/comment.schema.js +69 -0
  18. package/cjs/schema/coupon.schema.js +323 -0
  19. package/cjs/schema/coupon_code.schema.js +49 -0
  20. package/cjs/schema/coupon_set.schema.js +88 -0
  21. package/cjs/schema/credit_note.schema.js +502 -0
  22. package/cjs/schema/currency.schema.js +32 -0
  23. package/cjs/schema/customer.schema.js +1201 -0
  24. package/cjs/schema/customer_entitlement.schema.js +14 -0
  25. package/cjs/schema/differential_price.schema.js +106 -0
  26. package/cjs/schema/entitlement.schema.js +54 -0
  27. package/cjs/schema/entitlement_override.schema.js +35 -0
  28. package/cjs/schema/estimate.schema.js +1535 -0
  29. package/cjs/schema/event.schema.js +1060 -0
  30. package/cjs/schema/export.schema.js +3385 -0
  31. package/cjs/schema/feature.schema.js +78 -0
  32. package/cjs/schema/gift.schema.js +293 -0
  33. package/cjs/schema/grant_block.schema.js +47 -0
  34. package/cjs/schema/hosted_page.schema.js +1777 -0
  35. package/cjs/schema/in_app_subscription.schema.js +68 -0
  36. package/cjs/schema/index.js +88 -0
  37. package/cjs/schema/invoice.schema.js +1685 -0
  38. package/cjs/schema/item.schema.js +195 -0
  39. package/cjs/schema/item_entitlement.schema.js +45 -0
  40. package/cjs/schema/item_family.schema.js +57 -0
  41. package/cjs/schema/item_price.schema.js +335 -0
  42. package/cjs/schema/ledger_account_balance.schema.js +21 -0
  43. package/cjs/schema/ledger_operation.schema.js +104 -0
  44. package/cjs/schema/meter.schema.js +13 -0
  45. package/cjs/schema/metered_feature.schema.js +20 -0
  46. package/cjs/schema/non_subscription.schema.js +28 -0
  47. package/cjs/schema/offer_event.schema.js +13 -0
  48. package/cjs/schema/offer_fulfillment.schema.js +20 -0
  49. package/cjs/schema/omnichannel_one_time_order.schema.js +26 -0
  50. package/cjs/schema/omnichannel_subscription.schema.js +122 -0
  51. package/cjs/schema/omnichannel_subscription_item.schema.js +13 -0
  52. package/cjs/schema/order.schema.js +441 -0
  53. package/cjs/schema/payment_intent.schema.js +127 -0
  54. package/cjs/schema/payment_schedule_scheme.schema.js +20 -0
  55. package/cjs/schema/payment_source.schema.js +630 -0
  56. package/cjs/schema/payment_voucher.schema.js +57 -0
  57. package/cjs/schema/personalized_offer.schema.js +28 -0
  58. package/cjs/schema/plan.schema.js +363 -0
  59. package/cjs/schema/portal_session.schema.js +22 -0
  60. package/cjs/schema/price_variant.schema.js +93 -0
  61. package/cjs/schema/pricing_page_session.schema.js +135 -0
  62. package/cjs/schema/promotional_credit.schema.js +78 -0
  63. package/cjs/schema/promotional_grant.schema.js +17 -0
  64. package/cjs/schema/purchase.schema.js +277 -0
  65. package/cjs/schema/quote.schema.js +1667 -0
  66. package/cjs/schema/ramp.schema.js +245 -0
  67. package/cjs/schema/recorded_purchase.schema.js +32 -0
  68. package/cjs/schema/resource_migration.schema.js +14 -0
  69. package/cjs/schema/site_migration_detail.schema.js +81 -0
  70. package/cjs/schema/subscription.schema.js +3344 -0
  71. package/cjs/schema/subscription_entitlement.schema.js +25 -0
  72. package/cjs/schema/time_machine.schema.js +17 -0
  73. package/cjs/schema/transaction.schema.js +744 -0
  74. package/cjs/schema/unbilled_charge.schema.js +139 -0
  75. package/cjs/schema/usage.schema.js +93 -0
  76. package/cjs/schema/usage_charge.schema.js +17 -0
  77. package/cjs/schema/usage_event.schema.js +28 -0
  78. package/cjs/schema/usage_file.schema.js +13 -0
  79. package/cjs/schema/usage_summary.schema.js +17 -0
  80. package/cjs/schema/virtual_bank_account.schema.js +71 -0
  81. package/cjs/schema/webhook_endpoint.schema.js +508 -0
  82. package/cjs/validationLoader.js +59 -0
  83. package/esm/RequestWrapper.js +27 -0
  84. package/esm/chargebee.esm.js +2 -0
  85. package/esm/chargebee.esm.worker.js +1 -0
  86. package/esm/chargebeeZodValidationError.js +14 -0
  87. package/esm/createChargebee.js +5 -0
  88. package/esm/environment.js +1 -1
  89. package/esm/resources/api_endpoints.js +120 -1
  90. package/esm/schema/addon.schema.js +266 -0
  91. package/esm/schema/address.schema.js +32 -0
  92. package/esm/schema/alert.schema.js +71 -0
  93. package/esm/schema/alert_status.schema.js +28 -0
  94. package/esm/schema/attached_item.schema.js +141 -0
  95. package/esm/schema/business_entity.schema.js +43 -0
  96. package/esm/schema/card.schema.js +162 -0
  97. package/esm/schema/comment.schema.js +66 -0
  98. package/esm/schema/coupon.schema.js +320 -0
  99. package/esm/schema/coupon_code.schema.js +46 -0
  100. package/esm/schema/coupon_set.schema.js +85 -0
  101. package/esm/schema/credit_note.schema.js +499 -0
  102. package/esm/schema/currency.schema.js +29 -0
  103. package/esm/schema/customer.schema.js +1198 -0
  104. package/esm/schema/customer_entitlement.schema.js +11 -0
  105. package/esm/schema/differential_price.schema.js +103 -0
  106. package/esm/schema/entitlement.schema.js +51 -0
  107. package/esm/schema/entitlement_override.schema.js +32 -0
  108. package/esm/schema/estimate.schema.js +1532 -0
  109. package/esm/schema/event.schema.js +1057 -0
  110. package/esm/schema/export.schema.js +3382 -0
  111. package/esm/schema/feature.schema.js +75 -0
  112. package/esm/schema/gift.schema.js +290 -0
  113. package/esm/schema/grant_block.schema.js +44 -0
  114. package/esm/schema/hosted_page.schema.js +1774 -0
  115. package/esm/schema/in_app_subscription.schema.js +65 -0
  116. package/esm/schema/index.js +72 -0
  117. package/esm/schema/invoice.schema.js +1682 -0
  118. package/esm/schema/item.schema.js +192 -0
  119. package/esm/schema/item_entitlement.schema.js +42 -0
  120. package/esm/schema/item_family.schema.js +54 -0
  121. package/esm/schema/item_price.schema.js +332 -0
  122. package/esm/schema/ledger_account_balance.schema.js +18 -0
  123. package/esm/schema/ledger_operation.schema.js +101 -0
  124. package/esm/schema/meter.schema.js +10 -0
  125. package/esm/schema/metered_feature.schema.js +17 -0
  126. package/esm/schema/non_subscription.schema.js +25 -0
  127. package/esm/schema/offer_event.schema.js +10 -0
  128. package/esm/schema/offer_fulfillment.schema.js +17 -0
  129. package/esm/schema/omnichannel_one_time_order.schema.js +23 -0
  130. package/esm/schema/omnichannel_subscription.schema.js +119 -0
  131. package/esm/schema/omnichannel_subscription_item.schema.js +10 -0
  132. package/esm/schema/order.schema.js +438 -0
  133. package/esm/schema/payment_intent.schema.js +124 -0
  134. package/esm/schema/payment_schedule_scheme.schema.js +17 -0
  135. package/esm/schema/payment_source.schema.js +627 -0
  136. package/esm/schema/payment_voucher.schema.js +54 -0
  137. package/esm/schema/personalized_offer.schema.js +25 -0
  138. package/esm/schema/plan.schema.js +360 -0
  139. package/esm/schema/portal_session.schema.js +19 -0
  140. package/esm/schema/price_variant.schema.js +90 -0
  141. package/esm/schema/pricing_page_session.schema.js +132 -0
  142. package/esm/schema/promotional_credit.schema.js +75 -0
  143. package/esm/schema/promotional_grant.schema.js +14 -0
  144. package/esm/schema/purchase.schema.js +274 -0
  145. package/esm/schema/quote.schema.js +1664 -0
  146. package/esm/schema/ramp.schema.js +242 -0
  147. package/esm/schema/recorded_purchase.schema.js +29 -0
  148. package/esm/schema/resource_migration.schema.js +11 -0
  149. package/esm/schema/site_migration_detail.schema.js +78 -0
  150. package/esm/schema/subscription.schema.js +3341 -0
  151. package/esm/schema/subscription_entitlement.schema.js +22 -0
  152. package/esm/schema/time_machine.schema.js +14 -0
  153. package/esm/schema/transaction.schema.js +741 -0
  154. package/esm/schema/unbilled_charge.schema.js +136 -0
  155. package/esm/schema/usage.schema.js +90 -0
  156. package/esm/schema/usage_charge.schema.js +14 -0
  157. package/esm/schema/usage_event.schema.js +25 -0
  158. package/esm/schema/usage_file.schema.js +10 -0
  159. package/esm/schema/usage_summary.schema.js +14 -0
  160. package/esm/schema/virtual_bank_account.schema.js +68 -0
  161. package/esm/schema/webhook_endpoint.schema.js +505 -0
  162. package/esm/validationLoader.js +56 -0
  163. package/package.json +4 -1
  164. package/types/core.d.ts +3 -0
  165. package/types/index.d.ts +24 -0
  166. package/types/resources/Content.d.ts +4 -0
  167. package/types/resources/CreditNote.d.ts +1 -0
  168. package/types/resources/GrantBlock.d.ts +59 -0
  169. package/types/resources/HostedPage.d.ts +5 -1
  170. package/types/resources/LedgerAccountBalance.d.ts +50 -0
  171. package/types/resources/LedgerOperation.d.ts +141 -0
  172. package/types/resources/OmnichannelSubscription.d.ts +2 -0
  173. package/types/resources/PromotionalGrant.d.ts +37 -0
@@ -0,0 +1,3341 @@
1
+ // Generated Zod schemas: Subscription
2
+ // Actions: create, createForCustomer, createWithItems, list, subscriptionsForCustomer, contractTermsForSubscription, listDiscounts, removeScheduledCancellation, removeCoupons, update, updateForItems, changeTermEnd, reactivate, addChargeAtTermEnd, chargeAddonAtTermEnd, chargeFutureRenewals, editAdvanceInvoiceSchedule, removeAdvanceInvoiceSchedule, regenerateInvoice, importSubscription, importForCustomer, importContractTerm, importUnbilledCharges, importForItems, overrideBillingProfile, pause, cancel, cancelForItems, resume, move
3
+ // Do not edit manually – regenerate via sdk-generator
4
+ import { z } from 'zod';
5
+ //Subscription.create
6
+ const CreateSubscriptionMetaDataSchema = z.looseObject({});
7
+ const CreateSubscriptionCustomerSchema = z.looseObject({
8
+ id: z.string().max(50).optional(),
9
+ email: z.string().email().max(70).optional(),
10
+ first_name: z.string().max(150).optional(),
11
+ last_name: z.string().max(150).optional(),
12
+ company: z.string().max(250).optional(),
13
+ phone: z.string().max(50).optional(),
14
+ locale: z.string().max(50).optional(),
15
+ taxability: z.enum(['taxable', 'exempt']).optional(),
16
+ entity_code: z
17
+ .enum([
18
+ 'a',
19
+ 'b',
20
+ 'c',
21
+ 'd',
22
+ 'e',
23
+ 'f',
24
+ 'g',
25
+ 'h',
26
+ 'i',
27
+ 'j',
28
+ 'k',
29
+ 'l',
30
+ 'm',
31
+ 'n',
32
+ 'p',
33
+ 'q',
34
+ 'r',
35
+ 'med1',
36
+ 'med2',
37
+ ])
38
+ .optional(),
39
+ exempt_number: z.string().max(100).optional(),
40
+ net_term_days: z.number().int().optional(),
41
+ taxjar_exemption_category: z
42
+ .enum(['wholesale', 'government', 'other'])
43
+ .optional(),
44
+ auto_collection: z.enum(['on', 'off']).optional(),
45
+ offline_payment_method: z
46
+ .enum([
47
+ 'no_preference',
48
+ 'cash',
49
+ 'check',
50
+ 'bank_transfer',
51
+ 'ach_credit',
52
+ 'sepa_credit',
53
+ 'boleto',
54
+ 'us_automated_bank_transfer',
55
+ 'eu_automated_bank_transfer',
56
+ 'uk_automated_bank_transfer',
57
+ 'jp_automated_bank_transfer',
58
+ 'mx_automated_bank_transfer',
59
+ 'custom',
60
+ ])
61
+ .optional(),
62
+ allow_direct_debit: z.boolean().default(false).optional(),
63
+ consolidated_invoicing: z.boolean().optional(),
64
+ vat_number: z.string().max(20).optional(),
65
+ vat_number_prefix: z.string().max(10).optional(),
66
+ entity_identifier_scheme: z.string().max(50).optional(),
67
+ entity_identifier_standard: z.string().max(50).optional(),
68
+ is_einvoice_enabled: z.boolean().optional(),
69
+ einvoicing_method: z.enum(['automatic', 'manual', 'site_default']).optional(),
70
+ registered_for_gst: z.boolean().optional(),
71
+ business_customer_without_vat_number: z.boolean().optional(),
72
+ exemption_details: z.array(z.string().optional()).optional(),
73
+ customer_type: z
74
+ .enum(['residential', 'business', 'senior_citizen', 'industrial'])
75
+ .optional(),
76
+ });
77
+ const CreateSubscriptionAdditionalInformationSchema = z.looseObject({});
78
+ const CreateSubscriptionCardSchema = z.object({
79
+ gateway: z
80
+ .enum([
81
+ 'chargebee',
82
+ 'chargebee_payments',
83
+ 'adyen',
84
+ 'stripe',
85
+ 'wepay',
86
+ 'braintree',
87
+ 'authorize_net',
88
+ 'paypal_pro',
89
+ 'pin',
90
+ 'eway',
91
+ 'eway_rapid',
92
+ 'worldpay',
93
+ 'balanced_payments',
94
+ 'beanstream',
95
+ 'bluepay',
96
+ 'elavon',
97
+ 'first_data_global',
98
+ 'hdfc',
99
+ 'migs',
100
+ 'nmi',
101
+ 'ogone',
102
+ 'paymill',
103
+ 'paypal_payflow_pro',
104
+ 'sage_pay',
105
+ 'tco',
106
+ 'wirecard',
107
+ 'amazon_payments',
108
+ 'paypal_express_checkout',
109
+ 'orbital',
110
+ 'moneris_us',
111
+ 'moneris',
112
+ 'bluesnap',
113
+ 'cybersource',
114
+ 'vantiv',
115
+ 'checkout_com',
116
+ 'paypal',
117
+ 'ingenico_direct',
118
+ 'exact',
119
+ 'mollie',
120
+ 'quickbooks',
121
+ 'razorpay',
122
+ 'global_payments',
123
+ 'bank_of_america',
124
+ 'ecentric',
125
+ 'metrics_global',
126
+ 'windcave',
127
+ 'pay_com',
128
+ 'ebanx',
129
+ 'dlocal',
130
+ 'nuvei',
131
+ 'solidgate',
132
+ 'paystack',
133
+ 'jp_morgan',
134
+ 'deutsche_bank',
135
+ 'ezidebit',
136
+ 'twikey',
137
+ 'tempus',
138
+ 'moyasar',
139
+ 'payway',
140
+ ])
141
+ .optional(),
142
+ gateway_account_id: z.string().max(50).optional(),
143
+ tmp_token: z.string().max(300).optional(),
144
+ first_name: z.string().max(50).optional(),
145
+ last_name: z.string().max(50).optional(),
146
+ number: z.string().max(1500).optional(),
147
+ expiry_month: z.number().int().min(1).max(12).optional(),
148
+ expiry_year: z.number().int().optional(),
149
+ cvv: z.string().max(520).optional(),
150
+ preferred_scheme: z
151
+ .enum(['cartes_bancaires', 'mastercard', 'visa'])
152
+ .optional(),
153
+ billing_addr1: z.string().max(150).optional(),
154
+ billing_addr2: z.string().max(150).optional(),
155
+ billing_city: z.string().max(50).optional(),
156
+ billing_state_code: z.string().max(50).optional(),
157
+ billing_state: z.string().max(50).optional(),
158
+ billing_zip: z.string().max(20).optional(),
159
+ billing_country: z.string().max(50).optional(),
160
+ ip_address: z.string().max(50).optional(),
161
+ additional_information: CreateSubscriptionAdditionalInformationSchema.optional(),
162
+ });
163
+ const CreateSubscriptionBillingAddressSchema = z.looseObject({});
164
+ const CreateSubscriptionBankAccountSchema = z.object({
165
+ gateway_account_id: z.string().max(50).optional(),
166
+ iban: z.string().max(50).min(10).optional(),
167
+ first_name: z.string().max(150).optional(),
168
+ last_name: z.string().max(150).optional(),
169
+ company: z.string().max(250).optional(),
170
+ email: z.string().email().max(70).optional(),
171
+ phone: z.string().max(50).optional(),
172
+ bank_name: z.string().max(100).optional(),
173
+ account_number: z.string().max(17).min(4).optional(),
174
+ routing_number: z.string().max(9).min(3).optional(),
175
+ bank_code: z.string().max(20).optional(),
176
+ account_type: z
177
+ .enum(['checking', 'savings', 'business_checking', 'current'])
178
+ .optional(),
179
+ account_holder_type: z.enum(['individual', 'company']).optional(),
180
+ echeck_type: z.enum(['web', 'ppd', 'ccd']).optional(),
181
+ issuing_country: z.string().max(50).optional(),
182
+ swedish_identity_number: z.string().max(12).min(10).optional(),
183
+ billing_address: CreateSubscriptionBillingAddressSchema.optional(),
184
+ });
185
+ const CreateSubscriptionPaymentMethodSchema = z.object({
186
+ type: z
187
+ .enum([
188
+ 'card',
189
+ 'paypal_express_checkout',
190
+ 'amazon_payments',
191
+ 'direct_debit',
192
+ 'generic',
193
+ 'alipay',
194
+ 'unionpay',
195
+ 'apple_pay',
196
+ 'wechat_pay',
197
+ 'ideal',
198
+ 'google_pay',
199
+ 'sofort',
200
+ 'bancontact',
201
+ 'giropay',
202
+ 'dotpay',
203
+ 'upi',
204
+ 'netbanking_emandates',
205
+ 'venmo',
206
+ 'pay_to',
207
+ 'faster_payments',
208
+ 'sepa_instant_transfer',
209
+ 'automated_bank_transfer',
210
+ 'klarna_pay_now',
211
+ 'online_banking_poland',
212
+ 'payconiq_by_bancontact',
213
+ 'electronic_payment_standard',
214
+ 'kbc_payment_button',
215
+ 'pay_by_bank',
216
+ 'trustly',
217
+ 'stablecoin',
218
+ 'kakao_pay',
219
+ 'naver_pay',
220
+ 'revolut_pay',
221
+ 'cash_app_pay',
222
+ 'twint',
223
+ 'go_pay',
224
+ 'grab_pay',
225
+ 'pay_co',
226
+ 'after_pay',
227
+ 'swish',
228
+ 'payme',
229
+ 'pix',
230
+ 'klarna',
231
+ 'alipay_hk',
232
+ 'paypay',
233
+ 'gcash',
234
+ 'south_korean_cards',
235
+ ])
236
+ .optional(),
237
+ gateway: z
238
+ .enum([
239
+ 'chargebee_payments',
240
+ 'adyen',
241
+ 'stripe',
242
+ 'wepay',
243
+ 'braintree',
244
+ 'authorize_net',
245
+ 'paypal_pro',
246
+ 'pin',
247
+ 'eway',
248
+ 'eway_rapid',
249
+ 'worldpay',
250
+ 'balanced_payments',
251
+ 'beanstream',
252
+ 'bluepay',
253
+ 'elavon',
254
+ 'first_data_global',
255
+ 'hdfc',
256
+ 'migs',
257
+ 'nmi',
258
+ 'ogone',
259
+ 'paymill',
260
+ 'paypal_payflow_pro',
261
+ 'sage_pay',
262
+ 'tco',
263
+ 'wirecard',
264
+ 'amazon_payments',
265
+ 'paypal_express_checkout',
266
+ 'gocardless',
267
+ 'orbital',
268
+ 'moneris_us',
269
+ 'moneris',
270
+ 'bluesnap',
271
+ 'cybersource',
272
+ 'vantiv',
273
+ 'checkout_com',
274
+ 'paypal',
275
+ 'ingenico_direct',
276
+ 'exact',
277
+ 'mollie',
278
+ 'quickbooks',
279
+ 'razorpay',
280
+ 'global_payments',
281
+ 'bank_of_america',
282
+ 'ecentric',
283
+ 'metrics_global',
284
+ 'windcave',
285
+ 'pay_com',
286
+ 'ebanx',
287
+ 'dlocal',
288
+ 'nuvei',
289
+ 'solidgate',
290
+ 'paystack',
291
+ 'jp_morgan',
292
+ 'deutsche_bank',
293
+ 'ezidebit',
294
+ 'twikey',
295
+ 'tempus',
296
+ 'moyasar',
297
+ 'payway',
298
+ ])
299
+ .optional(),
300
+ gateway_account_id: z.string().max(50).optional(),
301
+ reference_id: z.string().max(200).optional(),
302
+ tmp_token: z.string().max(65000).optional(),
303
+ issuing_country: z.string().max(50).optional(),
304
+ additional_information: CreateSubscriptionAdditionalInformationSchema.optional(),
305
+ });
306
+ const CreateSubscriptionPaymentIntentSchema = z.object({
307
+ id: z.string().max(150).optional(),
308
+ gateway_account_id: z.string().max(50).optional(),
309
+ gw_token: z.string().max(65000).optional(),
310
+ payment_method_type: z
311
+ .enum([
312
+ 'card',
313
+ 'ideal',
314
+ 'sofort',
315
+ 'bancontact',
316
+ 'google_pay',
317
+ 'dotpay',
318
+ 'giropay',
319
+ 'apple_pay',
320
+ 'upi',
321
+ 'netbanking_emandates',
322
+ 'paypal_express_checkout',
323
+ 'direct_debit',
324
+ 'boleto',
325
+ 'venmo',
326
+ 'amazon_payments',
327
+ 'pay_to',
328
+ 'faster_payments',
329
+ 'sepa_instant_transfer',
330
+ 'klarna_pay_now',
331
+ 'online_banking_poland',
332
+ 'payconiq_by_bancontact',
333
+ 'electronic_payment_standard',
334
+ 'kbc_payment_button',
335
+ 'pay_by_bank',
336
+ 'trustly',
337
+ 'stablecoin',
338
+ 'kakao_pay',
339
+ 'naver_pay',
340
+ 'revolut_pay',
341
+ 'cash_app_pay',
342
+ 'wechat_pay',
343
+ 'alipay',
344
+ 'twint',
345
+ 'go_pay',
346
+ 'grab_pay',
347
+ 'pay_co',
348
+ 'after_pay',
349
+ 'swish',
350
+ 'payme',
351
+ 'pix',
352
+ 'klarna',
353
+ 'alipay_hk',
354
+ 'paypay',
355
+ 'gcash',
356
+ 'south_korean_cards',
357
+ ])
358
+ .optional(),
359
+ reference_id: z.string().max(65000).optional(),
360
+ gw_payment_method_id: z.string().max(65000).optional(),
361
+ additional_information: CreateSubscriptionAdditionalInformationSchema.optional(),
362
+ });
363
+ const CreateSubscriptionShippingAddressSchema = z.object({
364
+ first_name: z.string().max(150).optional(),
365
+ last_name: z.string().max(150).optional(),
366
+ email: z.string().email().max(70).optional(),
367
+ company: z.string().max(250).optional(),
368
+ phone: z.string().max(50).optional(),
369
+ line1: z.string().max(150).optional(),
370
+ line2: z.string().max(150).optional(),
371
+ line3: z.string().max(150).optional(),
372
+ city: z.string().max(50).optional(),
373
+ state_code: z.string().max(50).optional(),
374
+ state: z.string().max(50).optional(),
375
+ zip: z.string().max(20).optional(),
376
+ country: z.string().max(50).optional(),
377
+ validation_status: z
378
+ .enum(['not_validated', 'valid', 'partially_valid', 'invalid'])
379
+ .optional(),
380
+ });
381
+ const CreateSubscriptionStatementDescriptorSchema = z.object({
382
+ descriptor: z.string().max(65000).optional(),
383
+ });
384
+ const CreateSubscriptionContractTermSchema = z.object({
385
+ action_at_term_end: z.enum(['renew', 'evergreen', 'cancel']).optional(),
386
+ cancellation_cutoff_period: z.number().int().optional(),
387
+ });
388
+ const CreateSubscriptionEntityIdentifiersSchema = z.object({
389
+ id: z.array(z.string().max(40).optional()).optional(),
390
+ scheme: z.array(z.string().max(50).optional()).optional(),
391
+ value: z.array(z.string().max(50).optional()).optional(),
392
+ standard: z.array(z.string().max(50).optional()).optional(),
393
+ });
394
+ const CreateSubscriptionTaxProvidersFieldsSchema = z.object({
395
+ provider_name: z.array(z.string().max(50).optional()).optional(),
396
+ field_id: z.array(z.string().max(50).optional()).optional(),
397
+ field_value: z.array(z.string().max(50).optional()).optional(),
398
+ });
399
+ const CreateSubscriptionAddonsSchema = z.object({
400
+ id: z.array(z.string().max(100).optional()).optional(),
401
+ quantity: z.array(z.number().int().min(1).optional()).optional(),
402
+ quantity_in_decimal: z.array(z.string().max(33).optional()).optional(),
403
+ unit_price: z.array(z.number().int().min(0).optional()).optional(),
404
+ unit_price_in_decimal: z.array(z.string().max(39).optional()).optional(),
405
+ billing_cycles: z.array(z.number().int().min(0).optional()).optional(),
406
+ trial_end: z.array(z.number().int().optional()).optional(),
407
+ });
408
+ const CreateSubscriptionEventBasedAddonsSchema = z.object({
409
+ id: z.array(z.string().max(100).optional()).optional(),
410
+ quantity: z.array(z.number().int().min(1).optional()).optional(),
411
+ unit_price: z.array(z.number().int().min(0).optional()).optional(),
412
+ quantity_in_decimal: z.array(z.string().max(33).optional()).optional(),
413
+ unit_price_in_decimal: z.array(z.string().max(39).optional()).optional(),
414
+ service_period_in_days: z
415
+ .array(z.number().int().min(1).max(4000).optional())
416
+ .optional(),
417
+ on_event: z
418
+ .array(z
419
+ .enum([
420
+ 'subscription_creation',
421
+ 'subscription_trial_start',
422
+ 'plan_activation',
423
+ 'subscription_activation',
424
+ 'contract_termination',
425
+ ])
426
+ .optional())
427
+ .optional(),
428
+ charge_once: z.array(z.boolean().default(true).optional()).optional(),
429
+ charge_on: z.array(z.enum(['immediately', 'on_event']).optional()).optional(),
430
+ });
431
+ const CreateSubscriptionCouponsSchema = z.object({
432
+ coupon_id: z.array(z.string().max(100).optional()).optional(),
433
+ apply_till: z.array(z.number().int().optional()).optional(),
434
+ });
435
+ const CreateSubscriptionBodySchema = z.looseObject({
436
+ id: z.string().max(50).optional(),
437
+ plan_id: z.string().max(100),
438
+ plan_quantity: z.number().int().min(1).optional(),
439
+ plan_quantity_in_decimal: z.string().max(33).optional(),
440
+ plan_unit_price: z.number().int().min(0).optional(),
441
+ plan_unit_price_in_decimal: z.string().max(39).optional(),
442
+ setup_fee: z.number().int().min(0).optional(),
443
+ trial_end: z.number().int().optional(),
444
+ billing_cycles: z.number().int().min(0).optional(),
445
+ mandatory_addons_to_remove: z
446
+ .array(z.string().max(100).optional())
447
+ .optional(),
448
+ start_date: z.number().int().optional(),
449
+ coupon: z.string().max(100).optional(),
450
+ auto_collection: z.enum(['on', 'off']).optional(),
451
+ terms_to_charge: z.number().int().min(1).optional(),
452
+ billing_alignment_mode: z.enum(['immediate', 'delayed']).optional(),
453
+ offline_payment_method: z
454
+ .enum([
455
+ 'no_preference',
456
+ 'cash',
457
+ 'check',
458
+ 'bank_transfer',
459
+ 'ach_credit',
460
+ 'sepa_credit',
461
+ 'boleto',
462
+ 'us_automated_bank_transfer',
463
+ 'eu_automated_bank_transfer',
464
+ 'uk_automated_bank_transfer',
465
+ 'jp_automated_bank_transfer',
466
+ 'mx_automated_bank_transfer',
467
+ 'custom',
468
+ ])
469
+ .optional(),
470
+ po_number: z.string().max(100).optional(),
471
+ coupon_ids: z.array(z.string().max(100).optional()).optional(),
472
+ token_id: z.string().max(40).optional(),
473
+ affiliate_token: z.string().max(250).optional(),
474
+ created_from_ip: z.string().max(50).optional(),
475
+ invoice_notes: z.string().max(2000).optional(),
476
+ invoice_date: z.number().int().optional(),
477
+ meta_data: CreateSubscriptionMetaDataSchema.optional(),
478
+ invoice_immediately: z.boolean().optional(),
479
+ free_period: z.number().int().min(1).optional(),
480
+ free_period_unit: z.enum(['day', 'week', 'month', 'year']).optional(),
481
+ contract_term_billing_cycle_on_renewal: z
482
+ .number()
483
+ .int()
484
+ .min(1)
485
+ .max(100)
486
+ .optional(),
487
+ trial_end_action: z
488
+ .enum([
489
+ 'site_default',
490
+ 'plan_default',
491
+ 'activate_subscription',
492
+ 'cancel_subscription',
493
+ ])
494
+ .optional(),
495
+ client_profile_id: z.string().max(50).optional(),
496
+ payment_initiator: z.enum(['customer', 'merchant']).optional(),
497
+ customer: CreateSubscriptionCustomerSchema.optional(),
498
+ card: CreateSubscriptionCardSchema.optional(),
499
+ bank_account: CreateSubscriptionBankAccountSchema.optional(),
500
+ payment_method: CreateSubscriptionPaymentMethodSchema.optional(),
501
+ payment_intent: CreateSubscriptionPaymentIntentSchema.optional(),
502
+ billing_address: CreateSubscriptionBillingAddressSchema.optional(),
503
+ shipping_address: CreateSubscriptionShippingAddressSchema.optional(),
504
+ statement_descriptor: CreateSubscriptionStatementDescriptorSchema.optional(),
505
+ contract_term: CreateSubscriptionContractTermSchema.optional(),
506
+ entity_identifiers: CreateSubscriptionEntityIdentifiersSchema.optional(),
507
+ tax_providers_fields: CreateSubscriptionTaxProvidersFieldsSchema.optional(),
508
+ addons: CreateSubscriptionAddonsSchema.optional(),
509
+ event_based_addons: CreateSubscriptionEventBasedAddonsSchema.optional(),
510
+ coupons: CreateSubscriptionCouponsSchema.optional(),
511
+ });
512
+ export { CreateSubscriptionBodySchema };
513
+ //Subscription.createForCustomer
514
+ const CreateForCustomerSubscriptionMetaDataSchema = z.looseObject({});
515
+ const CreateForCustomerSubscriptionShippingAddressSchema = z.object({
516
+ first_name: z.string().max(150).optional(),
517
+ last_name: z.string().max(150).optional(),
518
+ email: z.string().email().max(70).optional(),
519
+ company: z.string().max(250).optional(),
520
+ phone: z.string().max(50).optional(),
521
+ line1: z.string().max(150).optional(),
522
+ line2: z.string().max(150).optional(),
523
+ line3: z.string().max(150).optional(),
524
+ city: z.string().max(50).optional(),
525
+ state_code: z.string().max(50).optional(),
526
+ state: z.string().max(50).optional(),
527
+ zip: z.string().max(20).optional(),
528
+ country: z.string().max(50).optional(),
529
+ validation_status: z
530
+ .enum(['not_validated', 'valid', 'partially_valid', 'invalid'])
531
+ .optional(),
532
+ });
533
+ const CreateForCustomerSubscriptionStatementDescriptorSchema = z.object({
534
+ descriptor: z.string().max(65000).optional(),
535
+ });
536
+ const CreateForCustomerSubscriptionAdditionalInformationSchema = z.looseObject({});
537
+ const CreateForCustomerSubscriptionPaymentIntentSchema = z.object({
538
+ id: z.string().max(150).optional(),
539
+ gateway_account_id: z.string().max(50).optional(),
540
+ gw_token: z.string().max(65000).optional(),
541
+ payment_method_type: z
542
+ .enum([
543
+ 'card',
544
+ 'ideal',
545
+ 'sofort',
546
+ 'bancontact',
547
+ 'google_pay',
548
+ 'dotpay',
549
+ 'giropay',
550
+ 'apple_pay',
551
+ 'upi',
552
+ 'netbanking_emandates',
553
+ 'paypal_express_checkout',
554
+ 'direct_debit',
555
+ 'boleto',
556
+ 'venmo',
557
+ 'amazon_payments',
558
+ 'pay_to',
559
+ 'faster_payments',
560
+ 'sepa_instant_transfer',
561
+ 'klarna_pay_now',
562
+ 'online_banking_poland',
563
+ 'payconiq_by_bancontact',
564
+ 'electronic_payment_standard',
565
+ 'kbc_payment_button',
566
+ 'pay_by_bank',
567
+ 'trustly',
568
+ 'stablecoin',
569
+ 'kakao_pay',
570
+ 'naver_pay',
571
+ 'revolut_pay',
572
+ 'cash_app_pay',
573
+ 'wechat_pay',
574
+ 'alipay',
575
+ 'twint',
576
+ 'go_pay',
577
+ 'grab_pay',
578
+ 'pay_co',
579
+ 'after_pay',
580
+ 'swish',
581
+ 'payme',
582
+ 'pix',
583
+ 'klarna',
584
+ 'alipay_hk',
585
+ 'paypay',
586
+ 'gcash',
587
+ 'south_korean_cards',
588
+ ])
589
+ .optional(),
590
+ reference_id: z.string().max(65000).optional(),
591
+ gw_payment_method_id: z.string().max(65000).optional(),
592
+ additional_information: CreateForCustomerSubscriptionAdditionalInformationSchema.optional(),
593
+ });
594
+ const CreateForCustomerSubscriptionContractTermSchema = z.object({
595
+ action_at_term_end: z.enum(['renew', 'evergreen', 'cancel']).optional(),
596
+ cancellation_cutoff_period: z.number().int().optional(),
597
+ });
598
+ const CreateForCustomerSubscriptionAddonsSchema = z.object({
599
+ id: z.array(z.string().max(100).optional()).optional(),
600
+ quantity: z.array(z.number().int().min(1).optional()).optional(),
601
+ quantity_in_decimal: z.array(z.string().max(33).optional()).optional(),
602
+ unit_price: z.array(z.number().int().min(0).optional()).optional(),
603
+ unit_price_in_decimal: z.array(z.string().max(39).optional()).optional(),
604
+ billing_cycles: z.array(z.number().int().min(0).optional()).optional(),
605
+ trial_end: z.array(z.number().int().optional()).optional(),
606
+ });
607
+ const CreateForCustomerSubscriptionEventBasedAddonsSchema = z.object({
608
+ id: z.array(z.string().max(100).optional()).optional(),
609
+ quantity: z.array(z.number().int().min(1).optional()).optional(),
610
+ unit_price: z.array(z.number().int().min(0).optional()).optional(),
611
+ quantity_in_decimal: z.array(z.string().max(33).optional()).optional(),
612
+ unit_price_in_decimal: z.array(z.string().max(39).optional()).optional(),
613
+ service_period_in_days: z
614
+ .array(z.number().int().min(1).max(4000).optional())
615
+ .optional(),
616
+ on_event: z
617
+ .array(z
618
+ .enum([
619
+ 'subscription_creation',
620
+ 'subscription_trial_start',
621
+ 'plan_activation',
622
+ 'subscription_activation',
623
+ 'contract_termination',
624
+ ])
625
+ .optional())
626
+ .optional(),
627
+ charge_once: z.array(z.boolean().default(true).optional()).optional(),
628
+ charge_on: z.array(z.enum(['immediately', 'on_event']).optional()).optional(),
629
+ });
630
+ const CreateForCustomerSubscriptionCouponsSchema = z.object({
631
+ coupon_id: z.array(z.string().max(100).optional()).optional(),
632
+ apply_till: z.array(z.number().int().optional()).optional(),
633
+ });
634
+ const CreateForCustomerSubscriptionBodySchema = z.looseObject({
635
+ id: z.string().max(50).optional(),
636
+ plan_id: z.string().max(100),
637
+ plan_quantity: z.number().int().min(1).optional(),
638
+ plan_quantity_in_decimal: z.string().max(33).optional(),
639
+ plan_unit_price: z.number().int().min(0).optional(),
640
+ plan_unit_price_in_decimal: z.string().max(39).optional(),
641
+ setup_fee: z.number().int().min(0).optional(),
642
+ trial_end: z.number().int().optional(),
643
+ billing_cycles: z.number().int().min(0).optional(),
644
+ mandatory_addons_to_remove: z
645
+ .array(z.string().max(100).optional())
646
+ .optional(),
647
+ start_date: z.number().int().optional(),
648
+ coupon: z.string().max(100).optional(),
649
+ auto_collection: z.enum(['on', 'off']).optional(),
650
+ terms_to_charge: z.number().int().min(1).optional(),
651
+ billing_alignment_mode: z.enum(['immediate', 'delayed']).optional(),
652
+ offline_payment_method: z
653
+ .enum([
654
+ 'no_preference',
655
+ 'cash',
656
+ 'check',
657
+ 'bank_transfer',
658
+ 'ach_credit',
659
+ 'sepa_credit',
660
+ 'boleto',
661
+ 'us_automated_bank_transfer',
662
+ 'eu_automated_bank_transfer',
663
+ 'uk_automated_bank_transfer',
664
+ 'jp_automated_bank_transfer',
665
+ 'mx_automated_bank_transfer',
666
+ 'custom',
667
+ ])
668
+ .optional(),
669
+ po_number: z.string().max(100).optional(),
670
+ coupon_ids: z.array(z.string().max(100).optional()).optional(),
671
+ payment_source_id: z.string().max(40).optional(),
672
+ override_relationship: z.boolean().optional(),
673
+ invoice_notes: z.string().max(2000).optional(),
674
+ invoice_date: z.number().int().optional(),
675
+ meta_data: CreateForCustomerSubscriptionMetaDataSchema.optional(),
676
+ invoice_immediately: z.boolean().optional(),
677
+ replace_primary_payment_source: z.boolean().default(true).optional(),
678
+ free_period: z.number().int().min(1).optional(),
679
+ free_period_unit: z.enum(['day', 'week', 'month', 'year']).optional(),
680
+ contract_term_billing_cycle_on_renewal: z
681
+ .number()
682
+ .int()
683
+ .min(1)
684
+ .max(100)
685
+ .optional(),
686
+ trial_end_action: z
687
+ .enum([
688
+ 'site_default',
689
+ 'plan_default',
690
+ 'activate_subscription',
691
+ 'cancel_subscription',
692
+ ])
693
+ .optional(),
694
+ payment_initiator: z.enum(['customer', 'merchant']).optional(),
695
+ shipping_address: CreateForCustomerSubscriptionShippingAddressSchema.optional(),
696
+ statement_descriptor: CreateForCustomerSubscriptionStatementDescriptorSchema.optional(),
697
+ payment_intent: CreateForCustomerSubscriptionPaymentIntentSchema.optional(),
698
+ contract_term: CreateForCustomerSubscriptionContractTermSchema.optional(),
699
+ addons: CreateForCustomerSubscriptionAddonsSchema.optional(),
700
+ event_based_addons: CreateForCustomerSubscriptionEventBasedAddonsSchema.optional(),
701
+ coupons: CreateForCustomerSubscriptionCouponsSchema.optional(),
702
+ });
703
+ export { CreateForCustomerSubscriptionBodySchema };
704
+ //Subscription.createWithItems
705
+ const CreateWithItemsSubscriptionMetaDataSchema = z.looseObject({});
706
+ const CreateWithItemsSubscriptionShippingAddressSchema = z.object({
707
+ first_name: z.string().max(150).optional(),
708
+ last_name: z.string().max(150).optional(),
709
+ email: z.string().email().max(70).optional(),
710
+ company: z.string().max(250).optional(),
711
+ phone: z.string().max(50).optional(),
712
+ line1: z.string().max(150).optional(),
713
+ line2: z.string().max(150).optional(),
714
+ line3: z.string().max(150).optional(),
715
+ city: z.string().max(50).optional(),
716
+ state_code: z.string().max(50).optional(),
717
+ state: z.string().max(50).optional(),
718
+ zip: z.string().max(20).optional(),
719
+ country: z.string().max(50).optional(),
720
+ validation_status: z
721
+ .enum(['not_validated', 'valid', 'partially_valid', 'invalid'])
722
+ .optional(),
723
+ });
724
+ const CreateWithItemsSubscriptionStatementDescriptorSchema = z.object({
725
+ descriptor: z.string().max(65000).optional(),
726
+ });
727
+ const CreateWithItemsSubscriptionAdditionalInformationSchema = z.looseObject({});
728
+ const CreateWithItemsSubscriptionPaymentIntentSchema = z.object({
729
+ id: z.string().max(150).optional(),
730
+ gateway_account_id: z.string().max(50).optional(),
731
+ gw_token: z.string().max(65000).optional(),
732
+ payment_method_type: z
733
+ .enum([
734
+ 'card',
735
+ 'ideal',
736
+ 'sofort',
737
+ 'bancontact',
738
+ 'google_pay',
739
+ 'dotpay',
740
+ 'giropay',
741
+ 'apple_pay',
742
+ 'upi',
743
+ 'netbanking_emandates',
744
+ 'paypal_express_checkout',
745
+ 'direct_debit',
746
+ 'boleto',
747
+ 'venmo',
748
+ 'amazon_payments',
749
+ 'pay_to',
750
+ 'faster_payments',
751
+ 'sepa_instant_transfer',
752
+ 'klarna_pay_now',
753
+ 'online_banking_poland',
754
+ 'payconiq_by_bancontact',
755
+ 'electronic_payment_standard',
756
+ 'kbc_payment_button',
757
+ 'pay_by_bank',
758
+ 'trustly',
759
+ 'stablecoin',
760
+ 'kakao_pay',
761
+ 'naver_pay',
762
+ 'revolut_pay',
763
+ 'cash_app_pay',
764
+ 'wechat_pay',
765
+ 'alipay',
766
+ 'twint',
767
+ 'go_pay',
768
+ 'grab_pay',
769
+ 'pay_co',
770
+ 'after_pay',
771
+ 'swish',
772
+ 'payme',
773
+ 'pix',
774
+ 'klarna',
775
+ 'alipay_hk',
776
+ 'paypay',
777
+ 'gcash',
778
+ 'south_korean_cards',
779
+ ])
780
+ .optional(),
781
+ reference_id: z.string().max(65000).optional(),
782
+ gw_payment_method_id: z.string().max(65000).optional(),
783
+ additional_information: CreateWithItemsSubscriptionAdditionalInformationSchema.optional(),
784
+ });
785
+ const CreateWithItemsSubscriptionContractTermSchema = z.object({
786
+ action_at_term_end: z.enum(['renew', 'evergreen', 'cancel']).optional(),
787
+ contract_start: z.number().int().optional(),
788
+ cancellation_cutoff_period: z.number().int().optional(),
789
+ });
790
+ const CreateWithItemsSubscriptionBillingOverrideSchema = z.object({
791
+ max_excess_payment_usage: z.number().int().min(-1).optional(),
792
+ max_refundable_credits_usage: z.number().int().min(-1).optional(),
793
+ });
794
+ const CreateWithItemsSubscriptionSubscriptionItemsSchema = z.object({
795
+ item_price_id: z.array(z.string().max(100).optional()),
796
+ quantity: z.array(z.number().int().min(1).optional()).optional(),
797
+ quantity_in_decimal: z.array(z.string().max(33).optional()).optional(),
798
+ unit_price: z.array(z.number().int().min(0).optional()).optional(),
799
+ unit_price_in_decimal: z.array(z.string().max(39).optional()).optional(),
800
+ billing_cycles: z.array(z.number().int().min(0).optional()).optional(),
801
+ trial_end: z.array(z.number().int().optional()).optional(),
802
+ service_period_days: z
803
+ .array(z.number().int().min(1).max(730).optional())
804
+ .optional(),
805
+ charge_on_event: z
806
+ .array(z
807
+ .enum([
808
+ 'subscription_creation',
809
+ 'subscription_trial_start',
810
+ 'plan_activation',
811
+ 'subscription_activation',
812
+ 'contract_termination',
813
+ ])
814
+ .optional())
815
+ .optional(),
816
+ charge_once: z.array(z.boolean().optional()).optional(),
817
+ item_type: z.array(z.enum(['plan', 'addon', 'charge']).optional()).optional(),
818
+ charge_on_option: z
819
+ .array(z.enum(['immediately', 'on_event']).optional())
820
+ .optional(),
821
+ usage_accumulation_reset_frequency: z
822
+ .array(z.enum(['never', 'subscription_billing_frequency']).optional())
823
+ .optional(),
824
+ });
825
+ const CreateWithItemsSubscriptionDiscountsSchema = z.object({
826
+ apply_on: z
827
+ .array(z.enum(['invoice_amount', 'specific_item_price']).optional())
828
+ .optional(),
829
+ duration_type: z.array(z.enum(['one_time', 'forever', 'limited_period']).optional()),
830
+ percentage: z.array(z.number().min(0.01).max(100).optional()).optional(),
831
+ amount: z.array(z.number().int().min(0).optional()).optional(),
832
+ period: z.array(z.number().int().min(1).optional()).optional(),
833
+ period_unit: z
834
+ .array(z.enum(['day', 'week', 'month', 'year']).optional())
835
+ .optional(),
836
+ included_in_mrr: z.array(z.boolean().optional()).optional(),
837
+ item_price_id: z.array(z.string().max(100).optional()).optional(),
838
+ quantity: z.array(z.number().int().min(1).optional()).optional(),
839
+ });
840
+ const CreateWithItemsSubscriptionItemTiersSchema = z.object({
841
+ item_price_id: z.array(z.string().max(100).optional()).optional(),
842
+ starting_unit: z.array(z.number().int().min(1).optional()).optional(),
843
+ ending_unit: z.array(z.number().int().optional()).optional(),
844
+ price: z.array(z.number().int().min(0).optional()).optional(),
845
+ starting_unit_in_decimal: z.array(z.string().max(33).optional()).optional(),
846
+ ending_unit_in_decimal: z.array(z.string().max(33).optional()).optional(),
847
+ price_in_decimal: z.array(z.string().max(39).optional()).optional(),
848
+ pricing_type: z
849
+ .array(z.enum(['per_unit', 'flat_fee', 'package']).optional())
850
+ .optional(),
851
+ package_size: z.array(z.number().int().min(1).optional()).optional(),
852
+ });
853
+ const CreateWithItemsSubscriptionCouponsSchema = z.object({
854
+ coupon_id: z.array(z.string().max(100).optional()).optional(),
855
+ apply_till: z.array(z.number().int().optional()).optional(),
856
+ });
857
+ const CreateWithItemsSubscriptionBodySchema = z.looseObject({
858
+ id: z.string().max(50).optional(),
859
+ business_entity_id: z.string().max(50).optional(),
860
+ trial_end: z.number().int().optional(),
861
+ billing_cycles: z.number().int().min(0).optional(),
862
+ setup_fee: z.number().int().min(0).optional(),
863
+ mandatory_items_to_remove: z.array(z.string().max(100).optional()).optional(),
864
+ net_term_days: z.number().int().optional(),
865
+ start_date: z.number().int().optional(),
866
+ coupon: z.string().max(100).optional(),
867
+ auto_collection: z.enum(['on', 'off']).optional(),
868
+ terms_to_charge: z.number().int().min(1).optional(),
869
+ billing_alignment_mode: z.enum(['immediate', 'delayed']).optional(),
870
+ offline_payment_method: z
871
+ .enum([
872
+ 'no_preference',
873
+ 'cash',
874
+ 'check',
875
+ 'bank_transfer',
876
+ 'ach_credit',
877
+ 'sepa_credit',
878
+ 'boleto',
879
+ 'us_automated_bank_transfer',
880
+ 'eu_automated_bank_transfer',
881
+ 'uk_automated_bank_transfer',
882
+ 'jp_automated_bank_transfer',
883
+ 'mx_automated_bank_transfer',
884
+ 'custom',
885
+ ])
886
+ .optional(),
887
+ po_number: z.string().max(100).optional(),
888
+ coupon_ids: z.array(z.string().max(100).optional()).optional(),
889
+ payment_source_id: z.string().max(40).optional(),
890
+ override_relationship: z.boolean().optional(),
891
+ invoice_notes: z.string().max(2000).optional(),
892
+ invoice_date: z.number().int().optional(),
893
+ meta_data: CreateWithItemsSubscriptionMetaDataSchema.optional(),
894
+ invoice_immediately: z.boolean().optional(),
895
+ replace_primary_payment_source: z.boolean().default(true).optional(),
896
+ free_period: z.number().int().min(1).optional(),
897
+ free_period_unit: z.enum(['day', 'week', 'month', 'year']).optional(),
898
+ contract_term_billing_cycle_on_renewal: z
899
+ .number()
900
+ .int()
901
+ .min(1)
902
+ .max(100)
903
+ .optional(),
904
+ create_pending_invoices: z.boolean().optional(),
905
+ auto_close_invoices: z.boolean().optional(),
906
+ first_invoice_pending: z.boolean().default(false).optional(),
907
+ trial_end_action: z
908
+ .enum([
909
+ 'site_default',
910
+ 'plan_default',
911
+ 'activate_subscription',
912
+ 'cancel_subscription',
913
+ ])
914
+ .optional(),
915
+ payment_initiator: z.enum(['customer', 'merchant']).optional(),
916
+ shipping_address: CreateWithItemsSubscriptionShippingAddressSchema.optional(),
917
+ statement_descriptor: CreateWithItemsSubscriptionStatementDescriptorSchema.optional(),
918
+ payment_intent: CreateWithItemsSubscriptionPaymentIntentSchema.optional(),
919
+ contract_term: CreateWithItemsSubscriptionContractTermSchema.optional(),
920
+ billing_override: CreateWithItemsSubscriptionBillingOverrideSchema.optional(),
921
+ subscription_items: CreateWithItemsSubscriptionSubscriptionItemsSchema.optional(),
922
+ discounts: CreateWithItemsSubscriptionDiscountsSchema.optional(),
923
+ item_tiers: CreateWithItemsSubscriptionItemTiersSchema.optional(),
924
+ coupons: CreateWithItemsSubscriptionCouponsSchema.optional(),
925
+ });
926
+ export { CreateWithItemsSubscriptionBodySchema };
927
+ //Subscription.list
928
+ const ListSubscriptionIdSchema = z.object({
929
+ is: z.string().min(1).optional(),
930
+ is_not: z.string().min(1).optional(),
931
+ starts_with: z.string().min(1).optional(),
932
+ in: z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(),
933
+ not_in: z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(),
934
+ });
935
+ const ListSubscriptionCustomerIdSchema = z.object({
936
+ is: z.string().min(1).optional(),
937
+ is_not: z.string().min(1).optional(),
938
+ starts_with: z.string().min(1).optional(),
939
+ in: z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(),
940
+ not_in: z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(),
941
+ });
942
+ const ListSubscriptionItemIdSchema = z.object({
943
+ is: z.string().min(1).optional(),
944
+ is_not: z.string().min(1).optional(),
945
+ starts_with: z.string().min(1).optional(),
946
+ in: z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(),
947
+ not_in: z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(),
948
+ });
949
+ const ListSubscriptionItemPriceIdSchema = z.object({
950
+ is: z.string().min(1).optional(),
951
+ is_not: z.string().min(1).optional(),
952
+ starts_with: z.string().min(1).optional(),
953
+ in: z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(),
954
+ not_in: z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(),
955
+ });
956
+ const ListSubscriptionStatusSchema = z.object({
957
+ is: z
958
+ .enum([
959
+ 'future',
960
+ 'in_trial',
961
+ 'active',
962
+ 'non_renewing',
963
+ 'paused',
964
+ 'cancelled',
965
+ 'transferred',
966
+ ])
967
+ .optional(),
968
+ is_not: z
969
+ .enum([
970
+ 'future',
971
+ 'in_trial',
972
+ 'active',
973
+ 'non_renewing',
974
+ 'paused',
975
+ 'cancelled',
976
+ 'transferred',
977
+ ])
978
+ .optional(),
979
+ in: z
980
+ .enum([
981
+ 'future',
982
+ 'in_trial',
983
+ 'active',
984
+ 'non_renewing',
985
+ 'paused',
986
+ 'cancelled',
987
+ 'transferred',
988
+ ])
989
+ .optional(),
990
+ not_in: z
991
+ .enum([
992
+ 'future',
993
+ 'in_trial',
994
+ 'active',
995
+ 'non_renewing',
996
+ 'paused',
997
+ 'cancelled',
998
+ 'transferred',
999
+ ])
1000
+ .optional(),
1001
+ });
1002
+ const ListSubscriptionCancelReasonSchema = z.object({
1003
+ is: z
1004
+ .enum([
1005
+ 'not_paid',
1006
+ 'no_card',
1007
+ 'fraud_review_failed',
1008
+ 'non_compliant_eu_customer',
1009
+ 'tax_calculation_failed',
1010
+ 'currency_incompatible_with_gateway',
1011
+ 'non_compliant_customer',
1012
+ ])
1013
+ .optional(),
1014
+ is_not: z
1015
+ .enum([
1016
+ 'not_paid',
1017
+ 'no_card',
1018
+ 'fraud_review_failed',
1019
+ 'non_compliant_eu_customer',
1020
+ 'tax_calculation_failed',
1021
+ 'currency_incompatible_with_gateway',
1022
+ 'non_compliant_customer',
1023
+ ])
1024
+ .optional(),
1025
+ in: z
1026
+ .enum([
1027
+ 'not_paid',
1028
+ 'no_card',
1029
+ 'fraud_review_failed',
1030
+ 'non_compliant_eu_customer',
1031
+ 'tax_calculation_failed',
1032
+ 'currency_incompatible_with_gateway',
1033
+ 'non_compliant_customer',
1034
+ ])
1035
+ .optional(),
1036
+ not_in: z
1037
+ .enum([
1038
+ 'not_paid',
1039
+ 'no_card',
1040
+ 'fraud_review_failed',
1041
+ 'non_compliant_eu_customer',
1042
+ 'tax_calculation_failed',
1043
+ 'currency_incompatible_with_gateway',
1044
+ 'non_compliant_customer',
1045
+ ])
1046
+ .optional(),
1047
+ is_present: z.enum(['true', 'false']).optional(),
1048
+ });
1049
+ const ListSubscriptionCancelReasonCodeSchema = z.object({
1050
+ is: z.string().min(1).optional(),
1051
+ is_not: z.string().min(1).optional(),
1052
+ starts_with: z.string().min(1).optional(),
1053
+ in: z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(),
1054
+ not_in: z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(),
1055
+ });
1056
+ const ListSubscriptionRemainingBillingCyclesSchema = z.object({
1057
+ is: z.string().regex(RegExp('^-?\\d+$')).optional(),
1058
+ is_not: z.string().regex(RegExp('^-?\\d+$')).optional(),
1059
+ lt: z.string().regex(RegExp('^-?\\d+$')).optional(),
1060
+ lte: z.string().regex(RegExp('^-?\\d+$')).optional(),
1061
+ gt: z.string().regex(RegExp('^-?\\d+$')).optional(),
1062
+ gte: z.string().regex(RegExp('^-?\\d+$')).optional(),
1063
+ between: z.string().regex(RegExp('^\\[-?\\d+,-?\\d+\\]$')).optional(),
1064
+ is_present: z.enum(['true', 'false']).optional(),
1065
+ });
1066
+ const ListSubscriptionCreatedAtSchema = z.object({
1067
+ after: z.string().regex(RegExp('^\\d{10}$')).optional(),
1068
+ before: z.string().regex(RegExp('^\\d{10}$')).optional(),
1069
+ on: z.string().regex(RegExp('^\\d{10}$')).optional(),
1070
+ between: z.string().regex(RegExp('^\\[\\d{10},\\d{10}\\]$')).optional(),
1071
+ });
1072
+ const ListSubscriptionActivatedAtSchema = z.object({
1073
+ after: z.string().regex(RegExp('^\\d{10}$')).optional(),
1074
+ before: z.string().regex(RegExp('^\\d{10}$')).optional(),
1075
+ on: z.string().regex(RegExp('^\\d{10}$')).optional(),
1076
+ between: z.string().regex(RegExp('^\\[\\d{10},\\d{10}\\]$')).optional(),
1077
+ is_present: z.enum(['true', 'false']).optional(),
1078
+ });
1079
+ const ListSubscriptionNextBillingAtSchema = z.object({
1080
+ after: z.string().regex(RegExp('^\\d{10}$')).optional(),
1081
+ before: z.string().regex(RegExp('^\\d{10}$')).optional(),
1082
+ on: z.string().regex(RegExp('^\\d{10}$')).optional(),
1083
+ between: z.string().regex(RegExp('^\\[\\d{10},\\d{10}\\]$')).optional(),
1084
+ });
1085
+ const ListSubscriptionCancelledAtSchema = z.object({
1086
+ after: z.string().regex(RegExp('^\\d{10}$')).optional(),
1087
+ before: z.string().regex(RegExp('^\\d{10}$')).optional(),
1088
+ on: z.string().regex(RegExp('^\\d{10}$')).optional(),
1089
+ between: z.string().regex(RegExp('^\\[\\d{10},\\d{10}\\]$')).optional(),
1090
+ });
1091
+ const ListSubscriptionHasScheduledChangesSchema = z.object({
1092
+ is: z.enum(['true', 'false']).optional(),
1093
+ });
1094
+ const ListSubscriptionUpdatedAtSchema = z.object({
1095
+ after: z.string().regex(RegExp('^\\d{10}$')).optional(),
1096
+ before: z.string().regex(RegExp('^\\d{10}$')).optional(),
1097
+ on: z.string().regex(RegExp('^\\d{10}$')).optional(),
1098
+ between: z.string().regex(RegExp('^\\[\\d{10},\\d{10}\\]$')).optional(),
1099
+ });
1100
+ const ListSubscriptionOfflinePaymentMethodSchema = z.object({
1101
+ is: z
1102
+ .enum([
1103
+ 'no_preference',
1104
+ 'cash',
1105
+ 'check',
1106
+ 'bank_transfer',
1107
+ 'ach_credit',
1108
+ 'sepa_credit',
1109
+ 'boleto',
1110
+ 'us_automated_bank_transfer',
1111
+ 'eu_automated_bank_transfer',
1112
+ 'uk_automated_bank_transfer',
1113
+ 'jp_automated_bank_transfer',
1114
+ 'mx_automated_bank_transfer',
1115
+ 'custom',
1116
+ ])
1117
+ .optional(),
1118
+ is_not: z
1119
+ .enum([
1120
+ 'no_preference',
1121
+ 'cash',
1122
+ 'check',
1123
+ 'bank_transfer',
1124
+ 'ach_credit',
1125
+ 'sepa_credit',
1126
+ 'boleto',
1127
+ 'us_automated_bank_transfer',
1128
+ 'eu_automated_bank_transfer',
1129
+ 'uk_automated_bank_transfer',
1130
+ 'jp_automated_bank_transfer',
1131
+ 'mx_automated_bank_transfer',
1132
+ 'custom',
1133
+ ])
1134
+ .optional(),
1135
+ in: z
1136
+ .enum([
1137
+ 'no_preference',
1138
+ 'cash',
1139
+ 'check',
1140
+ 'bank_transfer',
1141
+ 'ach_credit',
1142
+ 'sepa_credit',
1143
+ 'boleto',
1144
+ 'us_automated_bank_transfer',
1145
+ 'eu_automated_bank_transfer',
1146
+ 'uk_automated_bank_transfer',
1147
+ 'jp_automated_bank_transfer',
1148
+ 'mx_automated_bank_transfer',
1149
+ 'custom',
1150
+ ])
1151
+ .optional(),
1152
+ not_in: z
1153
+ .enum([
1154
+ 'no_preference',
1155
+ 'cash',
1156
+ 'check',
1157
+ 'bank_transfer',
1158
+ 'ach_credit',
1159
+ 'sepa_credit',
1160
+ 'boleto',
1161
+ 'us_automated_bank_transfer',
1162
+ 'eu_automated_bank_transfer',
1163
+ 'uk_automated_bank_transfer',
1164
+ 'jp_automated_bank_transfer',
1165
+ 'mx_automated_bank_transfer',
1166
+ 'custom',
1167
+ ])
1168
+ .optional(),
1169
+ });
1170
+ const ListSubscriptionAutoCloseInvoicesSchema = z.object({
1171
+ is: z.enum(['true', 'false']).optional(),
1172
+ });
1173
+ const ListSubscriptionOverrideRelationshipSchema = z.object({
1174
+ is: z.enum(['true', 'false']).optional(),
1175
+ });
1176
+ const ListSubscriptionSortBySchema = z.looseObject({
1177
+ asc: z.enum(['created_at', 'updated_at']).optional(),
1178
+ desc: z.enum(['created_at', 'updated_at']).optional(),
1179
+ });
1180
+ const ListSubscriptionBusinessEntityIdSchema = z.object({
1181
+ is: z.string().min(1).optional(),
1182
+ });
1183
+ const ListSubscriptionChannelSchema = z.object({
1184
+ is: z.enum(['web', 'app_store', 'play_store']).optional(),
1185
+ is_not: z.enum(['web', 'app_store', 'play_store']).optional(),
1186
+ in: z.enum(['web', 'app_store', 'play_store']).optional(),
1187
+ not_in: z.enum(['web', 'app_store', 'play_store']).optional(),
1188
+ });
1189
+ const ListSubscriptionPlanIdSchema = z.object({
1190
+ is: z.string().min(1).optional(),
1191
+ is_not: z.string().min(1).optional(),
1192
+ starts_with: z.string().min(1).optional(),
1193
+ in: z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(),
1194
+ not_in: z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(),
1195
+ });
1196
+ const ListSubscriptionBodySchema = z.looseObject({
1197
+ limit: z.number().int().min(1).max(100).optional(),
1198
+ offset: z.string().max(1000).optional(),
1199
+ include_deleted: z.boolean().default(false).optional(),
1200
+ id: ListSubscriptionIdSchema.optional(),
1201
+ customer_id: ListSubscriptionCustomerIdSchema.optional(),
1202
+ item_id: ListSubscriptionItemIdSchema.optional(),
1203
+ item_price_id: ListSubscriptionItemPriceIdSchema.optional(),
1204
+ status: ListSubscriptionStatusSchema.optional(),
1205
+ cancel_reason: ListSubscriptionCancelReasonSchema.optional(),
1206
+ cancel_reason_code: ListSubscriptionCancelReasonCodeSchema.optional(),
1207
+ remaining_billing_cycles: ListSubscriptionRemainingBillingCyclesSchema.optional(),
1208
+ created_at: ListSubscriptionCreatedAtSchema.optional(),
1209
+ activated_at: ListSubscriptionActivatedAtSchema.optional(),
1210
+ next_billing_at: ListSubscriptionNextBillingAtSchema.optional(),
1211
+ cancelled_at: ListSubscriptionCancelledAtSchema.optional(),
1212
+ has_scheduled_changes: ListSubscriptionHasScheduledChangesSchema.optional(),
1213
+ updated_at: ListSubscriptionUpdatedAtSchema.optional(),
1214
+ offline_payment_method: ListSubscriptionOfflinePaymentMethodSchema.optional(),
1215
+ auto_close_invoices: ListSubscriptionAutoCloseInvoicesSchema.optional(),
1216
+ override_relationship: ListSubscriptionOverrideRelationshipSchema.optional(),
1217
+ sort_by: ListSubscriptionSortBySchema.optional(),
1218
+ business_entity_id: ListSubscriptionBusinessEntityIdSchema.optional(),
1219
+ channel: ListSubscriptionChannelSchema.optional(),
1220
+ plan_id: ListSubscriptionPlanIdSchema.optional(),
1221
+ });
1222
+ export { ListSubscriptionBodySchema };
1223
+ //Subscription.subscriptionsForCustomer
1224
+ const SubscriptionsForCustomerSubscriptionBodySchema = z.looseObject({
1225
+ limit: z.number().int().min(1).max(100).optional(),
1226
+ offset: z.string().max(1000).optional(),
1227
+ });
1228
+ export { SubscriptionsForCustomerSubscriptionBodySchema };
1229
+ //Subscription.contractTermsForSubscription
1230
+ const ContractTermsForSubscriptionSubscriptionSortBySchema = z.looseObject({
1231
+ asc: z.enum(['created_at']).optional(),
1232
+ desc: z.enum(['created_at']).optional(),
1233
+ });
1234
+ const ContractTermsForSubscriptionSubscriptionBodySchema = z.looseObject({
1235
+ limit: z.number().int().min(1).max(100).optional(),
1236
+ offset: z.string().max(1000).optional(),
1237
+ sort_by: ContractTermsForSubscriptionSubscriptionSortBySchema.optional(),
1238
+ });
1239
+ export { ContractTermsForSubscriptionSubscriptionBodySchema };
1240
+ //Subscription.listDiscounts
1241
+ const ListDiscountsSubscriptionBodySchema = z.looseObject({
1242
+ limit: z.number().int().min(1).max(100).optional(),
1243
+ offset: z.string().max(1000).optional(),
1244
+ });
1245
+ export { ListDiscountsSubscriptionBodySchema };
1246
+ //Subscription.removeScheduledCancellation
1247
+ const RemoveScheduledCancellationSubscriptionContractTermSchema = z.object({
1248
+ action_at_term_end: z.enum(['renew', 'evergreen', 'cancel']).optional(),
1249
+ cancellation_cutoff_period: z.number().int().optional(),
1250
+ });
1251
+ const RemoveScheduledCancellationSubscriptionBodySchema = z.looseObject({
1252
+ billing_cycles: z.number().int().min(0).optional(),
1253
+ contract_term_billing_cycle_on_renewal: z
1254
+ .number()
1255
+ .int()
1256
+ .min(1)
1257
+ .max(100)
1258
+ .optional(),
1259
+ contract_term: RemoveScheduledCancellationSubscriptionContractTermSchema.optional(),
1260
+ });
1261
+ export { RemoveScheduledCancellationSubscriptionBodySchema };
1262
+ //Subscription.removeCoupons
1263
+ const RemoveCouponsSubscriptionBodySchema = z.looseObject({
1264
+ coupon_ids: z.array(z.string().max(100).optional()).optional(),
1265
+ });
1266
+ export { RemoveCouponsSubscriptionBodySchema };
1267
+ //Subscription.update
1268
+ const UpdateSubscriptionMetaDataSchema = z.looseObject({});
1269
+ const UpdateSubscriptionAdditionalInformationSchema = z.looseObject({});
1270
+ const UpdateSubscriptionCardSchema = z.object({
1271
+ gateway: z
1272
+ .enum([
1273
+ 'chargebee',
1274
+ 'chargebee_payments',
1275
+ 'adyen',
1276
+ 'stripe',
1277
+ 'wepay',
1278
+ 'braintree',
1279
+ 'authorize_net',
1280
+ 'paypal_pro',
1281
+ 'pin',
1282
+ 'eway',
1283
+ 'eway_rapid',
1284
+ 'worldpay',
1285
+ 'balanced_payments',
1286
+ 'beanstream',
1287
+ 'bluepay',
1288
+ 'elavon',
1289
+ 'first_data_global',
1290
+ 'hdfc',
1291
+ 'migs',
1292
+ 'nmi',
1293
+ 'ogone',
1294
+ 'paymill',
1295
+ 'paypal_payflow_pro',
1296
+ 'sage_pay',
1297
+ 'tco',
1298
+ 'wirecard',
1299
+ 'amazon_payments',
1300
+ 'paypal_express_checkout',
1301
+ 'orbital',
1302
+ 'moneris_us',
1303
+ 'moneris',
1304
+ 'bluesnap',
1305
+ 'cybersource',
1306
+ 'vantiv',
1307
+ 'checkout_com',
1308
+ 'paypal',
1309
+ 'ingenico_direct',
1310
+ 'exact',
1311
+ 'mollie',
1312
+ 'quickbooks',
1313
+ 'razorpay',
1314
+ 'global_payments',
1315
+ 'bank_of_america',
1316
+ 'ecentric',
1317
+ 'metrics_global',
1318
+ 'windcave',
1319
+ 'pay_com',
1320
+ 'ebanx',
1321
+ 'dlocal',
1322
+ 'nuvei',
1323
+ 'solidgate',
1324
+ 'paystack',
1325
+ 'jp_morgan',
1326
+ 'deutsche_bank',
1327
+ 'ezidebit',
1328
+ 'twikey',
1329
+ 'tempus',
1330
+ 'moyasar',
1331
+ 'payway',
1332
+ ])
1333
+ .optional(),
1334
+ gateway_account_id: z.string().max(50).optional(),
1335
+ tmp_token: z.string().max(300).optional(),
1336
+ first_name: z.string().max(50).optional(),
1337
+ last_name: z.string().max(50).optional(),
1338
+ number: z.string().max(1500).optional(),
1339
+ expiry_month: z.number().int().min(1).max(12).optional(),
1340
+ expiry_year: z.number().int().optional(),
1341
+ cvv: z.string().max(520).optional(),
1342
+ preferred_scheme: z
1343
+ .enum(['cartes_bancaires', 'mastercard', 'visa'])
1344
+ .optional(),
1345
+ billing_addr1: z.string().max(150).optional(),
1346
+ billing_addr2: z.string().max(150).optional(),
1347
+ billing_city: z.string().max(50).optional(),
1348
+ billing_state_code: z.string().max(50).optional(),
1349
+ billing_state: z.string().max(50).optional(),
1350
+ billing_zip: z.string().max(20).optional(),
1351
+ billing_country: z.string().max(50).optional(),
1352
+ ip_address: z.string().max(50).optional(),
1353
+ additional_information: UpdateSubscriptionAdditionalInformationSchema.optional(),
1354
+ });
1355
+ const UpdateSubscriptionPaymentMethodSchema = z.object({
1356
+ type: z
1357
+ .enum([
1358
+ 'card',
1359
+ 'paypal_express_checkout',
1360
+ 'amazon_payments',
1361
+ 'direct_debit',
1362
+ 'generic',
1363
+ 'alipay',
1364
+ 'unionpay',
1365
+ 'apple_pay',
1366
+ 'wechat_pay',
1367
+ 'ideal',
1368
+ 'google_pay',
1369
+ 'sofort',
1370
+ 'bancontact',
1371
+ 'giropay',
1372
+ 'dotpay',
1373
+ 'upi',
1374
+ 'netbanking_emandates',
1375
+ 'venmo',
1376
+ 'pay_to',
1377
+ 'faster_payments',
1378
+ 'sepa_instant_transfer',
1379
+ 'automated_bank_transfer',
1380
+ 'klarna_pay_now',
1381
+ 'online_banking_poland',
1382
+ 'payconiq_by_bancontact',
1383
+ 'electronic_payment_standard',
1384
+ 'kbc_payment_button',
1385
+ 'pay_by_bank',
1386
+ 'trustly',
1387
+ 'stablecoin',
1388
+ 'kakao_pay',
1389
+ 'naver_pay',
1390
+ 'revolut_pay',
1391
+ 'cash_app_pay',
1392
+ 'twint',
1393
+ 'go_pay',
1394
+ 'grab_pay',
1395
+ 'pay_co',
1396
+ 'after_pay',
1397
+ 'swish',
1398
+ 'payme',
1399
+ 'pix',
1400
+ 'klarna',
1401
+ 'alipay_hk',
1402
+ 'paypay',
1403
+ 'gcash',
1404
+ 'south_korean_cards',
1405
+ ])
1406
+ .optional(),
1407
+ gateway: z
1408
+ .enum([
1409
+ 'chargebee_payments',
1410
+ 'adyen',
1411
+ 'stripe',
1412
+ 'wepay',
1413
+ 'braintree',
1414
+ 'authorize_net',
1415
+ 'paypal_pro',
1416
+ 'pin',
1417
+ 'eway',
1418
+ 'eway_rapid',
1419
+ 'worldpay',
1420
+ 'balanced_payments',
1421
+ 'beanstream',
1422
+ 'bluepay',
1423
+ 'elavon',
1424
+ 'first_data_global',
1425
+ 'hdfc',
1426
+ 'migs',
1427
+ 'nmi',
1428
+ 'ogone',
1429
+ 'paymill',
1430
+ 'paypal_payflow_pro',
1431
+ 'sage_pay',
1432
+ 'tco',
1433
+ 'wirecard',
1434
+ 'amazon_payments',
1435
+ 'paypal_express_checkout',
1436
+ 'gocardless',
1437
+ 'orbital',
1438
+ 'moneris_us',
1439
+ 'moneris',
1440
+ 'bluesnap',
1441
+ 'cybersource',
1442
+ 'vantiv',
1443
+ 'checkout_com',
1444
+ 'paypal',
1445
+ 'ingenico_direct',
1446
+ 'exact',
1447
+ 'mollie',
1448
+ 'quickbooks',
1449
+ 'razorpay',
1450
+ 'global_payments',
1451
+ 'bank_of_america',
1452
+ 'ecentric',
1453
+ 'metrics_global',
1454
+ 'windcave',
1455
+ 'pay_com',
1456
+ 'ebanx',
1457
+ 'dlocal',
1458
+ 'nuvei',
1459
+ 'solidgate',
1460
+ 'paystack',
1461
+ 'jp_morgan',
1462
+ 'deutsche_bank',
1463
+ 'ezidebit',
1464
+ 'twikey',
1465
+ 'tempus',
1466
+ 'moyasar',
1467
+ 'payway',
1468
+ ])
1469
+ .optional(),
1470
+ gateway_account_id: z.string().max(50).optional(),
1471
+ reference_id: z.string().max(200).optional(),
1472
+ tmp_token: z.string().max(65000).optional(),
1473
+ issuing_country: z.string().max(50).optional(),
1474
+ additional_information: UpdateSubscriptionAdditionalInformationSchema.optional(),
1475
+ });
1476
+ const UpdateSubscriptionPaymentIntentSchema = z.object({
1477
+ id: z.string().max(150).optional(),
1478
+ gateway_account_id: z.string().max(50).optional(),
1479
+ gw_token: z.string().max(65000).optional(),
1480
+ payment_method_type: z
1481
+ .enum([
1482
+ 'card',
1483
+ 'ideal',
1484
+ 'sofort',
1485
+ 'bancontact',
1486
+ 'google_pay',
1487
+ 'dotpay',
1488
+ 'giropay',
1489
+ 'apple_pay',
1490
+ 'upi',
1491
+ 'netbanking_emandates',
1492
+ 'paypal_express_checkout',
1493
+ 'direct_debit',
1494
+ 'boleto',
1495
+ 'venmo',
1496
+ 'amazon_payments',
1497
+ 'pay_to',
1498
+ 'faster_payments',
1499
+ 'sepa_instant_transfer',
1500
+ 'klarna_pay_now',
1501
+ 'online_banking_poland',
1502
+ 'payconiq_by_bancontact',
1503
+ 'electronic_payment_standard',
1504
+ 'kbc_payment_button',
1505
+ 'pay_by_bank',
1506
+ 'trustly',
1507
+ 'stablecoin',
1508
+ 'kakao_pay',
1509
+ 'naver_pay',
1510
+ 'revolut_pay',
1511
+ 'cash_app_pay',
1512
+ 'wechat_pay',
1513
+ 'alipay',
1514
+ 'twint',
1515
+ 'go_pay',
1516
+ 'grab_pay',
1517
+ 'pay_co',
1518
+ 'after_pay',
1519
+ 'swish',
1520
+ 'payme',
1521
+ 'pix',
1522
+ 'klarna',
1523
+ 'alipay_hk',
1524
+ 'paypay',
1525
+ 'gcash',
1526
+ 'south_korean_cards',
1527
+ ])
1528
+ .optional(),
1529
+ reference_id: z.string().max(65000).optional(),
1530
+ gw_payment_method_id: z.string().max(65000).optional(),
1531
+ additional_information: UpdateSubscriptionAdditionalInformationSchema.optional(),
1532
+ });
1533
+ const UpdateSubscriptionBillingAddressSchema = z.object({
1534
+ first_name: z.string().max(150).optional(),
1535
+ last_name: z.string().max(150).optional(),
1536
+ email: z.string().email().max(70).optional(),
1537
+ company: z.string().max(250).optional(),
1538
+ phone: z.string().max(50).optional(),
1539
+ line1: z.string().max(150).optional(),
1540
+ line2: z.string().max(150).optional(),
1541
+ line3: z.string().max(150).optional(),
1542
+ city: z.string().max(50).optional(),
1543
+ state_code: z.string().max(50).optional(),
1544
+ state: z.string().max(50).optional(),
1545
+ zip: z.string().max(20).optional(),
1546
+ country: z.string().max(50).optional(),
1547
+ validation_status: z
1548
+ .enum(['not_validated', 'valid', 'partially_valid', 'invalid'])
1549
+ .optional(),
1550
+ });
1551
+ const UpdateSubscriptionShippingAddressSchema = z.object({
1552
+ first_name: z.string().max(150).optional(),
1553
+ last_name: z.string().max(150).optional(),
1554
+ email: z.string().email().max(70).optional(),
1555
+ company: z.string().max(250).optional(),
1556
+ phone: z.string().max(50).optional(),
1557
+ line1: z.string().max(150).optional(),
1558
+ line2: z.string().max(150).optional(),
1559
+ line3: z.string().max(150).optional(),
1560
+ city: z.string().max(50).optional(),
1561
+ state_code: z.string().max(50).optional(),
1562
+ state: z.string().max(50).optional(),
1563
+ zip: z.string().max(20).optional(),
1564
+ country: z.string().max(50).optional(),
1565
+ validation_status: z
1566
+ .enum(['not_validated', 'valid', 'partially_valid', 'invalid'])
1567
+ .optional(),
1568
+ });
1569
+ const UpdateSubscriptionStatementDescriptorSchema = z.object({
1570
+ descriptor: z.string().max(65000).optional(),
1571
+ });
1572
+ const UpdateSubscriptionCustomerSchema = z.object({
1573
+ vat_number: z.string().max(20).optional(),
1574
+ vat_number_prefix: z.string().max(10).optional(),
1575
+ entity_identifier_scheme: z.string().max(50).optional(),
1576
+ is_einvoice_enabled: z.boolean().optional(),
1577
+ einvoicing_method: z.enum(['automatic', 'manual', 'site_default']).optional(),
1578
+ entity_identifier_standard: z.string().max(50).optional(),
1579
+ business_customer_without_vat_number: z.boolean().optional(),
1580
+ registered_for_gst: z.boolean().optional(),
1581
+ });
1582
+ const UpdateSubscriptionContractTermSchema = z.object({
1583
+ action_at_term_end: z
1584
+ .enum(['renew', 'evergreen', 'cancel', 'renew_once'])
1585
+ .optional(),
1586
+ cancellation_cutoff_period: z.number().int().optional(),
1587
+ });
1588
+ const UpdateSubscriptionAddonsSchema = z.object({
1589
+ id: z.array(z.string().max(100).optional()).optional(),
1590
+ quantity: z.array(z.number().int().min(1).optional()).optional(),
1591
+ unit_price: z.array(z.number().int().min(0).optional()).optional(),
1592
+ billing_cycles: z.array(z.number().int().min(0).optional()).optional(),
1593
+ quantity_in_decimal: z.array(z.string().max(33).optional()).optional(),
1594
+ unit_price_in_decimal: z.array(z.string().max(39).optional()).optional(),
1595
+ trial_end: z.array(z.number().int().optional()).optional(),
1596
+ proration_type: z
1597
+ .array(z.enum(['full_term', 'partial_term', 'none']).optional())
1598
+ .optional(),
1599
+ });
1600
+ const UpdateSubscriptionEventBasedAddonsSchema = z.object({
1601
+ id: z.array(z.string().max(100).optional()).optional(),
1602
+ quantity: z.array(z.number().int().min(1).optional()).optional(),
1603
+ unit_price: z.array(z.number().int().min(0).optional()).optional(),
1604
+ service_period_in_days: z
1605
+ .array(z.number().int().min(1).max(4000).optional())
1606
+ .optional(),
1607
+ charge_on: z.array(z.enum(['immediately', 'on_event']).optional()).optional(),
1608
+ on_event: z
1609
+ .array(z
1610
+ .enum([
1611
+ 'subscription_creation',
1612
+ 'subscription_trial_start',
1613
+ 'plan_activation',
1614
+ 'subscription_activation',
1615
+ 'contract_termination',
1616
+ ])
1617
+ .optional())
1618
+ .optional(),
1619
+ charge_once: z.array(z.boolean().default(true).optional()).optional(),
1620
+ quantity_in_decimal: z.array(z.string().max(33).optional()).optional(),
1621
+ unit_price_in_decimal: z.array(z.string().max(39).optional()).optional(),
1622
+ });
1623
+ const UpdateSubscriptionCouponsSchema = z.object({
1624
+ coupon_id: z.array(z.string().max(100).optional()).optional(),
1625
+ apply_till: z.array(z.number().int().optional()).optional(),
1626
+ });
1627
+ const UpdateSubscriptionBodySchema = z.looseObject({
1628
+ plan_id: z.string().max(100).optional(),
1629
+ plan_quantity: z.number().int().min(1).optional(),
1630
+ plan_unit_price: z.number().int().min(0).optional(),
1631
+ setup_fee: z.number().int().min(0).optional(),
1632
+ replace_addon_list: z.boolean().default(false).optional(),
1633
+ mandatory_addons_to_remove: z
1634
+ .array(z.string().max(100).optional())
1635
+ .optional(),
1636
+ plan_quantity_in_decimal: z.string().max(33).optional(),
1637
+ plan_unit_price_in_decimal: z.string().max(39).optional(),
1638
+ invoice_date: z.number().int().optional(),
1639
+ start_date: z.number().int().optional(),
1640
+ trial_end: z.number().int().optional(),
1641
+ billing_cycles: z.number().int().min(0).optional(),
1642
+ coupon: z.string().max(100).optional(),
1643
+ terms_to_charge: z.number().int().min(1).optional(),
1644
+ reactivate_from: z.number().int().optional(),
1645
+ billing_alignment_mode: z.enum(['immediate', 'delayed']).optional(),
1646
+ auto_collection: z.enum(['on', 'off']).optional(),
1647
+ offline_payment_method: z
1648
+ .enum([
1649
+ 'no_preference',
1650
+ 'cash',
1651
+ 'check',
1652
+ 'bank_transfer',
1653
+ 'ach_credit',
1654
+ 'sepa_credit',
1655
+ 'boleto',
1656
+ 'us_automated_bank_transfer',
1657
+ 'eu_automated_bank_transfer',
1658
+ 'uk_automated_bank_transfer',
1659
+ 'jp_automated_bank_transfer',
1660
+ 'mx_automated_bank_transfer',
1661
+ 'custom',
1662
+ ])
1663
+ .optional(),
1664
+ po_number: z.string().max(100).optional(),
1665
+ coupon_ids: z.array(z.string().max(100).optional()).optional(),
1666
+ replace_coupon_list: z.boolean().default(false).optional(),
1667
+ prorate: z.boolean().optional(),
1668
+ end_of_term: z.boolean().default(false).optional(),
1669
+ force_term_reset: z.boolean().default(false).optional(),
1670
+ reactivate: z.boolean().optional(),
1671
+ token_id: z.string().max(40).optional(),
1672
+ invoice_notes: z.string().max(2000).optional(),
1673
+ meta_data: UpdateSubscriptionMetaDataSchema.optional(),
1674
+ invoice_immediately: z.boolean().optional(),
1675
+ override_relationship: z.boolean().optional(),
1676
+ changes_scheduled_at: z.number().int().optional(),
1677
+ change_option: z
1678
+ .enum(['immediately', 'end_of_term', 'specific_date'])
1679
+ .optional(),
1680
+ contract_term_billing_cycle_on_renewal: z
1681
+ .number()
1682
+ .int()
1683
+ .min(1)
1684
+ .max(100)
1685
+ .optional(),
1686
+ free_period: z.number().int().min(1).optional(),
1687
+ free_period_unit: z.enum(['day', 'week', 'month', 'year']).optional(),
1688
+ trial_end_action: z
1689
+ .enum([
1690
+ 'site_default',
1691
+ 'plan_default',
1692
+ 'activate_subscription',
1693
+ 'cancel_subscription',
1694
+ ])
1695
+ .optional(),
1696
+ card: UpdateSubscriptionCardSchema.optional(),
1697
+ payment_method: UpdateSubscriptionPaymentMethodSchema.optional(),
1698
+ payment_intent: UpdateSubscriptionPaymentIntentSchema.optional(),
1699
+ billing_address: UpdateSubscriptionBillingAddressSchema.optional(),
1700
+ shipping_address: UpdateSubscriptionShippingAddressSchema.optional(),
1701
+ statement_descriptor: UpdateSubscriptionStatementDescriptorSchema.optional(),
1702
+ customer: UpdateSubscriptionCustomerSchema.optional(),
1703
+ contract_term: UpdateSubscriptionContractTermSchema.optional(),
1704
+ addons: UpdateSubscriptionAddonsSchema.optional(),
1705
+ event_based_addons: UpdateSubscriptionEventBasedAddonsSchema.optional(),
1706
+ coupons: UpdateSubscriptionCouponsSchema.optional(),
1707
+ });
1708
+ export { UpdateSubscriptionBodySchema };
1709
+ //Subscription.updateForItems
1710
+ const UpdateForItemsSubscriptionMetaDataSchema = z.looseObject({});
1711
+ const UpdateForItemsSubscriptionAdditionalInformationSchema = z.looseObject({});
1712
+ const UpdateForItemsSubscriptionCardSchema = z.object({
1713
+ gateway: z
1714
+ .enum([
1715
+ 'chargebee',
1716
+ 'chargebee_payments',
1717
+ 'adyen',
1718
+ 'stripe',
1719
+ 'wepay',
1720
+ 'braintree',
1721
+ 'authorize_net',
1722
+ 'paypal_pro',
1723
+ 'pin',
1724
+ 'eway',
1725
+ 'eway_rapid',
1726
+ 'worldpay',
1727
+ 'balanced_payments',
1728
+ 'beanstream',
1729
+ 'bluepay',
1730
+ 'elavon',
1731
+ 'first_data_global',
1732
+ 'hdfc',
1733
+ 'migs',
1734
+ 'nmi',
1735
+ 'ogone',
1736
+ 'paymill',
1737
+ 'paypal_payflow_pro',
1738
+ 'sage_pay',
1739
+ 'tco',
1740
+ 'wirecard',
1741
+ 'amazon_payments',
1742
+ 'paypal_express_checkout',
1743
+ 'orbital',
1744
+ 'moneris_us',
1745
+ 'moneris',
1746
+ 'bluesnap',
1747
+ 'cybersource',
1748
+ 'vantiv',
1749
+ 'checkout_com',
1750
+ 'paypal',
1751
+ 'ingenico_direct',
1752
+ 'exact',
1753
+ 'mollie',
1754
+ 'quickbooks',
1755
+ 'razorpay',
1756
+ 'global_payments',
1757
+ 'bank_of_america',
1758
+ 'ecentric',
1759
+ 'metrics_global',
1760
+ 'windcave',
1761
+ 'pay_com',
1762
+ 'ebanx',
1763
+ 'dlocal',
1764
+ 'nuvei',
1765
+ 'solidgate',
1766
+ 'paystack',
1767
+ 'jp_morgan',
1768
+ 'deutsche_bank',
1769
+ 'ezidebit',
1770
+ 'twikey',
1771
+ 'tempus',
1772
+ 'moyasar',
1773
+ 'payway',
1774
+ ])
1775
+ .optional(),
1776
+ gateway_account_id: z.string().max(50).optional(),
1777
+ tmp_token: z.string().max(300).optional(),
1778
+ first_name: z.string().max(50).optional(),
1779
+ last_name: z.string().max(50).optional(),
1780
+ number: z.string().max(1500).optional(),
1781
+ expiry_month: z.number().int().min(1).max(12).optional(),
1782
+ expiry_year: z.number().int().optional(),
1783
+ cvv: z.string().max(520).optional(),
1784
+ preferred_scheme: z
1785
+ .enum(['cartes_bancaires', 'mastercard', 'visa'])
1786
+ .optional(),
1787
+ billing_addr1: z.string().max(150).optional(),
1788
+ billing_addr2: z.string().max(150).optional(),
1789
+ billing_city: z.string().max(50).optional(),
1790
+ billing_state_code: z.string().max(50).optional(),
1791
+ billing_state: z.string().max(50).optional(),
1792
+ billing_zip: z.string().max(20).optional(),
1793
+ billing_country: z.string().max(50).optional(),
1794
+ ip_address: z.string().max(50).optional(),
1795
+ additional_information: UpdateForItemsSubscriptionAdditionalInformationSchema.optional(),
1796
+ });
1797
+ const UpdateForItemsSubscriptionPaymentMethodSchema = z.object({
1798
+ type: z
1799
+ .enum([
1800
+ 'card',
1801
+ 'paypal_express_checkout',
1802
+ 'amazon_payments',
1803
+ 'direct_debit',
1804
+ 'generic',
1805
+ 'alipay',
1806
+ 'unionpay',
1807
+ 'apple_pay',
1808
+ 'wechat_pay',
1809
+ 'ideal',
1810
+ 'google_pay',
1811
+ 'sofort',
1812
+ 'bancontact',
1813
+ 'giropay',
1814
+ 'dotpay',
1815
+ 'upi',
1816
+ 'netbanking_emandates',
1817
+ 'venmo',
1818
+ 'pay_to',
1819
+ 'faster_payments',
1820
+ 'sepa_instant_transfer',
1821
+ 'automated_bank_transfer',
1822
+ 'klarna_pay_now',
1823
+ 'online_banking_poland',
1824
+ 'payconiq_by_bancontact',
1825
+ 'electronic_payment_standard',
1826
+ 'kbc_payment_button',
1827
+ 'pay_by_bank',
1828
+ 'trustly',
1829
+ 'stablecoin',
1830
+ 'kakao_pay',
1831
+ 'naver_pay',
1832
+ 'revolut_pay',
1833
+ 'cash_app_pay',
1834
+ 'twint',
1835
+ 'go_pay',
1836
+ 'grab_pay',
1837
+ 'pay_co',
1838
+ 'after_pay',
1839
+ 'swish',
1840
+ 'payme',
1841
+ 'pix',
1842
+ 'klarna',
1843
+ 'alipay_hk',
1844
+ 'paypay',
1845
+ 'gcash',
1846
+ 'south_korean_cards',
1847
+ ])
1848
+ .optional(),
1849
+ gateway: z
1850
+ .enum([
1851
+ 'chargebee_payments',
1852
+ 'adyen',
1853
+ 'stripe',
1854
+ 'wepay',
1855
+ 'braintree',
1856
+ 'authorize_net',
1857
+ 'paypal_pro',
1858
+ 'pin',
1859
+ 'eway',
1860
+ 'eway_rapid',
1861
+ 'worldpay',
1862
+ 'balanced_payments',
1863
+ 'beanstream',
1864
+ 'bluepay',
1865
+ 'elavon',
1866
+ 'first_data_global',
1867
+ 'hdfc',
1868
+ 'migs',
1869
+ 'nmi',
1870
+ 'ogone',
1871
+ 'paymill',
1872
+ 'paypal_payflow_pro',
1873
+ 'sage_pay',
1874
+ 'tco',
1875
+ 'wirecard',
1876
+ 'amazon_payments',
1877
+ 'paypal_express_checkout',
1878
+ 'gocardless',
1879
+ 'orbital',
1880
+ 'moneris_us',
1881
+ 'moneris',
1882
+ 'bluesnap',
1883
+ 'cybersource',
1884
+ 'vantiv',
1885
+ 'checkout_com',
1886
+ 'paypal',
1887
+ 'ingenico_direct',
1888
+ 'exact',
1889
+ 'mollie',
1890
+ 'quickbooks',
1891
+ 'razorpay',
1892
+ 'global_payments',
1893
+ 'bank_of_america',
1894
+ 'ecentric',
1895
+ 'metrics_global',
1896
+ 'windcave',
1897
+ 'pay_com',
1898
+ 'ebanx',
1899
+ 'dlocal',
1900
+ 'nuvei',
1901
+ 'solidgate',
1902
+ 'paystack',
1903
+ 'jp_morgan',
1904
+ 'deutsche_bank',
1905
+ 'ezidebit',
1906
+ 'twikey',
1907
+ 'tempus',
1908
+ 'moyasar',
1909
+ 'payway',
1910
+ ])
1911
+ .optional(),
1912
+ gateway_account_id: z.string().max(50).optional(),
1913
+ reference_id: z.string().max(200).optional(),
1914
+ tmp_token: z.string().max(65000).optional(),
1915
+ issuing_country: z.string().max(50).optional(),
1916
+ additional_information: UpdateForItemsSubscriptionAdditionalInformationSchema.optional(),
1917
+ });
1918
+ const UpdateForItemsSubscriptionPaymentIntentSchema = z.object({
1919
+ id: z.string().max(150).optional(),
1920
+ gateway_account_id: z.string().max(50).optional(),
1921
+ gw_token: z.string().max(65000).optional(),
1922
+ payment_method_type: z
1923
+ .enum([
1924
+ 'card',
1925
+ 'ideal',
1926
+ 'sofort',
1927
+ 'bancontact',
1928
+ 'google_pay',
1929
+ 'dotpay',
1930
+ 'giropay',
1931
+ 'apple_pay',
1932
+ 'upi',
1933
+ 'netbanking_emandates',
1934
+ 'paypal_express_checkout',
1935
+ 'direct_debit',
1936
+ 'boleto',
1937
+ 'venmo',
1938
+ 'amazon_payments',
1939
+ 'pay_to',
1940
+ 'faster_payments',
1941
+ 'sepa_instant_transfer',
1942
+ 'klarna_pay_now',
1943
+ 'online_banking_poland',
1944
+ 'payconiq_by_bancontact',
1945
+ 'electronic_payment_standard',
1946
+ 'kbc_payment_button',
1947
+ 'pay_by_bank',
1948
+ 'trustly',
1949
+ 'stablecoin',
1950
+ 'kakao_pay',
1951
+ 'naver_pay',
1952
+ 'revolut_pay',
1953
+ 'cash_app_pay',
1954
+ 'wechat_pay',
1955
+ 'alipay',
1956
+ 'twint',
1957
+ 'go_pay',
1958
+ 'grab_pay',
1959
+ 'pay_co',
1960
+ 'after_pay',
1961
+ 'swish',
1962
+ 'payme',
1963
+ 'pix',
1964
+ 'klarna',
1965
+ 'alipay_hk',
1966
+ 'paypay',
1967
+ 'gcash',
1968
+ 'south_korean_cards',
1969
+ ])
1970
+ .optional(),
1971
+ reference_id: z.string().max(65000).optional(),
1972
+ gw_payment_method_id: z.string().max(65000).optional(),
1973
+ additional_information: UpdateForItemsSubscriptionAdditionalInformationSchema.optional(),
1974
+ });
1975
+ const UpdateForItemsSubscriptionBillingAddressSchema = z.object({
1976
+ first_name: z.string().max(150).optional(),
1977
+ last_name: z.string().max(150).optional(),
1978
+ email: z.string().email().max(70).optional(),
1979
+ company: z.string().max(250).optional(),
1980
+ phone: z.string().max(50).optional(),
1981
+ line1: z.string().max(150).optional(),
1982
+ line2: z.string().max(150).optional(),
1983
+ line3: z.string().max(150).optional(),
1984
+ city: z.string().max(50).optional(),
1985
+ state_code: z.string().max(50).optional(),
1986
+ state: z.string().max(50).optional(),
1987
+ zip: z.string().max(20).optional(),
1988
+ country: z.string().max(50).optional(),
1989
+ validation_status: z
1990
+ .enum(['not_validated', 'valid', 'partially_valid', 'invalid'])
1991
+ .optional(),
1992
+ });
1993
+ const UpdateForItemsSubscriptionShippingAddressSchema = z.object({
1994
+ first_name: z.string().max(150).optional(),
1995
+ last_name: z.string().max(150).optional(),
1996
+ email: z.string().email().max(70).optional(),
1997
+ company: z.string().max(250).optional(),
1998
+ phone: z.string().max(50).optional(),
1999
+ line1: z.string().max(150).optional(),
2000
+ line2: z.string().max(150).optional(),
2001
+ line3: z.string().max(150).optional(),
2002
+ city: z.string().max(50).optional(),
2003
+ state_code: z.string().max(50).optional(),
2004
+ state: z.string().max(50).optional(),
2005
+ zip: z.string().max(20).optional(),
2006
+ country: z.string().max(50).optional(),
2007
+ validation_status: z
2008
+ .enum(['not_validated', 'valid', 'partially_valid', 'invalid'])
2009
+ .optional(),
2010
+ });
2011
+ const UpdateForItemsSubscriptionStatementDescriptorSchema = z.object({
2012
+ descriptor: z.string().max(65000).optional(),
2013
+ });
2014
+ const UpdateForItemsSubscriptionCustomerSchema = z.object({
2015
+ vat_number: z.string().max(20).optional(),
2016
+ vat_number_prefix: z.string().max(10).optional(),
2017
+ entity_identifier_scheme: z.string().max(50).optional(),
2018
+ is_einvoice_enabled: z.boolean().optional(),
2019
+ einvoicing_method: z.enum(['automatic', 'manual', 'site_default']).optional(),
2020
+ entity_identifier_standard: z.string().max(50).optional(),
2021
+ business_customer_without_vat_number: z.boolean().optional(),
2022
+ registered_for_gst: z.boolean().optional(),
2023
+ });
2024
+ const UpdateForItemsSubscriptionContractTermSchema = z.object({
2025
+ action_at_term_end: z
2026
+ .enum(['renew', 'evergreen', 'cancel', 'renew_once'])
2027
+ .optional(),
2028
+ cancellation_cutoff_period: z.number().int().optional(),
2029
+ contract_start: z.number().int().optional(),
2030
+ });
2031
+ const UpdateForItemsSubscriptionBillingOverrideSchema = z.object({
2032
+ max_excess_payment_usage: z.number().int().min(-1).optional(),
2033
+ max_refundable_credits_usage: z.number().int().min(-1).optional(),
2034
+ });
2035
+ const UpdateForItemsSubscriptionSubscriptionItemsSchema = z.object({
2036
+ item_price_id: z.array(z.string().max(100).optional()),
2037
+ quantity: z.array(z.number().int().min(1).optional()).optional(),
2038
+ quantity_in_decimal: z.array(z.string().max(33).optional()).optional(),
2039
+ unit_price: z.array(z.number().int().min(0).optional()).optional(),
2040
+ unit_price_in_decimal: z.array(z.string().max(39).optional()).optional(),
2041
+ billing_cycles: z.array(z.number().int().min(0).optional()).optional(),
2042
+ trial_end: z.array(z.number().int().optional()).optional(),
2043
+ service_period_days: z
2044
+ .array(z.number().int().min(1).max(730).optional())
2045
+ .optional(),
2046
+ charge_on_event: z
2047
+ .array(z
2048
+ .enum([
2049
+ 'subscription_creation',
2050
+ 'subscription_trial_start',
2051
+ 'plan_activation',
2052
+ 'subscription_activation',
2053
+ 'contract_termination',
2054
+ ])
2055
+ .optional())
2056
+ .optional(),
2057
+ charge_once: z.array(z.boolean().optional()).optional(),
2058
+ charge_on_option: z
2059
+ .array(z.enum(['immediately', 'on_event']).optional())
2060
+ .optional(),
2061
+ item_type: z.array(z.enum(['plan', 'addon', 'charge']).optional()).optional(),
2062
+ proration_type: z
2063
+ .array(z.enum(['full_term', 'partial_term', 'none']).optional())
2064
+ .optional(),
2065
+ usage_accumulation_reset_frequency: z
2066
+ .array(z.enum(['never', 'subscription_billing_frequency']).optional())
2067
+ .optional(),
2068
+ });
2069
+ const UpdateForItemsSubscriptionDiscountsSchema = z.object({
2070
+ apply_on: z
2071
+ .array(z.enum(['invoice_amount', 'specific_item_price']).optional())
2072
+ .optional(),
2073
+ duration_type: z.array(z.enum(['one_time', 'forever', 'limited_period']).optional()),
2074
+ percentage: z.array(z.number().min(0.01).max(100).optional()).optional(),
2075
+ amount: z.array(z.number().int().min(0).optional()).optional(),
2076
+ period: z.array(z.number().int().min(1).optional()).optional(),
2077
+ period_unit: z
2078
+ .array(z.enum(['day', 'week', 'month', 'year']).optional())
2079
+ .optional(),
2080
+ included_in_mrr: z.array(z.boolean().optional()).optional(),
2081
+ item_price_id: z.array(z.string().max(100).optional()).optional(),
2082
+ quantity: z.array(z.number().int().min(1).optional()).optional(),
2083
+ operation_type: z.array(z.enum(['add', 'remove']).optional()),
2084
+ id: z.array(z.string().max(50).optional()).optional(),
2085
+ });
2086
+ const UpdateForItemsSubscriptionItemTiersSchema = z.object({
2087
+ item_price_id: z.array(z.string().max(100).optional()).optional(),
2088
+ starting_unit: z.array(z.number().int().min(1).optional()).optional(),
2089
+ ending_unit: z.array(z.number().int().optional()).optional(),
2090
+ price: z.array(z.number().int().min(0).optional()).optional(),
2091
+ starting_unit_in_decimal: z.array(z.string().max(33).optional()).optional(),
2092
+ ending_unit_in_decimal: z.array(z.string().max(33).optional()).optional(),
2093
+ price_in_decimal: z.array(z.string().max(39).optional()).optional(),
2094
+ pricing_type: z
2095
+ .array(z.enum(['per_unit', 'flat_fee', 'package']).optional())
2096
+ .optional(),
2097
+ package_size: z.array(z.number().int().min(1).optional()).optional(),
2098
+ });
2099
+ const UpdateForItemsSubscriptionCouponsSchema = z.object({
2100
+ coupon_id: z.array(z.string().max(100).optional()).optional(),
2101
+ apply_till: z.array(z.number().int().optional()).optional(),
2102
+ });
2103
+ const UpdateForItemsSubscriptionBodySchema = z.looseObject({
2104
+ mandatory_items_to_remove: z.array(z.string().max(100).optional()).optional(),
2105
+ replace_items_list: z.boolean().default(false).optional(),
2106
+ setup_fee: z.number().int().min(0).optional(),
2107
+ net_term_days: z.number().int().optional(),
2108
+ invoice_date: z.number().int().optional(),
2109
+ start_date: z.number().int().optional(),
2110
+ trial_end: z.number().int().optional(),
2111
+ billing_cycles: z.number().int().min(0).optional(),
2112
+ coupon: z.string().max(100).optional(),
2113
+ terms_to_charge: z.number().int().min(1).optional(),
2114
+ reactivate_from: z.number().int().optional(),
2115
+ billing_alignment_mode: z.enum(['immediate', 'delayed']).optional(),
2116
+ auto_collection: z.enum(['on', 'off']).optional(),
2117
+ offline_payment_method: z
2118
+ .enum([
2119
+ 'no_preference',
2120
+ 'cash',
2121
+ 'check',
2122
+ 'bank_transfer',
2123
+ 'ach_credit',
2124
+ 'sepa_credit',
2125
+ 'boleto',
2126
+ 'us_automated_bank_transfer',
2127
+ 'eu_automated_bank_transfer',
2128
+ 'uk_automated_bank_transfer',
2129
+ 'jp_automated_bank_transfer',
2130
+ 'mx_automated_bank_transfer',
2131
+ 'custom',
2132
+ ])
2133
+ .optional(),
2134
+ po_number: z.string().max(100).optional(),
2135
+ coupon_ids: z.array(z.string().max(100).optional()).optional(),
2136
+ replace_coupon_list: z.boolean().default(false).optional(),
2137
+ prorate: z.boolean().optional(),
2138
+ end_of_term: z.boolean().default(false).optional(),
2139
+ force_term_reset: z.boolean().default(false).optional(),
2140
+ reactivate: z.boolean().optional(),
2141
+ token_id: z.string().max(40).optional(),
2142
+ invoice_notes: z.string().max(2000).optional(),
2143
+ meta_data: UpdateForItemsSubscriptionMetaDataSchema.optional(),
2144
+ invoice_immediately: z.boolean().optional(),
2145
+ override_relationship: z.boolean().optional(),
2146
+ changes_scheduled_at: z.number().int().optional(),
2147
+ change_option: z
2148
+ .enum(['immediately', 'end_of_term', 'specific_date'])
2149
+ .optional(),
2150
+ contract_term_billing_cycle_on_renewal: z
2151
+ .number()
2152
+ .int()
2153
+ .min(1)
2154
+ .max(100)
2155
+ .optional(),
2156
+ free_period: z.number().int().min(1).optional(),
2157
+ free_period_unit: z.enum(['day', 'week', 'month', 'year']).optional(),
2158
+ create_pending_invoices: z.boolean().optional(),
2159
+ auto_close_invoices: z.boolean().optional(),
2160
+ trial_end_action: z
2161
+ .enum([
2162
+ 'site_default',
2163
+ 'plan_default',
2164
+ 'activate_subscription',
2165
+ 'cancel_subscription',
2166
+ ])
2167
+ .optional(),
2168
+ payment_initiator: z.enum(['customer', 'merchant']).optional(),
2169
+ invoice_usages: z.boolean().default(false).optional(),
2170
+ card: UpdateForItemsSubscriptionCardSchema.optional(),
2171
+ payment_method: UpdateForItemsSubscriptionPaymentMethodSchema.optional(),
2172
+ payment_intent: UpdateForItemsSubscriptionPaymentIntentSchema.optional(),
2173
+ billing_address: UpdateForItemsSubscriptionBillingAddressSchema.optional(),
2174
+ shipping_address: UpdateForItemsSubscriptionShippingAddressSchema.optional(),
2175
+ statement_descriptor: UpdateForItemsSubscriptionStatementDescriptorSchema.optional(),
2176
+ customer: UpdateForItemsSubscriptionCustomerSchema.optional(),
2177
+ contract_term: UpdateForItemsSubscriptionContractTermSchema.optional(),
2178
+ billing_override: UpdateForItemsSubscriptionBillingOverrideSchema.optional(),
2179
+ subscription_items: UpdateForItemsSubscriptionSubscriptionItemsSchema.optional(),
2180
+ discounts: UpdateForItemsSubscriptionDiscountsSchema.optional(),
2181
+ item_tiers: UpdateForItemsSubscriptionItemTiersSchema.optional(),
2182
+ coupons: UpdateForItemsSubscriptionCouponsSchema.optional(),
2183
+ });
2184
+ export { UpdateForItemsSubscriptionBodySchema };
2185
+ //Subscription.changeTermEnd
2186
+ const ChangeTermEndSubscriptionBodySchema = z.looseObject({
2187
+ term_ends_at: z.number().int(),
2188
+ prorate: z.boolean().optional(),
2189
+ invoice_immediately: z.boolean().optional(),
2190
+ });
2191
+ export { ChangeTermEndSubscriptionBodySchema };
2192
+ //Subscription.reactivate
2193
+ const ReactivateSubscriptionContractTermSchema = z.object({
2194
+ action_at_term_end: z.enum(['renew', 'evergreen', 'cancel']).optional(),
2195
+ cancellation_cutoff_period: z.number().int().optional(),
2196
+ });
2197
+ const ReactivateSubscriptionStatementDescriptorSchema = z.object({
2198
+ descriptor: z.string().max(65000).optional(),
2199
+ });
2200
+ const ReactivateSubscriptionAdditionalInformationSchema = z.looseObject({});
2201
+ const ReactivateSubscriptionPaymentIntentSchema = z.object({
2202
+ id: z.string().max(150).optional(),
2203
+ gateway_account_id: z.string().max(50).optional(),
2204
+ gw_token: z.string().max(65000).optional(),
2205
+ payment_method_type: z
2206
+ .enum([
2207
+ 'card',
2208
+ 'ideal',
2209
+ 'sofort',
2210
+ 'bancontact',
2211
+ 'google_pay',
2212
+ 'dotpay',
2213
+ 'giropay',
2214
+ 'apple_pay',
2215
+ 'upi',
2216
+ 'netbanking_emandates',
2217
+ 'paypal_express_checkout',
2218
+ 'direct_debit',
2219
+ 'boleto',
2220
+ 'venmo',
2221
+ 'amazon_payments',
2222
+ 'pay_to',
2223
+ 'faster_payments',
2224
+ 'sepa_instant_transfer',
2225
+ 'klarna_pay_now',
2226
+ 'online_banking_poland',
2227
+ 'payconiq_by_bancontact',
2228
+ 'electronic_payment_standard',
2229
+ 'kbc_payment_button',
2230
+ 'pay_by_bank',
2231
+ 'trustly',
2232
+ 'stablecoin',
2233
+ 'kakao_pay',
2234
+ 'naver_pay',
2235
+ 'revolut_pay',
2236
+ 'cash_app_pay',
2237
+ 'wechat_pay',
2238
+ 'alipay',
2239
+ 'twint',
2240
+ 'go_pay',
2241
+ 'grab_pay',
2242
+ 'pay_co',
2243
+ 'after_pay',
2244
+ 'swish',
2245
+ 'payme',
2246
+ 'pix',
2247
+ 'klarna',
2248
+ 'alipay_hk',
2249
+ 'paypay',
2250
+ 'gcash',
2251
+ 'south_korean_cards',
2252
+ ])
2253
+ .optional(),
2254
+ reference_id: z.string().max(65000).optional(),
2255
+ gw_payment_method_id: z.string().max(65000).optional(),
2256
+ additional_information: ReactivateSubscriptionAdditionalInformationSchema.optional(),
2257
+ });
2258
+ const ReactivateSubscriptionBodySchema = z.looseObject({
2259
+ trial_end: z.number().int().optional(),
2260
+ billing_cycles: z.number().int().min(0).optional(),
2261
+ trial_period_days: z.number().int().min(1).max(365).optional(),
2262
+ reactivate_from: z.number().int().optional(),
2263
+ invoice_immediately: z.boolean().optional(),
2264
+ billing_alignment_mode: z.enum(['immediate', 'delayed']).optional(),
2265
+ terms_to_charge: z.number().int().min(1).optional(),
2266
+ invoice_date: z.number().int().optional(),
2267
+ contract_term_billing_cycle_on_renewal: z
2268
+ .number()
2269
+ .int()
2270
+ .min(1)
2271
+ .max(100)
2272
+ .optional(),
2273
+ payment_initiator: z.enum(['customer', 'merchant']).optional(),
2274
+ contract_term: ReactivateSubscriptionContractTermSchema.optional(),
2275
+ statement_descriptor: ReactivateSubscriptionStatementDescriptorSchema.optional(),
2276
+ payment_intent: ReactivateSubscriptionPaymentIntentSchema.optional(),
2277
+ });
2278
+ export { ReactivateSubscriptionBodySchema };
2279
+ //Subscription.addChargeAtTermEnd
2280
+ const AddChargeAtTermEndSubscriptionBodySchema = z.looseObject({
2281
+ amount: z.number().int().min(1).optional(),
2282
+ description: z.string().max(250),
2283
+ amount_in_decimal: z.string().max(39).optional(),
2284
+ avalara_sale_type: z
2285
+ .enum(['wholesale', 'retail', 'consumed', 'vendor_use'])
2286
+ .optional(),
2287
+ avalara_transaction_type: z.number().int().optional(),
2288
+ avalara_service_type: z.number().int().optional(),
2289
+ date_from: z.number().int().optional(),
2290
+ date_to: z.number().int().optional(),
2291
+ });
2292
+ export { AddChargeAtTermEndSubscriptionBodySchema };
2293
+ //Subscription.chargeAddonAtTermEnd
2294
+ const ChargeAddonAtTermEndSubscriptionBodySchema = z.looseObject({
2295
+ addon_id: z.string().max(100),
2296
+ addon_quantity: z.number().int().min(1).optional(),
2297
+ addon_unit_price: z.number().int().min(0).optional(),
2298
+ addon_quantity_in_decimal: z.string().max(33).optional(),
2299
+ addon_unit_price_in_decimal: z.string().max(39).optional(),
2300
+ date_from: z.number().int().optional(),
2301
+ date_to: z.number().int().optional(),
2302
+ });
2303
+ export { ChargeAddonAtTermEndSubscriptionBodySchema };
2304
+ //Subscription.chargeFutureRenewals
2305
+ const ChargeFutureRenewalsSubscriptionFixedIntervalScheduleSchema = z.object({
2306
+ number_of_occurrences: z.number().int().min(1).optional(),
2307
+ days_before_renewal: z.number().int().min(1).optional(),
2308
+ end_schedule_on: z
2309
+ .enum(['after_number_of_intervals', 'specific_date', 'subscription_end'])
2310
+ .optional(),
2311
+ end_date: z.number().int().optional(),
2312
+ });
2313
+ const ChargeFutureRenewalsSubscriptionSpecificDatesScheduleSchema = z.object({
2314
+ terms_to_charge: z.array(z.number().int().optional()).optional(),
2315
+ date: z.array(z.number().int().optional()).optional(),
2316
+ });
2317
+ const ChargeFutureRenewalsSubscriptionBodySchema = z.looseObject({
2318
+ terms_to_charge: z.number().int().min(1).optional(),
2319
+ invoice_immediately: z.boolean().optional(),
2320
+ schedule_type: z
2321
+ .enum(['immediate', 'specific_dates', 'fixed_intervals'])
2322
+ .optional(),
2323
+ fixed_interval_schedule: ChargeFutureRenewalsSubscriptionFixedIntervalScheduleSchema.optional(),
2324
+ specific_dates_schedule: ChargeFutureRenewalsSubscriptionSpecificDatesScheduleSchema.optional(),
2325
+ });
2326
+ export { ChargeFutureRenewalsSubscriptionBodySchema };
2327
+ //Subscription.editAdvanceInvoiceSchedule
2328
+ const EditAdvanceInvoiceScheduleSubscriptionFixedIntervalScheduleSchema = z.object({
2329
+ number_of_occurrences: z.number().int().min(1).optional(),
2330
+ days_before_renewal: z.number().int().min(1).optional(),
2331
+ end_schedule_on: z
2332
+ .enum(['after_number_of_intervals', 'specific_date', 'subscription_end'])
2333
+ .optional(),
2334
+ end_date: z.number().int().optional(),
2335
+ });
2336
+ const EditAdvanceInvoiceScheduleSubscriptionSpecificDatesScheduleSchema = z.object({
2337
+ id: z.array(z.string().max(50).optional()).optional(),
2338
+ terms_to_charge: z.array(z.number().int().optional()).optional(),
2339
+ date: z.array(z.number().int().optional()).optional(),
2340
+ });
2341
+ const EditAdvanceInvoiceScheduleSubscriptionBodySchema = z.looseObject({
2342
+ terms_to_charge: z.number().int().min(1).optional(),
2343
+ schedule_type: z.enum(['specific_dates', 'fixed_intervals']).optional(),
2344
+ fixed_interval_schedule: EditAdvanceInvoiceScheduleSubscriptionFixedIntervalScheduleSchema.optional(),
2345
+ specific_dates_schedule: EditAdvanceInvoiceScheduleSubscriptionSpecificDatesScheduleSchema.optional(),
2346
+ });
2347
+ export { EditAdvanceInvoiceScheduleSubscriptionBodySchema };
2348
+ //Subscription.removeAdvanceInvoiceSchedule
2349
+ const RemoveAdvanceInvoiceScheduleSubscriptionSpecificDatesScheduleSchema = z.object({
2350
+ id: z.array(z.string().max(50).optional()).optional(),
2351
+ });
2352
+ const RemoveAdvanceInvoiceScheduleSubscriptionBodySchema = z.looseObject({
2353
+ specific_dates_schedule: RemoveAdvanceInvoiceScheduleSubscriptionSpecificDatesScheduleSchema.optional(),
2354
+ });
2355
+ export { RemoveAdvanceInvoiceScheduleSubscriptionBodySchema };
2356
+ //Subscription.regenerateInvoice
2357
+ const RegenerateInvoiceSubscriptionBodySchema = z.looseObject({
2358
+ date_from: z.number().int().optional(),
2359
+ date_to: z.number().int().optional(),
2360
+ prorate: z.boolean().optional(),
2361
+ invoice_immediately: z.boolean().optional(),
2362
+ });
2363
+ export { RegenerateInvoiceSubscriptionBodySchema };
2364
+ //Subscription.importSubscription
2365
+ const ImportSubscriptionSubscriptionMetaDataSchema = z.looseObject({});
2366
+ const ImportSubscriptionSubscriptionCustomerSchema = z.looseObject({
2367
+ id: z.string().max(50).optional(),
2368
+ email: z.string().email().max(70).optional(),
2369
+ first_name: z.string().max(150).optional(),
2370
+ last_name: z.string().max(150).optional(),
2371
+ company: z.string().max(250).optional(),
2372
+ phone: z.string().max(50).optional(),
2373
+ locale: z.string().max(50).optional(),
2374
+ taxability: z.enum(['taxable', 'exempt']).optional(),
2375
+ entity_code: z
2376
+ .enum([
2377
+ 'a',
2378
+ 'b',
2379
+ 'c',
2380
+ 'd',
2381
+ 'e',
2382
+ 'f',
2383
+ 'g',
2384
+ 'h',
2385
+ 'i',
2386
+ 'j',
2387
+ 'k',
2388
+ 'l',
2389
+ 'm',
2390
+ 'n',
2391
+ 'p',
2392
+ 'q',
2393
+ 'r',
2394
+ 'med1',
2395
+ 'med2',
2396
+ ])
2397
+ .optional(),
2398
+ exempt_number: z.string().max(100).optional(),
2399
+ net_term_days: z.number().int().optional(),
2400
+ taxjar_exemption_category: z
2401
+ .enum(['wholesale', 'government', 'other'])
2402
+ .optional(),
2403
+ customer_type: z
2404
+ .enum(['residential', 'business', 'senior_citizen', 'industrial'])
2405
+ .optional(),
2406
+ auto_collection: z.enum(['on', 'off']).optional(),
2407
+ allow_direct_debit: z.boolean().default(false).optional(),
2408
+ vat_number: z.string().max(20).optional(),
2409
+ vat_number_prefix: z.string().max(10).optional(),
2410
+ });
2411
+ const ImportSubscriptionSubscriptionContractTermSchema = z.object({
2412
+ id: z.string().max(50).optional(),
2413
+ created_at: z.number().int().optional(),
2414
+ contract_start: z.number().int().optional(),
2415
+ billing_cycle: z.number().int().min(0).optional(),
2416
+ total_amount_raised: z.number().int().min(0).optional(),
2417
+ total_amount_raised_before_tax: z.number().int().min(0).optional(),
2418
+ action_at_term_end: z
2419
+ .enum(['renew', 'evergreen', 'cancel', 'renew_once'])
2420
+ .optional(),
2421
+ cancellation_cutoff_period: z.number().int().optional(),
2422
+ });
2423
+ const ImportSubscriptionSubscriptionAdditionalInformationSchema = z.looseObject({});
2424
+ const ImportSubscriptionSubscriptionCardSchema = z.object({
2425
+ gateway: z
2426
+ .enum([
2427
+ 'chargebee',
2428
+ 'chargebee_payments',
2429
+ 'adyen',
2430
+ 'stripe',
2431
+ 'wepay',
2432
+ 'braintree',
2433
+ 'authorize_net',
2434
+ 'paypal_pro',
2435
+ 'pin',
2436
+ 'eway',
2437
+ 'eway_rapid',
2438
+ 'worldpay',
2439
+ 'balanced_payments',
2440
+ 'beanstream',
2441
+ 'bluepay',
2442
+ 'elavon',
2443
+ 'first_data_global',
2444
+ 'hdfc',
2445
+ 'migs',
2446
+ 'nmi',
2447
+ 'ogone',
2448
+ 'paymill',
2449
+ 'paypal_payflow_pro',
2450
+ 'sage_pay',
2451
+ 'tco',
2452
+ 'wirecard',
2453
+ 'amazon_payments',
2454
+ 'paypal_express_checkout',
2455
+ 'orbital',
2456
+ 'moneris_us',
2457
+ 'moneris',
2458
+ 'bluesnap',
2459
+ 'cybersource',
2460
+ 'vantiv',
2461
+ 'checkout_com',
2462
+ 'paypal',
2463
+ 'ingenico_direct',
2464
+ 'exact',
2465
+ 'mollie',
2466
+ 'quickbooks',
2467
+ 'razorpay',
2468
+ 'global_payments',
2469
+ 'bank_of_america',
2470
+ 'ecentric',
2471
+ 'metrics_global',
2472
+ 'windcave',
2473
+ 'pay_com',
2474
+ 'ebanx',
2475
+ 'dlocal',
2476
+ 'nuvei',
2477
+ 'solidgate',
2478
+ 'paystack',
2479
+ 'jp_morgan',
2480
+ 'deutsche_bank',
2481
+ 'ezidebit',
2482
+ 'twikey',
2483
+ 'tempus',
2484
+ 'moyasar',
2485
+ 'payway',
2486
+ ])
2487
+ .optional(),
2488
+ gateway_account_id: z.string().max(50).optional(),
2489
+ tmp_token: z.string().max(300).optional(),
2490
+ first_name: z.string().max(50).optional(),
2491
+ last_name: z.string().max(50).optional(),
2492
+ number: z.string().max(1500).optional(),
2493
+ expiry_month: z.number().int().min(1).max(12).optional(),
2494
+ expiry_year: z.number().int().optional(),
2495
+ cvv: z.string().max(520).optional(),
2496
+ preferred_scheme: z
2497
+ .enum(['cartes_bancaires', 'mastercard', 'visa'])
2498
+ .optional(),
2499
+ billing_addr1: z.string().max(150).optional(),
2500
+ billing_addr2: z.string().max(150).optional(),
2501
+ billing_city: z.string().max(50).optional(),
2502
+ billing_state_code: z.string().max(50).optional(),
2503
+ billing_state: z.string().max(50).optional(),
2504
+ billing_zip: z.string().max(20).optional(),
2505
+ billing_country: z.string().max(50).optional(),
2506
+ additional_information: ImportSubscriptionSubscriptionAdditionalInformationSchema.optional(),
2507
+ });
2508
+ const ImportSubscriptionSubscriptionPaymentMethodSchema = z.object({
2509
+ type: z
2510
+ .enum([
2511
+ 'card',
2512
+ 'paypal_express_checkout',
2513
+ 'amazon_payments',
2514
+ 'direct_debit',
2515
+ 'generic',
2516
+ 'alipay',
2517
+ 'unionpay',
2518
+ 'apple_pay',
2519
+ 'wechat_pay',
2520
+ 'ideal',
2521
+ 'google_pay',
2522
+ 'sofort',
2523
+ 'bancontact',
2524
+ 'giropay',
2525
+ 'dotpay',
2526
+ 'upi',
2527
+ 'netbanking_emandates',
2528
+ 'venmo',
2529
+ 'pay_to',
2530
+ 'faster_payments',
2531
+ 'sepa_instant_transfer',
2532
+ 'automated_bank_transfer',
2533
+ 'klarna_pay_now',
2534
+ 'online_banking_poland',
2535
+ 'payconiq_by_bancontact',
2536
+ 'electronic_payment_standard',
2537
+ 'kbc_payment_button',
2538
+ 'pay_by_bank',
2539
+ 'trustly',
2540
+ 'stablecoin',
2541
+ 'kakao_pay',
2542
+ 'naver_pay',
2543
+ 'revolut_pay',
2544
+ 'cash_app_pay',
2545
+ 'twint',
2546
+ 'go_pay',
2547
+ 'grab_pay',
2548
+ 'pay_co',
2549
+ 'after_pay',
2550
+ 'swish',
2551
+ 'payme',
2552
+ 'pix',
2553
+ 'klarna',
2554
+ 'alipay_hk',
2555
+ 'paypay',
2556
+ 'gcash',
2557
+ 'south_korean_cards',
2558
+ ])
2559
+ .optional(),
2560
+ gateway: z
2561
+ .enum([
2562
+ 'chargebee_payments',
2563
+ 'adyen',
2564
+ 'stripe',
2565
+ 'wepay',
2566
+ 'braintree',
2567
+ 'authorize_net',
2568
+ 'paypal_pro',
2569
+ 'pin',
2570
+ 'eway',
2571
+ 'eway_rapid',
2572
+ 'worldpay',
2573
+ 'balanced_payments',
2574
+ 'beanstream',
2575
+ 'bluepay',
2576
+ 'elavon',
2577
+ 'first_data_global',
2578
+ 'hdfc',
2579
+ 'migs',
2580
+ 'nmi',
2581
+ 'ogone',
2582
+ 'paymill',
2583
+ 'paypal_payflow_pro',
2584
+ 'sage_pay',
2585
+ 'tco',
2586
+ 'wirecard',
2587
+ 'amazon_payments',
2588
+ 'paypal_express_checkout',
2589
+ 'gocardless',
2590
+ 'orbital',
2591
+ 'moneris_us',
2592
+ 'moneris',
2593
+ 'bluesnap',
2594
+ 'cybersource',
2595
+ 'vantiv',
2596
+ 'checkout_com',
2597
+ 'paypal',
2598
+ 'ingenico_direct',
2599
+ 'exact',
2600
+ 'mollie',
2601
+ 'quickbooks',
2602
+ 'razorpay',
2603
+ 'global_payments',
2604
+ 'bank_of_america',
2605
+ 'ecentric',
2606
+ 'metrics_global',
2607
+ 'windcave',
2608
+ 'pay_com',
2609
+ 'ebanx',
2610
+ 'dlocal',
2611
+ 'nuvei',
2612
+ 'solidgate',
2613
+ 'paystack',
2614
+ 'jp_morgan',
2615
+ 'deutsche_bank',
2616
+ 'ezidebit',
2617
+ 'twikey',
2618
+ 'tempus',
2619
+ 'moyasar',
2620
+ 'payway',
2621
+ ])
2622
+ .optional(),
2623
+ gateway_account_id: z.string().max(50).optional(),
2624
+ reference_id: z.string().max(200).optional(),
2625
+ issuing_country: z.string().max(50).optional(),
2626
+ additional_information: ImportSubscriptionSubscriptionAdditionalInformationSchema.optional(),
2627
+ });
2628
+ const ImportSubscriptionSubscriptionBillingAddressSchema = z.object({
2629
+ first_name: z.string().max(150).optional(),
2630
+ last_name: z.string().max(150).optional(),
2631
+ email: z.string().email().max(70).optional(),
2632
+ company: z.string().max(250).optional(),
2633
+ phone: z.string().max(50).optional(),
2634
+ line1: z.string().max(150).optional(),
2635
+ line2: z.string().max(150).optional(),
2636
+ line3: z.string().max(150).optional(),
2637
+ city: z.string().max(50).optional(),
2638
+ state_code: z.string().max(50).optional(),
2639
+ state: z.string().max(50).optional(),
2640
+ zip: z.string().max(20).optional(),
2641
+ country: z.string().max(50).optional(),
2642
+ validation_status: z
2643
+ .enum(['not_validated', 'valid', 'partially_valid', 'invalid'])
2644
+ .optional(),
2645
+ });
2646
+ const ImportSubscriptionSubscriptionShippingAddressSchema = z.object({
2647
+ first_name: z.string().max(150).optional(),
2648
+ last_name: z.string().max(150).optional(),
2649
+ email: z.string().email().max(70).optional(),
2650
+ company: z.string().max(250).optional(),
2651
+ phone: z.string().max(50).optional(),
2652
+ line1: z.string().max(150).optional(),
2653
+ line2: z.string().max(150).optional(),
2654
+ line3: z.string().max(150).optional(),
2655
+ city: z.string().max(50).optional(),
2656
+ state_code: z.string().max(50).optional(),
2657
+ state: z.string().max(50).optional(),
2658
+ zip: z.string().max(20).optional(),
2659
+ country: z.string().max(50).optional(),
2660
+ validation_status: z
2661
+ .enum(['not_validated', 'valid', 'partially_valid', 'invalid'])
2662
+ .optional(),
2663
+ });
2664
+ const ImportSubscriptionSubscriptionTransactionSchema = z.object({
2665
+ amount: z.number().int().min(0).optional(),
2666
+ payment_method: z
2667
+ .enum([
2668
+ 'cash',
2669
+ 'check',
2670
+ 'bank_transfer',
2671
+ 'other',
2672
+ 'app_store',
2673
+ 'play_store',
2674
+ 'custom',
2675
+ ])
2676
+ .optional(),
2677
+ reference_number: z.string().max(100).optional(),
2678
+ date: z.number().int().optional(),
2679
+ });
2680
+ const ImportSubscriptionSubscriptionAddonsSchema = z.object({
2681
+ id: z.array(z.string().max(100).optional()).optional(),
2682
+ quantity: z.array(z.number().int().min(1).optional()).optional(),
2683
+ quantity_in_decimal: z.array(z.string().max(33).optional()).optional(),
2684
+ unit_price: z.array(z.number().int().min(0).optional()).optional(),
2685
+ unit_price_in_decimal: z.array(z.string().max(39).optional()).optional(),
2686
+ billing_cycles: z.array(z.number().int().min(0).optional()).optional(),
2687
+ });
2688
+ const ImportSubscriptionSubscriptionEventBasedAddonsSchema = z.object({
2689
+ id: z.array(z.string().max(100).optional()).optional(),
2690
+ quantity: z.array(z.number().int().min(1).optional()).optional(),
2691
+ unit_price: z.array(z.number().int().min(0).optional()).optional(),
2692
+ quantity_in_decimal: z.array(z.string().max(33).optional()).optional(),
2693
+ unit_price_in_decimal: z.array(z.string().max(39).optional()).optional(),
2694
+ service_period_in_days: z
2695
+ .array(z.number().int().min(1).max(4000).optional())
2696
+ .optional(),
2697
+ on_event: z
2698
+ .array(z
2699
+ .enum([
2700
+ 'subscription_creation',
2701
+ 'subscription_trial_start',
2702
+ 'plan_activation',
2703
+ 'subscription_activation',
2704
+ 'contract_termination',
2705
+ ])
2706
+ .optional())
2707
+ .optional(),
2708
+ charge_once: z.array(z.boolean().default(true).optional()).optional(),
2709
+ });
2710
+ const ImportSubscriptionSubscriptionChargedEventBasedAddonsSchema = z.object({
2711
+ id: z.array(z.string().max(100).optional()).optional(),
2712
+ last_charged_at: z.array(z.number().int().optional()).optional(),
2713
+ });
2714
+ const ImportSubscriptionSubscriptionCouponsSchema = z.object({
2715
+ coupon_id: z.array(z.string().max(100).optional()).optional(),
2716
+ apply_till: z.array(z.number().int().optional()).optional(),
2717
+ });
2718
+ const ImportSubscriptionSubscriptionBodySchema = z.looseObject({
2719
+ id: z.string().max(50).optional(),
2720
+ client_profile_id: z.string().max(50).optional(),
2721
+ plan_id: z.string().max(100),
2722
+ plan_quantity: z.number().int().min(1).optional(),
2723
+ plan_quantity_in_decimal: z.string().max(33).optional(),
2724
+ plan_unit_price: z.number().int().min(0).optional(),
2725
+ plan_unit_price_in_decimal: z.string().max(39).optional(),
2726
+ setup_fee: z.number().int().min(0).optional(),
2727
+ trial_end: z.number().int().optional(),
2728
+ billing_cycles: z.number().int().min(0).optional(),
2729
+ start_date: z.number().int().optional(),
2730
+ auto_collection: z.enum(['on', 'off']).optional(),
2731
+ po_number: z.string().max(100).optional(),
2732
+ coupon_ids: z.array(z.string().max(100).optional()).optional(),
2733
+ contract_term_billing_cycle_on_renewal: z
2734
+ .number()
2735
+ .int()
2736
+ .min(1)
2737
+ .max(100)
2738
+ .optional(),
2739
+ status: z.enum([
2740
+ 'future',
2741
+ 'in_trial',
2742
+ 'active',
2743
+ 'non_renewing',
2744
+ 'paused',
2745
+ 'cancelled',
2746
+ 'transferred',
2747
+ ]),
2748
+ current_term_end: z.number().int().optional(),
2749
+ current_term_start: z.number().int().optional(),
2750
+ trial_start: z.number().int().optional(),
2751
+ cancelled_at: z.number().int().optional(),
2752
+ started_at: z.number().int().optional(),
2753
+ activated_at: z.number().int().optional(),
2754
+ pause_date: z.number().int().optional(),
2755
+ resume_date: z.number().int().optional(),
2756
+ create_current_term_invoice: z.boolean().default(false).optional(),
2757
+ affiliate_token: z.string().max(250).optional(),
2758
+ invoice_notes: z.string().max(2000).optional(),
2759
+ meta_data: ImportSubscriptionSubscriptionMetaDataSchema.optional(),
2760
+ customer: ImportSubscriptionSubscriptionCustomerSchema.optional(),
2761
+ contract_term: ImportSubscriptionSubscriptionContractTermSchema.optional(),
2762
+ card: ImportSubscriptionSubscriptionCardSchema.optional(),
2763
+ payment_method: ImportSubscriptionSubscriptionPaymentMethodSchema.optional(),
2764
+ billing_address: ImportSubscriptionSubscriptionBillingAddressSchema.optional(),
2765
+ shipping_address: ImportSubscriptionSubscriptionShippingAddressSchema.optional(),
2766
+ transaction: ImportSubscriptionSubscriptionTransactionSchema.optional(),
2767
+ addons: ImportSubscriptionSubscriptionAddonsSchema.optional(),
2768
+ event_based_addons: ImportSubscriptionSubscriptionEventBasedAddonsSchema.optional(),
2769
+ charged_event_based_addons: ImportSubscriptionSubscriptionChargedEventBasedAddonsSchema.optional(),
2770
+ coupons: ImportSubscriptionSubscriptionCouponsSchema.optional(),
2771
+ });
2772
+ export { ImportSubscriptionSubscriptionBodySchema };
2773
+ //Subscription.importForCustomer
2774
+ const ImportForCustomerSubscriptionMetaDataSchema = z.looseObject({});
2775
+ const ImportForCustomerSubscriptionContractTermSchema = z.object({
2776
+ id: z.string().max(50).optional(),
2777
+ created_at: z.number().int().optional(),
2778
+ contract_start: z.number().int().optional(),
2779
+ billing_cycle: z.number().int().min(0).optional(),
2780
+ total_amount_raised: z.number().int().min(0).optional(),
2781
+ total_amount_raised_before_tax: z.number().int().min(0).optional(),
2782
+ action_at_term_end: z
2783
+ .enum(['renew', 'evergreen', 'cancel', 'renew_once'])
2784
+ .optional(),
2785
+ cancellation_cutoff_period: z.number().int().optional(),
2786
+ });
2787
+ const ImportForCustomerSubscriptionTransactionSchema = z.object({
2788
+ amount: z.number().int().min(0).optional(),
2789
+ payment_method: z
2790
+ .enum([
2791
+ 'cash',
2792
+ 'check',
2793
+ 'bank_transfer',
2794
+ 'other',
2795
+ 'app_store',
2796
+ 'play_store',
2797
+ 'custom',
2798
+ ])
2799
+ .optional(),
2800
+ reference_number: z.string().max(100).optional(),
2801
+ date: z.number().int().optional(),
2802
+ });
2803
+ const ImportForCustomerSubscriptionShippingAddressSchema = z.object({
2804
+ first_name: z.string().max(150).optional(),
2805
+ last_name: z.string().max(150).optional(),
2806
+ email: z.string().email().max(70).optional(),
2807
+ company: z.string().max(250).optional(),
2808
+ phone: z.string().max(50).optional(),
2809
+ line1: z.string().max(150).optional(),
2810
+ line2: z.string().max(150).optional(),
2811
+ line3: z.string().max(150).optional(),
2812
+ city: z.string().max(50).optional(),
2813
+ state_code: z.string().max(50).optional(),
2814
+ state: z.string().max(50).optional(),
2815
+ zip: z.string().max(20).optional(),
2816
+ country: z.string().max(50).optional(),
2817
+ validation_status: z
2818
+ .enum(['not_validated', 'valid', 'partially_valid', 'invalid'])
2819
+ .optional(),
2820
+ });
2821
+ const ImportForCustomerSubscriptionAddonsSchema = z.object({
2822
+ id: z.array(z.string().max(100).optional()).optional(),
2823
+ quantity: z.array(z.number().int().min(1).optional()).optional(),
2824
+ quantity_in_decimal: z.array(z.string().max(33).optional()).optional(),
2825
+ unit_price: z.array(z.number().int().min(0).optional()).optional(),
2826
+ unit_price_in_decimal: z.array(z.string().max(39).optional()).optional(),
2827
+ billing_cycles: z.array(z.number().int().min(0).optional()).optional(),
2828
+ });
2829
+ const ImportForCustomerSubscriptionEventBasedAddonsSchema = z.object({
2830
+ id: z.array(z.string().max(100).optional()).optional(),
2831
+ quantity: z.array(z.number().int().min(1).optional()).optional(),
2832
+ unit_price: z.array(z.number().int().min(0).optional()).optional(),
2833
+ quantity_in_decimal: z.array(z.string().max(33).optional()).optional(),
2834
+ unit_price_in_decimal: z.array(z.string().max(39).optional()).optional(),
2835
+ service_period_in_days: z
2836
+ .array(z.number().int().min(1).max(4000).optional())
2837
+ .optional(),
2838
+ on_event: z
2839
+ .array(z
2840
+ .enum([
2841
+ 'subscription_creation',
2842
+ 'subscription_trial_start',
2843
+ 'plan_activation',
2844
+ 'subscription_activation',
2845
+ 'contract_termination',
2846
+ ])
2847
+ .optional())
2848
+ .optional(),
2849
+ charge_once: z.array(z.boolean().default(true).optional()).optional(),
2850
+ });
2851
+ const ImportForCustomerSubscriptionChargedEventBasedAddonsSchema = z.object({
2852
+ id: z.array(z.string().max(100).optional()).optional(),
2853
+ last_charged_at: z.array(z.number().int().optional()).optional(),
2854
+ });
2855
+ const ImportForCustomerSubscriptionCouponsSchema = z.object({
2856
+ coupon_id: z.array(z.string().max(100).optional()).optional(),
2857
+ apply_till: z.array(z.number().int().optional()).optional(),
2858
+ });
2859
+ const ImportForCustomerSubscriptionBodySchema = z.looseObject({
2860
+ id: z.string().max(50).optional(),
2861
+ plan_id: z.string().max(100),
2862
+ plan_quantity: z.number().int().min(1).optional(),
2863
+ plan_quantity_in_decimal: z.string().max(33).optional(),
2864
+ plan_unit_price: z.number().int().min(0).optional(),
2865
+ plan_unit_price_in_decimal: z.string().max(39).optional(),
2866
+ setup_fee: z.number().int().min(0).optional(),
2867
+ trial_end: z.number().int().optional(),
2868
+ billing_cycles: z.number().int().min(0).optional(),
2869
+ start_date: z.number().int().optional(),
2870
+ auto_collection: z.enum(['on', 'off']).optional(),
2871
+ po_number: z.string().max(100).optional(),
2872
+ coupon_ids: z.array(z.string().max(100).optional()).optional(),
2873
+ payment_source_id: z.string().max(40).optional(),
2874
+ status: z.enum([
2875
+ 'future',
2876
+ 'in_trial',
2877
+ 'active',
2878
+ 'non_renewing',
2879
+ 'paused',
2880
+ 'cancelled',
2881
+ 'transferred',
2882
+ ]),
2883
+ current_term_end: z.number().int().optional(),
2884
+ current_term_start: z.number().int().optional(),
2885
+ trial_start: z.number().int().optional(),
2886
+ cancelled_at: z.number().int().optional(),
2887
+ started_at: z.number().int().optional(),
2888
+ activated_at: z.number().int().optional(),
2889
+ pause_date: z.number().int().optional(),
2890
+ resume_date: z.number().int().optional(),
2891
+ contract_term_billing_cycle_on_renewal: z
2892
+ .number()
2893
+ .int()
2894
+ .min(1)
2895
+ .max(100)
2896
+ .optional(),
2897
+ create_current_term_invoice: z.boolean().default(false).optional(),
2898
+ invoice_notes: z.string().max(2000).optional(),
2899
+ meta_data: ImportForCustomerSubscriptionMetaDataSchema.optional(),
2900
+ contract_term: ImportForCustomerSubscriptionContractTermSchema.optional(),
2901
+ transaction: ImportForCustomerSubscriptionTransactionSchema.optional(),
2902
+ shipping_address: ImportForCustomerSubscriptionShippingAddressSchema.optional(),
2903
+ addons: ImportForCustomerSubscriptionAddonsSchema.optional(),
2904
+ event_based_addons: ImportForCustomerSubscriptionEventBasedAddonsSchema.optional(),
2905
+ charged_event_based_addons: ImportForCustomerSubscriptionChargedEventBasedAddonsSchema.optional(),
2906
+ coupons: ImportForCustomerSubscriptionCouponsSchema.optional(),
2907
+ });
2908
+ export { ImportForCustomerSubscriptionBodySchema };
2909
+ //Subscription.importContractTerm
2910
+ const ImportContractTermSubscriptionContractTermSchema = z.object({
2911
+ id: z.string().max(50).optional(),
2912
+ created_at: z.number().int().optional(),
2913
+ contract_start: z.number().int().optional(),
2914
+ contract_end: z.number().int().optional(),
2915
+ status: z.enum(['active', 'completed', 'cancelled', 'terminated']).optional(),
2916
+ total_amount_raised: z.number().int().min(0).optional(),
2917
+ total_amount_raised_before_tax: z.number().int().min(0).optional(),
2918
+ total_contract_value: z.number().int().min(0).optional(),
2919
+ total_contract_value_before_tax: z.number().int().min(0).optional(),
2920
+ billing_cycle: z.number().int().min(0).optional(),
2921
+ action_at_term_end: z
2922
+ .enum(['renew', 'evergreen', 'cancel', 'renew_once'])
2923
+ .optional(),
2924
+ cancellation_cutoff_period: z.number().int().optional(),
2925
+ });
2926
+ const ImportContractTermSubscriptionBodySchema = z.looseObject({
2927
+ contract_term_billing_cycle_on_renewal: z
2928
+ .number()
2929
+ .int()
2930
+ .min(1)
2931
+ .max(100)
2932
+ .optional(),
2933
+ contract_term: ImportContractTermSubscriptionContractTermSchema.optional(),
2934
+ });
2935
+ export { ImportContractTermSubscriptionBodySchema };
2936
+ //Subscription.importUnbilledCharges
2937
+ const ImportUnbilledChargesSubscriptionUnbilledChargesSchema = z.object({
2938
+ id: z.array(z.string().max(40).optional()).optional(),
2939
+ date_from: z.array(z.number().int().optional()),
2940
+ date_to: z.array(z.number().int().optional()),
2941
+ entity_type: z.array(z
2942
+ .enum([
2943
+ 'adhoc',
2944
+ 'plan_item_price',
2945
+ 'addon_item_price',
2946
+ 'charge_item_price',
2947
+ 'plan_setup',
2948
+ 'plan',
2949
+ 'addon',
2950
+ ])
2951
+ .optional()),
2952
+ entity_id: z.array(z.string().max(100).optional()).optional(),
2953
+ description: z.array(z.string().max(250).optional()).optional(),
2954
+ unit_amount: z.array(z.number().int().min(0).optional()).optional(),
2955
+ quantity: z.array(z.number().int().min(0).optional()).optional(),
2956
+ amount: z.array(z.number().int().min(0).optional()).optional(),
2957
+ unit_amount_in_decimal: z.array(z.string().max(39).optional()).optional(),
2958
+ quantity_in_decimal: z.array(z.string().max(33).optional()).optional(),
2959
+ amount_in_decimal: z.array(z.string().max(39).optional()).optional(),
2960
+ discount_amount: z.array(z.number().int().min(0).optional()).optional(),
2961
+ use_for_proration: z.array(z.boolean().default(false).optional()).optional(),
2962
+ is_advance_charge: z.array(z.boolean().default(false).optional()).optional(),
2963
+ });
2964
+ const ImportUnbilledChargesSubscriptionDiscountsSchema = z.object({
2965
+ unbilled_charge_id: z.array(z.string().max(40).optional()).optional(),
2966
+ entity_type: z
2967
+ .array(z
2968
+ .enum([
2969
+ 'item_level_coupon',
2970
+ 'document_level_coupon',
2971
+ 'item_level_discount',
2972
+ 'document_level_discount',
2973
+ ])
2974
+ .optional())
2975
+ .optional(),
2976
+ entity_id: z.array(z.string().max(100).optional()).optional(),
2977
+ description: z.array(z.string().max(250).optional()).optional(),
2978
+ amount: z.array(z.number().int().min(0).optional()),
2979
+ });
2980
+ const ImportUnbilledChargesSubscriptionTiersSchema = z.object({
2981
+ unbilled_charge_id: z.array(z.string().max(40).optional()),
2982
+ starting_unit: z.array(z.number().int().min(0).optional()).optional(),
2983
+ ending_unit: z.array(z.number().int().optional()).optional(),
2984
+ quantity_used: z.array(z.number().int().min(0).optional()).optional(),
2985
+ unit_amount: z.array(z.number().int().min(0).optional()).optional(),
2986
+ starting_unit_in_decimal: z.array(z.string().max(33).optional()).optional(),
2987
+ ending_unit_in_decimal: z.array(z.string().max(33).optional()).optional(),
2988
+ quantity_used_in_decimal: z.array(z.string().max(33).optional()).optional(),
2989
+ unit_amount_in_decimal: z.array(z.string().max(40).optional()).optional(),
2990
+ });
2991
+ const ImportUnbilledChargesSubscriptionBodySchema = z.looseObject({
2992
+ unbilled_charges: ImportUnbilledChargesSubscriptionUnbilledChargesSchema.optional(),
2993
+ discounts: ImportUnbilledChargesSubscriptionDiscountsSchema.optional(),
2994
+ tiers: ImportUnbilledChargesSubscriptionTiersSchema.optional(),
2995
+ });
2996
+ export { ImportUnbilledChargesSubscriptionBodySchema };
2997
+ //Subscription.importForItems
2998
+ const ImportForItemsSubscriptionMetaDataSchema = z.looseObject({});
2999
+ const ImportForItemsSubscriptionContractTermSchema = z.object({
3000
+ id: z.string().max(50).optional(),
3001
+ created_at: z.number().int().optional(),
3002
+ contract_start: z.number().int().optional(),
3003
+ billing_cycle: z.number().int().min(0).optional(),
3004
+ total_amount_raised: z.number().int().min(0).optional(),
3005
+ total_amount_raised_before_tax: z.number().int().min(0).optional(),
3006
+ action_at_term_end: z
3007
+ .enum(['renew', 'evergreen', 'cancel', 'renew_once'])
3008
+ .optional(),
3009
+ cancellation_cutoff_period: z.number().int().optional(),
3010
+ });
3011
+ const ImportForItemsSubscriptionTransactionSchema = z.object({
3012
+ amount: z.number().int().min(0).optional(),
3013
+ payment_method: z
3014
+ .enum([
3015
+ 'cash',
3016
+ 'check',
3017
+ 'bank_transfer',
3018
+ 'other',
3019
+ 'app_store',
3020
+ 'play_store',
3021
+ 'custom',
3022
+ ])
3023
+ .optional(),
3024
+ reference_number: z.string().max(100).optional(),
3025
+ date: z.number().int().optional(),
3026
+ });
3027
+ const ImportForItemsSubscriptionShippingAddressSchema = z.object({
3028
+ first_name: z.string().max(150).optional(),
3029
+ last_name: z.string().max(150).optional(),
3030
+ email: z.string().email().max(70).optional(),
3031
+ company: z.string().max(250).optional(),
3032
+ phone: z.string().max(50).optional(),
3033
+ line1: z.string().max(150).optional(),
3034
+ line2: z.string().max(150).optional(),
3035
+ line3: z.string().max(150).optional(),
3036
+ city: z.string().max(50).optional(),
3037
+ state_code: z.string().max(50).optional(),
3038
+ state: z.string().max(50).optional(),
3039
+ zip: z.string().max(20).optional(),
3040
+ country: z.string().max(50).optional(),
3041
+ validation_status: z
3042
+ .enum(['not_validated', 'valid', 'partially_valid', 'invalid'])
3043
+ .optional(),
3044
+ });
3045
+ const ImportForItemsSubscriptionSubscriptionItemsSchema = z.object({
3046
+ item_price_id: z.array(z.string().max(100).optional()),
3047
+ quantity: z.array(z.number().int().min(1).optional()).optional(),
3048
+ quantity_in_decimal: z.array(z.string().max(33).optional()).optional(),
3049
+ unit_price: z.array(z.number().int().min(0).optional()).optional(),
3050
+ unit_price_in_decimal: z.array(z.string().max(39).optional()).optional(),
3051
+ billing_cycles: z.array(z.number().int().min(0).optional()).optional(),
3052
+ trial_end: z.array(z.number().int().optional()).optional(),
3053
+ service_period_days: z
3054
+ .array(z.number().int().min(1).max(730).optional())
3055
+ .optional(),
3056
+ charge_on_event: z
3057
+ .array(z
3058
+ .enum([
3059
+ 'subscription_creation',
3060
+ 'subscription_trial_start',
3061
+ 'plan_activation',
3062
+ 'subscription_activation',
3063
+ 'contract_termination',
3064
+ ])
3065
+ .optional())
3066
+ .optional(),
3067
+ charge_once: z.array(z.boolean().optional()).optional(),
3068
+ item_type: z.array(z.enum(['plan', 'addon', 'charge']).optional()).optional(),
3069
+ });
3070
+ const ImportForItemsSubscriptionDiscountsSchema = z.object({
3071
+ apply_on: z
3072
+ .array(z.enum(['invoice_amount', 'specific_item_price']).optional())
3073
+ .optional(),
3074
+ duration_type: z.array(z.enum(['one_time', 'forever', 'limited_period']).optional()),
3075
+ percentage: z.array(z.number().min(0.01).max(100).optional()).optional(),
3076
+ amount: z.array(z.number().int().min(0).optional()).optional(),
3077
+ period: z.array(z.number().int().min(1).optional()).optional(),
3078
+ period_unit: z
3079
+ .array(z.enum(['day', 'week', 'month', 'year']).optional())
3080
+ .optional(),
3081
+ included_in_mrr: z.array(z.boolean().optional()).optional(),
3082
+ item_price_id: z.array(z.string().max(100).optional()).optional(),
3083
+ quantity: z.array(z.number().int().min(1).optional()).optional(),
3084
+ });
3085
+ const ImportForItemsSubscriptionChargedItemsSchema = z.object({
3086
+ item_price_id: z.array(z.string().max(100).optional()).optional(),
3087
+ last_charged_at: z.array(z.number().int().optional()).optional(),
3088
+ });
3089
+ const ImportForItemsSubscriptionItemTiersSchema = z.object({
3090
+ item_price_id: z.array(z.string().max(100).optional()).optional(),
3091
+ starting_unit: z.array(z.number().int().min(1).optional()).optional(),
3092
+ ending_unit: z.array(z.number().int().optional()).optional(),
3093
+ price: z.array(z.number().int().min(0).optional()).optional(),
3094
+ starting_unit_in_decimal: z.array(z.string().max(33).optional()).optional(),
3095
+ ending_unit_in_decimal: z.array(z.string().max(33).optional()).optional(),
3096
+ price_in_decimal: z.array(z.string().max(39).optional()).optional(),
3097
+ pricing_type: z
3098
+ .array(z.enum(['per_unit', 'flat_fee', 'package']).optional())
3099
+ .optional(),
3100
+ package_size: z.array(z.number().int().min(1).optional()).optional(),
3101
+ });
3102
+ const ImportForItemsSubscriptionCouponsSchema = z.object({
3103
+ coupon_id: z.array(z.string().max(100).optional()).optional(),
3104
+ apply_till: z.array(z.number().int().optional()).optional(),
3105
+ });
3106
+ const ImportForItemsSubscriptionBodySchema = z.looseObject({
3107
+ exhausted_coupon_ids: z.array(z.string().max(100).optional()).optional(),
3108
+ id: z.string().max(50).optional(),
3109
+ trial_end: z.number().int().optional(),
3110
+ billing_cycles: z.number().int().min(0).optional(),
3111
+ setup_fee: z.number().int().min(0).optional(),
3112
+ net_term_days: z.number().int().optional(),
3113
+ start_date: z.number().int().optional(),
3114
+ auto_collection: z.enum(['on', 'off']).optional(),
3115
+ po_number: z.string().max(100).optional(),
3116
+ coupon_ids: z.array(z.string().max(100).optional()).optional(),
3117
+ payment_source_id: z.string().max(40).optional(),
3118
+ status: z.enum([
3119
+ 'future',
3120
+ 'in_trial',
3121
+ 'active',
3122
+ 'non_renewing',
3123
+ 'paused',
3124
+ 'cancelled',
3125
+ 'transferred',
3126
+ ]),
3127
+ current_term_end: z.number().int().optional(),
3128
+ current_term_start: z.number().int().optional(),
3129
+ trial_start: z.number().int().optional(),
3130
+ cancelled_at: z.number().int().optional(),
3131
+ started_at: z.number().int().optional(),
3132
+ activated_at: z.number().int().optional(),
3133
+ pause_date: z.number().int().optional(),
3134
+ resume_date: z.number().int().optional(),
3135
+ contract_term_billing_cycle_on_renewal: z
3136
+ .number()
3137
+ .int()
3138
+ .min(1)
3139
+ .max(100)
3140
+ .optional(),
3141
+ create_current_term_invoice: z.boolean().default(false).optional(),
3142
+ invoice_notes: z.string().max(2000).optional(),
3143
+ meta_data: ImportForItemsSubscriptionMetaDataSchema.optional(),
3144
+ cancel_reason_code: z.string().max(100).optional(),
3145
+ create_pending_invoices: z.boolean().optional(),
3146
+ auto_close_invoices: z.boolean().optional(),
3147
+ contract_term: ImportForItemsSubscriptionContractTermSchema.optional(),
3148
+ transaction: ImportForItemsSubscriptionTransactionSchema.optional(),
3149
+ shipping_address: ImportForItemsSubscriptionShippingAddressSchema.optional(),
3150
+ subscription_items: ImportForItemsSubscriptionSubscriptionItemsSchema.optional(),
3151
+ discounts: ImportForItemsSubscriptionDiscountsSchema.optional(),
3152
+ charged_items: ImportForItemsSubscriptionChargedItemsSchema.optional(),
3153
+ item_tiers: ImportForItemsSubscriptionItemTiersSchema.optional(),
3154
+ coupons: ImportForItemsSubscriptionCouponsSchema.optional(),
3155
+ });
3156
+ export { ImportForItemsSubscriptionBodySchema };
3157
+ //Subscription.overrideBillingProfile
3158
+ const OverrideBillingProfileSubscriptionBodySchema = z.looseObject({
3159
+ payment_source_id: z.string().max(40).optional(),
3160
+ auto_collection: z.enum(['on', 'off']).optional(),
3161
+ });
3162
+ export { OverrideBillingProfileSubscriptionBodySchema };
3163
+ //Subscription.pause
3164
+ const PauseSubscriptionBodySchema = z.looseObject({
3165
+ pause_option: z
3166
+ .enum(['immediately', 'end_of_term', 'specific_date', 'billing_cycles'])
3167
+ .optional(),
3168
+ pause_date: z.number().int().optional(),
3169
+ unbilled_charges_handling: z.enum(['no_action', 'invoice']).optional(),
3170
+ invoice_dunning_handling: z.enum(['continue', 'stop']).optional(),
3171
+ skip_billing_cycles: z.number().int().min(1).optional(),
3172
+ resume_date: z.number().int().optional(),
3173
+ });
3174
+ export { PauseSubscriptionBodySchema };
3175
+ //Subscription.cancel
3176
+ const CancelSubscriptionEventBasedAddonsSchema = z.object({
3177
+ id: z.array(z.string().max(100).optional()).optional(),
3178
+ quantity: z.array(z.number().int().min(1).optional()).optional(),
3179
+ unit_price: z.array(z.number().int().min(0).optional()).optional(),
3180
+ service_period_in_days: z
3181
+ .array(z.number().int().min(1).max(4000).optional())
3182
+ .optional(),
3183
+ });
3184
+ const CancelSubscriptionBodySchema = z.looseObject({
3185
+ cancel_option: z
3186
+ .enum([
3187
+ 'immediately',
3188
+ 'end_of_term',
3189
+ 'specific_date',
3190
+ 'end_of_billing_term',
3191
+ ])
3192
+ .optional(),
3193
+ end_of_term: z.boolean().default(false).optional(),
3194
+ cancel_at: z.number().int().optional(),
3195
+ credit_option_for_current_term_charges: z
3196
+ .enum(['none', 'prorate', 'full'])
3197
+ .optional(),
3198
+ unbilled_charges_option: z.enum(['invoice', 'delete']).optional(),
3199
+ account_receivables_handling: z
3200
+ .enum(['no_action', 'schedule_payment_collection', 'write_off'])
3201
+ .optional(),
3202
+ refundable_credits_handling: z
3203
+ .enum(['no_action', 'schedule_refund'])
3204
+ .optional(),
3205
+ contract_term_cancel_option: z
3206
+ .enum([
3207
+ 'terminate_immediately',
3208
+ 'end_of_contract_term',
3209
+ 'specific_date',
3210
+ 'end_of_subscription_billing_term',
3211
+ ])
3212
+ .optional(),
3213
+ invoice_date: z.number().int().optional(),
3214
+ cancel_reason_code: z.string().max(100).optional(),
3215
+ event_based_addons: CancelSubscriptionEventBasedAddonsSchema.optional(),
3216
+ });
3217
+ export { CancelSubscriptionBodySchema };
3218
+ //Subscription.cancelForItems
3219
+ const CancelForItemsSubscriptionSubscriptionItemsSchema = z.object({
3220
+ item_price_id: z.array(z.string().max(100).optional()).optional(),
3221
+ quantity: z.array(z.number().int().min(1).optional()).optional(),
3222
+ quantity_in_decimal: z.array(z.string().max(33).optional()).optional(),
3223
+ unit_price: z.array(z.number().int().min(0).optional()).optional(),
3224
+ unit_price_in_decimal: z.array(z.string().max(39).optional()).optional(),
3225
+ service_period_days: z
3226
+ .array(z.number().int().min(1).max(730).optional())
3227
+ .optional(),
3228
+ });
3229
+ const CancelForItemsSubscriptionBodySchema = z.looseObject({
3230
+ cancel_option: z
3231
+ .enum([
3232
+ 'immediately',
3233
+ 'end_of_term',
3234
+ 'specific_date',
3235
+ 'end_of_billing_term',
3236
+ ])
3237
+ .optional(),
3238
+ end_of_term: z.boolean().default(false).optional(),
3239
+ cancel_at: z.number().int().optional(),
3240
+ credit_option_for_current_term_charges: z
3241
+ .enum(['none', 'prorate', 'full'])
3242
+ .optional(),
3243
+ unbilled_charges_option: z.enum(['invoice', 'delete']).optional(),
3244
+ account_receivables_handling: z
3245
+ .enum(['no_action', 'schedule_payment_collection', 'write_off'])
3246
+ .optional(),
3247
+ refundable_credits_handling: z
3248
+ .enum(['no_action', 'schedule_refund'])
3249
+ .optional(),
3250
+ contract_term_cancel_option: z
3251
+ .enum([
3252
+ 'terminate_immediately',
3253
+ 'end_of_contract_term',
3254
+ 'specific_date',
3255
+ 'end_of_subscription_billing_term',
3256
+ ])
3257
+ .optional(),
3258
+ invoice_date: z.number().int().optional(),
3259
+ cancel_reason_code: z.string().max(100).optional(),
3260
+ decommissioned: z.boolean().default(false).optional(),
3261
+ subscription_items: CancelForItemsSubscriptionSubscriptionItemsSchema.optional(),
3262
+ });
3263
+ export { CancelForItemsSubscriptionBodySchema };
3264
+ //Subscription.resume
3265
+ const ResumeSubscriptionAdditionalInformationSchema = z.looseObject({});
3266
+ const ResumeSubscriptionPaymentIntentSchema = z.object({
3267
+ id: z.string().max(150).optional(),
3268
+ gateway_account_id: z.string().max(50).optional(),
3269
+ gw_token: z.string().max(65000).optional(),
3270
+ payment_method_type: z
3271
+ .enum([
3272
+ 'card',
3273
+ 'ideal',
3274
+ 'sofort',
3275
+ 'bancontact',
3276
+ 'google_pay',
3277
+ 'dotpay',
3278
+ 'giropay',
3279
+ 'apple_pay',
3280
+ 'upi',
3281
+ 'netbanking_emandates',
3282
+ 'paypal_express_checkout',
3283
+ 'direct_debit',
3284
+ 'boleto',
3285
+ 'venmo',
3286
+ 'amazon_payments',
3287
+ 'pay_to',
3288
+ 'faster_payments',
3289
+ 'sepa_instant_transfer',
3290
+ 'klarna_pay_now',
3291
+ 'online_banking_poland',
3292
+ 'payconiq_by_bancontact',
3293
+ 'electronic_payment_standard',
3294
+ 'kbc_payment_button',
3295
+ 'pay_by_bank',
3296
+ 'trustly',
3297
+ 'stablecoin',
3298
+ 'kakao_pay',
3299
+ 'naver_pay',
3300
+ 'revolut_pay',
3301
+ 'cash_app_pay',
3302
+ 'wechat_pay',
3303
+ 'alipay',
3304
+ 'twint',
3305
+ 'go_pay',
3306
+ 'grab_pay',
3307
+ 'pay_co',
3308
+ 'after_pay',
3309
+ 'swish',
3310
+ 'payme',
3311
+ 'pix',
3312
+ 'klarna',
3313
+ 'alipay_hk',
3314
+ 'paypay',
3315
+ 'gcash',
3316
+ 'south_korean_cards',
3317
+ ])
3318
+ .optional(),
3319
+ reference_id: z.string().max(65000).optional(),
3320
+ gw_payment_method_id: z.string().max(65000).optional(),
3321
+ additional_information: ResumeSubscriptionAdditionalInformationSchema.optional(),
3322
+ });
3323
+ const ResumeSubscriptionBodySchema = z.looseObject({
3324
+ resume_option: z.enum(['immediately', 'specific_date']).optional(),
3325
+ resume_date: z.number().int().optional(),
3326
+ charges_handling: z
3327
+ .enum(['invoice_immediately', 'add_to_unbilled_charges'])
3328
+ .optional(),
3329
+ unpaid_invoices_handling: z
3330
+ .enum(['no_action', 'schedule_payment_collection'])
3331
+ .optional(),
3332
+ payment_initiator: z.enum(['customer', 'merchant']).optional(),
3333
+ payment_intent: ResumeSubscriptionPaymentIntentSchema.optional(),
3334
+ });
3335
+ export { ResumeSubscriptionBodySchema };
3336
+ //Subscription.move
3337
+ const MoveSubscriptionBodySchema = z.looseObject({
3338
+ to_customer_id: z.string().max(50),
3339
+ copy_payment_source: z.boolean().default(false).optional(),
3340
+ });
3341
+ export { MoveSubscriptionBodySchema };