stripe 15.2.1 → 15.3.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 (106) hide show
  1. checksums.yaml +4 -4
  2. data/API_VERSION +1 -0
  3. data/CHANGELOG.md +66 -39
  4. data/OPENAPI_VERSION +1 -1
  5. data/README.md +14 -50
  6. data/VERSION +1 -1
  7. data/lib/stripe/api_version.rb +2 -1
  8. data/lib/stripe/events/v2_core_event_destination_ping_event.rb +1 -1
  9. data/lib/stripe/resources/account.rb +89 -5
  10. data/lib/stripe/resources/account_session.rb +79 -79
  11. data/lib/stripe/resources/billing_portal/session.rb +2 -2
  12. data/lib/stripe/resources/charge.rb +28 -15
  13. data/lib/stripe/resources/checkout/session.rb +57 -7
  14. data/lib/stripe/resources/confirmation_token.rb +19 -11
  15. data/lib/stripe/resources/credit_note.rb +9 -9
  16. data/lib/stripe/resources/customer_session.rb +2 -2
  17. data/lib/stripe/resources/event.rb +1 -1
  18. data/lib/stripe/resources/identity/verification_session.rb +34 -0
  19. data/lib/stripe/resources/invoice.rb +29 -4
  20. data/lib/stripe/resources/invoice_item.rb +1 -4
  21. data/lib/stripe/resources/mandate.rb +3 -0
  22. data/lib/stripe/resources/payment_intent.rb +331 -12
  23. data/lib/stripe/resources/payment_method.rb +17 -9
  24. data/lib/stripe/resources/quote.rb +26 -3
  25. data/lib/stripe/resources/setup_attempt.rb +1 -1
  26. data/lib/stripe/resources/setup_intent.rb +285 -3
  27. data/lib/stripe/resources/subscription.rb +68 -6
  28. data/lib/stripe/resources/subscription_schedule.rb +22 -0
  29. data/lib/stripe/resources/tax/registration.rb +20 -0
  30. data/lib/stripe/resources/terminal/configuration.rb +1 -0
  31. data/lib/stripe/resources/terminal/reader.rb +152 -4
  32. data/lib/stripe/resources/token.rb +1 -1
  33. data/lib/stripe/resources/treasury/financial_account.rb +5 -1
  34. data/lib/stripe/services/account_service.rb +83 -5
  35. data/lib/stripe/services/account_session_service.rb +48 -48
  36. data/lib/stripe/services/billing_portal/session_service.rb +1 -1
  37. data/lib/stripe/services/checkout/session_service.rb +57 -7
  38. data/lib/stripe/services/credit_note_preview_lines_service.rb +3 -3
  39. data/lib/stripe/services/credit_note_service.rb +6 -6
  40. data/lib/stripe/services/customer_session_service.rb +1 -1
  41. data/lib/stripe/services/identity/verification_session_service.rb +16 -0
  42. data/lib/stripe/services/invoice_service.rb +29 -4
  43. data/lib/stripe/services/payment_intent_service.rb +315 -9
  44. data/lib/stripe/services/payment_method_service.rb +5 -0
  45. data/lib/stripe/services/quote_service.rb +20 -3
  46. data/lib/stripe/services/setup_intent_service.rb +275 -2
  47. data/lib/stripe/services/subscription_schedule_service.rb +13 -0
  48. data/lib/stripe/services/subscription_service.rb +48 -4
  49. data/lib/stripe/services/tax/registration_service.rb +13 -0
  50. data/lib/stripe/services/terminal/reader_service.rb +90 -0
  51. data/lib/stripe/services/test_helpers/confirmation_token_service.rb +6 -1
  52. data/lib/stripe/services/token_service.rb +1 -1
  53. data/lib/stripe/services/treasury/financial_account_service.rb +5 -1
  54. data/lib/stripe/services/v2/billing_service.rb +2 -2
  55. data/lib/stripe/services/v2/core/event_destination_service.rb +16 -16
  56. data/lib/stripe/version.rb +1 -1
  57. data/rbi/stripe/resources/account.rbi +78 -9
  58. data/rbi/stripe/resources/account_session.rbi +79 -79
  59. data/rbi/stripe/resources/billing_portal/session.rbi +2 -2
  60. data/rbi/stripe/resources/charge.rbi +32 -15
  61. data/rbi/stripe/resources/checkout/session.rbi +65 -9
  62. data/rbi/stripe/resources/confirmation_token.rbi +23 -12
  63. data/rbi/stripe/resources/credit_note.rbi +9 -9
  64. data/rbi/stripe/resources/customer_session.rbi +2 -2
  65. data/rbi/stripe/resources/event.rbi +1 -1
  66. data/rbi/stripe/resources/identity/verification_session.rbi +39 -1
  67. data/rbi/stripe/resources/invoice.rbi +36 -6
  68. data/rbi/stripe/resources/invoice_item.rbi +1 -4
  69. data/rbi/stripe/resources/mandate.rbi +4 -0
  70. data/rbi/stripe/resources/payment_intent.rbi +361 -21
  71. data/rbi/stripe/resources/payment_method.rbi +19 -10
  72. data/rbi/stripe/resources/quote.rbi +22 -3
  73. data/rbi/stripe/resources/setup_attempt.rbi +1 -1
  74. data/rbi/stripe/resources/setup_intent.rbi +332 -9
  75. data/rbi/stripe/resources/subscription.rbi +60 -7
  76. data/rbi/stripe/resources/subscription_schedule.rbi +23 -1
  77. data/rbi/stripe/resources/tax/registration.rbi +20 -1
  78. data/rbi/stripe/resources/terminal/configuration.rbi +1 -0
  79. data/rbi/stripe/resources/terminal/location.rbi +2 -2
  80. data/rbi/stripe/resources/terminal/reader.rbi +151 -4
  81. data/rbi/stripe/resources/token.rbi +1 -1
  82. data/rbi/stripe/resources/treasury/financial_account.rbi +6 -2
  83. data/rbi/stripe/services/account_service.rbi +77 -9
  84. data/rbi/stripe/services/account_session_service.rbi +48 -48
  85. data/rbi/stripe/services/billing_portal/session_service.rbi +1 -1
  86. data/rbi/stripe/services/checkout/session_service.rbi +65 -9
  87. data/rbi/stripe/services/credit_note_preview_lines_service.rbi +3 -3
  88. data/rbi/stripe/services/credit_note_service.rbi +6 -6
  89. data/rbi/stripe/services/customer_session_service.rbi +1 -1
  90. data/rbi/stripe/services/identity/verification_session_service.rbi +17 -1
  91. data/rbi/stripe/services/invoice_service.rbi +36 -6
  92. data/rbi/stripe/services/payment_intent_service.rbi +348 -18
  93. data/rbi/stripe/services/payment_method_service.rbi +6 -1
  94. data/rbi/stripe/services/quote_service.rbi +16 -3
  95. data/rbi/stripe/services/setup_intent_service.rbi +326 -8
  96. data/rbi/stripe/services/subscription_schedule_service.rbi +12 -1
  97. data/rbi/stripe/services/subscription_service.rbi +41 -5
  98. data/rbi/stripe/services/tax/registration_service.rbi +14 -1
  99. data/rbi/stripe/services/terminal/location_service.rbi +2 -2
  100. data/rbi/stripe/services/terminal/reader_service.rbi +85 -0
  101. data/rbi/stripe/services/test_helpers/confirmation_token_service.rbi +9 -2
  102. data/rbi/stripe/services/token_service.rbi +1 -1
  103. data/rbi/stripe/services/treasury/financial_account_service.rbi +6 -2
  104. data/rbi/stripe/services/v2/billing_service.rbi +1 -1
  105. data/rbi/stripe/services/v2/core/event_destination_service.rbi +13 -13
  106. metadata +3 -2
