stripe 15.3.0 → 15.4.0

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 (96) hide show
  1. checksums.yaml +4 -4
  2. data/API_VERSION +1 -1
  3. data/CHANGELOG.md +21 -1
  4. data/OPENAPI_VERSION +1 -1
  5. data/VERSION +1 -1
  6. data/lib/stripe/api_version.rb +1 -1
  7. data/lib/stripe/resources/account.rb +5 -5
  8. data/lib/stripe/resources/account_link.rb +3 -1
  9. data/lib/stripe/resources/account_session.rb +51 -0
  10. data/lib/stripe/resources/billing/credit_grant.rb +1 -1
  11. data/lib/stripe/resources/billing_portal/configuration.rb +46 -2
  12. data/lib/stripe/resources/charge.rb +7 -5
  13. data/lib/stripe/resources/checkout/session.rb +32 -4
  14. data/lib/stripe/resources/confirmation_token.rb +3 -3
  15. data/lib/stripe/resources/customer.rb +1 -1
  16. data/lib/stripe/resources/dispute.rb +1 -1
  17. data/lib/stripe/resources/event.rb +14 -26
  18. data/lib/stripe/resources/invoice.rb +24 -8
  19. data/lib/stripe/resources/invoice_item.rb +1 -1
  20. data/lib/stripe/resources/payment_intent.rb +14 -4
  21. data/lib/stripe/resources/payment_link.rb +83 -5
  22. data/lib/stripe/resources/payment_method.rb +4 -4
  23. data/lib/stripe/resources/quote.rb +1 -1
  24. data/lib/stripe/resources/radar/value_list.rb +2 -2
  25. data/lib/stripe/resources/refund.rb +1 -1
  26. data/lib/stripe/resources/review.rb +2 -2
  27. data/lib/stripe/resources/setup_attempt.rb +1 -1
  28. data/lib/stripe/resources/subscription.rb +2 -2
  29. data/lib/stripe/resources/subscription_item.rb +2 -2
  30. data/lib/stripe/resources/subscription_schedule.rb +35 -3
  31. data/lib/stripe/resources/tax/registration.rb +408 -30
  32. data/lib/stripe/resources/terminal/configuration.rb +196 -0
  33. data/lib/stripe/services/account_link_service.rb +3 -1
  34. data/lib/stripe/services/account_service.rb +3 -3
  35. data/lib/stripe/services/account_session_service.rb +34 -0
  36. data/lib/stripe/services/billing/credit_grant_service.rb +1 -1
  37. data/lib/stripe/services/billing_portal/configuration_service.rb +36 -2
  38. data/lib/stripe/services/checkout/session_service.rb +19 -3
  39. data/lib/stripe/services/invoice_item_service.rb +1 -1
  40. data/lib/stripe/services/invoice_service.rb +24 -8
  41. data/lib/stripe/services/payment_intent_service.rb +8 -3
  42. data/lib/stripe/services/payment_link_service.rb +81 -5
  43. data/lib/stripe/services/payment_method_service.rb +1 -1
  44. data/lib/stripe/services/quote_service.rb +1 -1
  45. data/lib/stripe/services/radar/value_list_service.rb +1 -1
  46. data/lib/stripe/services/subscription_item_service.rb +2 -2
  47. data/lib/stripe/services/subscription_schedule_service.rb +35 -3
  48. data/lib/stripe/services/subscription_service.rb +2 -2
  49. data/lib/stripe/services/tax/registration_service.rb +360 -30
  50. data/lib/stripe/services/terminal/configuration_service.rb +152 -0
  51. data/lib/stripe/version.rb +1 -1
  52. data/rbi/stripe/resources/account.rbi +5 -5
  53. data/rbi/stripe/resources/account_link.rbi +3 -1
  54. data/rbi/stripe/resources/account_session.rbi +62 -1
  55. data/rbi/stripe/resources/billing/credit_grant.rbi +1 -1
  56. data/rbi/stripe/resources/billing_portal/configuration.rbi +62 -4
  57. data/rbi/stripe/resources/charge.rbi +8 -5
  58. data/rbi/stripe/resources/checkout/session.rbi +42 -7
  59. data/rbi/stripe/resources/confirmation_token.rbi +3 -3
  60. data/rbi/stripe/resources/customer.rbi +1 -1
  61. data/rbi/stripe/resources/dispute.rbi +1 -1
  62. data/rbi/stripe/resources/event.rbi +14 -26
  63. data/rbi/stripe/resources/invoice.rbi +27 -11
  64. data/rbi/stripe/resources/invoice_item.rbi +1 -1
  65. data/rbi/stripe/resources/payment_intent.rbi +14 -4
  66. data/rbi/stripe/resources/payment_link.rbi +101 -9
  67. data/rbi/stripe/resources/payment_method.rbi +4 -4
  68. data/rbi/stripe/resources/quote.rbi +1 -1
  69. data/rbi/stripe/resources/radar/value_list.rbi +2 -2
  70. data/rbi/stripe/resources/refund.rbi +1 -1
  71. data/rbi/stripe/resources/review.rbi +2 -2
  72. data/rbi/stripe/resources/setup_attempt.rbi +1 -1
  73. data/rbi/stripe/resources/subscription.rbi +6 -6
  74. data/rbi/stripe/resources/subscription_item.rbi +2 -2
  75. data/rbi/stripe/resources/subscription_schedule.rbi +33 -5
  76. data/rbi/stripe/resources/tax/registration.rbi +544 -60
  77. data/rbi/stripe/resources/terminal/configuration.rbi +210 -2
  78. data/rbi/stripe/services/account_link_service.rbi +3 -1
  79. data/rbi/stripe/services/account_service.rbi +3 -3
  80. data/rbi/stripe/services/account_session_service.rbi +40 -1
  81. data/rbi/stripe/services/billing/credit_grant_service.rbi +1 -1
  82. data/rbi/stripe/services/billing_portal/configuration_service.rbi +48 -4
  83. data/rbi/stripe/services/checkout/session_service.rbi +26 -6
  84. data/rbi/stripe/services/invoice_item_service.rbi +1 -1
  85. data/rbi/stripe/services/invoice_service.rbi +27 -11
  86. data/rbi/stripe/services/payment_intent_service.rbi +8 -3
  87. data/rbi/stripe/services/payment_link_service.rbi +98 -9
  88. data/rbi/stripe/services/payment_method_service.rbi +1 -1
  89. data/rbi/stripe/services/quote_service.rbi +1 -1
  90. data/rbi/stripe/services/radar/value_list_service.rbi +1 -1
  91. data/rbi/stripe/services/subscription_item_service.rbi +2 -2
  92. data/rbi/stripe/services/subscription_schedule_service.rbi +37 -5
  93. data/rbi/stripe/services/subscription_service.rbi +6 -6
  94. data/rbi/stripe/services/tax/registration_service.rbi +480 -60
  95. data/rbi/stripe/services/terminal/configuration_service.rbi +170 -2
  96. metadata +2 -2
