stripe 15.0.0 → 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 (320) hide show
  1. checksums.yaml +4 -4
  2. data/API_VERSION +1 -0
  3. data/CHANGELOG.md +129 -44
  4. data/CONTRIBUTING.md +25 -0
  5. data/Gemfile +1 -1
  6. data/OPENAPI_VERSION +1 -1
  7. data/README.md +28 -55
  8. data/VERSION +1 -1
  9. data/lib/stripe/api_operations/nested_resource.rb +35 -35
  10. data/lib/stripe/api_requestor.rb +1 -1
  11. data/lib/stripe/api_version.rb +2 -1
  12. data/lib/stripe/connection_manager.rb +1 -3
  13. data/lib/stripe/event_types.rb +1 -0
  14. data/lib/stripe/events/v1_billing_meter_error_report_triggered_event.rb +1 -1
  15. data/lib/stripe/events/v1_billing_meter_no_meter_found_event.rb +1 -1
  16. data/lib/stripe/events/v2_core_event_destination_ping_event.rb +21 -0
  17. data/lib/stripe/oauth.rb +1 -1
  18. data/lib/stripe/resources/account.rb +198 -28
  19. data/lib/stripe/resources/account_session.rb +176 -72
  20. data/lib/stripe/resources/apple_pay_domain.rb +1 -2
  21. data/lib/stripe/resources/balance.rb +42 -0
  22. data/lib/stripe/resources/balance_transaction.rb +2 -0
  23. data/lib/stripe/resources/bank_account.rb +2 -2
  24. data/lib/stripe/resources/billing_portal/session.rb +3 -3
  25. data/lib/stripe/resources/capability.rb +1 -1
  26. data/lib/stripe/resources/charge.rb +43 -20
  27. data/lib/stripe/resources/checkout/session.rb +120 -19
  28. data/lib/stripe/resources/confirmation_token.rb +119 -100
  29. data/lib/stripe/resources/country_spec.rb +1 -1
  30. data/lib/stripe/resources/coupon.rb +2 -3
  31. data/lib/stripe/resources/credit_note.rb +21 -18
  32. data/lib/stripe/resources/customer.rb +4 -6
  33. data/lib/stripe/resources/customer_session.rb +5 -5
  34. data/lib/stripe/resources/dispute.rb +2 -2
  35. data/lib/stripe/resources/event.rb +3 -1
  36. data/lib/stripe/resources/file.rb +1 -1
  37. data/lib/stripe/resources/funding_instructions.rb +1 -1
  38. data/lib/stripe/resources/identity/verification_report.rb +6 -0
  39. data/lib/stripe/resources/identity/verification_session.rb +51 -11
  40. data/lib/stripe/resources/invoice.rb +146 -32
  41. data/lib/stripe/resources/invoice_item.rb +3 -7
  42. data/lib/stripe/resources/invoice_line_item.rb +1 -1
  43. data/lib/stripe/resources/invoice_payment.rb +9 -2
  44. data/lib/stripe/resources/issuing/authorization.rb +8 -8
  45. data/lib/stripe/resources/issuing/card.rb +1 -1
  46. data/lib/stripe/resources/issuing/dispute.rb +3 -3
  47. data/lib/stripe/resources/login_link.rb +2 -1
  48. data/lib/stripe/resources/mandate.rb +3 -0
  49. data/lib/stripe/resources/payment_intent.rb +602 -325
  50. data/lib/stripe/resources/payment_method.rb +76 -117
  51. data/lib/stripe/resources/payment_method_configuration.rb +356 -2
  52. data/lib/stripe/resources/payment_method_domain.rb +15 -2
  53. data/lib/stripe/resources/payout.rb +4 -4
  54. data/lib/stripe/resources/person.rb +27 -3
  55. data/lib/stripe/resources/plan.rb +2 -3
  56. data/lib/stripe/resources/price.rb +1 -1
  57. data/lib/stripe/resources/product.rb +1 -2
  58. data/lib/stripe/resources/quote.rb +28 -3
  59. data/lib/stripe/resources/radar/value_list.rb +1 -2
  60. data/lib/stripe/resources/radar/value_list_item.rb +1 -2
  61. data/lib/stripe/resources/refund.rb +8 -1
  62. data/lib/stripe/resources/reversal.rb +1 -1
  63. data/lib/stripe/resources/review.rb +1 -1
  64. data/lib/stripe/resources/setup_attempt.rb +1 -1
  65. data/lib/stripe/resources/setup_intent.rb +414 -293
  66. data/lib/stripe/resources/source.rb +1 -1
  67. data/lib/stripe/resources/subscription.rb +149 -27
  68. data/lib/stripe/resources/subscription_item.rb +33 -0
  69. data/lib/stripe/resources/subscription_schedule.rb +141 -4
  70. data/lib/stripe/resources/tax/calculation.rb +6 -2
  71. data/lib/stripe/resources/tax/calculation_line_item.rb +2 -0
  72. data/lib/stripe/resources/tax/registration.rb +261 -1
  73. data/lib/stripe/resources/tax/transaction.rb +1 -1
  74. data/lib/stripe/resources/tax_id.rb +3 -4
  75. data/lib/stripe/resources/tax_rate.rb +2 -2
  76. data/lib/stripe/resources/terminal/configuration.rb +2 -2
  77. data/lib/stripe/resources/terminal/location.rb +2 -3
  78. data/lib/stripe/resources/terminal/reader.rb +426 -6
  79. data/lib/stripe/resources/test_helpers/test_clock.rb +1 -2
  80. data/lib/stripe/resources/token.rb +63 -2
  81. data/lib/stripe/resources/transfer.rb +1 -1
  82. data/lib/stripe/resources/treasury/financial_account.rb +5 -1
  83. data/lib/stripe/resources/v2/billing/meter_event.rb +2 -2
  84. data/lib/stripe/resources/v2/billing/meter_event_adjustment.rb +2 -2
  85. data/lib/stripe/resources/v2/billing/meter_event_session.rb +2 -2
  86. data/lib/stripe/resources/v2/event.rb +2 -2
  87. data/lib/stripe/resources/v2/event_destination.rb +2 -2
  88. data/lib/stripe/resources/webhook_endpoint.rb +1 -2
  89. data/lib/stripe/resources.rb +1 -0
  90. data/lib/stripe/services/account_external_account_service.rb +3 -4
  91. data/lib/stripe/services/account_login_link_service.rb +1 -1
  92. data/lib/stripe/services/account_person_service.rb +85 -2
  93. data/lib/stripe/services/account_service.rb +169 -20
  94. data/lib/stripe/services/account_session_service.rb +115 -47
  95. data/lib/stripe/services/apple_pay_domain_service.rb +1 -2
  96. data/lib/stripe/services/application_fee_service.rb +1 -1
  97. data/lib/stripe/services/apps_service.rb +1 -1
  98. data/lib/stripe/services/balance_service.rb +1 -1
  99. data/lib/stripe/services/billing/meter_service.rb +1 -1
  100. data/lib/stripe/services/billing_portal/session_service.rb +1 -1
  101. data/lib/stripe/services/billing_portal_service.rb +1 -1
  102. data/lib/stripe/services/billing_service.rb +1 -1
  103. data/lib/stripe/services/charge_service.rb +4 -4
  104. data/lib/stripe/services/checkout/session_service.rb +94 -15
  105. data/lib/stripe/services/checkout_service.rb +1 -1
  106. data/lib/stripe/services/climate_service.rb +1 -1
  107. data/lib/stripe/services/coupon_service.rb +1 -2
  108. data/lib/stripe/services/credit_note_preview_lines_service.rb +3 -3
  109. data/lib/stripe/services/credit_note_service.rb +14 -15
  110. data/lib/stripe/services/customer_balance_transaction_service.rb +3 -3
  111. data/lib/stripe/services/customer_cash_balance_transaction_service.rb +2 -2
  112. data/lib/stripe/services/customer_payment_method_service.rb +1 -1
  113. data/lib/stripe/services/customer_payment_source_service.rb +1 -1
  114. data/lib/stripe/services/customer_service.rb +5 -7
  115. data/lib/stripe/services/customer_session_service.rb +1 -1
  116. data/lib/stripe/services/customer_tax_id_service.rb +2 -3
  117. data/lib/stripe/services/dispute_service.rb +1 -1
  118. data/lib/stripe/services/entitlements_service.rb +1 -1
  119. data/lib/stripe/services/file_service.rb +1 -1
  120. data/lib/stripe/services/financial_connections/account_service.rb +1 -1
  121. data/lib/stripe/services/financial_connections_service.rb +1 -1
  122. data/lib/stripe/services/forwarding_service.rb +1 -1
  123. data/lib/stripe/services/identity/verification_session_service.rb +21 -5
  124. data/lib/stripe/services/identity_service.rb +1 -1
  125. data/lib/stripe/services/invoice_item_service.rb +1 -2
  126. data/lib/stripe/services/invoice_service.rb +122 -28
  127. data/lib/stripe/services/issuing/authorization_service.rb +4 -4
  128. data/lib/stripe/services/issuing/card_service.rb +1 -1
  129. data/lib/stripe/services/issuing/dispute_service.rb +2 -2
  130. data/lib/stripe/services/issuing_service.rb +1 -1
  131. data/lib/stripe/services/payment_intent_service.rb +563 -313
  132. data/lib/stripe/services/payment_link_service.rb +1 -1
  133. data/lib/stripe/services/payment_method_configuration_service.rb +254 -2
  134. data/lib/stripe/services/payment_method_domain_service.rb +1 -1
  135. data/lib/stripe/services/payment_method_service.rb +59 -105
  136. data/lib/stripe/services/payout_service.rb +2 -2
  137. data/lib/stripe/services/plan_service.rb +2 -3
  138. data/lib/stripe/services/price_service.rb +2 -2
  139. data/lib/stripe/services/product_feature_service.rb +1 -2
  140. data/lib/stripe/services/product_service.rb +3 -4
  141. data/lib/stripe/services/promotion_code_service.rb +1 -1
  142. data/lib/stripe/services/quote_service.rb +21 -4
  143. data/lib/stripe/services/radar/early_fraud_warning_service.rb +1 -1
  144. data/lib/stripe/services/radar/value_list_item_service.rb +1 -2
  145. data/lib/stripe/services/radar/value_list_service.rb +1 -2
  146. data/lib/stripe/services/radar_service.rb +1 -1
  147. data/lib/stripe/services/reporting_service.rb +1 -1
  148. data/lib/stripe/services/setup_intent_service.rb +403 -291
  149. data/lib/stripe/services/sigma_service.rb +1 -1
  150. data/lib/stripe/services/source_service.rb +2 -2
  151. data/lib/stripe/services/subscription_item_service.rb +26 -0
  152. data/lib/stripe/services/subscription_schedule_service.rb +106 -3
  153. data/lib/stripe/services/subscription_service.rb +121 -26
  154. data/lib/stripe/services/tax/calculation_service.rb +6 -2
  155. data/lib/stripe/services/tax/registration_service.rb +170 -1
  156. data/lib/stripe/services/tax/transaction_service.rb +1 -1
  157. data/lib/stripe/services/tax_id_service.rb +2 -3
  158. data/lib/stripe/services/tax_service.rb +1 -1
  159. data/lib/stripe/services/terminal/configuration_service.rb +1 -2
  160. data/lib/stripe/services/terminal/location_service.rb +2 -3
  161. data/lib/stripe/services/terminal/reader_service.rb +196 -2
  162. data/lib/stripe/services/terminal_service.rb +1 -1
  163. data/lib/stripe/services/test_helpers/confirmation_token_service.rb +90 -91
  164. data/lib/stripe/services/test_helpers/issuing_service.rb +1 -1
  165. data/lib/stripe/services/test_helpers/terminal/reader_service.rb +43 -0
  166. data/lib/stripe/services/test_helpers/terminal_service.rb +1 -1
  167. data/lib/stripe/services/test_helpers/test_clock_service.rb +1 -2
  168. data/lib/stripe/services/test_helpers/treasury_service.rb +1 -1
  169. data/lib/stripe/services/test_helpers_service.rb +1 -1
  170. data/lib/stripe/services/token_service.rb +62 -1
  171. data/lib/stripe/services/transfer_service.rb +2 -2
  172. data/lib/stripe/services/treasury/financial_account_service.rb +6 -2
  173. data/lib/stripe/services/treasury_service.rb +1 -1
  174. data/lib/stripe/services/v1_services.rb +1 -1
  175. data/lib/stripe/services/v2/billing/meter_event_session_service.rb +1 -2
  176. data/lib/stripe/services/v2/billing_service.rb +3 -3
  177. data/lib/stripe/services/v2/core/event_destination_service.rb +17 -23
  178. data/lib/stripe/services/v2/core/event_service.rb +1 -2
  179. data/lib/stripe/services/v2/core_service.rb +1 -1
  180. data/lib/stripe/services/v2_services.rb +1 -1
  181. data/lib/stripe/services/webhook_endpoint_service.rb +1 -2
  182. data/lib/stripe/version.rb +1 -1
  183. data/lib/stripe/webhook.rb +1 -1
  184. data/rbi/stripe/resources/account.rbi +190 -35
  185. data/rbi/stripe/resources/account_session.rbi +196 -77
  186. data/rbi/stripe/resources/apple_pay_domain.rbi +1 -3
  187. data/rbi/stripe/resources/balance.rbi +55 -0
  188. data/rbi/stripe/resources/balance_transaction.rbi +3 -0
  189. data/rbi/stripe/resources/bank_account.rbi +2 -2
  190. data/rbi/stripe/resources/billing/alert.rbi +2 -2
  191. data/rbi/stripe/resources/billing_portal/session.rbi +3 -3
  192. data/rbi/stripe/resources/capability.rbi +1 -1
  193. data/rbi/stripe/resources/charge.rbi +52 -20
  194. data/rbi/stripe/resources/checkout/session.rbi +133 -24
  195. data/rbi/stripe/resources/confirmation_token.rbi +140 -115
  196. data/rbi/stripe/resources/country_spec.rbi +1 -1
  197. data/rbi/stripe/resources/coupon.rbi +2 -4
  198. data/rbi/stripe/resources/credit_note.rbi +23 -18
  199. data/rbi/stripe/resources/customer.rbi +4 -8
  200. data/rbi/stripe/resources/customer_session.rbi +5 -5
  201. data/rbi/stripe/resources/dispute.rbi +2 -2
  202. data/rbi/stripe/resources/event.rbi +4 -1
  203. data/rbi/stripe/resources/file.rbi +1 -1
  204. data/rbi/stripe/resources/identity/verification_report.rbi +9 -0
  205. data/rbi/stripe/resources/identity/verification_session.rbi +59 -12
  206. data/rbi/stripe/resources/invoice.rbi +149 -40
  207. data/rbi/stripe/resources/invoice_item.rbi +3 -8
  208. data/rbi/stripe/resources/invoice_line_item.rbi +2 -2
  209. data/rbi/stripe/resources/invoice_payment.rbi +9 -2
  210. data/rbi/stripe/resources/issuing/authorization.rbi +8 -8
  211. data/rbi/stripe/resources/issuing/card.rbi +1 -1
  212. data/rbi/stripe/resources/issuing/dispute.rbi +3 -3
  213. data/rbi/stripe/resources/login_link.rbi +2 -1
  214. data/rbi/stripe/resources/mandate.rbi +4 -0
  215. data/rbi/stripe/resources/payment_intent.rbi +637 -381
  216. data/rbi/stripe/resources/payment_method.rbi +81 -133
  217. data/rbi/stripe/resources/payment_method_configuration.rbi +400 -4
  218. data/rbi/stripe/resources/payment_method_domain.rbi +18 -2
  219. data/rbi/stripe/resources/payout.rbi +4 -4
  220. data/rbi/stripe/resources/person.rbi +33 -3
  221. data/rbi/stripe/resources/plan.rbi +2 -4
  222. data/rbi/stripe/resources/price.rbi +1 -1
  223. data/rbi/stripe/resources/product.rbi +1 -3
  224. data/rbi/stripe/resources/quote.rbi +25 -3
  225. data/rbi/stripe/resources/radar/value_list.rbi +1 -3
  226. data/rbi/stripe/resources/radar/value_list_item.rbi +1 -3
  227. data/rbi/stripe/resources/refund.rbi +8 -1
  228. data/rbi/stripe/resources/reversal.rbi +1 -1
  229. data/rbi/stripe/resources/review.rbi +1 -1
  230. data/rbi/stripe/resources/setup_attempt.rbi +1 -1
  231. data/rbi/stripe/resources/setup_intent.rbi +464 -346
  232. data/rbi/stripe/resources/source.rbi +1 -1
  233. data/rbi/stripe/resources/subscription.rbi +150 -34
  234. data/rbi/stripe/resources/subscription_item.rbi +36 -2
  235. data/rbi/stripe/resources/subscription_schedule.rbi +161 -11
  236. data/rbi/stripe/resources/tax/calculation.rbi +7 -3
  237. data/rbi/stripe/resources/tax/calculation_line_item.rbi +4 -1
  238. data/rbi/stripe/resources/tax/registration.rbi +249 -2
  239. data/rbi/stripe/resources/tax/transaction.rbi +1 -1
  240. data/rbi/stripe/resources/tax_id.rbi +3 -5
  241. data/rbi/stripe/resources/tax_rate.rbi +2 -2
  242. data/rbi/stripe/resources/terminal/configuration.rbi +2 -3
  243. data/rbi/stripe/resources/terminal/location.rbi +4 -6
  244. data/rbi/stripe/resources/terminal/reader.rbi +415 -8
  245. data/rbi/stripe/resources/test_helpers/test_clock.rbi +1 -3
  246. data/rbi/stripe/resources/token.rbi +70 -4
  247. data/rbi/stripe/resources/transfer.rbi +1 -1
  248. data/rbi/stripe/resources/treasury/financial_account.rbi +6 -2
  249. data/rbi/stripe/resources/v2/billing/meter_event.rbi +3 -3
  250. data/rbi/stripe/resources/v2/billing/meter_event_adjustment.rbi +3 -3
  251. data/rbi/stripe/resources/v2/billing/meter_event_session.rbi +3 -3
  252. data/rbi/stripe/resources/v2/event.rbi +3 -3
  253. data/rbi/stripe/resources/v2/event_destination.rbi +3 -3
  254. data/rbi/stripe/resources/webhook_endpoint.rbi +1 -3
  255. data/rbi/stripe/services/account_external_account_service.rbi +3 -5
  256. data/rbi/stripe/services/account_login_link_service.rbi +1 -1
  257. data/rbi/stripe/services/account_person_service.rbi +93 -5
  258. data/rbi/stripe/services/account_service.rbi +166 -28
  259. data/rbi/stripe/services/account_session_service.rbi +126 -52
  260. data/rbi/stripe/services/apple_pay_domain_service.rbi +1 -3
  261. data/rbi/stripe/services/balance_service.rbi +1 -1
  262. data/rbi/stripe/services/billing/alert_service.rbi +2 -2
  263. data/rbi/stripe/services/billing_portal/session_service.rbi +1 -1
  264. data/rbi/stripe/services/charge_service.rbi +4 -4
  265. data/rbi/stripe/services/checkout/session_service.rbi +104 -19
  266. data/rbi/stripe/services/coupon_service.rbi +1 -3
  267. data/rbi/stripe/services/credit_note_preview_lines_service.rbi +3 -3
  268. data/rbi/stripe/services/credit_note_service.rbi +13 -14
  269. data/rbi/stripe/services/customer_balance_transaction_service.rbi +3 -3
  270. data/rbi/stripe/services/customer_cash_balance_transaction_service.rbi +2 -2
  271. data/rbi/stripe/services/customer_payment_method_service.rbi +1 -1
  272. data/rbi/stripe/services/customer_payment_source_service.rbi +1 -1
  273. data/rbi/stripe/services/customer_service.rbi +4 -8
  274. data/rbi/stripe/services/customer_session_service.rbi +1 -1
  275. data/rbi/stripe/services/customer_tax_id_service.rbi +2 -4
  276. data/rbi/stripe/services/dispute_service.rbi +1 -1
  277. data/rbi/stripe/services/file_service.rbi +1 -1
  278. data/rbi/stripe/services/identity/verification_session_service.rbi +22 -6
  279. data/rbi/stripe/services/invoice_item_service.rbi +1 -3
  280. data/rbi/stripe/services/invoice_service.rbi +126 -35
  281. data/rbi/stripe/services/issuing/authorization_service.rbi +4 -4
  282. data/rbi/stripe/services/issuing/card_service.rbi +1 -1
  283. data/rbi/stripe/services/issuing/dispute_service.rbi +2 -2
  284. data/rbi/stripe/services/payment_intent_service.rbi +599 -369
  285. data/rbi/stripe/services/payment_method_configuration_service.rbi +280 -4
  286. data/rbi/stripe/services/payment_method_domain_service.rbi +1 -1
  287. data/rbi/stripe/services/payment_method_service.rbi +62 -121
  288. data/rbi/stripe/services/payout_service.rbi +2 -2
  289. data/rbi/stripe/services/plan_service.rbi +2 -4
  290. data/rbi/stripe/services/price_service.rbi +2 -2
  291. data/rbi/stripe/services/product_feature_service.rbi +1 -3
  292. data/rbi/stripe/services/product_service.rbi +2 -4
  293. data/rbi/stripe/services/promotion_code_service.rbi +1 -1
  294. data/rbi/stripe/services/quote_service.rbi +16 -3
  295. data/rbi/stripe/services/radar/early_fraud_warning_service.rbi +1 -1
  296. data/rbi/stripe/services/radar/value_list_item_service.rbi +1 -3
  297. data/rbi/stripe/services/radar/value_list_service.rbi +1 -3
  298. data/rbi/stripe/services/setup_intent_service.rbi +457 -344
  299. data/rbi/stripe/services/source_service.rbi +1 -1
  300. data/rbi/stripe/services/subscription_item_service.rbi +28 -2
  301. data/rbi/stripe/services/subscription_schedule_service.rbi +119 -10
  302. data/rbi/stripe/services/subscription_service.rbi +121 -33
  303. data/rbi/stripe/services/tax/calculation_service.rbi +6 -2
  304. data/rbi/stripe/services/tax/registration_service.rbi +171 -2
  305. data/rbi/stripe/services/tax_id_service.rbi +2 -4
  306. data/rbi/stripe/services/terminal/configuration_service.rbi +1 -3
  307. data/rbi/stripe/services/terminal/location_service.rbi +4 -6
  308. data/rbi/stripe/services/terminal/reader_service.rbi +200 -4
  309. data/rbi/stripe/services/test_helpers/confirmation_token_service.rbi +106 -106
  310. data/rbi/stripe/services/test_helpers/terminal/reader_service.rbi +31 -0
  311. data/rbi/stripe/services/test_helpers/test_clock_service.rbi +1 -3
  312. data/rbi/stripe/services/token_service.rbi +71 -3
  313. data/rbi/stripe/services/transfer_service.rbi +1 -1
  314. data/rbi/stripe/services/treasury/financial_account_service.rbi +6 -2
  315. data/rbi/stripe/services/v2/billing/meter_event_session_service.rbi +1 -3
  316. data/rbi/stripe/services/v2/billing_service.rbi +1 -1
  317. data/rbi/stripe/services/v2/core/event_destination_service.rbi +14 -22
  318. data/rbi/stripe/services/v2/core/event_service.rbi +1 -3
  319. data/rbi/stripe/services/webhook_endpoint_service.rbi +1 -3
  320. metadata +5 -2