@@ -224,6 +224,7 @@ module Stripe
224
224
  def initialize(tax_id: nil); end
225
225
  end
226
226
  class Cashapp < Stripe::RequestParams; end
227
+ class Crypto < Stripe::RequestParams; end
227
228
  class CustomerBalance < Stripe::RequestParams; end
228
229
  class Eps < Stripe::RequestParams
229
230
  # The customer's bank.
@@ -462,6 +463,11 @@ module Stripe
462
463
  returns(T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Cashapp))
463
464
  }
464
465
  attr_accessor :cashapp
466
+ # If this is a Crypto PaymentMethod, this hash contains details about the Crypto payment method.
467
+ sig {
468
+ returns(T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Crypto))
469
+ }
470
+ attr_accessor :crypto
465
471
  # If this is a `customer_balance` PaymentMethod, this hash contains details about the CustomerBalance payment method.
466
472
  sig {
467
473
  returns(T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::CustomerBalance))
@@ -644,7 +650,7 @@ module Stripe
644
650
  }
645
651
  attr_accessor :zip
646
652
  sig {
647
- params(acss_debit: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::AcssDebit), affirm: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Affirm), afterpay_clearpay: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::AfterpayClearpay), alipay: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Alipay), allow_redisplay: T.nilable(String), alma: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Alma), amazon_pay: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::AmazonPay), au_becs_debit: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::AuBecsDebit), bacs_debit: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::BacsDebit), bancontact: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Bancontact), billie: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Billie), billing_details: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::BillingDetails), blik: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Blik), boleto: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Boleto), cashapp: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Cashapp), customer_balance: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::CustomerBalance), eps: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Eps), fpx: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Fpx), giropay: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Giropay), grabpay: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Grabpay), ideal: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Ideal), interac_present: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::InteracPresent), kakao_pay: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::KakaoPay), klarna: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Klarna), konbini: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Konbini), kr_card: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::KrCard), link: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Link), metadata: T.nilable(T::Hash[String, String]), mobilepay: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Mobilepay), multibanco: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Multibanco), naver_pay: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::NaverPay), nz_bank_account: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::NzBankAccount), oxxo: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Oxxo), p24: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::P24), pay_by_bank: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::PayByBank), payco: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Payco), paynow: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Paynow), paypal: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Paypal), pix: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Pix), promptpay: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Promptpay), radar_options: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::RadarOptions), revolut_pay: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::RevolutPay), samsung_pay: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::SamsungPay), satispay: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Satispay), sepa_debit: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::SepaDebit), sofort: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Sofort), swish: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Swish), twint: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Twint), type: String, us_bank_account: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::UsBankAccount), wechat_pay: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::WechatPay), zip: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Zip)).void
653
+ params(acss_debit: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::AcssDebit), affirm: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Affirm), afterpay_clearpay: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::AfterpayClearpay), alipay: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Alipay), allow_redisplay: T.nilable(String), alma: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Alma), amazon_pay: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::AmazonPay), au_becs_debit: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::AuBecsDebit), bacs_debit: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::BacsDebit), bancontact: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Bancontact), billie: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Billie), billing_details: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::BillingDetails), blik: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Blik), boleto: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Boleto), cashapp: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Cashapp), crypto: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Crypto), customer_balance: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::CustomerBalance), eps: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Eps), fpx: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Fpx), giropay: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Giropay), grabpay: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Grabpay), ideal: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Ideal), interac_present: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::InteracPresent), kakao_pay: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::KakaoPay), klarna: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Klarna), konbini: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Konbini), kr_card: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::KrCard), link: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Link), metadata: T.nilable(T::Hash[String, String]), mobilepay: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Mobilepay), multibanco: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Multibanco), naver_pay: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::NaverPay), nz_bank_account: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::NzBankAccount), oxxo: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Oxxo), p24: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::P24), pay_by_bank: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::PayByBank), payco: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Payco), paynow: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Paynow), paypal: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Paypal), pix: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Pix), promptpay: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Promptpay), radar_options: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::RadarOptions), revolut_pay: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::RevolutPay), samsung_pay: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::SamsungPay), satispay: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Satispay), sepa_debit: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::SepaDebit), sofort: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Sofort), swish: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Swish), twint: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Twint), type: String, us_bank_account: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::UsBankAccount), wechat_pay: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::WechatPay), zip: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodData::Zip)).void
648
654
  }