@@ -390,8 +390,13 @@ module Stripe
390
390
  # How line-item prices and amounts will be displayed with respect to tax on invoice PDFs. One of `exclude_tax` or `include_inclusive_tax`. `include_inclusive_tax` will include inclusive tax (and exclude exclusive tax) in invoice PDF amounts. `exclude_tax` will exclude all tax (inclusive and exclusive alike) from invoice PDF amounts.
391
391
  sig { returns(T.nilable(T.nilable(T.any(String, String)))) }
392
392
  attr_accessor :amount_tax_display
393
- sig { params(amount_tax_display: T.nilable(T.nilable(T.any(String, String)))).void }
394
- def initialize(amount_tax_display: nil); end
393
+ # ID of the invoice rendering template to use for this invoice.
394
+ sig { returns(T.nilable(String)) }
395
+ attr_accessor :template
396
+ sig {
397
+ params(amount_tax_display: T.nilable(T.nilable(T.any(String, String))), template: T.nilable(String)).void
398
+ }
399
+ def initialize(amount_tax_display: nil, template: nil); end
395
400
  end
396
401
  # The account tax IDs associated with the invoice.
397
402
  sig { returns(T.nilable(T.nilable(T.any(String, T::Array[String])))) }
@@ -1428,8 +1433,19 @@ module Stripe
1428
1433
  # The number of seconds (between 10 and 1209600) after which Pix payment will expire. Defaults to 86400 seconds.
1429
1434
  sig { returns(T.nilable(Integer)) }
1430
1435
  attr_accessor :expires_after_seconds
1431
- sig { params(expires_after_seconds: T.nilable(Integer)).void }
1432
- def initialize(expires_after_seconds: nil); end
1436
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1437
+ #
1438
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
1439
+ #
1440
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1441
+ #
1442
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1443
+ sig { returns(T.nilable(String)) }
1444
+ attr_accessor :setup_future_usage
1445
+ sig {
1446
+ params(expires_after_seconds: T.nilable(Integer), setup_future_usage: T.nilable(String)).void
1447
+ }
1448
+ def initialize(expires_after_seconds: nil, setup_future_usage: nil); end
1433
1449
  end
1434
1450
  class RevolutPay < Stripe::RequestParams
1435
1451
  # Indicates that you intend to make future payments with this PaymentIntent's payment method.
@@ -1985,7 +2001,7 @@ module Stripe
1985
2001
  end
1986
2002
  class SubscriptionData < Stripe::RequestParams
1987
2003
  class BillingMode < Stripe::RequestParams
1988
- # Attribute for param field type
2004
+ # Controls the calculation and orchestration of prorations and invoices for subscriptions.
1989
2005
  sig { returns(String) }
1990
2006
  attr_accessor :type
1991
2007
  sig { params(type: String).void }
@@ -2260,6 +2276,9 @@ module Stripe
2260
2276
  returns(T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::OptionalItem]))
2261
2277
  }
2262
2278
  attr_accessor :optional_items
2279
+ # Where the user is coming from. This informs the optimizations that are applied to the session. For example, a session originating from a mobile app may behave more like a native app, depending on the platform. This parameter is currently not allowed if `ui_mode` is `custom`.
2280
+ sig { returns(T.nilable(String)) }
2281
+ attr_accessor :origin_context
2263
2282
  # A subset of parameters to be passed to PaymentIntent creation for Checkout Sessions in `payment` mode.
2264
2283
  sig {
2265
2284
  returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentIntentData))
@@ -2370,7 +2389,7 @@ module Stripe
2370
2389
  sig { returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::WalletOptions)) }
2371
2390
  attr_accessor :wallet_options
