@depup/stripe 22.4.0-depup.0 → 22.6.0-depup.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 (269) hide show
  1. package/CHANGELOG.md +54 -1
  2. package/OPENAPI_VERSION +1 -1
  3. package/README.md +2 -2
  4. package/VERSION +1 -1
  5. package/changes.json +1 -1
  6. package/cjs/RequestSender.d.ts +5 -3
  7. package/cjs/RequestSender.js +44 -14
  8. package/cjs/RequestSender.js.map +1 -1
  9. package/cjs/StripeEventEmitter.d.ts +18 -0
  10. package/cjs/StripeEventEmitter.js +63 -0
  11. package/cjs/StripeEventEmitter.js.map +1 -0
  12. package/cjs/StripeEventNotificationHandler.d.ts +59 -0
  13. package/cjs/StripeEventNotificationHandler.js +149 -0
  14. package/cjs/StripeEventNotificationHandler.js.map +1 -0
  15. package/cjs/Types.d.ts +4 -0
  16. package/cjs/V2Coercion.js +70 -22
  17. package/cjs/V2Coercion.js.map +1 -1
  18. package/cjs/Webhooks.d.ts +43 -3
  19. package/cjs/Webhooks.js +25 -29
  20. package/cjs/Webhooks.js.map +1 -1
  21. package/cjs/apiVersion.d.ts +1 -1
  22. package/cjs/apiVersion.js +1 -1
  23. package/cjs/net/EndpointFetchHttpClient.d.ts +21 -0
  24. package/cjs/net/EndpointFetchHttpClient.js +83 -0
  25. package/cjs/net/EndpointFetchHttpClient.js.map +1 -0
  26. package/cjs/net/FetchHttpClient.d.ts +14 -1
  27. package/cjs/net/FetchHttpClient.js +76 -34
  28. package/cjs/net/FetchHttpClient.js.map +1 -1
  29. package/cjs/net/HttpClient.d.ts +21 -0
  30. package/cjs/net/HttpClient.js +37 -1
  31. package/cjs/net/HttpClient.js.map +1 -1
  32. package/cjs/net/NodeHttpClient.js +41 -7
  33. package/cjs/net/NodeHttpClient.js.map +1 -1
  34. package/cjs/platform/ExtensibilityPlatformFunctions.d.ts +34 -0
  35. package/cjs/platform/ExtensibilityPlatformFunctions.js +64 -0
  36. package/cjs/platform/ExtensibilityPlatformFunctions.js.map +1 -0
  37. package/cjs/platform/NodePlatformFunctions.d.ts +2 -0
  38. package/cjs/platform/NodePlatformFunctions.js +4 -0
  39. package/cjs/platform/NodePlatformFunctions.js.map +1 -1
  40. package/cjs/platform/PlatformFunctions.d.ts +20 -5
  41. package/cjs/platform/PlatformFunctions.js +16 -0
  42. package/cjs/platform/PlatformFunctions.js.map +1 -1
  43. package/cjs/resources/AccountLinks.d.ts +3 -3
  44. package/cjs/resources/AccountSessions.d.ts +38 -0
  45. package/cjs/resources/Accounts.d.ts +90 -78
  46. package/cjs/resources/BalanceTransactions.d.ts +1 -1
  47. package/cjs/resources/BankAccounts.d.ts +2 -2
  48. package/cjs/resources/Billing/FeedbackOptions.d.ts +106 -0
  49. package/cjs/resources/Billing/FeedbackOptions.js +41 -0
  50. package/cjs/resources/Billing/FeedbackOptions.js.map +1 -0
  51. package/cjs/resources/Billing/index.d.ts +21 -12
  52. package/cjs/resources/Billing/index.js +2 -0
  53. package/cjs/resources/Billing/index.js.map +1 -1
  54. package/cjs/resources/BillingPortal/Configurations.d.ts +22 -9
  55. package/cjs/resources/BillingPortal/Configurations.js.map +1 -1
  56. package/cjs/resources/BillingPortal/Sessions.d.ts +8 -2
  57. package/cjs/resources/Cards.d.ts +1 -1
  58. package/cjs/resources/CashBalances.d.ts +2 -1
  59. package/cjs/resources/Charges.d.ts +24 -16
  60. package/cjs/resources/Checkout/Sessions.d.ts +48 -47
  61. package/cjs/resources/Climate/Orders.d.ts +1 -1
  62. package/cjs/resources/Climate/Products.d.ts +1 -1
  63. package/cjs/resources/ConfirmationTokens.d.ts +12 -8
  64. package/cjs/resources/CreditNoteLineItems.d.ts +2 -2
  65. package/cjs/resources/CreditNotes.d.ts +5 -5
  66. package/cjs/resources/CustomerSessions.d.ts +40 -0
  67. package/cjs/resources/Customers.d.ts +11 -11
  68. package/cjs/resources/Files.d.ts +1 -1
  69. package/cjs/resources/FinancialConnections/Sessions.d.ts +5 -1
  70. package/cjs/resources/InvoiceItems.d.ts +11 -6
  71. package/cjs/resources/InvoiceItems.js.map +1 -1
  72. package/cjs/resources/InvoiceLineItems.d.ts +1 -1
  73. package/cjs/resources/InvoicePayments.d.ts +1 -1
  74. package/cjs/resources/InvoiceRenderingTemplates.d.ts +3 -3
  75. package/cjs/resources/Invoices.d.ts +63 -45
  76. package/cjs/resources/Issuing/Cardholders.d.ts +21 -21
  77. package/cjs/resources/Issuing/Cards.d.ts +15 -15
  78. package/cjs/resources/Mandates.d.ts +2 -2
  79. package/cjs/resources/PaymentAttemptRecords.d.ts +13 -17
  80. package/cjs/resources/PaymentIntents.d.ts +50 -50
  81. package/cjs/resources/PaymentLinks.d.ts +38 -9
  82. package/cjs/resources/PaymentMethods.d.ts +11 -11
  83. package/cjs/resources/PaymentRecords.d.ts +13 -17
  84. package/cjs/resources/Payouts.d.ts +3 -3
  85. package/cjs/resources/Plans.d.ts +5 -5
  86. package/cjs/resources/Prices.d.ts +15 -15
  87. package/cjs/resources/Products.d.ts +7 -7
  88. package/cjs/resources/Products.js.map +1 -1
  89. package/cjs/resources/Quotes.d.ts +10 -10
  90. package/cjs/resources/Radar/PaymentEvaluations.d.ts +1 -1
  91. package/cjs/resources/Radar/ValueLists.d.ts +2 -2
  92. package/cjs/resources/Refunds.d.ts +2 -2
  93. package/cjs/resources/Reporting/ReportRuns.d.ts +3 -3
  94. package/cjs/resources/Reviews.d.ts +2 -2
  95. package/cjs/resources/SetupAttempts.d.ts +8 -8
  96. package/cjs/resources/SetupIntents.d.ts +46 -46
  97. package/cjs/resources/ShippingRates.d.ts +6 -6
  98. package/cjs/resources/SourceTransactions.d.ts +2 -1
  99. package/cjs/resources/Sources.d.ts +15 -15
  100. package/cjs/resources/SubscriptionItems.d.ts +8 -8
  101. package/cjs/resources/SubscriptionSchedules.d.ts +23 -23
  102. package/cjs/resources/Subscriptions.d.ts +69 -38
  103. package/cjs/resources/Subscriptions.js +1 -1
  104. package/cjs/resources/Subscriptions.js.map +1 -1
  105. package/cjs/resources/Tax/CalculationLineItems.d.ts +2 -2
  106. package/cjs/resources/Tax/Calculations.d.ts +6 -6
  107. package/cjs/resources/Tax/Registrations.d.ts +623 -2
  108. package/cjs/resources/Tax/Settings.d.ts +2 -2
  109. package/cjs/resources/Tax/Transactions.d.ts +3 -3
  110. package/cjs/resources/TaxIds.d.ts +3 -3
  111. package/cjs/resources/TaxRates.d.ts +1 -1
  112. package/cjs/resources/Terminal/Readers.d.ts +5 -5
  113. package/cjs/resources/TestHelpers/ConfirmationTokens.d.ts +4 -4
  114. package/cjs/resources/TestHelpers/Issuing/Authorizations.d.ts +13 -13
  115. package/cjs/resources/TestHelpers/Issuing/Transactions.d.ts +11 -11
  116. package/cjs/resources/Tokens.d.ts +8 -2
  117. package/cjs/resources/Topups.d.ts +4 -4
  118. package/cjs/resources/Topups.js.map +1 -1
  119. package/cjs/resources/Transfers.d.ts +2 -2
  120. package/cjs/resources/Transfers.js.map +1 -1
  121. package/cjs/resources/V2/Core/Accounts.d.ts +2 -2
  122. package/cjs/resources/WebhookEndpoints.d.ts +4 -4
  123. package/cjs/resources/WebhookEndpoints.js.map +1 -1
  124. package/cjs/resources.js +2 -0
  125. package/cjs/resources.js.map +1 -1
  126. package/cjs/stripe.cjs.extensibility.d.ts +8 -0
  127. package/cjs/stripe.cjs.extensibility.js +31 -0
  128. package/cjs/stripe.cjs.extensibility.js.map +1 -0
  129. package/cjs/stripe.cjs.node.d.ts +253 -0
  130. package/cjs/stripe.cjs.node.js.map +1 -1
  131. package/cjs/stripe.core.d.ts +42 -3
  132. package/cjs/stripe.core.js +87 -59
  133. package/cjs/stripe.core.js.map +1 -1
  134. package/cjs/utils.d.ts +5 -0
  135. package/cjs/utils.js +31 -1
  136. package/cjs/utils.js.map +1 -1
  137. package/esm/RequestSender.d.ts +5 -3
  138. package/esm/RequestSender.js +45 -15
  139. package/esm/RequestSender.js.map +1 -1
  140. package/esm/StripeEventEmitter.d.ts +18 -0
  141. package/esm/StripeEventEmitter.js +59 -0
  142. package/esm/StripeEventEmitter.js.map +1 -0
  143. package/esm/StripeEventNotificationHandler.d.ts +59 -0
  144. package/esm/StripeEventNotificationHandler.js +144 -0
  145. package/esm/StripeEventNotificationHandler.js.map +1 -0
  146. package/esm/Types.d.ts +4 -0
  147. package/esm/V2Coercion.js +70 -22
  148. package/esm/V2Coercion.js.map +1 -1
  149. package/esm/Webhooks.d.ts +43 -3
  150. package/esm/Webhooks.js +25 -29
  151. package/esm/Webhooks.js.map +1 -1
  152. package/esm/apiVersion.d.ts +1 -1
  153. package/esm/apiVersion.js +1 -1
  154. package/esm/net/EndpointFetchHttpClient.d.ts +21 -0
  155. package/esm/net/EndpointFetchHttpClient.js +78 -0
  156. package/esm/net/EndpointFetchHttpClient.js.map +1 -0
  157. package/esm/net/FetchHttpClient.d.ts +14 -1
  158. package/esm/net/FetchHttpClient.js +76 -34
  159. package/esm/net/FetchHttpClient.js.map +1 -1
  160. package/esm/net/HttpClient.d.ts +21 -0
  161. package/esm/net/HttpClient.js +34 -0
  162. package/esm/net/HttpClient.js.map +1 -1
  163. package/esm/net/NodeHttpClient.js +41 -7
  164. package/esm/net/NodeHttpClient.js.map +1 -1
  165. package/esm/platform/ExtensibilityPlatformFunctions.d.ts +34 -0
  166. package/esm/platform/ExtensibilityPlatformFunctions.js +60 -0
  167. package/esm/platform/ExtensibilityPlatformFunctions.js.map +1 -0
  168. package/esm/platform/NodePlatformFunctions.d.ts +2 -0
  169. package/esm/platform/NodePlatformFunctions.js +4 -0
  170. package/esm/platform/NodePlatformFunctions.js.map +1 -1
  171. package/esm/platform/PlatformFunctions.d.ts +20 -5
  172. package/esm/platform/PlatformFunctions.js +16 -0
  173. package/esm/platform/PlatformFunctions.js.map +1 -1
  174. package/esm/resources/AccountLinks.d.ts +3 -3
  175. package/esm/resources/AccountSessions.d.ts +38 -0
  176. package/esm/resources/Accounts.d.ts +90 -78
  177. package/esm/resources/BalanceTransactions.d.ts +1 -1
  178. package/esm/resources/BankAccounts.d.ts +2 -2
  179. package/esm/resources/Billing/FeedbackOptions.d.ts +106 -0
  180. package/esm/resources/Billing/FeedbackOptions.js +37 -0
  181. package/esm/resources/Billing/FeedbackOptions.js.map +1 -0
  182. package/esm/resources/Billing/index.d.ts +21 -12
  183. package/esm/resources/Billing/index.js +2 -0
  184. package/esm/resources/Billing/index.js.map +1 -1
  185. package/esm/resources/BillingPortal/Configurations.d.ts +22 -9
  186. package/esm/resources/BillingPortal/Configurations.js.map +1 -1
  187. package/esm/resources/BillingPortal/Sessions.d.ts +8 -2
  188. package/esm/resources/Cards.d.ts +1 -1
  189. package/esm/resources/CashBalances.d.ts +2 -1
  190. package/esm/resources/Charges.d.ts +24 -16
  191. package/esm/resources/Checkout/Sessions.d.ts +48 -47
  192. package/esm/resources/Climate/Orders.d.ts +1 -1
  193. package/esm/resources/Climate/Products.d.ts +1 -1
  194. package/esm/resources/ConfirmationTokens.d.ts +12 -8
  195. package/esm/resources/CreditNoteLineItems.d.ts +2 -2
  196. package/esm/resources/CreditNotes.d.ts +5 -5
  197. package/esm/resources/CustomerSessions.d.ts +40 -0
  198. package/esm/resources/Customers.d.ts +11 -11
  199. package/esm/resources/Files.d.ts +1 -1
  200. package/esm/resources/FinancialConnections/Sessions.d.ts +5 -1
  201. package/esm/resources/InvoiceItems.d.ts +11 -6
  202. package/esm/resources/InvoiceItems.js.map +1 -1
  203. package/esm/resources/InvoiceLineItems.d.ts +1 -1
  204. package/esm/resources/InvoicePayments.d.ts +1 -1
  205. package/esm/resources/InvoiceRenderingTemplates.d.ts +3 -3
  206. package/esm/resources/Invoices.d.ts +63 -45
  207. package/esm/resources/Issuing/Cardholders.d.ts +21 -21
  208. package/esm/resources/Issuing/Cards.d.ts +15 -15
  209. package/esm/resources/Mandates.d.ts +2 -2
  210. package/esm/resources/PaymentAttemptRecords.d.ts +13 -17
  211. package/esm/resources/PaymentIntents.d.ts +50 -50
  212. package/esm/resources/PaymentLinks.d.ts +38 -9
  213. package/esm/resources/PaymentMethods.d.ts +11 -11
  214. package/esm/resources/PaymentRecords.d.ts +13 -17
  215. package/esm/resources/Payouts.d.ts +3 -3
  216. package/esm/resources/Plans.d.ts +5 -5
  217. package/esm/resources/Prices.d.ts +15 -15
  218. package/esm/resources/Products.d.ts +7 -7
  219. package/esm/resources/Products.js.map +1 -1
  220. package/esm/resources/Quotes.d.ts +10 -10
  221. package/esm/resources/Radar/PaymentEvaluations.d.ts +1 -1
  222. package/esm/resources/Radar/ValueLists.d.ts +2 -2
  223. package/esm/resources/Refunds.d.ts +2 -2
  224. package/esm/resources/Reporting/ReportRuns.d.ts +3 -3
  225. package/esm/resources/Reviews.d.ts +2 -2
  226. package/esm/resources/SetupAttempts.d.ts +8 -8
  227. package/esm/resources/SetupIntents.d.ts +46 -46
  228. package/esm/resources/ShippingRates.d.ts +6 -6
  229. package/esm/resources/SourceTransactions.d.ts +2 -1
  230. package/esm/resources/Sources.d.ts +15 -15
  231. package/esm/resources/SubscriptionItems.d.ts +8 -8
  232. package/esm/resources/SubscriptionSchedules.d.ts +23 -23
  233. package/esm/resources/Subscriptions.d.ts +69 -38
  234. package/esm/resources/Subscriptions.js +1 -1
  235. package/esm/resources/Subscriptions.js.map +1 -1
  236. package/esm/resources/Tax/CalculationLineItems.d.ts +2 -2
  237. package/esm/resources/Tax/Calculations.d.ts +6 -6
  238. package/esm/resources/Tax/Registrations.d.ts +623 -2
  239. package/esm/resources/Tax/Settings.d.ts +2 -2
  240. package/esm/resources/Tax/Transactions.d.ts +3 -3
  241. package/esm/resources/TaxIds.d.ts +3 -3
  242. package/esm/resources/TaxRates.d.ts +1 -1
  243. package/esm/resources/Terminal/Readers.d.ts +5 -5
  244. package/esm/resources/TestHelpers/ConfirmationTokens.d.ts +4 -4
  245. package/esm/resources/TestHelpers/Issuing/Authorizations.d.ts +13 -13
  246. package/esm/resources/TestHelpers/Issuing/Transactions.d.ts +11 -11
  247. package/esm/resources/Tokens.d.ts +8 -2
  248. package/esm/resources/Topups.d.ts +4 -4
  249. package/esm/resources/Topups.js.map +1 -1
  250. package/esm/resources/Transfers.d.ts +2 -2
  251. package/esm/resources/Transfers.js.map +1 -1
  252. package/esm/resources/V2/Core/Accounts.d.ts +2 -2
  253. package/esm/resources/WebhookEndpoints.d.ts +4 -4
  254. package/esm/resources/WebhookEndpoints.js.map +1 -1
  255. package/esm/resources.js +2 -0
  256. package/esm/resources.js.map +1 -1
  257. package/esm/stripe.core.d.ts +42 -3
  258. package/esm/stripe.core.js +89 -61
  259. package/esm/stripe.core.js.map +1 -1
  260. package/esm/stripe.esm.extensibility.d.ts +9 -0
  261. package/esm/stripe.esm.extensibility.js +9 -0
  262. package/esm/stripe.esm.extensibility.js.map +1 -0
  263. package/esm/stripe.esm.node.d.ts +32 -3
  264. package/esm/stripe.esm.node.js +84 -50
  265. package/esm/stripe.esm.node.js.map +1 -1
  266. package/esm/utils.d.ts +5 -0
  267. package/esm/utils.js +28 -0
  268. package/esm/utils.js.map +1 -1
  269. package/package.json +7 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,58 @@
