chargebee 3.24.0 → 3.25.0-beta.1

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 (147) hide show
  1. package/CHANGELOG.md +8 -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/schema/addon.schema.js +153 -0
  10. package/cjs/schema/address.schema.js +35 -0
  11. package/cjs/schema/alert.schema.js +38 -0
  12. package/cjs/schema/attached_item.schema.js +58 -0
  13. package/cjs/schema/business_entity.schema.js +46 -0
  14. package/cjs/schema/card.schema.js +165 -0
  15. package/cjs/schema/comment.schema.js +69 -0
  16. package/cjs/schema/coupon.schema.js +209 -0
  17. package/cjs/schema/coupon_code.schema.js +14 -0
  18. package/cjs/schema/coupon_set.schema.js +28 -0
  19. package/cjs/schema/credit_note.schema.js +288 -0
  20. package/cjs/schema/currency.schema.js +32 -0
  21. package/cjs/schema/customer.schema.js +986 -0
  22. package/cjs/schema/customer_entitlement.schema.js +14 -0
  23. package/cjs/schema/differential_price.schema.js +68 -0
  24. package/cjs/schema/entitlement.schema.js +27 -0
  25. package/cjs/schema/entitlement_override.schema.js +33 -0
  26. package/cjs/schema/estimate.schema.js +1525 -0
  27. package/cjs/schema/export.schema.js +1545 -0
  28. package/cjs/schema/feature.schema.js +37 -0
  29. package/cjs/schema/gift.schema.js +277 -0
  30. package/cjs/schema/hosted_page.schema.js +1649 -0
  31. package/cjs/schema/in_app_subscription.schema.js +68 -0
  32. package/cjs/schema/index.js +80 -0
  33. package/cjs/schema/invoice.schema.js +1467 -0
  34. package/cjs/schema/item.schema.js +91 -0
  35. package/cjs/schema/item_entitlement.schema.js +45 -0
  36. package/cjs/schema/item_family.schema.js +21 -0
  37. package/cjs/schema/item_price.schema.js +190 -0
  38. package/cjs/schema/non_subscription.schema.js +28 -0
  39. package/cjs/schema/offer_event.schema.js +13 -0
  40. package/cjs/schema/offer_fulfillment.schema.js +20 -0
  41. package/cjs/schema/omnichannel_one_time_order.schema.js +26 -0
  42. package/cjs/schema/omnichannel_subscription.schema.js +89 -0
  43. package/cjs/schema/omnichannel_subscription_item.schema.js +13 -0
  44. package/cjs/schema/order.schema.js +273 -0
  45. package/cjs/schema/payment_intent.schema.js +117 -0
  46. package/cjs/schema/payment_schedule_scheme.schema.js +20 -0
  47. package/cjs/schema/payment_source.schema.js +358 -0
  48. package/cjs/schema/payment_voucher.schema.js +57 -0
  49. package/cjs/schema/personalized_offer.schema.js +28 -0
  50. package/cjs/schema/plan.schema.js +225 -0
  51. package/cjs/schema/portal_session.schema.js +22 -0
  52. package/cjs/schema/price_variant.schema.js +36 -0
  53. package/cjs/schema/pricing_page_session.schema.js +135 -0
  54. package/cjs/schema/promotional_credit.schema.js +78 -0
  55. package/cjs/schema/purchase.schema.js +272 -0
  56. package/cjs/schema/quote.schema.js +1557 -0
  57. package/cjs/schema/ramp.schema.js +209 -0
  58. package/cjs/schema/recorded_purchase.schema.js +32 -0
  59. package/cjs/schema/resource_migration.schema.js +14 -0
  60. package/cjs/schema/site_migration_detail.schema.js +81 -0
  61. package/cjs/schema/subscription.schema.js +2993 -0
  62. package/cjs/schema/subscription_entitlement.schema.js +25 -0
  63. package/cjs/schema/time_machine.schema.js +17 -0
  64. package/cjs/schema/transaction.schema.js +70 -0
  65. package/cjs/schema/unbilled_charge.schema.js +113 -0
  66. package/cjs/schema/usage.schema.js +93 -0
  67. package/cjs/schema/usage_charge.schema.js +17 -0
  68. package/cjs/schema/usage_event.schema.js +28 -0
  69. package/cjs/schema/usage_file.schema.js +13 -0
  70. package/cjs/schema/usage_summary.schema.js +17 -0
  71. package/cjs/schema/virtual_bank_account.schema.js +43 -0
  72. package/cjs/schema/webhook_endpoint.schema.js +504 -0
  73. package/cjs/validationLoader.js +59 -0
  74. package/esm/RequestWrapper.js +27 -0
  75. package/esm/chargebee.esm.js +2 -0
  76. package/esm/chargebee.esm.worker.js +1 -0
  77. package/esm/chargebeeZodValidationError.js +14 -0
  78. package/esm/createChargebee.js +5 -0
  79. package/esm/environment.js +1 -1
  80. package/esm/schema/addon.schema.js +150 -0
  81. package/esm/schema/address.schema.js +32 -0
  82. package/esm/schema/alert.schema.js +35 -0
  83. package/esm/schema/attached_item.schema.js +55 -0
  84. package/esm/schema/business_entity.schema.js +43 -0
  85. package/esm/schema/card.schema.js +162 -0
  86. package/esm/schema/comment.schema.js +66 -0
  87. package/esm/schema/coupon.schema.js +206 -0
  88. package/esm/schema/coupon_code.schema.js +11 -0
  89. package/esm/schema/coupon_set.schema.js +25 -0
  90. package/esm/schema/credit_note.schema.js +285 -0
  91. package/esm/schema/currency.schema.js +29 -0
  92. package/esm/schema/customer.schema.js +983 -0
  93. package/esm/schema/customer_entitlement.schema.js +11 -0
  94. package/esm/schema/differential_price.schema.js +65 -0
  95. package/esm/schema/entitlement.schema.js +24 -0
  96. package/esm/schema/entitlement_override.schema.js +30 -0
  97. package/esm/schema/estimate.schema.js +1522 -0
  98. package/esm/schema/export.schema.js +1542 -0
  99. package/esm/schema/feature.schema.js +34 -0
  100. package/esm/schema/gift.schema.js +274 -0
  101. package/esm/schema/hosted_page.schema.js +1646 -0
  102. package/esm/schema/in_app_subscription.schema.js +65 -0
  103. package/esm/schema/index.js +64 -0
  104. package/esm/schema/invoice.schema.js +1464 -0
  105. package/esm/schema/item.schema.js +88 -0
  106. package/esm/schema/item_entitlement.schema.js +42 -0
  107. package/esm/schema/item_family.schema.js +18 -0
  108. package/esm/schema/item_price.schema.js +187 -0
  109. package/esm/schema/non_subscription.schema.js +25 -0
  110. package/esm/schema/offer_event.schema.js +10 -0
  111. package/esm/schema/offer_fulfillment.schema.js +17 -0
  112. package/esm/schema/omnichannel_one_time_order.schema.js +23 -0
  113. package/esm/schema/omnichannel_subscription.schema.js +86 -0
  114. package/esm/schema/omnichannel_subscription_item.schema.js +10 -0
  115. package/esm/schema/order.schema.js +270 -0
  116. package/esm/schema/payment_intent.schema.js +114 -0
  117. package/esm/schema/payment_schedule_scheme.schema.js +17 -0
  118. package/esm/schema/payment_source.schema.js +355 -0
  119. package/esm/schema/payment_voucher.schema.js +54 -0
  120. package/esm/schema/personalized_offer.schema.js +25 -0
  121. package/esm/schema/plan.schema.js +222 -0
  122. package/esm/schema/portal_session.schema.js +19 -0
  123. package/esm/schema/price_variant.schema.js +33 -0
  124. package/esm/schema/pricing_page_session.schema.js +132 -0
  125. package/esm/schema/promotional_credit.schema.js +75 -0
  126. package/esm/schema/purchase.schema.js +269 -0
  127. package/esm/schema/quote.schema.js +1554 -0
  128. package/esm/schema/ramp.schema.js +206 -0
  129. package/esm/schema/recorded_purchase.schema.js +29 -0
  130. package/esm/schema/resource_migration.schema.js +11 -0
  131. package/esm/schema/site_migration_detail.schema.js +78 -0
  132. package/esm/schema/subscription.schema.js +2990 -0
  133. package/esm/schema/subscription_entitlement.schema.js +22 -0
  134. package/esm/schema/time_machine.schema.js +14 -0
  135. package/esm/schema/transaction.schema.js +67 -0
  136. package/esm/schema/unbilled_charge.schema.js +110 -0
  137. package/esm/schema/usage.schema.js +90 -0
  138. package/esm/schema/usage_charge.schema.js +14 -0
  139. package/esm/schema/usage_event.schema.js +25 -0
  140. package/esm/schema/usage_file.schema.js +10 -0
  141. package/esm/schema/usage_summary.schema.js +14 -0
  142. package/esm/schema/virtual_bank_account.schema.js +40 -0
  143. package/esm/schema/webhook_endpoint.schema.js +501 -0
  144. package/esm/validationLoader.js +56 -0
  145. package/package.json +4 -1
  146. package/types/core.d.ts +2 -0
  147. package/types/index.d.ts +16 -0