2372
2391
  sig {
2373
- params(adaptive_pricing: T.nilable(::Stripe::Checkout::SessionService::CreateParams::AdaptivePricing), after_expiration: T.nilable(::Stripe::Checkout::SessionService::CreateParams::AfterExpiration), allow_promotion_codes: T.nilable(T::Boolean), automatic_tax: T.nilable(::Stripe::Checkout::SessionService::CreateParams::AutomaticTax), billing_address_collection: T.nilable(String), cancel_url: T.nilable(String), client_reference_id: T.nilable(String), consent_collection: T.nilable(::Stripe::Checkout::SessionService::CreateParams::ConsentCollection), currency: T.nilable(String), custom_fields: T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::CustomField]), custom_text: T.nilable(::Stripe::Checkout::SessionService::CreateParams::CustomText), customer: T.nilable(String), customer_creation: T.nilable(String), customer_email: T.nilable(String), customer_update: T.nilable(::Stripe::Checkout::SessionService::CreateParams::CustomerUpdate), discounts: T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::Discount]), expand: T.nilable(T::Array[String]), expires_at: T.nilable(Integer), invoice_creation: T.nilable(::Stripe::Checkout::SessionService::CreateParams::InvoiceCreation), line_items: T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::LineItem]), locale: T.nilable(String), metadata: T.nilable(T::Hash[String, String]), mode: T.nilable(String), optional_items: T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::OptionalItem]), payment_intent_data: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentIntentData), payment_method_collection: T.nilable(String), payment_method_configuration: T.nilable(String), payment_method_data: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), permissions: T.nilable(::Stripe::Checkout::SessionService::CreateParams::Permissions), phone_number_collection: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PhoneNumberCollection), redirect_on_completion: T.nilable(String), return_url: T.nilable(String), saved_payment_method_options: T.nilable(::Stripe::Checkout::SessionService::CreateParams::SavedPaymentMethodOptions), setup_intent_data: T.nilable(::Stripe::Checkout::SessionService::CreateParams::SetupIntentData), shipping_address_collection: T.nilable(::Stripe::Checkout::SessionService::CreateParams::ShippingAddressCollection), shipping_options: T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::ShippingOption]), submit_type: T.nilable(String), subscription_data: T.nilable(::Stripe::Checkout::SessionService::CreateParams::SubscriptionData), success_url: T.nilable(String), tax_id_collection: T.nilable(::Stripe::Checkout::SessionService::CreateParams::TaxIdCollection), ui_mode: T.nilable(String), wallet_options: T.nilable(::Stripe::Checkout::SessionService::CreateParams::WalletOptions)).void
2392
+ params(adaptive_pricing: T.nilable(::Stripe::Checkout::SessionService::CreateParams::AdaptivePricing), after_expiration: T.nilable(::Stripe::Checkout::SessionService::CreateParams::AfterExpiration), allow_promotion_codes: T.nilable(T::Boolean), automatic_tax: T.nilable(::Stripe::Checkout::SessionService::CreateParams::AutomaticTax), billing_address_collection: T.nilable(String), cancel_url: T.nilable(String), client_reference_id: T.nilable(String), consent_collection: T.nilable(::Stripe::Checkout::SessionService::CreateParams::ConsentCollection), currency: T.nilable(String), custom_fields: T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::CustomField]), custom_text: T.nilable(::Stripe::Checkout::SessionService::CreateParams::CustomText), customer: T.nilable(String), customer_creation: T.nilable(String), customer_email: T.nilable(String), customer_update: T.nilable(::Stripe::Checkout::SessionService::CreateParams::CustomerUpdate), discounts: T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::Discount]), expand: T.nilable(T::Array[String]), expires_at: T.nilable(Integer), invoice_creation: T.nilable(::Stripe::Checkout::SessionService::CreateParams::InvoiceCreation), line_items: T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::LineItem]), locale: T.nilable(String), metadata: T.nilable(T::Hash[String, String]), mode: T.nilable(String), optional_items: T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::OptionalItem]), origin_context: T.nilable(String), payment_intent_data: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentIntentData), payment_method_collection: T.nilable(String), payment_method_configuration: T.nilable(String), payment_method_data: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), permissions: T.nilable(::Stripe::Checkout::SessionService::CreateParams::Permissions), phone_number_collection: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PhoneNumberCollection), redirect_on_completion: T.nilable(String), return_url: T.nilable(String), saved_payment_method_options: T.nilable(::Stripe::Checkout::SessionService::CreateParams::SavedPaymentMethodOptions), setup_intent_data: T.nilable(::Stripe::Checkout::SessionService::CreateParams::SetupIntentData), shipping_address_collection: T.nilable(::Stripe::Checkout::SessionService::CreateParams::ShippingAddressCollection), shipping_options: T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::ShippingOption]), submit_type: T.nilable(String), subscription_data: T.nilable(::Stripe::Checkout::SessionService::CreateParams::SubscriptionData), success_url: T.nilable(String), tax_id_collection: T.nilable(::Stripe::Checkout::SessionService::CreateParams::TaxIdCollection), ui_mode: T.nilable(String), wallet_options: T.nilable(::Stripe::Checkout::SessionService::CreateParams::WalletOptions)).void
2374
2393
  }
2375
2394
  def initialize(
2376
2395
  adaptive_pricing: nil,
@@ -2397,6 +2416,7 @@ module Stripe
2397
2416
  metadata: nil,
2398
2417
  mode: nil,
2399
2418
  optional_items: nil,
2419
+ origin_context: nil,
2400
2420
  payment_intent_data: nil,
2401
2421
  payment_method_collection: nil,
2402
2422
  payment_method_configuration: nil,
@@ -276,7 +276,7 @@ module Stripe
276
276
  # Specifies which fields in the response should be expanded.
277
277
  sig { returns(T.nilable(T::Array[String])) }
278
278
  attr_accessor :expand
279
- # The ID of an existing invoice to add this invoice item to. When left blank, the invoice item will be added to the next upcoming scheduled invoice. This is useful when adding invoice items in response to an invoice.created webhook. You can only add invoice items to draft invoices and there is a maximum of 250 items per invoice.
279
+ # The ID of an existing invoice to add this invoice item to. For subscription invoices, when left blank, the invoice item will be added to the next upcoming scheduled invoice. For standalone invoices, the invoice item won't be automatically added unless you pass `pending_invoice_item_behavior: 'include'` when creating the invoice. This is useful when adding invoice items in response to an invoice.created webhook. You can only add invoice items to draft invoices and there is a maximum of 250 items per invoice.
280
280
  sig { returns(T.nilable(String)) }
281
281
  attr_accessor :invoice
282
282
  # 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`.
@@ -133,7 +133,7 @@ module Stripe
133
133
  }
134
134
  def initialize(enabled: nil, plan: nil); end
135
135
  end
136
- # Installment configuration for payments attempted on this invoice (Mexico Only).
136
+ # Installment configuration for payments attempted on this invoice.
137
137
  #
