stripe 17.4.0 → 17.5.0-beta.2

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 (181) hide show
  1. package/CHANGELOG.md +1000 -109
  2. package/README.md +4 -4
  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/Issuing/FraudLiabilityDebits.js +17 -0
  16. package/cjs/resources/Margins.js +22 -0
  17. package/cjs/resources/Orders.js +24 -0
  18. package/cjs/resources/PaymentAttemptRecords.js +17 -0
  19. package/cjs/resources/PaymentIntents.js +8 -0
  20. package/cjs/resources/PaymentRecords.js +29 -0
  21. package/cjs/resources/Quotes.js +32 -0
  22. package/cjs/resources/SubscriptionSchedules.js +4 -0
  23. package/cjs/resources/Tax/Associations.js +9 -0
  24. package/cjs/resources/Tax/Forms.js +20 -0
  25. package/cjs/resources/Terminal/ReaderCollectedData.js +12 -0
  26. package/cjs/resources/Terminal/Readers.js +12 -0
  27. package/cjs/resources.js +48 -10
  28. package/cjs/stripe.core.js +1 -1
  29. package/esm/resources/AccountNotices.js +18 -0
  30. package/esm/resources/Capital/FinancingOffers.js +18 -0
  31. package/esm/resources/Capital/FinancingSummary.js +9 -0
  32. package/esm/resources/Capital/FinancingTransactions.js +14 -0
  33. package/esm/resources/FinancialConnections/Accounts.js +5 -0
  34. package/esm/resources/FinancialConnections/Institutions.js +14 -0
  35. package/esm/resources/GiftCards/Cards.js +20 -0
  36. package/esm/resources/GiftCards/Transactions.js +30 -0
  37. package/esm/resources/Invoices.js +17 -0
  38. package/esm/resources/Issuing/CreditUnderwritingRecords.js +30 -0
  39. package/esm/resources/Issuing/DisputeSettlementDetails.js +14 -0
  40. package/esm/resources/Issuing/FraudLiabilityDebits.js +14 -0
  41. package/esm/resources/Margins.js +19 -0
  42. package/esm/resources/Orders.js +21 -0
  43. package/esm/resources/PaymentAttemptRecords.js +14 -0
  44. package/esm/resources/PaymentIntents.js +8 -0
  45. package/esm/resources/PaymentRecords.js +26 -0
  46. package/esm/resources/Quotes.js +32 -0
  47. package/esm/resources/SubscriptionSchedules.js +4 -0
  48. package/esm/resources/Tax/Associations.js +6 -0
  49. package/esm/resources/Tax/Forms.js +17 -0
  50. package/esm/resources/Terminal/ReaderCollectedData.js +9 -0
  51. package/esm/resources/Terminal/Readers.js +12 -0
  52. package/esm/resources.js +33 -0
  53. package/esm/stripe.core.js +1 -1
  54. package/package.json +1 -1
  55. package/types/AccountLinksResource.d.ts +5 -1
  56. package/types/AccountNotices.d.ts +113 -0
  57. package/types/AccountNoticesResource.d.ts +98 -0
  58. package/types/AccountSessions.d.ts +50 -5
  59. package/types/AccountSessionsResource.d.ts +360 -5
  60. package/types/Accounts.d.ts +191 -2
  61. package/types/AccountsResource.d.ts +522 -2
  62. package/types/BalanceTransactions.d.ts +3 -1
  63. package/types/BalanceTransactionsResource.d.ts +1 -1
  64. package/types/Billing/CreditBalanceSummaryResource.d.ts +2 -2
  65. package/types/Billing/CreditBalanceTransactionsResource.d.ts +2 -2
  66. package/types/Billing/CreditGrants.d.ts +2 -2
  67. package/types/Billing/CreditGrantsResource.d.ts +8 -8
  68. package/types/Billing/MeterErrorReports.d.ts +106 -0
  69. package/types/Billing/MeterEventAdjustmentsResource.d.ts +1 -1
  70. package/types/Billing/MeterEvents.d.ts +1 -2
  71. package/types/Billing/MeterEventsResource.d.ts +2 -2
  72. package/types/Billing/Meters.d.ts +1 -1
  73. package/types/Billing/MetersResource.d.ts +8 -8
  74. package/types/BillingPortal/Configurations.d.ts +1 -1
  75. package/types/Capabilities.d.ts +1 -1
  76. package/types/Capital/FinancingOffers.d.ts +188 -0
  77. package/types/Capital/FinancingOffersResource.d.ts +97 -0
  78. package/types/Capital/FinancingSummary.d.ts +106 -0
  79. package/types/Capital/FinancingSummaryResource.d.ts +27 -0
  80. package/types/Capital/FinancingTransactions.d.ts +135 -0
  81. package/types/Capital/FinancingTransactionsResource.d.ts +68 -0
  82. package/types/Charges.d.ts +244 -2
  83. package/types/ChargesResource.d.ts +1294 -0
  84. package/types/Checkout/Sessions.d.ts +333 -6
  85. package/types/Checkout/SessionsResource.d.ts +460 -8
  86. package/types/ConfirmationTokens.d.ts +99 -0
  87. package/types/Coupons.d.ts +1 -1
  88. package/types/CouponsResource.d.ts +1 -1
  89. package/types/CreditNotes.d.ts +21 -0
  90. package/types/CreditNotesResource.d.ts +51 -0
  91. package/types/CustomersResource.d.ts +8 -1
  92. package/types/EventTypes.d.ts +598 -2
  93. package/types/Events.d.ts +93 -0
  94. package/types/FinancialConnections/AccountInferredBalances.d.ts +38 -0
  95. package/types/FinancialConnections/Accounts.d.ts +29 -1
  96. package/types/FinancialConnections/AccountsResource.d.ts +35 -3
  97. package/types/FinancialConnections/Institutions.d.ts +93 -0
  98. package/types/FinancialConnections/InstitutionsResource.d.ts +47 -0
  99. package/types/FinancialConnections/Sessions.d.ts +49 -1
  100. package/types/FinancialConnections/SessionsResource.d.ts +38 -1
  101. package/types/FundingInstructions.d.ts +21 -0
  102. package/types/GiftCards/Cards.d.ts +118 -0
  103. package/types/GiftCards/CardsResource.d.ts +159 -0
  104. package/types/GiftCards/Transactions.d.ts +129 -0
  105. package/types/GiftCards/TransactionsResource.d.ts +201 -0
  106. package/types/InvoiceItems.d.ts +5 -0
  107. package/types/InvoiceItemsResource.d.ts +98 -0
  108. package/types/InvoiceLineItems.d.ts +28 -1
  109. package/types/InvoicePayments.d.ts +113 -0
  110. package/types/Invoices.d.ts +156 -2
  111. package/types/InvoicesResource.d.ts +5537 -1852
  112. package/types/Issuing/Authorizations.d.ts +1 -1
  113. package/types/Issuing/CardholdersResource.d.ts +2 -1
  114. package/types/Issuing/CreditUnderwritingRecords.d.ts +451 -0
  115. package/types/Issuing/CreditUnderwritingRecordsResource.d.ts +1032 -0
  116. package/types/Issuing/DisputeSettlementDetails.d.ts +73 -0
  117. package/types/Issuing/DisputeSettlementDetailsResource.d.ts +52 -0
  118. package/types/Issuing/FraudLiabilityDebits.d.ts +52 -0
  119. package/types/Issuing/FraudLiabilityDebitsResource.d.ts +52 -0
  120. package/types/Issuing/Settlements.d.ts +103 -0
  121. package/types/Issuing/Transactions.d.ts +2 -0
  122. package/types/Issuing/TransactionsResource.d.ts +5 -0
  123. package/types/LineItems.d.ts +33 -1
  124. package/types/Mandates.d.ts +77 -0
  125. package/types/Margins.d.ts +56 -0
  126. package/types/MarginsResource.d.ts +114 -0
  127. package/types/Orders.d.ts +1160 -0
  128. package/types/OrdersResource.d.ts +2923 -0
  129. package/types/PaymentAttemptRecords.d.ts +242 -0
  130. package/types/PaymentAttemptRecordsResource.d.ts +47 -0
  131. package/types/PaymentIntents.d.ts +688 -4
  132. package/types/PaymentIntentsResource.d.ts +7994 -3677
  133. package/types/PaymentLinks.d.ts +6 -0
  134. package/types/PaymentLinksResource.d.ts +23 -2
  135. package/types/PaymentMethodConfigurations.d.ts +180 -0
  136. package/types/PaymentMethodConfigurationsResource.d.ts +250 -0
  137. package/types/PaymentMethods.d.ts +99 -0
  138. package/types/PaymentMethodsResource.d.ts +133 -0
  139. package/types/PaymentRecords.d.ts +259 -0
  140. package/types/PaymentRecordsResource.d.ts +455 -0
  141. package/types/Prices.d.ts +22 -0
  142. package/types/PricesResource.d.ts +22 -0
  143. package/types/Products.d.ts +39 -0
  144. package/types/ProductsResource.d.ts +36 -0
  145. package/types/QuoteLines.d.ts +634 -0
  146. package/types/QuotePreviewInvoices.d.ts +1634 -0
  147. package/types/QuotePreviewSubscriptionSchedules.d.ts +824 -0
  148. package/types/Quotes.d.ts +591 -1
  149. package/types/QuotesResource.d.ts +2526 -194
  150. package/types/Refunds.d.ts +14 -0
  151. package/types/SetupAttempts.d.ts +48 -0
  152. package/types/SetupIntents.d.ts +133 -3
  153. package/types/SetupIntentsResource.d.ts +681 -9
  154. package/types/Sources.d.ts +23 -0
  155. package/types/SubscriptionItems.d.ts +21 -0
  156. package/types/SubscriptionItemsResource.d.ts +109 -0
  157. package/types/SubscriptionSchedules.d.ts +210 -0
  158. package/types/SubscriptionSchedulesResource.d.ts +1234 -16
  159. package/types/Subscriptions.d.ts +96 -1
  160. package/types/SubscriptionsResource.d.ts +372 -5
  161. package/types/Tax/Associations.d.ts +126 -0
  162. package/types/Tax/AssociationsResource.d.ts +29 -0
  163. package/types/Tax/Forms.d.ts +220 -0
  164. package/types/Tax/FormsResource.d.ts +107 -0
  165. package/types/Terminal/LocationsResource.d.ts +1 -1
  166. package/types/Terminal/ReaderCollectedData.d.ts +51 -0
  167. package/types/Terminal/ReaderCollectedDataResource.d.ts +29 -0
  168. package/types/Terminal/Readers.d.ts +278 -0
  169. package/types/Terminal/ReadersResource.d.ts +215 -0
  170. package/types/TestHelpers/ConfirmationTokensResource.d.ts +104 -0
  171. package/types/TestHelpers/Treasury/ReceivedCreditsResource.d.ts +26 -0
  172. package/types/TestHelpers/Treasury/ReceivedDebitsResource.d.ts +26 -0
  173. package/types/Treasury/FinancialAccountFeatures.d.ts +10 -3
  174. package/types/Treasury/FinancialAccounts.d.ts +5 -0
  175. package/types/Treasury/FinancialAccountsResource.d.ts +37 -0
  176. package/types/Treasury/OutboundTransfers.d.ts +26 -0
  177. package/types/Treasury/OutboundTransfersResource.d.ts +26 -0
  178. package/types/Treasury/ReceivedCredits.d.ts +26 -0
  179. package/types/Treasury/ReceivedDebits.d.ts +31 -0
  180. package/types/WebhookEndpointsResource.d.ts +70 -0
  181. package/types/index.d.ts +62 -0
