stripe 17.3.0 → 17.4.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 +938 -110
  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/Margins.js +22 -0
  16. package/cjs/resources/Orders.js +24 -0
  17. package/cjs/resources/PaymentIntents.js +8 -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 +8 -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 +332 -0
  54. package/types/Accounts.d.ts +183 -1
  55. package/types/AccountsResource.d.ts +496 -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 +116 -0
  64. package/types/ChargesResource.d.ts +1294 -0
  65. package/types/Checkout/Sessions.d.ts +302 -4
  66. package/types/Checkout/SessionsResource.d.ts +354 -5
  67. package/types/ConfirmationTokens.d.ts +99 -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 +7 -0
  73. package/types/EventTypes.d.ts +545 -0
  74. package/types/Events.d.ts +90 -0
  75. package/types/FinancialConnections/AccountInferredBalances.d.ts +38 -0
  76. package/types/FinancialConnections/Accounts.d.ts +29 -1
  77. package/types/FinancialConnections/AccountsResource.d.ts +35 -3
  78. package/types/FinancialConnections/Institutions.d.ts +93 -0
  79. package/types/FinancialConnections/InstitutionsResource.d.ts +47 -0
  80. package/types/FinancialConnections/Sessions.d.ts +49 -1
  81. package/types/FinancialConnections/SessionsResource.d.ts +38 -1
  82. package/types/GiftCards/Cards.d.ts +118 -0
  83. package/types/GiftCards/CardsResource.d.ts +159 -0
  84. package/types/GiftCards/Transactions.d.ts +129 -0
  85. package/types/GiftCards/TransactionsResource.d.ts +201 -0
  86. package/types/InvoiceItems.d.ts +5 -0
  87. package/types/InvoiceItemsResource.d.ts +98 -0
  88. package/types/InvoiceLineItems.d.ts +28 -1
  89. package/types/InvoicePayments.d.ts +138 -0
  90. package/types/Invoices.d.ts +131 -2
  91. package/types/InvoicesResource.d.ts +5522 -1844
  92. package/types/Issuing/CardholdersResource.d.ts +2 -1
  93. package/types/Issuing/CreditUnderwritingRecords.d.ts +451 -0
  94. package/types/Issuing/CreditUnderwritingRecordsResource.d.ts +1032 -0
  95. package/types/Issuing/DisputeSettlementDetails.d.ts +73 -0
  96. package/types/Issuing/DisputeSettlementDetailsResource.d.ts +52 -0
  97. package/types/Issuing/Settlements.d.ts +103 -0
  98. package/types/Issuing/Transactions.d.ts +2 -0
  99. package/types/Issuing/TransactionsResource.d.ts +5 -0
  100. package/types/LineItems.d.ts +7 -0
  101. package/types/Mandates.d.ts +77 -0
  102. package/types/Margins.d.ts +56 -0
  103. package/types/MarginsResource.d.ts +114 -0
  104. package/types/Orders.d.ts +1154 -0
  105. package/types/OrdersResource.d.ts +2911 -0
  106. package/types/PaymentIntents.d.ts +637 -1
  107. package/types/PaymentIntentsResource.d.ts +7947 -3706
  108. package/types/PaymentLinks.d.ts +6 -0
  109. package/types/PaymentLinksResource.d.ts +12 -0
  110. package/types/PaymentMethodConfigurations.d.ts +180 -0
  111. package/types/PaymentMethodConfigurationsResource.d.ts +250 -0
  112. package/types/PaymentMethods.d.ts +99 -0
  113. package/types/PaymentMethodsResource.d.ts +133 -0
  114. package/types/Prices.d.ts +22 -0
  115. package/types/PricesResource.d.ts +22 -0
  116. package/types/Products.d.ts +39 -0
  117. package/types/ProductsResource.d.ts +36 -0
  118. package/types/QuoteLines.d.ts +634 -0
  119. package/types/QuotePreviewInvoices.d.ts +1608 -0
  120. package/types/QuotePreviewSubscriptionSchedules.d.ts +814 -0
  121. package/types/Quotes.d.ts +591 -1
  122. package/types/QuotesResource.d.ts +2526 -194
  123. package/types/Refunds.d.ts +14 -0
  124. package/types/SetupAttempts.d.ts +38 -0
  125. package/types/SetupIntents.d.ts +111 -1
  126. package/types/SetupIntentsResource.d.ts +645 -3
  127. package/types/Sources.d.ts +23 -0
  128. package/types/SubscriptionItems.d.ts +21 -0
  129. package/types/SubscriptionItemsResource.d.ts +109 -0
  130. package/types/SubscriptionSchedules.d.ts +200 -0
  131. package/types/SubscriptionSchedulesResource.d.ts +1234 -16
  132. package/types/Subscriptions.d.ts +90 -1
  133. package/types/SubscriptionsResource.d.ts +367 -2
  134. package/types/Tax/Associations.d.ts +126 -0
  135. package/types/Tax/AssociationsResource.d.ts +29 -0
  136. package/types/Tax/Forms.d.ts +220 -0
  137. package/types/Tax/FormsResource.d.ts +107 -0
  138. package/types/Terminal/ReaderCollectedData.d.ts +51 -0
  139. package/types/Terminal/ReaderCollectedDataResource.d.ts +29 -0
  140. package/types/Terminal/Readers.d.ts +278 -0
  141. package/types/Terminal/ReadersResource.d.ts +215 -0
  142. package/types/TestHelpers/ConfirmationTokensResource.d.ts +104 -0
  143. package/types/TestHelpers/Treasury/ReceivedCreditsResource.d.ts +26 -0
  144. package/types/TestHelpers/Treasury/ReceivedDebitsResource.d.ts +26 -0
  145. package/types/Treasury/FinancialAccountFeatures.d.ts +7 -0
  146. package/types/Treasury/FinancialAccounts.d.ts +5 -0
  147. package/types/Treasury/FinancialAccountsResource.d.ts +37 -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