138
138
  # For more information, see the [installments integration guide](https://stripe.com/docs/payments/installments).
139
139
  sig {
@@ -502,7 +502,7 @@ module Stripe
502
502
  # Settings for automatic tax lookup for this invoice.
503
503
  sig { returns(T.nilable(::Stripe::InvoiceService::UpdateParams::AutomaticTax)) }
504
504
  attr_accessor :automatic_tax
505
- # The time when this invoice should be scheduled to finalize. The invoice will be finalized at this time if it is still in draft state. To turn off automatic finalization, set `auto_advance` to false.
505
+ # The time when this invoice should be scheduled to finalize (up to 5 years in the future). The invoice is finalized at this time if it's still in draft state. To turn off automatic finalization, set `auto_advance` to false.
506
506
  sig { returns(T.nilable(Integer)) }
507
507
  attr_accessor :automatically_finalizes_at
508
508
  # Either `charge_automatically` or `send_invoice`. This field can be updated only on `draft` invoices.
@@ -827,7 +827,7 @@ module Stripe
827
827
  }
828
828
  def initialize(enabled: nil, plan: nil); end
829
829
  end
830
- # Installment configuration for payments attempted on this invoice (Mexico Only).
830
+ # Installment configuration for payments attempted on this invoice.
831
831
  #
832
832
  # For more information, see the [installments integration guide](https://stripe.com/docs/payments/installments).
833
833
  sig {
@@ -1190,13 +1190,13 @@ module Stripe
1190
1190
  # A fee in cents (or local equivalent) that will be applied to the invoice and transferred to the application owner's Stripe account. The request must be made with an OAuth key or the Stripe-Account header in order to take an application fee. For more information, see the application fees [documentation](https://stripe.com/docs/billing/invoices/connect#collecting-fees).
1191
1191
  sig { returns(T.nilable(Integer)) }
1192
1192
  attr_accessor :application_fee_amount
1193
- # Controls whether Stripe performs [automatic collection](https://stripe.com/docs/invoicing/integration/automatic-advancement-collection) of the invoice. If `false`, the invoice's state doesn't automatically advance without an explicit action.
1193
+ # Controls whether Stripe performs [automatic collection](https://stripe.com/docs/invoicing/integration/automatic-advancement-collection) of the invoice. If `false`, the invoice's state doesn't automatically advance without an explicit action. Defaults to false.
1194
1194
  sig { returns(T.nilable(T::Boolean)) }
1195
1195
  attr_accessor :auto_advance
1196
1196
  # Settings for automatic tax lookup for this invoice.
1197
1197
  sig { returns(T.nilable(::Stripe::InvoiceService::CreateParams::AutomaticTax)) }
1198
1198
  attr_accessor :automatic_tax
1199
- # The time when this invoice should be scheduled to finalize. The invoice will be finalized at this time if it is still in draft state.
1199
+ # The time when this invoice should be scheduled to finalize (up to 5 years in the future). The invoice is finalized at this time if it's still in draft state.
1200
1200
  sig { returns(T.nilable(Integer)) }
1201
1201
  attr_accessor :automatically_finalizes_at
1202
1202
  # Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this invoice using the default source attached to the customer. When sending an invoice, Stripe will email this invoice to the customer with payment instructions. Defaults to `charge_automatically`.
@@ -2217,7 +2217,7 @@ module Stripe
2217
2217
  end
2218
2218
  class ScheduleDetails < Stripe::RequestParams
2219
2219
  class BillingMode < Stripe::RequestParams
2220
- # Attribute for param field type
2220
+ # Controls the calculation and orchestration of prorations and invoices for subscriptions.
2221
2221
  sig { returns(String) }
2222
2222
  attr_accessor :type
2223
2223
  sig { params(type: String).void }
@@ -2348,6 +2348,16 @@ module Stripe
2348
2348
  }
2349
2349
  def initialize(coupon: nil, discount: nil, promotion_code: nil); end
2350
2350
  end
2351
+ class Duration < Stripe::RequestParams
2352
+ # Specifies phase duration. Either `day`, `week`, `month` or `year`.
2353
+ sig { returns(String) }
2354
+ attr_accessor :interval
2355
+ # The multiplier applied to the interval.
2356
+ sig { returns(T.nilable(Integer)) }
2357
+ attr_accessor :interval_count
2358
+ sig { params(interval: String, interval_count: T.nilable(Integer)).void }
2359
+ def initialize(interval: nil, interval_count: nil); end
2360
+ end
2351
2361
  class InvoiceSettings < Stripe::RequestParams
2352
2362
  class Issuer < Stripe::RequestParams
2353
2363
  # The connected account being referenced when `type` is `account`.
@@ -2536,6 +2546,11 @@ module Stripe
2536
2546
  returns(T.nilable(T.nilable(T.any(String, T::Array[::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::Discount]))))
2537
2547
  }
2538
2548
  attr_accessor :discounts
2549
+ # The number of intervals the phase should last. If set, `end_date` must not be set.
2550
+ sig {
2551
+ returns(T.nilable(::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::Duration))
2552
+ }
2553
+ attr_accessor :duration
2539
2554
  # The date at which this phase of the subscription schedule ends. If set, `iterations` must not be set.
2540
2555
  sig { returns(T.nilable(T.any(Integer, String))) }
2541
2556
  attr_accessor :end_date
@@ -2549,7 +2564,7 @@ module Stripe
2549
2564
  returns(T::Array[::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::Item])
2550
2565
  }
2551
2566
  attr_accessor :items
2552
- # Integer representing the multiplier applied to the price interval. For example, `iterations=2` applied to a price with `interval=month` and `interval_count=3` results in a phase of duration `2 * 3 months = 6 months`. If set, `end_date` must not be set.
2567
+ # Integer representing the multiplier applied to the price interval. For example, `iterations=2` applied to a price with `interval=month` and `interval_count=3` results in a phase of duration `2 * 3 months = 6 months`. If set, `end_date` must not be set. This parameter is deprecated and will be removed in a future version. Use `duration` instead.
2553
2568
  sig { returns(T.nilable(Integer)) }
