@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,185 @@
1
+ import { getDataFromArgs, getOptionsFromArgs, makeURLInterpolator, protoExtend, queryStringifyRequestData, } from './utils.js';
2
+ import { stripeMethod } from './StripeMethod.js';
3
+ import { coerceV2RequestData, coerceV2ResponseData } from './V2Coercion.js';
4
+ // Provide extension mechanism for Stripe Resource Sub-Classes
5
+ StripeResource.extend = protoExtend;
6
+ // Expose method-creator
7
+ StripeResource.method = stripeMethod;
8
+ StripeResource.MAX_BUFFERED_REQUEST_METRICS = 100;
9
+ /**
10
+ * Encapsulates request logic for a Stripe Resource
11
+ */
12
+ function StripeResource(stripe, deprecatedUrlData) {
13
+ this._stripe = stripe;
14
+ if (deprecatedUrlData) {
15
+ throw new Error('Support for curried url params was dropped in stripe-node v7.0.0. Instead, pass two ids.');
16
+ }
17
+ this.basePath = makeURLInterpolator(
18
+ // @ts-ignore changing type of basePath
19
+ this.basePath || stripe.getApiField('basePath'));
20
+ // @ts-ignore changing type of path
21
+ this.resourcePath = this.path;
22
+ // @ts-ignore changing type of path
23
+ this.path = makeURLInterpolator(this.path);
24
+ this.initialize(...arguments);
25
+ }
26
+ StripeResource.prototype = {
27
+ _stripe: null,
28
+ // @ts-ignore the type of path changes in ctor
29
+ path: '',
30
+ resourcePath: '',
31
+ // Methods that don't use the API's default '/v1' path can override it with this setting.
32
+ basePath: null,
33
+ initialize() { },
34
+ // Function to override the default data processor. This allows full control
35
+ // over how a StripeResource's request data will get converted into an HTTP
36
+ // body. This is useful for non-standard HTTP requests. The function should
37
+ // take method name, data, and headers as arguments.
38
+ requestDataProcessor: null,
39
+ // Function to add a validation checks before sending the request, errors should
40
+ // be thrown, and they will be passed to the callback/promise.
41
+ validateRequest: null,
42
+ createFullPath(commandPath, urlData) {
43
+ const urlParts = [this.basePath(urlData), this.path(urlData)];
44
+ if (typeof commandPath === 'function') {
45
+ const computedCommandPath = commandPath(urlData);
46
+ // If we have no actual command path, we just omit it to avoid adding a
47
+ // trailing slash. This is important for top-level listing requests, which
48
+ // do not have a command path.
49
+ if (computedCommandPath) {
50
+ urlParts.push(computedCommandPath);
51
+ }
52
+ }
53
+ else {
54
+ urlParts.push(commandPath);
55
+ }
56
+ return this._joinUrlParts(urlParts);
57
+ },
58
+ // Creates a relative resource path with symbols left in (unlike
59
+ // createFullPath which takes some data to replace them with). For example it
60
+ // might produce: /invoices/{id}
61
+ createResourcePathWithSymbols(pathWithSymbols) {
62
+ // If there is no path beyond the resource path, we want to produce just
63
+ // /<resource path> rather than /<resource path>/.
64
+ if (pathWithSymbols) {
65
+ return `/${this._joinUrlParts([this.resourcePath, pathWithSymbols])}`;
66
+ }
67
+ else {
68
+ return `/${this.resourcePath}`;
69
+ }
70
+ },
71
+ _joinUrlParts(parts) {
72
+ // Replace any accidentally doubled up slashes. This previously used
73
+ // path.join, which would do this as well. Unfortunately we need to do this
74
+ // as the functions for creating paths are technically part of the public
75
+ // interface and so we need to preserve backwards compatibility.
76
+ return parts.join('/').replace(/\/{2,}/g, '/');
77
+ },
78
+ _getRequestOpts(requestArgs, spec, overrideData) {
79
+ // Extract spec values with defaults.
80
+ const requestMethod = (spec.method || 'GET').toUpperCase();
81
+ const usage = spec.usage || [];
82
+ const urlParams = spec.urlParams || [];
83
+ const encode = spec.encode || ((data) => data);
84
+ const isUsingFullPath = !!spec.fullPath;
85
+ const commandPath = makeURLInterpolator(isUsingFullPath ? spec.fullPath : spec.path || '');
86
+ // When using fullPath, we ignore the resource path as it should already be
87
+ // fully qualified.
88
+ const path = isUsingFullPath
89
+ ? spec.fullPath
90
+ : this.createResourcePathWithSymbols(spec.path);
91
+ // Don't mutate args externally.
92
+ const args = [].slice.call(requestArgs);
93
+ // Generate and validate url params.
94
+ const urlData = urlParams.reduce((urlData, param) => {
95
+ const arg = args.shift();
96
+ if (typeof arg !== 'string') {
97
+ throw new Error(`Stripe: Argument "${param}" must be a string, but got: ${arg} (on API request to \`${requestMethod} ${path}\`)`);
98
+ }
99
+ urlData[param] = arg;
100
+ return urlData;
101
+ }, {});
102
+ // Pull request data and options (headers, auth) from args.
103
+ const dataFromArgs = getDataFromArgs(args);
104
+ const data = encode(Object.assign({}, dataFromArgs, overrideData));
105
+ const options = getOptionsFromArgs(args);
106
+ const host = options.host || spec.host;
107
+ const streaming = !!spec.streaming || !!options.streaming;
108
+ // Validate that there are no more args.
109
+ if (args.filter((x) => x != null).length) {
110
+ 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}\`)`);
111
+ }
112
+ // When using full path, we can just invoke the URL interpolator directly
113
+ // as we don't need to use the resource to create a full path.
114
+ const requestPath = isUsingFullPath
115
+ ? commandPath(urlData)
116
+ : this.createFullPath(commandPath, urlData);
117
+ const headers = Object.assign(options.headers, spec.headers);
118
+ if (spec.validator) {
119
+ spec.validator(data, { headers });
120
+ }
121
+ const dataInQuery = spec.method === 'GET' || spec.method === 'DELETE';
122
+ const bodyData = dataInQuery ? null : data;
123
+ const queryData = dataInQuery ? data : {};
124
+ return {
125
+ requestMethod,
126
+ requestPath,
127
+ bodyData,
128
+ queryData,
129
+ authenticator: options.authenticator ?? null,
130
+ headers,
131
+ host: host ?? null,
132
+ streaming,
133
+ settings: options.settings,
134
+ usage,
135
+ };
136
+ },
137
+ _makeRequest(requestArgs, spec, overrideData) {
138
+ return new Promise((resolve, reject) => {
139
+ let opts;
140
+ try {
141
+ opts = this._getRequestOpts(requestArgs, spec, overrideData);
142
+ }
143
+ catch (err) {
144
+ reject(err);
145
+ return;
146
+ }
147
+ // Coerce int64_string/decimal_string fields in request body: number/Decimal → string
148
+ if (spec.requestSchema && opts.bodyData) {
149
+ opts.bodyData = coerceV2RequestData(opts.bodyData, spec.requestSchema);
150
+ }
151
+ function requestCallback(err, response) {
152
+ if (err) {
153
+ reject(err);
154
+ }
155
+ else {
156
+ // Coerce int64_string/decimal_string fields in response: string → bigint/Decimal
157
+ try {
158
+ if (spec.responseSchema) {
159
+ coerceV2ResponseData(response, spec.responseSchema);
160
+ }
161
+ resolve(spec.transformResponseData
162
+ ? spec.transformResponseData(response)
163
+ : response);
164
+ }
165
+ catch (e) {
166
+ reject(e);
167
+ }
168
+ }
169
+ }
170
+ const emptyQuery = Object.keys(opts.queryData).length === 0;
171
+ const path = [
172
+ opts.requestPath,
173
+ emptyQuery ? '' : '?',
174
+ queryStringifyRequestData(opts.queryData),
175
+ ].join('');
176
+ const { headers, settings } = opts;
177
+ this._stripe._requestSender._request(opts.requestMethod, opts.host, path, opts.bodyData, opts.authenticator, {
178
+ headers,
179
+ settings,
180
+ streaming: opts.streaming,
181
+ }, opts.usage, requestCallback, this.requestDataProcessor?.bind(this));
182
+ });
183
+ },
184
+ };
185
+ export { StripeResource };
@@ -0,0 +1,104 @@
1
+ import { Decimal } from './Decimal.js';
2
+ /**
3
+ * Coerces outbound V2 request data by converting bigint (or number)
4
+ * int64_string fields to strings, matching the wire format expected by the API.
5
+ *
6
+ * Walks the schema tree and only touches fields that are marked as
7
+ * int64_string. All other values are left unchanged.
8
+ */
9
+ export const coerceV2RequestData = (data, schema) => {
10
+ if (data == null) {
11
+ return data;
12
+ }
13
+ switch (schema.kind) {
14
+ case 'int64_string':
15
+ return typeof data === 'bigint' || typeof data === 'number'
16
+ ? String(data)
17
+ : data;
18
+ case 'decimal_string':
19
+ // Duck-type check: Decimal instances have toFixed() and isZero() methods.
20
+ return typeof data.toFixed === 'function' &&
21
+ typeof data.isZero === 'function'
22
+ ? data.toString()
23
+ : data;
24
+ case 'object': {
25
+ if (typeof data !== 'object' || Array.isArray(data)) {
26
+ return data;
27
+ }
28
+ const obj = data;
29
+ const result = {};
30
+ for (const key of Object.keys(obj)) {
31
+ const fieldSchema = schema.fields[key];
32
+ result[key] = fieldSchema
33
+ ? coerceV2RequestData(obj[key], fieldSchema)
34
+ : obj[key];
35
+ }
36
+ return result;
37
+ }
38
+ case 'array': {
39
+ if (!Array.isArray(data)) {
40
+ return data;
41
+ }
42
+ return data.map((element) => coerceV2RequestData(element, schema.element));
43
+ }
44
+ case 'nullable':
45
+ return coerceV2RequestData(data, schema.inner);
46
+ }
47
+ };
48
+ /**
49
+ * Coerces inbound V2 response data by converting string int64_string fields
50
+ * to bigints, matching the SDK's public type contract.
51
+ *
52
+ * Walks the schema tree and only touches fields that are marked as
53
+ * int64_string. All other values are left unchanged.
54
+ */
55
+ export const coerceV2ResponseData = (data, schema) => {
56
+ if (data == null) {
57
+ return data;
58
+ }
59
+ switch (schema.kind) {
60
+ case 'int64_string':
61
+ if (typeof data === 'string') {
62
+ try {
63
+ return BigInt(data);
64
+ }
65
+ catch {
66
+ throw new Error(`Failed to coerce int64_string value: expected an integer string, got '${data}'`);
67
+ }
68
+ }
69
+ return data;
70
+ case 'decimal_string':
71
+ if (typeof data === 'string') {
72
+ try {
73
+ return Decimal.from(data);
74
+ }
75
+ catch {
76
+ throw new Error(`Failed to coerce decimal_string value: expected a decimal string, got '${data}'`);
77
+ }
78
+ }
79
+ return data;
80
+ case 'object': {
81
+ if (typeof data !== 'object' || Array.isArray(data)) {
82
+ return data;
83
+ }
84
+ const obj = data;
85
+ for (const key of Object.keys(schema.fields)) {
86
+ if (key in obj) {
87
+ obj[key] = coerceV2ResponseData(obj[key], schema.fields[key]);
88
+ }
89
+ }
90
+ return obj;
91
+ }
92
+ case 'array': {
93
+ if (!Array.isArray(data)) {
94
+ return data;
95
+ }
96
+ for (let i = 0; i < data.length; i++) {
97
+ data[i] = coerceV2ResponseData(data[i], schema.element);
98
+ }
99
+ return data;
100
+ }
101
+ case 'nullable':
102
+ return coerceV2ResponseData(data, schema.inner);
103
+ }
104
+ };
@@ -0,0 +1,221 @@
1
+ import { StripeError, StripeSignatureVerificationError } from './Error.js';
2
+ import { CryptoProviderOnlySupportsAsyncError, } from './crypto/CryptoProvider.js';
3
+ export function createWebhooks(platformFunctions) {
4
+ const Webhook = {
5
+ DEFAULT_TOLERANCE: 300,
6
+ signature: null,
7
+ constructEvent(payload, header, secret, tolerance, cryptoProvider, receivedAt) {
8
+ try {
9
+ if (!this.signature) {
10
+ throw new Error('ERR: missing signature helper, unable to verify');
11
+ }
12
+ this.signature.verifyHeader(payload, header, secret, tolerance || Webhook.DEFAULT_TOLERANCE, cryptoProvider, receivedAt);
13
+ }
14
+ catch (e) {
15
+ if (e instanceof CryptoProviderOnlySupportsAsyncError) {
16
+ e.message +=
17
+ '\nUse `await constructEventAsync(...)` instead of `constructEvent(...)`';
18
+ }
19
+ throw e;
20
+ }
21
+ const jsonPayload = payload instanceof Uint8Array
22
+ ? JSON.parse(new TextDecoder('utf8').decode(payload))
23
+ : JSON.parse(payload);
24
+ if (jsonPayload && jsonPayload.object === 'v2.core.event') {
25
+ throw new Error('You passed an event notification to stripe.webhooks.constructEvent, which expects a webhook payload. Use stripe.parseEventNotification instead.');
26
+ }
27
+ return jsonPayload;
28
+ },
29
+ async constructEventAsync(payload, header, secret, tolerance, cryptoProvider, receivedAt) {
30
+ if (!this.signature) {
31
+ throw new Error('ERR: missing signature helper, unable to verify');
32
+ }
33
+ await this.signature.verifyHeaderAsync(payload, header, secret, tolerance || Webhook.DEFAULT_TOLERANCE, cryptoProvider, receivedAt);
34
+ const jsonPayload = payload instanceof Uint8Array
35
+ ? JSON.parse(new TextDecoder('utf8').decode(payload))
36
+ : JSON.parse(payload);
37
+ if (jsonPayload && jsonPayload.object === 'v2.core.event') {
38
+ throw new Error('You passed an event notification to stripe.webhooks.constructEvent, which expects a webhook payload. Use stripe.parseEventNotification instead.');
39
+ }
40
+ return jsonPayload;
41
+ },
42
+ /**
43
+ * Generates a header to be used for webhook mocking
44
+ *
45
+ * @typedef {object} opts
46
+ * @property {number} timestamp - Timestamp of the header. Defaults to Date.now()
47
+ * @property {string} payload - JSON stringified payload object, containing the 'id' and 'object' parameters
48
+ * @property {string} secret - Stripe webhook secret 'whsec_...'
49
+ * @property {string} scheme - Version of API to hit. Defaults to 'v1'.
50
+ * @property {string} signature - Computed webhook signature
51
+ * @property {CryptoProvider} cryptoProvider - Crypto provider to use for computing the signature if none was provided. Defaults to NodeCryptoProvider.
52
+ */
53
+ generateTestHeaderString: function (opts) {
54
+ const preparedOpts = prepareOptions(opts);
55
+ const signature = preparedOpts.signature ||
56
+ preparedOpts.cryptoProvider.computeHMACSignature(preparedOpts.payloadString, preparedOpts.secret);
57
+ return preparedOpts.generateHeaderString(signature);
58
+ },
59
+ generateTestHeaderStringAsync: async function (opts) {
60
+ const preparedOpts = prepareOptions(opts);
61
+ const signature = preparedOpts.signature ||
62
+ (await preparedOpts.cryptoProvider.computeHMACSignatureAsync(preparedOpts.payloadString, preparedOpts.secret));
63
+ return preparedOpts.generateHeaderString(signature);
64
+ },
65
+ };
66
+ const signature = {
67
+ EXPECTED_SCHEME: 'v1',
68
+ verifyHeader(encodedPayload, encodedHeader, secret, tolerance, cryptoProvider, receivedAt) {
69
+ const { decodedHeader: header, decodedPayload: payload, details, suspectPayloadType, } = parseEventDetails(encodedPayload, encodedHeader, this.EXPECTED_SCHEME);
70
+ const secretContainsWhitespace = /\s/.test(secret);
71
+ cryptoProvider = cryptoProvider || getCryptoProvider();
72
+ const expectedSignature = cryptoProvider.computeHMACSignature(makeHMACContent(payload, details), secret);
73
+ validateComputedSignature(payload, header, details, expectedSignature, tolerance, suspectPayloadType, secretContainsWhitespace, receivedAt);
74
+ return true;
75
+ },
76
+ async verifyHeaderAsync(encodedPayload, encodedHeader, secret, tolerance, cryptoProvider, receivedAt) {
77
+ const { decodedHeader: header, decodedPayload: payload, details, suspectPayloadType, } = parseEventDetails(encodedPayload, encodedHeader, this.EXPECTED_SCHEME);
78
+ const secretContainsWhitespace = /\s/.test(secret);
79
+ cryptoProvider = cryptoProvider || getCryptoProvider();
80
+ const expectedSignature = await cryptoProvider.computeHMACSignatureAsync(makeHMACContent(payload, details), secret);
81
+ return validateComputedSignature(payload, header, details, expectedSignature, tolerance, suspectPayloadType, secretContainsWhitespace, receivedAt);
82
+ },
83
+ };
84
+ function makeHMACContent(payload, details) {
85
+ return `${details.timestamp}.${payload}`;
86
+ }
87
+ function parseEventDetails(encodedPayload, encodedHeader, expectedScheme) {
88
+ if (!encodedPayload) {
89
+ throw new StripeSignatureVerificationError(encodedHeader, encodedPayload, {
90
+ message: 'No webhook payload was provided.',
91
+ });
92
+ }
93
+ const suspectPayloadType = typeof encodedPayload != 'string' &&
94
+ !(encodedPayload instanceof Uint8Array);
95
+ const textDecoder = new TextDecoder('utf8');
96
+ const decodedPayload = encodedPayload instanceof Uint8Array
97
+ ? textDecoder.decode(encodedPayload)
98
+ : encodedPayload;
99
+ // Express's type for `Request#headers` is `string | []string`
100
+ // which is because the `set-cookie` header is an array,
101
+ // but no other headers are an array (docs: https://nodejs.org/api/http.html#http_message_headers)
102
+ // (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)
103
+ if (Array.isArray(encodedHeader)) {
104
+ throw new Error('Unexpected: An array was passed as a header, which should not be possible for the stripe-signature header.');
105
+ }
106
+ if (encodedHeader == null || encodedHeader == '') {
107
+ throw new StripeSignatureVerificationError(encodedHeader, encodedPayload, {
108
+ message: 'No stripe-signature header value was provided.',
109
+ });
110
+ }
111
+ const decodedHeader = encodedHeader instanceof Uint8Array
112
+ ? textDecoder.decode(encodedHeader)
113
+ : encodedHeader;
114
+ const details = parseHeader(decodedHeader, expectedScheme);
115
+ if (!details || details.timestamp === -1) {
116
+ throw new StripeSignatureVerificationError(decodedHeader, decodedPayload, {
117
+ message: 'Unable to extract timestamp and signatures from header',
118
+ });
119
+ }
120
+ if (!details.signatures.length) {
121
+ throw new StripeSignatureVerificationError(decodedHeader, decodedPayload, {
122
+ message: 'No signatures found with expected scheme',
123
+ });
124
+ }
125
+ return {
126
+ decodedPayload,
127
+ decodedHeader,
128
+ details,
129
+ suspectPayloadType,
130
+ };
131
+ }
132
+ function validateComputedSignature(payload, header, details, expectedSignature, tolerance, suspectPayloadType, secretContainsWhitespace, receivedAt) {
133
+ const signatureFound = !!details.signatures.filter(platformFunctions.secureCompare.bind(platformFunctions, expectedSignature)).length;
134
+ const docsLocation = '\nLearn more about webhook signing and explore webhook integration examples for various frameworks at ' +
135
+ 'https://docs.stripe.com/webhooks/signature';
136
+ const whitespaceMessage = secretContainsWhitespace
137
+ ? '\n\nNote: The provided signing secret contains whitespace. This often indicates an extra newline or space is in the value'
138
+ : '';
139
+ if (!signatureFound) {
140
+ if (suspectPayloadType) {
141
+ throw new StripeSignatureVerificationError(header, payload, {
142
+ message: 'Webhook payload must be provided as a string or a Buffer (https://nodejs.org/api/buffer.html) instance representing the _raw_ request body.' +
143
+ 'Payload was provided as a parsed JavaScript object instead. \n' +
144
+ 'Signature verification is impossible without access to the original signed material. \n' +
145
+ docsLocation +
146
+ '\n' +
147
+ whitespaceMessage,
148
+ });
149
+ }
150
+ throw new StripeSignatureVerificationError(header, payload, {
151
+ message: 'No signatures found matching the expected signature for payload.' +
152
+ ' Are you passing the raw request body you received from Stripe? \n' +
153
+ ' If a webhook request is being forwarded by a third-party tool,' +
154
+ ' ensure that the exact request body, including JSON formatting and new line style, is preserved.\n' +
155
+ docsLocation +
156
+ '\n' +
157
+ whitespaceMessage,
158
+ });
159
+ }
160
+ const timestampAge = Math.floor((typeof receivedAt === 'number' ? receivedAt : Date.now()) / 1000) - details.timestamp;
161
+ if (tolerance > 0 && timestampAge > tolerance) {
162
+ throw new StripeSignatureVerificationError(header, payload, {
163
+ message: 'Timestamp outside the tolerance zone',
164
+ });
165
+ }
166
+ return true;
167
+ }
168
+ function parseHeader(header, scheme) {
169
+ if (typeof header !== 'string') {
170
+ return null;
171
+ }
172
+ return header.split(',').reduce((accum, item) => {
173
+ const kv = item.split('=');
174
+ if (kv[0] === 't') {
175
+ accum.timestamp = parseInt(kv[1], 10);
176
+ }
177
+ if (kv[0] === scheme) {
178
+ accum.signatures.push(kv[1]);
179
+ }
180
+ return accum;
181
+ }, {
182
+ timestamp: -1,
183
+ signatures: [],
184
+ });
185
+ }
186
+ let webhooksCryptoProviderInstance = null;
187
+ /**
188
+ * Lazily instantiate a CryptoProvider instance. This is a stateless object
189
+ * so a singleton can be used here.
190
+ */
191
+ function getCryptoProvider() {
192
+ if (!webhooksCryptoProviderInstance) {
193
+ webhooksCryptoProviderInstance = platformFunctions.createDefaultCryptoProvider();
194
+ }
195
+ return webhooksCryptoProviderInstance;
196
+ }
197
+ function prepareOptions(opts) {
198
+ if (!opts) {
199
+ throw new StripeError({
200
+ message: 'Options are required',
201
+ });
202
+ }
203
+ const timestamp = Math.floor(opts.timestamp) || Math.floor(Date.now() / 1000);
204
+ const scheme = opts.scheme || signature.EXPECTED_SCHEME;
205
+ const cryptoProvider = opts.cryptoProvider || getCryptoProvider();
206
+ const payloadString = `${timestamp}.${opts.payload}`;
207
+ const generateHeaderString = (signature) => {
208
+ return `t=${timestamp},${scheme}=${signature}`;
209
+ };
210
+ return {
211
+ ...opts,
212
+ timestamp,
213
+ scheme,
214
+ cryptoProvider,
215
+ payloadString,
216
+ generateHeaderString,
217
+ };
218
+ }
219
+ Webhook.signature = signature;
220
+ return Webhook;
221
+ }
@@ -0,0 +1,3 @@
1
+ // File generated from our OpenAPI spec
2
+ export const ApiVersion = '2026-03-25.dahlia';
3
+ export const ApiMajorVersion = 'dahlia';