@@ -0,0 +1,504 @@
1
+ "use strict";
2
+ // Generated Zod schemas: WebhookEndpoint
3
+ // Actions: create, update, list
4
+ // Do not edit manually – regenerate via sdk-generator
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ListWebhookEndpointBodySchema = exports.UpdateWebhookEndpointBodySchema = exports.CreateWebhookEndpointBodySchema = void 0;
7
+ const zod_1 = require("zod");
8
+ //WebhookEndpoint.create
9
+ const CreateWebhookEndpointBodySchema = zod_1.z.looseObject({
10
+ name: zod_1.z.string().max(50),
11
+ api_version: zod_1.z.enum(['v1', 'v2']).optional(),
12
+ url: zod_1.z.string().max(512),
13
+ primary_url: zod_1.z.boolean().default(false).optional(),
14
+ disabled: zod_1.z.boolean().default(false).optional(),
15
+ basic_auth_password: zod_1.z.string().max(250).optional(),
16
+ basic_auth_username: zod_1.z.string().max(250).optional(),
17
+ send_card_resource: zod_1.z.boolean().default(false).optional(),
18
+ chargebee_response_schema_type: zod_1.z
19
+ .enum(['plans_addons', 'items', 'compat'])
20
+ .optional(),
21
+ enabled_events: zod_1.z
22
+ .array(zod_1.z
23
+ .enum([
24
+ 'coupon_created',
25
+ 'coupon_updated',
26
+ 'coupon_deleted',
27
+ 'coupon_set_created',
28
+ 'coupon_set_updated',
29
+ 'coupon_set_deleted',
30
+ 'coupon_codes_added',
31
+ 'coupon_codes_deleted',
32
+ 'coupon_codes_updated',
33
+ 'customer_created',
34
+ 'customer_changed',
35
+ 'customer_deleted',
36
+ 'customer_moved_out',
37
+ 'customer_moved_in',
38
+ 'promotional_credits_added',
39
+ 'promotional_credits_deducted',
40
+ 'subscription_created',
41
+ 'subscription_created_with_backdating',
42
+ 'subscription_started',
43
+ 'subscription_trial_end_reminder',
44
+ 'subscription_activated',
45
+ 'subscription_activated_with_backdating',
46
+ 'subscription_changed',
47
+ 'subscription_trial_extended',
48
+ 'mrr_updated',
49
+ 'subscription_changed_with_backdating',
50
+ 'subscription_cancellation_scheduled',
51
+ 'subscription_cancellation_reminder',
52
+ 'subscription_cancelled',
53
+ 'subscription_canceled_with_backdating',
54
+ 'subscription_reactivated',
55
+ 'subscription_reactivated_with_backdating',
56
+ 'subscription_renewed',
57
+ 'subscription_items_renewed',
58
+ 'subscription_scheduled_cancellation_removed',
59
+ 'subscription_changes_scheduled',
60
+ 'subscription_scheduled_changes_removed',
61
+ 'subscription_shipping_address_updated',
62
+ 'subscription_deleted',
63
+ 'subscription_paused',
64
+ 'subscription_pause_scheduled',
65
+ 'subscription_scheduled_pause_removed',
66
+ 'subscription_resumed',
67
+ 'subscription_resumption_scheduled',
68
+ 'subscription_scheduled_resumption_removed',
69
+ 'subscription_advance_invoice_schedule_added',
70
+ 'subscription_advance_invoice_schedule_updated',
71
+ 'subscription_advance_invoice_schedule_removed',
72
+ 'pending_invoice_created',
73
+ 'pending_invoice_updated',
74
+ 'invoice_generated',
75
+ 'invoice_generated_with_backdating',
76
+ 'invoice_updated',
77
+ 'invoice_deleted',
78
+ 'credit_note_created',
79
+ 'credit_note_created_with_backdating',
80
+ 'credit_note_updated',
81
+ 'credit_note_deleted',
82
+ 'payment_schedules_created',
83
+ 'payment_schedules_updated',
84
+ 'payment_schedule_scheme_created',
85
+ 'payment_schedule_scheme_deleted',
86
+ 'subscription_renewal_reminder',
87
+ 'add_usages_reminder',
88
+ 'payment_due_reminder',
89
+ 'transaction_created',
90
+ 'transaction_updated',
91
+ 'transaction_deleted',
92
+ 'payment_succeeded',
93
+ 'payment_failed',
94
+ 'dunning_updated',
95
+ 'payment_refunded',
96
+ 'payment_initiated',
97
+ 'refund_initiated',
98
+ 'netd_payment_due_reminder',
99
+ 'authorization_succeeded',
100
+ 'authorization_voided',
101
+ 'card_added',
102
+ 'card_updated',
103
+ 'card_expiry_reminder',
104
+ 'card_expired',
105
+ 'card_deleted',
106
+ 'payment_source_added',
107
+ 'payment_source_updated',
108
+ 'payment_source_deleted',
109
+ 'payment_source_expiring',
110
+ 'payment_source_expired',
111
+ 'payment_source_locally_deleted',
112
+ 'virtual_bank_account_added',
113
+ 'virtual_bank_account_updated',
114
+ 'virtual_bank_account_deleted',
115
+ 'token_created',
116
+ 'token_consumed',
117
+ 'token_expired',
118
+ 'unbilled_charges_created',
119
+ 'unbilled_charges_voided',
120
+ 'unbilled_charges_deleted',
121
+ 'unbilled_charges_invoiced',
122
+ 'order_created',
123
+ 'order_updated',
124
+ 'order_cancelled',
125
+ 'order_delivered',
126
+ 'order_returned',
127
+ 'order_ready_to_process',
128
+ 'order_ready_to_ship',
129
+ 'order_deleted',
130
+ 'order_resent',
131
+ 'quote_created',
132
+ 'quote_updated',
133
+ 'quote_deleted',
134
+ 'tax_withheld_recorded',
135
+ 'tax_withheld_deleted',
136
+ 'tax_withheld_refunded',
137
+ 'gift_scheduled',
138
+ 'gift_unclaimed',
139
+ 'gift_claimed',
140
+ 'gift_expired',
141
+ 'gift_cancelled',
142
+ 'gift_updated',
143
+ 'hierarchy_created',
144
+ 'hierarchy_deleted',
145
+ 'payment_intent_created',
146
+ 'payment_intent_updated',
147
+ 'contract_term_created',
148
+ 'contract_term_renewed',
149
+ 'contract_term_terminated',
150
+ 'contract_term_completed',
151
+ 'contract_term_cancelled',
152
+ 'item_family_created',
153
+ 'item_family_updated',
154
+ 'item_family_deleted',
155
+ 'item_created',
156
+ 'item_updated',
157
+ 'item_deleted',
158
+ 'item_price_created',
159
+ 'item_price_updated',
160
+ 'item_price_deleted',
161
+ 'attached_item_created',
162
+ 'attached_item_updated',
163
+ 'attached_item_deleted',
164
+ 'differential_price_created',
165
+ 'differential_price_updated',
166
+ 'differential_price_deleted',
167
+ 'feature_created',
168
+ 'feature_updated',
169
+ 'feature_deleted',
170
+ 'feature_activated',
171
+ 'feature_reactivated',
172
+ 'feature_archived',
173
+ 'item_entitlements_updated',
174
+ 'entitlement_overrides_updated',
175
+ 'entitlement_overrides_removed',
176
+ 'item_entitlements_removed',
177
+ 'entitlement_overrides_auto_removed',
178
+ 'subscription_entitlements_created',
179
+ 'subscription_entitlements_updated',
180
+ 'business_entity_created',
181
+ 'business_entity_updated',
182
+ 'business_entity_deleted',
183
+ 'customer_business_entity_changed',
184
+ 'subscription_business_entity_changed',
185
+ 'purchase_created',
186
+ 'voucher_created',
187
+ 'voucher_expired',
188
+ 'voucher_create_failed',
189
+ 'product_created',
190
+ 'product_updated',
191
+ 'product_deleted',
192
+ 'variant_created',
193
+ 'variant_updated',
194
+ 'variant_deleted',
195
+ 'item_price_entitlements_updated',
196
+ 'item_price_entitlements_removed',
197
+ 'subscription_ramp_created',
198
+ 'subscription_ramp_deleted',
199
+ 'subscription_ramp_applied',
200
+ 'subscription_ramp_drafted',
201
+ 'subscription_ramp_updated',
202
+ 'price_variant_created',
203
+ 'price_variant_updated',
204
+ 'price_variant_deleted',
205
+ 'customer_entitlements_updated',
206
+ 'subscription_moved_in',
207
+ 'subscription_moved_out',
208
+ 'subscription_movement_failed',
209
+ 'omnichannel_subscription_created',
210
+ 'omnichannel_subscription_item_renewed',
211
+ 'omnichannel_subscription_item_downgrade_scheduled',
212
+ 'omnichannel_subscription_item_scheduled_downgrade_removed',
213
+ 'omnichannel_subscription_item_downgraded',
214
+ 'omnichannel_subscription_item_expired',
215
+ 'omnichannel_subscription_item_cancellation_scheduled',
216
+ 'omnichannel_subscription_item_scheduled_cancellation_removed',
217
+ 'omnichannel_subscription_item_resubscribed',
218
+ 'omnichannel_subscription_item_upgraded',
219
+ 'omnichannel_subscription_item_cancelled',
220
+ 'omnichannel_subscription_imported',
221
+ 'omnichannel_subscription_item_grace_period_started',
222
+ 'omnichannel_subscription_item_grace_period_expired',
223
+ 'omnichannel_subscription_item_dunning_started',
224
+ 'omnichannel_subscription_item_dunning_expired',
225
+ 'rule_created',
226
+ 'rule_updated',
227
+ 'rule_deleted',
228
+ 'record_purchase_failed',
229
+ 'omnichannel_subscription_item_change_scheduled',
230
+ 'omnichannel_subscription_item_scheduled_change_removed',
231
+ 'omnichannel_subscription_item_reactivated',
232
+ 'sales_order_created',
233
+ 'sales_order_updated',
234
+ 'omnichannel_subscription_item_changed',
235
+ 'omnichannel_subscription_item_paused',
236
+ 'omnichannel_subscription_item_resumed',
237
+ 'omnichannel_one_time_order_created',
238
+ 'omnichannel_one_time_order_item_cancelled',
239
+ 'usage_file_ingested',
240
+ 'omnichannel_subscription_item_pause_scheduled',
241
+ 'omnichannel_subscription_moved_in',
242
+ 'omnichannel_transaction_created',
243
+ 'alert_status_changed',
244
+ 'plan_created',
245
+ 'plan_updated',
246
+ 'plan_deleted',
247
+ 'addon_created',
248
+ 'addon_updated',
249
+ 'addon_deleted',
250
+ ])
251
+ .optional())
252
+ .optional(),
253
+ });
254
+ exports.CreateWebhookEndpointBodySchema = CreateWebhookEndpointBodySchema;
255
+ //WebhookEndpoint.update
256
+ const UpdateWebhookEndpointBodySchema = zod_1.z.looseObject({
257
+ name: zod_1.z.string().max(50).optional(),
258
+ api_version: zod_1.z.enum(['v1', 'v2']).optional(),
259
+ url: zod_1.z.string().max(512).optional(),
260
+ primary_url: zod_1.z.boolean().default(false).optional(),
261
+ send_card_resource: zod_1.z.boolean().default(false).optional(),
262
+ basic_auth_password: zod_1.z.string().max(250).optional(),
263
+ basic_auth_username: zod_1.z.string().max(250).optional(),
264
+ disabled: zod_1.z.boolean().default(false).optional(),
265
+ enabled_events: zod_1.z
266
+ .array(zod_1.z
267
+ .enum([
268
+ 'coupon_created',
269
+ 'coupon_updated',
270
+ 'coupon_deleted',
271
+ 'coupon_set_created',
272
+ 'coupon_set_updated',
273
+ 'coupon_set_deleted',
274
+ 'coupon_codes_added',
275
+ 'coupon_codes_deleted',
276
+ 'coupon_codes_updated',
277
+ 'customer_created',
278
+ 'customer_changed',
279
+ 'customer_deleted',
280
+ 'customer_moved_out',
281
+ 'customer_moved_in',
282
+ 'promotional_credits_added',
283
+ 'promotional_credits_deducted',
284
+ 'subscription_created',
285
+ 'subscription_created_with_backdating',
286
+ 'subscription_started',
287
+ 'subscription_trial_end_reminder',
288
+ 'subscription_activated',
289
+ 'subscription_activated_with_backdating',
290
+ 'subscription_changed',
291
+ 'subscription_trial_extended',
292
+ 'mrr_updated',
293
+ 'subscription_changed_with_backdating',
294
+ 'subscription_cancellation_scheduled',
295
+ 'subscription_cancellation_reminder',
296
+ 'subscription_cancelled',
297
+ 'subscription_canceled_with_backdating',
298
+ 'subscription_reactivated',
299
+ 'subscription_reactivated_with_backdating',
300
+ 'subscription_renewed',
301
+ 'subscription_items_renewed',
302
+ 'subscription_scheduled_cancellation_removed',
303
+ 'subscription_changes_scheduled',
304
+ 'subscription_scheduled_changes_removed',
305
+ 'subscription_shipping_address_updated',
306
+ 'subscription_deleted',
307
+ 'subscription_paused',
308
+ 'subscription_pause_scheduled',
309
+ 'subscription_scheduled_pause_removed',
310
+ 'subscription_resumed',
311
+ 'subscription_resumption_scheduled',
312
+ 'subscription_scheduled_resumption_removed',
313
+ 'subscription_advance_invoice_schedule_added',
314
+ 'subscription_advance_invoice_schedule_updated',
315
+ 'subscription_advance_invoice_schedule_removed',
316
+ 'pending_invoice_created',
317
+ 'pending_invoice_updated',
318
+ 'invoice_generated',
319
+ 'invoice_generated_with_backdating',
320
+ 'invoice_updated',
321
+ 'invoice_deleted',
322
+ 'credit_note_created',
323
+ 'credit_note_created_with_backdating',
324
+ 'credit_note_updated',
325
+ 'credit_note_deleted',
326
+ 'payment_schedules_created',
327
+ 'payment_schedules_updated',
328
+ 'payment_schedule_scheme_created',
329
+ 'payment_schedule_scheme_deleted',
330
+ 'subscription_renewal_reminder',
331
+ 'add_usages_reminder',
332
+ 'payment_due_reminder',
333
+ 'transaction_created',
334
+ 'transaction_updated',
335
+ 'transaction_deleted',
336
+ 'payment_succeeded',
337
+ 'payment_failed',
338
+ 'dunning_updated',
339
+ 'payment_refunded',
340
+ 'payment_initiated',
341
+ 'refund_initiated',
342
+ 'netd_payment_due_reminder',
343
+ 'authorization_succeeded',
344
+ 'authorization_voided',
345
+ 'card_added',
346
+ 'card_updated',
347
+ 'card_expiry_reminder',
348
+ 'card_expired',
349
+ 'card_deleted',
350
+ 'payment_source_added',
351
+ 'payment_source_updated',
352
+ 'payment_source_deleted',
353
+ 'payment_source_expiring',
354
+ 'payment_source_expired',
355
+ 'payment_source_locally_deleted',
356
+ 'virtual_bank_account_added',
357
+ 'virtual_bank_account_updated',
358
+ 'virtual_bank_account_deleted',
359
+ 'token_created',
360
+ 'token_consumed',
361
+ 'token_expired',
362
+ 'unbilled_charges_created',
363
+ 'unbilled_charges_voided',
364
+ 'unbilled_charges_deleted',
365
+ 'unbilled_charges_invoiced',
366
+ 'order_created',
367
+ 'order_updated',
368
+ 'order_cancelled',
369
+ 'order_delivered',
370
+ 'order_returned',
371
+ 'order_ready_to_process',
372
+ 'order_ready_to_ship',
373
+ 'order_deleted',
374
+ 'order_resent',
375
+ 'quote_created',
376
+ 'quote_updated',
377
+ 'quote_deleted',
378
+ 'tax_withheld_recorded',
379
+ 'tax_withheld_deleted',
380
+ 'tax_withheld_refunded',
381
+ 'gift_scheduled',
382
+ 'gift_unclaimed',
383
+ 'gift_claimed',
384
+ 'gift_expired',
385
+ 'gift_cancelled',
386
+ 'gift_updated',
387
+ 'hierarchy_created',
388
+ 'hierarchy_deleted',
389
+ 'payment_intent_created',
390
+ 'payment_intent_updated',
391
+ 'contract_term_created',
392
+ 'contract_term_renewed',
393
+ 'contract_term_terminated',
394
+ 'contract_term_completed',
395
+ 'contract_term_cancelled',
396
+ 'item_family_created',
397
+ 'item_family_updated',
398
+ 'item_family_deleted',
399
+ 'item_created',
400
+ 'item_updated',
401
+ 'item_deleted',
402
+ 'item_price_created',
403
+ 'item_price_updated',
404
+ 'item_price_deleted',
405
+ 'attached_item_created',
406
+ 'attached_item_updated',
407
+ 'attached_item_deleted',
408
+ 'differential_price_created',
409
+ 'differential_price_updated',
410
+ 'differential_price_deleted',
411
+ 'feature_created',
412
+ 'feature_updated',
413
+ 'feature_deleted',
414
+ 'feature_activated',
415
+ 'feature_reactivated',
416
+ 'feature_archived',
417
+ 'item_entitlements_updated',
418
+ 'entitlement_overrides_updated',
419
+ 'entitlement_overrides_removed',
420
+ 'item_entitlements_removed',
421
+ 'entitlement_overrides_auto_removed',
422
+ 'subscription_entitlements_created',
423
+ 'subscription_entitlements_updated',
424
+ 'business_entity_created',
425
+ 'business_entity_updated',
426
+ 'business_entity_deleted',
427
+ 'customer_business_entity_changed',
428
+ 'subscription_business_entity_changed',
429
+ 'purchase_created',
430
+ 'voucher_created',
431
+ 'voucher_expired',
432
+ 'voucher_create_failed',
433
+ 'product_created',
434
+ 'product_updated',
435
+ 'product_deleted',
436
+ 'variant_created',
437
+ 'variant_updated',
438
+ 'variant_deleted',
439
+ 'item_price_entitlements_updated',
440
+ 'item_price_entitlements_removed',
441
+ 'subscription_ramp_created',
442
+ 'subscription_ramp_deleted',
443
+ 'subscription_ramp_applied',
444
+ 'subscription_ramp_drafted',
445
+ 'subscription_ramp_updated',
446
+ 'price_variant_created',
447
+ 'price_variant_updated',
448
+ 'price_variant_deleted',
449
+ 'customer_entitlements_updated',
450
+ 'subscription_moved_in',
451
+ 'subscription_moved_out',
452
+ 'subscription_movement_failed',
453
+ 'omnichannel_subscription_created',
454
+ 'omnichannel_subscription_item_renewed',
455
+ 'omnichannel_subscription_item_downgrade_scheduled',
456
+ 'omnichannel_subscription_item_scheduled_downgrade_removed',
457
+ 'omnichannel_subscription_item_downgraded',
458
+ 'omnichannel_subscription_item_expired',
459
+ 'omnichannel_subscription_item_cancellation_scheduled',
460
+ 'omnichannel_subscription_item_scheduled_cancellation_removed',
461
+ 'omnichannel_subscription_item_resubscribed',
462
+ 'omnichannel_subscription_item_upgraded',
463
+ 'omnichannel_subscription_item_cancelled',
464
+ 'omnichannel_subscription_imported',
465
+ 'omnichannel_subscription_item_grace_period_started',
466
+ 'omnichannel_subscription_item_grace_period_expired',
467
+ 'omnichannel_subscription_item_dunning_started',
468
+ 'omnichannel_subscription_item_dunning_expired',
469
+ 'rule_created',
470
+ 'rule_updated',
471
+ 'rule_deleted',
472
+ 'record_purchase_failed',
473
+ 'omnichannel_subscription_item_change_scheduled',
474
+ 'omnichannel_subscription_item_scheduled_change_removed',
475
+ 'omnichannel_subscription_item_reactivated',
476
+ 'sales_order_created',
477
+ 'sales_order_updated',
478
+ 'omnichannel_subscription_item_changed',
479
+ 'omnichannel_subscription_item_paused',
480
+ 'omnichannel_subscription_item_resumed',
481
+ 'omnichannel_one_time_order_created',
482
+ 'omnichannel_one_time_order_item_cancelled',
483
+ 'usage_file_ingested',
484
+ 'omnichannel_subscription_item_pause_scheduled',
485
+ 'omnichannel_subscription_moved_in',
486
+ 'omnichannel_transaction_created',
487
+ 'alert_status_changed',
488
+ 'plan_created',
489
+ 'plan_updated',
490
+ 'plan_deleted',
491
+ 'addon_created',
492
+ 'addon_updated',
493
+ 'addon_deleted',
494
+ ])
495
+ .optional())
496
+ .optional(),
497
+ });
498
+ exports.UpdateWebhookEndpointBodySchema = UpdateWebhookEndpointBodySchema;
499
+ //WebhookEndpoint.list
500
+ const ListWebhookEndpointBodySchema = zod_1.z.looseObject({
501
+ limit: zod_1.z.number().int().min(1).max(100).optional(),
502
+ offset: zod_1.z.string().max(1000).optional(),
503
+ });
504
+ exports.ListWebhookEndpointBodySchema = ListWebhookEndpointBodySchema;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ /**
3
+ * Lazy schema loader for opt-in Zod validation.
4
+ *
5
+ * Schemas are loaded on first use. Node.js automatically caches imported modules,
6
+ * so repeated imports of the same schema file are efficient.
7
+ *
8
+ * Each resource module lives at {@code schema/<resource_snake>.schema.ts}
9
+ * and exports one body schema per action.
10
+ *
11
+ * The body schema const name follows {@code ZodNamingStrategy.bodySchemaName} in sdk-generator:
12
+ * {@code {PascalAction}{PascalResource}BodySchema}
13
+ *
14
+ * Uses native dynamic import() - TypeScript transpiles appropriately for ESM/CJS targets.
15
+ */
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.getSchema = getSchema;
18
+ function toCamel(s) {
19
+ return s.replace(/_([a-z])/g, (_, c) => c.toUpperCase());
20
+ }
21
+ function toPascal(s) {
22
+ const camel = toCamel(s);
23
+ return camel.charAt(0).toUpperCase() + camel.slice(1);
24
+ }
25
+ /** Matches ZodNamingStrategy.bodySchemaName() in sdk-generator. */
26
+ function schemaConstName(resourceKey, actionName) {
27
+ return toPascal(actionName) + toPascal(resourceKey) + 'BodySchema';
28
+ }
29
+ /** camelCase resource key → snake_case module basename (e.g. virtualBankAccount → virtual_bank_account). */
30
+ function resourceSchemaBasename(resourceKey) {
31
+ return resourceKey
32
+ .replace(/([A-Z])/g, '_$1')
33
+ .toLowerCase()
34
+ .replace(/^_/, '');
35
+ }
36
+ /**
37
+ * Load the Zod schema for a given resource + action.
38
+ * Returns null if no schema file exists for this combination.
39
+ *
40
+ * Node.js automatically caches the imported modules, so repeated calls
41
+ * for the same resource will reuse the cached module.
42
+ *
43
+ * TypeScript compiler handles module system differences:
44
+ * - ESM build: keeps await import() as-is
45
+ * - CJS build: transpiles to require() or Promise-based equivalent
46
+ */
47
+ async function getSchema(resourceKey, actionName) {
48
+ var _a;
49
+ const base = resourceSchemaBasename(resourceKey);
50
+ const constName = schemaConstName(resourceKey, actionName);
51
+ try {
52
+ const mod = await Promise.resolve(`${`./schema/${base}.schema.js`}`).then(s => require(s));
53
+ const schema = (_a = mod[constName]) !== null && _a !== void 0 ? _a : null;
54
+ return schema;
55
+ }
56
+ catch (_b) {
57
+ return null;
58
+ }
59
+ }
@@ -1,6 +1,8 @@
1
1
  import { extend, callbackifyPromise, getApiURL, encodeListParams, encodeParams, serialize, getHost, log, generateUUIDv4 as uuidv4, } from './util.js';