@@ -656,7 +656,7 @@ module Stripe
656
656
  attr_reader :redirect_to_url
657
657
  # Attribute for field swish_handle_redirect_or_display_qr_code
658
658
  attr_reader :swish_handle_redirect_or_display_qr_code
659
- # Type of the next action to perform, one of `redirect_to_url`, `use_stripe_sdk`, `alipay_handle_redirect`, `oxxo_display_details`, or `verify_with_microdeposits`.
659
+ # Type of the next action to perform. Refer to the other child attributes under `next_action` for available values. Examples include: `redirect_to_url`, `use_stripe_sdk`, `alipay_handle_redirect`, `oxxo_display_details`, or `verify_with_microdeposits`.
660
660
  attr_reader :type
661
661
  # When confirming a PaymentIntent with Stripe.js, Stripe.js depends on the contents of this dictionary to invoke authentication flows. The shape of the contents is subject to change and is only intended to be used by Stripe.js.
662
662
  attr_reader :use_stripe_sdk
@@ -810,6 +810,11 @@ module Stripe
810
810
  attr_reader :setup_future_usage
811
811
  end
812
812
 
813
+ class Billie < Stripe::StripeObject
814
+ # Controls when the funds will be captured from the customer's account.
815
+ attr_reader :capture_method
816
+ end
817
+
813
818
  class Blik < Stripe::StripeObject
814
819
  # Indicates that you intend to make future payments with this PaymentIntent's payment method.
815
820
  #
@@ -842,7 +847,7 @@ module Stripe
842
847
  # For `fixed_count` installment plans, this is the interval between installment payments your customer will make to their credit card.
843
848
  # One of `month`.
844
849
  attr_reader :interval
845
- # Type of installment plan, one of `fixed_count`.
850
+ # Type of installment plan, one of `fixed_count`, `bonus`, or `revolving`.
846
851
  attr_reader :type
847
852
  end
848
853
 
@@ -852,7 +857,7 @@ module Stripe
852
857
  # For `fixed_count` installment plans, this is the interval between installment payments your customer will make to their credit card.
853
858
  # One of `month`.
854
859
  attr_reader :interval
855
- # Type of installment plan, one of `fixed_count`.
860
+ # Type of installment plan, one of `fixed_count`, `bonus`, or `revolving`.
856
861
  attr_reader :type
857
862
  end
858
863
  # Installment plans that may be selected for this PaymentIntent.
@@ -885,7 +890,7 @@ module Stripe
885
890
  end
886
891
  # Controls when the funds will be captured from the customer's account.
887
892
  attr_reader :capture_method
888
- # Installment details for this payment (Mexico only).
893
+ # Installment details for this payment.
889
894
  #
890
895
  # For more information, see the [installments integration guide](https://stripe.com/docs/payments/installments).
891
896
  attr_reader :installments
@@ -945,6 +950,17 @@ module Stripe
945
950
  attr_reader :setup_future_usage
946
951
  end
947
952
 
953
+ class Crypto < Stripe::StripeObject
954
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
955
+ #
956
+ # 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.
957
+ #
958
+ # 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.
959
+ #
960
+ # 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).
961
+ attr_reader :setup_future_usage
962
+ end
963
+
948
964
  class CustomerBalance < Stripe::StripeObject
949
965
  class BankTransfer < Stripe::StripeObject
950
966
  class EuBankTransfer < Stripe::StripeObject
@@ -1259,6 +1275,11 @@ module Stripe
1259
1275
  attr_reader :capture_method
1260
1276
  end
1261
1277
 
1278
+ class Satispay < Stripe::StripeObject
1279
+ # Controls when the funds will be captured from the customer's account.
1280
+ attr_reader :capture_method
1281
+ end
1282
+
1262
1283
  class SepaDebit < Stripe::StripeObject
1263
1284
  class MandateOptions < Stripe::StripeObject
1264
1285
  # Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'STRIPE'.
@@ -1398,6 +1419,8 @@ module Stripe
1398
1419
  attr_reader :bacs_debit
1399
1420
  # Attribute for field bancontact
1400
1421
  attr_reader :bancontact
1422
+ # Attribute for field billie
1423
+ attr_reader :billie
1401
1424
  # Attribute for field blik
1402
1425
  attr_reader :blik
1403
1426
  # Attribute for field boleto
@@ -1408,6 +1431,8 @@ module Stripe
1408
1431
  attr_reader :card_present
1409
1432
  # Attribute for field cashapp
1410
1433
  attr_reader :cashapp
1434
+ # Attribute for field crypto
1435
+ attr_reader :crypto
1411
1436
  # Attribute for field customer_balance
1412
1437
  attr_reader :customer_balance
1413
1438
  # Attribute for field eps
@@ -1460,6 +1485,8 @@ module Stripe
1460
1485
  attr_reader :revolut_pay
1461
1486
  # Attribute for field samsung_pay
1462
1487
  attr_reader :samsung_pay
1488
+ # Attribute for field satispay
1489
+ attr_reader :satispay
1463
1490
  # Attribute for field sepa_debit
1464
1491
  attr_reader :sepa_debit
1465
1492
  # Attribute for field sofort
@@ -1601,8 +1628,7 @@ module Stripe
1601
1628
 
1602
1629
  class MandateData < Stripe::RequestParams
1603
1630
  class CustomerAcceptance < Stripe::RequestParams
1604
- class Offline < Stripe::RequestParams
1605
- end
1631
+ class Offline < Stripe::RequestParams; end
1606
1632
 
1607
1633
  class Online < Stripe::RequestParams
1608
1634
  # The IP address from which the Mandate was accepted by the customer.
@@ -1655,20 +1681,11 @@ module Stripe
1655
1681
  end
1656
1682
  end
1657
1683
 