649
655
  def initialize(
650
656
  acss_debit: nil,
@@ -662,6 +668,7 @@ module Stripe
662
668
  blik: nil,
663
669
  boleto: nil,
664
670
  cashapp: nil,
671
+ crypto: nil,
665
672
  customer_balance: nil,
666
673
  eps: nil,
667
674
  fpx: nil,
@@ -926,6 +933,99 @@ module Stripe
926
933
  ); end
927
934
  end
928
935
  class CardPresent < Stripe::RequestParams; end
936
+ class Klarna < Stripe::RequestParams
937
+ class OnDemand < Stripe::RequestParams
938
+ # Your average amount value. You can use a value across your customer base, or segment based on customer type, country, etc.
939
+ sig { returns(T.nilable(Integer)) }
940
+ attr_accessor :average_amount
941
+ # The maximum value you may charge a customer per purchase. You can use a value across your customer base, or segment based on customer type, country, etc.
942
+ sig { returns(T.nilable(Integer)) }
943
+ attr_accessor :maximum_amount
944
+ # The lowest or minimum value you may charge a customer per purchase. You can use a value across your customer base, or segment based on customer type, country, etc.
945
+ sig { returns(T.nilable(Integer)) }
946
+ attr_accessor :minimum_amount
947
+ # Interval at which the customer is making purchases
948
+ sig { returns(T.nilable(String)) }
949
+ attr_accessor :purchase_interval
950
+ # The number of `purchase_interval` between charges
951
+ sig { returns(T.nilable(Integer)) }
952
+ attr_accessor :purchase_interval_count
953
+ sig {
954
+ params(average_amount: T.nilable(Integer), maximum_amount: T.nilable(Integer), minimum_amount: T.nilable(Integer), purchase_interval: T.nilable(String), purchase_interval_count: T.nilable(Integer)).void
955
+ }
956
+ def initialize(
957
+ average_amount: nil,
958
+ maximum_amount: nil,
959
+ minimum_amount: nil,
960
+ purchase_interval: nil,
961
+ purchase_interval_count: nil
962
+ ); end
963
+ end
964
+ class Subscription < Stripe::RequestParams
965
+ class NextBilling < Stripe::RequestParams
966
+ # The amount of the next charge for the subscription.
967
+ sig { returns(Integer) }
968
+ attr_accessor :amount
969
+ # The date of the next charge for the subscription in YYYY-MM-DD format.
970
+ sig { returns(String) }
971
+ attr_accessor :date
972
+ sig { params(amount: Integer, date: String).void }
973
+ def initialize(amount: nil, date: nil); end
974
+ end
975
+ # Unit of time between subscription charges.
976
+ sig { returns(String) }
977
+ attr_accessor :interval
978
+ # The number of intervals (specified in the `interval` attribute) between subscription charges. For example, `interval=month` and `interval_count=3` charges every 3 months.
979
+ sig { returns(T.nilable(Integer)) }
980
+ attr_accessor :interval_count
981
+ # Name for subscription.
982
+ sig { returns(T.nilable(String)) }
983
+ attr_accessor :name
984
+ # Describes the upcoming charge for this subscription.
985
+ sig {
986
+ returns(::Stripe::SetupIntentService::CreateParams::PaymentMethodOptions::Klarna::Subscription::NextBilling)
987
+ }
988
+ attr_accessor :next_billing
989
+ # A non-customer-facing reference to correlate subscription charges in the Klarna app. Use a value that persists across subscription charges.
990
+ sig { returns(String) }
991
+ attr_accessor :reference
992
+ sig {
993
+ params(interval: String, interval_count: T.nilable(Integer), name: T.nilable(String), next_billing: ::Stripe::SetupIntentService::CreateParams::PaymentMethodOptions::Klarna::Subscription::NextBilling, reference: String).void
994
+ }
995
+ def initialize(
996
+ interval: nil,
997
+ interval_count: nil,
998
+ name: nil,
999
+ next_billing: nil,
1000
+ reference: nil
1001
+ ); end
1002
+ end
1003
+ # The currency of the SetupIntent. Three letter ISO currency code.
1004
+ sig { returns(T.nilable(String)) }
1005
+ attr_accessor :currency
1006
+ # On-demand details if setting up a payment method for on-demand payments.
1007
+ sig {
1008
+ returns(T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodOptions::Klarna::OnDemand))
1009
+ }
1010
+ attr_accessor :on_demand
1011
+ # Preferred language of the Klarna authorization page that the customer is redirected to
1012
+ sig { returns(T.nilable(String)) }
1013
+ attr_accessor :preferred_locale
1014
+ # Subscription details if setting up or charging a subscription
1015
+ sig {
1016
+ returns(T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SetupIntentService::CreateParams::PaymentMethodOptions::Klarna::Subscription]))))
1017
+ }
1018
+ attr_accessor :subscriptions
1019
+ sig {
1020
+ params(currency: T.nilable(String), on_demand: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodOptions::Klarna::OnDemand), preferred_locale: T.nilable(String), subscriptions: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SetupIntentService::CreateParams::PaymentMethodOptions::Klarna::Subscription])))).void
1021
+ }
1022
+ def initialize(
1023
+ currency: nil,
1024
+ on_demand: nil,
1025
+ preferred_locale: nil,
1026
+ subscriptions: nil
1027
+ ); end
1028
+ end
929
1029
  class Link < Stripe::RequestParams
930
1030
  # [Deprecated] This is a legacy parameter that no longer has any function.
931
1031
  sig { returns(T.nilable(String)) }
@@ -1053,6 +1153,11 @@ module Stripe
1053
1153
  returns(T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodOptions::CardPresent))
1054
1154
  }
1055
1155
  attr_accessor :card_present
1156
+ # If this is a `klarna` PaymentMethod, this hash contains details about the Klarna payment method options.
1157
+ sig {
1158
+ returns(T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodOptions::Klarna))
1159
+ }
1160
+ attr_accessor :klarna
1056
1161
  # If this is a `link` PaymentMethod, this sub-hash contains details about the Link payment method options.
1057
1162
  sig {
1058
1163
  returns(T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodOptions::Link))