2554
2569
  attr_accessor :iterations
2555
2570
  # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to a phase. Metadata on a schedule's phase will update the underlying subscription's `metadata` when the phase is entered, adding new keys and replacing existing keys in the subscription's `metadata`. Individual keys in the subscription's `metadata` can be unset by posting an empty value to them in the phase's `metadata`. To unset all keys in the subscription's `metadata`, update the subscription directly or unset every key individually from the phase's `metadata`.
@@ -2576,7 +2591,7 @@ module Stripe
2576
2591
  sig { returns(T.nilable(T.any(Integer, String))) }
2577
2592
  attr_accessor :trial_end
2578
2593
  sig {
2579
- params(add_invoice_items: T.nilable(T::Array[::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::AddInvoiceItem]), application_fee_percent: T.nilable(Float), automatic_tax: T.nilable(::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::AutomaticTax), billing_cycle_anchor: T.nilable(String), billing_thresholds: T.nilable(T.nilable(T.any(String, ::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::BillingThresholds))), collection_method: T.nilable(String), currency: T.nilable(String), default_payment_method: T.nilable(String), default_tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String]))), description: T.nilable(T.nilable(String)), discounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::Discount]))), end_date: T.nilable(T.any(Integer, String)), invoice_settings: T.nilable(::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::InvoiceSettings), items: T::Array[::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::Item], iterations: T.nilable(Integer), metadata: T.nilable(T::Hash[String, String]), on_behalf_of: T.nilable(String), proration_behavior: T.nilable(String), start_date: T.nilable(T.any(Integer, String)), transfer_data: T.nilable(::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::TransferData), trial: T.nilable(T::Boolean), trial_end: T.nilable(T.any(Integer, String))).void
2594
+ params(add_invoice_items: T.nilable(T::Array[::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::AddInvoiceItem]), application_fee_percent: T.nilable(Float), automatic_tax: T.nilable(::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::AutomaticTax), billing_cycle_anchor: T.nilable(String), billing_thresholds: T.nilable(T.nilable(T.any(String, ::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::BillingThresholds))), collection_method: T.nilable(String), currency: T.nilable(String), default_payment_method: T.nilable(String), default_tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String]))), description: T.nilable(T.nilable(String)), discounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::Discount]))), duration: T.nilable(::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::Duration), end_date: T.nilable(T.any(Integer, String)), invoice_settings: T.nilable(::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::InvoiceSettings), items: T::Array[::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::Item], iterations: T.nilable(Integer), metadata: T.nilable(T::Hash[String, String]), on_behalf_of: T.nilable(String), proration_behavior: T.nilable(String), start_date: T.nilable(T.any(Integer, String)), transfer_data: T.nilable(::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::TransferData), trial: T.nilable(T::Boolean), trial_end: T.nilable(T.any(Integer, String))).void
2580
2595
  }
2581
2596
  def initialize(
2582
2597
  add_invoice_items: nil,
@@ -2590,6 +2605,7 @@ module Stripe
2590
2605
  default_tax_rates: nil,
2591
2606
  description: nil,
2592
2607
  discounts: nil,
2608
+ duration: nil,
2593
2609
  end_date: nil,
2594
2610
  invoice_settings: nil,
2595
2611
  items: nil,
@@ -2631,7 +2647,7 @@ module Stripe
2631
2647
  end
2632
2648
  class SubscriptionDetails < Stripe::RequestParams
2633
2649
  class BillingMode < Stripe::RequestParams
2634
- # Attribute for param field type
2650
+ # Controls the calculation and orchestration of prorations and invoices for subscriptions.
2635
2651
  sig { returns(String) }
2636
2652
  attr_accessor :type
2637
2653
  sig { params(type: String).void }
@@ -2768,7 +2784,7 @@ module Stripe
2768
2784
  }
2769
2785
  attr_accessor :billing_mode
2770
2786
  # A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled using `proration_behavior`. If set during a future period, this will always cause a proration for that period.
2771
- sig { returns(T.nilable(T.nilable(T.any(String, Integer)))) }
2787
+ sig { returns(T.nilable(T.nilable(T.any(String, T.any(Integer, String))))) }
2772
2788
  attr_accessor :cancel_at
2773
2789
  # Indicate whether this subscription should cancel at the end of the current period (`current_period_end`). Defaults to `false`.
2774
2790
  sig { returns(T.nilable(T::Boolean)) }
@@ -2800,7 +2816,7 @@ module Stripe
2800
2816
  sig { returns(T.nilable(T.any(String, Integer))) }
2801
2817
  attr_accessor :trial_end
2802
2818
  sig {
2803
- params(billing_cycle_anchor: T.nilable(T.any(String, Integer)), billing_mode: T.nilable(::Stripe::InvoiceService::CreatePreviewParams::SubscriptionDetails::BillingMode), cancel_at: T.nilable(T.nilable(T.any(String, Integer))), cancel_at_period_end: T.nilable(T::Boolean), cancel_now: T.nilable(T::Boolean), default_tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String]))), items: T.nilable(T::Array[::Stripe::InvoiceService::CreatePreviewParams::SubscriptionDetails::Item]), proration_behavior: T.nilable(String), proration_date: T.nilable(Integer), resume_at: T.nilable(String), start_date: T.nilable(Integer), trial_end: T.nilable(T.any(String, Integer))).void
2819
+ params(billing_cycle_anchor: T.nilable(T.any(String, Integer)), billing_mode: T.nilable(::Stripe::InvoiceService::CreatePreviewParams::SubscriptionDetails::BillingMode), cancel_at: T.nilable(T.nilable(T.any(String, T.any(Integer, String)))), cancel_at_period_end: T.nilable(T::Boolean), cancel_now: T.nilable(T::Boolean), default_tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String]))), items: T.nilable(T::Array[::Stripe::InvoiceService::CreatePreviewParams::SubscriptionDetails::Item]), proration_behavior: T.nilable(String), proration_date: T.nilable(Integer), resume_at: T.nilable(String), start_date: T.nilable(Integer), trial_end: T.nilable(T.any(String, Integer))).void
2804
2820
  }