2
2
  import { handleResponse } from './coreCommon.js';
3
3
  import { Buffer } from 'node:buffer';
4
+ import { ChargebeeZodValidationError } from './chargebeeZodValidationError.js';
5
+ import { getSchema } from './validationLoader.js';
4
6
  export class RequestWrapper {
5
7
  constructor(args, apiCall, envArg) {
6
8
  this.getRequest = () => {
@@ -20,6 +22,17 @@ export class RequestWrapper {
20
22
  }
21
23
  return idParam;
22
24
  }
25
+ /**
26
+ * Validate parameters against the action's Zod schema when enableValidation is true.
27
+ * Query params are validated as `params ?? {}`; body params are validated when `params` is non-null.
28
+ * Throws a descriptive error listing every validation violation.
29
+ */
30
+ static _validateParams(params, schema, actionName) {
31
+ const result = schema.safeParse(params);
32
+ if (!result.success) {
33
+ throw new ChargebeeZodValidationError(actionName, result.error);
34
+ }
35
+ }
23
36
  static parseRetryAfter(retryAfter) {
24
37
  if (!retryAfter)
25
38
  return null;
@@ -39,6 +52,20 @@ export class RequestWrapper {
39
52
  ? this.args[1]
40
53
  : this.args[0];
41
54
  let headers = this.apiCall.hasIdInUrl ? this.args[2] : this.args[1];
55
+ // Lazy-load Zod schema when enableValidation is true
56
+ if (env.enableValidation &&
57
+ this.apiCall.resourceKey &&
58
+ this.apiCall.actionName) {
59
+ const schema = await getSchema(this.apiCall.resourceKey, this.apiCall.actionName);
60
+ if (schema) {
61
+ if (this.apiCall.httpMethod === 'GET') {
62
+ RequestWrapper._validateParams(params !== null && params !== void 0 ? params : {}, schema, this.apiCall.methodName);
63
+ }
64
+ else if (params != null) {
65
+ RequestWrapper._validateParams(params, schema, this.apiCall.methodName);
66
+ }
67
+ }
68
+ }
42
69
  Object.assign(this.httpHeaders, headers);
43
70
  if (this.apiCall.httpMethod === 'POST' &&
44
71
  !this.httpHeaders['chargebee-idempotency-key'] &&
@@ -7,3 +7,5 @@ export default Chargebee;
7
7
  export { WebhookEventType, WebhookContentType, } from './resources/webhook/handler.js';
8
8
  export { basicAuthValidator } from './resources/webhook/auth.js';
9
9
  export { WebhookError, WebhookAuthenticationError, WebhookPayloadValidationError, WebhookPayloadParseError, } from './resources/webhook/handler.js';
10
+ // Export validation error class
11
+ export { ChargebeeZodValidationError } from './chargebeeZodValidationError.js';
@@ -7,3 +7,4 @@ export default Chargebee;
7
7
  export { WebhookEventType, WebhookContentType, } from './resources/webhook/handler.js';
8
8
  export { basicAuthValidator } from './resources/webhook/auth.js';
9
9
  export { WebhookError, WebhookAuthenticationError, WebhookPayloadValidationError, WebhookPayloadParseError, } from './resources/webhook/handler.js';
10
+ export { ChargebeeZodValidationError } from './chargebeeZodValidationError.js';
@@ -0,0 +1,14 @@
1
+ export class ChargebeeZodValidationError extends Error {
2
+ constructor(actionName, zodError) {
3
+ var _a;
4
+ const messages = zodError.issues
5
+ .map((e) => `${e.path.join('.')}: ${e.message}`)
6
+ .join('; ');
7
+ super(`[Chargebee] Validation failed for '${actionName}': ${messages}`);
8
+ Object.setPrototypeOf(this, new.target.prototype);
9
+ this.name = 'ChargebeeZodValidationError';
10
+ this.actionName = actionName;
11
+ this.zodError = zodError;
12
+ (_a = Error.captureStackTrace) === null || _a === void 0 ? void 0 : _a.call(Error, this, this.constructor);
13
+ }
14
+ }
@@ -93,6 +93,11 @@ export const CreateChargebee = (httpClient) => {
93
93
  jsonKeys: metaArr[7],
94
94
  options: metaArr[8],
95
95
  };
96
+ if (this._env.enableValidation) {
97
+ // Store resource and action for lazy schema loading in RequestWrapper
98
+ apiCall.resourceKey = res;
99
+ apiCall.actionName = metaArr[0];
100
+ }
96
101
  this[res][apiCall.methodName] = this._createApiFunc(apiCall, this._env);
97
102
  }
98
103
  }
@@ -8,7 +8,7 @@ export const Environment = {
8
8
  hostSuffix: '.chargebee.com',
9
9
  apiPath: '/api/v2',
10
10
  timeout: DEFAULT_TIME_OUT,
11
- clientVersion: 'v3.24.0',
11
+ clientVersion: 'v3.25.0-beta.1',
12
12
  port: DEFAULT_PORT,
13
13
  timemachineWaitInMillis: DEFAULT_TIME_MACHINE_WAIT,
14
14
  exportWaitInMillis: DEFAULT_EXPORT_WAIT,