@@ -1074,7 +1179,7 @@ module Stripe
1074
1179
  }
1075
1180
  attr_accessor :us_bank_account
1076
1181
  sig {
1077
- params(acss_debit: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodOptions::AcssDebit), amazon_pay: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodOptions::AmazonPay), bacs_debit: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodOptions::BacsDebit), card: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodOptions::Card), card_present: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodOptions::CardPresent), link: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodOptions::Link), paypal: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodOptions::Paypal), sepa_debit: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodOptions::SepaDebit), us_bank_account: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodOptions::UsBankAccount)).void
1182
+ params(acss_debit: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodOptions::AcssDebit), amazon_pay: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodOptions::AmazonPay), bacs_debit: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodOptions::BacsDebit), card: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodOptions::Card), card_present: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodOptions::CardPresent), klarna: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodOptions::Klarna), link: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodOptions::Link), paypal: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodOptions::Paypal), sepa_debit: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodOptions::SepaDebit), us_bank_account: T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodOptions::UsBankAccount)).void
1078
1183
  }
1079
1184
  def initialize(
1080
1185
  acss_debit: nil,
@@ -1082,6 +1187,7 @@ module Stripe
1082
1187
  bacs_debit: nil,
1083
1188
  card: nil,
1084
1189
  card_present: nil,
1190
+ klarna: nil,
1085
1191
  link: nil,
1086
1192
  paypal: nil,
1087
1193
  sepa_debit: nil,
@@ -1156,7 +1262,7 @@ module Stripe
1156
1262
  # Payment method-specific configuration for this SetupIntent.
1157
1263
  sig { returns(T.nilable(::Stripe::SetupIntentService::CreateParams::PaymentMethodOptions)) }
1158
1264
  attr_accessor :payment_method_options
1159
- # The list of payment method types (for example, card) that this SetupIntent can use. If you don't provide this, Stripe will dynamically show relevant payment methods from your [payment method settings](https://dashboard.stripe.com/settings/payment_methods).
1265
+ # The list of payment method types (for example, card) that this SetupIntent can use. If you don't provide this, Stripe will dynamically show relevant payment methods from your [payment method settings](https://dashboard.stripe.com/settings/payment_methods). A list of valid payment method types can be found [here](https://docs.stripe.com/api/payment_methods/object#payment_method_object-type).
1160
1266
  sig { returns(T.nilable(T::Array[String])) }
1161
1267
  attr_accessor :payment_method_types
1162
1268
  # The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site. To redirect to a mobile application, you can alternatively supply an application URI scheme. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/setup_intents/create#create_setup_intent-confirm).
@@ -1316,6 +1422,7 @@ module Stripe
1316
1422
  def initialize(tax_id: nil); end
1317
1423
  end
1318
1424
  class Cashapp < Stripe::RequestParams; end
1425
+ class Crypto < Stripe::RequestParams; end
1319
1426
  class CustomerBalance < Stripe::RequestParams; end
1320
1427
  class Eps < Stripe::RequestParams
1321
1428
  # The customer's bank.
@@ -1554,6 +1661,11 @@ module Stripe
1554
1661
  returns(T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Cashapp))
1555
1662
  }
1556
1663
  attr_accessor :cashapp
1664
+ # If this is a Crypto PaymentMethod, this hash contains details about the Crypto payment method.
1665
+ sig {
1666
+ returns(T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Crypto))
1667
+ }
1668
+ attr_accessor :crypto
1557
1669
  # If this is a `customer_balance` PaymentMethod, this hash contains details about the CustomerBalance payment method.
1558
1670
  sig {
1559
1671
  returns(T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::CustomerBalance))
@@ -1736,7 +1848,7 @@ module Stripe
1736
1848
  }
1737
1849
  attr_accessor :zip
1738
1850
  sig {
1739
- params(acss_debit: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::AcssDebit), affirm: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Affirm), afterpay_clearpay: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::AfterpayClearpay), alipay: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Alipay), allow_redisplay: T.nilable(String), alma: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Alma), amazon_pay: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::AmazonPay), au_becs_debit: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::AuBecsDebit), bacs_debit: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::BacsDebit), bancontact: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Bancontact), billie: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Billie), billing_details: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::BillingDetails), blik: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Blik), boleto: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Boleto), cashapp: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Cashapp), customer_balance: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::CustomerBalance), eps: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Eps), fpx: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Fpx), giropay: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Giropay), grabpay: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Grabpay), ideal: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Ideal), interac_present: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::InteracPresent), kakao_pay: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::KakaoPay), klarna: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Klarna), konbini: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Konbini), kr_card: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::KrCard), link: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Link), metadata: T.nilable(T::Hash[String, String]), mobilepay: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Mobilepay), multibanco: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Multibanco), naver_pay: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::NaverPay), nz_bank_account: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::NzBankAccount), oxxo: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Oxxo), p24: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::P24), pay_by_bank: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::PayByBank), payco: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Payco), paynow: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Paynow), paypal: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Paypal), pix: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Pix), promptpay: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Promptpay), radar_options: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::RadarOptions), revolut_pay: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::RevolutPay), samsung_pay: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::SamsungPay), satispay: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Satispay), sepa_debit: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::SepaDebit), sofort: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Sofort), swish: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Swish), twint: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Twint), type: String, us_bank_account: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::UsBankAccount), wechat_pay: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::WechatPay), zip: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Zip)).void
1851
+ params(acss_debit: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::AcssDebit), affirm: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Affirm), afterpay_clearpay: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::AfterpayClearpay), alipay: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Alipay), allow_redisplay: T.nilable(String), alma: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Alma), amazon_pay: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::AmazonPay), au_becs_debit: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::AuBecsDebit), bacs_debit: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::BacsDebit), bancontact: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Bancontact), billie: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Billie), billing_details: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::BillingDetails), blik: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Blik), boleto: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Boleto), cashapp: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Cashapp), crypto: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Crypto), customer_balance: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::CustomerBalance), eps: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Eps), fpx: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Fpx), giropay: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Giropay), grabpay: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Grabpay), ideal: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Ideal), interac_present: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::InteracPresent), kakao_pay: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::KakaoPay), klarna: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Klarna), konbini: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Konbini), kr_card: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::KrCard), link: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Link), metadata: T.nilable(T::Hash[String, String]), mobilepay: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Mobilepay), multibanco: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Multibanco), naver_pay: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::NaverPay), nz_bank_account: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::NzBankAccount), oxxo: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Oxxo), p24: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::P24), pay_by_bank: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::PayByBank), payco: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Payco), paynow: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Paynow), paypal: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Paypal), pix: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Pix), promptpay: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Promptpay), radar_options: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::RadarOptions), revolut_pay: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::RevolutPay), samsung_pay: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::SamsungPay), satispay: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Satispay), sepa_debit: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::SepaDebit), sofort: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Sofort), swish: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Swish), twint: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Twint), type: String, us_bank_account: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::UsBankAccount), wechat_pay: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::WechatPay), zip: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodData::Zip)).void
1740
1852
  }
