stripe 16.0.0 → 16.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 (154) hide show
  1. package/CHANGELOG.md +761 -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/GiftCards/Cards.js +23 -0
  14. package/cjs/resources/GiftCards/Transactions.js +33 -0
  15. package/cjs/resources/Invoices.js +25 -0
  16. package/cjs/resources/Issuing/CreditUnderwritingRecords.js +33 -0
  17. package/cjs/resources/Margins.js +22 -0
  18. package/cjs/resources/OAuth.js +1 -1
  19. package/cjs/resources/Orders.js +24 -0
  20. package/cjs/resources/PaymentIntents.js +4 -0
  21. package/cjs/resources/QuotePhases.js +22 -0
  22. package/cjs/resources/Quotes.js +32 -0
  23. package/cjs/resources/SubscriptionSchedules.js +4 -0
  24. package/cjs/resources/Tax/Forms.js +20 -0
  25. package/cjs/resources/Terminal/Readers.js +12 -0
  26. package/cjs/resources.js +36 -10
  27. package/cjs/stripe.core.js +6 -3
  28. package/cjs/utils.js +30 -3
  29. package/esm/RequestSender.js +67 -6
  30. package/esm/StripeResource.js +2 -2
  31. package/esm/apiVersion.js +1 -0
  32. package/esm/multipart.js +2 -2
  33. package/esm/resources/AccountNotices.js +18 -0
  34. package/esm/resources/Capital/FinancingOffers.js +18 -0
  35. package/esm/resources/Capital/FinancingSummary.js +9 -0
  36. package/esm/resources/Capital/FinancingTransactions.js +14 -0
  37. package/esm/resources/FinancialConnections/Accounts.js +5 -0
  38. package/esm/resources/GiftCards/Cards.js +20 -0
  39. package/esm/resources/GiftCards/Transactions.js +30 -0
  40. package/esm/resources/Invoices.js +25 -0
  41. package/esm/resources/Issuing/CreditUnderwritingRecords.js +30 -0
  42. package/esm/resources/Margins.js +19 -0
  43. package/esm/resources/OAuth.js +2 -2
  44. package/esm/resources/Orders.js +21 -0
  45. package/esm/resources/PaymentIntents.js +4 -0
  46. package/esm/resources/QuotePhases.js +19 -0
  47. package/esm/resources/Quotes.js +32 -0
  48. package/esm/resources/SubscriptionSchedules.js +4 -0
  49. package/esm/resources/Tax/Forms.js +17 -0
  50. package/esm/resources/Terminal/Readers.js +12 -0
  51. package/esm/resources.js +22 -0
  52. package/esm/stripe.core.js +6 -3
  53. package/esm/utils.js +27 -1
  54. package/package.json +1 -1
  55. package/types/AccountLinksResource.d.ts +5 -1
  56. package/types/AccountNotices.d.ts +110 -0
  57. package/types/AccountNoticesResource.d.ts +98 -0
  58. package/types/AccountSessions.d.ts +15 -0
  59. package/types/AccountSessionsResource.d.ts +205 -0
  60. package/types/Accounts.d.ts +88 -1
  61. package/types/AccountsResource.d.ts +204 -0
  62. package/types/Billing/MetersResource.d.ts +6 -2
  63. package/types/Capabilities.d.ts +1 -1
  64. package/types/Capital/FinancingOffers.d.ts +188 -0
  65. package/types/Capital/FinancingOffersResource.d.ts +97 -0
  66. package/types/Capital/FinancingSummary.d.ts +106 -0
  67. package/types/Capital/FinancingSummaryResource.d.ts +27 -0
  68. package/types/Capital/FinancingTransactions.d.ts +135 -0
  69. package/types/Capital/FinancingTransactionsResource.d.ts +68 -0
  70. package/types/Charges.d.ts +67 -0
  71. package/types/ChargesResource.d.ts +1294 -0
  72. package/types/Checkout/Sessions.d.ts +36 -1
  73. package/types/Checkout/SessionsResource.d.ts +15 -1
  74. package/types/ConfirmationTokens.d.ts +83 -0
  75. package/types/Coupons.d.ts +1 -1
  76. package/types/CouponsResource.d.ts +1 -1
  77. package/types/CreditNotes.d.ts +21 -0
  78. package/types/CreditNotesResource.d.ts +72 -0
  79. package/types/CustomerSessions.d.ts +48 -0
  80. package/types/CustomerSessionsResource.d.ts +48 -0
  81. package/types/CustomersResource.d.ts +2 -0
  82. package/types/Disputes.d.ts +167 -0
  83. package/types/DisputesResource.d.ts +120 -0
  84. package/types/EventTypes.d.ts +426 -0
  85. package/types/Events.d.ts +83 -0
  86. package/types/FinancialConnections/AccountInferredBalances.d.ts +38 -0
  87. package/types/FinancialConnections/Accounts.d.ts +29 -1
  88. package/types/FinancialConnections/AccountsResource.d.ts +35 -3
  89. package/types/FinancialConnections/Sessions.d.ts +58 -1
  90. package/types/FinancialConnections/SessionsResource.d.ts +47 -1
  91. package/types/GiftCards/Cards.d.ts +118 -0
  92. package/types/GiftCards/CardsResource.d.ts +159 -0
  93. package/types/GiftCards/Transactions.d.ts +129 -0
  94. package/types/GiftCards/TransactionsResource.d.ts +201 -0
  95. package/types/InvoiceItems.d.ts +5 -0
  96. package/types/InvoiceItemsResource.d.ts +98 -0
  97. package/types/InvoiceLineItems.d.ts +22 -0
  98. package/types/InvoicePayments.d.ts +91 -0
  99. package/types/Invoices.d.ts +123 -1
  100. package/types/InvoicesResource.d.ts +6477 -2302
  101. package/types/Issuing/CardholdersResource.d.ts +2 -1
  102. package/types/Issuing/Cards.d.ts +34 -0
  103. package/types/Issuing/CardsResource.d.ts +125 -0
  104. package/types/Issuing/CreditUnderwritingRecords.d.ts +446 -0
  105. package/types/Issuing/CreditUnderwritingRecordsResource.d.ts +1017 -0
  106. package/types/LineItems.d.ts +7 -0
  107. package/types/Mandates.d.ts +77 -0
  108. package/types/Margins.d.ts +56 -0
  109. package/types/MarginsResource.d.ts +114 -0
  110. package/types/Orders.d.ts +1057 -0
  111. package/types/OrdersResource.d.ts +2711 -0
  112. package/types/PaymentIntents.d.ts +476 -1
  113. package/types/PaymentIntentsResource.d.ts +6735 -3354
  114. package/types/PaymentLinks.d.ts +4 -1
  115. package/types/PaymentLinksResource.d.ts +8 -2
  116. package/types/PaymentMethods.d.ts +62 -0
  117. package/types/PaymentMethodsResource.d.ts +110 -0
  118. package/types/Prices.d.ts +22 -0
  119. package/types/PricesResource.d.ts +22 -0
  120. package/types/Products.d.ts +39 -0
  121. package/types/ProductsResource.d.ts +36 -0
  122. package/types/QuoteLines.d.ts +634 -0
  123. package/types/QuotePhases.d.ts +198 -0
  124. package/types/QuotePhasesResource.d.ts +67 -0
  125. package/types/QuotePreviewInvoices.d.ts +1528 -0
  126. package/types/QuotePreviewSubscriptionSchedules.d.ts +778 -0
  127. package/types/Quotes.d.ts +578 -1
  128. package/types/QuotesResource.d.ts +3174 -265
  129. package/types/SetupAttempts.d.ts +8 -0
  130. package/types/SetupIntents.d.ts +117 -1
  131. package/types/SetupIntentsResource.d.ts +531 -3
  132. package/types/Sources.d.ts +23 -0
  133. package/types/SubscriptionItems.d.ts +21 -0
  134. package/types/SubscriptionItemsResource.d.ts +109 -0
  135. package/types/SubscriptionSchedules.d.ts +164 -0
  136. package/types/SubscriptionSchedulesResource.d.ts +1234 -16
  137. package/types/Subscriptions.d.ts +54 -1
  138. package/types/SubscriptionsResource.d.ts +369 -2
  139. package/types/Tax/Forms.d.ts +133 -0
  140. package/types/Tax/FormsResource.d.ts +90 -0
  141. package/types/Terminal/Configurations.d.ts +14 -0
  142. package/types/Terminal/ConfigurationsResource.d.ts +36 -0
  143. package/types/Terminal/Readers.d.ts +278 -0
  144. package/types/Terminal/ReadersResource.d.ts +208 -0
  145. package/types/TestHelpers/ConfirmationTokensResource.d.ts +55 -0
  146. package/types/TestHelpers/Treasury/ReceivedCreditsResource.d.ts +26 -0
  147. package/types/TestHelpers/Treasury/ReceivedDebitsResource.d.ts +26 -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 +50 -0
  153. package/types/index.d.ts +61 -0
  154. package/types/lib.d.ts +12 -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
  */
