@depup/stripe 21.0.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 (654) hide show
  1. package/CHANGELOG.md +4529 -0
  2. package/LICENSE +20 -0
  3. package/OPENAPI_VERSION +1 -0
  4. package/README.md +25 -0
  5. package/VERSION +1 -0
  6. package/changes.json +5 -0
  7. package/cjs/Decimal.js +854 -0
  8. package/cjs/Error.js +284 -0
  9. package/cjs/RequestSender.js +469 -0
  10. package/cjs/ResourceNamespace.js +21 -0
  11. package/cjs/StripeContext.js +56 -0
  12. package/cjs/StripeEmitter.js +46 -0
  13. package/cjs/StripeMethod.js +36 -0
  14. package/cjs/StripeResource.js +188 -0
  15. package/cjs/V2Coercion.js +109 -0
  16. package/cjs/Webhooks.js +225 -0
  17. package/cjs/apiVersion.js +6 -0
  18. package/cjs/autoPagination.js +294 -0
  19. package/cjs/crypto/CryptoProvider.js +51 -0
  20. package/cjs/crypto/NodeCryptoProvider.js +30 -0
  21. package/cjs/crypto/SubtleCryptoProvider.js +51 -0
  22. package/cjs/multipart.js +61 -0
  23. package/cjs/net/FetchHttpClient.js +145 -0
  24. package/cjs/net/HttpClient.js +53 -0
  25. package/cjs/net/NodeHttpClient.js +108 -0
  26. package/cjs/package.json +1 -0
  27. package/cjs/platform/NodePlatformFunctions.js +98 -0
  28. package/cjs/platform/PlatformFunctions.js +98 -0
  29. package/cjs/platform/WebPlatformFunctions.js +38 -0
  30. package/cjs/resources/AccountLinks.js +9 -0
  31. package/cjs/resources/AccountSessions.js +9 -0
  32. package/cjs/resources/Accounts.js +101 -0
  33. package/cjs/resources/ApplePayDomains.js +22 -0
  34. package/cjs/resources/ApplicationFees.js +34 -0
  35. package/cjs/resources/Apps/Secrets.js +19 -0
  36. package/cjs/resources/Balance.js +9 -0
  37. package/cjs/resources/BalanceSettings.js +10 -0
  38. package/cjs/resources/BalanceTransactions.js +17 -0
  39. package/cjs/resources/Billing/Alerts.js +27 -0
  40. package/cjs/resources/Billing/CreditBalanceSummary.js +12 -0
  41. package/cjs/resources/Billing/CreditBalanceTransactions.js +17 -0
  42. package/cjs/resources/Billing/CreditGrants.js +30 -0
  43. package/cjs/resources/Billing/MeterEventAdjustments.js +12 -0
  44. package/cjs/resources/Billing/MeterEvents.js +9 -0
  45. package/cjs/resources/Billing/Meters.js +29 -0
  46. package/cjs/resources/BillingPortal/Configurations.js +25 -0
  47. package/cjs/resources/BillingPortal/Sessions.js +12 -0
  48. package/cjs/resources/Charges.js +25 -0
  49. package/cjs/resources/Checkout/Sessions.js +538 -0
  50. package/cjs/resources/Climate/Orders.js +61 -0
  51. package/cjs/resources/Climate/Products.js +33 -0
  52. package/cjs/resources/Climate/Suppliers.js +17 -0
  53. package/cjs/resources/ConfirmationTokens.js +12 -0
  54. package/cjs/resources/CountrySpecs.js +17 -0
  55. package/cjs/resources/Coupons.js +17 -0
  56. package/cjs/resources/CreditNotes.js +253 -0
  57. package/cjs/resources/CustomerSessions.js +9 -0
  58. package/cjs/resources/Customers.js +581 -0
  59. package/cjs/resources/Disputes.js +19 -0
  60. package/cjs/resources/Entitlements/ActiveEntitlements.js +17 -0
  61. package/cjs/resources/Entitlements/Features.js +22 -0
  62. package/cjs/resources/EphemeralKeys.js +18 -0
  63. package/cjs/resources/Events.js +14 -0
  64. package/cjs/resources/ExchangeRates.js +17 -0
  65. package/cjs/resources/FileLinks.js +16 -0
  66. package/cjs/resources/Files.js +24 -0
  67. package/cjs/resources/FinancialConnections/Accounts.js +38 -0
  68. package/cjs/resources/FinancialConnections/Sessions.js +16 -0
  69. package/cjs/resources/FinancialConnections/Transactions.js +17 -0
  70. package/cjs/resources/Forwarding/Requests.js +18 -0
  71. package/cjs/resources/Identity/VerificationReports.js +17 -0
  72. package/cjs/resources/Identity/VerificationSessions.js +33 -0
  73. package/cjs/resources/InvoiceItems.js +131 -0
  74. package/cjs/resources/InvoicePayments.js +17 -0
  75. package/cjs/resources/InvoiceRenderingTemplates.js +25 -0
  76. package/cjs/resources/Invoices.js +776 -0
  77. package/cjs/resources/Issuing/Authorizations.js +847 -0
  78. package/cjs/resources/Issuing/Cardholders.js +22 -0
  79. package/cjs/resources/Issuing/Cards.js +16 -0
  80. package/cjs/resources/Issuing/Disputes.js +26 -0
  81. package/cjs/resources/Issuing/PersonalizationDesigns.js +25 -0
  82. package/cjs/resources/Issuing/PhysicalBundles.js +17 -0
  83. package/cjs/resources/Issuing/Tokens.js +21 -0
  84. package/cjs/resources/Issuing/Transactions.js +275 -0
  85. package/cjs/resources/Mandates.js +9 -0
  86. package/cjs/resources/OAuth.js +44 -0
  87. package/cjs/resources/PaymentAttemptRecords.js +17 -0
  88. package/cjs/resources/PaymentIntents.js +56 -0
  89. package/cjs/resources/PaymentLinks.js +420 -0
  90. package/cjs/resources/PaymentMethodConfigurations.js +25 -0
  91. package/cjs/resources/PaymentMethodDomains.js +29 -0
  92. package/cjs/resources/PaymentMethods.js +30 -0
  93. package/cjs/resources/PaymentRecords.js +37 -0
  94. package/cjs/resources/Payouts.js +24 -0
  95. package/cjs/resources/Plans.js +141 -0
  96. package/cjs/resources/Prices.js +346 -0
  97. package/cjs/resources/Products.js +72 -0
  98. package/cjs/resources/PromotionCodes.js +22 -0
  99. package/cjs/resources/Quotes.js +825 -0
  100. package/cjs/resources/Radar/EarlyFraudWarnings.js +17 -0
  101. package/cjs/resources/Radar/PaymentEvaluations.js +12 -0
  102. package/cjs/resources/Radar/ValueListItems.js +25 -0
  103. package/cjs/resources/Radar/ValueLists.js +26 -0
  104. package/cjs/resources/Refunds.js +20 -0
  105. package/cjs/resources/Reporting/ReportRuns.js +18 -0
  106. package/cjs/resources/Reporting/ReportTypes.js +17 -0
  107. package/cjs/resources/Reviews.js +18 -0
  108. package/cjs/resources/SetupAttempts.js +13 -0
  109. package/cjs/resources/SetupIntents.js +34 -0
  110. package/cjs/resources/ShippingRates.js +22 -0
  111. package/cjs/resources/Sigma/ScheduledQueryRuns.js +17 -0
  112. package/cjs/resources/Sources.js +20 -0
  113. package/cjs/resources/SubscriptionItems.js +378 -0
  114. package/cjs/resources/SubscriptionSchedules.js +107 -0
  115. package/cjs/resources/Subscriptions.js +888 -0
  116. package/cjs/resources/Tax/Associations.js +9 -0
  117. package/cjs/resources/Tax/Calculations.js +18 -0
  118. package/cjs/resources/Tax/Registrations.js +22 -0
  119. package/cjs/resources/Tax/Settings.js +10 -0
  120. package/cjs/resources/Tax/Transactions.js +25 -0
  121. package/cjs/resources/TaxCodes.js +14 -0
  122. package/cjs/resources/TaxIds.js +16 -0
  123. package/cjs/resources/TaxRates.js +16 -0
  124. package/cjs/resources/Terminal/Configurations.js +29 -0
  125. package/cjs/resources/Terminal/ConnectionTokens.js +12 -0
  126. package/cjs/resources/Terminal/Locations.js +26 -0
  127. package/cjs/resources/Terminal/OnboardingLinks.js +12 -0
  128. package/cjs/resources/Terminal/Readers.js +58 -0
  129. package/cjs/resources/TestHelpers/ConfirmationTokens.js +12 -0
  130. package/cjs/resources/TestHelpers/Customers.js +12 -0
  131. package/cjs/resources/TestHelpers/Issuing/Authorizations.js +1293 -0
  132. package/cjs/resources/TestHelpers/Issuing/Cards.js +28 -0
  133. package/cjs/resources/TestHelpers/Issuing/PersonalizationDesigns.js +20 -0
  134. package/cjs/resources/TestHelpers/Issuing/Transactions.js +364 -0
  135. package/cjs/resources/TestHelpers/Refunds.js +12 -0
  136. package/cjs/resources/TestHelpers/Terminal/Readers.js +20 -0
  137. package/cjs/resources/TestHelpers/TestClocks.js +29 -0
  138. package/cjs/resources/TestHelpers/Treasury/InboundTransfers.js +20 -0
  139. package/cjs/resources/TestHelpers/Treasury/OutboundPayments.js +24 -0
  140. package/cjs/resources/TestHelpers/Treasury/OutboundTransfers.js +24 -0
  141. package/cjs/resources/TestHelpers/Treasury/ReceivedCredits.js +12 -0
  142. package/cjs/resources/TestHelpers/Treasury/ReceivedDebits.js +12 -0
  143. package/cjs/resources/Tokens.js +10 -0
  144. package/cjs/resources/Topups.js +17 -0
  145. package/cjs/resources/Transfers.js +33 -0
  146. package/cjs/resources/Treasury/CreditReversals.js +21 -0
  147. package/cjs/resources/Treasury/DebitReversals.js +21 -0
  148. package/cjs/resources/Treasury/FinancialAccounts.js +37 -0
  149. package/cjs/resources/Treasury/InboundTransfers.js +25 -0
  150. package/cjs/resources/Treasury/OutboundPayments.js +25 -0
  151. package/cjs/resources/Treasury/OutboundTransfers.js +25 -0
  152. package/cjs/resources/Treasury/ReceivedCredits.js +17 -0
  153. package/cjs/resources/Treasury/ReceivedDebits.js +17 -0
  154. package/cjs/resources/Treasury/TransactionEntries.js +393 -0
  155. package/cjs/resources/Treasury/Transactions.js +447 -0
  156. package/cjs/resources/V2/Billing/MeterEventAdjustments.js +12 -0
  157. package/cjs/resources/V2/Billing/MeterEventSession.js +12 -0
  158. package/cjs/resources/V2/Billing/MeterEventStream.js +13 -0
  159. package/cjs/resources/V2/Billing/MeterEvents.js +9 -0
  160. package/cjs/resources/V2/Core/AccountLinks.js +9 -0
  161. package/cjs/resources/V2/Core/AccountTokens.js +35 -0
  162. package/cjs/resources/V2/Core/Accounts/PersonTokens.js +25 -0
  163. package/cjs/resources/V2/Core/Accounts/Persons.js +91 -0
  164. package/cjs/resources/V2/Core/Accounts.js +177 -0
  165. package/cjs/resources/V2/Core/EventDestinations.js +41 -0
  166. package/cjs/resources/V2/Core/Events.js +66 -0
  167. package/cjs/resources/WebhookEndpoints.js +26 -0
  168. package/cjs/resources.js +324 -0
  169. package/cjs/stripe.cjs.node.js +13 -0
  170. package/cjs/stripe.cjs.worker.js +13 -0
  171. package/cjs/stripe.core.js +412 -0
  172. package/cjs/utils.js +477 -0
  173. package/esm/Decimal.js +850 -0
  174. package/esm/Error.js +259 -0
  175. package/esm/RequestSender.js +465 -0
  176. package/esm/ResourceNamespace.js +17 -0
  177. package/esm/StripeContext.js +52 -0
  178. package/esm/StripeEmitter.js +42 -0
  179. package/esm/StripeMethod.js +32 -0
  180. package/esm/StripeResource.js +185 -0
  181. package/esm/V2Coercion.js +104 -0
  182. package/esm/Webhooks.js +221 -0
  183. package/esm/apiVersion.js +3 -0
  184. package/esm/autoPagination.js +290 -0
  185. package/esm/crypto/CryptoProvider.js +46 -0
  186. package/esm/crypto/NodeCryptoProvider.js +26 -0
  187. package/esm/crypto/SubtleCryptoProvider.js +47 -0
  188. package/esm/multipart.js +57 -0
  189. package/esm/net/FetchHttpClient.js +140 -0
  190. package/esm/net/HttpClient.js +48 -0
  191. package/esm/net/NodeHttpClient.js +103 -0
  192. package/esm/package.json +1 -0
  193. package/esm/platform/NodePlatformFunctions.js +94 -0
  194. package/esm/platform/PlatformFunctions.js +94 -0
  195. package/esm/platform/WebPlatformFunctions.js +34 -0
  196. package/esm/resources/AccountLinks.js +6 -0
  197. package/esm/resources/AccountSessions.js +6 -0
  198. package/esm/resources/Accounts.js +98 -0
  199. package/esm/resources/ApplePayDomains.js +19 -0
  200. package/esm/resources/ApplicationFees.js +31 -0
  201. package/esm/resources/Apps/Secrets.js +16 -0
  202. package/esm/resources/Balance.js +6 -0
  203. package/esm/resources/BalanceSettings.js +7 -0
  204. package/esm/resources/BalanceTransactions.js +14 -0
  205. package/esm/resources/Billing/Alerts.js +24 -0
  206. package/esm/resources/Billing/CreditBalanceSummary.js +9 -0
  207. package/esm/resources/Billing/CreditBalanceTransactions.js +14 -0
  208. package/esm/resources/Billing/CreditGrants.js +27 -0
  209. package/esm/resources/Billing/MeterEventAdjustments.js +9 -0
  210. package/esm/resources/Billing/MeterEvents.js +6 -0
  211. package/esm/resources/Billing/Meters.js +26 -0
  212. package/esm/resources/BillingPortal/Configurations.js +22 -0
  213. package/esm/resources/BillingPortal/Sessions.js +9 -0
  214. package/esm/resources/Charges.js +22 -0
  215. package/esm/resources/Checkout/Sessions.js +535 -0
  216. package/esm/resources/Climate/Orders.js +58 -0
  217. package/esm/resources/Climate/Products.js +30 -0
  218. package/esm/resources/Climate/Suppliers.js +14 -0
  219. package/esm/resources/ConfirmationTokens.js +9 -0
  220. package/esm/resources/CountrySpecs.js +14 -0
  221. package/esm/resources/Coupons.js +14 -0
  222. package/esm/resources/CreditNotes.js +250 -0
  223. package/esm/resources/CustomerSessions.js +6 -0
  224. package/esm/resources/Customers.js +578 -0
  225. package/esm/resources/Disputes.js +16 -0
  226. package/esm/resources/Entitlements/ActiveEntitlements.js +14 -0
  227. package/esm/resources/Entitlements/Features.js +19 -0
  228. package/esm/resources/EphemeralKeys.js +15 -0
  229. package/esm/resources/Events.js +11 -0
  230. package/esm/resources/ExchangeRates.js +14 -0
  231. package/esm/resources/FileLinks.js +13 -0
  232. package/esm/resources/Files.js +21 -0
  233. package/esm/resources/FinancialConnections/Accounts.js +35 -0
  234. package/esm/resources/FinancialConnections/Sessions.js +13 -0
  235. package/esm/resources/FinancialConnections/Transactions.js +14 -0
  236. package/esm/resources/Forwarding/Requests.js +15 -0
  237. package/esm/resources/Identity/VerificationReports.js +14 -0
  238. package/esm/resources/Identity/VerificationSessions.js +30 -0
  239. package/esm/resources/InvoiceItems.js +128 -0
  240. package/esm/resources/InvoicePayments.js +14 -0
  241. package/esm/resources/InvoiceRenderingTemplates.js +22 -0
  242. package/esm/resources/Invoices.js +773 -0
  243. package/esm/resources/Issuing/Authorizations.js +844 -0
  244. package/esm/resources/Issuing/Cardholders.js +19 -0
  245. package/esm/resources/Issuing/Cards.js +13 -0
  246. package/esm/resources/Issuing/Disputes.js +23 -0
  247. package/esm/resources/Issuing/PersonalizationDesigns.js +22 -0
  248. package/esm/resources/Issuing/PhysicalBundles.js +14 -0
  249. package/esm/resources/Issuing/Tokens.js +18 -0
  250. package/esm/resources/Issuing/Transactions.js +272 -0
  251. package/esm/resources/Mandates.js +6 -0
  252. package/esm/resources/OAuth.js +42 -0
  253. package/esm/resources/PaymentAttemptRecords.js +14 -0
  254. package/esm/resources/PaymentIntents.js +53 -0
  255. package/esm/resources/PaymentLinks.js +417 -0
  256. package/esm/resources/PaymentMethodConfigurations.js +22 -0
  257. package/esm/resources/PaymentMethodDomains.js +26 -0
  258. package/esm/resources/PaymentMethods.js +27 -0
  259. package/esm/resources/PaymentRecords.js +34 -0
  260. package/esm/resources/Payouts.js +21 -0
  261. package/esm/resources/Plans.js +138 -0
  262. package/esm/resources/Prices.js +343 -0
  263. package/esm/resources/Products.js +69 -0
  264. package/esm/resources/PromotionCodes.js +19 -0
  265. package/esm/resources/Quotes.js +822 -0
  266. package/esm/resources/Radar/EarlyFraudWarnings.js +14 -0
  267. package/esm/resources/Radar/PaymentEvaluations.js +9 -0
  268. package/esm/resources/Radar/ValueListItems.js +22 -0
  269. package/esm/resources/Radar/ValueLists.js +23 -0
  270. package/esm/resources/Refunds.js +17 -0
  271. package/esm/resources/Reporting/ReportRuns.js +15 -0
  272. package/esm/resources/Reporting/ReportTypes.js +14 -0
  273. package/esm/resources/Reviews.js +15 -0
  274. package/esm/resources/SetupAttempts.js +10 -0
  275. package/esm/resources/SetupIntents.js +31 -0
  276. package/esm/resources/ShippingRates.js +19 -0
  277. package/esm/resources/Sigma/ScheduledQueryRuns.js +14 -0
  278. package/esm/resources/Sources.js +17 -0
  279. package/esm/resources/SubscriptionItems.js +375 -0
  280. package/esm/resources/SubscriptionSchedules.js +104 -0
  281. package/esm/resources/Subscriptions.js +885 -0
  282. package/esm/resources/Tax/Associations.js +6 -0
  283. package/esm/resources/Tax/Calculations.js +15 -0
  284. package/esm/resources/Tax/Registrations.js +19 -0
  285. package/esm/resources/Tax/Settings.js +7 -0
  286. package/esm/resources/Tax/Transactions.js +22 -0
  287. package/esm/resources/TaxCodes.js +11 -0
  288. package/esm/resources/TaxIds.js +13 -0
  289. package/esm/resources/TaxRates.js +13 -0
  290. package/esm/resources/Terminal/Configurations.js +26 -0
  291. package/esm/resources/Terminal/ConnectionTokens.js +9 -0
  292. package/esm/resources/Terminal/Locations.js +23 -0
  293. package/esm/resources/Terminal/OnboardingLinks.js +9 -0
  294. package/esm/resources/Terminal/Readers.js +55 -0
  295. package/esm/resources/TestHelpers/ConfirmationTokens.js +9 -0
  296. package/esm/resources/TestHelpers/Customers.js +9 -0
  297. package/esm/resources/TestHelpers/Issuing/Authorizations.js +1290 -0
  298. package/esm/resources/TestHelpers/Issuing/Cards.js +25 -0
  299. package/esm/resources/TestHelpers/Issuing/PersonalizationDesigns.js +17 -0
  300. package/esm/resources/TestHelpers/Issuing/Transactions.js +361 -0
  301. package/esm/resources/TestHelpers/Refunds.js +9 -0
  302. package/esm/resources/TestHelpers/Terminal/Readers.js +17 -0
  303. package/esm/resources/TestHelpers/TestClocks.js +26 -0
  304. package/esm/resources/TestHelpers/Treasury/InboundTransfers.js +17 -0
  305. package/esm/resources/TestHelpers/Treasury/OutboundPayments.js +21 -0
  306. package/esm/resources/TestHelpers/Treasury/OutboundTransfers.js +21 -0
  307. package/esm/resources/TestHelpers/Treasury/ReceivedCredits.js +9 -0
  308. package/esm/resources/TestHelpers/Treasury/ReceivedDebits.js +9 -0
  309. package/esm/resources/Tokens.js +7 -0
  310. package/esm/resources/Topups.js +14 -0
  311. package/esm/resources/Transfers.js +30 -0
  312. package/esm/resources/Treasury/CreditReversals.js +18 -0
  313. package/esm/resources/Treasury/DebitReversals.js +18 -0
  314. package/esm/resources/Treasury/FinancialAccounts.js +34 -0
  315. package/esm/resources/Treasury/InboundTransfers.js +22 -0
  316. package/esm/resources/Treasury/OutboundPayments.js +22 -0
  317. package/esm/resources/Treasury/OutboundTransfers.js +22 -0
  318. package/esm/resources/Treasury/ReceivedCredits.js +14 -0
  319. package/esm/resources/Treasury/ReceivedDebits.js +14 -0
  320. package/esm/resources/Treasury/TransactionEntries.js +390 -0
  321. package/esm/resources/Treasury/Transactions.js +444 -0
  322. package/esm/resources/V2/Billing/MeterEventAdjustments.js +9 -0
  323. package/esm/resources/V2/Billing/MeterEventSession.js +9 -0
  324. package/esm/resources/V2/Billing/MeterEventStream.js +10 -0
  325. package/esm/resources/V2/Billing/MeterEvents.js +6 -0
  326. package/esm/resources/V2/Core/AccountLinks.js +6 -0
  327. package/esm/resources/V2/Core/AccountTokens.js +32 -0
  328. package/esm/resources/V2/Core/Accounts/PersonTokens.js +22 -0
  329. package/esm/resources/V2/Core/Accounts/Persons.js +88 -0
  330. package/esm/resources/V2/Core/Accounts.js +174 -0
  331. package/esm/resources/V2/Core/EventDestinations.js +38 -0
  332. package/esm/resources/V2/Core/Events.js +63 -0
  333. package/esm/resources/WebhookEndpoints.js +23 -0
  334. package/esm/resources.js +263 -0
  335. package/esm/stripe.core.js +408 -0
  336. package/esm/stripe.esm.node.js +5 -0
  337. package/esm/stripe.esm.worker.js +5 -0
  338. package/esm/utils.js +450 -0
  339. package/package.json +110 -0
  340. package/types/.eslintrc.js +22 -0
  341. package/types/AccountLinks.d.ts +33 -0
  342. package/types/AccountLinksResource.d.ts +78 -0
  343. package/types/AccountSessions.d.ts +578 -0
  344. package/types/AccountSessionsResource.d.ts +677 -0
  345. package/types/Accounts.d.ts +1736 -0
  346. package/types/AccountsResource.d.ts +5312 -0
  347. package/types/ApplePayDomains.d.ts +57 -0
  348. package/types/ApplePayDomainsResource.d.ts +77 -0
  349. package/types/ApplicationFees.d.ts +108 -0
  350. package/types/ApplicationFeesResource.d.ts +162 -0
  351. package/types/Applications.d.ts +55 -0
  352. package/types/Apps/Secrets.d.ts +80 -0
  353. package/types/Apps/SecretsResource.d.ts +186 -0
  354. package/types/Balance.d.ts +343 -0
  355. package/types/BalanceResource.d.ts +26 -0
  356. package/types/BalanceSettings.d.ts +103 -0
  357. package/types/BalanceSettingsResource.d.ts +124 -0
  358. package/types/BalanceTransactionSources.d.ts +23 -0
  359. package/types/BalanceTransactions.d.ts +176 -0
  360. package/types/BalanceTransactionsResource.d.ts +72 -0
  361. package/types/BankAccounts.d.ts +433 -0
  362. package/types/Billing/AlertTriggereds.d.ts +42 -0
  363. package/types/Billing/Alerts.d.ts +84 -0
  364. package/types/Billing/AlertsResource.d.ts +183 -0
  365. package/types/Billing/CreditBalanceSummary.d.ts +99 -0
  366. package/types/Billing/CreditBalanceSummaryResource.d.ts +83 -0
  367. package/types/Billing/CreditBalanceTransactions.d.ts +178 -0
  368. package/types/Billing/CreditBalanceTransactionsResource.d.ts +62 -0
  369. package/types/Billing/CreditGrants.d.ts +150 -0
  370. package/types/Billing/CreditGrantsResource.d.ts +248 -0
  371. package/types/Billing/MeterEventAdjustments.d.ts +53 -0
  372. package/types/Billing/MeterEventAdjustmentsResource.d.ts +48 -0
  373. package/types/Billing/MeterEventSummaries.d.ts +50 -0
  374. package/types/Billing/MeterEvents.d.ts +49 -0
  375. package/types/Billing/MeterEventsResource.d.ts +46 -0
  376. package/types/Billing/Meters.d.ts +110 -0
  377. package/types/Billing/MetersResource.d.ts +234 -0
  378. package/types/BillingPortal/Configurations.d.ts +319 -0
  379. package/types/BillingPortal/ConfigurationsResource.d.ts +679 -0
  380. package/types/BillingPortal/Sessions.d.ts +293 -0
  381. package/types/BillingPortal/SessionsResource.d.ts +273 -0
  382. package/types/Capabilities.d.ts +422 -0
  383. package/types/Cards.d.ts +225 -0
  384. package/types/CashBalances.d.ts +57 -0
  385. package/types/Charges.d.ts +2646 -0
  386. package/types/ChargesResource.d.ts +426 -0
  387. package/types/Checkout/Sessions.d.ts +2878 -0
  388. package/types/Checkout/SessionsResource.d.ts +4027 -0
  389. package/types/Climate/Orders.d.ts +197 -0
  390. package/types/Climate/OrdersResource.d.ts +159 -0
  391. package/types/Climate/Products.d.ts +81 -0
  392. package/types/Climate/ProductsResource.d.ts +45 -0
  393. package/types/Climate/Suppliers.d.ts +82 -0
  394. package/types/Climate/SuppliersResource.d.ts +45 -0
  395. package/types/ConfirmationTokens.d.ts +1755 -0
  396. package/types/ConfirmationTokensResource.d.ts +27 -0
  397. package/types/ConnectCollectionTransfers.d.ts +40 -0
  398. package/types/CountrySpecs.d.ts +88 -0
  399. package/types/CountrySpecsResource.d.ts +43 -0
  400. package/types/Coupons.d.ts +139 -0
  401. package/types/CouponsResource.d.ts +203 -0
  402. package/types/CreditNoteLineItems.d.ts +195 -0
  403. package/types/CreditNotes.d.ts +408 -0
  404. package/types/CreditNotesResource.d.ts +765 -0
  405. package/types/CustomerBalanceTransactions.d.ts +106 -0
  406. package/types/CustomerCashBalanceTransactions.d.ts +230 -0
  407. package/types/CustomerSessions.d.ts +283 -0
  408. package/types/CustomerSessionsResource.d.ts +263 -0
  409. package/types/CustomerSources.d.ts +9 -0
  410. package/types/Customers.d.ts +326 -0
  411. package/types/CustomersResource.d.ts +1554 -0
  412. package/types/Discounts.d.ts +175 -0
  413. package/types/Disputes.d.ts +519 -0
  414. package/types/DisputesResource.d.ts +384 -0
  415. package/types/Entitlements/ActiveEntitlementSummaries.d.ts +32 -0
  416. package/types/Entitlements/ActiveEntitlements.d.ts +37 -0
  417. package/types/Entitlements/ActiveEntitlementsResource.d.ts +49 -0
  418. package/types/Entitlements/Features.d.ts +48 -0
  419. package/types/Entitlements/FeaturesResource.d.ts +118 -0
  420. package/types/EphemeralKeys.d.ts +40 -0
  421. package/types/EphemeralKeysResource.d.ts +65 -0
  422. package/types/Errors.d.ts +356 -0
  423. package/types/EventTypes.d.ts +4443 -0
  424. package/types/Events.d.ts +373 -0
  425. package/types/EventsResource.d.ts +63 -0
  426. package/types/ExchangeRates.d.ts +54 -0
  427. package/types/ExchangeRatesResource.d.ts +49 -0
  428. package/types/ExternalAccounts.d.ts +9 -0
  429. package/types/FeeRefunds.d.ts +54 -0
  430. package/types/FileLinks.d.ts +57 -0
  431. package/types/FileLinksResource.d.ts +114 -0
  432. package/types/Files.d.ts +96 -0
  433. package/types/FilesResource.d.ts +146 -0
  434. package/types/FinancialConnections/AccountOwners.d.ts +52 -0
  435. package/types/FinancialConnections/AccountOwnerships.d.ts +32 -0
  436. package/types/FinancialConnections/Accounts.d.ts +325 -0
  437. package/types/FinancialConnections/AccountsResource.d.ts +184 -0
  438. package/types/FinancialConnections/Sessions.d.ts +113 -0
  439. package/types/FinancialConnections/SessionsResource.d.ts +128 -0
  440. package/types/FinancialConnections/Transactions.d.ts +85 -0
  441. package/types/FinancialConnections/TransactionsResource.d.ts +68 -0
  442. package/types/Forwarding/Requests.d.ts +165 -0
  443. package/types/Forwarding/RequestsResource.d.ts +127 -0
  444. package/types/FundingInstructions.d.ts +297 -0
  445. package/types/Identity/VerificationReports.d.ts +487 -0
  446. package/types/Identity/VerificationReportsResource.d.ts +71 -0
  447. package/types/Identity/VerificationSessions.d.ts +352 -0
  448. package/types/Identity/VerificationSessionsResource.d.ts +366 -0
  449. package/types/InvoiceItems.d.ts +240 -0
  450. package/types/InvoiceItemsResource.d.ts +424 -0
  451. package/types/InvoiceLineItems.d.ts +366 -0
  452. package/types/InvoicePayments.d.ts +111 -0
  453. package/types/InvoicePaymentsResource.d.ts +88 -0
  454. package/types/InvoiceRenderingTemplates.d.ts +55 -0
  455. package/types/InvoiceRenderingTemplatesResource.d.ts +93 -0
  456. package/types/Invoices.d.ts +1650 -0
  457. package/types/InvoicesResource.d.ts +4196 -0
  458. package/types/Issuing/Authorizations.d.ts +689 -0
  459. package/types/Issuing/AuthorizationsResource.d.ts +151 -0
  460. package/types/Issuing/Cardholders.d.ts +1184 -0
  461. package/types/Issuing/CardholdersResource.d.ts +2411 -0
  462. package/types/Issuing/Cards.d.ts +1312 -0
  463. package/types/Issuing/CardsResource.d.ts +2371 -0
  464. package/types/Issuing/Disputes.d.ts +383 -0
  465. package/types/Issuing/DisputesResource.d.ts +776 -0
  466. package/types/Issuing/PersonalizationDesigns.d.ts +142 -0
  467. package/types/Issuing/PersonalizationDesignsResource.d.ts +253 -0
  468. package/types/Issuing/PhysicalBundles.d.ts +75 -0
  469. package/types/Issuing/PhysicalBundlesResource.d.ts +63 -0
  470. package/types/Issuing/Tokens.d.ts +273 -0
  471. package/types/Issuing/TokensResource.d.ts +88 -0
  472. package/types/Issuing/Transactions.d.ts +479 -0
  473. package/types/Issuing/TransactionsResource.d.ts +92 -0
  474. package/types/LineItems.d.ts +145 -0
  475. package/types/LoginLinks.d.ts +26 -0
  476. package/types/Mandates.d.ts +373 -0
  477. package/types/MandatesResource.d.ts +27 -0
  478. package/types/OAuth.d.ts +355 -0
  479. package/types/PaymentAttemptRecords.d.ts +2438 -0
  480. package/types/PaymentAttemptRecordsResource.d.ts +57 -0
  481. package/types/PaymentIntentAmountDetailsLineItems.d.ts +126 -0
  482. package/types/PaymentIntents.d.ts +3162 -0
  483. package/types/PaymentIntentsResource.d.ts +11473 -0
  484. package/types/PaymentLinks.d.ts +1051 -0
  485. package/types/PaymentLinksResource.d.ts +2334 -0
  486. package/types/PaymentMethodConfigurations.d.ts +2045 -0
  487. package/types/PaymentMethodConfigurationsResource.d.ts +2958 -0
  488. package/types/PaymentMethodDomains.d.ts +213 -0
  489. package/types/PaymentMethodDomainsResource.d.ts +126 -0
  490. package/types/PaymentMethods.d.ts +1645 -0
  491. package/types/PaymentMethodsResource.d.ts +1223 -0
  492. package/types/PaymentRecords.d.ts +2438 -0
  493. package/types/PaymentRecordsResource.d.ts +657 -0
  494. package/types/Payouts.d.ts +177 -0
  495. package/types/PayoutsResource.d.ts +201 -0
  496. package/types/Persons.d.ts +824 -0
  497. package/types/Plans.d.ts +195 -0
  498. package/types/PlansResource.d.ts +303 -0
  499. package/types/Prices.d.ts +325 -0
  500. package/types/PricesResource.d.ts +607 -0
  501. package/types/ProductFeatures.d.ts +57 -0
  502. package/types/Products.d.ts +170 -0
  503. package/types/ProductsResource.d.ts +616 -0
  504. package/types/PromotionCodes.d.ts +125 -0
  505. package/types/PromotionCodesResource.d.ts +233 -0
  506. package/types/Quotes.d.ts +690 -0
  507. package/types/QuotesResource.d.ts +898 -0
  508. package/types/Radar/EarlyFraudWarnings.d.ts +55 -0
  509. package/types/Radar/EarlyFraudWarningsResource.d.ts +64 -0
  510. package/types/Radar/PaymentEvaluations.d.ts +580 -0
  511. package/types/Radar/PaymentEvaluationsResource.d.ts +208 -0
  512. package/types/Radar/ValueListItems.d.ts +74 -0
  513. package/types/Radar/ValueListItemsResource.d.ts +99 -0
  514. package/types/Radar/ValueLists.d.ts +104 -0
  515. package/types/Radar/ValueListsResource.d.ts +156 -0
  516. package/types/Refunds.d.ts +487 -0
  517. package/types/RefundsResource.d.ts +187 -0
  518. package/types/Reporting/ReportRuns.d.ts +115 -0
  519. package/types/Reporting/ReportRunsResource.d.ts +763 -0
  520. package/types/Reporting/ReportTypes.d.ts +64 -0
  521. package/types/Reporting/ReportTypesResource.d.ts +47 -0
  522. package/types/Reserve/Holds.d.ts +104 -0
  523. package/types/Reserve/Plans.d.ts +103 -0
  524. package/types/Reserve/Releases.d.ts +105 -0
  525. package/types/ReserveTransactions.d.ts +32 -0
  526. package/types/Reviews.d.ts +146 -0
  527. package/types/ReviewsResource.d.ts +68 -0
  528. package/types/SetupAttempts.d.ts +878 -0
  529. package/types/SetupAttemptsResource.d.ts +35 -0
  530. package/types/SetupIntents.d.ts +1105 -0
  531. package/types/SetupIntentsResource.d.ts +5251 -0
  532. package/types/ShippingRates.d.ts +155 -0
  533. package/types/ShippingRatesResource.d.ts +262 -0
  534. package/types/Sigma/ScheduledQueryRuns.d.ts +76 -0
  535. package/types/Sigma/ScheduledQueryRunsResource.d.ts +47 -0
  536. package/types/SourceMandateNotifications.d.ts +105 -0
  537. package/types/SourceTransactions.d.ts +203 -0
  538. package/types/Sources.d.ts +746 -0
  539. package/types/SourcesResource.d.ts +611 -0
  540. package/types/SubscriptionItems.d.ts +122 -0
  541. package/types/SubscriptionItemsResource.d.ts +441 -0
  542. package/types/SubscriptionSchedules.d.ts +687 -0
  543. package/types/SubscriptionSchedulesResource.d.ts +1565 -0
  544. package/types/Subscriptions.d.ts +852 -0
  545. package/types/SubscriptionsResource.d.ts +2326 -0
  546. package/types/Tax/Associations.d.ts +82 -0
  547. package/types/Tax/AssociationsResource.d.ts +29 -0
  548. package/types/Tax/CalculationLineItems.d.ts +187 -0
  549. package/types/Tax/Calculations.d.ts +511 -0
  550. package/types/Tax/CalculationsResource.d.ts +406 -0
  551. package/types/Tax/Registrations.d.ts +1710 -0
  552. package/types/Tax/RegistrationsResource.d.ts +2583 -0
  553. package/types/Tax/Settings.d.ts +86 -0
  554. package/types/Tax/SettingsResource.d.ts +77 -0
  555. package/types/Tax/TransactionLineItems.d.ts +90 -0
  556. package/types/Tax/Transactions.d.ts +418 -0
  557. package/types/Tax/TransactionsResource.d.ts +182 -0
  558. package/types/TaxCodes.d.ts +30 -0
  559. package/types/TaxCodesResource.d.ts +43 -0
  560. package/types/TaxDeductedAtSources.d.ts +35 -0
  561. package/types/TaxIds.d.ts +262 -0
  562. package/types/TaxIdsResource.d.ts +263 -0
  563. package/types/TaxRates.d.ts +144 -0
  564. package/types/TaxRatesResource.d.ts +215 -0
  565. package/types/Terminal/Configurations.d.ts +630 -0
  566. package/types/Terminal/ConfigurationsResource.d.ts +1469 -0
  567. package/types/Terminal/ConnectionTokens.d.ts +29 -0
  568. package/types/Terminal/ConnectionTokensResource.d.ts +32 -0
  569. package/types/Terminal/Locations.d.ts +166 -0
  570. package/types/Terminal/LocationsResource.d.ts +233 -0
  571. package/types/Terminal/OnboardingLinks.d.ts +57 -0
  572. package/types/Terminal/OnboardingLinksResource.d.ts +62 -0
  573. package/types/Terminal/Readers.d.ts +676 -0
  574. package/types/Terminal/ReadersResource.d.ts +665 -0
  575. package/types/TestHelpers/ConfirmationTokensResource.d.ts +936 -0
  576. package/types/TestHelpers/CustomersResource.d.ts +40 -0
  577. package/types/TestHelpers/Issuing/AuthorizationsResource.d.ts +1404 -0
  578. package/types/TestHelpers/Issuing/CardsResource.d.ts +121 -0
  579. package/types/TestHelpers/Issuing/PersonalizationDesignsResource.d.ts +113 -0
  580. package/types/TestHelpers/Issuing/TransactionsResource.d.ts +1354 -0
  581. package/types/TestHelpers/RefundsResource.d.ts +29 -0
  582. package/types/TestHelpers/Terminal/ReadersResource.d.ts +151 -0
  583. package/types/TestHelpers/TestClocks.d.ts +98 -0
  584. package/types/TestHelpers/TestClocksResource.d.ts +108 -0
  585. package/types/TestHelpers/Treasury/InboundTransfersResource.d.ts +108 -0
  586. package/types/TestHelpers/Treasury/OutboundPaymentsResource.d.ts +175 -0
  587. package/types/TestHelpers/Treasury/OutboundTransfersResource.d.ts +175 -0
  588. package/types/TestHelpers/Treasury/ReceivedCreditsResource.d.ts +93 -0
  589. package/types/TestHelpers/Treasury/ReceivedDebitsResource.d.ts +91 -0
  590. package/types/Tokens.d.ts +84 -0
  591. package/types/TokensResource.d.ts +1086 -0
  592. package/types/Topups.d.ts +103 -0
  593. package/types/TopupsResource.d.ts +158 -0
  594. package/types/TransferReversals.d.ts +72 -0
  595. package/types/Transfers.d.ts +104 -0
  596. package/types/TransfersResource.d.ts +260 -0
  597. package/types/Treasury/CreditReversals.d.ts +92 -0
  598. package/types/Treasury/CreditReversalsResource.d.ts +88 -0
  599. package/types/Treasury/DebitReversals.d.ts +104 -0
  600. package/types/Treasury/DebitReversalsResource.d.ts +95 -0
  601. package/types/Treasury/FinancialAccountFeatures.d.ts +623 -0
  602. package/types/Treasury/FinancialAccounts.d.ts +250 -0
  603. package/types/Treasury/FinancialAccountsResource.d.ts +733 -0
  604. package/types/Treasury/InboundTransfers.d.ts +235 -0
  605. package/types/Treasury/InboundTransfersResource.d.ts +128 -0
  606. package/types/Treasury/OutboundPayments.d.ts +324 -0
  607. package/types/Treasury/OutboundPaymentsResource.d.ts +285 -0
  608. package/types/Treasury/OutboundTransfers.d.ts +299 -0
  609. package/types/Treasury/OutboundTransfersResource.d.ts +179 -0
  610. package/types/Treasury/ReceivedCredits.d.ts +279 -0
  611. package/types/Treasury/ReceivedCreditsResource.d.ts +79 -0
  612. package/types/Treasury/ReceivedDebits.d.ts +227 -0
  613. package/types/Treasury/ReceivedDebitsResource.d.ts +58 -0
  614. package/types/Treasury/TransactionEntries.d.ts +203 -0
  615. package/types/Treasury/TransactionEntriesResource.d.ts +70 -0
  616. package/types/Treasury/Transactions.d.ts +202 -0
  617. package/types/Treasury/TransactionsResource.d.ts +82 -0
  618. package/types/UpcomingInvoices.d.ts +5 -0
  619. package/types/V2/Billing/MeterEventAdjustments.d.ts +65 -0
  620. package/types/V2/Billing/MeterEventAdjustmentsResource.d.ts +47 -0
  621. package/types/V2/Billing/MeterEventSessionResource.d.ts +26 -0
  622. package/types/V2/Billing/MeterEventSessions.d.ts +45 -0
  623. package/types/V2/Billing/MeterEventStreamResource.d.ts +62 -0
  624. package/types/V2/Billing/MeterEvents.d.ts +55 -0
  625. package/types/V2/Billing/MeterEventsResource.d.ts +52 -0
  626. package/types/V2/Core/AccountLinks.d.ts +160 -0
  627. package/types/V2/Core/AccountLinksResource.d.ts +145 -0
  628. package/types/V2/Core/AccountPersonTokens.d.ts +44 -0
  629. package/types/V2/Core/AccountPersons.d.ts +661 -0
  630. package/types/V2/Core/AccountTokens.d.ts +44 -0
  631. package/types/V2/Core/AccountTokensResource.d.ts +1149 -0
  632. package/types/V2/Core/Accounts/PersonTokensResource.d.ts +556 -0
  633. package/types/V2/Core/Accounts/PersonsResource.d.ts +1260 -0
  634. package/types/V2/Core/Accounts.d.ts +5422 -0
  635. package/types/V2/Core/AccountsResource.d.ts +5042 -0
  636. package/types/V2/Core/EventDestinations.d.ts +168 -0
  637. package/types/V2/Core/EventDestinationsResource.d.ts +278 -0
  638. package/types/V2/Core/EventTypes.d.ts +798 -0
  639. package/types/V2/Core/Events.d.ts +86 -0
  640. package/types/V2/Core/EventsResource.d.ts +63 -0
  641. package/types/V2/DeletedObject.d.ts +22 -0
  642. package/types/V2/EventMisc.d.ts +80 -0
  643. package/types/WebhookEndpoints.d.ts +101 -0
  644. package/types/WebhookEndpointsResource.d.ts +798 -0
  645. package/types/Webhooks.d.ts +164 -0
  646. package/types/apiVersion.d.ts +4 -0
  647. package/types/crypto/crypto.d.ts +59 -0
  648. package/types/index.d.ts +596 -0
  649. package/types/lib.d.ts +420 -0
  650. package/types/net/net.d.ts +99 -0
  651. package/types/shared.d.ts +178 -0
  652. package/types/test/.eslintrc.js +6 -0
  653. package/types/test/tsconfig.json +67 -0
  654. package/types/test/typescriptTest.ts +357 -0