1741
1853
  def initialize(
1742
1854
  acss_debit: nil,
@@ -1754,6 +1866,7 @@ module Stripe
1754
1866
  blik: nil,
1755
1867
  boleto: nil,
1756
1868
  cashapp: nil,
1869
+ crypto: nil,
1757
1870
  customer_balance: nil,
1758
1871
  eps: nil,
1759
1872
  fpx: nil,
@@ -2018,6 +2131,99 @@ module Stripe
2018
2131
  ); end
2019
2132
  end
2020
2133
  class CardPresent < Stripe::RequestParams; end
2134
+ class Klarna < Stripe::RequestParams
2135
+ class OnDemand < Stripe::RequestParams
2136
+ # Your average amount value. You can use a value across your customer base, or segment based on customer type, country, etc.
2137
+ sig { returns(T.nilable(Integer)) }
2138
+ attr_accessor :average_amount
2139
+ # The maximum value you may charge a customer per purchase. You can use a value across your customer base, or segment based on customer type, country, etc.
2140
+ sig { returns(T.nilable(Integer)) }
2141
+ attr_accessor :maximum_amount
2142
+ # The lowest or minimum value you may charge a customer per purchase. You can use a value across your customer base, or segment based on customer type, country, etc.
2143
+ sig { returns(T.nilable(Integer)) }
2144
+ attr_accessor :minimum_amount
2145
+ # Interval at which the customer is making purchases
2146
+ sig { returns(T.nilable(String)) }
2147
+ attr_accessor :purchase_interval
2148
+ # The number of `purchase_interval` between charges
2149
+ sig { returns(T.nilable(Integer)) }
2150
+ attr_accessor :purchase_interval_count
2151
+ sig {
2152
+ params(average_amount: T.nilable(Integer), maximum_amount: T.nilable(Integer), minimum_amount: T.nilable(Integer), purchase_interval: T.nilable(String), purchase_interval_count: T.nilable(Integer)).void
2153
+ }
2154
+ def initialize(
2155
+ average_amount: nil,
2156
+ maximum_amount: nil,
2157
+ minimum_amount: nil,
2158
+ purchase_interval: nil,
2159
+ purchase_interval_count: nil
2160
+ ); end
2161
+ end
2162
+ class Subscription < Stripe::RequestParams
2163
+ class NextBilling < Stripe::RequestParams
2164
+ # The amount of the next charge for the subscription.
2165
+ sig { returns(Integer) }
2166
+ attr_accessor :amount
2167
+ # The date of the next charge for the subscription in YYYY-MM-DD format.
2168
+ sig { returns(String) }
2169
+ attr_accessor :date
2170
+ sig { params(amount: Integer, date: String).void }
2171
+ def initialize(amount: nil, date: nil); end
2172
+ end
2173
+ # Unit of time between subscription charges.
2174
+ sig { returns(String) }
2175
+ attr_accessor :interval
2176
+ # The number of intervals (specified in the `interval` attribute) between subscription charges. For example, `interval=month` and `interval_count=3` charges every 3 months.
2177
+ sig { returns(T.nilable(Integer)) }
2178
+ attr_accessor :interval_count
2179
+ # Name for subscription.
2180
+ sig { returns(T.nilable(String)) }
2181
+ attr_accessor :name
2182
+ # Describes the upcoming charge for this subscription.
2183
+ sig {
2184
+ returns(::Stripe::SetupIntentService::UpdateParams::PaymentMethodOptions::Klarna::Subscription::NextBilling)
2185
+ }
2186
+ attr_accessor :next_billing
2187
+ # A non-customer-facing reference to correlate subscription charges in the Klarna app. Use a value that persists across subscription charges.
2188
+ sig { returns(String) }
2189
+ attr_accessor :reference
2190
+ sig {
2191
+ params(interval: String, interval_count: T.nilable(Integer), name: T.nilable(String), next_billing: ::Stripe::SetupIntentService::UpdateParams::PaymentMethodOptions::Klarna::Subscription::NextBilling, reference: String).void
2192
+ }
2193
+ def initialize(
2194
+ interval: nil,
2195
+ interval_count: nil,
2196
+ name: nil,
2197
+ next_billing: nil,
2198
+ reference: nil
2199
+ ); end
2200
+ end
2201
+ # The currency of the SetupIntent. Three letter ISO currency code.
2202
+ sig { returns(T.nilable(String)) }
2203
+ attr_accessor :currency
2204
+ # On-demand details if setting up a payment method for on-demand payments.
2205
+ sig {
2206
+ returns(T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodOptions::Klarna::OnDemand))
2207
+ }
2208
+ attr_accessor :on_demand
2209
+ # Preferred language of the Klarna authorization page that the customer is redirected to
2210
+ sig { returns(T.nilable(String)) }
2211
+ attr_accessor :preferred_locale
2212
+ # Subscription details if setting up or charging a subscription
2213
+ sig {
2214
+ returns(T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SetupIntentService::UpdateParams::PaymentMethodOptions::Klarna::Subscription]))))
2215
+ }
2216
+ attr_accessor :subscriptions
2217
+ sig {
2218
+ params(currency: T.nilable(String), on_demand: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodOptions::Klarna::OnDemand), preferred_locale: T.nilable(String), subscriptions: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SetupIntentService::UpdateParams::PaymentMethodOptions::Klarna::Subscription])))).void
2219
+ }
2220
+ def initialize(
2221
+ currency: nil,
2222
+ on_demand: nil,
2223
+ preferred_locale: nil,
2224
+ subscriptions: nil
2225
+ ); end
2226
+ end
2021
2227
  class Link < Stripe::RequestParams