1658
- class Affirm < Stripe::RequestParams
1659
- end
1660
-
1661
- class AfterpayClearpay < Stripe::RequestParams
1662
- end
1663
-
1664
- class Alipay < Stripe::RequestParams
1665
- end
1666
-
1667
- class Alma < Stripe::RequestParams
1668
- end
1669
-
1670
- class AmazonPay < Stripe::RequestParams
1671
- end
1684
+ class Affirm < Stripe::RequestParams; end
1685
+ class AfterpayClearpay < Stripe::RequestParams; end
1686
+ class Alipay < Stripe::RequestParams; end
1687
+ class Alma < Stripe::RequestParams; end
1688
+ class AmazonPay < Stripe::RequestParams; end
1672
1689
 
1673
1690
  class AuBecsDebit < Stripe::RequestParams
1674
1691
  # The account number for the bank account.
@@ -1694,11 +1711,8 @@ module Stripe
1694
1711
  end
1695
1712
  end
1696
1713
 
1697
- class Bancontact < Stripe::RequestParams
1698
- end
1699
-
1700
- class Billie < Stripe::RequestParams
1701
- end
1714
+ class Bancontact < Stripe::RequestParams; end
1715
+ class Billie < Stripe::RequestParams; end
1702
1716
 
1703
1717
  class BillingDetails < Stripe::RequestParams
1704
1718
  class Address < Stripe::RequestParams
@@ -1739,17 +1753,19 @@ module Stripe
1739
1753
  attr_accessor :name
1740
1754
  # Billing phone number (including extension).
1741
1755
  attr_accessor :phone
1756
+ # Taxpayer identification number. Used only for transactions between LATAM buyers and non-LATAM sellers.
1757
+ attr_accessor :tax_id
1742
1758
 
1743
- def initialize(address: nil, email: nil, name: nil, phone: nil)
1759
+ def initialize(address: nil, email: nil, name: nil, phone: nil, tax_id: nil)
1744
1760
  @address = address
1745
1761
  @email = email
1746
1762
  @name = name
1747
1763
  @phone = phone
1764
+ @tax_id = tax_id
1748
1765
  end
1749
1766
  end
1750
1767
 
1751
- class Blik < Stripe::RequestParams
1752
- end
1768
+ class Blik < Stripe::RequestParams; end
1753
1769
 
1754
1770
  class Boleto < Stripe::RequestParams
1755
1771
  # The tax ID of the customer (CPF for individual consumers or CNPJ for businesses consumers)
@@ -1760,11 +1776,9 @@ module Stripe
1760
1776
  end
1761
1777
  end
1762
1778
 
1763
- class Cashapp < Stripe::RequestParams
1764
- end
1765
-
1766
- class CustomerBalance < Stripe::RequestParams
1767
- end
1779
+ class Cashapp < Stripe::RequestParams; end
1780
+ class Crypto < Stripe::RequestParams; end
1781
+ class CustomerBalance < Stripe::RequestParams; end
1768
1782
 
1769
1783
  class Eps < Stripe::RequestParams
1770
1784
  # The customer's bank.
@@ -1787,11 +1801,8 @@ module Stripe
1787
1801
  end
1788
1802
  end
1789
1803
 
1790
- class Giropay < Stripe::RequestParams
1791
- end
1792
-
1793
- class Grabpay < Stripe::RequestParams
1794
- end
1804
+ class Giropay < Stripe::RequestParams; end
1805
+ class Grabpay < Stripe::RequestParams; end
1795
1806
 
1796
1807
  class Ideal < Stripe::RequestParams
1797
1808
  # The customer's bank. Only use this parameter for existing customers. Don't use it for new customers.
@@ -1802,11 +1813,8 @@ module Stripe
1802
1813
  end
1803
1814
  end
1804
1815
 
1805
- class InteracPresent < Stripe::RequestParams
1806
- end
1807
-
1808
- class KakaoPay < Stripe::RequestParams
1809
- end
1816
+ class InteracPresent < Stripe::RequestParams; end
1817
+ class KakaoPay < Stripe::RequestParams; end
1810
1818
 
1811
1819
  class Klarna < Stripe::RequestParams
1812
1820
  class Dob < Stripe::RequestParams
@@ -1831,20 +1839,11 @@ module Stripe
1831
1839
  end
1832
1840
  end
1833
1841
 
1834
- class Konbini < Stripe::RequestParams
1835
- end
1836
-
1837
- class KrCard < Stripe::RequestParams
1838
- end
1839
-
1840
- class Link < Stripe::RequestParams
1841
- end
1842
-
1843
- class Mobilepay < Stripe::RequestParams
1844
- end
1845
-
1846
- class Multibanco < Stripe::RequestParams
1847
- end
1842
+ class Konbini < Stripe::RequestParams; end
1843
+ class KrCard < Stripe::RequestParams; end
1844
+ class Link < Stripe::RequestParams; end
1845
+ class Mobilepay < Stripe::RequestParams; end
1846
+ class Multibanco < Stripe::RequestParams; end
1848
1847
 
1849
1848
  class NaverPay < Stripe::RequestParams
1850
1849
  # Whether to use Naver Pay points or a card to fund this transaction. If not provided, this defaults to `card`.
@@ -1886,8 +1885,7 @@ module Stripe
1886
1885
  end
1887
1886
  end
1888
1887
 
1889
- class Oxxo < Stripe::RequestParams
1890
- end
1888
+ class Oxxo < Stripe::RequestParams; end
1891
1889
 
1892
1890
  class P24 < Stripe::RequestParams
1893
1891
  # The customer's bank.
@@ -1898,23 +1896,12 @@ module Stripe
1898
1896
  end
1899
1897
  end
1900
1898
 
1901
- class PayByBank < Stripe::RequestParams
1902
- end
1903
-
1904
- class Payco < Stripe::RequestParams
1905
- end
1906
-
1907
- class Paynow < Stripe::RequestParams
1908
- end
1909
-
1910
- class Paypal < Stripe::RequestParams
1911
- end
1912
-
1913
- class Pix < Stripe::RequestParams
1914
- end
1915
-
1916
- class Promptpay < Stripe::RequestParams
1917
- end
1899
+ class PayByBank < Stripe::RequestParams; end
1900
+ class Payco < Stripe::RequestParams; end
1901
+ class Paynow < Stripe::RequestParams; end
1902
+ class Paypal < Stripe::RequestParams; end
1903
+ class Pix < Stripe::RequestParams; end
1904
+ class Promptpay < Stripe::RequestParams; end
1918
1905
 
1919
1906
  class RadarOptions < Stripe::RequestParams
1920
1907
  # A [Radar Session](https://stripe.com/docs/radar/radar-session) is a snapshot of the browser metadata and device details that help Radar make more accurate predictions on your payments.
@@ -1925,14 +1912,9 @@ module Stripe
1925
1912
  end
1926
1913
  end
1927
1914
 
1928
- class RevolutPay < Stripe::RequestParams
1929
- end
1930
-
1931
- class SamsungPay < Stripe::RequestParams
1932
- end
1933
-
1934
- class Satispay < Stripe::RequestParams
1935
- end
1915
+ class RevolutPay < Stripe::RequestParams; end
1916
+ class SamsungPay < Stripe::RequestParams; end
1917
+ class Satispay < Stripe::RequestParams; end
1936
1918
 
1937
1919
  class SepaDebit < Stripe::RequestParams
1938
1920
  # IBAN of the bank account.
@@ -1952,11 +1934,8 @@ module Stripe
1952
1934
  end
1953
1935
  end
1954
1936
 
1955
- class Swish < Stripe::RequestParams
1956
- end
1957
-
1958
- class Twint < Stripe::RequestParams
1959
- end
1937
+ class Swish < Stripe::RequestParams; end
1938
+ class Twint < Stripe::RequestParams; end
1960
1939
 
1961
1940
  class UsBankAccount < Stripe::RequestParams
1962
1941
  # Account holder type: individual or company.
@@ -1985,11 +1964,8 @@ module Stripe
1985
1964
  end
1986
1965
  end
1987
1966
 
1988
- class WechatPay < Stripe::RequestParams
1989
- end
1990
-
1991
- class Zip < Stripe::RequestParams
1992
- end
1967
+ class WechatPay < Stripe::RequestParams; end
1968
+ class Zip < Stripe::RequestParams; end
1993
1969
  # If this is an `acss_debit` PaymentMethod, this hash contains details about the ACSS Debit payment method.
1994
1970
  attr_accessor :acss_debit
1995
1971
  # If this is an `affirm` PaymentMethod, this hash contains details about the Affirm payment method.
@@ -2010,7 +1986,7 @@ module Stripe
2010
1986
  attr_accessor :bacs_debit
2011
1987
  # If this is a `bancontact` PaymentMethod, this hash contains details about the Bancontact payment method.
2012
1988
  attr_accessor :bancontact
2013
- # If this is a `billie` PaymentMethod, this hash contains details about the billie payment method.
1989
+ # If this is a `billie` PaymentMethod, this hash contains details about the Billie payment method.
2014
1990
  attr_accessor :billie
2015
1991
  # Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods.
2016
1992
  attr_accessor :billing_details
@@ -2020,6 +1996,8 @@ module Stripe
2020
1996
  attr_accessor :boleto
2021
1997
  # If this is a `cashapp` PaymentMethod, this hash contains details about the Cash App Pay payment method.
2022
1998
  attr_accessor :cashapp
1999
+ # If this is a Crypto PaymentMethod, this hash contains details about the Crypto payment method.
2000
+ attr_accessor :crypto
2023
2001
  # If this is a `customer_balance` PaymentMethod, this hash contains details about the CustomerBalance payment method.
2024
2002
  attr_accessor :customer_balance
2025
2003
  # If this is an `eps` PaymentMethod, this hash contains details about the EPS payment method.
@@ -2072,11 +2050,11 @@ module Stripe
2072
2050
  attr_accessor :promptpay
2073
2051
  # Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information.
2074
2052
  attr_accessor :radar_options
2075
- # If this is a `Revolut Pay` PaymentMethod, this hash contains details about the Revolut Pay payment method.
2053
+ # If this is a `revolut_pay` PaymentMethod, this hash contains details about the Revolut Pay payment method.
2076
2054
  attr_accessor :revolut_pay
2077
2055
  # If this is a `samsung_pay` PaymentMethod, this hash contains details about the SamsungPay payment method.
2078
2056
  attr_accessor :samsung_pay
2079
- # If this is a `satispay` PaymentMethod, this hash contains details about the satispay payment method.
2057
+ # If this is a `satispay` PaymentMethod, this hash contains details about the Satispay payment method.
2080
2058
  attr_accessor :satispay
2081
2059
  # If this is a `sepa_debit` PaymentMethod, this hash contains details about the SEPA debit bank account.
2082
2060
  attr_accessor :sepa_debit
@@ -2111,6 +2089,7 @@ module Stripe
2111
2089
  blik: nil,
2112
2090
  boleto: nil,
2113
2091
  cashapp: nil,
2092
+ crypto: nil,
2114
2093
  customer_balance: nil,
2115
2094
  eps: nil,
2116
2095
  fpx: nil,
@@ -2164,6 +2143,7 @@ module Stripe
2164
2143
  @blik = blik
2165
2144
  @boleto = boleto
2166
2145
  @cashapp = cashapp
2146
+ @crypto = crypto
2167
2147
  @customer_balance = customer_balance
2168
2148
  @eps = eps
2169
2149
  @fpx = fpx
@@ -2438,6 +2418,19 @@ module Stripe
2438
2418
  end
2439
2419
  end
2440
2420
 
2421
+ class Billie < Stripe::RequestParams
2422
+ # Controls when the funds are captured from the customer's account.
2423
+ #
2424
+ # If provided, this parameter overrides the behavior of the top-level [capture_method](/api/payment_intents/update#update_payment_intent-capture_method) for this payment method type when finalizing the payment with this payment method type.
2425
+ #
2426
+ # If `capture_method` is already set on the PaymentIntent, providing an empty value for this parameter unsets the stored value for this payment method type.
2427
+ attr_accessor :capture_method
2428
+
2429
+ def initialize(capture_method: nil)
2430
+ @capture_method = capture_method
2431
+ end
2432
+ end
2433
+
2441
2434
  class Blik < Stripe::RequestParams
2442
2435
  # The 6-digit BLIK code that a customer has generated using their banking application. Can only be set on confirmation.
2443
2436
  attr_accessor :code
@@ -2486,7 +2479,7 @@ module Stripe
2486
2479
  # For `fixed_count` installment plans, this is required. It represents the interval between installment payments your customer will make to their credit card.
2487
2480
  # One of `month`.
2488
2481
  attr_accessor :interval
2489
- # Type of installment plan, one of `fixed_count`.
2482
+ # Type of installment plan, one of `fixed_count`, `bonus`, or `revolving`.
2490
2483
  attr_accessor :type
2491
2484
 
2492
2485
  def initialize(count: nil, interval: nil, type: nil)
@@ -2764,6 +2757,23 @@ module Stripe
2764
2757
  end
2765
2758
  end
2766
2759
 
2760
+ class Crypto < Stripe::RequestParams
2761
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2762
+ #
2763
+ # 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.
2764
+ #
2765
+ # 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.
2766
+ #
2767
+ # 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).
2768
+ #
2769
+ # If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`.
2770
+ attr_accessor :setup_future_usage
2771
+
2772
+ def initialize(setup_future_usage: nil)
2773
+ @setup_future_usage = setup_future_usage
2774
+ end
2775
+ end
2776
+
2767
2777
  class CustomerBalance < Stripe::RequestParams
2768
2778
  class BankTransfer < Stripe::RequestParams
2769
2779
  class EuBankTransfer < Stripe::RequestParams
@@ -2896,8 +2906,7 @@ module Stripe
2896
2906
  end
2897
2907
  end
2898
2908
 
2899
- class InteracPresent < Stripe::RequestParams
2900
- end
2909
+ class InteracPresent < Stripe::RequestParams; end
2901
2910
 
2902
2911
  class KakaoPay < Stripe::RequestParams
2903
2912
  # Controls when the funds are captured from the customer's account.
@@ -2922,12 +2931,78 @@ module Stripe
2922
2931
  end
2923
2932
 
2924
2933
  class Klarna < Stripe::RequestParams