2805
2821
  def initialize(
2806
2822
  billing_cycle_anchor: nil,
@@ -1155,7 +1155,7 @@ module Stripe
1155
1155
  # A single-use `cvc_update` Token that represents a card CVC value. When provided, the CVC value will be verified during the card payment attempt. This parameter can only be provided during confirmation.
1156
1156
  sig { returns(T.nilable(String)) }
1157
1157
  attr_accessor :cvc_token
1158
- # Installment configuration for payments attempted on this PaymentIntent (Mexico Only).
1158
+ # Installment configuration for payments attempted on this PaymentIntent.
1159
1159
  #
1160
1160
  # For more information, see the [installments integration guide](https://stripe.com/docs/payments/installments).
1161
1161
  sig {
@@ -3724,7 +3724,7 @@ module Stripe
3724
3724
  # A single-use `cvc_update` Token that represents a card CVC value. When provided, the CVC value will be verified during the card payment attempt. This parameter can only be provided during confirmation.
3725
3725
  sig { returns(T.nilable(String)) }
3726
3726
  attr_accessor :cvc_token
3727
- # Installment configuration for payments attempted on this PaymentIntent (Mexico Only).
3727
+ # Installment configuration for payments attempted on this PaymentIntent.
3728
3728
  #
3729
3729
  # For more information, see the [installments integration guide](https://stripe.com/docs/payments/installments).
3730
3730
  sig {
@@ -6351,7 +6351,7 @@ module Stripe
6351
6351
  # A single-use `cvc_update` Token that represents a card CVC value. When provided, the CVC value will be verified during the card payment attempt. This parameter can only be provided during confirmation.
6352
6352
  sig { returns(T.nilable(String)) }
6353
6353
  attr_accessor :cvc_token
6354
- # Installment configuration for payments attempted on this PaymentIntent (Mexico Only).
6354
+ # Installment configuration for payments attempted on this PaymentIntent.
6355
6355
  #
6356
6356
  # For more information, see the [installments integration guide](https://stripe.com/docs/payments/installments).
6357
6357
  sig {
@@ -7872,6 +7872,7 @@ module Stripe
7872
7872
  # Confirm that your customer intends to pay with current or provided
7873
7873
  # payment method. Upon confirmation, the PaymentIntent will attempt to initiate
7874
7874
  # a payment.
7875
+ #
7875
7876
  # If the selected payment method requires additional authentication steps, the
7876
7877
  # PaymentIntent will transition to the requires_action status and
7877
7878
  # suggest additional actions via next_action. If payment fails,
@@ -7879,18 +7880,22 @@ module Stripe
7879
7880
  # canceled status if the confirmation limit is reached. If
7880
7881
  # payment succeeds, the PaymentIntent will transition to the succeeded
7881
7882
  # status (or requires_capture, if capture_method is set to manual).
7883
+ #
7882
7884
  # If the confirmation_method is automatic, payment may be attempted
7883
7885
  # using our [client SDKs](https://docs.stripe.com/docs/stripe-js/reference#stripe-handle-card-payment)
7884
7886
  # and the PaymentIntent's [client_secret](https://docs.stripe.com/api#payment_intent_object-client_secret).
7885
7887
  # After next_actions are handled by the client, no additional
7886
7888
  # confirmation is required to complete the payment.
7889
+ #
7887
7890
  # If the confirmation_method is manual, all payment attempts must be
7888
7891
  # initiated using a secret key.
7892
+ #
7889
7893
  # If any actions are required for the payment, the PaymentIntent will
7890
7894
  # return to the requires_confirmation state
7891
7895
  # after those actions are completed. Your server needs to then
7892
7896
  # explicitly re-confirm the PaymentIntent to initiate the next payment
7893
7897
  # attempt.
7898
+ #
7894
7899
  # There is a variable upper limit on how many times a PaymentIntent can be confirmed.
7895
7900
  # After this limit is reached, any further calls to this endpoint will
7896
7901
  # transition the PaymentIntent to the canceled state.
@@ -310,8 +310,13 @@ module Stripe
310
310
  # How line-item prices and amounts will be displayed with respect to tax on invoice PDFs. One of `exclude_tax` or `include_inclusive_tax`. `include_inclusive_tax` will include inclusive tax (and exclude exclusive tax) in invoice PDF amounts. `exclude_tax` will exclude all tax (inclusive and exclusive alike) from invoice PDF amounts.
311
311
  sig { returns(T.nilable(T.nilable(T.any(String, String)))) }
312
312
  attr_accessor :amount_tax_display
313
- sig { params(amount_tax_display: T.nilable(T.nilable(T.any(String, String)))).void }
314
- def initialize(amount_tax_display: nil); end
313
+ # ID of the invoice rendering template to use for this invoice.
314
+ sig { returns(T.nilable(String)) }
315
+ attr_accessor :template
316
+ sig {
317
+ params(amount_tax_display: T.nilable(T.nilable(T.any(String, String))), template: T.nilable(String)).void
318
+ }
319
+ def initialize(amount_tax_display: nil, template: nil); end
315
320
  end
316
321
  # The account tax IDs associated with the invoice.
317
322
  sig { returns(T.nilable(T.nilable(T.any(String, T::Array[String])))) }
@@ -371,7 +376,7 @@ module Stripe
371
376
  # Set to true if the quantity can be adjusted to any non-negative Integer.
372
377
  sig { returns(T::Boolean) }
373
378
  attr_accessor :enabled
374
- # The maximum quantity the customer can purchase. By default this value is 99. You can specify a value up to 999.
379
+ # The maximum quantity the customer can purchase. By default this value is 99. You can specify a value up to 999999.
375
380
  sig { returns(T.nilable(Integer)) }
376
381
  attr_accessor :maximum
377
382
  # The minimum quantity the customer can purchase. By default this value is 0. If there is only one item in the cart then that item's quantity cannot go down to 0.
@@ -382,21 +387,100 @@ module Stripe
382
387
  }
383
388
  def initialize(enabled: nil, maximum: nil, minimum: nil); end
384
389
  end
390
+ class PriceData < Stripe::RequestParams
391
+ class ProductData < Stripe::RequestParams
392
+ # The product's description, meant to be displayable to the customer. Use this field to optionally store a long form explanation of the product being sold for your own rendering purposes.
393
+ sig { returns(T.nilable(String)) }
394
+ attr_accessor :description
395
+ # A list of up to 8 URLs of images for this product, meant to be displayable to the customer.
396
+ sig { returns(T.nilable(T::Array[String])) }
397
+ attr_accessor :images
398
+ # 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`.
399
+ sig { returns(T.nilable(T::Hash[String, String])) }
400
+ attr_accessor :metadata
401
+ # The product's name, meant to be displayable to the customer.
402
+ sig { returns(String) }
403
+ attr_accessor :name
404
+ # A [tax code](https://stripe.com/docs/tax/tax-categories) ID.
405
+ sig { returns(T.nilable(String)) }
406
+ attr_accessor :tax_code
407
+ sig {
408
+ params(description: T.nilable(String), images: T.nilable(T::Array[String]), metadata: T.nilable(T::Hash[String, String]), name: String, tax_code: T.nilable(String)).void
409
+ }
410
+ def initialize(
411
+ description: nil,
412
+ images: nil,
413
+ metadata: nil,
414
+ name: nil,
415
+ tax_code: nil
416
+ ); end
417
+ end
418
+ class Recurring < Stripe::RequestParams
419
+ # Specifies billing frequency. Either `day`, `week`, `month` or `year`.
420
+ sig { returns(String) }
421
+ attr_accessor :interval
422
+ # The number of intervals between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of three years interval allowed (3 years, 36 months, or 156 weeks).
423
+ sig { returns(T.nilable(Integer)) }
424
+ attr_accessor :interval_count
425
+ sig { params(interval: String, interval_count: T.nilable(Integer)).void }
426
+ def initialize(interval: nil, interval_count: nil); end
427
+ end
428
+ # 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).
429
+ sig { returns(String) }
430
+ attr_accessor :currency
431
+ # The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to. One of `product` or `product_data` is required.
432
+ sig { returns(T.nilable(String)) }
433
+ attr_accessor :product
434
+ # Data used to generate a new [Product](https://docs.stripe.com/api/products) object inline. One of `product` or `product_data` is required.
435
+ sig {
436
+ returns(T.nilable(::Stripe::PaymentLinkService::CreateParams::LineItem::PriceData::ProductData))
437
+ }
438
+ attr_accessor :product_data
439
+ # The recurring components of a price such as `interval` and `interval_count`.
440
+ sig {
441
+ returns(T.nilable(::Stripe::PaymentLinkService::CreateParams::LineItem::PriceData::Recurring))
442
+ }
443
+ attr_accessor :recurring
444
+ # Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed.
445
+ sig { returns(T.nilable(String)) }
446
+ attr_accessor :tax_behavior
447
+ # A non-negative integer in cents (or local equivalent) representing how much to charge. One of `unit_amount` or `unit_amount_decimal` is required.
448
+ sig { returns(T.nilable(Integer)) }
449
+ attr_accessor :unit_amount
450
+ # Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set.
451
+ sig { returns(T.nilable(String)) }
452
+ attr_accessor :unit_amount_decimal
453
+ sig {
454
+ params(currency: String, product: T.nilable(String), product_data: T.nilable(::Stripe::PaymentLinkService::CreateParams::LineItem::PriceData::ProductData), recurring: T.nilable(::Stripe::PaymentLinkService::CreateParams::LineItem::PriceData::Recurring), tax_behavior: T.nilable(String), unit_amount: T.nilable(Integer), unit_amount_decimal: T.nilable(String)).void
455
+ }
456
+ def initialize(
457
+ currency: nil,
458
+ product: nil,
459
+ product_data: nil,
460
+ recurring: nil,
461
+ tax_behavior: nil,
462
+ unit_amount: nil,
463
+ unit_amount_decimal: nil
464
+ ); end
465
+ end
385
466
  # When set, provides configuration for this item’s quantity to be adjusted by the customer during checkout.
386
467
  sig {
387
468
  returns(T.nilable(::Stripe::PaymentLinkService::CreateParams::LineItem::AdjustableQuantity))
388
469
  }
389
470
  attr_accessor :adjustable_quantity
390
471
  # The ID of the [Price](https://stripe.com/docs/api/prices) or [Plan](https://stripe.com/docs/api/plans) object.
391
- sig { returns(String) }
472
+ sig { returns(T.nilable(String)) }
392
473
  attr_accessor :price
474
+ # Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required.
475
+ sig { returns(T.nilable(::Stripe::PaymentLinkService::CreateParams::LineItem::PriceData)) }
476
+ attr_accessor :price_data
393
477
  # The quantity of the line item being purchased.
394
478
  sig { returns(Integer) }
395
479
  attr_accessor :quantity
396
480
  sig {
397
- params(adjustable_quantity: T.nilable(::Stripe::PaymentLinkService::CreateParams::LineItem::AdjustableQuantity), price: String, quantity: Integer).void
481
+ params(adjustable_quantity: T.nilable(::Stripe::PaymentLinkService::CreateParams::LineItem::AdjustableQuantity), price: T.nilable(String), price_data: T.nilable(::Stripe::PaymentLinkService::CreateParams::LineItem::PriceData), quantity: Integer).void
398
482
  }
399
- def initialize(adjustable_quantity: nil, price: nil, quantity: nil); end
483
+ def initialize(adjustable_quantity: nil, price: nil, price_data: nil, quantity: nil); end
400
484
  end
401
485
  class OptionalItem < Stripe::RequestParams
402
486
  class AdjustableQuantity < Stripe::RequestParams
@@ -995,8 +1079,13 @@ module Stripe
995
1079
  # How line-item prices and amounts will be displayed with respect to tax on invoice PDFs. One of `exclude_tax` or `include_inclusive_tax`. `include_inclusive_tax` will include inclusive tax (and exclude exclusive tax) in invoice PDF amounts. `exclude_tax` will exclude all tax (inclusive and exclusive alike) from invoice PDF amounts.
996
1080
  sig { returns(T.nilable(T.nilable(T.any(String, String)))) }
997
1081
  attr_accessor :amount_tax_display
998
- sig { params(amount_tax_display: T.nilable(T.nilable(T.any(String, String)))).void }
999
- def initialize(amount_tax_display: nil); end
1082
+ # ID of the invoice rendering template to use for this invoice.
1083
+ sig { returns(T.nilable(String)) }
1084
+ attr_accessor :template
1085
+ sig {
1086
+ params(amount_tax_display: T.nilable(T.nilable(T.any(String, String))), template: T.nilable(String)).void
1087
+ }
1088
+ def initialize(amount_tax_display: nil, template: nil); end
1000
1089
  end
1001
1090
  # The account tax IDs associated with the invoice.
1002
1091
  sig { returns(T.nilable(T.nilable(T.any(String, T::Array[String])))) }
@@ -1056,7 +1145,7 @@ module Stripe
1056
1145
  # Set to true if the quantity can be adjusted to any non-negative Integer.
1057
1146
  sig { returns(T::Boolean) }
1058
1147
  attr_accessor :enabled
1059
- # The maximum quantity the customer can purchase. By default this value is 99. You can specify a value up to 999.
1148
+ # The maximum quantity the customer can purchase. By default this value is 99. You can specify a value up to 999999.
1060
1149
  sig { returns(T.nilable(Integer)) }
1061
1150
  attr_accessor :maximum
1062
1151
  # The minimum quantity the customer can purchase. By default this value is 0. If there is only one item in the cart then that item's quantity cannot go down to 0.
@@ -772,7 +772,7 @@ module Stripe
772
772
  }
773
773
  def retrieve(payment_method, params = {}, opts = {}); end
774
774
 
775
- # Updates a PaymentMethod object. A PaymentMethod must be attached a customer to be updated.
775
+ # Updates a PaymentMethod object. A PaymentMethod must be attached to a customer to be updated.
776
776
  sig {
777
777
  params(payment_method: String, params: T.any(::Stripe::PaymentMethodService::UpdateParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::PaymentMethod)
778
778
  }
@@ -200,7 +200,7 @@ module Stripe
200
200
  end
201
201
  class SubscriptionData < Stripe::RequestParams
202
202
  class BillingMode < Stripe::RequestParams
203
- # Attribute for param field type
203
+ # Controls the calculation and orchestration of prorations and invoices for subscriptions.
204
204
  sig { returns(String) }
205
205
  attr_accessor :type
206
206
  sig { params(type: String).void }
@@ -93,7 +93,7 @@ module Stripe
93
93
  # Specifies which fields in the response should be expanded.
94
94
  sig { returns(T.nilable(T::Array[String])) }
95
95
  attr_accessor :expand
96
- # Type of the items in the value list. One of `card_fingerprint`, `us_bank_account_fingerprint`, `sepa_debit_fingerprint`, `card_bin`, `email`, `ip_address`, `country`, `string`, `case_sensitive_string`, or `customer_id`. Use `string` if the item type is unknown or mixed.
96
+ # Type of the items in the value list. One of `card_fingerprint`, `card_bin`, `email`, `ip_address`, `country`, `string`, `case_sensitive_string`, `customer_id`, `sepa_debit_fingerprint`, or `us_bank_account_fingerprint`. Use `string` if the item type is unknown or mixed.
97
97
  sig { returns(T.nilable(String)) }
98
98
  attr_accessor :item_type
99
99
  # 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`.
@@ -115,7 +115,7 @@ module Stripe
115
115
  #
116
116
  # Use `pending_if_incomplete` to update the subscription using [pending updates](https://stripe.com/docs/billing/subscriptions/pending-updates). When you use `pending_if_incomplete` you can only pass the parameters [supported by pending updates](https://stripe.com/docs/billing/pending-updates-reference#supported-attributes).
117
117
  #
118
- # Use `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not update the subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://stripe.com/docs/upgrades#2019-03-14) to learn more.
118
+ # Use `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not update the subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://docs.stripe.com/changelog/2019-03-14) to learn more.
119
119
  sig { returns(T.nilable(String)) }
120
120
  attr_accessor :payment_behavior
121
121
  # The identifier of the new plan for this subscription item.
@@ -271,7 +271,7 @@ module Stripe
271
271
  #
272
272
  # Use `pending_if_incomplete` to update the subscription using [pending updates](https://stripe.com/docs/billing/subscriptions/pending-updates). When you use `pending_if_incomplete` you can only pass the parameters [supported by pending updates](https://stripe.com/docs/billing/pending-updates-reference#supported-attributes).
273
273
  #
274
- # Use `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not update the subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://stripe.com/docs/upgrades#2019-03-14) to learn more.
274
+ # Use `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not update the subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://docs.stripe.com/changelog/2019-03-14) to learn more.
275
275
  sig { returns(T.nilable(String)) }
276
276
  attr_accessor :payment_behavior
277
277
  # The identifier of the plan to add to the subscription.