2022
2228
  # [Deprecated] This is a legacy parameter that no longer has any function.
2023
2229
  sig { returns(T.nilable(String)) }
@@ -2145,6 +2351,11 @@ module Stripe
2145
2351
  returns(T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodOptions::CardPresent))
2146
2352
  }
2147
2353
  attr_accessor :card_present
2354
+ # If this is a `klarna` PaymentMethod, this hash contains details about the Klarna payment method options.
2355
+ sig {
2356
+ returns(T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodOptions::Klarna))
2357
+ }
2358
+ attr_accessor :klarna
2148
2359
  # If this is a `link` PaymentMethod, this sub-hash contains details about the Link payment method options.
2149
2360
  sig {
2150
2361
  returns(T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodOptions::Link))
@@ -2166,7 +2377,7 @@ module Stripe
2166
2377
  }
2167
2378
  attr_accessor :us_bank_account
2168
2379
  sig {
2169
- params(acss_debit: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodOptions::AcssDebit), amazon_pay: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodOptions::AmazonPay), bacs_debit: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodOptions::BacsDebit), card: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodOptions::Card), card_present: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodOptions::CardPresent), link: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodOptions::Link), paypal: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodOptions::Paypal), sepa_debit: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodOptions::SepaDebit), us_bank_account: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodOptions::UsBankAccount)).void
2380
+ params(acss_debit: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodOptions::AcssDebit), amazon_pay: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodOptions::AmazonPay), bacs_debit: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodOptions::BacsDebit), card: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodOptions::Card), card_present: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodOptions::CardPresent), klarna: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodOptions::Klarna), link: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodOptions::Link), paypal: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodOptions::Paypal), sepa_debit: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodOptions::SepaDebit), us_bank_account: T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodOptions::UsBankAccount)).void
2170
2381
  }
2171
2382
  def initialize(
2172
2383
  acss_debit: nil,
@@ -2174,6 +2385,7 @@ module Stripe
2174
2385
  bacs_debit: nil,
2175
2386
  card: nil,
2176
2387
  card_present: nil,
2388
+ klarna: nil,
2177
2389
  link: nil,
2178
2390
  paypal: nil,
2179
2391
  sepa_debit: nil,
@@ -2217,7 +2429,7 @@ module Stripe
2217
2429
  # Payment method-specific configuration for this SetupIntent.
2218
2430
  sig { returns(T.nilable(::Stripe::SetupIntentService::UpdateParams::PaymentMethodOptions)) }
2219
2431
  attr_accessor :payment_method_options
2220
- # The list of payment method types (for example, card) that this SetupIntent can set up. If you don't provide this, Stripe will dynamically show relevant payment methods from your [payment method settings](https://dashboard.stripe.com/settings/payment_methods).
2432
+ # The list of payment method types (for example, card) that this SetupIntent can set up. If you don't provide this, Stripe will dynamically show relevant payment methods from your [payment method settings](https://dashboard.stripe.com/settings/payment_methods). A list of valid payment method types can be found [here](https://docs.stripe.com/api/payment_methods/object#payment_method_object-type).
2221
2433
  sig { returns(T.nilable(T::Array[String])) }
2222
2434
  attr_accessor :payment_method_types
2223
2435
  sig {
@@ -2400,6 +2612,7 @@ module Stripe
2400
2612
  def initialize(tax_id: nil); end
2401
2613
  end
2402
2614
  class Cashapp < Stripe::RequestParams; end
2615
+ class Crypto < Stripe::RequestParams; end
2403
2616
  class CustomerBalance < Stripe::RequestParams; end
2404
2617
  class Eps < Stripe::RequestParams
2405
2618
  # The customer's bank.
@@ -2638,6 +2851,11 @@ module Stripe
2638
2851
  returns(T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Cashapp))
2639
2852
  }
2640
2853
  attr_accessor :cashapp
2854
+ # If this is a Crypto PaymentMethod, this hash contains details about the Crypto payment method.
2855
+ sig {
2856
+ returns(T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Crypto))
2857
+ }
2858
+ attr_accessor :crypto
2641
2859
  # If this is a `customer_balance` PaymentMethod, this hash contains details about the CustomerBalance payment method.
2642
2860
  sig {
2643
2861
  returns(T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::CustomerBalance))
@@ -2820,7 +3038,7 @@ module Stripe
2820
3038
  }
2821
3039
  attr_accessor :zip