2934
+ class OnDemand < Stripe::RequestParams
2935
+ # Your average amount value. You can use a value across your customer base, or segment based on customer type, country, etc.
2936
+ attr_accessor :average_amount
2937
+ # 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.
2938
+ attr_accessor :maximum_amount
2939
+ # 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.
2940
+ attr_accessor :minimum_amount
2941
+ # Interval at which the customer is making purchases
2942
+ attr_accessor :purchase_interval
2943
+ # The number of `purchase_interval` between charges
2944
+ attr_accessor :purchase_interval_count
2945
+
2946
+ def initialize(
2947
+ average_amount: nil,
2948
+ maximum_amount: nil,
2949
+ minimum_amount: nil,
2950
+ purchase_interval: nil,
2951
+ purchase_interval_count: nil
2952
+ )
2953
+ @average_amount = average_amount
2954
+ @maximum_amount = maximum_amount
2955
+ @minimum_amount = minimum_amount
2956
+ @purchase_interval = purchase_interval
2957
+ @purchase_interval_count = purchase_interval_count
2958
+ end
2959
+ end
2960
+
2961
+ class Subscription < Stripe::RequestParams
2962
+ class NextBilling < Stripe::RequestParams
2963
+ # The amount of the next charge for the subscription.
2964
+ attr_accessor :amount
2965
+ # The date of the next charge for the subscription in YYYY-MM-DD format.
2966
+ attr_accessor :date
2967
+
2968
+ def initialize(amount: nil, date: nil)
2969
+ @amount = amount
2970
+ @date = date
2971
+ end
2972
+ end
2973
+ # Unit of time between subscription charges.
2974
+ attr_accessor :interval
2975
+ # The number of intervals (specified in the `interval` attribute) between subscription charges. For example, `interval=month` and `interval_count=3` charges every 3 months.
2976
+ attr_accessor :interval_count
2977
+ # Name for subscription.
2978
+ attr_accessor :name
2979
+ # Describes the upcoming charge for this subscription.
2980
+ attr_accessor :next_billing
2981
+ # A non-customer-facing reference to correlate subscription charges in the Klarna app. Use a value that persists across subscription charges.
2982
+ attr_accessor :reference
2983
+
2984
+ def initialize(
2985
+ interval: nil,
2986
+ interval_count: nil,
2987
+ name: nil,
2988
+ next_billing: nil,
2989
+ reference: nil
2990
+ )
2991
+ @interval = interval
2992
+ @interval_count = interval_count
2993
+ @name = name
2994
+ @next_billing = next_billing
2995
+ @reference = reference
2996
+ end
2997
+ end
2925
2998
  # Controls when the funds are captured from the customer's account.
2926
2999
  #
2927
3000
  # If provided, this parameter overrides the behavior of the top-level [capture_method](/api/payment_intents/update#update_payment_intent-capture_method) for this payment method type when finalizing the payment with this payment method type.
2928
3001
  #
2929
3002
  # If `capture_method` is already set on the PaymentIntent, providing an empty value for this parameter unsets the stored value for this payment method type.
2930
3003
  attr_accessor :capture_method
3004
+ # On-demand details if setting up or charging an on-demand payment.
3005
+ attr_accessor :on_demand
2931
3006
  # Preferred language of the Klarna authorization page that the customer is redirected to
2932
3007
  attr_accessor :preferred_locale
2933
3008
  # Indicates that you intend to make future payments with this PaymentIntent's payment method.
@@ -2940,11 +3015,21 @@ module Stripe
2940
3015
  #
2941
3016
  # If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`.
2942
3017
  attr_accessor :setup_future_usage
3018
+ # Subscription details if setting up or charging a subscription.
3019
+ attr_accessor :subscriptions
2943
3020
 
2944
- def initialize(capture_method: nil, preferred_locale: nil, setup_future_usage: nil)
3021
+ def initialize(
3022
+ capture_method: nil,
3023
+ on_demand: nil,
3024
+ preferred_locale: nil,
3025
+ setup_future_usage: nil,
3026
+ subscriptions: nil
3027
+ )
2945
3028
  @capture_method = capture_method
3029
+ @on_demand = on_demand
2946
3030
  @preferred_locale = preferred_locale
2947
3031
  @setup_future_usage = setup_future_usage
3032
+ @subscriptions = subscriptions
2948
3033
  end
2949
3034
  end
2950
3035
 
@@ -3155,8 +3240,7 @@ module Stripe
3155
3240
  end
3156
3241
  end
3157
3242
 
3158
- class PayByBank < Stripe::RequestParams
3159
- end
3243
+ class PayByBank < Stripe::RequestParams; end
3160
3244
 
3161
3245
  class Payco < Stripe::RequestParams
3162
3246
  # Controls when the funds are captured from the customer's account.
@@ -3298,6 +3382,19 @@ module Stripe
3298
3382
  end
3299
3383
  end
3300
3384
 
3385
+ class Satispay < Stripe::RequestParams
3386
+ # Controls when the funds are captured from the customer's account.
3387
+ #
3388
+ # If provided, this parameter overrides the behavior of the top-level [capture_method](/api/payment_intents/update#update_payment_intent-capture_method) for this payment method type when finalizing the payment with this payment method type.
3389
+ #
3390
+ # If `capture_method` is already set on the PaymentIntent, providing an empty value for this parameter unsets the stored value for this payment method type.
3391
+ attr_accessor :capture_method
3392
+
3393
+ def initialize(capture_method: nil)
3394
+ @capture_method = capture_method
3395
+ end
3396
+ end
3397
+
3301
3398
  class SepaDebit < Stripe::RequestParams
3302
3399
  class MandateOptions < Stripe::RequestParams
3303
3400
  # Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'STRIPE'.
@@ -3529,6 +3626,8 @@ module Stripe
3529
3626
  attr_accessor :bacs_debit
3530
3627
  # If this is a `bancontact` PaymentMethod, this sub-hash contains details about the Bancontact payment method options.
3531
3628
  attr_accessor :bancontact
3629
+ # If this is a `billie` PaymentMethod, this sub-hash contains details about the Billie payment method options.
3630
+ attr_accessor :billie
3532
3631
  # If this is a `blik` PaymentMethod, this sub-hash contains details about the BLIK payment method options.
3533
3632
  attr_accessor :blik
3534
3633
  # If this is a `boleto` PaymentMethod, this sub-hash contains details about the Boleto payment method options.
@@ -3539,6 +3638,8 @@ module Stripe
3539
3638
  attr_accessor :card_present
3540
3639
  # If this is a `cashapp` PaymentMethod, this sub-hash contains details about the Cash App Pay payment method options.
3541
3640
  attr_accessor :cashapp
3641
+ # If this is a `crypto` PaymentMethod, this sub-hash contains details about the Crypto payment method options.
3642
+ attr_accessor :crypto
3542
3643
  # If this is a `customer balance` PaymentMethod, this sub-hash contains details about the customer balance payment method options.
3543
3644
  attr_accessor :customer_balance
3544
3645
  # If this is a `eps` PaymentMethod, this sub-hash contains details about the EPS payment method options.
@@ -3591,6 +3692,8 @@ module Stripe
3591
3692
  attr_accessor :revolut_pay
3592
3693
  # If this is a `samsung_pay` PaymentMethod, this sub-hash contains details about the Samsung Pay payment method options.
3593
3694
  attr_accessor :samsung_pay
3695
+ # If this is a `satispay` PaymentMethod, this sub-hash contains details about the Satispay payment method options.
3696
+ attr_accessor :satispay
3594
3697
  # If this is a `sepa_debit` PaymentIntent, this sub-hash contains details about the SEPA Debit payment method options.
3595
3698
  attr_accessor :sepa_debit
3596
3699
  # If this is a `sofort` PaymentMethod, this sub-hash contains details about the SOFORT payment method options.
@@ -3616,11 +3719,13 @@ module Stripe
3616
3719
  au_becs_debit: nil,
3617
3720
  bacs_debit: nil,
3618
3721
  bancontact: nil,
3722
+ billie: nil,
3619
3723
  blik: nil,
3620
3724
  boleto: nil,
3621
3725
  card: nil,
3622
3726
  card_present: nil,
3623
3727
  cashapp: nil,
3728
+ crypto: nil,
3624
3729
  customer_balance: nil,
3625
3730
  eps: nil,
3626
3731
  fpx: nil,
@@ -3647,6 +3752,7 @@ module Stripe
3647
3752
  promptpay: nil,
3648
3753
  revolut_pay: nil,
3649
3754
  samsung_pay: nil,
3755
+ satispay: nil,
3650
3756
  sepa_debit: nil,
3651
3757
  sofort: nil,
3652
3758
  swish: nil,
@@ -3664,11 +3770,13 @@ module Stripe
3664
3770
  @au_becs_debit = au_becs_debit
3665
3771
  @bacs_debit = bacs_debit
3666
3772
  @bancontact = bancontact
3773
+ @billie = billie
3667
3774
  @blik = blik
3668
3775
  @boleto = boleto
3669
3776
  @card = card
3670
3777
  @card_present = card_present
3671
3778
  @cashapp = cashapp
3779
+ @crypto = crypto
3672
3780
  @customer_balance = customer_balance
3673
3781
  @eps = eps
3674
3782
  @fpx = fpx
@@ -3695,6 +3803,7 @@ module Stripe
3695
3803
  @promptpay = promptpay
3696
3804
  @revolut_pay = revolut_pay
3697
3805
  @samsung_pay = samsung_pay
3806
+ @satispay = satispay
3698
3807
  @sepa_debit = sepa_debit
3699
3808
  @sofort = sofort
3700
3809
  @swish = swish
@@ -3828,6 +3937,8 @@ module Stripe
3828
3937
  # ID of the payment method (a PaymentMethod, Card, or [compatible Source](https://stripe.com/docs/payments/payment-methods#compatibility) object) to attach to this PaymentIntent.
3829
3938
  #
3830
3939
  # If you don't provide the `payment_method` parameter or the `source` parameter with `confirm=true`, `source` automatically populates with `customer.default_source` to improve migration for users of the Charges API. We recommend that you explicitly provide the `payment_method` moving forward.
3940
+ # If the payment method is attached to a Customer, you must also provide the ID of that Customer as the [customer](https://stripe.com/docs/api#create_payment_intent-customer) parameter of this PaymentIntent.
3941
+ # end
3831
3942
  attr_accessor :payment_method
3832
3943
  # The ID of the [payment method configuration](https://stripe.com/docs/api/payment_method_configurations) to use with this PaymentIntent.
3833
3944
  attr_accessor :payment_method_configuration
@@ -3837,7 +3948,7 @@ module Stripe
3837
3948
  attr_accessor :payment_method_data
3838
3949
  # Payment method-specific configuration for this PaymentIntent.
3839
3950
  attr_accessor :payment_method_options
3840
- # The list of payment method types (for example, a card) that this PaymentIntent 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).
3951
+ # The list of payment method types (for example, a card) that this PaymentIntent 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).
3841
3952
  attr_accessor :payment_method_types
3842
3953
  # Options to configure Radar. Learn more about [Radar Sessions](https://stripe.com/docs/radar/radar-session).
3843
3954
  attr_accessor :radar_options
@@ -3955,20 +4066,11 @@ module Stripe
3955
4066
  end
3956
4067
  end
3957
4068
 
3958
- class Affirm < Stripe::RequestParams
3959
- end
3960
-
3961
- class AfterpayClearpay < Stripe::RequestParams
3962
- end
3963
-
3964
- class Alipay < Stripe::RequestParams
3965
- end
3966
-
3967
- class Alma < Stripe::RequestParams
3968
- end
3969
-
3970
- class AmazonPay < Stripe::RequestParams
3971
- end
4069
+ class Affirm < Stripe::RequestParams; end
4070
+ class AfterpayClearpay < Stripe::RequestParams; end
4071
+ class Alipay < Stripe::RequestParams; end
4072
+ class Alma < Stripe::RequestParams; end
4073
+ class AmazonPay < Stripe::RequestParams; end
3972
4074
 
3973
4075
  class AuBecsDebit < Stripe::RequestParams
3974
4076
  # The account number for the bank account.
@@ -3994,11 +4096,8 @@ module Stripe
3994
4096
  end
3995
4097
  end
3996
4098
 
3997
- class Bancontact < Stripe::RequestParams
3998
- end
3999
-
4000
- class Billie < Stripe::RequestParams
4001
- end
4099
+ class Bancontact < Stripe::RequestParams; end
4100
+ class Billie < Stripe::RequestParams; end
4002
4101
 
4003
4102
  class BillingDetails < Stripe::RequestParams
4004
4103
  class Address < Stripe::RequestParams
@@ -4039,17 +4138,19 @@ module Stripe
4039
4138
  attr_accessor :name
4040
4139
  # Billing phone number (including extension).
4041
4140
  attr_accessor :phone
4141
+ # Taxpayer identification number. Used only for transactions between LATAM buyers and non-LATAM sellers.
4142
+ attr_accessor :tax_id
4042
4143
 
4043
- def initialize(address: nil, email: nil, name: nil, phone: nil)
4144
+ def initialize(address: nil, email: nil, name: nil, phone: nil, tax_id: nil)
4044
4145
  @address = address
4045
4146
  @email = email
4046
4147
  @name = name
4047
4148
  @phone = phone
4149
+ @tax_id = tax_id
4048
4150
  end
4049
4151
  end
4050
4152
 
4051
- class Blik < Stripe::RequestParams
4052
- end
4153
+ class Blik < Stripe::RequestParams; end
4053
4154
 
4054
4155
  class Boleto < Stripe::RequestParams
4055
4156
  # The tax ID of the customer (CPF for individual consumers or CNPJ for businesses consumers)
@@ -4060,11 +4161,9 @@ module Stripe
4060
4161
  end
4061
4162
  end
4062
4163
 
4063
- class Cashapp < Stripe::RequestParams
4064
- end
4065
-
4066
- class CustomerBalance < Stripe::RequestParams
4067
- end
4164
+ class Cashapp < Stripe::RequestParams; end
4165
+ class Crypto < Stripe::RequestParams; end
4166
+ class CustomerBalance < Stripe::RequestParams; end
4068
4167
 
4069
4168
  class Eps < Stripe::RequestParams
4070
4169
  # The customer's bank.
@@ -4087,11 +4186,8 @@ module Stripe
4087
4186
  end
4088
4187
  end
4089
4188
 
4090
- class Giropay < Stripe::RequestParams
4091
- end
4092
-
4093
- class Grabpay < Stripe::RequestParams
4094
- end
4189
+ class Giropay < Stripe::RequestParams; end
4190
+ class Grabpay < Stripe::RequestParams; end
4095
4191
 
4096
4192
  class Ideal < Stripe::RequestParams
4097
4193
  # The customer's bank. Only use this parameter for existing customers. Don't use it for new customers.
@@ -4102,11 +4198,8 @@ module Stripe
4102
4198
  end
4103
4199
  end
4104
4200
 
4105
- class InteracPresent < Stripe::RequestParams
4106
- end
4107
-
4108
- class KakaoPay < Stripe::RequestParams
4109
- end
4201
+ class InteracPresent < Stripe::RequestParams; end
4202
+ class KakaoPay < Stripe::RequestParams; end
4110
4203
 