1
1
  # Changelog
2
2
 
3
+ ## 22.6.0 - 2026-08-26
4
+ This release changes the pinned API version to 2026-08-26.dahlia.
5
+
6
+ * [#2801](https://github.com/stripe/stripe-node/pull/2801) Add discriminatedUnion kind to V2RuntimeSchema coercion
7
+
8
+ - Adds runtime support for coercing int64/decimal fields within discriminated union variants in V2 API requests and responses.
9
+ - ⚠️ Throws when serializing a discriminated union parameter whose discriminator is missing or is not a string. This avoids skipping coercion entirely which could silently truncate `int64` fields above `Number.MAX_SAFE_INTEGER`.
10
+ * [#2818](https://github.com/stripe/stripe-node/pull/2818) Add new `EventNotificationHandler` class for better thin event management
11
+
12
+ - We've been putting a lot of time into rethinking the event handling experience in the SDKs. This new class is the culmination [of that effort](https://stripe.dev/blog/event-notification-handlers-thin-events).
13
+ - They're designed for a tight coupling with both `StripeClient` and the fully-typed nature of [thin events](https://docs.stripe.com/event-destinations#thin-events). This delivers painless event destination upgrades, in-editor checks for common mistakes, and better code modularity.
14
+ - Now that we've released [thin event notifications for v1 objects](https://docs.stripe.com/changelog#2026-08-26.dahlia), these new handlers are our recommended path for all integrations using thin event notifications.
15
+ - See more detailed docs here: https://docs.stripe.com/webhooks/event-notification-handlers
16
+ * [#2815](https://github.com/stripe/stripe-node/pull/2815) correctly throw connection errors if the server drops while sending the HTTP response body
17
+
18
+ - This change results in new exceptions being thrown instead of hanging indefinitely
19
+ - in an effort to make this change backwards compatible, it doesn't affect a case that was already throwing an error: if the stripe API sends invalid JSON, we were treating it as an API error instead of a connection error.
20
+ - In the next major version, we'll change the exception thrown from `StripeAPIError` to `StripeConnectionError` and document it accordingly.
21
+ * [#2812](https://github.com/stripe/stripe-node/pull/2812) Update generated code
22
+ * Add support for new resource `Billing.FeedbackOption`
23
+ * Add support for `create`, `deactivate`, `list`, `retrieve`, and `update` methods on resource `Billing.FeedbackOption`
24
+ * Add support for `payment_method_settings` on `AccountSession.components` and `AccountSessionCreateParams.components`
25
+ * Add support for `feedback_options` on `BillingPortal.Configuration.features.subscription_cancel.cancellation_reason`, `BillingPortal.ConfigurationCreateParams.features.subscription_cancel.cancellation_reason`, and `BillingPortal.ConfigurationUpdateParams.features.subscription_cancel.cancellation_reason`
26
+ * Add support for new value `customer_update` on enums `BillingPortal.Session.flow.type` and `BillingPortal.SessionCreateParams.flow_data.type`
27
+ * Add support for `customer_update` on `BillingPortal.Session.flow`
28
+ * Add support for `funding_source_group` on `Charge.payment_method_details.card.wallet.link` and `Charge.payment_method_details.link`
29
+ * Add support for `funding_types_blocked` on `Checkout.Session.payment_method_options.card.restrictions` and `Checkout.SessionCreateParams.payment_method_options.card.restrictions`
30
+ * Add support for `metadata` on `ConfirmationToken`
31
+ * Add support for `active_entitlements` and `customer_portal` on `CustomerSession.components` and `CustomerSessionCreateParams.components`
32
+ * Add support for `country` on `FinancialConnections.Session.filters`
33
+ * Add support for `frozen_fields` on `InvoiceItem`
34
+ * Add support for `billie` on `Invoice.payment_settings.payment_method_options`, `InvoiceCreateParams.payment_settings.payment_method_options`, `InvoiceUpdateParams.payment_settings.payment_method_options`, `Subscription.payment_settings.payment_method_options`, `SubscriptionCreateParams.payment_settings.payment_method_options`, and `SubscriptionUpdateParams.payment_settings.payment_method_options`
35
+ * Add support for new value `billie` on enums `Invoice.payment_settings.payment_method_types`, `InvoiceCreateParams.payment_settings.payment_method_types`, `InvoiceUpdateParams.payment_settings.payment_method_types`, `Subscription.payment_settings.payment_method_types`, `SubscriptionCreateParams.payment_settings.payment_method_types`, and `SubscriptionUpdateParams.payment_settings.payment_method_types`
36
+ * ⚠️ Remove support for `cryptogram` on `PaymentAttemptRecord.payment_method_details.card.three_d_secure` and `PaymentRecord.payment_method_details.card.three_d_secure`
37
+ * Add support for new value `touch_n_go` on enums `PaymentIntent.allowed_payment_method_types`, `PaymentIntentConfirmParams.allowed_payment_method_types`, `PaymentIntentCreateParams.allowed_payment_method_types`, `PaymentIntentUpdateParams.allowed_payment_method_types`, `SetupIntent.allowed_payment_method_types`, `SetupIntentConfirmParams.allowed_payment_method_types`, `SetupIntentCreateParams.allowed_payment_method_types`, and `SetupIntentUpdateParams.allowed_payment_method_types`
38
+ * Change `PaymentIntent.allowed_payment_method_types` and `SetupIntent.allowed_payment_method_types` to be required
39
+ * Add support for `application_fee_amount`, `application_fee_percent`, `on_behalf_of`, and `transfer_data` on `PaymentLinkUpdateParams`
40
+ * Add support for `feedback_option` on `Subscription.cancellation_details`, `SubscriptionCancelParams.cancellation_details`, and `SubscriptionUpdateParams.cancellation_details`
41
+ * Add support for `igic` on `Tax.Registration.country_options.at`, `Tax.Registration.country_options.be`, `Tax.Registration.country_options.bg`, `Tax.Registration.country_options.cy`, `Tax.Registration.country_options.cz`, `Tax.Registration.country_options.de`, `Tax.Registration.country_options.dk`, `Tax.Registration.country_options.ee`, `Tax.Registration.country_options.es`, `Tax.Registration.country_options.fi`, `Tax.Registration.country_options.fr`, `Tax.Registration.country_options.gr`, `Tax.Registration.country_options.hr`, `Tax.Registration.country_options.hu`, `Tax.Registration.country_options.ie`, `Tax.Registration.country_options.it`, `Tax.Registration.country_options.lt`, `Tax.Registration.country_options.lu`, `Tax.Registration.country_options.lv`, `Tax.Registration.country_options.mt`, `Tax.Registration.country_options.nl`, `Tax.Registration.country_options.pl`, `Tax.Registration.country_options.pt`, `Tax.Registration.country_options.ro`, `Tax.Registration.country_options.se`, `Tax.Registration.country_options.si`, `Tax.Registration.country_options.sk`, `Tax.RegistrationCreateParams.country_options.at`, `Tax.RegistrationCreateParams.country_options.be`, `Tax.RegistrationCreateParams.country_options.bg`, `Tax.RegistrationCreateParams.country_options.cy`, `Tax.RegistrationCreateParams.country_options.cz`, `Tax.RegistrationCreateParams.country_options.de`, `Tax.RegistrationCreateParams.country_options.dk`, `Tax.RegistrationCreateParams.country_options.ee`, `Tax.RegistrationCreateParams.country_options.es`, `Tax.RegistrationCreateParams.country_options.fi`, `Tax.RegistrationCreateParams.country_options.fr`, `Tax.RegistrationCreateParams.country_options.gr`, `Tax.RegistrationCreateParams.country_options.hr`, `Tax.RegistrationCreateParams.country_options.hu`, `Tax.RegistrationCreateParams.country_options.ie`, `Tax.RegistrationCreateParams.country_options.it`, `Tax.RegistrationCreateParams.country_options.lt`, `Tax.RegistrationCreateParams.country_options.lu`, `Tax.RegistrationCreateParams.country_options.lv`, `Tax.RegistrationCreateParams.country_options.mt`, `Tax.RegistrationCreateParams.country_options.nl`, `Tax.RegistrationCreateParams.country_options.pl`, `Tax.RegistrationCreateParams.country_options.pt`, `Tax.RegistrationCreateParams.country_options.ro`, `Tax.RegistrationCreateParams.country_options.se`, `Tax.RegistrationCreateParams.country_options.si`, and `Tax.RegistrationCreateParams.country_options.sk`
42
+ * Add support for new value `2026-08-26.dahlia` on enum `WebhookEndpointCreateParams.api_version`
43
+ * Add support for error codes `authentication_failure`, `capability_not_active`, `expired_payment_method`, `incorrect_postal_code`, `invalid_canceled_subscription_fields`, and `payment_method_restricted` on `Invoice.last_finalization_error`, `PaymentIntent.last_payment_error`, `SetupAttempt.setup_error`, `SetupIntent.last_setup_error`, `StripeError`, and `Terminal.Reader.action.api_error`
44
+
45
+ ## 22.5.0 - 2026-08-10
46
+ * [#2805](https://github.com/stripe/stripe-node/pull/2805) Emit Claude Code plugin hint at module load time
47
+ - Emits new Claude Code plugin hint when `CLAUDECODE` or `CLAUDE_CODE_CHILD_SESSION` environment variables are detected.
48
+ * [#2794](https://github.com/stripe/stripe-node/pull/2794) add/adjust event parsing helpers
49
+
50
+ - Added methods that return their respective `Event`/`EventNotification` objects without verifying authenticity. Use them when you've previously verified an event (e.g. you verified, put the event in a queue, and are now processing). Supports events from [AWS EventBridge](https://docs.stripe.com/event-destinations/eventbridge) and [Azure Event Grid](https://docs.stripe.com/event-destinations/eventgrid) natively.
51
+ - `stripe.webhooks.constructEventWithoutVerification(payload)`
52
+ - `stripe.constructEventWithoutVerification(payload)`
53
+ - `stripe.parseEventNotificationWithoutVerification(payload)`
54
+ * [#2799](https://github.com/stripe/stripe-node/pull/2799) Add `stripe.major_api_version` constant
55
+
3
56
  ## 22.4.0 - 2026-07-29
4
57
  This release changes the pinned API version to 2026-07-29.dahlia.
5
58
 
@@ -49,7 +102,7 @@ This release changes the pinned API version to 2026-07-29.dahlia.
49
102
  * Add support for snapshot events `FinancialConnectionsAccountExpectedDeactivationDateUpdatedEvent`, `FinancialConnectionsAccountSupportedPaymentMethodTypesUpdatedEvent`, and `FinancialConnectionsAccountUpcomingDeactivationEvent` with resource `FinancialConnections.Account`
50
103
  * Add support for snapshot events `FinancialConnectionsAuthorizationExpectedDeactivationDateUpdatedEvent` and `FinancialConnectionsAuthorizationUpcomingDeactivationEvent` with resource `FinancialConnections.Authorization`
51
104
  * [#2790](https://github.com/stripe/stripe-node/pull/2790) Bump brace-expansion from 1.1.11 to 1.1.16
52
- * [#2786](https://github.com/stripe/stripe-node/pull/2786) Adds shared OtherString type to better annotate non-exhaustive enums
105
+ * [#2786](https://github.com/stripe/stripe-node/pull/2786) Enum type annotations for non-exhaustive ("open") enums now include a shared `OtherString` type in their unions. Many Stripe enums are open, meaning new values may appear even on older API versions. This change ensures these fields have the correct type for both the values known at SDK release time and other values that may be added later. Refer to the [API Reference](https://docs.stripe.com) for the latest set of allowed values.
53
106
 
54
107
  ## 22.3.2 - 2026-07-15
55
108
  * [#2784](https://github.com/stripe/stripe-node/pull/2784) Replace source hash with Telemetry UUID
package/OPENAPI_VERSION CHANGED
@@ -1 +1 @@
1
- v2349
1
+ v2442
package/README.md CHANGED
@@ -13,8 +13,8 @@ npm install @depup/stripe
13
13
 
14
14
  | Field | Value |
15
15
  |-------|-------|
16
- | Original | [stripe](https://www.npmjs.com/package/stripe) @ 22.4.0 |
17
- | Processed | 2026-08-02 |
16
+ | Original | [stripe](https://www.npmjs.com/package/stripe) @ 22.6.0 |
17
+ | Processed | 2026-08-30 |
18
18
  | Smoke test | passed |
19
19
  | Deps updated | 0 |
20
20
 
package/VERSION CHANGED
@@ -1 +1 @@
1
- 22.4.0
1
+ 22.6.0
package/changes.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "bumped": {},
3
- "timestamp": "2026-08-02T00:58:43.638Z",
3
+ "timestamp": "2026-08-30T00:59:11.471Z",
4
4
  "totalUpdated": 0
5
5
  }
@@ -1,6 +1,7 @@
1
+ import { StripeConnectionError } from './Error.js';
1
2
  import { RequestHeaders, RequestEvent, ResponseEvent, RequestCallback, RequestCallbackReturn, RequestData, RequestDataProcessor, InternalRequestOptions, RequestSettings, RequestAuthenticator, ApiMode } from './Types.js';
2
3
  import { RawRequestOptions } from './lib.js';
3
- import { HttpClientResponseInterface } from './net/HttpClient.js';
4
+ import { HttpClientResponseBodyError, HttpClientResponseInterface } from './net/HttpClient.js';
4
5
  import { Stripe } from './stripe.core.js';
5
6
  export type HttpClientResponseError = {
6
7
  code: string;
@@ -30,12 +31,13 @@ export declare class RequestSender {
30
31
  * parses the JSON and returns it (i.e. passes it to the callback) if there
31
32
  * is no "error" field. Otherwise constructs/passes an appropriate Error.
32
33
  */
33
- _jsonResponseHandler(requestEvent: RequestEvent, apiMode: 'v1' | 'v2', usage: Array<string>, callback: RequestCallback): (res: HttpClientResponseInterface) => void;
34
+ _jsonResponseHandler(requestEvent: RequestEvent, apiMode: 'v1' | 'v2', usage: Array<string>, timeout: number, requestRetries: number, callback: RequestCallback): (res: HttpClientResponseInterface) => void;
34
35
  static _generateConnectionErrorMessage(requestRetries: number): string;
36
+ static _generateConnectionError(error: HttpClientResponseError | HttpClientResponseBodyError, timeout: number, requestRetries: number, requestId?: string): StripeConnectionError;
35
37
  static _shouldRetry(res: null | HttpClientResponseInterface, numRetries: number, maxRetries: number, error?: HttpClientResponseError): boolean;
36
38
  _getSleepTimeInMS(numRetries: number): number;
37
39
  _getMaxNetworkRetries(settings?: RequestSettings): number;
38
- _defaultIdempotencyKey(method: string, settings: RequestSettings, apiMode: ApiMode): string | null;
40
+ _defaultIdempotencyKey(method: string, apiMode: ApiMode): string | null;
39
41
  _makeHeaders({ contentType, contentLength, apiVersion, clientUserAgent, method, userSuppliedHeaders, userSuppliedSettings, stripeAccount, stripeContext, apiMode, }: {
40
42
  contentType: string;
41
43
  contentLength: number;
@@ -81,7 +81,7 @@ class RequestSender {
81
81
  * parses the JSON and returns it (i.e. passes it to the callback) if there
82
82
  * is no "error" field. Otherwise constructs/passes an appropriate Error.
83
83
  */
84
- _jsonResponseHandler(requestEvent, apiMode, usage, callback) {
84
+ _jsonResponseHandler(requestEvent, apiMode, usage, timeout, requestRetries, callback) {
85
85
  return (res) => {
86
86
  const headers = res.getHeaders();
87
87
  this._emitStripeNotice(headers);
@@ -123,6 +123,18 @@ class RequestSender {
123
123
  e.rawBody) {
124
124
  responseEvent.body = e.rawBody;
125
125
  }
126
+ // A body we could not read to completion is a transport failure,
127
+ // not a malformed payload. Only a timeout is reported as such for
128
+ // now: a connection severed mid-body already surfaced here as a
129
+ // StripeAPIError on the fetch client, so reclassifying it would
130
+ // break anyone catching it. A timeout, by contrast, never got this
131
+ // far -- it hung -- so there is no behavior to preserve.
132
+ // TODO(DEVSDK-3247): report every HttpClientResponseBodyError as a
133
+ // StripeConnectionError, since none of them are parse failures.
134
+ if (e instanceof HttpClient_js_1.HttpClientResponseBodyError &&
135
+ e.code === HttpClient_js_1.HttpClient.TIMEOUT_ERROR_CODE) {
136
+ throw RequestSender._generateConnectionError(e, timeout, requestRetries, requestId);
137
+ }
126
138
  throw new Error_js_1.StripeAPIError({
127
139
  message: 'Invalid JSON received from the Stripe API',
128
140
  exception: e,
@@ -150,8 +162,27 @@ class RequestSender {
150
162
  static _generateConnectionErrorMessage(requestRetries) {
151
163
  return `An error occurred with our connection to Stripe.${requestRetries > 0 ? ` Request was retried ${requestRetries} times.` : ''}`;
152
164
  }
165
+ static _generateConnectionError(error, timeout, requestRetries,
166
+ // Only available when the failure happened after the headers arrived.
167
+ requestId) {
168
+ const isTimeoutError = !!error.code && error.code === HttpClient_js_1.HttpClient.TIMEOUT_ERROR_CODE;
169
+ return new Error_js_1.StripeConnectionError({
170
+ message: isTimeoutError
171
+ ? `Request aborted due to timeout being reached (${timeout}ms)`
172
+ : RequestSender._generateConnectionErrorMessage(requestRetries),
173
+ detail: error,
174
+ requestId,
175
+ });
176
+ }
153
177
  // For more on when and how to retry API requests, see https://stripe.com/docs/error-handling#safely-retrying-requests-with-idempotency
154
178
  static _shouldRetry(res, numRetries, maxRetries, error) {
179
+ // A closed connection is retried once even when retries are disabled,
180
+ // since it usually means the request never reached the API (e.g. a stale
181
+ // keep-alive socket held across a frozen Lambda context). See https://github.com/stripe/stripe-node/issues/1040.
182
+ //
183
+ // This intentionally precedes the maxRetries check. Note that these codes
184
+ // can also surface after the API processed the request, so this retry is
185
+ // not guaranteed to be a no-op.
155
186
  if (error &&
156
187
  numRetries === 0 &&
157
188
  HttpClient_js_1.HttpClient.CONNECTION_CLOSED_ERROR_CODES.includes(error.code)) {
@@ -208,9 +239,7 @@ class RequestSender {
208
239
  ? settings.maxNetworkRetries
209
240
  : this._stripe.getMaxNetworkRetries();
210
241
  }
211
- _defaultIdempotencyKey(method, settings, apiMode) {
212
- // If this is a POST and we allow multiple retries, ensure an idempotency key.
213
- const maxRetries = this._getMaxNetworkRetries(settings);
242
+ _defaultIdempotencyKey(method, apiMode) {
214
243
  const genKey = () => `stripe-node-retry-${this._stripe._platformFunctions.uuid4()}`;
215
244
  // more verbose than it needs to be, but gives clear separation between V1 and V2 behavior
216
245
  if (apiMode === 'v2') {
@@ -219,7 +248,11 @@ class RequestSender {
219
248
  }
220
249
  }
221
250
  else if (apiMode === 'v1') {
222
- if (method === 'POST' && maxRetries > 0) {
251
+ // Key every POST, including when maxNetworkRetries is 0. Closed-connection
252
+ // errors are retried regardless of that setting (see _shouldRetry), and
253
+ // those codes can surface after the API processed the request, so the
254
+ // retry needs a key to dedupe against.
255
+ if (method === 'POST') {
223
256
  return genKey();
224
257
  }
225
258
  }
@@ -235,7 +268,7 @@ class RequestSender {
235
268
  'Stripe-Version': apiVersion,
236
269
  'Stripe-Account': stripeAccount,
237
270
  'Stripe-Context': stripeContext,
238
- 'Idempotency-Key': this._defaultIdempotencyKey(method, userSuppliedSettings, apiMode),
271
+ 'Idempotency-Key': this._defaultIdempotencyKey(method, apiMode),
239
272
  };
240
273
  // As per https://datatracker.ietf.org/doc/html/rfc7230#section-3.3.2:
241
274
  // A user agent SHOULD send a Content-Length in a request message when
@@ -407,21 +440,18 @@ class RequestSender {
407
440
  return this._streamingResponseHandler(requestEvent, usage, callback)(res);
408
441
  }
409
442
  else {
410
- return this._jsonResponseHandler(requestEvent, apiMode, usage, callback)(res);
443
+ return this._jsonResponseHandler(requestEvent, apiMode, usage, timeout, requestRetries, callback)(res);
411
444
  }
412
445
  })
413
446
  .catch((error) => {
447
+ if (error instanceof HttpClient_js_1.HttpClientRuntimeError) {
448
+ return callback(error);
449
+ }
414
450
  if (RequestSender._shouldRetry(null, requestRetries, maxRetries, error)) {
415
451
  return retryRequest(makeRequest, apiVersion, headers, requestRetries);
416
452
  }
417
453
  else {
418
- const isTimeoutError = error.code && error.code === HttpClient_js_1.HttpClient.TIMEOUT_ERROR_CODE;
419
- return callback(new Error_js_1.StripeConnectionError({
420
- message: isTimeoutError
421
- ? `Request aborted due to timeout being reached (${timeout}ms)`
422
- : RequestSender._generateConnectionErrorMessage(requestRetries),
423
- detail: error,
424
- }));
454
+ return callback(RequestSender._generateConnectionError(error, timeout, requestRetries));
425
455
  }
426
456
  });
427
457
  })
@@ -1 +1 @@
1
- {"version":3,"file":"RequestSender.js","sourceRoot":"","sources":["../src/RequestSender.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RequestSender.js","sourceRoot":"","sources":["../src/RequestSender.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { RequestEvent, ResponseEvent } from './Types.js';
2
+ type Listener = (...args: any[]) => any;
3
+ /**
4
+ * @private
5
+ * (For internal use in stripe-node.)
6
+ * Minimal EventEmitter for runtimes without Event or EventTarget.
7
+ */
8
+ export declare class StripeEventEmitter {
9
+ private _listeners;
10
+ constructor();
11
+ on(eventName: string, listener: Listener): void;
12
+ once(eventName: string, listener: Listener): void;
13
+ removeListener(eventName: string, listener: Listener): void;
14
+ emit(eventName: string, data?: RequestEvent | ResponseEvent): boolean;
15
+ private _getListeners;
16
+ private _removeAt;
17
+ }
18
+ export {};
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StripeEventEmitter = void 0;
4
+ /**
5
+ * @private
6
+ * (For internal use in stripe-node.)
7
+ * Minimal EventEmitter for runtimes without Event or EventTarget.
8
+ */
9
+ class StripeEventEmitter {
10
+ constructor() {
11
+ this._listeners = new Map();
12
+ }
13
+ on(eventName, listener) {
14
+ this._getListeners(eventName).push({ listener, once: false });
15
+ }
16
+ once(eventName, listener) {
17
+ this._getListeners(eventName).push({ listener, once: true });
18
+ }
19
+ removeListener(eventName, listener) {
20
+ const listeners = this._listeners.get(eventName);
21
+ if (!listeners) {
22
+ return;
23
+ }
24
+ const index = listeners.findIndex((entry) => entry.listener === listener);
25
+ if (index === -1) {
26
+ return;
27
+ }
28
+ this._removeAt(eventName, index);
29
+ }
30
+ emit(eventName, data) {
31
+ const listeners = this._listeners.get(eventName);
32
+ if (!listeners || listeners.length === 0) {
33
+ return false;
34
+ }
35
+ for (const entry of [...listeners]) {
36
+ if (entry.once) {
37
+ this._removeAt(eventName, listeners.indexOf(entry));
38
+ }
39
+ entry.listener(data);
40
+ }
41
+ return true;
42
+ }
43
+ _getListeners(eventName) {
44
+ let listeners = this._listeners.get(eventName);
45
+ if (!listeners) {
46
+ listeners = [];
47
+ this._listeners.set(eventName, listeners);
48
+ }
49
+ return listeners;
50
+ }
51
+ _removeAt(eventName, index) {
52
+ const listeners = this._listeners.get(eventName);
53
+ if (!listeners || index === -1) {
54
+ return;
55
+ }
56
+ listeners.splice(index, 1);
57
+ if (listeners.length === 0) {
58
+ this._listeners.delete(eventName);
59
+ }
60
+ }
61
+ }
62
+ exports.StripeEventEmitter = StripeEventEmitter;
63
+ //# sourceMappingURL=StripeEventEmitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StripeEventEmitter.js","sourceRoot":"","sources":["../src/StripeEventEmitter.ts"],"names":[],"mappings":";;;AAQA;;;;GAIG;AACH,MAAa,kBAAkB;IAG7B;QACE,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;IAC9B,CAAC;IAED,EAAE,CAAC,SAAiB,EAAE,QAAkB;QACtC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,CAAC,SAAiB,EAAE,QAAkB;QACxC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;IAC7D,CAAC;IAED,cAAc,CAAC,SAAiB,EAAE,QAAkB;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,EAAE;YACd,OAAO;SACR;QAED,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;QAC1E,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAChB,OAAO;SACR;QAED,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,CAAC,SAAiB,EAAE,IAAmC;QACzD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YACxC,OAAO,KAAK,CAAC;SACd;QAED,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,EAAE;YAClC,IAAI,KAAK,CAAC,IAAI,EAAE;gBACd,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;aACrD;YACD,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACtB;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,aAAa,CAAC,SAAiB;QACrC,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS,EAAE;YACd,SAAS,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;SAC3C;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,SAAS,CAAC,SAAiB,EAAE,KAAa;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAC9B,OAAO;SACR;QAED,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC3B,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SACnC;IACH,CAAC;CACF;AAhED,gDAgEC"}
@@ -0,0 +1,59 @@
1
+ import { Stripe } from './stripe.core.js';
2
+ import * as Events from './resources/V2/Core/Events.js';
3
+ import { WebhookHeader, WebhookPayload } from './Webhooks.js';
4
+ export interface UnhandledNotificationDetails {
5
+ isKnownEventType: boolean;
6
+ }
7
+ export type FallbackCallback = (event: Events.UnknownEventNotification, client: Stripe, details: UnhandledNotificationDetails) => Promise<void>;
8
+ export type PreHandleCallback = (event: Stripe.V2.Core.EventNotification, client: Stripe) => Promise<boolean>;
9
+ /**
10
+ * Shared registration and dispatch machinery for the two handlers below.
11
+ *
12
+ * Deliberately does not declare `handle`, and is not exported. TypeScript won't
13
+ * let a subclass add a required parameter to an inherited method, so a verifying
14
+ * handler cannot extend a non-verifying one (or vice versa) without either
15
+ * loosening a signature or suppressing the error. Making them siblings lets each
16
+ * declare its own exact `handle` while sharing everything else.
17
+ */
18
+ declare class BaseEventNotificationHandler {
19
+ protected client: Stripe;
20
+ private fallbackCallback;
21
+ private registeredHandlers;
22
+ private preHandleCallback;
23
+ protected hasHandledEvent: boolean;
24
+ constructor(client: Stripe, fallbackCallback: FallbackCallback);
25
+ on<T extends Stripe.V2.Core.EventNotification['type']>(type: T, callback: (event: Extract<Stripe.V2.Core.EventNotification, {
26
+ type: T;
27
+ }>, client: Stripe) => Promise<void>): this;
28
+ /**
29
+ * Callbacks are expected to be registered once on startup, so registering
30
+ * anything after handling has begun indicates a bug.
31
+ */
32
+ private assertCanRegister;
33
+ /**
34
+ * Registers a function that will be run before any event-specific callbacks. A useful place to store event-agnostic logic, such as logging or checking for [duplicate event deliveries](https://docs.stripe.com/webhooks#handle-duplicate-events).
35
+ *
36
+ * Returning `true` causes handling to continue as normal; returning `false` returns from `.handle()` immediately, so neither the registered callback nor the fallback callback are called.
37
+ */
38
+ preHandle(callback: PreHandleCallback): this;
39
+ registeredEventTypes(): string[];
40
+ protected dispatchEvent(event: Stripe.V2.Core.EventNotification): Promise<void>;
41
+ }
42
+ export declare class StripeEventNotificationHandler extends BaseEventNotificationHandler {
43
+ private webhookSecret;
44
+ constructor(client: Stripe, webhookSecret: string, fallbackCallback: FallbackCallback);
45
+ static withoutVerification(client: Stripe, fallbackCallback: FallbackCallback): StripeEventNotificationHandlerWithoutVerification;
46
+ handle(rawBody: WebhookPayload, signature: WebhookHeader): Promise<void>;
47
+ }
48
+ /**
49
+ * A variant of StripeEventNotificationHandler that parses events without
50
+ * verifying webhook signatures. Intended for pre-authenticated channels
51
+ * like AWS EventBridge or Azure Event Grid.
52
+ *
53
+ * Prefer StripeEventNotificationHandler.withoutVerification() or
54
+ * client.notificationHandlerWithoutVerification() to construct one.
55
+ */
56
+ export declare class StripeEventNotificationHandlerWithoutVerification extends BaseEventNotificationHandler {
57
+ handle(rawBody: WebhookPayload): Promise<void>;
58
+ }
59
+ export {};
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StripeEventNotificationHandlerWithoutVerification = exports.StripeEventNotificationHandler = void 0;
4
+ // most languages can check if we have an UnknownEventNotification at runtime
5
+ // but JS only has interfaces so we fall back to a string match to determine known events
6
+ const KNOWN_EVENT_TYPES = new Set([
7
+ // event-types: The beginning of the section generated from our OpenAPI spec
8
+ 'v1.billing.meter.error_report_triggered',
9
+ 'v1.billing.meter.no_meter_found',
10
+ 'v2.commerce.product_catalog.imports.failed',
11
+ 'v2.commerce.product_catalog.imports.processing',
12
+ 'v2.commerce.product_catalog.imports.succeeded',
13
+ 'v2.commerce.product_catalog.imports.succeeded_with_errors',
14
+ 'v2.core.account.closed',
15
+ 'v2.core.account.created',
16
+ 'v2.core.account.updated',
17
+ 'v2.core.account[configuration.customer].capability_status_updated',
18
+ 'v2.core.account[configuration.customer].updated',
19
+ 'v2.core.account[configuration.merchant].capability_status_updated',
20
+ 'v2.core.account[configuration.merchant].updated',
21
+ 'v2.core.account[configuration.recipient].capability_status_updated',
22
+ 'v2.core.account[configuration.recipient].updated',
23
+ 'v2.core.account[defaults].updated',
24
+ 'v2.core.account[future_requirements].updated',
25
+ 'v2.core.account[identity].updated',
26
+ 'v2.core.account[requirements].updated',
27
+ 'v2.core.account_link.returned',
28
+ 'v2.core.account_person.created',
29
+ 'v2.core.account_person.deleted',
30
+ 'v2.core.account_person.updated',
31
+ 'v2.core.event_destination.ping',
32
+ // event-types: The end of the section generated from our OpenAPI spec
33
+ ]);
34
+ /**
35
+ * Shared registration and dispatch machinery for the two handlers below.
36
+ *
37
+ * Deliberately does not declare `handle`, and is not exported. TypeScript won't
38
+ * let a subclass add a required parameter to an inherited method, so a verifying
39
+ * handler cannot extend a non-verifying one (or vice versa) without either
40
+ * loosening a signature or suppressing the error. Making them siblings lets each
41
+ * declare its own exact `handle` while sharing everything else.
42
+ */
43
+ class BaseEventNotificationHandler {
44
+ // the body is empty but the parameter properties are not, so the lint is ignorable
45
+ // eslint-disable-next-line no-useless-constructor
46
+ constructor(client, fallbackCallback) {
47
+ this.client = client;
48
+ this.fallbackCallback = fallbackCallback;
49
+ this.registeredHandlers = {};
50
+ this.preHandleCallback = null;
51
+ this.hasHandledEvent = false;
52
+ }
53
+ on(type, callback) {
54
+ this.assertCanRegister();
55
+ // the matched types are validated by the type system
56
+ if (this.registeredHandlers[type]) {
57
+ throw new Error(`Callback for event type "${type}" is already registered.`);
58
+ }
59
+ this.registeredHandlers[type] = callback;
60
+ return this;
61
+ }
62
+ /**
63
+ * Callbacks are expected to be registered once on startup, so registering
64
+ * anything after handling has begun indicates a bug.
65
+ */
66
+ assertCanRegister() {
67
+ if (this.hasHandledEvent) {
68
+ throw new Error('Cannot register new callbacks after an event has been handled. This is indicative of a bug.');
69
+ }
70
+ }
71
+ /**
72
+ * Registers a function that will be run before any event-specific callbacks. A useful place to store event-agnostic logic, such as logging or checking for [duplicate event deliveries](https://docs.stripe.com/webhooks#handle-duplicate-events).
73
+ *
74
+ * Returning `true` causes handling to continue as normal; returning `false` returns from `.handle()` immediately, so neither the registered callback nor the fallback callback are called.
75
+ */
76
+ preHandle(callback) {
77
+ this.assertCanRegister();
78
+ if (this.preHandleCallback) {
79
+ throw new Error('A preHandle callback is already registered');
80
+ }
81
+ this.preHandleCallback = callback;
82
+ return this;
83
+ }
84
+ registeredEventTypes() {
85
+ const keys = Object.keys(this.registeredHandlers);
86
+ keys.sort();
87
+ return keys;
88
+ }
89
+ async dispatchEvent(event) {
90
+ // Create a new client with the event's context instead of modifying the shared client
91
+ // This ensures thread-safety when processing webhooks in parallel
92
+ // We create a shallow copy and override _api with a new object containing the event context
93
+ // This reuses expensive resources like httpClient (Flyweight pattern)
94
+ const eventClient = Object.create(Object.getPrototypeOf(this.client));
95
+ Object.assign(eventClient, this.client);
96
+ eventClient._api = {
97
+ ...this.client._api,
98
+ stripeContext: event.context,
99
+ };
100
+ if (this.preHandleCallback &&
101
+ !(await this.preHandleCallback(event, eventClient))) {
102
+ return;
103
+ }
104
+ const handler = this.registeredHandlers[event.type];
105
+ if (handler) {
106
+ return await handler(event, eventClient);
107
+ }
108
+ else {
109
+ return await this.fallbackCallback(event, eventClient, {
110
+ isKnownEventType: KNOWN_EVENT_TYPES.has(event.type),
111
+ });
112
+ }
113
+ }
114
+ }
115
+ class StripeEventNotificationHandler extends BaseEventNotificationHandler {
116
+ constructor(client, webhookSecret, fallbackCallback) {
117
+ super(client, fallbackCallback);
118
+ this.webhookSecret = webhookSecret;
119
+ if (!webhookSecret) {
120
+ throw new Error('webhookSecret must be a non-empty string');
121
+ }
122
+ }
123
+ static withoutVerification(client, fallbackCallback) {
124
+ return new StripeEventNotificationHandlerWithoutVerification(client, fallbackCallback);
125
+ }
126
+ async handle(rawBody, signature) {
127
+ // set before parsing, so that even a failed parse locks out registration.
128
+ // we're not worried about thread safety here because we expect callbacks will be registered synchronously on app startup
129
+ this.hasHandledEvent = true;
130
+ return await this.dispatchEvent(this.client.parseEventNotification(rawBody, signature, this.webhookSecret));
131
+ }
132
+ }
133
+ exports.StripeEventNotificationHandler = StripeEventNotificationHandler;
134
+ /**
135
+ * A variant of StripeEventNotificationHandler that parses events without
136
+ * verifying webhook signatures. Intended for pre-authenticated channels
137
+ * like AWS EventBridge or Azure Event Grid.
138
+ *
139
+ * Prefer StripeEventNotificationHandler.withoutVerification() or
140
+ * client.notificationHandlerWithoutVerification() to construct one.
141
+ */
142
+ class StripeEventNotificationHandlerWithoutVerification extends BaseEventNotificationHandler {
143
+ async handle(rawBody) {
144
+ this.hasHandledEvent = true;
145
+ return await this.dispatchEvent(this.client.parseEventNotificationWithoutVerification(rawBody));
146
+ }
147
+ }
148
+ exports.StripeEventNotificationHandlerWithoutVerification = StripeEventNotificationHandlerWithoutVerification;
149
+ //# sourceMappingURL=StripeEventNotificationHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StripeEventNotificationHandler.js","sourceRoot":"","sources":["../src/StripeEventNotificationHandler.ts"],"names":[],"mappings":"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"}