@@ -0,0 +1,188 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StripeResource = void 0;
4
+ const utils_js_1 = require("./utils.js");
5
+ const StripeMethod_js_1 = require("./StripeMethod.js");
6
+ const V2Coercion_js_1 = require("./V2Coercion.js");
7
+ // Provide extension mechanism for Stripe Resource Sub-Classes
8
+ StripeResource.extend = utils_js_1.protoExtend;
9
+ // Expose method-creator
10
+ StripeResource.method = StripeMethod_js_1.stripeMethod;
11
+ StripeResource.MAX_BUFFERED_REQUEST_METRICS = 100;
12
+ /**
13
+ * Encapsulates request logic for a Stripe Resource
14
+ */
15
+ function StripeResource(stripe, deprecatedUrlData) {
16
+ this._stripe = stripe;
17
+ if (deprecatedUrlData) {
18
+ throw new Error('Support for curried url params was dropped in stripe-node v7.0.0. Instead, pass two ids.');
19
+ }
20
+ this.basePath = (0, utils_js_1.makeURLInterpolator)(
21
+ // @ts-ignore changing type of basePath
22
+ this.basePath || stripe.getApiField('basePath'));
23
+ // @ts-ignore changing type of path
24
+ this.resourcePath = this.path;
25
+ // @ts-ignore changing type of path
26
+ this.path = (0, utils_js_1.makeURLInterpolator)(this.path);
27
+ this.initialize(...arguments);
28
+ }
29
+ exports.StripeResource = StripeResource;
30
+ StripeResource.prototype = {
31
+ _stripe: null,
32
+ // @ts-ignore the type of path changes in ctor
33
+ path: '',
34
+ resourcePath: '',
35
+ // Methods that don't use the API's default '/v1' path can override it with this setting.
36
+ basePath: null,
37
+ initialize() { },
38
+ // Function to override the default data processor. This allows full control
39
+ // over how a StripeResource's request data will get converted into an HTTP
40
+ // body. This is useful for non-standard HTTP requests. The function should
41
+ // take method name, data, and headers as arguments.
42
+ requestDataProcessor: null,
43
+ // Function to add a validation checks before sending the request, errors should
44
+ // be thrown, and they will be passed to the callback/promise.
45
+ validateRequest: null,
46
+ createFullPath(commandPath, urlData) {
47
+ const urlParts = [this.basePath(urlData), this.path(urlData)];
48
+ if (typeof commandPath === 'function') {
49
+ const computedCommandPath = commandPath(urlData);
50
+ // If we have no actual command path, we just omit it to avoid adding a
51
+ // trailing slash. This is important for top-level listing requests, which
52
+ // do not have a command path.
53
+ if (computedCommandPath) {
54
+ urlParts.push(computedCommandPath);
55
+ }
56
+ }
57
+ else {
58
+ urlParts.push(commandPath);
59
+ }
60
+ return this._joinUrlParts(urlParts);
61
+ },
62
+ // Creates a relative resource path with symbols left in (unlike
63
+ // createFullPath which takes some data to replace them with). For example it
64
+ // might produce: /invoices/{id}
65
+ createResourcePathWithSymbols(pathWithSymbols) {
66
+ // If there is no path beyond the resource path, we want to produce just
67
+ // /<resource path> rather than /<resource path>/.
68
+ if (pathWithSymbols) {
69
+ return `/${this._joinUrlParts([this.resourcePath, pathWithSymbols])}`;
70
+ }
71
+ else {
72
+ return `/${this.resourcePath}`;
73
+ }
74
+ },
75
+ _joinUrlParts(parts) {
76
+ // Replace any accidentally doubled up slashes. This previously used
77
+ // path.join, which would do this as well. Unfortunately we need to do this
78
+ // as the functions for creating paths are technically part of the public
79
+ // interface and so we need to preserve backwards compatibility.
80
+ return parts.join('/').replace(/\/{2,}/g, '/');
81
+ },
82
+ _getRequestOpts(requestArgs, spec, overrideData) {
83
+ // Extract spec values with defaults.
84
+ const requestMethod = (spec.method || 'GET').toUpperCase();
85
+ const usage = spec.usage || [];
86
+ const urlParams = spec.urlParams || [];
87
+ const encode = spec.encode || ((data) => data);
88
+ const isUsingFullPath = !!spec.fullPath;
89
+ const commandPath = (0, utils_js_1.makeURLInterpolator)(isUsingFullPath ? spec.fullPath : spec.path || '');
90
+ // When using fullPath, we ignore the resource path as it should already be
91
+ // fully qualified.
92
+ const path = isUsingFullPath
93
+ ? spec.fullPath
94
+ : this.createResourcePathWithSymbols(spec.path);
95
+ // Don't mutate args externally.
96
+ const args = [].slice.call(requestArgs);
97
+ // Generate and validate url params.
98
+ const urlData = urlParams.reduce((urlData, param) => {
99
+ const arg = args.shift();
100
+ if (typeof arg !== 'string') {
101
+ throw new Error(`Stripe: Argument "${param}" must be a string, but got: ${arg} (on API request to \`${requestMethod} ${path}\`)`);
102
+ }
103
+ urlData[param] = arg;
104
+ return urlData;
105
+ }, {});
106
+ // Pull request data and options (headers, auth) from args.
107
+ const dataFromArgs = (0, utils_js_1.getDataFromArgs)(args);
108
+ const data = encode(Object.assign({}, dataFromArgs, overrideData));
109
+ const options = (0, utils_js_1.getOptionsFromArgs)(args);
110
+ const host = options.host || spec.host;
111
+ const streaming = !!spec.streaming || !!options.streaming;
112
+ // Validate that there are no more args.
113
+ if (args.filter((x) => x != null).length) {
114
+ throw new Error(`Stripe: Unknown arguments (${args}). Did you mean to pass an options object? See https://github.com/stripe/stripe-node/wiki/Passing-Options. (on API request to ${requestMethod} \`${path}\`)`);
115
+ }
116
+ // When using full path, we can just invoke the URL interpolator directly
117
+ // as we don't need to use the resource to create a full path.
118
+ const requestPath = isUsingFullPath
119
+ ? commandPath(urlData)
120
+ : this.createFullPath(commandPath, urlData);
121
+ const headers = Object.assign(options.headers, spec.headers);
122
+ if (spec.validator) {
123
+ spec.validator(data, { headers });
124
+ }
125
+ const dataInQuery = spec.method === 'GET' || spec.method === 'DELETE';
126
+ const bodyData = dataInQuery ? null : data;
127
+ const queryData = dataInQuery ? data : {};
128
+ return {
129
+ requestMethod,
130
+ requestPath,
131
+ bodyData,
132
+ queryData,
133
+ authenticator: options.authenticator ?? null,
134
+ headers,
135
+ host: host ?? null,
136
+ streaming,
137
+ settings: options.settings,
138
+ usage,
139
+ };
140
+ },
141
+ _makeRequest(requestArgs, spec, overrideData) {
142
+ return new Promise((resolve, reject) => {
143
+ let opts;
144
+ try {
145
+ opts = this._getRequestOpts(requestArgs, spec, overrideData);
146
+ }
147
+ catch (err) {
148
+ reject(err);
149
+ return;
150
+ }
151
+ // Coerce int64_string/decimal_string fields in request body: number/Decimal → string
152
+ if (spec.requestSchema && opts.bodyData) {
153
+ opts.bodyData = (0, V2Coercion_js_1.coerceV2RequestData)(opts.bodyData, spec.requestSchema);
154
+ }
155
+ function requestCallback(err, response) {
156
+ if (err) {
157
+ reject(err);
158
+ }
159
+ else {
160
+ // Coerce int64_string/decimal_string fields in response: string → bigint/Decimal
161
+ try {
162
+ if (spec.responseSchema) {
163
+ (0, V2Coercion_js_1.coerceV2ResponseData)(response, spec.responseSchema);
164
+ }
165
+ resolve(spec.transformResponseData
166
+ ? spec.transformResponseData(response)
167
+ : response);
168
+ }
169
+ catch (e) {
170
+ reject(e);
171
+ }
172
+ }
173
+ }
174
+ const emptyQuery = Object.keys(opts.queryData).length === 0;
175
+ const path = [
176
+ opts.requestPath,
177
+ emptyQuery ? '' : '?',
178
+ (0, utils_js_1.queryStringifyRequestData)(opts.queryData),
179
+ ].join('');
180
+ const { headers, settings } = opts;
181
+ this._stripe._requestSender._request(opts.requestMethod, opts.host, path, opts.bodyData, opts.authenticator, {
182
+ headers,
183
+ settings,
184
+ streaming: opts.streaming,
185
+ }, opts.usage, requestCallback, this.requestDataProcessor?.bind(this));
186
+ });
187
+ },
188
+ };
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.coerceV2ResponseData = exports.coerceV2RequestData = void 0;
4
+ const Decimal_js_1 = require("./Decimal.js");
5
+ /**
6
+ * Coerces outbound V2 request data by converting bigint (or number)
7
+ * int64_string fields to strings, matching the wire format expected by the API.
8
+ *
9
+ * Walks the schema tree and only touches fields that are marked as
10
+ * int64_string. All other values are left unchanged.
11
+ */
12
+ const coerceV2RequestData = (data, schema) => {
13
+ if (data == null) {
14
+ return data;
15
+ }
16
+ switch (schema.kind) {
17
+ case 'int64_string':
18
+ return typeof data === 'bigint' || typeof data === 'number'
19
+ ? String(data)
20
+ : data;
21
+ case 'decimal_string':
22
+ // Duck-type check: Decimal instances have toFixed() and isZero() methods.
23
+ return typeof data.toFixed === 'function' &&
24
+ typeof data.isZero === 'function'
25
+ ? data.toString()
26
+ : data;
27
+ case 'object': {
28
+ if (typeof data !== 'object' || Array.isArray(data)) {
29
+ return data;
30
+ }
31
+ const obj = data;
32
+ const result = {};
33
+ for (const key of Object.keys(obj)) {
34
+ const fieldSchema = schema.fields[key];
35
+ result[key] = fieldSchema
36
+ ? (0, exports.coerceV2RequestData)(obj[key], fieldSchema)
37
+ : obj[key];
38
+ }
39
+ return result;
40
+ }
41
+ case 'array': {
42
+ if (!Array.isArray(data)) {
43
+ return data;
44
+ }
45
+ return data.map((element) => (0, exports.coerceV2RequestData)(element, schema.element));
46
+ }
47
+ case 'nullable':
48
+ return (0, exports.coerceV2RequestData)(data, schema.inner);
49
+ }
50
+ };
51
+ exports.coerceV2RequestData = coerceV2RequestData;
52
+ /**
53
+ * Coerces inbound V2 response data by converting string int64_string fields
54
+ * to bigints, matching the SDK's public type contract.
55
+ *
56
+ * Walks the schema tree and only touches fields that are marked as
57
+ * int64_string. All other values are left unchanged.
58
+ */
59
+ const coerceV2ResponseData = (data, schema) => {
60
+ if (data == null) {
61
+ return data;
62
+ }
63
+ switch (schema.kind) {
64
+ case 'int64_string':
65
+ if (typeof data === 'string') {
66
+ try {
67
+ return BigInt(data);
68
+ }
69
+ catch {
70
+ throw new Error(`Failed to coerce int64_string value: expected an integer string, got '${data}'`);
71
+ }
72
+ }
73
+ return data;
74
+ case 'decimal_string':
75
+ if (typeof data === 'string') {
76
+ try {
77
+ return Decimal_js_1.Decimal.from(data);
78
+ }
79
+ catch {
80
+ throw new Error(`Failed to coerce decimal_string value: expected a decimal string, got '${data}'`);
81
+ }
82
+ }
83
+ return data;
84
+ case 'object': {
85
+ if (typeof data !== 'object' || Array.isArray(data)) {
86
+ return data;
87
+ }
88
+ const obj = data;
89
+ for (const key of Object.keys(schema.fields)) {
90
+ if (key in obj) {
91
+ obj[key] = (0, exports.coerceV2ResponseData)(obj[key], schema.fields[key]);
92
+ }
93
+ }
94
+ return obj;
95
+ }
96
+ case 'array': {
97
+ if (!Array.isArray(data)) {
98
+ return data;
99
+ }
100
+ for (let i = 0; i < data.length; i++) {
101
+ data[i] = (0, exports.coerceV2ResponseData)(data[i], schema.element);
102
+ }
103
+ return data;
104
+ }
105
+ case 'nullable':
106
+ return (0, exports.coerceV2ResponseData)(data, schema.inner);
107
+ }
108
+ };
109
+ exports.coerceV2ResponseData = coerceV2ResponseData;
@@ -0,0 +1,225 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createWebhooks = void 0;
4
+ const Error_js_1 = require("./Error.js");
5
+ const CryptoProvider_js_1 = require("./crypto/CryptoProvider.js");
6
+ function createWebhooks(platformFunctions) {
7
+ const Webhook = {
8
+ DEFAULT_TOLERANCE: 300,
9
+ signature: null,
10
+ constructEvent(payload, header, secret, tolerance, cryptoProvider, receivedAt) {
11
+ try {
12
+ if (!this.signature) {
13
+ throw new Error('ERR: missing signature helper, unable to verify');
14
+ }
15
+ this.signature.verifyHeader(payload, header, secret, tolerance || Webhook.DEFAULT_TOLERANCE, cryptoProvider, receivedAt);
16
+ }
17
+ catch (e) {
18
+ if (e instanceof CryptoProvider_js_1.CryptoProviderOnlySupportsAsyncError) {
19
+ e.message +=
20
+ '\nUse `await constructEventAsync(...)` instead of `constructEvent(...)`';
21
+ }
22
+ throw e;
23
+ }
24
+ const jsonPayload = payload instanceof Uint8Array
25
+ ? JSON.parse(new TextDecoder('utf8').decode(payload))
26
+ : JSON.parse(payload);
27
+ if (jsonPayload && jsonPayload.object === 'v2.core.event') {
28
+ throw new Error('You passed an event notification to stripe.webhooks.constructEvent, which expects a webhook payload. Use stripe.parseEventNotification instead.');
29
+ }
30
+ return jsonPayload;
31
+ },
32
+ async constructEventAsync(payload, header, secret, tolerance, cryptoProvider, receivedAt) {
33
+ if (!this.signature) {
34
+ throw new Error('ERR: missing signature helper, unable to verify');
35
+ }
36
+ await this.signature.verifyHeaderAsync(payload, header, secret, tolerance || Webhook.DEFAULT_TOLERANCE, cryptoProvider, receivedAt);
37
+ const jsonPayload = payload instanceof Uint8Array
38
+ ? JSON.parse(new TextDecoder('utf8').decode(payload))
39
+ : JSON.parse(payload);
40
+ if (jsonPayload && jsonPayload.object === 'v2.core.event') {
41
+ throw new Error('You passed an event notification to stripe.webhooks.constructEvent, which expects a webhook payload. Use stripe.parseEventNotification instead.');
42
+ }
43
+ return jsonPayload;
44
+ },
45
+ /**
46
+ * Generates a header to be used for webhook mocking
47
+ *
48
+ * @typedef {object} opts
49
+ * @property {number} timestamp - Timestamp of the header. Defaults to Date.now()
50
+ * @property {string} payload - JSON stringified payload object, containing the 'id' and 'object' parameters
51
+ * @property {string} secret - Stripe webhook secret 'whsec_...'
52
+ * @property {string} scheme - Version of API to hit. Defaults to 'v1'.
53
+ * @property {string} signature - Computed webhook signature
54
+ * @property {CryptoProvider} cryptoProvider - Crypto provider to use for computing the signature if none was provided. Defaults to NodeCryptoProvider.
55
+ */
56
+ generateTestHeaderString: function (opts) {
57
+ const preparedOpts = prepareOptions(opts);
58
+ const signature = preparedOpts.signature ||
59
+ preparedOpts.cryptoProvider.computeHMACSignature(preparedOpts.payloadString, preparedOpts.secret);
60
+ return preparedOpts.generateHeaderString(signature);
61
+ },
62
+ generateTestHeaderStringAsync: async function (opts) {
63
+ const preparedOpts = prepareOptions(opts);
64
+ const signature = preparedOpts.signature ||
65
+ (await preparedOpts.cryptoProvider.computeHMACSignatureAsync(preparedOpts.payloadString, preparedOpts.secret));
66
+ return preparedOpts.generateHeaderString(signature);
67
+ },
68
+ };
69
+ const signature = {
70
+ EXPECTED_SCHEME: 'v1',
71
+ verifyHeader(encodedPayload, encodedHeader, secret, tolerance, cryptoProvider, receivedAt) {
72
+ const { decodedHeader: header, decodedPayload: payload, details, suspectPayloadType, } = parseEventDetails(encodedPayload, encodedHeader, this.EXPECTED_SCHEME);
73
+ const secretContainsWhitespace = /\s/.test(secret);
74
+ cryptoProvider = cryptoProvider || getCryptoProvider();
75
+ const expectedSignature = cryptoProvider.computeHMACSignature(makeHMACContent(payload, details), secret);
76
+ validateComputedSignature(payload, header, details, expectedSignature, tolerance, suspectPayloadType, secretContainsWhitespace, receivedAt);
77
+ return true;
78
+ },
79
+ async verifyHeaderAsync(encodedPayload, encodedHeader, secret, tolerance, cryptoProvider, receivedAt) {
80
+ const { decodedHeader: header, decodedPayload: payload, details, suspectPayloadType, } = parseEventDetails(encodedPayload, encodedHeader, this.EXPECTED_SCHEME);
81
+ const secretContainsWhitespace = /\s/.test(secret);
82
+ cryptoProvider = cryptoProvider || getCryptoProvider();
83
+ const expectedSignature = await cryptoProvider.computeHMACSignatureAsync(makeHMACContent(payload, details), secret);
84
+ return validateComputedSignature(payload, header, details, expectedSignature, tolerance, suspectPayloadType, secretContainsWhitespace, receivedAt);
85
+ },
86
+ };
87
+ function makeHMACContent(payload, details) {
88
+ return `${details.timestamp}.${payload}`;
89
+ }
90
+ function parseEventDetails(encodedPayload, encodedHeader, expectedScheme) {
91
+ if (!encodedPayload) {
92
+ throw new Error_js_1.StripeSignatureVerificationError(encodedHeader, encodedPayload, {
93
+ message: 'No webhook payload was provided.',
94
+ });
95
+ }
96
+ const suspectPayloadType = typeof encodedPayload != 'string' &&
97
+ !(encodedPayload instanceof Uint8Array);
98
+ const textDecoder = new TextDecoder('utf8');
99
+ const decodedPayload = encodedPayload instanceof Uint8Array
100
+ ? textDecoder.decode(encodedPayload)
101
+ : encodedPayload;
102
+ // Express's type for `Request#headers` is `string | []string`
103
+ // which is because the `set-cookie` header is an array,
104
+ // but no other headers are an array (docs: https://nodejs.org/api/http.html#http_message_headers)
105
+ // (Express's Request class is an extension of http.IncomingMessage, and doesn't appear to be relevantly modified: https://github.com/expressjs/express/blob/master/lib/request.js#L31)
106
+ if (Array.isArray(encodedHeader)) {
107
+ throw new Error('Unexpected: An array was passed as a header, which should not be possible for the stripe-signature header.');
108
+ }
109
+ if (encodedHeader == null || encodedHeader == '') {
110
+ throw new Error_js_1.StripeSignatureVerificationError(encodedHeader, encodedPayload, {
111
+ message: 'No stripe-signature header value was provided.',
112
+ });
113
+ }
114
+ const decodedHeader = encodedHeader instanceof Uint8Array
115
+ ? textDecoder.decode(encodedHeader)
116
+ : encodedHeader;
117
+ const details = parseHeader(decodedHeader, expectedScheme);
118
+ if (!details || details.timestamp === -1) {
119
+ throw new Error_js_1.StripeSignatureVerificationError(decodedHeader, decodedPayload, {
120
+ message: 'Unable to extract timestamp and signatures from header',
121
+ });
122
+ }
123
+ if (!details.signatures.length) {
124
+ throw new Error_js_1.StripeSignatureVerificationError(decodedHeader, decodedPayload, {
125
+ message: 'No signatures found with expected scheme',
126
+ });
127
+ }
128
+ return {
129
+ decodedPayload,
130
+ decodedHeader,
131
+ details,
132
+ suspectPayloadType,
133
+ };
134
+ }
135
+ function validateComputedSignature(payload, header, details, expectedSignature, tolerance, suspectPayloadType, secretContainsWhitespace, receivedAt) {
136
+ const signatureFound = !!details.signatures.filter(platformFunctions.secureCompare.bind(platformFunctions, expectedSignature)).length;
137
+ const docsLocation = '\nLearn more about webhook signing and explore webhook integration examples for various frameworks at ' +
138
+ 'https://docs.stripe.com/webhooks/signature';
139
+ const whitespaceMessage = secretContainsWhitespace
140
+ ? '\n\nNote: The provided signing secret contains whitespace. This often indicates an extra newline or space is in the value'
141
+ : '';
142
+ if (!signatureFound) {
143
+ if (suspectPayloadType) {
144
+ throw new Error_js_1.StripeSignatureVerificationError(header, payload, {
145
+ message: 'Webhook payload must be provided as a string or a Buffer (https://nodejs.org/api/buffer.html) instance representing the _raw_ request body.' +
146
+ 'Payload was provided as a parsed JavaScript object instead. \n' +
147
+ 'Signature verification is impossible without access to the original signed material. \n' +
148
+ docsLocation +
149
+ '\n' +
150
+ whitespaceMessage,
151
+ });
152
+ }
153
+ throw new Error_js_1.StripeSignatureVerificationError(header, payload, {
154
+ message: 'No signatures found matching the expected signature for payload.' +
155
+ ' Are you passing the raw request body you received from Stripe? \n' +
156
+ ' If a webhook request is being forwarded by a third-party tool,' +
157
+ ' ensure that the exact request body, including JSON formatting and new line style, is preserved.\n' +
158
+ docsLocation +
159
+ '\n' +
160
+ whitespaceMessage,
161
+ });
162
+ }
163
+ const timestampAge = Math.floor((typeof receivedAt === 'number' ? receivedAt : Date.now()) / 1000) - details.timestamp;
164
+ if (tolerance > 0 && timestampAge > tolerance) {
165
+ throw new Error_js_1.StripeSignatureVerificationError(header, payload, {
166
+ message: 'Timestamp outside the tolerance zone',
167
+ });
168
+ }
169
+ return true;
170
+ }
171
+ function parseHeader(header, scheme) {
172
+ if (typeof header !== 'string') {
173
+ return null;
174
+ }
175
+ return header.split(',').reduce((accum, item) => {
176
+ const kv = item.split('=');
177
+ if (kv[0] === 't') {
178
+ accum.timestamp = parseInt(kv[1], 10);
179
+ }
180
+ if (kv[0] === scheme) {
181
+ accum.signatures.push(kv[1]);
182
+ }
183
+ return accum;
184
+ }, {
185
+ timestamp: -1,
186
+ signatures: [],
187
+ });
188
+ }
189
+ let webhooksCryptoProviderInstance = null;
190
+ /**
191
+ * Lazily instantiate a CryptoProvider instance. This is a stateless object
192
+ * so a singleton can be used here.
193
+ */
194
+ function getCryptoProvider() {
195
+ if (!webhooksCryptoProviderInstance) {
196
+ webhooksCryptoProviderInstance = platformFunctions.createDefaultCryptoProvider();
197
+ }
198
+ return webhooksCryptoProviderInstance;
199
+ }
200
+ function prepareOptions(opts) {
201
+ if (!opts) {
202
+ throw new Error_js_1.StripeError({
203
+ message: 'Options are required',
204
+ });
205
+ }
206
+ const timestamp = Math.floor(opts.timestamp) || Math.floor(Date.now() / 1000);
207
+ const scheme = opts.scheme || signature.EXPECTED_SCHEME;
208
+ const cryptoProvider = opts.cryptoProvider || getCryptoProvider();
209
+ const payloadString = `${timestamp}.${opts.payload}`;
210
+ const generateHeaderString = (signature) => {
211
+ return `t=${timestamp},${scheme}=${signature}`;
212
+ };
213
+ return {
214
+ ...opts,
215
+ timestamp,
216
+ scheme,
217
+ cryptoProvider,
218
+ payloadString,
219
+ generateHeaderString,
220
+ };
221
+ }
222
+ Webhook.signature = signature;
223
+ return Webhook;
224
+ }
225
+ exports.createWebhooks = createWebhooks;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ // File generated from our OpenAPI spec
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.ApiMajorVersion = exports.ApiVersion = void 0;
5
+ exports.ApiVersion = '2026-03-25.dahlia';
6
+ exports.ApiMajorVersion = 'dahlia';