4111
4204
  class Klarna < Stripe::RequestParams
4112
4205
  class Dob < Stripe::RequestParams
@@ -4131,20 +4224,11 @@ module Stripe
4131
4224
  end
4132
4225
  end
4133
4226
 
4134
- class Konbini < Stripe::RequestParams
4135
- end
4136
-
4137
- class KrCard < Stripe::RequestParams
4138
- end
4139
-
4140
- class Link < Stripe::RequestParams
4141
- end
4142
-
4143
- class Mobilepay < Stripe::RequestParams
4144
- end
4145
-
4146
- class Multibanco < Stripe::RequestParams
4147
- end
4227
+ class Konbini < Stripe::RequestParams; end
4228
+ class KrCard < Stripe::RequestParams; end
4229
+ class Link < Stripe::RequestParams; end
4230
+ class Mobilepay < Stripe::RequestParams; end
4231
+ class Multibanco < Stripe::RequestParams; end
4148
4232
 
4149
4233
  class NaverPay < Stripe::RequestParams
4150
4234
  # Whether to use Naver Pay points or a card to fund this transaction. If not provided, this defaults to `card`.
@@ -4186,8 +4270,7 @@ module Stripe
4186
4270
  end
4187
4271
  end
4188
4272
 
4189
- class Oxxo < Stripe::RequestParams
4190
- end
4273
+ class Oxxo < Stripe::RequestParams; end
4191
4274
 
4192
4275
  class P24 < Stripe::RequestParams
4193
4276
  # The customer's bank.
@@ -4198,23 +4281,12 @@ module Stripe
4198
4281
  end
4199
4282
  end
4200
4283
 
4201
- class PayByBank < Stripe::RequestParams
4202
- end
4203
-
4204
- class Payco < Stripe::RequestParams
4205
- end
4206
-
4207
- class Paynow < Stripe::RequestParams
4208
- end
4209
-
4210
- class Paypal < Stripe::RequestParams
4211
- end
4212
-
4213
- class Pix < Stripe::RequestParams
4214
- end
4215
-
4216
- class Promptpay < Stripe::RequestParams
4217
- end
4284
+ class PayByBank < Stripe::RequestParams; end
4285
+ class Payco < Stripe::RequestParams; end
4286
+ class Paynow < Stripe::RequestParams; end
4287
+ class Paypal < Stripe::RequestParams; end
4288
+ class Pix < Stripe::RequestParams; end
4289
+ class Promptpay < Stripe::RequestParams; end
4218
4290
 
4219
4291
  class RadarOptions < Stripe::RequestParams
4220
4292
  # A [Radar Session](https://stripe.com/docs/radar/radar-session) is a snapshot of the browser metadata and device details that help Radar make more accurate predictions on your payments.
@@ -4225,14 +4297,9 @@ module Stripe
4225
4297
  end
4226
4298
  end
4227
4299
 
4228
- class RevolutPay < Stripe::RequestParams
4229
- end
4230
-
4231
- class SamsungPay < Stripe::RequestParams
4232
- end
4233
-
4234
- class Satispay < Stripe::RequestParams
4235
- end
4300
+ class RevolutPay < Stripe::RequestParams; end
4301
+ class SamsungPay < Stripe::RequestParams; end
4302
+ class Satispay < Stripe::RequestParams; end
4236
4303
 
4237
4304
  class SepaDebit < Stripe::RequestParams
4238
4305
  # IBAN of the bank account.
@@ -4252,11 +4319,8 @@ module Stripe
4252
4319
  end
4253
4320
  end
4254
4321
 
4255
- class Swish < Stripe::RequestParams
4256
- end
4257
-
4258
- class Twint < Stripe::RequestParams
4259
- end
4322
+ class Swish < Stripe::RequestParams; end
4323
+ class Twint < Stripe::RequestParams; end
4260
4324
 
4261
4325
  class UsBankAccount < Stripe::RequestParams
4262
4326
  # Account holder type: individual or company.
@@ -4285,11 +4349,8 @@ module Stripe
4285
4349
  end
4286
4350
  end
4287
4351
 
4288
- class WechatPay < Stripe::RequestParams
4289
- end
4290
-
4291
- class Zip < Stripe::RequestParams
4292
- end
4352
+ class WechatPay < Stripe::RequestParams; end
4353
+ class Zip < Stripe::RequestParams; end
4293
4354
  # If this is an `acss_debit` PaymentMethod, this hash contains details about the ACSS Debit payment method.
4294
4355
  attr_accessor :acss_debit
4295
4356
  # If this is an `affirm` PaymentMethod, this hash contains details about the Affirm payment method.
@@ -4310,7 +4371,7 @@ module Stripe
4310
4371
  attr_accessor :bacs_debit
4311
4372
  # If this is a `bancontact` PaymentMethod, this hash contains details about the Bancontact payment method.
4312
4373
  attr_accessor :bancontact
4313
- # If this is a `billie` PaymentMethod, this hash contains details about the billie payment method.
4374
+ # If this is a `billie` PaymentMethod, this hash contains details about the Billie payment method.
4314
4375
  attr_accessor :billie
4315
4376
  # Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods.
4316
4377
  attr_accessor :billing_details
@@ -4320,6 +4381,8 @@ module Stripe
4320
4381
  attr_accessor :boleto
4321
4382
  # If this is a `cashapp` PaymentMethod, this hash contains details about the Cash App Pay payment method.
4322
4383
  attr_accessor :cashapp
4384
+ # If this is a Crypto PaymentMethod, this hash contains details about the Crypto payment method.
4385
+ attr_accessor :crypto
4323
4386
  # If this is a `customer_balance` PaymentMethod, this hash contains details about the CustomerBalance payment method.
4324
4387
  attr_accessor :customer_balance
4325
4388
  # If this is an `eps` PaymentMethod, this hash contains details about the EPS payment method.
@@ -4372,11 +4435,11 @@ module Stripe
4372
4435
  attr_accessor :promptpay
4373
4436
  # Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information.
4374
4437
  attr_accessor :radar_options
4375
- # If this is a `Revolut Pay` PaymentMethod, this hash contains details about the Revolut Pay payment method.
4438
+ # If this is a `revolut_pay` PaymentMethod, this hash contains details about the Revolut Pay payment method.
4376
4439
  attr_accessor :revolut_pay
4377
4440
  # If this is a `samsung_pay` PaymentMethod, this hash contains details about the SamsungPay payment method.
4378
4441
  attr_accessor :samsung_pay
4379
- # If this is a `satispay` PaymentMethod, this hash contains details about the satispay payment method.
4442
+ # If this is a `satispay` PaymentMethod, this hash contains details about the Satispay payment method.
4380
4443
  attr_accessor :satispay
4381
4444
  # If this is a `sepa_debit` PaymentMethod, this hash contains details about the SEPA debit bank account.
4382
4445
  attr_accessor :sepa_debit
@@ -4411,6 +4474,7 @@ module Stripe
4411
4474
  blik: nil,
4412
4475
  boleto: nil,
4413
4476
  cashapp: nil,
4477
+ crypto: nil,
4414
4478
  customer_balance: nil,
4415
4479
  eps: nil,
4416
4480
  fpx: nil,
@@ -4464,6 +4528,7 @@ module Stripe
4464
4528
  @blik = blik
4465
4529
  @boleto = boleto
4466
4530
  @cashapp = cashapp
4531
+ @crypto = crypto
4467
4532
  @customer_balance = customer_balance
4468
4533
  @eps = eps
4469
4534
  @fpx = fpx
@@ -4738,6 +4803,19 @@ module Stripe
4738
4803
  end
4739
4804
  end
4740
4805
 
4806
+ class Billie < Stripe::RequestParams
4807
+ # Controls when the funds are captured from the customer's account.
4808
+ #
4809
+ # If provided, this parameter overrides the behavior of the top-level [capture_method](/api/payment_intents/update#update_payment_intent-capture_method) for this payment method type when finalizing the payment with this payment method type.
4810
+ #
4811
+ # If `capture_method` is already set on the PaymentIntent, providing an empty value for this parameter unsets the stored value for this payment method type.
4812
+ attr_accessor :capture_method
4813
+
4814
+ def initialize(capture_method: nil)
4815
+ @capture_method = capture_method
4816
+ end
4817
+ end
4818
+
4741
4819
  class Blik < Stripe::RequestParams
4742
4820
  # The 6-digit BLIK code that a customer has generated using their banking application. Can only be set on confirmation.
4743
4821
  attr_accessor :code
@@ -4786,7 +4864,7 @@ module Stripe
4786
4864
  # For `fixed_count` installment plans, this is required. It represents the interval between installment payments your customer will make to their credit card.
4787
4865
  # One of `month`.
4788
4866
  attr_accessor :interval
4789
- # Type of installment plan, one of `fixed_count`.
4867
+ # Type of installment plan, one of `fixed_count`, `bonus`, or `revolving`.
4790
4868
  attr_accessor :type
4791
4869
 
4792
4870
  def initialize(count: nil, interval: nil, type: nil)
@@ -5064,6 +5142,23 @@ module Stripe
5064
5142
  end
5065
5143
  end
5066
5144
 
5145
+ class Crypto < Stripe::RequestParams
5146
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
5147
+ #
5148
+ # 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.
5149
+ #
5150
+ # 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.
5151
+ #
5152
+ # 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).
5153
+ #
5154
+ # If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`.
5155
+ attr_accessor :setup_future_usage
5156
+
5157
+ def initialize(setup_future_usage: nil)
5158
+ @setup_future_usage = setup_future_usage
5159
+ end
5160
+ end
5161
+
5067
5162
  class CustomerBalance < Stripe::RequestParams
5068
5163
  class BankTransfer < Stripe::RequestParams
5069
5164
  class EuBankTransfer < Stripe::RequestParams
@@ -5196,8 +5291,7 @@ module Stripe
5196
5291
  end
5197
5292
  end
5198
5293
 
5199
- class InteracPresent < Stripe::RequestParams
5200
- end
5294
+ class InteracPresent < Stripe::RequestParams; end
5201
5295
 
5202
5296
  class KakaoPay < Stripe::RequestParams
5203
5297
  # Controls when the funds are captured from the customer's account.
@@ -5222,12 +5316,78 @@ module Stripe
5222
5316
  end
5223
5317
 
5224
5318
  class Klarna < Stripe::RequestParams
5319
+ class OnDemand < Stripe::RequestParams
5320
+ # Your average amount value. You can use a value across your customer base, or segment based on customer type, country, etc.
5321
+ attr_accessor :average_amount
5322
+ # 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.
5323
+ attr_accessor :maximum_amount
5324
+ # 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.
5325
+ attr_accessor :minimum_amount
5326
+ # Interval at which the customer is making purchases
5327
+ attr_accessor :purchase_interval
5328
+ # The number of `purchase_interval` between charges
5329
+ attr_accessor :purchase_interval_count
5330
+
5331
+ def initialize(
5332
+ average_amount: nil,
5333
+ maximum_amount: nil,
5334
+ minimum_amount: nil,
5335
+ purchase_interval: nil,
5336
+ purchase_interval_count: nil
5337
+ )
5338
+ @average_amount = average_amount
5339
+ @maximum_amount = maximum_amount
5340
+ @minimum_amount = minimum_amount
5341
+ @purchase_interval = purchase_interval
5342
+ @purchase_interval_count = purchase_interval_count
5343
+ end
5344
+ end
5345
+
5346
+ class Subscription < Stripe::RequestParams
5347
+ class NextBilling < Stripe::RequestParams
5348
+ # The amount of the next charge for the subscription.
5349
+ attr_accessor :amount
5350
+ # The date of the next charge for the subscription in YYYY-MM-DD format.
5351
+ attr_accessor :date
5352
+
5353
+ def initialize(amount: nil, date: nil)
5354
+ @amount = amount
5355
+ @date = date
5356
+ end
5357
+ end
5358
+ # Unit of time between subscription charges.
5359
+ attr_accessor :interval
5360
+ # The number of intervals (specified in the `interval` attribute) between subscription charges. For example, `interval=month` and `interval_count=3` charges every 3 months.
5361
+ attr_accessor :interval_count
5362
+ # Name for subscription.
5363
+ attr_accessor :name
5364
+ # Describes the upcoming charge for this subscription.
5365
+ attr_accessor :next_billing
5366
+ # A non-customer-facing reference to correlate subscription charges in the Klarna app. Use a value that persists across subscription charges.
5367
+ attr_accessor :reference
5368
+
5369
+ def initialize(
5370
+ interval: nil,
5371
+ interval_count: nil,
5372
+ name: nil,
5373
+ next_billing: nil,
5374
+ reference: nil
5375
+ )
5376
+ @interval = interval
5377
+ @interval_count = interval_count
5378
+ @name = name
5379
+ @next_billing = next_billing
5380
+ @reference = reference
5381
+ end
5382
+ end
5225
5383
  # Controls when the funds are captured from the customer's account.
5226
5384
  #
5227
5385
  # If provided, this parameter overrides the behavior of the top-level [capture_method](/api/payment_intents/update#update_payment_intent-capture_method) for this payment method type when finalizing the payment with this payment method type.
5228
5386
  #
5229
5387
  # If `capture_method` is already set on the PaymentIntent, providing an empty value for this parameter unsets the stored value for this payment method type.
5230
5388
  attr_accessor :capture_method
5389
+ # On-demand details if setting up or charging an on-demand payment.
5390
+ attr_accessor :on_demand
5231
5391
  # Preferred language of the Klarna authorization page that the customer is redirected to
5232
5392
  attr_accessor :preferred_locale
5233
5393
  # Indicates that you intend to make future payments with this PaymentIntent's payment method.
@@ -5240,11 +5400,21 @@ module Stripe
5240
5400
  #
5241
5401
  # If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`.
5242
5402
  attr_accessor :setup_future_usage
5403
+ # Subscription details if setting up or charging a subscription.
5404
+ attr_accessor :subscriptions
5243
5405
 
5244
- def initialize(capture_method: nil, preferred_locale: nil, setup_future_usage: nil)
5406
+ def initialize(
5407
+ capture_method: nil,
5408
+ on_demand: nil,
5409
+ preferred_locale: nil,
5410
+ setup_future_usage: nil,
5411
+ subscriptions: nil
5412
+ )
5245
5413
  @capture_method = capture_method
5414
+ @on_demand = on_demand
5246
5415
  @preferred_locale = preferred_locale
5247
5416
  @setup_future_usage = setup_future_usage
5417
+ @subscriptions = subscriptions
5248
5418
  end
5249
5419
  end
5250
5420
 
@@ -5455,8 +5625,7 @@ module Stripe
5455
5625
  end
5456
5626
  end
5457
5627
 