@@ -74,6 +79,11 @@ declare module 'stripe' {
74
79
  */
75
80
  phases: Array<SubscriptionSchedule.Phase>;
76
81
 
82
+ /**
83
+ * Time period and invoice for a Subscription billed in advance.
84
+ */
85
+ prebilling?: SubscriptionSchedule.Prebilling | null;
86
+
77
87
  /**
78
88
  * Time at which the subscription schedule was released. Measured in seconds since the Unix epoch.
79
89
  */
@@ -101,6 +111,8 @@ declare module 'stripe' {
101
111
  }
102
112
 
103
113
  namespace SubscriptionSchedule {
114
+ type BillingBehavior = 'prorate_on_next_phase' | 'prorate_up_front';
115
+
104
116
  interface CurrentPhase {
105
117
  /**
106
118
  * The end of this phase of the subscription schedule.
@@ -338,6 +350,11 @@ declare module 'stripe' {
338
350
  */
339
351
  on_behalf_of: string | Stripe.Account | null;
340
352
 
353
+ /**
354
+ * 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).
355
+ */
356
+ pause_collection?: Phase.PauseCollection | null;
357
+
341
358
  /**
342
359
  * If the subscription schedule will prorate when transitioning to this phase. Possible values are `create_prorations` and `none`.
343
360
  */
@@ -353,10 +370,20 @@ declare module 'stripe' {
353
370
  */
354
371
  transfer_data: Phase.TransferData | null;
355
372
 
373
+ /**
374
+ * Specify behavior of the trial when crossing schedule phase boundaries
375
+ */
376
+ trial_continuation?: Phase.TrialContinuation | null;
377
+
356
378
  /**
357
379
  * When the trial ends within the phase.
358
380
  */
359
381
  trial_end: number | null;
382
+
383
+ /**
384
+ * Settings related to any trials on the subscription during this phase.
385
+ */
386
+ trial_settings?: Phase.TrialSettings | null;
360
387
  }
361
388
 
362
389
  namespace Phase {
@@ -394,11 +421,30 @@ declare module 'stripe' {
394
421
  */
395
422
  discount: string | Stripe.Discount | null;
396
423
 
424
+ /**
425
+ * Details to determine how long the discount should be applied for.
426
+ */
427
+ discount_end?: Discount.DiscountEnd | null;
428
+
397
429
  /**
398
430
  * ID of the promotion code to create a new discount for.
399
431
  */
400
432
  promotion_code: string | Stripe.PromotionCode | null;
401
433
  }
434
+
435
+ namespace Discount {
436
+ interface DiscountEnd {
437
+ /**
438
+ * The discount end timestamp.
439
+ */
440
+ timestamp: number | null;
441
+
442
+ /**
443
+ * The discount end type.
444
+ */
445
+ type: 'timestamp';
446
+ }
447
+ }
402
448
  }
403
449
 
404
450
  interface AutomaticTax {
@@ -458,12 +504,31 @@ declare module 'stripe' {
458
504
  */
459
505
  discount: string | Stripe.Discount | null;
460
506
 
507
+ /**
508
+ * Details to determine how long the discount should be applied for.
509
+ */
510
+ discount_end?: Discount.DiscountEnd | null;
511
+
461
512
  /**
462
513
  * ID of the promotion code to create a new discount for.
463
514
  */
464
515
  promotion_code: string | Stripe.PromotionCode | null;
465
516
  }
466
517
 
518
+ namespace Discount {
519
+ interface DiscountEnd {
520
+ /**
521
+ * The discount end timestamp.
522
+ */
523
+ timestamp: number | null;
524
+
525
+ /**
526
+ * The discount end type.
527
+ */
528
+ type: 'timestamp';
529
+ }
530
+ }
531
+
467
532
  interface InvoiceSettings {
468
533
  /**
469
534
  * 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 +601,11 @@ declare module 'stripe' {
536
601
  * 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
602
  */
538
603
  tax_rates?: Array<Stripe.TaxRate> | null;
604
+
605
+ /**
606
+ * Options that configure the trial on the subscription item.
607
+ */
608
+ trial?: Item.Trial | null;
539
609
  }
540
610
 
541
611
  namespace Item {
@@ -557,11 +627,57 @@ declare module 'stripe' {
557
627
  */
558
628
  discount: string | Stripe.Discount | null;
559
629
 
630
+ /**
631
+ * Details to determine how long the discount should be applied for.
632
+ */
633
+ discount_end?: Discount.DiscountEnd | null;
634
+
560
635
  /**
561
636
  * ID of the promotion code to create a new discount for.
562
637
  */
563
638
  promotion_code: string | Stripe.PromotionCode | null;
564
639
  }
640
+
641
+ namespace Discount {
642
+ interface DiscountEnd {
643
+ /**
644
+ * The discount end timestamp.
645
+ */
646
+ timestamp: number | null;
647
+
648
+ /**
649
+ * The discount end type.
650
+ */
651
+ type: 'timestamp';
652
+ }
653
+ }
654
+
655
+ interface Trial {
656
+ /**
657
+ * List of price IDs which, if present on the subscription following a paid trial, constitute opting-in to the paid trial.
658
+ */
659
+ converts_to?: Array<string> | null;
660
+
661
+ /**
662
+ * Determines the type of trial for this item.
663
+ */
664
+ type: Trial.Type;
665
+ }
666
+
667
+ namespace Trial {
668
+ type Type = 'free' | 'paid';
669
+ }
670
+ }
671
+
672
+ interface PauseCollection {
673
+ /**
674
+ * The payment collection behavior for this subscription while paused. One of `keep_as_draft`, `mark_uncollectible`, or `void`.
675
+ */
676
+ behavior: PauseCollection.Behavior;
677
+ }
678
+
679
+ namespace PauseCollection {
680
+ type Behavior = 'keep_as_draft' | 'mark_uncollectible' | 'void';
565
681
  }
566
682
 
567
683
  type ProrationBehavior =
@@ -580,6 +696,54 @@ declare module 'stripe' {
580
696
  */
581
697
  destination: string | Stripe.Account;
582
698
  }
699
+
700
+ type TrialContinuation = 'continue' | 'none';
701
+
702
+ interface TrialSettings {
703
+ /**
704
+ * Defines how the subscription should behave when a trial ends.
705
+ */
706
+ end_behavior: TrialSettings.EndBehavior | null;
707
+ }
708
+
709
+ namespace TrialSettings {
710
+ interface EndBehavior {
711
+ /**
712
+ * Configure how an opt-in following a paid trial is billed when using `billing_behavior: prorate_up_front`.
713
+ */
714
+ prorate_up_front: EndBehavior.ProrateUpFront | null;
715
+ }
716
+
717
+ namespace EndBehavior {
718
+ type ProrateUpFront = 'defer' | 'include';
719
+ }
720
+ }
721
+ }
722
+
723
+ interface Prebilling {
724
+ /**
725
+ * ID of the prebilling invoice.
726
+ */
727
+ invoice: string | Stripe.Invoice;
728
+
729
+ /**
730
+ * The end of the last period for which the invoice pre-bills.
731
+ */
732
+ period_end: number;
733
+
734
+ /**
735
+ * The start of the first period for which the invoice pre-bills.
736
+ */
737
+ period_start: number;
738
+
739
+ /**
740
+ * Whether to cancel or preserve `prebilling` if the subscription is updated during the prebilled period.
741
+ */
742
+ update_behavior?: Prebilling.UpdateBehavior;
743
+ }
744
+
745
+ namespace Prebilling {
746
+ type UpdateBehavior = 'prebill' | 'reset';
583
747
  }
584
748
 
585
749
  type Status =