chargebee 3.23.1 → 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 (166) hide show
  1. package/CHANGELOG.md +97 -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 +80 -2
  10. package/cjs/schema/addon.schema.js +153 -0
  11. package/cjs/schema/address.schema.js +35 -0
  12. package/cjs/schema/alert.schema.js +38 -0
  13. package/cjs/schema/attached_item.schema.js +58 -0
  14. package/cjs/schema/business_entity.schema.js +46 -0
  15. package/cjs/schema/card.schema.js +165 -0
  16. package/cjs/schema/comment.schema.js +69 -0
  17. package/cjs/schema/coupon.schema.js +209 -0
  18. package/cjs/schema/coupon_code.schema.js +14 -0
  19. package/cjs/schema/coupon_set.schema.js +28 -0
  20. package/cjs/schema/credit_note.schema.js +288 -0
  21. package/cjs/schema/currency.schema.js +32 -0
  22. package/cjs/schema/customer.schema.js +986 -0
  23. package/cjs/schema/customer_entitlement.schema.js +14 -0
  24. package/cjs/schema/differential_price.schema.js +68 -0
  25. package/cjs/schema/entitlement.schema.js +27 -0
  26. package/cjs/schema/entitlement_override.schema.js +33 -0
  27. package/cjs/schema/estimate.schema.js +1525 -0
  28. package/cjs/schema/export.schema.js +1545 -0
  29. package/cjs/schema/feature.schema.js +37 -0
  30. package/cjs/schema/gift.schema.js +277 -0
  31. package/cjs/schema/hosted_page.schema.js +1649 -0
  32. package/cjs/schema/in_app_subscription.schema.js +68 -0
  33. package/cjs/schema/index.js +80 -0
  34. package/cjs/schema/invoice.schema.js +1467 -0
  35. package/cjs/schema/item.schema.js +91 -0
  36. package/cjs/schema/item_entitlement.schema.js +45 -0
  37. package/cjs/schema/item_family.schema.js +21 -0
  38. package/cjs/schema/item_price.schema.js +190 -0
  39. package/cjs/schema/non_subscription.schema.js +28 -0
  40. package/cjs/schema/offer_event.schema.js +13 -0
  41. package/cjs/schema/offer_fulfillment.schema.js +20 -0
  42. package/cjs/schema/omnichannel_one_time_order.schema.js +26 -0
  43. package/cjs/schema/omnichannel_subscription.schema.js +89 -0
  44. package/cjs/schema/omnichannel_subscription_item.schema.js +13 -0
  45. package/cjs/schema/order.schema.js +273 -0
  46. package/cjs/schema/payment_intent.schema.js +117 -0
  47. package/cjs/schema/payment_schedule_scheme.schema.js +20 -0
  48. package/cjs/schema/payment_source.schema.js +358 -0
  49. package/cjs/schema/payment_voucher.schema.js +57 -0
  50. package/cjs/schema/personalized_offer.schema.js +28 -0
  51. package/cjs/schema/plan.schema.js +225 -0
  52. package/cjs/schema/portal_session.schema.js +22 -0
  53. package/cjs/schema/price_variant.schema.js +36 -0
  54. package/cjs/schema/pricing_page_session.schema.js +135 -0
  55. package/cjs/schema/promotional_credit.schema.js +78 -0
  56. package/cjs/schema/purchase.schema.js +272 -0
  57. package/cjs/schema/quote.schema.js +1557 -0
  58. package/cjs/schema/ramp.schema.js +209 -0
  59. package/cjs/schema/recorded_purchase.schema.js +32 -0
  60. package/cjs/schema/resource_migration.schema.js +14 -0
  61. package/cjs/schema/site_migration_detail.schema.js +81 -0
  62. package/cjs/schema/subscription.schema.js +2993 -0
  63. package/cjs/schema/subscription_entitlement.schema.js +25 -0
  64. package/cjs/schema/time_machine.schema.js +17 -0
  65. package/cjs/schema/transaction.schema.js +70 -0
  66. package/cjs/schema/unbilled_charge.schema.js +113 -0
  67. package/cjs/schema/usage.schema.js +93 -0
  68. package/cjs/schema/usage_charge.schema.js +17 -0
  69. package/cjs/schema/usage_event.schema.js +28 -0
  70. package/cjs/schema/usage_file.schema.js +13 -0
  71. package/cjs/schema/usage_summary.schema.js +17 -0
  72. package/cjs/schema/virtual_bank_account.schema.js +43 -0
  73. package/cjs/schema/webhook_endpoint.schema.js +504 -0
  74. package/cjs/validationLoader.js +59 -0
  75. package/esm/RequestWrapper.js +27 -0
  76. package/esm/chargebee.esm.js +2 -0
  77. package/esm/chargebee.esm.worker.js +1 -0
  78. package/esm/chargebeeZodValidationError.js +14 -0
  79. package/esm/createChargebee.js +5 -0
  80. package/esm/environment.js +1 -1
  81. package/esm/resources/api_endpoints.js +80 -2
  82. package/esm/schema/addon.schema.js +150 -0
  83. package/esm/schema/address.schema.js +32 -0
  84. package/esm/schema/alert.schema.js +35 -0
  85. package/esm/schema/attached_item.schema.js +55 -0
  86. package/esm/schema/business_entity.schema.js +43 -0
  87. package/esm/schema/card.schema.js +162 -0
  88. package/esm/schema/comment.schema.js +66 -0
  89. package/esm/schema/coupon.schema.js +206 -0
  90. package/esm/schema/coupon_code.schema.js +11 -0
  91. package/esm/schema/coupon_set.schema.js +25 -0
  92. package/esm/schema/credit_note.schema.js +285 -0
  93. package/esm/schema/currency.schema.js +29 -0
  94. package/esm/schema/customer.schema.js +983 -0
  95. package/esm/schema/customer_entitlement.schema.js +11 -0
  96. package/esm/schema/differential_price.schema.js +65 -0
  97. package/esm/schema/entitlement.schema.js +24 -0
  98. package/esm/schema/entitlement_override.schema.js +30 -0
  99. package/esm/schema/estimate.schema.js +1522 -0
  100. package/esm/schema/export.schema.js +1542 -0
  101. package/esm/schema/feature.schema.js +34 -0
  102. package/esm/schema/gift.schema.js +274 -0
  103. package/esm/schema/hosted_page.schema.js +1646 -0
  104. package/esm/schema/in_app_subscription.schema.js +65 -0
  105. package/esm/schema/index.js +64 -0
  106. package/esm/schema/invoice.schema.js +1464 -0
  107. package/esm/schema/item.schema.js +88 -0
  108. package/esm/schema/item_entitlement.schema.js +42 -0
  109. package/esm/schema/item_family.schema.js +18 -0
  110. package/esm/schema/item_price.schema.js +187 -0
  111. package/esm/schema/non_subscription.schema.js +25 -0
  112. package/esm/schema/offer_event.schema.js +10 -0
  113. package/esm/schema/offer_fulfillment.schema.js +17 -0
  114. package/esm/schema/omnichannel_one_time_order.schema.js +23 -0
  115. package/esm/schema/omnichannel_subscription.schema.js +86 -0
  116. package/esm/schema/omnichannel_subscription_item.schema.js +10 -0
  117. package/esm/schema/order.schema.js +270 -0
  118. package/esm/schema/payment_intent.schema.js +114 -0
  119. package/esm/schema/payment_schedule_scheme.schema.js +17 -0
  120. package/esm/schema/payment_source.schema.js +355 -0
  121. package/esm/schema/payment_voucher.schema.js +54 -0
  122. package/esm/schema/personalized_offer.schema.js +25 -0
  123. package/esm/schema/plan.schema.js +222 -0
  124. package/esm/schema/portal_session.schema.js +19 -0
  125. package/esm/schema/price_variant.schema.js +33 -0
  126. package/esm/schema/pricing_page_session.schema.js +132 -0
  127. package/esm/schema/promotional_credit.schema.js +75 -0
  128. package/esm/schema/purchase.schema.js +269 -0
  129. package/esm/schema/quote.schema.js +1554 -0
  130. package/esm/schema/ramp.schema.js +206 -0
  131. package/esm/schema/recorded_purchase.schema.js +29 -0
  132. package/esm/schema/resource_migration.schema.js +11 -0
  133. package/esm/schema/site_migration_detail.schema.js +78 -0
  134. package/esm/schema/subscription.schema.js +2990 -0
  135. package/esm/schema/subscription_entitlement.schema.js +22 -0
  136. package/esm/schema/time_machine.schema.js +14 -0
  137. package/esm/schema/transaction.schema.js +67 -0
  138. package/esm/schema/unbilled_charge.schema.js +110 -0
  139. package/esm/schema/usage.schema.js +90 -0
  140. package/esm/schema/usage_charge.schema.js +14 -0
  141. package/esm/schema/usage_event.schema.js +25 -0
  142. package/esm/schema/usage_file.schema.js +10 -0
  143. package/esm/schema/usage_summary.schema.js +14 -0
  144. package/esm/schema/virtual_bank_account.schema.js +40 -0
  145. package/esm/schema/webhook_endpoint.schema.js +501 -0
  146. package/esm/validationLoader.js +56 -0
  147. package/package.json +5 -2
  148. package/types/core.d.ts +34 -8
  149. package/types/index.d.ts +20 -0
  150. package/types/resources/Alert.d.ts +110 -4
  151. package/types/resources/AlertStatus.d.ts +43 -2
  152. package/types/resources/Card.d.ts +1 -0
  153. package/types/resources/Content.d.ts +2 -0
  154. package/types/resources/Customer.d.ts +16 -2
  155. package/types/resources/Estimate.d.ts +16 -2
  156. package/types/resources/Event.d.ts +4 -2
  157. package/types/resources/FilterCondition.d.ts +10 -0
  158. package/types/resources/Gift.d.ts +16 -2
  159. package/types/resources/Invoice.d.ts +17 -2
  160. package/types/resources/PaymentIntent.d.ts +42 -6
  161. package/types/resources/PaymentSource.d.ts +11 -2
  162. package/types/resources/Purchase.d.ts +8 -1
  163. package/types/resources/Quote.d.ts +2 -0
  164. package/types/resources/QuoteEntitlement.d.ts +16 -0
  165. package/types/resources/Subscription.d.ts +56 -7
  166. package/types/resources/VirtualBankAccount.d.ts +2 -0