@@ -146,6 +146,11 @@ declare module 'stripe' {
146
146
  */
147
147
  items: ApiList<Stripe.SubscriptionItem>;
148
148
 
149
+ /**
150
+ * Details of the most recent price migration that failed for the subscription.
151
+ */
152
+ last_price_migration_error?: Subscription.LastPriceMigrationError | null;
153
+
149
154
  /**
150
155
  * The most recent invoice this subscription has generated.
151
156
  */
@@ -196,6 +201,11 @@ declare module 'stripe' {
196
201
  */
197
202
  pending_update: Subscription.PendingUpdate | null;
198
203
 
204
+ /**
205
+ * Time period and invoice for a Subscription billed in advance.
206
+ */
207
+ prebilling?: Subscription.Prebilling | null;
208
+
199
209
  /**
200
210
  * The schedule attached to the subscription
201
211
  */
@@ -382,6 +392,37 @@ declare module 'stripe' {
382
392
  }
383
393
  }
384
394
 
395
+ interface LastPriceMigrationError {
396
+ /**
397
+ * The time at which the price migration encountered an error.
398
+ */
399
+ errored_at: number;
400
+
401
+ /**
402
+ * The involved price pairs in each failed transition.
403
+ */
404
+ failed_transitions: Array<LastPriceMigrationError.FailedTransition>;
405
+
406
+ /**
407
+ * The type of error encountered by the price migration.
408
+ */
409
+ type: 'price_uniqueness_violation';
410
+ }
411
+
412
+ namespace LastPriceMigrationError {
413
+ interface FailedTransition {
414
+ /**
415
+ * The original price to be migrated.
416
+ */
417
+ source_price: string;
418
+
419
+ /**
420
+ * The intended resulting price of the migration.
421
+ */
422
+ target_price: string;
423
+ }
424
+ }
425
+
385
426
  interface PauseCollection {
386
427
  /**
387
428
  * The payment collection behavior for this subscription while paused. One of `keep_as_draft`, `mark_uncollectible`, or `void`.
@@ -437,6 +478,11 @@ declare module 'stripe' {
437
478
  */
438
479
  customer_balance: PaymentMethodOptions.CustomerBalance | null;
439
480
 
481
+ /**
482
+ * This sub-hash contains details about the Indonesia bank transfer payment method options to pass to invoices created by the subscription.
483
+ */
484
+ id_bank_transfer?: PaymentMethodOptions.IdBankTransfer | null;
485
+
440
486
  /**
441
487
  * This sub-hash contains details about the Konbini payment method options to pass to invoices created by the subscription.
442
488
  */
@@ -575,6 +621,8 @@ declare module 'stripe' {
575
621
  }
576
622
  }
577
623
 
624
+ interface IdBankTransfer {}
625
+
578
626
  interface Konbini {}
579
627
 
580
628
  interface SepaDebit {}
@@ -609,6 +657,11 @@ declare module 'stripe' {
609
657
  * The account subcategories to use to filter for possible accounts to link. Valid subcategories are `checking` and `savings`.
610
658
  */
611
659
  account_subcategories?: Array<Filters.AccountSubcategory>;
660
+
661
+ /**
662
+ * The institution to use to filter for possible accounts to link.
663
+ */
664
+ institution?: string;
612
665
  }
613
666
 
614
667
  namespace Filters {
@@ -621,7 +674,11 @@ declare module 'stripe' {
621
674
  | 'payment_method'
622
675
  | 'transactions';
623
676
 
624
- type Prefetch = 'balances' | 'ownership' | 'transactions';
677
+ type Prefetch =
678
+ | 'balances'
679
+ | 'inferred_balances'
680
+ | 'ownership'
681
+ | 'transactions';
625
682
  }
626
683
 
627
684
  type VerificationMethod = 'automatic' | 'instant' | 'microdeposits';
@@ -644,6 +701,7 @@ declare module 'stripe' {
644
701
  | 'fpx'
645
702
  | 'giropay'
646
703
  | 'grabpay'
704
+ | 'id_bank_transfer'
647
705
  | 'ideal'
648
706
  | 'jp_credit_transfer'
649
707
  | 'kakao_pay'
@@ -695,6 +753,11 @@ declare module 'stripe' {
695
753
  */
696
754
  expires_at: number;
697
755
 
756
+ /**
757
+ * The number of iterations of prebilling to apply.
758
+ */
759
+ prebilling_iterations?: number | null;
760
+
698
761
  /**
699
762
  * List of subscription items, each with an attached plan, that will be set if the update is applied.
700
763
  */
@@ -711,6 +774,32 @@ declare module 'stripe' {
711
774
  trial_from_plan: boolean | null;
712
775
  }
713
776
 
777
+ interface Prebilling {
778
+ /**
779
+ * ID of the prebilling invoice.
780
+ */
781
+ invoice: string | Stripe.Invoice;
782
+
783
+ /**
784
+ * The end of the last period for which the invoice pre-bills.
785
+ */
786
+ period_end: number;
787
+
788
+ /**
789
+ * The start of the first period for which the invoice pre-bills.
790
+ */
791
+ period_start: number;
792
+
793
+ /**
794
+ * Whether to cancel or preserve `prebilling` if the subscription is updated during the prebilled period.
795
+ */
796
+ update_behavior?: Prebilling.UpdateBehavior;
797
+ }
798
+
799
+ namespace Prebilling {
800
+ type UpdateBehavior = 'prebill' | 'reset';
801
+ }
802
+
714
803
  type Status =
715
804
  | 'active'
716
805
  | 'canceled'
@@ -157,6 +157,11 @@ declare module 'stripe' {
157
157
  SubscriptionCreateParams.PendingInvoiceItemInterval
158
158
  >;
159
159
 
160
+ /**
161
+ * If specified, the invoicing for the given billing cycle iterations will be processed now.
162
+ */
163
+ prebilling?: SubscriptionCreateParams.Prebilling;
164
+
160
165
  /**
161
166
  * The promotion code to apply to this subscription. A promotion code applied to a subscription will only affect invoices created for that particular subscription. This field has been deprecated and will be removed in a future API version. Use `discounts` instead.
162
167
  */
@@ -233,12 +238,56 @@ declare module 'stripe' {
233
238
  */
234
239
  discount?: string;
235
240
 
241
+ /**
242
+ * Details to determine how long the discount should be applied for.
243
+ */
244
+ discount_end?: Discount.DiscountEnd;
245
+
236
246
  /**
237
247
  * ID of the promotion code to create a new discount for.
238
248
  */
239
249
  promotion_code?: string;
240
250
  }
241
251
 
252
+ namespace Discount {
253
+ interface DiscountEnd {
254
+ /**
255
+ * Time span for the redeemed discount.
256
+ */
257
+ duration?: DiscountEnd.Duration;
258
+
259
+ /**
260
+ * A precise Unix timestamp for the discount to end. Must be in the future.
261
+ */
262
+ timestamp?: number;
263
+
264
+ /**
265
+ * The type of calculation made to determine when the discount ends.
266
+ */
267
+ type: DiscountEnd.Type;
268
+ }
269
+
270
+ namespace DiscountEnd {
271
+ interface Duration {
272
+ /**
273
+ * Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
274
+ */
275
+ interval: Duration.Interval;
276
+
277
+ /**
278
+ * The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
279
+ */
280
+ interval_count: number;
281
+ }
282
+
283
+ namespace Duration {
284
+ type Interval = 'day' | 'month' | 'week' | 'year';
285
+ }
286
+
287
+ type Type = 'duration' | 'timestamp';
288
+ }
289
+ }
290
+
242
291
  interface PriceData {
243
292
  /**
244
293
  * 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).
@@ -353,12 +402,56 @@ declare module 'stripe' {
353
402
  */
354
403
  discount?: string;
355
404
 
405
+ /**
406
+ * Details to determine how long the discount should be applied for.
407
+ */
408
+ discount_end?: Discount.DiscountEnd;
409
+
356
410
  /**
357
411
  * ID of the promotion code to create a new discount for.
358
412
  */
359
413
  promotion_code?: string;
360
414
  }
361
415
 
416
+ namespace Discount {
417
+ interface DiscountEnd {
418
+ /**
419
+ * Time span for the redeemed discount.
420
+ */
421
+ duration?: DiscountEnd.Duration;
422
+
423
+ /**
424
+ * A precise Unix timestamp for the discount to end. Must be in the future.
425
+ */
426
+ timestamp?: number;
427
+
428
+ /**
429
+ * The type of calculation made to determine when the discount ends.
430
+ */
431
+ type: DiscountEnd.Type;
432
+ }
433
+
434
+ namespace DiscountEnd {
435
+ interface Duration {
436
+ /**
437
+ * Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
438
+ */
439
+ interval: Duration.Interval;
440
+
441
+ /**
442
+ * The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
443
+ */
444
+ interval_count: number;
445
+ }
446
+
447
+ namespace Duration {
448
+ type Interval = 'day' | 'month' | 'week' | 'year';
449
+ }
450
+
451
+ type Type = 'duration' | 'timestamp';
452
+ }
453
+ }
454
+
362
455
  interface InvoiceSettings {
363
456
  /**
364
457
  * The account tax IDs associated with the subscription. Will be set on invoices generated by the subscription.
@@ -429,6 +522,11 @@ declare module 'stripe' {
429
522
  * 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.
430
523
  */
431
524
  tax_rates?: Stripe.Emptyable<Array<string>>;
525
+
526
+ /**
527
+ * Define options to configure the trial on the subscription item.
528
+ */
529
+ trial?: Item.Trial;
432
530
  }
433
531
 
434
532
  namespace Item {
@@ -450,12 +548,56 @@ declare module 'stripe' {
450
548
  */
451
549
  discount?: string;
452
550
 
551
+ /**
552
+ * Details to determine how long the discount should be applied for.
553
+ */
554
+ discount_end?: Discount.DiscountEnd;
555
+
453
556
  /**
454
557
  * ID of the promotion code to create a new discount for.
455
558
  */
456
559
  promotion_code?: string;
457
560
  }
458
561
 
562
+ namespace Discount {
563
+ interface DiscountEnd {
564
+ /**
565
+ * Time span for the redeemed discount.
566
+ */
567
+ duration?: DiscountEnd.Duration;
568
+
569
+ /**
570
+ * A precise Unix timestamp for the discount to end. Must be in the future.
571
+ */
572
+ timestamp?: number;
573
+
574
+ /**
575
+ * The type of calculation made to determine when the discount ends.
576
+ */
577
+ type: DiscountEnd.Type;
578
+ }
579
+
580
+ namespace DiscountEnd {
581
+ interface Duration {
582
+ /**
583
+ * Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
584
+ */
585
+ interval: Duration.Interval;
586
+
587
+ /**
588
+ * The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
589
+ */
590
+ interval_count: number;
591
+ }
592
+
593
+ namespace Duration {
594
+ type Interval = 'day' | 'month' | 'week' | 'year';
595
+ }
596
+
597
+ type Type = 'duration' | 'timestamp';
598
+ }
599
+ }
600
+
459
601
  interface PriceData {
460
602
  /**
461
603
  * 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).
@@ -507,6 +649,22 @@ declare module 'stripe' {
507
649
 
508
650
  type TaxBehavior = 'exclusive' | 'inclusive' | 'unspecified';
509
651
  }
652
+
653
+ interface Trial {
654
+ /**
655
+ * 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.
656
+ */
657
+ converts_to?: Array<string>;
658
+
659
+ /**
660
+ * Determines the type of trial for this item.
661
+ */
662
+ type: Trial.Type;
663
+ }
664
+
665
+ namespace Trial {
666
+ type Type = 'free' | 'paid';
667
+ }
510
668
  }
511
669
 
512
670
  type PaymentBehavior =
@@ -558,6 +716,13 @@ declare module 'stripe' {
558
716
  PaymentMethodOptions.CustomerBalance
559
717
  >;
560
718
 
719
+ /**
720
+ * This sub-hash contains details about the Indonesia bank transfer payment method options to pass to the invoice's PaymentIntent.
721
+ */
722
+ id_bank_transfer?: Stripe.Emptyable<
723
+ PaymentMethodOptions.IdBankTransfer
724
+ >;
725
+
561
726
  /**
562
727
  * This sub-hash contains details about the Konbini payment method options to pass to the invoice's PaymentIntent.
563
728
  */
@@ -706,6 +871,8 @@ declare module 'stripe' {
706
871
  }
707
872
  }
708
873
 
874
+ interface IdBankTransfer {}
875
+
709
876
  interface Konbini {}
710
877
 
711
878
  interface SepaDebit {}
@@ -746,6 +913,11 @@ declare module 'stripe' {
746
913
  * The account subcategories to use to filter for selectable accounts. Valid subcategories are `checking` and `savings`.
747
914
  */
748
915
  account_subcategories?: Array<Filters.AccountSubcategory>;
916
+
917
+ /**
918
+ * ID of the institution to use to filter for selectable accounts.
919
+ */
920
+ institution?: string;
749
921
  }
750
922
 
751
923
  namespace Filters {
@@ -758,7 +930,11 @@ declare module 'stripe' {
758
930
  | 'payment_method'
759
931
  | 'transactions';
760
932
 
761
- type Prefetch = 'balances' | 'ownership' | 'transactions';
933
+ type Prefetch =
934
+ | 'balances'
935
+ | 'inferred_balances'
936
+ | 'ownership'
937
+ | 'transactions';
762
938
  }
763
939
 
764
940
  type VerificationMethod = 'automatic' | 'instant' | 'microdeposits';
@@ -781,6 +957,7 @@ declare module 'stripe' {
781
957
  | 'fpx'
782
958
  | 'giropay'
783
959
  | 'grabpay'
960
+ | 'id_bank_transfer'
784
961
  | 'ideal'
785
962
  | 'jp_credit_transfer'
786
963
  | 'kakao_pay'
@@ -821,6 +998,22 @@ declare module 'stripe' {
821
998
  type Interval = 'day' | 'month' | 'week' | 'year';
822
999
  }
823
1000
 
1001
+ interface Prebilling {
1002
+ /**
1003
+ * This is used to determine the number of billing cycles to prebill.
1004
+ */
1005
+ iterations: number;
1006
+
1007
+ /**
1008
+ * Whether to cancel or preserve `prebilling` if the subscription is updated during the prebilled period. The default value is `reset`.
1009
+ */
1010
+ update_behavior?: Prebilling.UpdateBehavior;
1011
+ }
1012
+
1013
+ namespace Prebilling {
1014
+ type UpdateBehavior = 'prebill' | 'reset';
1015
+ }
1016
+
824
1017
  type ProrationBehavior = 'always_invoice' | 'create_prorations' | 'none';
825
1018
 
826
1019
  interface TransferData {
@@ -1006,6 +1199,11 @@ declare module 'stripe' {
1006
1199
  SubscriptionUpdateParams.PendingInvoiceItemInterval
1007
1200
  >;
1008
1201
 
1202
+ /**
1203
+ * If specified, the invoicing for the given billing cycle iterations will be processed now.
1204
+ */
1205
+ prebilling?: SubscriptionUpdateParams.Prebilling;
1206
+
1009
1207
  /**
1010
1208
  * The promotion code to apply to this subscription. A promotion code applied to a subscription will only affect invoices created for that particular subscription. This field has been deprecated and will be removed in a future API version. Use `discounts` instead.
1011
1209
  */
@@ -1082,12 +1280,56 @@ declare module 'stripe' {
1082
1280
  */
1083
1281
  discount?: string;
1084
1282
 
1283
+ /**
1284
+ * Details to determine how long the discount should be applied for.
1285
+ */
1286
+ discount_end?: Discount.DiscountEnd;
1287
+
1085
1288
  /**
1086
1289
  * ID of the promotion code to create a new discount for.
1087
1290
  */
1088
1291
  promotion_code?: string;
1089
1292
  }
1090
1293
 
1294
+ namespace Discount {
1295
+ interface DiscountEnd {
1296
+ /**
1297
+ * Time span for the redeemed discount.
1298
+ */
1299
+ duration?: DiscountEnd.Duration;
1300
+
1301
+ /**
1302
+ * A precise Unix timestamp for the discount to end. Must be in the future.
1303
+ */
1304
+ timestamp?: number;
1305
+
1306
+ /**
1307
+ * The type of calculation made to determine when the discount ends.
1308
+ */
1309
+ type: DiscountEnd.Type;
1310
+ }
1311
+
1312
+ namespace DiscountEnd {
1313
+ interface Duration {
1314
+ /**
1315
+ * Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
1316
+ */
1317
+ interval: Duration.Interval;
1318
+
1319
+ /**
1320
+ * The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
1321
+ */
1322
+ interval_count: number;
1323
+ }
1324
+
1325
+ namespace Duration {
1326
+ type Interval = 'day' | 'month' | 'week' | 'year';
1327
+ }
1328
+
1329
+ type Type = 'duration' | 'timestamp';
1330
+ }
1331
+ }
1332
+
1091
1333
  interface PriceData {
1092
1334
  /**
1093
1335
  * 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).
@@ -1201,12 +1443,56 @@ declare module 'stripe' {
1201
1443
  */
1202
1444
  discount?: string;
1203
1445
 
1446
+ /**
1447
+ * Details to determine how long the discount should be applied for.
1448
+ */
1449
+ discount_end?: Discount.DiscountEnd;
1450
+
1204
1451
  /**
1205
1452
  * ID of the promotion code to create a new discount for.
1206
1453
  */
1207
1454
  promotion_code?: string;
1208
1455
  }
1209
1456
 
1457
+ namespace Discount {
1458
+ interface DiscountEnd {
1459
+ /**
1460
+ * Time span for the redeemed discount.
1461
+ */
1462
+ duration?: DiscountEnd.Duration;
1463
+
1464
+ /**
1465
+ * A precise Unix timestamp for the discount to end. Must be in the future.
1466
+ */
1467
+ timestamp?: number;
1468
+
1469
+ /**
1470
+ * The type of calculation made to determine when the discount ends.
1471
+ */
1472
+ type: DiscountEnd.Type;
1473
+ }
1474
+
1475
+ namespace DiscountEnd {
1476
+ interface Duration {
1477
+ /**
1478
+ * Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
1479
+ */
1480
+ interval: Duration.Interval;
1481
+
1482
+ /**
1483
+ * The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
1484
+ */
1485
+ interval_count: number;
1486
+ }
1487
+
1488
+ namespace Duration {
1489
+ type Interval = 'day' | 'month' | 'week' | 'year';
1490
+ }
1491
+
1492
+ type Type = 'duration' | 'timestamp';
1493
+ }
1494
+ }
1495
+
1210
1496
  interface InvoiceSettings {
1211
1497
  /**
1212
1498
  * The account tax IDs associated with the subscription. Will be set on invoices generated by the subscription.
@@ -1313,12 +1599,56 @@ declare module 'stripe' {
1313
1599
  */
1314
1600
  discount?: string;
1315
1601
 
1602
+ /**
1603
+ * Details to determine how long the discount should be applied for.
1604
+ */
1605
+ discount_end?: Discount.DiscountEnd;
1606
+
1316
1607
  /**
1317
1608
  * ID of the promotion code to create a new discount for.
1318
1609
  */
1319
1610
  promotion_code?: string;
1320
1611
  }
1321
1612
 
1613
+ namespace Discount {
1614
+ interface DiscountEnd {
1615
+ /**
1616
+ * Time span for the redeemed discount.
1617
+ */
1618
+ duration?: DiscountEnd.Duration;
1619
+
1620
+ /**
1621
+ * A precise Unix timestamp for the discount to end. Must be in the future.
1622
+ */
1623
+ timestamp?: number;
1624
+
1625
+ /**
1626
+ * The type of calculation made to determine when the discount ends.
1627
+ */
1628
+ type: DiscountEnd.Type;
1629
+ }
1630
+
1631
+ namespace DiscountEnd {
1632
+ interface Duration {
1633
+ /**
1634
+ * Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
1635
+ */
1636
+ interval: Duration.Interval;
1637
+
1638
+ /**
1639
+ * The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
1640
+ */
1641
+ interval_count: number;
1642
+ }
1643
+
1644
+ namespace Duration {
1645
+ type Interval = 'day' | 'month' | 'week' | 'year';
1646
+ }
1647
+
1648
+ type Type = 'duration' | 'timestamp';
1649
+ }
1650
+ }
1651
+
1322
1652
  interface PriceData {
1323
1653
  /**
1324
1654
  * 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).
@@ -1437,6 +1767,13 @@ declare module 'stripe' {
1437
1767
  PaymentMethodOptions.CustomerBalance
1438
1768
  >;
1439
1769
 
1770
+ /**
1771
+ * This sub-hash contains details about the Indonesia bank transfer payment method options to pass to the invoice's PaymentIntent.
1772
+ */
1773
+ id_bank_transfer?: Stripe.Emptyable<
1774
+ PaymentMethodOptions.IdBankTransfer
1775
+ >;
1776
+
1440
1777
  /**
1441
1778
  * This sub-hash contains details about the Konbini payment method options to pass to the invoice's PaymentIntent.
1442
1779
  */
@@ -1585,6 +1922,8 @@ declare module 'stripe' {
1585
1922
  }
1586
1923
  }
1587
1924
 
1925
+ interface IdBankTransfer {}
1926
+
1588
1927
  interface Konbini {}
1589
1928
 
1590
1929
  interface SepaDebit {}
@@ -1625,6 +1964,11 @@ declare module 'stripe' {
1625
1964
  * The account subcategories to use to filter for selectable accounts. Valid subcategories are `checking` and `savings`.
1626
1965
  */
1627
1966
  account_subcategories?: Array<Filters.AccountSubcategory>;
1967
+
1968
+ /**
1969
+ * ID of the institution to use to filter for selectable accounts.
1970
+ */
1971
+ institution?: string;
1628
1972
  }
1629
1973
 
1630
1974
  namespace Filters {
@@ -1637,7 +1981,11 @@ declare module 'stripe' {
1637
1981
  | 'payment_method'
1638
1982
  | 'transactions';
1639
1983
 
1640
- type Prefetch = 'balances' | 'ownership' | 'transactions';
1984
+ type Prefetch =
1985
+ | 'balances'
1986
+ | 'inferred_balances'
1987
+ | 'ownership'
1988
+ | 'transactions';
1641
1989
  }
1642
1990
 
1643
1991
  type VerificationMethod = 'automatic' | 'instant' | 'microdeposits';
@@ -1660,6 +2008,7 @@ declare module 'stripe' {
1660
2008
  | 'fpx'
1661
2009
  | 'giropay'
1662
2010
  | 'grabpay'
2011
+ | 'id_bank_transfer'
1663
2012
  | 'ideal'
1664
2013
  | 'jp_credit_transfer'
1665
2014
  | 'kakao_pay'
@@ -1700,6 +2049,22 @@ declare module 'stripe' {
1700
2049
  type Interval = 'day' | 'month' | 'week' | 'year';
1701
2050
  }
1702
2051
 
2052
+ interface Prebilling {
2053
+ /**
2054
+ * This is used to determine the number of billing cycles to prebill.
2055
+ */
2056
+ iterations: number;
2057
+
2058
+ /**
2059
+ * Whether to cancel or preserve `prebilling` if the subscription is updated during the prebilled period. The default value is `reset`.
2060
+ */
2061
+ update_behavior?: Prebilling.UpdateBehavior;
2062
+ }
2063
+
2064
+ namespace Prebilling {
2065
+ type UpdateBehavior = 'prebill' | 'reset';
2066
+ }
2067
+
1703
2068
  type ProrationBehavior = 'always_invoice' | 'create_prorations' | 'none';
1704
2069
 
1705
2070
  interface TransferData {