5458
- class PayByBank < Stripe::RequestParams
5459
- end
5628
+ class PayByBank < Stripe::RequestParams; end
5460
5629
 
5461
5630
  class Payco < Stripe::RequestParams
5462
5631
  # Controls when the funds are captured from the customer's account.
@@ -5598,6 +5767,19 @@ module Stripe
5598
5767
  end
5599
5768
  end
5600
5769
 
5770
+ class Satispay < Stripe::RequestParams
5771
+ # Controls when the funds are captured from the customer's account.
5772
+ #
5773
+ # If provided, this parameter overrides the behavior of the top-level [capture_method](/api/payment_intents/update#update_payment_intent-capture_method) for this payment method type when finalizing the payment with this payment method type.
5774
+ #
5775
+ # If `capture_method` is already set on the PaymentIntent, providing an empty value for this parameter unsets the stored value for this payment method type.
5776
+ attr_accessor :capture_method
5777
+
5778
+ def initialize(capture_method: nil)
5779
+ @capture_method = capture_method
5780
+ end
5781
+ end
5782
+
5601
5783
  class SepaDebit < Stripe::RequestParams
5602
5784
  class MandateOptions < Stripe::RequestParams
5603
5785
  # Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'STRIPE'.
@@ -5829,6 +6011,8 @@ module Stripe
5829
6011
  attr_accessor :bacs_debit
5830
6012
  # If this is a `bancontact` PaymentMethod, this sub-hash contains details about the Bancontact payment method options.
5831
6013
  attr_accessor :bancontact
6014
+ # If this is a `billie` PaymentMethod, this sub-hash contains details about the Billie payment method options.
6015
+ attr_accessor :billie
5832
6016
  # If this is a `blik` PaymentMethod, this sub-hash contains details about the BLIK payment method options.
5833
6017
  attr_accessor :blik
5834
6018
  # If this is a `boleto` PaymentMethod, this sub-hash contains details about the Boleto payment method options.
@@ -5839,6 +6023,8 @@ module Stripe
5839
6023
  attr_accessor :card_present
5840
6024
  # If this is a `cashapp` PaymentMethod, this sub-hash contains details about the Cash App Pay payment method options.
5841
6025
  attr_accessor :cashapp
6026
+ # If this is a `crypto` PaymentMethod, this sub-hash contains details about the Crypto payment method options.
6027
+ attr_accessor :crypto
5842
6028
  # If this is a `customer balance` PaymentMethod, this sub-hash contains details about the customer balance payment method options.
5843
6029
  attr_accessor :customer_balance
5844
6030
  # If this is a `eps` PaymentMethod, this sub-hash contains details about the EPS payment method options.
@@ -5891,6 +6077,8 @@ module Stripe
5891
6077
  attr_accessor :revolut_pay
5892
6078
  # If this is a `samsung_pay` PaymentMethod, this sub-hash contains details about the Samsung Pay payment method options.
5893
6079
  attr_accessor :samsung_pay
6080
+ # If this is a `satispay` PaymentMethod, this sub-hash contains details about the Satispay payment method options.
6081
+ attr_accessor :satispay
5894
6082
  # If this is a `sepa_debit` PaymentIntent, this sub-hash contains details about the SEPA Debit payment method options.
5895
6083
  attr_accessor :sepa_debit
5896
6084
  # If this is a `sofort` PaymentMethod, this sub-hash contains details about the SOFORT payment method options.
@@ -5916,11 +6104,13 @@ module Stripe
5916
6104
  au_becs_debit: nil,
5917
6105
  bacs_debit: nil,
5918
6106
  bancontact: nil,
6107
+ billie: nil,
5919
6108
  blik: nil,
5920
6109
  boleto: nil,
5921
6110
  card: nil,
5922
6111
  card_present: nil,
5923
6112
  cashapp: nil,
6113
+ crypto: nil,
5924
6114
  customer_balance: nil,
5925
6115
  eps: nil,
5926
6116
  fpx: nil,
@@ -5947,6 +6137,7 @@ module Stripe
5947
6137
  promptpay: nil,
5948
6138
  revolut_pay: nil,
5949
6139
  samsung_pay: nil,
6140
+ satispay: nil,
5950
6141
  sepa_debit: nil,
5951
6142
  sofort: nil,
5952
6143
  swish: nil,
@@ -5964,11 +6155,13 @@ module Stripe
5964
6155
  @au_becs_debit = au_becs_debit
5965
6156
  @bacs_debit = bacs_debit
5966
6157
  @bancontact = bancontact
6158
+ @billie = billie
5967
6159
  @blik = blik
5968
6160
  @boleto = boleto
5969
6161
  @card = card
5970
6162
  @card_present = card_present
5971
6163
  @cashapp = cashapp
6164
+ @crypto = crypto
5972
6165
  @customer_balance = customer_balance
5973
6166
  @eps = eps
5974
6167
  @fpx = fpx
@@ -5995,6 +6188,7 @@ module Stripe
5995
6188
  @promptpay = promptpay
5996
6189
  @revolut_pay = revolut_pay
5997
6190
  @samsung_pay = samsung_pay
6191
+ @satispay = satispay
5998
6192
  @sepa_debit = sepa_debit
5999
6193
  @sofort = sofort
6000
6194
  @swish = swish
@@ -6094,7 +6288,7 @@ module Stripe
6094
6288
  attr_accessor :payment_method_data
6095
6289
  # Payment-method-specific configuration for this PaymentIntent.
6096
6290
  attr_accessor :payment_method_options
6097
- # The list of payment method types (for example, card) that this PaymentIntent can use. Use `automatic_payment_methods` to manage payment methods from the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods).
6291
+ # The list of payment method types (for example, card) that this PaymentIntent can use. Use `automatic_payment_methods` to manage payment methods from the [Stripe Dashboard](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).
6098
6292
  attr_accessor :payment_method_types
6099
6293
  # Email address that the receipt for the resulting payment will be sent to. If `receipt_email` is specified for a payment in live mode, a receipt will be sent regardless of your [email settings](https://dashboard.stripe.com/account/emails).
6100
6294
  attr_accessor :receipt_email
@@ -6268,8 +6462,7 @@ module Stripe
6268
6462
  class ConfirmParams < Stripe::RequestParams
6269
6463
  class MandateData < Stripe::RequestParams
6270
6464
  class CustomerAcceptance < Stripe::RequestParams
6271
- class Offline < Stripe::RequestParams
6272
- end
6465
+ class Offline < Stripe::RequestParams; end
6273
6466
 
6274
6467
  class Online < Stripe::RequestParams
6275
6468
  # The IP address from which the Mandate was accepted by the customer.
@@ -6322,20 +6515,11 @@ module Stripe
6322
6515
  end
6323
6516
  end
6324
6517
 
6325
- class Affirm < Stripe::RequestParams
6326
- end
6327
-
6328
- class AfterpayClearpay < Stripe::RequestParams
6329
- end
6330
-
6331
- class Alipay < Stripe::RequestParams
6332
- end
6333
-
6334
- class Alma < Stripe::RequestParams
6335
- end
6336
-
6337
- class AmazonPay < Stripe::RequestParams
6338
- end
6518
+ class Affirm < Stripe::RequestParams; end
6519
+ class AfterpayClearpay < Stripe::RequestParams; end
6520
+ class Alipay < Stripe::RequestParams; end
6521
+ class Alma < Stripe::RequestParams; end
6522
+ class AmazonPay < Stripe::RequestParams; end
6339
6523
 
6340
6524
  class AuBecsDebit < Stripe::RequestParams
6341
6525
  # The account number for the bank account.
@@ -6361,11 +6545,8 @@ module Stripe
6361
6545
  end
6362
6546
  end
6363
6547
 
6364
- class Bancontact < Stripe::RequestParams
6365
- end
6366
-
6367
- class Billie < Stripe::RequestParams
6368
- end
6548
+ class Bancontact < Stripe::RequestParams; end
6549
+ class Billie < Stripe::RequestParams; end
6369
6550
 
6370
6551
  class BillingDetails < Stripe::RequestParams
6371
6552
  class Address < Stripe::RequestParams
@@ -6406,17 +6587,19 @@ module Stripe
6406
6587
  attr_accessor :name
6407
6588
  # Billing phone number (including extension).
6408
6589
  attr_accessor :phone
6590
+ # Taxpayer identification number. Used only for transactions between LATAM buyers and non-LATAM sellers.
6591
+ attr_accessor :tax_id
6409
6592
 
6410
- def initialize(address: nil, email: nil, name: nil, phone: nil)
6593
+ def initialize(address: nil, email: nil, name: nil, phone: nil, tax_id: nil)
6411
6594
  @address = address
6412
6595
  @email = email
6413
6596
  @name = name
6414
6597
  @phone = phone
6598
+ @tax_id = tax_id
6415
6599
  end
6416
6600
  end
6417
6601
 
6418
- class Blik < Stripe::RequestParams
6419
- end
6602
+ class Blik < Stripe::RequestParams; end
6420
6603
 
6421
6604
  class Boleto < Stripe::RequestParams
6422
6605
  # The tax ID of the customer (CPF for individual consumers or CNPJ for businesses consumers)
@@ -6427,11 +6610,9 @@ module Stripe
6427
6610
  end
6428
6611
  end
6429
6612
 
6430
- class Cashapp < Stripe::RequestParams
6431
- end
6432
-
6433
- class CustomerBalance < Stripe::RequestParams
6434
- end
6613
+ class Cashapp < Stripe::RequestParams; end
6614
+ class Crypto < Stripe::RequestParams; end
6615
+ class CustomerBalance < Stripe::RequestParams; end
6435
6616
 
6436
6617
  class Eps < Stripe::RequestParams
6437
6618
  # The customer's bank.
@@ -6454,11 +6635,8 @@ module Stripe
6454
6635
  end
6455
6636
  end
6456
6637
 
6457
- class Giropay < Stripe::RequestParams
6458
- end
6459
-
6460
- class Grabpay < Stripe::RequestParams
6461
- end
6638
+ class Giropay < Stripe::RequestParams; end
6639
+ class Grabpay < Stripe::RequestParams; end
6462
6640
 
6463
6641
  class Ideal < Stripe::RequestParams
6464
6642
  # The customer's bank. Only use this parameter for existing customers. Don't use it for new customers.
@@ -6469,11 +6647,8 @@ module Stripe
6469
6647
  end
6470
6648
  end
6471
6649
 
6472
- class InteracPresent < Stripe::RequestParams
6473
- end
6474
-
6475
- class KakaoPay < Stripe::RequestParams
6476
- end
6650
+ class InteracPresent < Stripe::RequestParams; end
6651
+ class KakaoPay < Stripe::RequestParams; end
6477
6652
 
6478
6653
  class Klarna < Stripe::RequestParams
6479
6654
  class Dob < Stripe::RequestParams
@@ -6498,20 +6673,11 @@ module Stripe
6498
6673
  end
6499
6674
  end
6500
6675
 
6501
- class Konbini < Stripe::RequestParams
6502
- end
6503
-
6504
- class KrCard < Stripe::RequestParams
6505
- end
6506
-
6507
- class Link < Stripe::RequestParams
6508
- end
6509
-
6510
- class Mobilepay < Stripe::RequestParams
6511
- end
6512
-
6513
- class Multibanco < Stripe::RequestParams
6514
- end
6676
+ class Konbini < Stripe::RequestParams; end
6677
+ class KrCard < Stripe::RequestParams; end
6678
+ class Link < Stripe::RequestParams; end
6679
+ class Mobilepay < Stripe::RequestParams; end
6680
+ class Multibanco < Stripe::RequestParams; end
6515
6681
 
6516
6682
  class NaverPay < Stripe::RequestParams
6517
6683
  # Whether to use Naver Pay points or a card to fund this transaction. If not provided, this defaults to `card`.
@@ -6553,8 +6719,7 @@ module Stripe
6553
6719
  end
6554
6720
  end
6555
6721
 
6556
- class Oxxo < Stripe::RequestParams
6557
- end
6722
+ class Oxxo < Stripe::RequestParams; end
6558
6723
 
6559
6724
  class P24 < Stripe::RequestParams
6560
6725
  # The customer's bank.
@@ -6565,23 +6730,12 @@ module Stripe
6565
6730
  end
6566
6731
  end
6567
6732
 
6568
- class PayByBank < Stripe::RequestParams
6569
- end
6570
-
6571
- class Payco < Stripe::RequestParams
6572
- end
6573
-
6574
- class Paynow < Stripe::RequestParams
6575
- end
6576
-
6577
- class Paypal < Stripe::RequestParams
6578
- end
6579
-
6580
- class Pix < Stripe::RequestParams
6581
- end
6582
-
6583
- class Promptpay < Stripe::RequestParams
6584
- end
6733
+ class PayByBank < Stripe::RequestParams; end
6734
+ class Payco < Stripe::RequestParams; end
6735
+ class Paynow < Stripe::RequestParams; end
6736
+ class Paypal < Stripe::RequestParams; end
6737
+ class Pix < Stripe::RequestParams; end
6738
+ class Promptpay < Stripe::RequestParams; end
6585
6739
 
6586
6740
  class RadarOptions < Stripe::RequestParams
6587
6741
  # A [Radar Session](https://stripe.com/docs/radar/radar-session) is a snapshot of the browser metadata and device details that help Radar make more accurate predictions on your payments.
@@ -6592,14 +6746,9 @@ module Stripe
6592
6746
  end
6593
6747
  end
6594
6748
 
6595
- class RevolutPay < Stripe::RequestParams
6596
- end
6597
-
6598
- class SamsungPay < Stripe::RequestParams
6599
- end
6600
-
6601
- class Satispay < Stripe::RequestParams
6602
- end
6749
+ class RevolutPay < Stripe::RequestParams; end
6750
+ class SamsungPay < Stripe::RequestParams; end
6751
+ class Satispay < Stripe::RequestParams; end
6603
6752
 
6604
6753
  class SepaDebit < Stripe::RequestParams
6605
6754
  # IBAN of the bank account.
@@ -6619,11 +6768,8 @@ module Stripe
6619
6768
  end
6620
6769
  end
6621
6770
 
6622
- class Swish < Stripe::RequestParams
6623
- end
6624
-
6625
- class Twint < Stripe::RequestParams
6626
- end
6771
+ class Swish < Stripe::RequestParams; end
6772
+ class Twint < Stripe::RequestParams; end
6627
6773
 
6628
6774
  class UsBankAccount < Stripe::RequestParams
6629
6775
  # Account holder type: individual or company.
@@ -6652,11 +6798,8 @@ module Stripe
6652
6798
  end
6653
6799
  end
6654
6800
 