@@ -0,0 +1,501 @@
1
+ // Generated Zod schemas: WebhookEndpoint
2
+ // Actions: create, update, list
3
+ // Do not edit manually – regenerate via sdk-generator
4
+ import { z } from 'zod';
5
+ //WebhookEndpoint.create
6
+ const CreateWebhookEndpointBodySchema = z.looseObject({
7
+ name: z.string().max(50),
8
+ api_version: z.enum(['v1', 'v2']).optional(),
9
+ url: z.string().max(512),
10
+ primary_url: z.boolean().default(false).optional(),
11
+ disabled: z.boolean().default(false).optional(),
12
+ basic_auth_password: z.string().max(250).optional(),
13
+ basic_auth_username: z.string().max(250).optional(),
14
+ send_card_resource: z.boolean().default(false).optional(),
15
+ chargebee_response_schema_type: z
16
+ .enum(['plans_addons', 'items', 'compat'])
17
+ .optional(),
18
+ enabled_events: z
19
+ .array(z
20
+ .enum([
21
+ 'coupon_created',
22
+ 'coupon_updated',
23
+ 'coupon_deleted',
24
+ 'coupon_set_created',
25
+ 'coupon_set_updated',
26
+ 'coupon_set_deleted',
27
+ 'coupon_codes_added',
28
+ 'coupon_codes_deleted',
29
+ 'coupon_codes_updated',
30
+ 'customer_created',
31
+ 'customer_changed',
32
+ 'customer_deleted',
33
+ 'customer_moved_out',
34
+ 'customer_moved_in',
35
+ 'promotional_credits_added',
36
+ 'promotional_credits_deducted',
37
+ 'subscription_created',
38
+ 'subscription_created_with_backdating',
39
+ 'subscription_started',
40
+ 'subscription_trial_end_reminder',
41
+ 'subscription_activated',
42
+ 'subscription_activated_with_backdating',
43
+ 'subscription_changed',
44
+ 'subscription_trial_extended',
45
+ 'mrr_updated',
46
+ 'subscription_changed_with_backdating',
47
+ 'subscription_cancellation_scheduled',
48
+ 'subscription_cancellation_reminder',
49
+ 'subscription_cancelled',
50
+ 'subscription_canceled_with_backdating',
51
+ 'subscription_reactivated',
52
+ 'subscription_reactivated_with_backdating',
53
+ 'subscription_renewed',
54
+ 'subscription_items_renewed',
55
+ 'subscription_scheduled_cancellation_removed',
56
+ 'subscription_changes_scheduled',
57
+ 'subscription_scheduled_changes_removed',
58
+ 'subscription_shipping_address_updated',
59
+ 'subscription_deleted',
60
+ 'subscription_paused',
61
+ 'subscription_pause_scheduled',
62
+ 'subscription_scheduled_pause_removed',
63
+ 'subscription_resumed',
64
+ 'subscription_resumption_scheduled',
65
+ 'subscription_scheduled_resumption_removed',
66
+ 'subscription_advance_invoice_schedule_added',
67
+ 'subscription_advance_invoice_schedule_updated',
68
+ 'subscription_advance_invoice_schedule_removed',
69
+ 'pending_invoice_created',
70
+ 'pending_invoice_updated',
71
+ 'invoice_generated',
72
+ 'invoice_generated_with_backdating',
73
+ 'invoice_updated',
74
+ 'invoice_deleted',
75
+ 'credit_note_created',
76
+ 'credit_note_created_with_backdating',
77
+ 'credit_note_updated',
78
+ 'credit_note_deleted',
79
+ 'payment_schedules_created',
80
+ 'payment_schedules_updated',
81
+ 'payment_schedule_scheme_created',
82
+ 'payment_schedule_scheme_deleted',
83
+ 'subscription_renewal_reminder',
84
+ 'add_usages_reminder',
85
+ 'payment_due_reminder',
86
+ 'transaction_created',
87
+ 'transaction_updated',
88
+ 'transaction_deleted',
89
+ 'payment_succeeded',
90
+ 'payment_failed',
91
+ 'dunning_updated',
92
+ 'payment_refunded',
93
+ 'payment_initiated',
94
+ 'refund_initiated',
95
+ 'netd_payment_due_reminder',
96
+ 'authorization_succeeded',
97
+ 'authorization_voided',
98
+ 'card_added',
99
+ 'card_updated',
100
+ 'card_expiry_reminder',
101
+ 'card_expired',
102
+ 'card_deleted',
103
+ 'payment_source_added',
104
+ 'payment_source_updated',
105
+ 'payment_source_deleted',
106
+ 'payment_source_expiring',
107
+ 'payment_source_expired',
108
+ 'payment_source_locally_deleted',
109
+ 'virtual_bank_account_added',
110
+ 'virtual_bank_account_updated',
111
+ 'virtual_bank_account_deleted',
112
+ 'token_created',
113
+ 'token_consumed',
114
+ 'token_expired',
115
+ 'unbilled_charges_created',
116
+ 'unbilled_charges_voided',
117
+ 'unbilled_charges_deleted',
118
+ 'unbilled_charges_invoiced',
119
+ 'order_created',
120
+ 'order_updated',
121
+ 'order_cancelled',
122
+ 'order_delivered',
123
+ 'order_returned',
124
+ 'order_ready_to_process',
125
+ 'order_ready_to_ship',
126
+ 'order_deleted',
127
+ 'order_resent',
128
+ 'quote_created',
129
+ 'quote_updated',
130
+ 'quote_deleted',
131
+ 'tax_withheld_recorded',
132
+ 'tax_withheld_deleted',
133
+ 'tax_withheld_refunded',
134
+ 'gift_scheduled',
135
+ 'gift_unclaimed',
136
+ 'gift_claimed',
137
+ 'gift_expired',
138
+ 'gift_cancelled',
139
+ 'gift_updated',
140
+ 'hierarchy_created',
141
+ 'hierarchy_deleted',
142
+ 'payment_intent_created',
143
+ 'payment_intent_updated',
144
+ 'contract_term_created',
145
+ 'contract_term_renewed',
146
+ 'contract_term_terminated',
147
+ 'contract_term_completed',
148
+ 'contract_term_cancelled',
149
+ 'item_family_created',
150
+ 'item_family_updated',
151
+ 'item_family_deleted',
152
+ 'item_created',
153
+ 'item_updated',
154
+ 'item_deleted',
155
+ 'item_price_created',
156
+ 'item_price_updated',
157
+ 'item_price_deleted',
158
+ 'attached_item_created',
159
+ 'attached_item_updated',
160
+ 'attached_item_deleted',
161
+ 'differential_price_created',
162
+ 'differential_price_updated',
163
+ 'differential_price_deleted',
164
+ 'feature_created',
165
+ 'feature_updated',
166
+ 'feature_deleted',
167
+ 'feature_activated',
168
+ 'feature_reactivated',
169
+ 'feature_archived',
170
+ 'item_entitlements_updated',
171
+ 'entitlement_overrides_updated',
172
+ 'entitlement_overrides_removed',
173
+ 'item_entitlements_removed',
174
+ 'entitlement_overrides_auto_removed',
175
+ 'subscription_entitlements_created',
176
+ 'subscription_entitlements_updated',
177
+ 'business_entity_created',
178
+ 'business_entity_updated',
179
+ 'business_entity_deleted',
180
+ 'customer_business_entity_changed',
181
+ 'subscription_business_entity_changed',
182
+ 'purchase_created',
183
+ 'voucher_created',
184
+ 'voucher_expired',
185
+ 'voucher_create_failed',
186
+ 'product_created',
187
+ 'product_updated',
188
+ 'product_deleted',
189
+ 'variant_created',
190
+ 'variant_updated',
191
+ 'variant_deleted',
192
+ 'item_price_entitlements_updated',
193
+ 'item_price_entitlements_removed',
194
+ 'subscription_ramp_created',
195
+ 'subscription_ramp_deleted',
196
+ 'subscription_ramp_applied',
197
+ 'subscription_ramp_drafted',
198
+ 'subscription_ramp_updated',
199
+ 'price_variant_created',
200
+ 'price_variant_updated',
201
+ 'price_variant_deleted',
202
+ 'customer_entitlements_updated',
203
+ 'subscription_moved_in',
204
+ 'subscription_moved_out',
205
+ 'subscription_movement_failed',
206
+ 'omnichannel_subscription_created',
207
+ 'omnichannel_subscription_item_renewed',
208
+ 'omnichannel_subscription_item_downgrade_scheduled',
209
+ 'omnichannel_subscription_item_scheduled_downgrade_removed',
210
+ 'omnichannel_subscription_item_downgraded',
211
+ 'omnichannel_subscription_item_expired',
212
+ 'omnichannel_subscription_item_cancellation_scheduled',
213
+ 'omnichannel_subscription_item_scheduled_cancellation_removed',
214
+ 'omnichannel_subscription_item_resubscribed',
215
+ 'omnichannel_subscription_item_upgraded',
216
+ 'omnichannel_subscription_item_cancelled',
217
+ 'omnichannel_subscription_imported',
218
+ 'omnichannel_subscription_item_grace_period_started',
219
+ 'omnichannel_subscription_item_grace_period_expired',
220
+ 'omnichannel_subscription_item_dunning_started',
221
+ 'omnichannel_subscription_item_dunning_expired',
222
+ 'rule_created',
223
+ 'rule_updated',
224
+ 'rule_deleted',
225
+ 'record_purchase_failed',
226
+ 'omnichannel_subscription_item_change_scheduled',
227
+ 'omnichannel_subscription_item_scheduled_change_removed',
228
+ 'omnichannel_subscription_item_reactivated',
229
+ 'sales_order_created',
230
+ 'sales_order_updated',
231
+ 'omnichannel_subscription_item_changed',
232
+ 'omnichannel_subscription_item_paused',
233
+ 'omnichannel_subscription_item_resumed',
234
+ 'omnichannel_one_time_order_created',
235
+ 'omnichannel_one_time_order_item_cancelled',
236
+ 'usage_file_ingested',
237
+ 'omnichannel_subscription_item_pause_scheduled',
238
+ 'omnichannel_subscription_moved_in',
239
+ 'omnichannel_transaction_created',
240
+ 'alert_status_changed',
241
+ 'plan_created',
242
+ 'plan_updated',
243
+ 'plan_deleted',
244
+ 'addon_created',
245
+ 'addon_updated',
246
+ 'addon_deleted',
247
+ ])
248
+ .optional())
249
+ .optional(),
250
+ });
251
+ export { CreateWebhookEndpointBodySchema };
252
+ //WebhookEndpoint.update
253
+ const UpdateWebhookEndpointBodySchema = z.looseObject({
254
+ name: z.string().max(50).optional(),
255
+ api_version: z.enum(['v1', 'v2']).optional(),
256
+ url: z.string().max(512).optional(),
257
+ primary_url: z.boolean().default(false).optional(),
258
+ send_card_resource: z.boolean().default(false).optional(),
259
+ basic_auth_password: z.string().max(250).optional(),
260
+ basic_auth_username: z.string().max(250).optional(),
261
+ disabled: z.boolean().default(false).optional(),
262
+ enabled_events: z
263
+ .array(z
264
+ .enum([
265
+ 'coupon_created',
266
+ 'coupon_updated',
267
+ 'coupon_deleted',
268
+ 'coupon_set_created',
269
+ 'coupon_set_updated',
270
+ 'coupon_set_deleted',
271
+ 'coupon_codes_added',
272
+ 'coupon_codes_deleted',
273
+ 'coupon_codes_updated',
274
+ 'customer_created',
275
+ 'customer_changed',
276
+ 'customer_deleted',
277
+ 'customer_moved_out',
278
+ 'customer_moved_in',
279
+ 'promotional_credits_added',
280
+ 'promotional_credits_deducted',
281
+ 'subscription_created',
282
+ 'subscription_created_with_backdating',
283
+ 'subscription_started',
284
+ 'subscription_trial_end_reminder',
285
+ 'subscription_activated',
286
+ 'subscription_activated_with_backdating',
287
+ 'subscription_changed',
288
+ 'subscription_trial_extended',
289
+ 'mrr_updated',
290
+ 'subscription_changed_with_backdating',
291
+ 'subscription_cancellation_scheduled',
292
+ 'subscription_cancellation_reminder',
293
+ 'subscription_cancelled',
294
+ 'subscription_canceled_with_backdating',
295
+ 'subscription_reactivated',
296
+ 'subscription_reactivated_with_backdating',
297
+ 'subscription_renewed',
298
+ 'subscription_items_renewed',
299
+ 'subscription_scheduled_cancellation_removed',
300
+ 'subscription_changes_scheduled',
301
+ 'subscription_scheduled_changes_removed',
302
+ 'subscription_shipping_address_updated',
303
+ 'subscription_deleted',
304
+ 'subscription_paused',
305
+ 'subscription_pause_scheduled',
306
+ 'subscription_scheduled_pause_removed',
307
+ 'subscription_resumed',
308
+ 'subscription_resumption_scheduled',
309
+ 'subscription_scheduled_resumption_removed',
310
+ 'subscription_advance_invoice_schedule_added',
311
+ 'subscription_advance_invoice_schedule_updated',
312
+ 'subscription_advance_invoice_schedule_removed',
313
+ 'pending_invoice_created',
314
+ 'pending_invoice_updated',
315
+ 'invoice_generated',
316
+ 'invoice_generated_with_backdating',
317
+ 'invoice_updated',
318
+ 'invoice_deleted',
319
+ 'credit_note_created',
320
+ 'credit_note_created_with_backdating',
321
+ 'credit_note_updated',
322
+ 'credit_note_deleted',
323
+ 'payment_schedules_created',
324
+ 'payment_schedules_updated',
325
+ 'payment_schedule_scheme_created',
326
+ 'payment_schedule_scheme_deleted',
327
+ 'subscription_renewal_reminder',
328
+ 'add_usages_reminder',
329
+ 'payment_due_reminder',
330
+ 'transaction_created',
331
+ 'transaction_updated',
332
+ 'transaction_deleted',
333
+ 'payment_succeeded',
334
+ 'payment_failed',
335
+ 'dunning_updated',
336
+ 'payment_refunded',
337
+ 'payment_initiated',
338
+ 'refund_initiated',
339
+ 'netd_payment_due_reminder',
340
+ 'authorization_succeeded',
341
+ 'authorization_voided',
342
+ 'card_added',
343
+ 'card_updated',
344
+ 'card_expiry_reminder',
345
+ 'card_expired',
346
+ 'card_deleted',
347
+ 'payment_source_added',
348
+ 'payment_source_updated',
349
+ 'payment_source_deleted',
350
+ 'payment_source_expiring',
351
+ 'payment_source_expired',
352
+ 'payment_source_locally_deleted',
353
+ 'virtual_bank_account_added',
354
+ 'virtual_bank_account_updated',
355
+ 'virtual_bank_account_deleted',
356
+ 'token_created',
357
+ 'token_consumed',
358
+ 'token_expired',
359
+ 'unbilled_charges_created',
360
+ 'unbilled_charges_voided',
361
+ 'unbilled_charges_deleted',
362
+ 'unbilled_charges_invoiced',
363
+ 'order_created',
364
+ 'order_updated',
365
+ 'order_cancelled',
366
+ 'order_delivered',
367
+ 'order_returned',
368
+ 'order_ready_to_process',
369
+ 'order_ready_to_ship',
370
+ 'order_deleted',
371
+ 'order_resent',
372
+ 'quote_created',
373
+ 'quote_updated',
374
+ 'quote_deleted',
375
+ 'tax_withheld_recorded',
376
+ 'tax_withheld_deleted',
377
+ 'tax_withheld_refunded',
378
+ 'gift_scheduled',
379
+ 'gift_unclaimed',
380
+ 'gift_claimed',
381
+ 'gift_expired',
382
+ 'gift_cancelled',
383
+ 'gift_updated',
384
+ 'hierarchy_created',
385
+ 'hierarchy_deleted',
386
+ 'payment_intent_created',
387
+ 'payment_intent_updated',
388
+ 'contract_term_created',
389
+ 'contract_term_renewed',
390
+ 'contract_term_terminated',
391
+ 'contract_term_completed',
392
+ 'contract_term_cancelled',
393
+ 'item_family_created',
394
+ 'item_family_updated',
395
+ 'item_family_deleted',
396
+ 'item_created',
397
+ 'item_updated',
398
+ 'item_deleted',
399
+ 'item_price_created',
400
+ 'item_price_updated',
401
+ 'item_price_deleted',
402
+ 'attached_item_created',
403
+ 'attached_item_updated',
404
+ 'attached_item_deleted',
405
+ 'differential_price_created',
406
+ 'differential_price_updated',
407
+ 'differential_price_deleted',
408
+ 'feature_created',
409
+ 'feature_updated',
410
+ 'feature_deleted',
411
+ 'feature_activated',
412
+ 'feature_reactivated',
413
+ 'feature_archived',
414
+ 'item_entitlements_updated',
415
+ 'entitlement_overrides_updated',
416
+ 'entitlement_overrides_removed',
417
+ 'item_entitlements_removed',
418
+ 'entitlement_overrides_auto_removed',
419
+ 'subscription_entitlements_created',
420
+ 'subscription_entitlements_updated',
421
+ 'business_entity_created',
422
+ 'business_entity_updated',
423
+ 'business_entity_deleted',
424
+ 'customer_business_entity_changed',
425
+ 'subscription_business_entity_changed',
426
+ 'purchase_created',
427
+ 'voucher_created',
428
+ 'voucher_expired',
429
+ 'voucher_create_failed',
430
+ 'product_created',
431
+ 'product_updated',
432
+ 'product_deleted',
433
+ 'variant_created',
434
+ 'variant_updated',
435
+ 'variant_deleted',
436
+ 'item_price_entitlements_updated',
437
+ 'item_price_entitlements_removed',
438
+ 'subscription_ramp_created',
439
+ 'subscription_ramp_deleted',
440
+ 'subscription_ramp_applied',
441
+ 'subscription_ramp_drafted',
442
+ 'subscription_ramp_updated',
443
+ 'price_variant_created',
444
+ 'price_variant_updated',
445
+ 'price_variant_deleted',
446
+ 'customer_entitlements_updated',
447
+ 'subscription_moved_in',
448
+ 'subscription_moved_out',
449
+ 'subscription_movement_failed',
450
+ 'omnichannel_subscription_created',
451
+ 'omnichannel_subscription_item_renewed',
452
+ 'omnichannel_subscription_item_downgrade_scheduled',
453
+ 'omnichannel_subscription_item_scheduled_downgrade_removed',
454
+ 'omnichannel_subscription_item_downgraded',
455
+ 'omnichannel_subscription_item_expired',
456
+ 'omnichannel_subscription_item_cancellation_scheduled',
457
+ 'omnichannel_subscription_item_scheduled_cancellation_removed',
458
+ 'omnichannel_subscription_item_resubscribed',
459
+ 'omnichannel_subscription_item_upgraded',
460
+ 'omnichannel_subscription_item_cancelled',
461
+ 'omnichannel_subscription_imported',
462
+ 'omnichannel_subscription_item_grace_period_started',
463
+ 'omnichannel_subscription_item_grace_period_expired',
464
+ 'omnichannel_subscription_item_dunning_started',
465
+ 'omnichannel_subscription_item_dunning_expired',
466
+ 'rule_created',
467
+ 'rule_updated',
468
+ 'rule_deleted',
469
+ 'record_purchase_failed',
470
+ 'omnichannel_subscription_item_change_scheduled',
471
+ 'omnichannel_subscription_item_scheduled_change_removed',
472
+ 'omnichannel_subscription_item_reactivated',
473
+ 'sales_order_created',
474
+ 'sales_order_updated',
475
+ 'omnichannel_subscription_item_changed',
476
+ 'omnichannel_subscription_item_paused',
477
+ 'omnichannel_subscription_item_resumed',
478
+ 'omnichannel_one_time_order_created',
479
+ 'omnichannel_one_time_order_item_cancelled',
480
+ 'usage_file_ingested',
481
+ 'omnichannel_subscription_item_pause_scheduled',
482
+ 'omnichannel_subscription_moved_in',
483
+ 'omnichannel_transaction_created',
484
+ 'alert_status_changed',
485
+ 'plan_created',
486
+ 'plan_updated',
487
+ 'plan_deleted',
488
+ 'addon_created',
489
+ 'addon_updated',
490
+ 'addon_deleted',
491
+ ])
492
+ .optional())
493
+ .optional(),
494
+ });
495
+ export { UpdateWebhookEndpointBodySchema };
496
+ //WebhookEndpoint.list
497
+ const ListWebhookEndpointBodySchema = z.looseObject({
498
+ limit: z.number().int().min(1).max(100).optional(),
499
+ offset: z.string().max(1000).optional(),
500
+ });
501
+ export { ListWebhookEndpointBodySchema };
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Lazy schema loader for opt-in Zod validation.
3
+ *
4
+ * Schemas are loaded on first use. Node.js automatically caches imported modules,
5
+ * so repeated imports of the same schema file are efficient.
6
+ *
7
+ * Each resource module lives at {@code schema/<resource_snake>.schema.ts}
8
+ * and exports one body schema per action.
9
+ *
10
+ * The body schema const name follows {@code ZodNamingStrategy.bodySchemaName} in sdk-generator:
11
+ * {@code {PascalAction}{PascalResource}BodySchema}
12
+ *
13
+ * Uses native dynamic import() - TypeScript transpiles appropriately for ESM/CJS targets.
14
+ */
15
+ function toCamel(s) {
16
+ return s.replace(/_([a-z])/g, (_, c) => c.toUpperCase());
17
+ }
18
+ function toPascal(s) {
19
+ const camel = toCamel(s);
20
+ return camel.charAt(0).toUpperCase() + camel.slice(1);
21
+ }
22
+ /** Matches ZodNamingStrategy.bodySchemaName() in sdk-generator. */
23
+ function schemaConstName(resourceKey, actionName) {
24
+ return toPascal(actionName) + toPascal(resourceKey) + 'BodySchema';
25
+ }
26
+ /** camelCase resource key → snake_case module basename (e.g. virtualBankAccount → virtual_bank_account). */
27
+ function resourceSchemaBasename(resourceKey) {
28
+ return resourceKey
29
+ .replace(/([A-Z])/g, '_$1')
30
+ .toLowerCase()
31
+ .replace(/^_/, '');
32
+ }
33
+ /**
34
+ * Load the Zod schema for a given resource + action.
35
+ * Returns null if no schema file exists for this combination.
36
+ *
37
+ * Node.js automatically caches the imported modules, so repeated calls
38
+ * for the same resource will reuse the cached module.
39
+ *
40
+ * TypeScript compiler handles module system differences:
41
+ * - ESM build: keeps await import() as-is
42
+ * - CJS build: transpiles to require() or Promise-based equivalent
43
+ */
44
+ export async function getSchema(resourceKey, actionName) {
45
+ var _a;
46
+ const base = resourceSchemaBasename(resourceKey);
47
+ const constName = schemaConstName(resourceKey, actionName);
48
+ try {
49
+ const mod = await import(`./schema/${base}.schema.js`);
50
+ const schema = (_a = mod[constName]) !== null && _a !== void 0 ? _a : null;
51
+ return schema;
52
+ }
53
+ catch (_b) {
54
+ return null;
55
+ }
56
+ }
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "chargebee",
3
- "version": "3.23.1",
3
+ "version": "3.25.0-beta.1",
4
4
  "description": "A library for integrating with Chargebee.",
