stripe 17.1.0 → 17.2.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 (153) hide show
  1. package/CHANGELOG.md +874 -112
  2. package/README.md +6 -7
  3. package/VERSION +1 -1
  4. package/cjs/resources/AccountNotices.js +21 -0
  5. package/cjs/resources/Capital/FinancingOffers.js +21 -0
  6. package/cjs/resources/Capital/FinancingSummary.js +12 -0
  7. package/cjs/resources/Capital/FinancingTransactions.js +17 -0
  8. package/cjs/resources/FinancialConnections/Accounts.js +5 -0
  9. package/cjs/resources/FinancialConnections/Institutions.js +17 -0
  10. package/cjs/resources/GiftCards/Cards.js +23 -0
  11. package/cjs/resources/GiftCards/Transactions.js +33 -0
  12. package/cjs/resources/Invoices.js +17 -0
  13. package/cjs/resources/Issuing/CreditUnderwritingRecords.js +33 -0
  14. package/cjs/resources/Issuing/DisputeSettlementDetails.js +17 -0
  15. package/cjs/resources/Margins.js +22 -0
  16. package/cjs/resources/Orders.js +24 -0
  17. package/cjs/resources/PaymentIntents.js +4 -0
  18. package/cjs/resources/Quotes.js +32 -0
  19. package/cjs/resources/SubscriptionSchedules.js +4 -0
  20. package/cjs/resources/Tax/Associations.js +9 -0
  21. package/cjs/resources/Tax/Forms.js +20 -0
  22. package/cjs/resources/Terminal/ReaderCollectedData.js +12 -0
  23. package/cjs/resources/Terminal/Readers.js +12 -0
  24. package/cjs/resources.js +42 -10
  25. package/cjs/stripe.core.js +1 -1
  26. package/esm/resources/AccountNotices.js +18 -0
  27. package/esm/resources/Capital/FinancingOffers.js +18 -0
  28. package/esm/resources/Capital/FinancingSummary.js +9 -0
  29. package/esm/resources/Capital/FinancingTransactions.js +14 -0
  30. package/esm/resources/FinancialConnections/Accounts.js +5 -0
  31. package/esm/resources/FinancialConnections/Institutions.js +14 -0
  32. package/esm/resources/GiftCards/Cards.js +20 -0
  33. package/esm/resources/GiftCards/Transactions.js +30 -0
  34. package/esm/resources/Invoices.js +17 -0
  35. package/esm/resources/Issuing/CreditUnderwritingRecords.js +30 -0
  36. package/esm/resources/Issuing/DisputeSettlementDetails.js +14 -0
  37. package/esm/resources/Margins.js +19 -0
  38. package/esm/resources/Orders.js +21 -0
  39. package/esm/resources/PaymentIntents.js +4 -0
  40. package/esm/resources/Quotes.js +32 -0
  41. package/esm/resources/SubscriptionSchedules.js +4 -0
  42. package/esm/resources/Tax/Associations.js +6 -0
  43. package/esm/resources/Tax/Forms.js +17 -0
  44. package/esm/resources/Terminal/ReaderCollectedData.js +9 -0
  45. package/esm/resources/Terminal/Readers.js +12 -0
  46. package/esm/resources.js +29 -0
  47. package/esm/stripe.core.js +1 -1
  48. package/package.json +1 -1
  49. package/types/AccountLinksResource.d.ts +5 -1
  50. package/types/AccountNotices.d.ts +113 -0
  51. package/types/AccountNoticesResource.d.ts +98 -0
  52. package/types/AccountSessions.d.ts +45 -0
  53. package/types/AccountSessionsResource.d.ts +309 -0
  54. package/types/Accounts.d.ts +113 -1
  55. package/types/AccountsResource.d.ts +270 -0
  56. package/types/Billing/MeterErrorReports.d.ts +106 -0
  57. package/types/Capital/FinancingOffers.d.ts +188 -0
  58. package/types/Capital/FinancingOffersResource.d.ts +97 -0
  59. package/types/Capital/FinancingSummary.d.ts +106 -0
  60. package/types/Capital/FinancingSummaryResource.d.ts +27 -0
  61. package/types/Capital/FinancingTransactions.d.ts +135 -0
  62. package/types/Capital/FinancingTransactionsResource.d.ts +68 -0
  63. package/types/Charges.d.ts +71 -0
  64. package/types/ChargesResource.d.ts +1294 -0
  65. package/types/Checkout/Sessions.d.ts +296 -4
  66. package/types/Checkout/SessionsResource.d.ts +351 -5
  67. package/types/ConfirmationTokens.d.ts +67 -0
  68. package/types/Coupons.d.ts +1 -1
  69. package/types/CouponsResource.d.ts +1 -1
  70. package/types/CreditNotes.d.ts +21 -0
  71. package/types/CreditNotesResource.d.ts +51 -0
  72. package/types/CustomersResource.d.ts +3 -0
  73. package/types/Disputes.d.ts +152 -0
  74. package/types/DisputesResource.d.ts +120 -0
  75. package/types/EventTypes.d.ts +545 -0
  76. package/types/Events.d.ts +90 -0
  77. package/types/FinancialConnections/AccountInferredBalances.d.ts +38 -0
  78. package/types/FinancialConnections/Accounts.d.ts +29 -1
  79. package/types/FinancialConnections/AccountsResource.d.ts +35 -3
  80. package/types/FinancialConnections/Institutions.d.ts +93 -0
  81. package/types/FinancialConnections/InstitutionsResource.d.ts +47 -0
  82. package/types/FinancialConnections/Sessions.d.ts +49 -1
  83. package/types/FinancialConnections/SessionsResource.d.ts +38 -1
  84. package/types/GiftCards/Cards.d.ts +118 -0
  85. package/types/GiftCards/CardsResource.d.ts +159 -0
  86. package/types/GiftCards/Transactions.d.ts +129 -0
  87. package/types/GiftCards/TransactionsResource.d.ts +201 -0
  88. package/types/InvoiceItems.d.ts +5 -0
  89. package/types/InvoiceItemsResource.d.ts +98 -0
  90. package/types/InvoiceLineItems.d.ts +28 -1
  91. package/types/InvoicePayments.d.ts +138 -0
  92. package/types/Invoices.d.ts +123 -2
  93. package/types/InvoicesResource.d.ts +5454 -1796
  94. package/types/Issuing/CardholdersResource.d.ts +2 -1
  95. package/types/Issuing/CreditUnderwritingRecords.d.ts +451 -0
  96. package/types/Issuing/CreditUnderwritingRecordsResource.d.ts +1032 -0
  97. package/types/Issuing/DisputeSettlementDetails.d.ts +73 -0
  98. package/types/Issuing/DisputeSettlementDetailsResource.d.ts +52 -0
  99. package/types/Issuing/Settlements.d.ts +103 -0
  100. package/types/Issuing/Transactions.d.ts +2 -0
  101. package/types/Issuing/TransactionsResource.d.ts +5 -0
  102. package/types/LineItems.d.ts +7 -0
  103. package/types/Mandates.d.ts +77 -0
  104. package/types/Margins.d.ts +56 -0
  105. package/types/MarginsResource.d.ts +114 -0
  106. package/types/Orders.d.ts +1084 -0
  107. package/types/OrdersResource.d.ts +2765 -0
  108. package/types/PaymentIntents.d.ts +503 -1
  109. package/types/PaymentIntentsResource.d.ts +7000 -3400
  110. package/types/PaymentLinks.d.ts +3 -0
  111. package/types/PaymentLinksResource.d.ts +6 -0
  112. package/types/PaymentMethodConfigurations.d.ts +36 -0
  113. package/types/PaymentMethodConfigurationsResource.d.ts +50 -0
  114. package/types/PaymentMethods.d.ts +67 -0
  115. package/types/PaymentMethodsResource.d.ts +88 -0
  116. package/types/Prices.d.ts +22 -0
  117. package/types/PricesResource.d.ts +22 -0
  118. package/types/Products.d.ts +39 -0
  119. package/types/ProductsResource.d.ts +36 -0
  120. package/types/QuoteLines.d.ts +634 -0
  121. package/types/QuotePreviewInvoices.d.ts +1586 -0
  122. package/types/QuotePreviewSubscriptionSchedules.d.ts +814 -0
  123. package/types/Quotes.d.ts +591 -1
  124. package/types/QuotesResource.d.ts +2526 -194
  125. package/types/SetupAttempts.d.ts +10 -0
  126. package/types/SetupIntents.d.ts +111 -1
  127. package/types/SetupIntentsResource.d.ts +522 -3
  128. package/types/Sources.d.ts +23 -0
  129. package/types/SubscriptionItems.d.ts +21 -0
  130. package/types/SubscriptionItemsResource.d.ts +109 -0
  131. package/types/SubscriptionSchedules.d.ts +200 -0
  132. package/types/SubscriptionSchedulesResource.d.ts +1234 -16
  133. package/types/Subscriptions.d.ts +82 -1
  134. package/types/SubscriptionsResource.d.ts +347 -2
  135. package/types/Tax/Associations.d.ts +126 -0
  136. package/types/Tax/AssociationsResource.d.ts +29 -0
  137. package/types/Tax/Forms.d.ts +133 -0
  138. package/types/Tax/FormsResource.d.ts +90 -0
  139. package/types/Terminal/ReaderCollectedData.d.ts +51 -0
  140. package/types/Terminal/ReaderCollectedDataResource.d.ts +29 -0
  141. package/types/Terminal/Readers.d.ts +278 -0
  142. package/types/Terminal/ReadersResource.d.ts +215 -0
  143. package/types/TestHelpers/ConfirmationTokensResource.d.ts +63 -0
  144. package/types/TestHelpers/Treasury/ReceivedCreditsResource.d.ts +26 -0
  145. package/types/TestHelpers/Treasury/ReceivedDebitsResource.d.ts +26 -0
  146. package/types/Treasury/FinancialAccounts.d.ts +5 -0
  147. package/types/Treasury/FinancialAccountsResource.d.ts +10 -0
  148. package/types/Treasury/OutboundTransfers.d.ts +26 -0
  149. package/types/Treasury/OutboundTransfersResource.d.ts +26 -0
  150. package/types/Treasury/ReceivedCredits.d.ts +26 -0
  151. package/types/Treasury/ReceivedDebits.d.ts +31 -0
  152. package/types/WebhookEndpointsResource.d.ts +64 -0
  153. package/types/index.d.ts +53 -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
  */
