stripe 16.9.0 → 16.11.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/CHANGELOG.md +832 -109
  2. package/README.md +33 -0
  3. package/VERSION +1 -1
  4. package/cjs/RequestSender.js +66 -5
  5. package/cjs/StripeResource.js +1 -1
  6. package/cjs/apiVersion.js +2 -1
  7. package/cjs/multipart.js +1 -1
  8. package/cjs/resources/AccountNotices.js +21 -0
  9. package/cjs/resources/Capital/FinancingOffers.js +21 -0
  10. package/cjs/resources/Capital/FinancingSummary.js +12 -0
  11. package/cjs/resources/Capital/FinancingTransactions.js +17 -0
  12. package/cjs/resources/FinancialConnections/Accounts.js +5 -0
  13. package/cjs/resources/FinancialConnections/Institutions.js +17 -0
  14. package/cjs/resources/GiftCards/Cards.js +23 -0
  15. package/cjs/resources/GiftCards/Transactions.js +33 -0
  16. package/cjs/resources/Invoices.js +17 -0
  17. package/cjs/resources/Issuing/CreditUnderwritingRecords.js +33 -0
  18. package/cjs/resources/Margins.js +22 -0
  19. package/cjs/resources/OAuth.js +1 -1
  20. package/cjs/resources/Orders.js +24 -0
  21. package/cjs/resources/PaymentIntents.js +4 -0
  22. package/cjs/resources/QuotePhases.js +22 -0
  23. package/cjs/resources/Quotes.js +32 -0
  24. package/cjs/resources/SubscriptionSchedules.js +4 -0
  25. package/cjs/resources/Tax/Associations.js +9 -0
  26. package/cjs/resources/Tax/Forms.js +20 -0
  27. package/cjs/resources/Terminal/ReaderCollectedData.js +12 -0
  28. package/cjs/resources/Terminal/Readers.js +12 -0
  29. package/cjs/resources.js +42 -10
  30. package/cjs/stripe.core.js +6 -3
  31. package/cjs/utils.js +30 -3
  32. package/esm/RequestSender.js +67 -6
  33. package/esm/StripeResource.js +2 -2
  34. package/esm/apiVersion.js +1 -0
  35. package/esm/multipart.js +2 -2
  36. package/esm/resources/AccountNotices.js +18 -0
  37. package/esm/resources/Capital/FinancingOffers.js +18 -0
  38. package/esm/resources/Capital/FinancingSummary.js +9 -0
  39. package/esm/resources/Capital/FinancingTransactions.js +14 -0
  40. package/esm/resources/FinancialConnections/Accounts.js +5 -0
  41. package/esm/resources/FinancialConnections/Institutions.js +14 -0
  42. package/esm/resources/GiftCards/Cards.js +20 -0
  43. package/esm/resources/GiftCards/Transactions.js +30 -0
  44. package/esm/resources/Invoices.js +17 -0
  45. package/esm/resources/Issuing/CreditUnderwritingRecords.js +30 -0
  46. package/esm/resources/Margins.js +19 -0
  47. package/esm/resources/OAuth.js +2 -2
  48. package/esm/resources/Orders.js +21 -0
  49. package/esm/resources/PaymentIntents.js +4 -0
  50. package/esm/resources/QuotePhases.js +19 -0
  51. package/esm/resources/Quotes.js +32 -0
  52. package/esm/resources/SubscriptionSchedules.js +4 -0
  53. package/esm/resources/Tax/Associations.js +6 -0
  54. package/esm/resources/Tax/Forms.js +17 -0
  55. package/esm/resources/Terminal/ReaderCollectedData.js +9 -0
  56. package/esm/resources/Terminal/Readers.js +12 -0
  57. package/esm/resources.js +28 -0
  58. package/esm/stripe.core.js +6 -3
  59. package/esm/utils.js +27 -1
  60. package/package.json +1 -1
  61. package/types/AccountLinksResource.d.ts +5 -1
  62. package/types/AccountNotices.d.ts +113 -0
  63. package/types/AccountNoticesResource.d.ts +98 -0
  64. package/types/AccountSessions.d.ts +45 -0
  65. package/types/AccountSessionsResource.d.ts +278 -0
  66. package/types/Accounts.d.ts +113 -1
  67. package/types/AccountsResource.d.ts +270 -0
  68. package/types/Billing/AlertsResource.d.ts +10 -0
  69. package/types/Billing/MeterErrorReports.d.ts +106 -0
  70. package/types/Capital/FinancingOffers.d.ts +188 -0
  71. package/types/Capital/FinancingOffersResource.d.ts +97 -0
  72. package/types/Capital/FinancingSummary.d.ts +106 -0
  73. package/types/Capital/FinancingSummaryResource.d.ts +27 -0
  74. package/types/Capital/FinancingTransactions.d.ts +135 -0
  75. package/types/Capital/FinancingTransactionsResource.d.ts +68 -0
  76. package/types/Charges.d.ts +71 -0
  77. package/types/ChargesResource.d.ts +1294 -0
  78. package/types/Checkout/Sessions.d.ts +297 -5
  79. package/types/Checkout/SessionsResource.d.ts +351 -6
  80. package/types/ConfirmationTokens.d.ts +67 -0
  81. package/types/Coupons.d.ts +1 -1
  82. package/types/CouponsResource.d.ts +1 -1
  83. package/types/CreditNotes.d.ts +21 -0
  84. package/types/CreditNotesResource.d.ts +51 -0
  85. package/types/CustomersResource.d.ts +3 -0
  86. package/types/Disputes.d.ts +152 -0
  87. package/types/DisputesResource.d.ts +120 -0
  88. package/types/EventTypes.d.ts +477 -0
  89. package/types/Events.d.ts +86 -0
  90. package/types/FinancialConnections/AccountInferredBalances.d.ts +38 -0
  91. package/types/FinancialConnections/Accounts.d.ts +29 -1
  92. package/types/FinancialConnections/AccountsResource.d.ts +35 -3
  93. package/types/FinancialConnections/Institutions.d.ts +93 -0
  94. package/types/FinancialConnections/InstitutionsResource.d.ts +47 -0
  95. package/types/FinancialConnections/Sessions.d.ts +49 -1
  96. package/types/FinancialConnections/SessionsResource.d.ts +38 -1
  97. package/types/GiftCards/Cards.d.ts +118 -0
  98. package/types/GiftCards/CardsResource.d.ts +159 -0
  99. package/types/GiftCards/Transactions.d.ts +129 -0
  100. package/types/GiftCards/TransactionsResource.d.ts +201 -0
  101. package/types/InvoiceItems.d.ts +5 -0
  102. package/types/InvoiceItemsResource.d.ts +98 -0
  103. package/types/InvoiceLineItems.d.ts +22 -0
  104. package/types/InvoicePayments.d.ts +138 -0
  105. package/types/Invoices.d.ts +117 -1
  106. package/types/InvoicesResource.d.ts +5457 -1799
  107. package/types/Issuing/CardholdersResource.d.ts +2 -1
  108. package/types/Issuing/CreditUnderwritingRecords.d.ts +451 -0
  109. package/types/Issuing/CreditUnderwritingRecordsResource.d.ts +1032 -0
  110. package/types/LineItems.d.ts +7 -0
  111. package/types/Mandates.d.ts +77 -0
  112. package/types/Margins.d.ts +56 -0
  113. package/types/MarginsResource.d.ts +114 -0
  114. package/types/Orders.d.ts +1084 -0
  115. package/types/OrdersResource.d.ts +2765 -0
  116. package/types/PaymentIntents.d.ts +503 -1
  117. package/types/PaymentIntentsResource.d.ts +7003 -3400
  118. package/types/PaymentLinks.d.ts +2 -0
  119. package/types/PaymentLinksResource.d.ts +4 -0
  120. package/types/PaymentMethodConfigurations.d.ts +36 -0
  121. package/types/PaymentMethodConfigurationsResource.d.ts +50 -0
  122. package/types/PaymentMethods.d.ts +67 -0
  123. package/types/PaymentMethodsResource.d.ts +88 -0
  124. package/types/Prices.d.ts +22 -0
  125. package/types/PricesResource.d.ts +22 -0
  126. package/types/Products.d.ts +39 -0
  127. package/types/ProductsResource.d.ts +36 -0
  128. package/types/QuoteLines.d.ts +634 -0
  129. package/types/QuotePhases.d.ts +198 -0
  130. package/types/QuotePhasesResource.d.ts +67 -0
  131. package/types/QuotePreviewInvoices.d.ts +1532 -0
  132. package/types/QuotePreviewSubscriptionSchedules.d.ts +814 -0
  133. package/types/Quotes.d.ts +596 -1
  134. package/types/QuotesResource.d.ts +2526 -194
  135. package/types/SetupAttempts.d.ts +10 -0
  136. package/types/SetupIntents.d.ts +111 -1
  137. package/types/SetupIntentsResource.d.ts +522 -3
  138. package/types/Sources.d.ts +23 -0
  139. package/types/SubscriptionItems.d.ts +21 -0
  140. package/types/SubscriptionItemsResource.d.ts +109 -0
  141. package/types/SubscriptionSchedules.d.ts +200 -0
  142. package/types/SubscriptionSchedulesResource.d.ts +1234 -16
  143. package/types/Subscriptions.d.ts +82 -1
  144. package/types/SubscriptionsResource.d.ts +347 -2
  145. package/types/Tax/Associations.d.ts +126 -0
  146. package/types/Tax/AssociationsResource.d.ts +29 -0
  147. package/types/Tax/Forms.d.ts +133 -0
  148. package/types/Tax/FormsResource.d.ts +90 -0
  149. package/types/Terminal/ReaderCollectedData.d.ts +51 -0
  150. package/types/Terminal/ReaderCollectedDataResource.d.ts +29 -0
  151. package/types/Terminal/Readers.d.ts +278 -0
  152. package/types/Terminal/ReadersResource.d.ts +212 -4
  153. package/types/TestHelpers/ConfirmationTokensResource.d.ts +63 -0
  154. package/types/TestHelpers/Treasury/ReceivedCreditsResource.d.ts +26 -0
  155. package/types/TestHelpers/Treasury/ReceivedDebitsResource.d.ts +26 -0
  156. package/types/Transfers.d.ts +1 -1
  157. package/types/Treasury/FinancialAccounts.d.ts +5 -0
  158. package/types/Treasury/FinancialAccountsResource.d.ts +10 -0
  159. package/types/Treasury/OutboundTransfers.d.ts +26 -0
  160. package/types/Treasury/OutboundTransfersResource.d.ts +26 -0
  161. package/types/Treasury/ReceivedCredits.d.ts +26 -0
  162. package/types/Treasury/ReceivedDebits.d.ts +31 -0
  163. package/types/WebhookEndpointsResource.d.ts +56 -0
  164. package/types/index.d.ts +71 -0
  165. package/types/lib.d.ts +12 -0