5
5
  "scripts": {
6
6
  "prepack": "npm install && npm run build",
7
- "test": "mocha -r ts-node/register 'test/**/*.test.ts'",
7
+ "test": "TS_NODE_PROJECT=./tsconfig.test.json mocha -r ts-node/register 'test/**/*.test.ts'",
8
8
  "build": "npm run build-esm && npm run build-cjs",
9
9
  "build-esm": "rm -rf esm && mkdir -p esm && tsc -p tsconfig.esm.json && echo '{\"type\":\"module\"}' > esm/package.json",
10
10
  "build-cjs": "rm -rf cjs && mkdir -p cjs && tsc -p tsconfig.cjs.json && echo '{\"type\":\"commonjs\"}' > cjs/package.json",
@@ -75,5 +75,8 @@
75
75
  "semi": true,
76
76
  "singleQuote": true,
77
77
  "parser": "typescript"
78
+ },
79
+ "dependencies": {
80
+ "zod": "^4.3.6"
78
81
  }
79
82
  }
package/types/core.d.ts CHANGED
@@ -5,6 +5,8 @@ declare module 'chargebee' {
5
5
  timeout?: number;
6
6
  timemachineWaitInMillis?: number;
7
7
  exportWaitInMillis?: number;
8
+ /** When true, request parameters are validated against Zod schemas before each HTTP call (where a schema exists). */
9
+ enableValidation?: boolean;
8
10
  }