@@ -100,6 +100,8 @@ declare module 'stripe' {
100
100
 
101
101
  p24?: Source.P24;
102
102
 
103
+ paypal?: Source.Paypal;
104
+
103
105
  receiver?: Source.Receiver;
104
106
 
105
107
  redirect?: Source.Redirect;
@@ -472,6 +474,26 @@ declare module 'stripe' {
472
474
  reference?: string | null;
473
475
  }
474
476
 
477
+ interface Paypal {
478
+ billing_agreement?: string | null;
479
+
480
+ fingerprint?: string | null;
481
+
482
+ payer_id?: string | null;
483
+
484
+ reference_id?: string;
485
+
486
+ reference_transaction_amount?: string;
487
+
488
+ reference_transaction_charged?: boolean;
489
+
490
+ statement_descriptor?: string | null;
491
+
492
+ transaction_id?: string;
493
+
494
+ verified_email?: string | null;
495
+ }
496
+
475
497
  interface Receiver {
476
498
  /**
477
499
  * The address of the receiver source. This is the value that should be communicated to the customer to send their funds to.
@@ -721,6 +743,7 @@ declare module 'stripe' {
721
743
  | 'klarna'
722
744
  | 'multibanco'
723
745
  | 'p24'
746
+ | 'paypal'
724
747
  | 'sepa_credit_transfer'
725
748
  | 'sepa_debit'
726
749
  | 'sofort'
@@ -98,6 +98,11 @@ declare module 'stripe' {
98
98
  * The tax rates which apply to this `subscription_item`. When set, the `default_tax_rates` on the subscription do not apply to this `subscription_item`.
99
99
  */
100
100
  tax_rates: Array<Stripe.TaxRate> | null;
101
+
102
+ /**
103
+ * Options that configure the trial on the subscription item.
104
+ */
105
+ trial?: SubscriptionItem.Trial | null;
101
106
  }
102
107
 
103
108
  namespace SubscriptionItem {
@@ -107,6 +112,22 @@ declare module 'stripe' {
107
112
  */
108
113
  usage_gte: number | null;
109
114
  }
115
+
116
+ interface Trial {
117
+ /**
118
+ * List of price IDs which, if present on the subscription following a paid trial, constitute opting-in to the paid trial.
119
+ */
120
+ converts_to?: Array<string> | null;
121
+
122
+ /**
123
+ * Determines the type of trial for this item.
124
+ */
125
+ type: Trial.Type;
126
+ }
127
+
128
+ namespace Trial {
129
+ type Type = 'free' | 'paid';
130
+ }
110
131
  }
111
132
  }