6655
- class WechatPay < Stripe::RequestParams
6656
- end
6657
-
6658
- class Zip < Stripe::RequestParams
6659
- end
6801
+ class WechatPay < Stripe::RequestParams; end
6802
+ class Zip < Stripe::RequestParams; end
6660
6803
  # If this is an `acss_debit` PaymentMethod, this hash contains details about the ACSS Debit payment method.
6661
6804
  attr_accessor :acss_debit
6662
6805
  # If this is an `affirm` PaymentMethod, this hash contains details about the Affirm payment method.
@@ -6677,7 +6820,7 @@ module Stripe
6677
6820
  attr_accessor :bacs_debit
6678
6821
  # If this is a `bancontact` PaymentMethod, this hash contains details about the Bancontact payment method.
6679
6822
  attr_accessor :bancontact
6680
- # If this is a `billie` PaymentMethod, this hash contains details about the billie payment method.
6823
+ # If this is a `billie` PaymentMethod, this hash contains details about the Billie payment method.
6681
6824
  attr_accessor :billie
6682
6825
  # Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods.
6683
6826
  attr_accessor :billing_details
@@ -6687,6 +6830,8 @@ module Stripe
6687
6830
  attr_accessor :boleto
6688
6831
  # If this is a `cashapp` PaymentMethod, this hash contains details about the Cash App Pay payment method.
6689
6832
  attr_accessor :cashapp
6833
+ # If this is a Crypto PaymentMethod, this hash contains details about the Crypto payment method.
6834
+ attr_accessor :crypto
6690
6835
  # If this is a `customer_balance` PaymentMethod, this hash contains details about the CustomerBalance payment method.
6691
6836
  attr_accessor :customer_balance
6692
6837
  # If this is an `eps` PaymentMethod, this hash contains details about the EPS payment method.
@@ -6739,11 +6884,11 @@ module Stripe
6739
6884
  attr_accessor :promptpay
6740
6885
  # Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information.
6741
6886
  attr_accessor :radar_options
6742
- # If this is a `Revolut Pay` PaymentMethod, this hash contains details about the Revolut Pay payment method.
6887
+ # If this is a `revolut_pay` PaymentMethod, this hash contains details about the Revolut Pay payment method.
6743
6888
  attr_accessor :revolut_pay
6744
6889
  # If this is a `samsung_pay` PaymentMethod, this hash contains details about the SamsungPay payment method.
6745
6890
  attr_accessor :samsung_pay
6746
- # If this is a `satispay` PaymentMethod, this hash contains details about the satispay payment method.
6891
+ # If this is a `satispay` PaymentMethod, this hash contains details about the Satispay payment method.
6747
6892
  attr_accessor :satispay
6748
6893
  # If this is a `sepa_debit` PaymentMethod, this hash contains details about the SEPA debit bank account.
6749
6894
  attr_accessor :sepa_debit
@@ -6778,6 +6923,7 @@ module Stripe
6778
6923
  blik: nil,
6779
6924
  boleto: nil,
6780
6925
  cashapp: nil,
6926
+ crypto: nil,
6781
6927
  customer_balance: nil,
6782
6928
  eps: nil,
6783
6929
  fpx: nil,
@@ -6831,6 +6977,7 @@ module Stripe
6831
6977
  @blik = blik
6832
6978
  @boleto = boleto
6833
6979
  @cashapp = cashapp
6980
+ @crypto = crypto
6834
6981
  @customer_balance = customer_balance
6835
6982
  @eps = eps
6836
6983
  @fpx = fpx
@@ -7105,6 +7252,19 @@ module Stripe
7105
7252
  end
7106
7253
  end
7107
7254
 
7255
+ class Billie < Stripe::RequestParams
7256
+ # Controls when the funds are captured from the customer's account.
7257
+ #
7258
+ # If provided, this parameter overrides the behavior of the top-level [capture_method](/api/payment_intents/update#update_payment_intent-capture_method) for this payment method type when finalizing the payment with this payment method type.
7259
+ #
7260
+ # If `capture_method` is already set on the PaymentIntent, providing an empty value for this parameter unsets the stored value for this payment method type.
7261
+ attr_accessor :capture_method
7262
+
7263
+ def initialize(capture_method: nil)
7264
+ @capture_method = capture_method
7265
+ end
7266
+ end
7267
+
7108
7268
  class Blik < Stripe::RequestParams
7109
7269
  # The 6-digit BLIK code that a customer has generated using their banking application. Can only be set on confirmation.
7110
7270
  attr_accessor :code
@@ -7153,7 +7313,7 @@ module Stripe
7153
7313
  # For `fixed_count` installment plans, this is required. It represents the interval between installment payments your customer will make to their credit card.
7154
7314
  # One of `month`.
7155
7315
  attr_accessor :interval
7156
- # Type of installment plan, one of `fixed_count`.
7316
+ # Type of installment plan, one of `fixed_count`, `bonus`, or `revolving`.
7157
7317
  attr_accessor :type
7158
7318
 
7159
7319
  def initialize(count: nil, interval: nil, type: nil)
@@ -7431,6 +7591,23 @@ module Stripe
7431
7591
  end
7432
7592
  end
7433
7593
 
7594
+ class Crypto < Stripe::RequestParams
7595
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
7596
+ #
7597
+ # 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.
7598
+ #
7599
+ # 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.
7600
+ #
7601
+ # 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).
7602
+ #
7603
+ # If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`.
7604
+ attr_accessor :setup_future_usage
7605
+
7606
+ def initialize(setup_future_usage: nil)
7607
+ @setup_future_usage = setup_future_usage
7608
+ end
7609
+ end
7610
+
7434
7611
  class CustomerBalance < Stripe::RequestParams
7435
7612
  class BankTransfer < Stripe::RequestParams
7436
7613
  class EuBankTransfer < Stripe::RequestParams
@@ -7563,8 +7740,7 @@ module Stripe
7563
7740
  end
7564
7741
  end
7565
7742
 
7566
- class InteracPresent < Stripe::RequestParams
7567
- end
7743
+ class InteracPresent < Stripe::RequestParams; end
7568
7744
 
7569
7745
  class KakaoPay < Stripe::RequestParams
7570
7746
  # Controls when the funds are captured from the customer's account.
@@ -7589,12 +7765,78 @@ module Stripe
7589
7765
  end
7590
7766
 
7591
7767
  class Klarna < Stripe::RequestParams
7768
+ class OnDemand < Stripe::RequestParams
7769
+ # Your average amount value. You can use a value across your customer base, or segment based on customer type, country, etc.
7770
+ attr_accessor :average_amount
7771
+ # 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.
7772
+ attr_accessor :maximum_amount
7773
+ # 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.
7774
+ attr_accessor :minimum_amount
7775
+ # Interval at which the customer is making purchases
7776
+ attr_accessor :purchase_interval
7777
+ # The number of `purchase_interval` between charges
7778
+ attr_accessor :purchase_interval_count
7779
+
7780
+ def initialize(
7781
+ average_amount: nil,
7782
+ maximum_amount: nil,
7783
+ minimum_amount: nil,
7784
+ purchase_interval: nil,
7785
+ purchase_interval_count: nil
7786
+ )
7787
+ @average_amount = average_amount
7788
+ @maximum_amount = maximum_amount
7789
+ @minimum_amount = minimum_amount
7790
+ @purchase_interval = purchase_interval
7791
+ @purchase_interval_count = purchase_interval_count
7792
+ end
7793
+ end
7794
+
7795
+ class Subscription < Stripe::RequestParams
7796
+ class NextBilling < Stripe::RequestParams
7797
+ # The amount of the next charge for the subscription.
7798
+ attr_accessor :amount
7799
+ # The date of the next charge for the subscription in YYYY-MM-DD format.
7800
+ attr_accessor :date
7801
+
7802
+ def initialize(amount: nil, date: nil)
7803
+ @amount = amount
7804
+ @date = date
7805
+ end
7806
+ end
7807
+ # Unit of time between subscription charges.
7808
+ attr_accessor :interval
7809
+ # The number of intervals (specified in the `interval` attribute) between subscription charges. For example, `interval=month` and `interval_count=3` charges every 3 months.
7810
+ attr_accessor :interval_count
7811
+ # Name for subscription.
7812
+ attr_accessor :name
7813
+ # Describes the upcoming charge for this subscription.
7814
+ attr_accessor :next_billing
7815
+ # A non-customer-facing reference to correlate subscription charges in the Klarna app. Use a value that persists across subscription charges.
7816
+ attr_accessor :reference
7817
+
7818
+ def initialize(
7819
+ interval: nil,
7820
+ interval_count: nil,
7821
+ name: nil,
7822
+ next_billing: nil,
7823
+ reference: nil
7824
+ )
7825
+ @interval = interval
7826
+ @interval_count = interval_count
7827
+ @name = name
7828
+ @next_billing = next_billing
7829
+ @reference = reference
7830
+ end
7831
+ end
7592
7832
  # Controls when the funds are captured from the customer's account.
7593
7833
  #
7594
7834
  # If provided, this parameter overrides the behavior of the top-level [capture_method](/api/payment_intents/update#update_payment_intent-capture_method) for this payment method type when finalizing the payment with this payment method type.
7595
7835
  #
7596
7836
  # If `capture_method` is already set on the PaymentIntent, providing an empty value for this parameter unsets the stored value for this payment method type.
7597
7837
  attr_accessor :capture_method
7838
+ # On-demand details if setting up or charging an on-demand payment.
7839
+ attr_accessor :on_demand
7598
7840
  # Preferred language of the Klarna authorization page that the customer is redirected to
7599
7841
  attr_accessor :preferred_locale
7600
7842
  # Indicates that you intend to make future payments with this PaymentIntent's payment method.
@@ -7607,11 +7849,21 @@ module Stripe
7607
7849
  #
7608
7850
  # If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`.
7609
7851
  attr_accessor :setup_future_usage
7852
+ # Subscription details if setting up or charging a subscription.
7853
+ attr_accessor :subscriptions
7610
7854
 
7611
- def initialize(capture_method: nil, preferred_locale: nil, setup_future_usage: nil)
7855
+ def initialize(
7856
+ capture_method: nil,
7857
+ on_demand: nil,
7858
+ preferred_locale: nil,
7859
+ setup_future_usage: nil,
7860
+ subscriptions: nil
7861
+ )
7612
7862
  @capture_method = capture_method
7863
+ @on_demand = on_demand
7613
7864
  @preferred_locale = preferred_locale
7614
7865
  @setup_future_usage = setup_future_usage
7866
+ @subscriptions = subscriptions
7615
7867
  end
7616
7868
  end
7617
7869
 
@@ -7822,8 +8074,7 @@ module Stripe
7822
8074
  end
7823
8075
  end
7824
8076
 
7825
- class PayByBank < Stripe::RequestParams
7826
- end
8077
+ class PayByBank < Stripe::RequestParams; end
7827
8078
 
7828
8079
  class Payco < Stripe::RequestParams
7829
8080
  # Controls when the funds are captured from the customer's account.
@@ -7965,6 +8216,19 @@ module Stripe
7965
8216
  end
7966
8217
  end
7967
8218
 
8219
+ class Satispay < Stripe::RequestParams
8220
+ # Controls when the funds are captured from the customer's account.
8221
+ #
8222
+ # If provided, this parameter overrides the behavior of the top-level [capture_method](/api/payment_intents/update#update_payment_intent-capture_method) for this payment method type when finalizing the payment with this payment method type.
8223
+ #
8224
+ # If `capture_method` is already set on the PaymentIntent, providing an empty value for this parameter unsets the stored value for this payment method type.
8225
+ attr_accessor :capture_method
8226
+
8227
+ def initialize(capture_method: nil)
8228
+ @capture_method = capture_method
8229
+ end
8230
+ end
8231
+
7968
8232
  class SepaDebit < Stripe::RequestParams
7969
8233
  class MandateOptions < Stripe::RequestParams
7970
8234
  # Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'STRIPE'.
@@ -8196,6 +8460,8 @@ module Stripe
8196
8460
  attr_accessor :bacs_debit
8197
8461
  # If this is a `bancontact` PaymentMethod, this sub-hash contains details about the Bancontact payment method options.
8198
8462
  attr_accessor :bancontact
8463
+ # If this is a `billie` PaymentMethod, this sub-hash contains details about the Billie payment method options.
8464
+ attr_accessor :billie
8199
8465
  # If this is a `blik` PaymentMethod, this sub-hash contains details about the BLIK payment method options.
8200
8466
  attr_accessor :blik
8201
8467
  # If this is a `boleto` PaymentMethod, this sub-hash contains details about the Boleto payment method options.
@@ -8206,6 +8472,8 @@ module Stripe
8206
8472
  attr_accessor :card_present
8207
8473
  # If this is a `cashapp` PaymentMethod, this sub-hash contains details about the Cash App Pay payment method options.
8208
8474
  attr_accessor :cashapp
8475
+ # If this is a `crypto` PaymentMethod, this sub-hash contains details about the Crypto payment method options.
8476
+ attr_accessor :crypto
8209
8477
  # If this is a `customer balance` PaymentMethod, this sub-hash contains details about the customer balance payment method options.
8210
8478
  attr_accessor :customer_balance
8211
8479
  # If this is a `eps` PaymentMethod, this sub-hash contains details about the EPS payment method options.
@@ -8258,6 +8526,8 @@ module Stripe
8258
8526
  attr_accessor :revolut_pay
8259
8527
  # If this is a `samsung_pay` PaymentMethod, this sub-hash contains details about the Samsung Pay payment method options.
8260
8528
  attr_accessor :samsung_pay
8529
+ # If this is a `satispay` PaymentMethod, this sub-hash contains details about the Satispay payment method options.
8530
+ attr_accessor :satispay
8261
8531
  # If this is a `sepa_debit` PaymentIntent, this sub-hash contains details about the SEPA Debit payment method options.
8262
8532
  attr_accessor :sepa_debit
8263
8533
  # If this is a `sofort` PaymentMethod, this sub-hash contains details about the SOFORT payment method options.
@@ -8283,11 +8553,13 @@ module Stripe
8283
8553
  au_becs_debit: nil,
8284
8554
  bacs_debit: nil,
8285
8555
  bancontact: nil,
8556
+ billie: nil,
8286
8557
  blik: nil,
8287
8558
  boleto: nil,
8288
8559
  card: nil,
8289
8560
  card_present: nil,
8290
8561
  cashapp: nil,
8562
+ crypto: nil,
8291
8563
  customer_balance: nil,
8292
8564
  eps: nil,
8293
8565
  fpx: nil,
@@ -8314,6 +8586,7 @@ module Stripe
8314
8586
  promptpay: nil,
8315
8587
  revolut_pay: nil,
8316
8588
  samsung_pay: nil,
8589
+ satispay: nil,
8317
8590
  sepa_debit: nil,