9
11
  export type ChargebeeResponse<T> = T & {
10
12
  headers: { [key: string]: string };
@@ -31,6 +33,7 @@ declare module 'chargebee' {
31
33
  | 'business_checking'
32
34
  | 'current';
33
35
  type ActionEnum = 'upsert' | 'remove';
36
+ type AlarmStatusEnum = 'within_limit' | 'in_alarm';
34
37
  type ApiVersionEnum = 'v1' | 'v2';
35
38
  type ApplyOnEnum = 'invoice_amount' | 'specific_item_price';
36
39
  type AutoCollectionEnum = 'on' | 'off';
@@ -118,6 +121,10 @@ declare module 'chargebee' {
118
121
  | 'plan_item_price'
119
122
  | 'addon_item_price'
120
123
  | 'charge_item_price'
124
+ | 'plan_price'
125
+ | 'addon_price'
126
+ | 'charge_price'
127
+ | 'charge'
121
128
  | 'invoice'
122
129
  | 'quote'
123
130
  | 'credit_note'
@@ -131,9 +138,6 @@ declare module 'chargebee' {
131
138
  | 'plan_item'
132
139
  | 'addon_item'
133
140
  | 'charge_item'
134
- | 'plan_price'
135
- | 'addon_price'
136
- | 'charge_price'
137
141
  | 'differential_price'
138
142
  | 'attached_item'
139
143
  | 'feature'
@@ -152,8 +156,7 @@ declare module 'chargebee' {
152
156
  | 'usage_file'
153
157
  | 'business_rule'
154
158
  | 'ruleset'
155
- | 'alert_status'
156
- | 'charge';
159
+ | 'alert_status';
157
160
  type EventNameEnum = 'cancellation_page_loaded';
158
161
  type EventTypeEnum =
159
162
  | 'coupon_created'
@@ -435,6 +438,8 @@ declare module 'chargebee' {
435
438
  | 'ezidebit'
436
439
  | 'twikey'
437
440
  | 'tempus'
441
+ | 'moyasar'
442
+ | 'payway'
438
443
  | 'gocardless'
439
444
  | 'not_applicable';
440
445
  type HierarchyOperationTypeEnum =
@@ -444,6 +449,7 @@ declare module 'chargebee' {
444
449
  type InvoiceDunningHandlingEnum = 'continue' | 'stop';
445
450
  type ItemTypeEnum = 'plan' | 'addon' | 'charge';
446
451
  type LayoutEnum = 'in_app' | 'full_page';
452
+ type ModeEnum = 'absolute' | 'percentage';
447
453
  type NotifyReferralSystemEnum =
448
454
  | 'none'
449
455
  | 'first_paid_conversion'
@@ -519,7 +525,14 @@ declare module 'chargebee' {
519
525
  | 'naver_pay'
520
526
  | 'revolut_pay'
521
527
  | 'cash_app_pay'
522
- | 'pix';
528
+ | 'pix'
529
+ | 'twint'
530
+ | 'go_pay'
531
+ | 'grab_pay'
532
+ | 'pay_co'
533
+ | 'after_pay'
534
+ | 'swish'
535
+ | 'payme';
523
536
  type PaymentMethodSavePolicyEnum = 'always' | 'ask' | 'never';
524
537
  type PaymentMethodTypeEnum =
525
538
  | 'card'
@@ -556,7 +569,14 @@ declare module 'chargebee' {
556
569
  | 'naver_pay'
557
570
  | 'revolut_pay'
558
571
  | 'cash_app_pay'
559
- | 'pix';
572
+ | 'pix'
573
+ | 'twint'
574
+ | 'go_pay'
575
+ | 'grab_pay'
576
+ | 'pay_co'
577
+ | 'after_pay'
578
+ | 'swish'
579
+ | 'payme';
560
580
  type PaymentVoucherTypeEnum = 'boleto';
561
581
  type PeriodUnitEnum = 'day' | 'week' | 'month' | 'year';
562
582
  type PriceTypeEnum = 'tax_exclusive' | 'tax_inclusive';
@@ -660,6 +680,13 @@ declare module 'chargebee' {
660
680
  | 'revolut_pay'
661
681
  | 'cash_app_pay'
662
682
  | 'pix'
683
+ | 'twint'
684
+ | 'go_pay'
685
+ | 'grab_pay'
686
+ | 'pay_co'
687
+ | 'after_pay'
688
+ | 'swish'
689
+ | 'payme'
663
690
  | 'free_trial'
664
691
  | 'pay_up_front'
665
692
  | 'pay_as_you_go'
@@ -678,7 +705,6 @@ declare module 'chargebee' {
678
705
  type VoucherTypeEnum = 'boleto';
679
706
  type WindowSizeEnum = 'month' | 'week' | 'day' | 'hour' | 'minute';
680
707
  type ChargeOnEnum = 'immediately' | 'on_event';
681
- type AlertStatusEnum = AlertStatusEnum;
682
708
  type EnabledEventsEnum =
683
709
  | 'coupon_created'
684
710
  | 'coupon_updated'