@@ -146,6 +156,18 @@ declare module 'stripe' {
146
156
  discount: string | Stripe.Discount | Stripe.DeletedDiscount;
147
157
  }
148
158
 
159
+ interface MarginAmount {
160
+ /**
161
+ * The amount, in cents (or local equivalent), of the reduction in line item amount.
162
+ */
163
+ amount: number;
164
+
165
+ /**
166
+ * The margin that was applied to get this margin amount.
167
+ */
168
+ margin: string | Stripe.Margin;
169
+ }
170
+
149
171
  interface Period {
150
172
  /**
151
173
  * The end of the period, which must be greater than or equal to the start. This value is inclusive.
@@ -177,6 +199,11 @@ declare module 'stripe' {
177
199
  */
178
200
  discount?: string | Stripe.Discount | Stripe.DeletedDiscount;
179
201
 
202
+ /**
203
+ * The margin that was applied to get this pretax credit amount.
204
+ */
205
+ margin?: string | Stripe.Margin;
206
+
180
207
  /**
181
208
  * Type of the pretax credit amount referenced.
182
209
  */
@@ -184,7 +211,7 @@ declare module 'stripe' {
184
211
  }
185
212
 
186
213
  namespace PretaxCreditAmount {
187
- type Type = 'credit_balance_transaction' | 'discount';
214
+ type Type = 'credit_balance_transaction' | 'discount' | 'margin';
188
215
  }
189
216
 
190
217
  interface ProrationDetails {
@@ -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
  */
@@ -218,6 +223,11 @@ declare module 'stripe' {
218
223
  */
219
224
  customer_tax_ids?: Array<Invoice.CustomerTaxId> | null;
220
225
 
226
+ /**
227
+ * The margins applied to the invoice. Can be overridden by line item `margins`. Use `expand[]=default_margins` to expand each margin.
228
+ */
229
+ default_margins?: Array<string | Stripe.Margin> | null;
230
+
221
231
  /**
222
232
  * 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.
223
233
  */
@@ -347,6 +357,11 @@ declare module 'stripe' {
347
357
 
348
358
  payment_settings: Invoice.PaymentSettings;
349
359
 
360
+ /**
361
+ * Payments for this invoice
362
+ */
363
+ payments?: ApiList<Stripe.InvoicePayment>;
364
+
350
365
  /**
351
366
  * 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.
352
367
  */
@@ -461,6 +476,11 @@ declare module 'stripe' {
461
476
  */
462
477
  total_excluding_tax: number | null;
463
478
 
479
+ /**
480
+ * The aggregate amounts calculated per margin across all line items.
481
+ */
482
+ total_margin_amounts?: Array<Invoice.TotalMarginAmount> | null;
483
+
464
484
  total_pretax_credit_amounts?: Array<
465
485
  Invoice.TotalPretaxCreditAmount
466
486
  > | null;
@@ -482,6 +502,52 @@ declare module 'stripe' {
482
502
  }
483
503
 
484
504
  namespace Invoice {
505
+ interface AmountsDue {
506
+ /**
507
+ * Incremental amount due for this payment in cents (or local equivalent).
508
+ */
509
+ amount: number;
510
+
511
+ /**
512
+ * The amount in cents (or local equivalent) that was paid for this payment.
513
+ */
514
+ amount_paid: number;
515
+
516
+ /**
517
+ * The difference between the payment's amount and amount_paid, in cents (or local equivalent).
518
+ */
519
+ amount_remaining: number;
520
+
521
+ /**
522
+ * Number of days from when invoice is finalized until the payment is due.
523
+ */
524
+ days_until_due: number | null;
525
+
526
+ /**
527
+ * An arbitrary string attached to the object. Often useful for displaying to users.
528
+ */
529
+ description: string | null;
530
+
531
+ /**
532
+ * Date on which a payment plan's payment is due.
533
+ */
534
+ due_date: number | null;
535
+
536
+ /**
537
+ * Timestamp when the payment was paid.
538
+ */
539
+ paid_at: number | null;
540
+
541
+ /**
542
+ * The status of the payment, one of `open`, `paid`, or `past_due`
543
+ */
544
+ status: AmountsDue.Status;
545
+ }
546
+
547
+ namespace AmountsDue {
548
+ type Status = 'open' | 'paid' | 'past_due';
549
+ }
550
+
485
551
  interface AutomaticTax {
486
552
  /**
487
553
  * 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.
@@ -837,11 +903,15 @@ declare module 'stripe' {
837
903
  | 'email_invalid'
838
904
  | 'expired_card'
839
905
  | 'financial_connections_account_inactive'
906
+ | 'financial_connections_institution_unavailable'
840
907
  | 'financial_connections_no_successful_transaction_refresh'
841
908
  | 'forwarding_api_inactive'
842
909
  | 'forwarding_api_invalid_parameter'
843
910
  | 'forwarding_api_upstream_connection_error'
844
911
  | 'forwarding_api_upstream_connection_timeout'
912
+ | 'gift_card_balance_insufficient'
913
+ | 'gift_card_code_exists'
914
+ | 'gift_card_inactive'
845
915
  | 'idempotency_key_in_use'
846
916
  | 'incorrect_address'
847
917
  | 'incorrect_cvc'
@@ -931,6 +1001,7 @@ declare module 'stripe' {
931
1001
  | 'return_intent_already_processed'
932
1002
  | 'routing_number_invalid'
933
1003
  | 'secret_key_required'
1004
+ | 'sensitive_data_access_expired'
934
1005
  | 'sepa_unsupported_account'
935
1006
  | 'setup_attempt_failed'
936
1007
  | 'setup_intent_authentication_failure'
@@ -948,6 +1019,7 @@ declare module 'stripe' {
948
1019
  | 'taxes_calculation_failed'
949
1020
  | 'terminal_location_country_unsupported'
950
1021
  | 'terminal_reader_busy'
1022
+ | 'terminal_reader_collected_data_invalid'
951
1023
  | 'terminal_reader_hardware_fault'
952
1024
  | 'terminal_reader_invalid_location_for_activation'
953
1025
  | 'terminal_reader_invalid_location_for_payment'
@@ -1147,6 +1219,11 @@ declare module 'stripe' {
1147
1219
  * The account subcategories to use to filter for possible accounts to link. Valid subcategories are `checking` and `savings`.
1148
1220
  */
1149
1221
  account_subcategories?: Array<Filters.AccountSubcategory>;
1222
+
1223
+ /**
1224
+ * The institution to use to filter for possible accounts to link.
1225
+ */
1226
+ institution?: string;
1150
1227
  }
1151
1228
 
1152
1229
  namespace Filters {
@@ -1159,7 +1236,11 @@ declare module 'stripe' {
1159
1236
  | 'payment_method'
1160
1237
  | 'transactions';
1161
1238
 
1162
- type Prefetch = 'balances' | 'ownership' | 'transactions';
1239
+ type Prefetch =
1240
+ | 'balances'
1241
+ | 'inferred_balances'
1242
+ | 'ownership'
1243
+ | 'transactions';
1163
1244
  }
1164
1245
 
1165
1246
  type VerificationMethod = 'automatic' | 'instant' | 'microdeposits';
@@ -1360,6 +1441,29 @@ declare module 'stripe' {
1360
1441
  * *Note: This attribute is populated only for invoices created on or after June 29, 2023.*
1361
1442
  */
1362
1443
  metadata: Stripe.Metadata | null;
1444
+
1445
+ /**
1446
+ * 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).
1447
+ */
1448
+ pause_collection?: SubscriptionDetails.PauseCollection | null;
1449
+ }
1450
+
1451
+ namespace SubscriptionDetails {
1452
+ interface PauseCollection {
1453
+ /**
1454
+ * The payment collection behavior for this subscription while paused. One of `keep_as_draft`, `mark_uncollectible`, or `void`.
1455
+ */
1456
+ behavior: PauseCollection.Behavior;
1457
+
1458
+ /**
1459
+ * The time after which the subscription will resume collecting payments.
1460
+ */
1461
+ resumes_at: number | null;
1462
+ }
1463
+
1464
+ namespace PauseCollection {
1465
+ type Behavior = 'keep_as_draft' | 'mark_uncollectible' | 'void';
1466
+ }
1363
1467
  }
1364
1468
 
1365
1469
  interface ThresholdReason {
@@ -1400,6 +1504,18 @@ declare module 'stripe' {
1400
1504
  discount: string | Stripe.Discount | Stripe.DeletedDiscount;
1401
1505
  }
1402
1506
 
1507
+ interface TotalMarginAmount {
1508
+ /**
1509
+ * The amount, in cents (or local equivalent), of the reduction in line item amount.
1510
+ */
1511
+ amount: number;
1512
+
1513
+ /**
1514
+ * The margin that was applied to get this margin amount.
1515
+ */
1516
+ margin: string | Stripe.Margin;
1517
+ }
1518
+
1403
1519
  interface TotalPretaxCreditAmount {
1404
1520
  /**
1405
1521
  * The amount, in cents (or local equivalent), of the pretax credit amount.
@@ -1419,6 +1535,11 @@ declare module 'stripe' {
1419
1535
  */
1420
1536
  discount?: string | Stripe.Discount | Stripe.DeletedDiscount;
1421
1537
 
1538
+ /**
1539
+ * The margin that was applied to get this pretax credit amount.
1540
+ */
1541
+ margin?: string | Stripe.Margin;
1542
+
1422
1543
  /**
1423
1544
  * Type of the pretax credit amount referenced.
1424
1545
  */
@@ -1426,7 +1547,7 @@ declare module 'stripe' {
1426
1547
  }
1427
1548
 
1428
1549
  namespace TotalPretaxCreditAmount {
1429
- type Type = 'credit_balance_transaction' | 'discount';
1550
+ type Type = 'credit_balance_transaction' | 'discount' | 'margin';
1430
1551
  }
1431
1552
 
1432
1553
  interface TotalTaxAmount {