8318
8591
  sofort: nil,
8319
8592
  swish: nil,
@@ -8331,11 +8604,13 @@ module Stripe
8331
8604
  @au_becs_debit = au_becs_debit
8332
8605
  @bacs_debit = bacs_debit
8333
8606
  @bancontact = bancontact
8607
+ @billie = billie
8334
8608
  @blik = blik
8335
8609
  @boleto = boleto
8336
8610
  @card = card
8337
8611
  @card_present = card_present
8338
8612
  @cashapp = cashapp
8613
+ @crypto = crypto
8339
8614
  @customer_balance = customer_balance
8340
8615
  @eps = eps
8341
8616
  @fpx = fpx
@@ -8362,6 +8637,7 @@ module Stripe
8362
8637
  @promptpay = promptpay
8363
8638
  @revolut_pay = revolut_pay
8364
8639
  @samsung_pay = samsung_pay
8640
+ @satispay = satispay
8365
8641
  @sepa_debit = sepa_debit
8366
8642
  @sofort = sofort
8367
8643
  @swish = swish
@@ -8448,6 +8724,7 @@ module Stripe
8448
8724
  # Set to `true` to indicate that the customer isn't in your checkout flow during this payment attempt and can't authenticate. Use this parameter in scenarios where you collect card details and [charge them later](https://stripe.com/docs/payments/cards/charging-saved-cards).
8449
8725
  attr_accessor :off_session
8450
8726
  # ID of the payment method (a PaymentMethod, Card, or [compatible Source](https://stripe.com/docs/payments/payment-methods/transitioning#compatibility) object) to attach to this PaymentIntent.
8727
+ # If the payment method is attached to a Customer, it must match the [customer](https://stripe.com/docs/api#create_payment_intent-customer) that is set on this PaymentIntent.
8451
8728
  attr_accessor :payment_method
8452
8729
  # If provided, this hash will be used to create a PaymentMethod. The new PaymentMethod will appear
8453
8730
  # in the [payment_method](https://stripe.com/docs/api/payment_intents/object#payment_intent_object-payment_method)
@@ -8455,7 +8732,7 @@ module Stripe
8455
8732
  attr_accessor :payment_method_data
8456
8733
  # Payment method-specific configuration for this PaymentIntent.
8457
8734
  attr_accessor :payment_method_options
8458
- # The list of payment method types (for example, a card) that this PaymentIntent can use. Use `automatic_payment_methods` to manage payment methods from the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods).
8735
+ # The list of payment method types (for example, a card) that this PaymentIntent can use. Use `automatic_payment_methods` to manage payment methods from the [Stripe Dashboard](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).
8459
8736
  attr_accessor :payment_method_types
8460
8737
  # Options to configure Radar. Learn more about [Radar Sessions](https://stripe.com/docs/radar/radar-session).
8461
8738
  attr_accessor :radar_options
@@ -8694,11 +8971,11 @@ module Stripe
8694
8971
  )
8695
8972
  end
8696
8973
 
8697
- # You can cancel a PaymentIntent object when it's in one of these statuses: requires_payment_method, requires_capture, requires_confirmation, requires_action or, [in rare cases](https://stripe.com/docs/payments/intents), processing.
8974
+ # You can cancel a PaymentIntent object when it's in one of these statuses: requires_payment_method, requires_capture, requires_confirmation, requires_action or, [in rare cases](https://docs.stripe.com/docs/payments/intents), processing.
8698
8975
  #
8699
8976
  # After it's canceled, no additional charges are made by the PaymentIntent and any operations on the PaymentIntent fail with an error. For PaymentIntents with a status of requires_capture, the remaining amount_capturable is automatically refunded.
8700
8977
  #
8701
- # You can't cancel the PaymentIntent for a Checkout Session. [Expire the Checkout Session](https://stripe.com/docs/api/checkout/sessions/expire) instead.
8978
+ # You can't cancel the PaymentIntent for a Checkout Session. [Expire the Checkout Session](https://docs.stripe.com/docs/api/checkout/sessions/expire) instead.
8702
8979
  def cancel(params = {}, opts = {})
8703
8980
  request_stripe_object(
8704
8981
  method: :post,
@@ -8708,11 +8985,11 @@ module Stripe
8708
8985
  )
8709
8986
  end
8710
8987
 
8711
- # You can cancel a PaymentIntent object when it's in one of these statuses: requires_payment_method, requires_capture, requires_confirmation, requires_action or, [in rare cases](https://stripe.com/docs/payments/intents), processing.
8988
+ # You can cancel a PaymentIntent object when it's in one of these statuses: requires_payment_method, requires_capture, requires_confirmation, requires_action or, [in rare cases](https://docs.stripe.com/docs/payments/intents), processing.
8712
8989
  #
8713
8990
  # After it's canceled, no additional charges are made by the PaymentIntent and any operations on the PaymentIntent fail with an error. For PaymentIntents with a status of requires_capture, the remaining amount_capturable is automatically refunded.
8714
8991
  #
8715
- # You can't cancel the PaymentIntent for a Checkout Session. [Expire the Checkout Session](https://stripe.com/docs/api/checkout/sessions/expire) instead.
8992
+ # You can't cancel the PaymentIntent for a Checkout Session. [Expire the Checkout Session](https://docs.stripe.com/docs/api/checkout/sessions/expire) instead.
8716
8993
  def self.cancel(intent, params = {}, opts = {})
8717
8994
  request_stripe_object(
8718
8995
  method: :post,
@@ -8726,7 +9003,7 @@ module Stripe
8726
9003
  #
8727
9004
  # Uncaptured PaymentIntents are cancelled a set number of days (7 by default) after their creation.
8728
9005
  #
8729
- # Learn more about [separate authorization and capture](https://stripe.com/docs/payments/capture-later).
9006
+ # Learn more about [separate authorization and capture](https://docs.stripe.com/docs/payments/capture-later).
8730
9007
  def capture(params = {}, opts = {})
8731
9008
  request_stripe_object(
8732
9009
  method: :post,
@@ -8740,7 +9017,7 @@ module Stripe
8740
9017
  #
8741
9018
  # Uncaptured PaymentIntents are cancelled a set number of days (7 by default) after their creation.
8742
9019
  #
8743
- # Learn more about [separate authorization and capture](https://stripe.com/docs/payments/capture-later).
9020
+ # Learn more about [separate authorization and capture](https://docs.stripe.com/docs/payments/capture-later).
8744
9021
  def self.capture(intent, params = {}, opts = {})
8745
9022
  request_stripe_object(
8746
9023
  method: :post,
@@ -8761,8 +9038,8 @@ module Stripe
8761
9038
  # payment succeeds, the PaymentIntent will transition to the succeeded
8762
9039
  # status (or requires_capture, if capture_method is set to manual).
8763
9040
  # If the confirmation_method is automatic, payment may be attempted
8764
- # using our [client SDKs](https://stripe.com/docs/stripe-js/reference#stripe-handle-card-payment)
8765
- # and the PaymentIntent's [client_secret](https://stripe.com/docs/api#payment_intent_object-client_secret).
9041
+ # using our [client SDKs](https://docs.stripe.com/docs/stripe-js/reference#stripe-handle-card-payment)
9042
+ # and the PaymentIntent's [client_secret](https://docs.stripe.com/api#payment_intent_object-client_secret).
8766
9043
  # After next_actions are handled by the client, no additional
8767
9044
  # confirmation is required to complete the payment.
8768
9045
  # If the confirmation_method is manual, all payment attempts must be
@@ -8795,8 +9072,8 @@ module Stripe
8795
9072
  # payment succeeds, the PaymentIntent will transition to the succeeded
8796
9073
  # status (or requires_capture, if capture_method is set to manual).
8797
9074
  # If the confirmation_method is automatic, payment may be attempted
8798
- # using our [client SDKs](https://stripe.com/docs/stripe-js/reference#stripe-handle-card-payment)
8799
- # and the PaymentIntent's [client_secret](https://stripe.com/docs/api#payment_intent_object-client_secret).
9075
+ # using our [client SDKs](https://docs.stripe.com/docs/stripe-js/reference#stripe-handle-card-payment)
9076
+ # and the PaymentIntent's [client_secret](https://docs.stripe.com/api#payment_intent_object-client_secret).
8800
9077
  # After next_actions are handled by the client, no additional
8801
9078
  # confirmation is required to complete the payment.
8802
9079
  # If the confirmation_method is manual, all payment attempts must be
@@ -8820,22 +9097,22 @@ module Stripe
8820
9097
 
8821
9098
  # Creates a PaymentIntent object.
8822
9099
  #
8823
- # After the PaymentIntent is created, attach a payment method and [confirm](https://stripe.com/docs/api/payment_intents/confirm)
9100
+ # After the PaymentIntent is created, attach a payment method and [confirm](https://docs.stripe.com/docs/api/payment_intents/confirm)
8824
9101
  # to continue the payment. Learn more about <a href="/docs/payments/payment-intents">the available payment flows
8825
9102
  # with the Payment Intents API.
8826
9103
  #
8827
9104
  # When you use confirm=true during creation, it's equivalent to creating
8828
9105
  # and confirming the PaymentIntent in the same call. You can use any parameters
8829
- # available in the [confirm API](https://stripe.com/docs/api/payment_intents/confirm) when you supply
9106
+ # available in the [confirm API](https://docs.stripe.com/docs/api/payment_intents/confirm) when you supply
8830
9107
  # confirm=true.
8831
9108
  def self.create(params = {}, opts = {})
8832
9109
  request_stripe_object(method: :post, path: "/v1/payment_intents", params: params, opts: opts)
8833
9110
  end
8834
9111
 
8835
9112
  # Perform an incremental authorization on an eligible
8836
- # [PaymentIntent](https://stripe.com/docs/api/payment_intents/object). To be eligible, the
9113
+ # [PaymentIntent](https://docs.stripe.com/docs/api/payment_intents/object). To be eligible, the
8837
9114
  # PaymentIntent's status must be requires_capture and
8838
- # [incremental_authorization_supported](https://stripe.com/docs/api/charges/object#charge_object-payment_method_details-card_present-incremental_authorization_supported)
9115
+ # [incremental_authorization_supported](https://docs.stripe.com/docs/api/charges/object#charge_object-payment_method_details-card_present-incremental_authorization_supported)
8839
9116
  # must be true.
8840
9117
  #
8841
9118
  # Incremental authorizations attempt to increase the authorized amount on
@@ -8846,16 +9123,16 @@ module Stripe
8846
9123
  #
8847
9124
  # If the incremental authorization succeeds, the PaymentIntent object
8848
9125
  # returns with the updated
8849
- # [amount](https://stripe.com/docs/api/payment_intents/object#payment_intent_object-amount).
9126
+ # [amount](https://docs.stripe.com/docs/api/payment_intents/object#payment_intent_object-amount).
8850
9127
  # If the incremental authorization fails, a
8851
- # [card_declined](https://stripe.com/docs/error-codes#card-declined) error returns, and no other
9128
+ # [card_declined](https://docs.stripe.com/docs/error-codes#card-declined) error returns, and no other
8852
9129
  # fields on the PaymentIntent or Charge update. The PaymentIntent
8853
9130
  # object remains capturable for the previously authorized amount.
8854
9131
  #
8855
9132
  # Each PaymentIntent can have a maximum of 10 incremental authorization attempts, including declines.
8856
9133
  # After it's captured, a PaymentIntent can no longer be incremented.
8857
9134
  #
8858
- # Learn more about [incremental authorizations](https://stripe.com/docs/terminal/features/incremental-authorizations).
9135
+ # Learn more about [incremental authorizations](https://docs.stripe.com/docs/terminal/features/incremental-authorizations).
8859
9136
  def increment_authorization(params = {}, opts = {})
8860
9137
  request_stripe_object(
8861
9138
  method: :post,
@@ -8866,9 +9143,9 @@ module Stripe
8866
9143
  end
8867
9144
 
8868
9145
  # Perform an incremental authorization on an eligible
8869
- # [PaymentIntent](https://stripe.com/docs/api/payment_intents/object). To be eligible, the
9146
+ # [PaymentIntent](https://docs.stripe.com/docs/api/payment_intents/object). To be eligible, the
8870
9147
  # PaymentIntent's status must be requires_capture and
8871
- # [incremental_authorization_supported](https://stripe.com/docs/api/charges/object#charge_object-payment_method_details-card_present-incremental_authorization_supported)
9148
+ # [incremental_authorization_supported](https://docs.stripe.com/docs/api/charges/object#charge_object-payment_method_details-card_present-incremental_authorization_supported)
8872
9149
  # must be true.
8873
9150
  #
8874
9151
  # Incremental authorizations attempt to increase the authorized amount on
@@ -8879,16 +9156,16 @@ module Stripe
8879
9156
  #
8880
9157
  # If the incremental authorization succeeds, the PaymentIntent object
8881
9158
  # returns with the updated
8882
- # [amount](https://stripe.com/docs/api/payment_intents/object#payment_intent_object-amount).
9159
+ # [amount](https://docs.stripe.com/docs/api/payment_intents/object#payment_intent_object-amount).
8883
9160
  # If the incremental authorization fails, a
8884
- # [card_declined](https://stripe.com/docs/error-codes#card-declined) error returns, and no other
9161
+ # [card_declined](https://docs.stripe.com/docs/error-codes#card-declined) error returns, and no other
8885
9162
  # fields on the PaymentIntent or Charge update. The PaymentIntent
8886
9163
  # object remains capturable for the previously authorized amount.
8887
9164
  #
8888
9165
  # Each PaymentIntent can have a maximum of 10 incremental authorization attempts, including declines.
8889
9166
  # After it's captured, a PaymentIntent can no longer be incremented.
8890
9167
  #
8891
- # Learn more about [incremental authorizations](https://stripe.com/docs/terminal/features/incremental-authorizations).
9168
+ # Learn more about [incremental authorizations](https://docs.stripe.com/docs/terminal/features/incremental-authorizations).
8892
9169
  def self.increment_authorization(intent, params = {}, opts = {})
8893
9170
  request_stripe_object(
8894
9171
  method: :post,
@@ -8922,7 +9199,7 @@ module Stripe
8922
9199
  # PaymentIntent again. For example, updating the payment_method
8923
9200
  # always requires you to confirm the PaymentIntent again. If you prefer to
8924
9201
  # update and confirm at the same time, we recommend updating properties through
8925
- # the [confirm API](https://stripe.com/docs/api/payment_intents/confirm) instead.
9202
+ # the [confirm API](https://docs.stripe.com/docs/api/payment_intents/confirm) instead.
8926
9203
  def self.update(intent, params = {}, opts = {})
8927
9204
  request_stripe_object(
8928
9205
  method: :post,