2822
3040
  sig {
2823
- params(acss_debit: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::AcssDebit), affirm: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Affirm), afterpay_clearpay: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::AfterpayClearpay), alipay: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Alipay), allow_redisplay: T.nilable(String), alma: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Alma), amazon_pay: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::AmazonPay), au_becs_debit: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::AuBecsDebit), bacs_debit: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::BacsDebit), bancontact: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Bancontact), billie: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Billie), billing_details: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::BillingDetails), blik: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Blik), boleto: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Boleto), cashapp: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Cashapp), customer_balance: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::CustomerBalance), eps: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Eps), fpx: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Fpx), giropay: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Giropay), grabpay: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Grabpay), ideal: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Ideal), interac_present: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::InteracPresent), kakao_pay: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::KakaoPay), klarna: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Klarna), konbini: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Konbini), kr_card: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::KrCard), link: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Link), metadata: T.nilable(T::Hash[String, String]), mobilepay: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Mobilepay), multibanco: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Multibanco), naver_pay: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::NaverPay), nz_bank_account: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::NzBankAccount), oxxo: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Oxxo), p24: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::P24), pay_by_bank: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::PayByBank), payco: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Payco), paynow: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Paynow), paypal: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Paypal), pix: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Pix), promptpay: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Promptpay), radar_options: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::RadarOptions), revolut_pay: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::RevolutPay), samsung_pay: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::SamsungPay), satispay: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Satispay), sepa_debit: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::SepaDebit), sofort: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Sofort), swish: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Swish), twint: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Twint), type: String, us_bank_account: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::UsBankAccount), wechat_pay: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::WechatPay), zip: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Zip)).void
3041
+ params(acss_debit: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::AcssDebit), affirm: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Affirm), afterpay_clearpay: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::AfterpayClearpay), alipay: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Alipay), allow_redisplay: T.nilable(String), alma: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Alma), amazon_pay: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::AmazonPay), au_becs_debit: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::AuBecsDebit), bacs_debit: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::BacsDebit), bancontact: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Bancontact), billie: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Billie), billing_details: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::BillingDetails), blik: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Blik), boleto: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Boleto), cashapp: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Cashapp), crypto: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Crypto), customer_balance: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::CustomerBalance), eps: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Eps), fpx: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Fpx), giropay: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Giropay), grabpay: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Grabpay), ideal: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Ideal), interac_present: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::InteracPresent), kakao_pay: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::KakaoPay), klarna: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Klarna), konbini: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Konbini), kr_card: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::KrCard), link: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Link), metadata: T.nilable(T::Hash[String, String]), mobilepay: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Mobilepay), multibanco: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Multibanco), naver_pay: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::NaverPay), nz_bank_account: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::NzBankAccount), oxxo: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Oxxo), p24: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::P24), pay_by_bank: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::PayByBank), payco: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Payco), paynow: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Paynow), paypal: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Paypal), pix: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Pix), promptpay: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Promptpay), radar_options: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::RadarOptions), revolut_pay: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::RevolutPay), samsung_pay: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::SamsungPay), satispay: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Satispay), sepa_debit: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::SepaDebit), sofort: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Sofort), swish: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Swish), twint: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Twint), type: String, us_bank_account: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::UsBankAccount), wechat_pay: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::WechatPay), zip: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodData::Zip)).void
2824
3042
  }
2825
3043
  def initialize(
2826
3044
  acss_debit: nil,
@@ -2838,6 +3056,7 @@ module Stripe
2838
3056
  blik: nil,
2839
3057
  boleto: nil,
2840
3058
  cashapp: nil,
3059
+ crypto: nil,
2841
3060
  customer_balance: nil,
2842
3061
  eps: nil,
2843
3062
  fpx: nil,
@@ -3102,6 +3321,99 @@ module Stripe
3102
3321
  ); end
3103
3322
  end
3104
3323
  class CardPresent < Stripe::RequestParams; end
3324
+ class Klarna < Stripe::RequestParams
3325
+ class OnDemand < Stripe::RequestParams
3326
+ # Your average amount value. You can use a value across your customer base, or segment based on customer type, country, etc.
3327
+ sig { returns(T.nilable(Integer)) }
3328
+ attr_accessor :average_amount
3329
+ # The maximum value you may charge a customer per purchase. You can use a value across your customer base, or segment based on customer type, country, etc.
3330
+ sig { returns(T.nilable(Integer)) }
3331
+ attr_accessor :maximum_amount
3332
+ # The lowest or minimum value you may charge a customer per purchase. You can use a value across your customer base, or segment based on customer type, country, etc.
3333
+ sig { returns(T.nilable(Integer)) }
3334
+ attr_accessor :minimum_amount
3335
+ # Interval at which the customer is making purchases
3336
+ sig { returns(T.nilable(String)) }
3337
+ attr_accessor :purchase_interval
3338
+ # The number of `purchase_interval` between charges
3339
+ sig { returns(T.nilable(Integer)) }
3340
+ attr_accessor :purchase_interval_count
3341
+ sig {
3342
+ params(average_amount: T.nilable(Integer), maximum_amount: T.nilable(Integer), minimum_amount: T.nilable(Integer), purchase_interval: T.nilable(String), purchase_interval_count: T.nilable(Integer)).void
3343
+ }
3344
+ def initialize(
3345
+ average_amount: nil,
3346
+ maximum_amount: nil,
3347
+ minimum_amount: nil,
3348
+ purchase_interval: nil,
3349
+ purchase_interval_count: nil
3350
+ ); end
3351
+ end
3352
+ class Subscription < Stripe::RequestParams
3353
+ class NextBilling < Stripe::RequestParams
3354
+ # The amount of the next charge for the subscription.
3355
+ sig { returns(Integer) }
3356
+ attr_accessor :amount
3357
+ # The date of the next charge for the subscription in YYYY-MM-DD format.
3358
+ sig { returns(String) }
3359
+ attr_accessor :date
3360
+ sig { params(amount: Integer, date: String).void }
3361
+ def initialize(amount: nil, date: nil); end
3362
+ end
3363
+ # Unit of time between subscription charges.
3364
+ sig { returns(String) }
3365
+ attr_accessor :interval
3366
+ # The number of intervals (specified in the `interval` attribute) between subscription charges. For example, `interval=month` and `interval_count=3` charges every 3 months.
3367
+ sig { returns(T.nilable(Integer)) }
3368
+ attr_accessor :interval_count
3369
+ # Name for subscription.
3370
+ sig { returns(T.nilable(String)) }
3371
+ attr_accessor :name
3372
+ # Describes the upcoming charge for this subscription.
3373
+ sig {
3374
+ returns(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodOptions::Klarna::Subscription::NextBilling)
3375
+ }
3376
+ attr_accessor :next_billing
3377
+ # A non-customer-facing reference to correlate subscription charges in the Klarna app. Use a value that persists across subscription charges.
3378
+ sig { returns(String) }
3379
+ attr_accessor :reference
3380
+ sig {
3381
+ params(interval: String, interval_count: T.nilable(Integer), name: T.nilable(String), next_billing: ::Stripe::SetupIntentService::ConfirmParams::PaymentMethodOptions::Klarna::Subscription::NextBilling, reference: String).void
3382
+ }
3383
+ def initialize(
3384
+ interval: nil,
3385
+ interval_count: nil,
3386
+ name: nil,
3387
+ next_billing: nil,
3388
+ reference: nil
3389
+ ); end
3390
+ end
3391
+ # The currency of the SetupIntent. Three letter ISO currency code.
3392
+ sig { returns(T.nilable(String)) }
3393
+ attr_accessor :currency
3394
+ # On-demand details if setting up a payment method for on-demand payments.
3395
+ sig {
3396
+ returns(T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodOptions::Klarna::OnDemand))
3397
+ }
3398
+ attr_accessor :on_demand
3399
+ # Preferred language of the Klarna authorization page that the customer is redirected to
3400
+ sig { returns(T.nilable(String)) }
3401
+ attr_accessor :preferred_locale
3402
+ # Subscription details if setting up or charging a subscription
3403
+ sig {
3404
+ returns(T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SetupIntentService::ConfirmParams::PaymentMethodOptions::Klarna::Subscription]))))
3405
+ }
3406
+ attr_accessor :subscriptions
3407
+ sig {
3408
+ params(currency: T.nilable(String), on_demand: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodOptions::Klarna::OnDemand), preferred_locale: T.nilable(String), subscriptions: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SetupIntentService::ConfirmParams::PaymentMethodOptions::Klarna::Subscription])))).void
3409
+ }
3410
+ def initialize(
3411
+ currency: nil,
3412
+ on_demand: nil,
3413
+ preferred_locale: nil,
3414
+ subscriptions: nil
3415
+ ); end
3416
+ end
3105
3417
  class Link < Stripe::RequestParams