@@ -43,6 +43,11 @@ declare module 'stripe' {
43
43
  */
44
44
  invoice?: string;
45
45
 
46
+ /**
47
+ * The ids of the margins to apply to the invoice item. When set, the `default_margins` on the invoice do not apply to this invoice item.
48
+ */
49
+ margins?: Array<string>;
50
+
46
51
  /**
47
52
  * Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
48
53
  */
@@ -111,12 +116,56 @@ declare module 'stripe' {
111
116
  */
112
117
  discount?: string;
113
118
 
119
+ /**
120
+ * Details to determine how long the discount should be applied for.
121
+ */
122
+ discount_end?: Discount.DiscountEnd;
123
+
114
124
  /**
115
125
  * ID of the promotion code to create a new discount for.
116
126
  */
117
127
  promotion_code?: string;
118
128
  }
119
129
 
130
+ namespace Discount {
131
+ interface DiscountEnd {
132
+ /**
133
+ * Time span for the redeemed discount.
134
+ */
135
+ duration?: DiscountEnd.Duration;
136
+
137
+ /**
138
+ * A precise Unix timestamp for the discount to end. Must be in the future.
139
+ */
140
+ timestamp?: number;
141
+
142
+ /**
143
+ * The type of calculation made to determine when the discount ends.
144
+ */
145
+ type: DiscountEnd.Type;
146
+ }
147
+
148
+ namespace DiscountEnd {
149
+ interface Duration {
150
+ /**
151
+ * Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
152
+ */
153
+ interval: Duration.Interval;
154
+
155
+ /**
156
+ * The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
157
+ */
158
+ interval_count: number;
159
+ }
160
+
161
+ namespace Duration {
162
+ type Interval = 'day' | 'month' | 'week' | 'year';
163
+ }
164
+
165
+ type Type = 'duration' | 'timestamp';
166
+ }
167
+ }
168
+
120
169
  interface Period {
121
170
  /**
122
171
  * The end of the period, which must be greater than or equal to the start. This value is inclusive.
@@ -196,6 +245,11 @@ declare module 'stripe' {
196
245
  */
197
246
  expand?: Array<string>;
198
247
 
248
+ /**
249
+ * The ids of the margins to apply to the invoice item. When set, the `default_margins` on the invoice do not apply to this invoice item.
250
+ */
251
+ margins?: Stripe.Emptyable<Array<string>>;
252
+
199
253
  /**
200
254
  * Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
201
255
  */
@@ -259,12 +313,56 @@ declare module 'stripe' {
259
313
  */
260
314
  discount?: string;
261
315
 
316
+ /**
317
+ * Details to determine how long the discount should be applied for.
318
+ */
319
+ discount_end?: Discount.DiscountEnd;
320
+
262
321
  /**
263
322
  * ID of the promotion code to create a new discount for.
264
323
  */
265
324
  promotion_code?: string;
266
325
  }
267
326
 
327
+ namespace Discount {
328
+ interface DiscountEnd {
329
+ /**
330
+ * Time span for the redeemed discount.
331
+ */
332
+ duration?: DiscountEnd.Duration;
333
+
334
+ /**
335
+ * A precise Unix timestamp for the discount to end. Must be in the future.
336
+ */
337
+ timestamp?: number;
338
+
339
+ /**
340
+ * The type of calculation made to determine when the discount ends.
341
+ */
342
+ type: DiscountEnd.Type;
343
+ }
344
+
345
+ namespace DiscountEnd {
346
+ interface Duration {
347
+ /**
348
+ * Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
349
+ */
350
+ interval: Duration.Interval;
351
+
352
+ /**
353
+ * The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
354
+ */
355
+ interval_count: number;
356
+ }
357
+
358
+ namespace Duration {
359
+ type Interval = 'day' | 'month' | 'week' | 'year';
360
+ }
361
+
362
+ type Type = 'duration' | 'timestamp';
363
+ }
364
+ }
365
+
268
366
  interface Period {
269
367
  /**
270
368
  * The end of the period, which must be greater than or equal to the start. This value is inclusive.
@@ -68,6 +68,16 @@ declare module 'stripe' {
68
68
  */
69
69
  livemode: boolean;
70
70
 
71
+ /**
72
+ * The amount of margin calculated per margin for this line item.
73
+ */
74
+ margin_amounts?: Array<InvoiceLineItem.MarginAmount> | null;
75
+
76
+ /**
77
+ * The margins applied to the line item. When set, the `default_margins` on the invoice do not apply to the line item. Use `expand[]=margins` to expand each margin.
78
+ */
79
+ margins?: Array<string | Stripe.Margin> | null;
80
+
71
81
  /**
72
82
  * Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Note that for line items with `type=subscription`, `metadata` reflects the current metadata from the subscription associated with the line item, unless the invoice line was directly updated with different metadata after creation.
73
83
  */
@@ -144,6 +154,18 @@ declare module 'stripe' {
144
154
  discount: string | Stripe.Discount | Stripe.DeletedDiscount;
145
155
  }
146
156
 
157
+ interface MarginAmount {
158
+ /**
159
+ * The amount, in cents (or local equivalent), of the reduction in line item amount.
160
+ */
161
+ amount: number;
162
+
163
+ /**
164
+ * The margin that was applied to get this margin amount.
165
+ */
166
+ margin: string | Stripe.Margin;
167
+ }
168
+
147
169
  interface Period {
148
170
  /**
149
171
  * The end of the period, which must be greater than or equal to the start. This value is inclusive.
@@ -0,0 +1,138 @@
1
+ // File generated from our OpenAPI spec
2
+
3
+ declare module 'stripe' {
4
+ namespace Stripe {
5
+ /**
6
+ * The invoice payment object
7
+ */
8
+ interface InvoicePayment {
9
+ /**
10
+ * Unique identifier for the object.
11
+ */
12
+ id: string;
13
+
14
+ /**
15
+ * String representing the object's type. Objects of the same type share the same value.
16
+ */
17
+ object: 'invoice_payment';
18
+
19
+ /**
20
+ * Excess payment that was received for this invoice and credited to the customer's `invoice_credit_balance`. This field is null until the payment is `paid`. Overpayment can happen when you attach more than one PaymentIntent to the invoice, and each of them succeeds. To avoid overpayment, cancel any PaymentIntents that you do not need before attaching more.
21
+ */
22
+ amount_overpaid: number | null;
23
+
24
+ /**
25
+ * Amount that was actually paid for this invoice, in cents (or local equivalent). This field is null until the payment is `paid`. This amount can be less than the `amount_requested` if the PaymentIntent's `amount_received` is not sufficient to pay all of the invoices that it is attached to.
26
+ */
27
+ amount_paid: number | null;
28
+
29
+ /**
30
+ * Amount intended to be paid toward this invoice, in cents (or local equivalent)
31
+ */
32
+ amount_requested: number;
33
+
34
+ /**
35
+ * Time at which the object was created. Measured in seconds since the Unix epoch.
36
+ */
37
+ created: number;
38
+
39
+ /**
40
+ * Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
41
+ */
42
+ currency: string;
43
+
44
+ /**
45
+ * The invoice that was paid.
46
+ */
47
+ invoice: string | Stripe.Invoice | Stripe.DeletedInvoice;
48
+
49
+ /**
50
+ * Stripe automatically creates a default InvoicePayment when the invoice is finalized, and keeps it synchronized with the invoice's `amount_remaining`. The PaymentIntent associated with the default payment can't be edited or canceled directly.
51
+ */
52
+ is_default: boolean | null;
53
+
54
+ /**
55
+ * Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
56
+ */
57
+ livemode: boolean;
58
+
59
+ payment: InvoicePayment.Payment;
60
+
61
+ /**
62
+ * The status of the payment, one of `open`, `paid`, or `canceled`.
63
+ */
64
+ status: string;
65
+
66
+ status_transitions: InvoicePayment.StatusTransitions;
67
+ }
68
+
69
+ namespace InvoicePayment {
70
+ interface Payment {
71
+ /**
72
+ * ID of the successful charge for this payment when `type` is `charge`.
73
+ */
74
+ charge?: string | Stripe.Charge;
75
+
76
+ out_of_band_payment?: Payment.OutOfBandPayment;
77
+
78
+ /**
79
+ * ID of the PaymentIntent associated with this payment when `type` is `payment_intent`. Note: This property is only populated for invoices finalized on or after March 15th, 2019.
80
+ */
81
+ payment_intent?: string | Stripe.PaymentIntent;
82
+
83
+ /**
84
+ * Type of payment object associated with this invoice payment.
85
+ */
86
+ type: Payment.Type;
87
+ }
88
+
89
+ namespace Payment {
90
+ interface OutOfBandPayment {
91
+ /**
92
+ * Amount paid on this out of band payment, in cents (or local equivalent)
93
+ */
94
+ amount: number;
95
+
96
+ /**
97
+ * Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
98
+ */
99
+ currency: string;
100
+
101
+ /**
102
+ * Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
103
+ */
104
+ metadata: Stripe.Metadata | null;
105
+
106
+ /**
107
+ * The type of money movement for this out of band payment record.
108
+ */
109
+ money_movement_type: string;
110
+
111
+ /**
112
+ * The timestamp when this out of band payment was paid.
113
+ */
114
+ paid_at: number | null;
115
+
116
+ /**
117
+ * The reference for this out of band payment record.
118
+ */
119
+ payment_reference: string | null;
120
+ }
121
+
122
+ type Type = 'charge' | 'out_of_band_payment' | 'payment_intent';
123
+ }
124
+
125
+ interface StatusTransitions {
126
+ /**
127
+ * The time that the payment was canceled.
128
+ */
129
+ canceled_at: number | null;
130
+
131
+ /**
132
+ * The time that the payment succeeded.
133
+ */
134
+ paid_at: number | null;
135
+ }
136
+ }
137
+ }
138
+ }
@@ -104,6 +104,11 @@ declare module 'stripe' {
104
104
  */
105
105
  amount_shipping: number;
106
106
 
107
+ /**
108
+ * List of expected payments and corresponding due dates. This value will be null for invoices where collection_method=charge_automatically.
109
+ */
110
+ amounts_due?: Array<Invoice.AmountsDue> | null;
111
+
107
112
  /**
108
113
  * ID of the Connect Application that created the invoice.
109
114
  */
@@ -213,6 +218,11 @@ declare module 'stripe' {
213
218
  */
214
219
  customer_tax_ids?: Array<Invoice.CustomerTaxId> | null;
215
220
 
221
+ /**
222
+ * The margins applied to the invoice. Can be overridden by line item `margins`. Use `expand[]=default_margins` to expand each margin.
223
+ */
224
+ default_margins?: Array<string | Stripe.Margin> | null;
225
+
216
226
  /**
217
227
  * ID of the default payment method for the invoice. It must belong to the customer associated with the invoice. If not set, defaults to the subscription's default payment method, if any, or to the default payment method in the customer's invoice settings.
218
228
  */
@@ -342,6 +352,11 @@ declare module 'stripe' {
342
352
 
343
353
  payment_settings: Invoice.PaymentSettings;
344
354
 
355
+ /**
356
+ * Payments for this invoice
357
+ */
358
+ payments?: ApiList<Stripe.InvoicePayment>;
359
+
345
360
  /**
346
361
  * End of the usage period during which invoice items were added to this invoice. This looks back one period for a subscription invoice. Use the [line item period](https://stripe.com/api/invoices/line_item#invoice_line_item_object-period) to get the service period for each price.
347
362
  */
@@ -456,6 +471,11 @@ declare module 'stripe' {
456
471
  */
457
472
  total_excluding_tax: number | null;
458
473
 
474
+ /**
475
+ * The aggregate amounts calculated per margin across all line items.
476
+ */
477
+ total_margin_amounts?: Array<Invoice.TotalMarginAmount> | null;
478
+
459
479
  /**
460
480
  * The aggregate amounts calculated per tax rate for all line items.
461
481
  */
@@ -473,6 +493,52 @@ declare module 'stripe' {
473
493
  }
474
494
 
475
495
  namespace Invoice {
496
+ interface AmountsDue {
497
+ /**
498
+ * Incremental amount due for this payment in cents (or local equivalent).
499
+ */
500
+ amount: number;
501
+
502
+ /**
503
+ * The amount in cents (or local equivalent) that was paid for this payment.
504
+ */
505
+ amount_paid: number;
506
+
507
+ /**
508
+ * The difference between the payment's amount and amount_paid, in cents (or local equivalent).
509
+ */
510
+ amount_remaining: number;
511
+
512
+ /**
513
+ * Number of days from when invoice is finalized until the payment is due.
514
+ */
515
+ days_until_due: number | null;
516
+
517
+ /**
518
+ * An arbitrary string attached to the object. Often useful for displaying to users.
519
+ */
520
+ description: string | null;
521
+
522
+ /**
523
+ * Date on which a payment plan's payment is due.
524
+ */
525
+ due_date: number | null;
526
+
527
+ /**
528
+ * Timestamp when the payment was paid.
529
+ */
530
+ paid_at: number | null;
531
+
532
+ /**
533
+ * The status of the payment, one of `open`, `paid`, or `past_due`
534
+ */
535
+ status: AmountsDue.Status;
536
+ }
537
+
538
+ namespace AmountsDue {
539
+ type Status = 'open' | 'paid' | 'past_due';
540
+ }
541
+
476
542
  interface AutomaticTax {
477
543
  /**
478
544
  * Whether Stripe automatically computes tax on this invoice. Note that incompatible invoice items (invoice items with manually specified [tax rates](https://stripe.com/docs/api/tax_rates), negative amounts, or `tax_behavior=unspecified`) cannot be added to automatic tax invoices.
@@ -828,11 +894,15 @@ declare module 'stripe' {
828
894
  | 'email_invalid'
829
895
  | 'expired_card'
830
896
  | 'financial_connections_account_inactive'
897
+ | 'financial_connections_institution_unavailable'
831
898
  | 'financial_connections_no_successful_transaction_refresh'
832
899
  | 'forwarding_api_inactive'
833
900
  | 'forwarding_api_invalid_parameter'
834
901
  | 'forwarding_api_upstream_connection_error'
835
902
  | 'forwarding_api_upstream_connection_timeout'
903
+ | 'gift_card_balance_insufficient'
904
+ | 'gift_card_code_exists'
905
+ | 'gift_card_inactive'
836
906
  | 'idempotency_key_in_use'
837
907
  | 'incorrect_address'
838
908
  | 'incorrect_cvc'
@@ -922,6 +992,7 @@ declare module 'stripe' {
922
992
  | 'return_intent_already_processed'
923
993
  | 'routing_number_invalid'
924
994
  | 'secret_key_required'
995
+ | 'sensitive_data_access_expired'
925
996
  | 'sepa_unsupported_account'
926
997
  | 'setup_attempt_failed'
927
998
  | 'setup_intent_authentication_failure'
@@ -939,6 +1010,7 @@ declare module 'stripe' {
939
1010
  | 'taxes_calculation_failed'
940
1011
  | 'terminal_location_country_unsupported'
941
1012
  | 'terminal_reader_busy'
1013
+ | 'terminal_reader_collected_data_invalid'
942
1014
  | 'terminal_reader_hardware_fault'
943
1015
  | 'terminal_reader_invalid_location_for_payment'
944
1016
  | 'terminal_reader_offline'
@@ -1137,6 +1209,11 @@ declare module 'stripe' {
1137
1209
  * The account subcategories to use to filter for possible accounts to link. Valid subcategories are `checking` and `savings`.
1138
1210
  */
1139
1211
  account_subcategories?: Array<Filters.AccountSubcategory>;
1212
+
1213
+ /**
1214
+ * The institution to use to filter for possible accounts to link.
1215
+ */
1216
+ institution?: string;
1140
1217
  }
1141
1218
 
1142
1219
  namespace Filters {
@@ -1149,7 +1226,11 @@ declare module 'stripe' {
1149
1226
  | 'payment_method'
1150
1227
  | 'transactions';
1151
1228
 
1152
- type Prefetch = 'balances' | 'ownership' | 'transactions';
1229
+ type Prefetch =
1230
+ | 'balances'
1231
+ | 'inferred_balances'
1232
+ | 'ownership'
1233
+ | 'transactions';
1153
1234
  }
1154
1235
 
1155
1236
  type VerificationMethod = 'automatic' | 'instant' | 'microdeposits';
@@ -1340,6 +1421,29 @@ declare module 'stripe' {
1340
1421
  * *Note: This attribute is populated only for invoices created on or after June 29, 2023.*
1341
1422
  */
1342
1423
  metadata: Stripe.Metadata | null;
1424
+
1425
+ /**
1426
+ * If specified, payment collection for this subscription will be paused. Note that the subscription status will be unchanged and will not be updated to `paused`. Learn more about [pausing collection](https://stripe.com/billing/subscriptions/pause-payment).
1427
+ */
1428
+ pause_collection?: SubscriptionDetails.PauseCollection | null;
1429
+ }
1430
+
1431
+ namespace SubscriptionDetails {
1432
+ interface PauseCollection {
1433
+ /**
1434
+ * The payment collection behavior for this subscription while paused. One of `keep_as_draft`, `mark_uncollectible`, or `void`.
1435
+ */
1436
+ behavior: PauseCollection.Behavior;
1437
+
1438
+ /**
1439
+ * The time after which the subscription will resume collecting payments.
1440
+ */
1441
+ resumes_at: number | null;
1442
+ }
1443
+
1444
+ namespace PauseCollection {
1445
+ type Behavior = 'keep_as_draft' | 'mark_uncollectible' | 'void';
1446
+ }
1343
1447
  }
1344
1448
 
1345
1449
  interface ThresholdReason {
@@ -1380,6 +1484,18 @@ declare module 'stripe' {
1380
1484
  discount: string | Stripe.Discount | Stripe.DeletedDiscount;
1381
1485
  }
1382
1486
 
1487
+ interface TotalMarginAmount {
1488
+ /**
1489
+ * The amount, in cents (or local equivalent), of the reduction in line item amount.
1490
+ */
1491
+ amount: number;
1492
+
1493
+ /**
1494
+ * The margin that was applied to get this margin amount.
1495
+ */
1496
+ margin: string | Stripe.Margin;
1497
+ }
1498
+
1383
1499
  interface TotalTaxAmount {
1384
1500
  /**
1385
1501
  * The amount, in cents (or local equivalent), of the tax.