112
133
  }
@@ -77,6 +77,11 @@ declare module 'stripe' {
77
77
  * A list of [Tax Rate](https://stripe.com/docs/api/tax_rates) ids. These Tax Rates will override the [`default_tax_rates`](https://stripe.com/docs/api/subscriptions/create#create_subscription-default_tax_rates) on the Subscription. When updating, pass an empty string to remove previously-defined tax rates.
78
78
  */
79
79
  tax_rates?: Stripe.Emptyable<Array<string>>;
80
+
81
+ /**
82
+ * Options that configure the trial on the subscription item.
83
+ */
84
+ trial?: SubscriptionItemCreateParams.Trial;
80
85
  }
81
86
 
82
87
  namespace SubscriptionItemCreateParams {
@@ -98,12 +103,56 @@ declare module 'stripe' {
98
103
  */
99
104
  discount?: string;
100
105
 
106
+ /**
107
+ * Details to determine how long the discount should be applied for.
108
+ */
109
+ discount_end?: Discount.DiscountEnd;
110
+
101
111
  /**
102
112
  * ID of the promotion code to create a new discount for.
103
113
  */
104
114
  promotion_code?: string;
105
115
  }
106
116
 
117
+ namespace Discount {
118
+ interface DiscountEnd {
119
+ /**
120
+ * Time span for the redeemed discount.
121
+ */
122
+ duration?: DiscountEnd.Duration;
123
+
124
+ /**
125
+ * A precise Unix timestamp for the discount to end. Must be in the future.
126
+ */
127
+ timestamp?: number;
128
+
129
+ /**
130
+ * The type of calculation made to determine when the discount ends.
131
+ */
132
+ type: DiscountEnd.Type;
133
+ }
134
+
135
+ namespace DiscountEnd {
136
+ interface Duration {
137
+ /**
138
+ * Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
139
+ */
140
+ interval: Duration.Interval;
141
+
142
+ /**
143
+ * The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
144
+ */
145
+ interval_count: number;
146
+ }
147
+
148
+ namespace Duration {
149
+ type Interval = 'day' | 'month' | 'week' | 'year';
150
+ }
151
+
152
+ type Type = 'duration' | 'timestamp';
153
+ }
154
+ }
155
+
107
156
  type PaymentBehavior =
108
157
  | 'allow_incomplete'
109
158
  | 'default_incomplete'
@@ -163,6 +212,22 @@ declare module 'stripe' {
163
212
  }
164
213
 
165
214
  type ProrationBehavior = 'always_invoice' | 'create_prorations' | 'none';
215
+
216
+ interface Trial {
217
+ /**
218
+ * List of price IDs which, if present on the subscription following a paid trial, constitute opting-in to the paid trial. Currently only supports at most 1 price ID.
219
+ */
220
+ converts_to?: Array<string>;
221
+
222
+ /**
223
+ * Determines the type of trial for this item.
224
+ */
225
+ type: Trial.Type;
226
+ }
227
+
228
+ namespace Trial {
229
+ type Type = 'free' | 'paid';
230
+ }
166
231
  }
167
232
 
168
233
  interface SubscriptionItemRetrieveParams {
@@ -268,12 +333,56 @@ declare module 'stripe' {
268
333
  */
269
334
  discount?: string;
270
335
 
336
+ /**
337
+ * Details to determine how long the discount should be applied for.
338
+ */
339
+ discount_end?: Discount.DiscountEnd;
340
+
271
341
  /**
272
342
  * ID of the promotion code to create a new discount for.
273
343
  */
274
344
  promotion_code?: string;
275
345
  }
276
346
 
347
+ namespace Discount {
348
+ interface DiscountEnd {
349
+ /**
350
+ * Time span for the redeemed discount.
351
+ */
352
+ duration?: DiscountEnd.Duration;
353
+
354
+ /**
355
+ * A precise Unix timestamp for the discount to end. Must be in the future.
356
+ */
357
+ timestamp?: number;
358
+
359
+ /**
360
+ * The type of calculation made to determine when the discount ends.
361
+ */
362
+ type: DiscountEnd.Type;
363
+ }
364
+
365
+ namespace DiscountEnd {
366
+ interface Duration {
367
+ /**
368
+ * Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
369
+ */
370
+ interval: Duration.Interval;
371
+
372
+ /**
373
+ * The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
374
+ */
375
+ interval_count: number;
376
+ }
377
+
378
+ namespace Duration {
379
+ type Interval = 'day' | 'month' | 'week' | 'year';
380
+ }
381
+
382
+ type Type = 'duration' | 'timestamp';
383
+ }
384
+ }
385
+
277
386
  type PaymentBehavior =
278
387
  | 'allow_incomplete'
279
388
  | 'default_incomplete'
@@ -27,6 +27,11 @@ declare module 'stripe' {
27
27
  | Stripe.DeletedApplication
28
28
  | null;
29
29
 
30
+ /**
31
+ * Configures when the subscription schedule generates prorations for phase transitions. Possible values are `prorate_on_next_phase` or `prorate_up_front` with the default being `prorate_on_next_phase`. `prorate_on_next_phase` will apply phase changes and generate prorations at transition time. `prorate_up_front` will bill for all phases within the current billing cycle up front.
32
+ */
33
+ billing_behavior?: SubscriptionSchedule.BillingBehavior;
34
+
30
35
  /**
31
36
  * Time at which the subscription schedule was canceled. Measured in seconds since the Unix epoch.
32
37
  */
@@ -59,6 +64,11 @@ declare module 'stripe' {
59
64
  */
60
65
  end_behavior: SubscriptionSchedule.EndBehavior;
61
66
 
67
+ /**
68
+ * Details of the most recent price migration that failed for the subscription schedule.
69
+ */
70
+ last_price_migration_error?: SubscriptionSchedule.LastPriceMigrationError | null;
71
+
62
72
  /**
63
73
  * Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
64
74
  */
@@ -74,6 +84,11 @@ declare module 'stripe' {
74
84
  */
75
85
  phases: Array<SubscriptionSchedule.Phase>;
76
86
 
87
+ /**
88
+ * Time period and invoice for a Subscription billed in advance.
89
+ */
90
+ prebilling?: SubscriptionSchedule.Prebilling | null;
91
+
77
92
  /**
78
93
  * Time at which the subscription schedule was released. Measured in seconds since the Unix epoch.
79
94
  */
@@ -101,6 +116,8 @@ declare module 'stripe' {
101
116
  }
102
117
 
103
118
  namespace SubscriptionSchedule {
119
+ type BillingBehavior = 'prorate_on_next_phase' | 'prorate_up_front';
120
+
104
121
  interface CurrentPhase {
105
122
  /**
106
123
  * The end of this phase of the subscription schedule.
@@ -161,6 +178,11 @@ declare module 'stripe' {
161
178
 
162
179
  namespace DefaultSettings {
163
180
  interface AutomaticTax {
181
+ /**
182
+ * If Stripe disabled automatic tax, this enum describes why.
183
+ */
184
+ disabled_reason: 'requires_location_inputs' | null;
185
+
164
186
  /**
165
187
  * Whether Stripe automatically computes tax on invoices created during this phase.
166
188
  */
@@ -255,6 +277,37 @@ declare module 'stripe' {
255
277
 
256
278
  type EndBehavior = 'cancel' | 'none' | 'release' | 'renew';
257
279
 
280
+ interface LastPriceMigrationError {
281
+ /**
282
+ * The time at which the price migration encountered an error.
283
+ */
284
+ errored_at: number;
285
+
286
+ /**
287
+ * The involved price pairs in each failed transition.
288
+ */
289
+ failed_transitions: Array<LastPriceMigrationError.FailedTransition>;
290
+
291
+ /**
292
+ * The type of error encountered by the price migration.
293
+ */
294
+ type: 'price_uniqueness_violation';
295
+ }
296
+
297
+ namespace LastPriceMigrationError {
298
+ interface FailedTransition {
299
+ /**
300
+ * The original price to be migrated.
301
+ */
302
+ source_price: string;
303
+
304
+ /**
305
+ * The intended resulting price of the migration.
306
+ */
307
+ target_price: string;
308
+ }
309
+ }
310
+
258
311
  interface Phase {
259
312
  /**
260
313
  * A list of prices and quantities that will generate invoice items appended to the next invoice for this phase.
@@ -338,6 +391,11 @@ declare module 'stripe' {
338
391
  */
339
392
  on_behalf_of: string | Stripe.Account | null;
340
393
 
394
+ /**
395
+ * 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/docs/billing/subscriptions/pause-payment).
396
+ */
397
+ pause_collection?: Phase.PauseCollection | null;
398
+
341
399
  /**
342
400
  * If the subscription schedule will prorate when transitioning to this phase. Possible values are `create_prorations` and `none`.
343
401
  */
@@ -353,10 +411,20 @@ declare module 'stripe' {
353
411
  */
354
412
  transfer_data: Phase.TransferData | null;
355
413
 
414
+ /**
415
+ * Specify behavior of the trial when crossing schedule phase boundaries
416
+ */
417
+ trial_continuation?: Phase.TrialContinuation | null;
418
+
356
419
  /**
357
420
  * When the trial ends within the phase.
358
421
  */
359
422
  trial_end: number | null;
423
+
424
+ /**
425
+ * Settings related to any trials on the subscription during this phase.
426
+ */
427
+ trial_settings?: Phase.TrialSettings | null;
360
428
  }
361
429
 
362
430
  namespace Phase {
@@ -394,14 +462,38 @@ declare module 'stripe' {
394
462
  */
395
463
  discount: string | Stripe.Discount | null;
396
464
 
465
+ /**
466
+ * Details to determine how long the discount should be applied for.
467
+ */
468
+ discount_end?: Discount.DiscountEnd | null;
469
+
397
470
  /**
398
471
  * ID of the promotion code to create a new discount for.
399
472
  */
400
473
  promotion_code: string | Stripe.PromotionCode | null;
401
474
  }
475
+
476
+ namespace Discount {
477
+ interface DiscountEnd {
478
+ /**
479
+ * The discount end timestamp.
480
+ */
481
+ timestamp: number | null;
482
+
483
+ /**
484
+ * The discount end type.
485
+ */
486
+ type: 'timestamp';
487
+ }
488
+ }
402
489
  }
403
490
 
404
491
  interface AutomaticTax {
492
+ /**
493
+ * If Stripe disabled automatic tax, this enum describes why.
494
+ */
495
+ disabled_reason: 'requires_location_inputs' | null;
496
+
405
497
  /**
406
498
  * Whether Stripe automatically computes tax on invoices created during this phase.
407
499
  */
@@ -458,12 +550,31 @@ declare module 'stripe' {
458
550
  */
459
551
  discount: string | Stripe.Discount | null;
460
552
 
553
+ /**
554
+ * Details to determine how long the discount should be applied for.
555
+ */
556
+ discount_end?: Discount.DiscountEnd | null;
557
+
461
558
  /**
462
559
  * ID of the promotion code to create a new discount for.
463
560
  */
464
561
  promotion_code: string | Stripe.PromotionCode | null;
465
562
  }
466
563
 
564
+ namespace Discount {
565
+ interface DiscountEnd {
566
+ /**
567
+ * The discount end timestamp.
568
+ */
569
+ timestamp: number | null;
570
+
571
+ /**
572
+ * The discount end type.
573
+ */
574
+ type: 'timestamp';
575
+ }
576
+ }
577
+
467
578
  interface InvoiceSettings {
468
579
  /**
469
580
  * The account tax IDs associated with this phase of the subscription schedule. Will be set on invoices generated by this phase of the subscription schedule.
@@ -536,6 +647,11 @@ declare module 'stripe' {
536
647
  * The tax rates which apply to this `phase_item`. When set, the `default_tax_rates` on the phase do not apply to this `phase_item`.
537
648
  */
538
649
  tax_rates?: Array<Stripe.TaxRate> | null;
650
+
651
+ /**
652
+ * Options that configure the trial on the subscription item.
653
+ */
654
+ trial?: Item.Trial | null;
539
655
  }
540
656
 
541
657
  namespace Item {
@@ -557,11 +673,57 @@ declare module 'stripe' {
557
673
  */
558
674
  discount: string | Stripe.Discount | null;
559
675
 
676
+ /**
677
+ * Details to determine how long the discount should be applied for.
678
+ */
679
+ discount_end?: Discount.DiscountEnd | null;
680
+
560
681
  /**
561
682
  * ID of the promotion code to create a new discount for.
562
683
  */
563
684
  promotion_code: string | Stripe.PromotionCode | null;
564
685
  }
686
+
687
+ namespace Discount {
688
+ interface DiscountEnd {
689
+ /**
690
+ * The discount end timestamp.
691
+ */
692
+ timestamp: number | null;
693
+
694
+ /**
695
+ * The discount end type.
696
+ */
697
+ type: 'timestamp';
698
+ }
699
+ }
700
+
701
+ interface Trial {
702
+ /**
703
+ * List of price IDs which, if present on the subscription following a paid trial, constitute opting-in to the paid trial.
704
+ */
705
+ converts_to?: Array<string> | null;
706
+
707
+ /**
708
+ * Determines the type of trial for this item.
709
+ */
710
+ type: Trial.Type;
711
+ }
712
+
713
+ namespace Trial {
714
+ type Type = 'free' | 'paid';
715
+ }
716
+ }
717
+
718
+ interface PauseCollection {
719
+ /**
720
+ * The payment collection behavior for this subscription while paused. One of `keep_as_draft`, `mark_uncollectible`, or `void`.
721
+ */
722
+ behavior: PauseCollection.Behavior;
723
+ }
724
+
725
+ namespace PauseCollection {
726
+ type Behavior = 'keep_as_draft' | 'mark_uncollectible' | 'void';
565
727
  }
566
728
 
567
729
  type ProrationBehavior =
@@ -580,6 +742,54 @@ declare module 'stripe' {
580
742
  */
581
743
  destination: string | Stripe.Account;
582
744
  }
745
+
746
+ type TrialContinuation = 'continue' | 'none';
747
+
748
+ interface TrialSettings {
749
+ /**
750
+ * Defines how the subscription should behave when a trial ends.
751
+ */
752
+ end_behavior: TrialSettings.EndBehavior | null;
753
+ }
754
+
755
+ namespace TrialSettings {
756
+ interface EndBehavior {
757
+ /**
758
+ * Configure how an opt-in following a paid trial is billed when using `billing_behavior: prorate_up_front`.
759
+ */
760
+ prorate_up_front: EndBehavior.ProrateUpFront | null;
761
+ }
762
+
763
+ namespace EndBehavior {
764
+ type ProrateUpFront = 'defer' | 'include';
765
+ }
766
+ }
767
+ }
768
+
769
+ interface Prebilling {
770
+ /**
771
+ * ID of the prebilling invoice.
772
+ */
773
+ invoice: string | Stripe.Invoice;
774
+
775
+ /**
776
+ * The end of the last period for which the invoice pre-bills.
777
+ */
778
+ period_end: number;
779
+
780
+ /**
781
+ * The start of the first period for which the invoice pre-bills.
782
+ */
783
+ period_start: number;
784
+
785
+ /**
786
+ * Whether to cancel or preserve `prebilling` if the subscription is updated during the prebilled period.
787
+ */
788
+ update_behavior?: Prebilling.UpdateBehavior;
789
+ }
790
+
791
+ namespace Prebilling {
792
+ type UpdateBehavior = 'prebill' | 'reset';
583
793
  }
584
794
 
585
795
  type Status =