3106
3418
  # [Deprecated] This is a legacy parameter that no longer has any function.
3107
3419
  sig { returns(T.nilable(String)) }
@@ -3229,6 +3541,11 @@ module Stripe
3229
3541
  returns(T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodOptions::CardPresent))
3230
3542
  }
3231
3543
  attr_accessor :card_present
3544
+ # If this is a `klarna` PaymentMethod, this hash contains details about the Klarna payment method options.
3545
+ sig {
3546
+ returns(T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodOptions::Klarna))
3547
+ }
3548
+ attr_accessor :klarna
3232
3549
  # If this is a `link` PaymentMethod, this sub-hash contains details about the Link payment method options.
3233
3550
  sig {
3234
3551
  returns(T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodOptions::Link))
@@ -3250,7 +3567,7 @@ module Stripe
3250
3567
  }
3251
3568
  attr_accessor :us_bank_account
3252
3569
  sig {
3253
- params(acss_debit: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodOptions::AcssDebit), amazon_pay: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodOptions::AmazonPay), bacs_debit: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodOptions::BacsDebit), card: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodOptions::Card), card_present: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodOptions::CardPresent), link: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodOptions::Link), paypal: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodOptions::Paypal), sepa_debit: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodOptions::SepaDebit), us_bank_account: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodOptions::UsBankAccount)).void
3570
+ params(acss_debit: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodOptions::AcssDebit), amazon_pay: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodOptions::AmazonPay), bacs_debit: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodOptions::BacsDebit), card: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodOptions::Card), card_present: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodOptions::CardPresent), klarna: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodOptions::Klarna), link: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodOptions::Link), paypal: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodOptions::Paypal), sepa_debit: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodOptions::SepaDebit), us_bank_account: T.nilable(::Stripe::SetupIntentService::ConfirmParams::PaymentMethodOptions::UsBankAccount)).void
3254
3571
  }
3255
3572
  def initialize(
3256
3573
  acss_debit: nil,
@@ -3258,6 +3575,7 @@ module Stripe
3258
3575
  bacs_debit: nil,
3259
3576
  card: nil,
3260
3577
  card_present: nil,
3578
+ klarna: nil,
3261
3579
  link: nil,
3262
3580
  paypal: nil,
3263
3581
  sepa_debit: nil,
@@ -132,6 +132,13 @@ module Stripe
132
132
  ); end
133
133
  end
134
134
  class CreateParams < Stripe::RequestParams
135
+ class BillingMode < Stripe::RequestParams
136
+ # Attribute for param field type
137
+ sig { returns(String) }
138
+ attr_accessor :type
139
+ sig { params(type: String).void }
140
+ def initialize(type: nil); end
141
+ end
135
142
  class DefaultSettings < Stripe::RequestParams
136
143
  class AutomaticTax < Stripe::RequestParams
137
144
  class Liability < Stripe::RequestParams
@@ -634,6 +641,9 @@ module Stripe
634
641
  trial_end: nil
635
642
  ); end
636
643
  end
644
+ # Controls how prorations and invoices for subscriptions are calculated and orchestrated.
645
+ sig { returns(T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::BillingMode)) }
646
+ attr_accessor :billing_mode
637
647
  # The identifier of the customer to create the subscription schedule for.
638
648
  sig { returns(T.nilable(String)) }
639
649
  attr_accessor :customer
@@ -663,9 +673,10 @@ module Stripe
663
673
  sig { returns(T.nilable(T.any(Integer, String))) }
664
674
  attr_accessor :start_date
665
675
  sig {
666
- params(customer: T.nilable(String), default_settings: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::DefaultSettings), end_behavior: T.nilable(String), expand: T.nilable(T::Array[String]), from_subscription: T.nilable(String), metadata: T.nilable(T.nilable(T.any(String, T::Hash[String, String]))), phases: T.nilable(T::Array[::Stripe::SubscriptionScheduleService::CreateParams::Phase]), start_date: T.nilable(T.any(Integer, String))).void
676
+ params(billing_mode: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::BillingMode), customer: T.nilable(String), default_settings: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::DefaultSettings), end_behavior: T.nilable(String), expand: T.nilable(T::Array[String]), from_subscription: T.nilable(String), metadata: T.nilable(T.nilable(T.any(String, T::Hash[String, String]))), phases: T.nilable(T::Array[::Stripe::SubscriptionScheduleService::CreateParams::Phase]), start_date: T.nilable(T.any(Integer, String))).void
667
677
  }
668
678
  def initialize(
679
+ billing_mode: nil,
669
680
  customer: nil,
670
681
  default_settings: nil,
671
682
  end_behavior: nil,