stripe 15.2.0.pre.beta.1 → 15.2.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 (648) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +718 -1556
  3. data/CONTRIBUTING.md +25 -0
  4. data/OPENAPI_VERSION +1 -1
  5. data/README.md +10 -7
  6. data/VERSION +1 -1
  7. data/lib/stripe/api_requestor.rb +0 -28
  8. data/lib/stripe/api_version.rb +1 -1
  9. data/lib/stripe/errors.rb +0 -54
  10. data/lib/stripe/event_types.rb +0 -89
  11. data/lib/stripe/object_types.rb +0 -52
  12. data/lib/stripe/resources/account.rb +32 -657
  13. data/lib/stripe/resources/account_session.rb +59 -253
  14. data/lib/stripe/resources/apple_pay_domain.rb +1 -2
  15. data/lib/stripe/resources/balance.rb +42 -0
  16. data/lib/stripe/resources/balance_transaction.rb +2 -0
  17. data/lib/stripe/resources/bank_account.rb +2 -2
  18. data/lib/stripe/resources/billing/credit_balance_summary.rb +0 -2
  19. data/lib/stripe/resources/billing/credit_balance_transaction.rb +0 -4
  20. data/lib/stripe/resources/billing/credit_grant.rb +0 -10
  21. data/lib/stripe/resources/billing_portal/session.rb +1 -7
  22. data/lib/stripe/resources/capability.rb +1 -1
  23. data/lib/stripe/resources/card.rb +0 -2
  24. data/lib/stripe/resources/cash_balance.rb +0 -2
  25. data/lib/stripe/resources/charge.rb +13 -1475
  26. data/lib/stripe/resources/checkout/session.rb +21 -333
  27. data/lib/stripe/resources/confirmation_token.rb +33 -263
  28. data/lib/stripe/resources/country_spec.rb +1 -1
  29. data/lib/stripe/resources/coupon.rb +2 -32
  30. data/lib/stripe/resources/credit_note.rb +10 -17
  31. data/lib/stripe/resources/credit_note_line_item.rb +0 -9
  32. data/lib/stripe/resources/customer.rb +2 -6
  33. data/lib/stripe/resources/customer_balance_transaction.rb +0 -2
  34. data/lib/stripe/resources/customer_cash_balance_transaction.rb +0 -2
  35. data/lib/stripe/resources/customer_session.rb +4 -9
  36. data/lib/stripe/resources/discount.rb +0 -2
  37. data/lib/stripe/resources/dispute.rb +2 -2
  38. data/lib/stripe/resources/event.rb +1 -32
  39. data/lib/stripe/resources/file.rb +1 -1
  40. data/lib/stripe/resources/financial_connections/account.rb +1 -20
  41. data/lib/stripe/resources/financial_connections/session.rb +2 -62
  42. data/lib/stripe/resources/identity/verification_report.rb +6 -0
  43. data/lib/stripe/resources/identity/verification_session.rb +17 -21
  44. data/lib/stripe/resources/invoice.rb +79 -1106
  45. data/lib/stripe/resources/invoice_item.rb +4 -81
  46. data/lib/stripe/resources/invoice_line_item.rb +2 -56
  47. data/lib/stripe/resources/invoice_payment.rb +62 -4
  48. data/lib/stripe/resources/issuing/authorization.rb +8 -8
  49. data/lib/stripe/resources/issuing/card.rb +1 -1
  50. data/lib/stripe/resources/issuing/cardholder.rb +1 -2
  51. data/lib/stripe/resources/issuing/dispute.rb +3 -3
  52. data/lib/stripe/resources/issuing/transaction.rb +0 -6
  53. data/lib/stripe/resources/line_item.rb +0 -37
  54. data/lib/stripe/resources/mandate.rb +0 -24
  55. data/lib/stripe/resources/payment_intent.rb +1912 -6840
  56. data/lib/stripe/resources/payment_method.rb +47 -301
  57. data/lib/stripe/resources/payment_method_configuration.rb +112 -112
  58. data/lib/stripe/resources/payment_method_domain.rb +2 -2
  59. data/lib/stripe/resources/payout.rb +4 -10
  60. data/lib/stripe/resources/person.rb +2 -2
  61. data/lib/stripe/resources/plan.rb +2 -3
  62. data/lib/stripe/resources/price.rb +1 -31
  63. data/lib/stripe/resources/product.rb +1 -61
  64. data/lib/stripe/resources/promotion_code.rb +0 -10
  65. data/lib/stripe/resources/quote.rb +6 -2046
  66. data/lib/stripe/resources/radar/value_list.rb +1 -2
  67. data/lib/stripe/resources/radar/value_list_item.rb +1 -2
  68. data/lib/stripe/resources/refund.rb +6 -10
  69. data/lib/stripe/resources/reversal.rb +1 -1
  70. data/lib/stripe/resources/review.rb +1 -1
  71. data/lib/stripe/resources/setup_attempt.rb +0 -21
  72. data/lib/stripe/resources/setup_intent.rb +120 -877
  73. data/lib/stripe/resources/source.rb +1 -30
  74. data/lib/stripe/resources/subscription.rb +97 -326
  75. data/lib/stripe/resources/subscription_item.rb +32 -80
  76. data/lib/stripe/resources/subscription_schedule.rb +127 -1015
  77. data/lib/stripe/resources/tax/calculation.rb +4 -0
  78. data/lib/stripe/resources/tax/calculation_line_item.rb +2 -0
  79. data/lib/stripe/resources/tax/registration.rb +1 -1
  80. data/lib/stripe/resources/tax_id.rb +3 -14
  81. data/lib/stripe/resources/tax_rate.rb +2 -2
  82. data/lib/stripe/resources/terminal/configuration.rb +1 -2
  83. data/lib/stripe/resources/terminal/location.rb +2 -3
  84. data/lib/stripe/resources/terminal/reader.rb +8 -142
  85. data/lib/stripe/resources/test_helpers/test_clock.rb +1 -2
  86. data/lib/stripe/resources/token.rb +2 -2
  87. data/lib/stripe/resources/transfer.rb +1 -7
  88. data/lib/stripe/resources/treasury/financial_account.rb +3 -22
  89. data/lib/stripe/resources/treasury/financial_account_features.rb +0 -2
  90. data/lib/stripe/resources/treasury/outbound_transfer.rb +0 -37
  91. data/lib/stripe/resources/treasury/received_credit.rb +1 -38
  92. data/lib/stripe/resources/treasury/received_debit.rb +1 -40
  93. data/lib/stripe/resources/webhook_endpoint.rb +1 -2
  94. data/lib/stripe/resources.rb +0 -99
  95. data/lib/stripe/services/account_external_account_service.rb +2 -3
  96. data/lib/stripe/services/account_login_link_service.rb +1 -1
  97. data/lib/stripe/services/account_person_service.rb +1 -2
  98. data/lib/stripe/services/account_service.rb +23 -559
  99. data/lib/stripe/services/account_session_service.rb +29 -229
  100. data/lib/stripe/services/apple_pay_domain_service.rb +1 -2
  101. data/lib/stripe/services/balance_service.rb +1 -1
  102. data/lib/stripe/services/billing/credit_balance_summary_service.rb +1 -4
  103. data/lib/stripe/services/billing/credit_balance_transaction_service.rb +0 -4
  104. data/lib/stripe/services/billing/credit_grant_service.rb +0 -8
  105. data/lib/stripe/services/billing_portal/session_service.rb +0 -4
  106. data/lib/stripe/services/charge_service.rb +4 -1354
  107. data/lib/stripe/services/checkout/session_service.rb +13 -250
  108. data/lib/stripe/services/coupon_service.rb +2 -19
  109. data/lib/stripe/services/credit_note_service.rb +7 -12
  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_source_service.rb +1 -1
  113. data/lib/stripe/services/customer_service.rb +3 -5
  114. data/lib/stripe/services/customer_session_service.rb +1 -4
  115. data/lib/stripe/services/customer_tax_id_service.rb +1 -2
  116. data/lib/stripe/services/dispute_service.rb +1 -1
  117. data/lib/stripe/services/file_service.rb +1 -1
  118. data/lib/stripe/services/financial_connections/account_service.rb +2 -7
  119. data/lib/stripe/services/financial_connections/session_service.rb +2 -34
  120. data/lib/stripe/services/financial_connections_service.rb +1 -2
  121. data/lib/stripe/services/identity/verification_session_service.rb +5 -13
  122. data/lib/stripe/services/invoice_item_service.rb +3 -76
  123. data/lib/stripe/services/invoice_line_item_service.rb +1 -33
  124. data/lib/stripe/services/invoice_payment_service.rb +83 -0
  125. data/lib/stripe/services/invoice_service.rb +74 -1049
  126. data/lib/stripe/services/issuing/authorization_service.rb +4 -4
  127. data/lib/stripe/services/issuing/card_service.rb +1 -1
  128. data/lib/stripe/services/issuing/cardholder_service.rb +1 -2
  129. data/lib/stripe/services/issuing/dispute_service.rb +2 -2
  130. data/lib/stripe/services/issuing/transaction_service.rb +0 -4
  131. data/lib/stripe/services/issuing_service.rb +1 -5
  132. data/lib/stripe/services/payment_intent_service.rb +439 -4928
  133. data/lib/stripe/services/payment_method_configuration_service.rb +82 -82
  134. data/lib/stripe/services/payment_method_domain_service.rb +1 -1
  135. data/lib/stripe/services/payment_method_service.rb +44 -226
  136. data/lib/stripe/services/payout_service.rb +2 -6
  137. data/lib/stripe/services/plan_service.rb +2 -3
  138. data/lib/stripe/services/price_service.rb +2 -21
  139. data/lib/stripe/services/product_feature_service.rb +1 -2
  140. data/lib/stripe/services/product_service.rb +2 -41
  141. data/lib/stripe/services/promotion_code_service.rb +1 -9
  142. data/lib/stripe/services/quote_service.rb +7 -1730
  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/setup_intent_service.rb +119 -836
  147. data/lib/stripe/services/source_service.rb +1 -1
  148. data/lib/stripe/services/subscription_item_service.rb +27 -73
  149. data/lib/stripe/services/subscription_schedule_service.rb +101 -916
  150. data/lib/stripe/services/subscription_service.rb +85 -282
  151. data/lib/stripe/services/tax/calculation_service.rb +4 -0
  152. data/lib/stripe/services/tax/registration_service.rb +1 -1
  153. data/lib/stripe/services/tax_id_service.rb +3 -10
  154. data/lib/stripe/services/tax_service.rb +1 -3
  155. data/lib/stripe/services/terminal/configuration_service.rb +1 -2
  156. data/lib/stripe/services/terminal/location_service.rb +2 -3
  157. data/lib/stripe/services/terminal/reader_service.rb +5 -81
  158. data/lib/stripe/services/terminal_service.rb +1 -2
  159. data/lib/stripe/services/test_helpers/confirmation_token_service.rb +33 -190
  160. data/lib/stripe/services/test_helpers/test_clock_service.rb +1 -2
  161. data/lib/stripe/services/test_helpers/treasury/received_credit_service.rb +1 -25
  162. data/lib/stripe/services/test_helpers/treasury/received_debit_service.rb +1 -25
  163. data/lib/stripe/services/token_service.rb +1 -1
  164. data/lib/stripe/services/transfer_service.rb +1 -5
  165. data/lib/stripe/services/treasury/financial_account_features_service.rb +1 -4
  166. data/lib/stripe/services/treasury/financial_account_service.rb +2 -16
  167. data/lib/stripe/services/treasury/outbound_transfer_service.rb +0 -24
  168. data/lib/stripe/services/v1_services.rb +2 -12
  169. data/lib/stripe/services/v2/billing/meter_event_session_service.rb +1 -2
  170. data/lib/stripe/services/v2/core/event_destination_service.rb +4 -10
  171. data/lib/stripe/services/v2/core/event_service.rb +1 -2
  172. data/lib/stripe/services/v2/core_service.rb +1 -4
  173. data/lib/stripe/services/v2_services.rb +2 -4
  174. data/lib/stripe/services/webhook_endpoint_service.rb +1 -2
  175. data/lib/stripe/services.rb +1 -54
  176. data/lib/stripe/stripe_configuration.rb +1 -3
  177. data/lib/stripe/stripe_object.rb +1 -1
  178. data/lib/stripe/util.rb +1 -7
  179. data/lib/stripe/version.rb +1 -1
  180. data/lib/stripe.rb +0 -53
  181. data/rbi/stripe/resources/account.rbi +4926 -0
  182. data/rbi/stripe/resources/account_link.rbi +74 -0
  183. data/rbi/stripe/resources/account_session.rbi +1013 -0
  184. data/rbi/stripe/resources/apple_pay_domain.rbi +88 -0
  185. data/rbi/stripe/resources/application.rbi +20 -0
  186. data/rbi/stripe/resources/application_fee.rbi +118 -0
  187. data/rbi/stripe/resources/application_fee_refund.rbi +37 -0
  188. data/rbi/stripe/resources/apps/secret.rbi +195 -0
  189. data/rbi/stripe/resources/balance.rbi +235 -0
  190. data/rbi/stripe/resources/balance_transaction.rbi +147 -0
  191. data/rbi/stripe/resources/bank_account.rbi +127 -0
  192. data/rbi/stripe/resources/billing/alert.rbi +201 -0
  193. data/rbi/stripe/resources/billing/alert_triggered.rbi +28 -0
  194. data/rbi/stripe/resources/billing/credit_balance_summary.rbi +63 -0
  195. data/rbi/stripe/resources/billing/credit_balance_transaction.rbi +147 -0
  196. data/rbi/stripe/resources/billing/credit_grant.rbi +291 -0
  197. data/rbi/stripe/resources/billing/meter.rbi +226 -0
  198. data/rbi/stripe/resources/billing/meter_event.rbi +64 -0
  199. data/rbi/stripe/resources/billing/meter_event_adjustment.rbi +64 -0
  200. data/rbi/stripe/resources/billing/meter_event_summary.rbi +35 -0
  201. data/rbi/stripe/resources/billing_portal/configuration.rbi +645 -0
  202. data/rbi/stripe/resources/billing_portal/session.rbi +345 -0
  203. data/rbi/stripe/resources/capability.rbi +125 -0
  204. data/rbi/stripe/resources/card.rbi +125 -0
  205. data/rbi/stripe/resources/cash_balance.rbi +32 -0
  206. data/rbi/stripe/resources/charge.rbi +2069 -0
  207. data/rbi/stripe/resources/checkout/session.rbi +4004 -0
  208. data/rbi/stripe/resources/climate/order.rbi +245 -0
  209. data/rbi/stripe/resources/climate/product.rbi +75 -0
  210. data/rbi/stripe/resources/climate/supplier.rbi +72 -0
  211. data/rbi/stripe/resources/confirmation_token.rbi +1807 -0
  212. data/rbi/stripe/resources/connect_collection_transfer.rbi +26 -0
  213. data/rbi/stripe/resources/country_spec.rbi +85 -0
  214. data/rbi/stripe/resources/coupon.rbi +250 -0
  215. data/rbi/stripe/resources/credit_note.rbi +752 -0
  216. data/rbi/stripe/resources/credit_note_line_item.rbi +101 -0
  217. data/rbi/stripe/resources/customer.rbi +1005 -0
  218. data/rbi/stripe/resources/customer_balance_transaction.rbi +56 -0
  219. data/rbi/stripe/resources/customer_cash_balance_transaction.rbi +151 -0
  220. data/rbi/stripe/resources/customer_session.rbi +200 -0
  221. data/rbi/stripe/resources/discount.rbi +53 -0
  222. data/rbi/stripe/resources/dispute.rbi +761 -0
  223. data/rbi/stripe/resources/entitlements/active_entitlement.rbi +58 -0
  224. data/rbi/stripe/resources/entitlements/active_entitlement_summary.rbi +23 -0
  225. data/rbi/stripe/resources/entitlements/feature.rbi +117 -0
  226. data/rbi/stripe/resources/ephemeral_key.rbi +44 -0
  227. data/rbi/stripe/resources/event.rbi +149 -0
  228. data/rbi/stripe/resources/exchange_rate.rbi +66 -0
  229. data/rbi/stripe/resources/file.rbi +143 -0
  230. data/rbi/stripe/resources/file_link.rbi +141 -0
  231. data/rbi/stripe/resources/financial_connections/account.rbi +339 -0
  232. data/rbi/stripe/resources/financial_connections/account_owner.rbi +35 -0
  233. data/rbi/stripe/resources/financial_connections/account_ownership.rbi +23 -0
  234. data/rbi/stripe/resources/financial_connections/session.rbi +123 -0
  235. data/rbi/stripe/resources/financial_connections/transaction.rbi +124 -0
  236. data/rbi/stripe/resources/forwarding/request.rbi +216 -0
  237. data/rbi/stripe/resources/funding_instructions.rbi +437 -0
  238. data/rbi/stripe/resources/identity/verification_report.rbi +360 -0
  239. data/rbi/stripe/resources/identity/verification_session.rbi +526 -0
  240. data/rbi/stripe/resources/invoice.rbi +3812 -0
  241. data/rbi/stripe/resources/invoice_item.rbi +473 -0
  242. data/rbi/stripe/resources/invoice_line_item.rbi +432 -0
  243. data/rbi/stripe/resources/invoice_payment.rbi +121 -0
  244. data/rbi/stripe/resources/invoice_rendering_template.rbi +104 -0
  245. data/rbi/stripe/resources/issuing/authorization.rbi +1283 -0
  246. data/rbi/stripe/resources/issuing/card.rbi +741 -0
  247. data/rbi/stripe/resources/issuing/cardholder.rbi +744 -0
  248. data/rbi/stripe/resources/issuing/dispute.rbi +913 -0
  249. data/rbi/stripe/resources/issuing/personalization_design.rbi +338 -0
  250. data/rbi/stripe/resources/issuing/physical_bundle.rbi +79 -0
  251. data/rbi/stripe/resources/issuing/token.rbi +226 -0
  252. data/rbi/stripe/resources/issuing/transaction.rbi +1061 -0
  253. data/rbi/stripe/resources/line_item.rbi +72 -0
  254. data/rbi/stripe/resources/login_link.rbi +19 -0
  255. data/rbi/stripe/resources/mandate.rbi +187 -0
  256. data/rbi/stripe/resources/payment_intent.rbi +9647 -0
  257. data/rbi/stripe/resources/payment_link.rbi +1801 -0
  258. data/rbi/stripe/resources/payment_method.rbi +1761 -0
  259. data/rbi/stripe/resources/payment_method_configuration.rbi +3550 -0
  260. data/rbi/stripe/resources/payment_method_domain.rbi +228 -0
  261. data/rbi/stripe/resources/payout.rbi +300 -0
  262. data/rbi/stripe/resources/person.rbi +401 -0
  263. data/rbi/stripe/resources/plan.rbi +371 -0
  264. data/rbi/stripe/resources/price.rbi +694 -0
  265. data/rbi/stripe/resources/product.rbi +555 -0
  266. data/rbi/stripe/resources/product_feature.rbi +26 -0
  267. data/rbi/stripe/resources/promotion_code.rbi +261 -0
  268. data/rbi/stripe/resources/quote.rbi +1126 -0
  269. data/rbi/stripe/resources/radar/early_fraud_warning.rbi +98 -0
  270. data/rbi/stripe/resources/radar/value_list.rbi +168 -0
  271. data/rbi/stripe/resources/radar/value_list_item.rbi +129 -0
  272. data/rbi/stripe/resources/refund.rbi +523 -0
  273. data/rbi/stripe/resources/reporting/report_run.rbi +191 -0
  274. data/rbi/stripe/resources/reporting/report_type.rbi +57 -0
  275. data/rbi/stripe/resources/reserve_transaction.rbi +23 -0
  276. data/rbi/stripe/resources/reversal.rbi +51 -0
  277. data/rbi/stripe/resources/review.rbi +154 -0
  278. data/rbi/stripe/resources/setup_attempt.rbi +477 -0
  279. data/rbi/stripe/resources/setup_intent.rbi +3655 -0
  280. data/rbi/stripe/resources/shipping_rate.rbi +305 -0
  281. data/rbi/stripe/resources/sigma/scheduled_query_run.rbi +75 -0
  282. data/rbi/stripe/resources/source.rbi +1496 -0
  283. data/rbi/stripe/resources/source_mandate_notification.rbi +77 -0
  284. data/rbi/stripe/resources/source_transaction.rbi +127 -0
  285. data/rbi/stripe/resources/subscription.rbi +2027 -0
  286. data/rbi/stripe/resources/subscription_item.rbi +404 -0
  287. data/rbi/stripe/resources/subscription_schedule.rbi +1623 -0
  288. data/rbi/stripe/resources/tax/calculation.rbi +478 -0
  289. data/rbi/stripe/resources/tax/calculation_line_item.rbi +91 -0
  290. data/rbi/stripe/resources/tax/registration.rbi +2713 -0
  291. data/rbi/stripe/resources/tax/settings.rbi +141 -0
  292. data/rbi/stripe/resources/tax/transaction.rbi +351 -0
  293. data/rbi/stripe/resources/tax/transaction_line_item.rbi +54 -0
  294. data/rbi/stripe/resources/tax_code.rbi +44 -0
  295. data/rbi/stripe/resources/tax_deducted_at_source.rbi +23 -0
  296. data/rbi/stripe/resources/tax_id.rbi +165 -0
  297. data/rbi/stripe/resources/tax_rate.rbi +239 -0
  298. data/rbi/stripe/resources/terminal/configuration.rbi +1386 -0
  299. data/rbi/stripe/resources/terminal/connection_token.rbi +37 -0
  300. data/rbi/stripe/resources/terminal/location.rbi +222 -0
  301. data/rbi/stripe/resources/terminal/reader.rbi +847 -0
  302. data/rbi/stripe/resources/test_helpers/test_clock.rbi +132 -0
  303. data/rbi/stripe/resources/token.rbi +1283 -0
  304. data/rbi/stripe/resources/topup.rbi +222 -0
  305. data/rbi/stripe/resources/transfer.rbi +199 -0
  306. data/rbi/stripe/resources/treasury/credit_reversal.rbi +119 -0
  307. data/rbi/stripe/resources/treasury/debit_reversal.rbi +131 -0
  308. data/rbi/stripe/resources/treasury/financial_account.rbi +865 -0
  309. data/rbi/stripe/resources/treasury/financial_account_features.rbi +260 -0
  310. data/rbi/stripe/resources/treasury/inbound_transfer.rbi +295 -0
  311. data/rbi/stripe/resources/treasury/outbound_payment.rbi +592 -0
  312. data/rbi/stripe/resources/treasury/outbound_transfer.rbi +431 -0
  313. data/rbi/stripe/resources/treasury/received_credit.rbi +302 -0
  314. data/rbi/stripe/resources/treasury/received_debit.rbi +256 -0
  315. data/rbi/stripe/resources/treasury/transaction.rbi +215 -0
  316. data/rbi/stripe/resources/treasury/transaction_entry.rbi +192 -0
  317. data/rbi/stripe/resources/v2/amount.rbi +14 -0
  318. data/rbi/stripe/resources/v2/billing/meter_event.rbi +37 -0
  319. data/rbi/stripe/resources/v2/billing/meter_event_adjustment.rbi +41 -0
  320. data/rbi/stripe/resources/v2/billing/meter_event_session.rbi +31 -0
  321. data/rbi/stripe/resources/v2/event.rbi +48 -0
  322. data/rbi/stripe/resources/v2/event_destination.rbi +91 -0
  323. data/rbi/stripe/resources/webhook_endpoint.rbi +168 -0
  324. data/rbi/stripe/services/account_capability_service.rbi +51 -0
  325. data/{lib/stripe/services/external_account_service.rb → rbi/stripe/services/account_external_account_service.rbi} +124 -138
  326. data/rbi/stripe/services/account_link_service.rbi +58 -0
  327. data/rbi/stripe/services/account_login_link_service.rbi +22 -0
  328. data/rbi/stripe/services/account_person_service.rbi +1011 -0
  329. data/rbi/stripe/services/account_service.rbi +4213 -0
  330. data/rbi/stripe/services/account_session_service.rbi +646 -0
  331. data/rbi/stripe/services/apple_pay_domain_service.rbi +76 -0
  332. data/rbi/stripe/services/application_fee_refund_service.rbi +93 -0
  333. data/rbi/stripe/services/application_fee_service.rbi +78 -0
  334. data/rbi/stripe/services/apps/secret_service.rbi +151 -0
  335. data/rbi/stripe/services/apps_service.rbi +9 -0
  336. data/rbi/stripe/services/balance_service.rbi +21 -0
  337. data/rbi/stripe/services/balance_transaction_service.rbi +93 -0
  338. data/rbi/stripe/services/billing/alert_service.rbi +152 -0
  339. data/rbi/stripe/services/billing/credit_balance_summary_service.rbi +68 -0
  340. data/rbi/stripe/services/billing/credit_balance_transaction_service.rbi +59 -0
  341. data/rbi/stripe/services/billing/credit_grant_service.rbi +211 -0
  342. data/rbi/stripe/services/billing/meter_event_adjustment_service.rbi +42 -0
  343. data/rbi/stripe/services/billing/meter_event_service.rbi +42 -0
  344. data/rbi/stripe/services/billing/meter_event_summary_service.rbi +54 -0
  345. data/rbi/stripe/services/billing/meter_service.rbi +163 -0
  346. data/rbi/stripe/services/billing_portal/configuration_service.rbi +511 -0
  347. data/rbi/stripe/services/billing_portal/session_service.rbi +204 -0
  348. data/rbi/stripe/services/billing_portal_service.rbi +10 -0
  349. data/rbi/stripe/services/billing_service.rbi +15 -0
  350. data/rbi/stripe/services/charge_service.rbi +448 -0
  351. data/rbi/stripe/services/checkout/session_line_item_service.rbi +33 -0
  352. data/rbi/stripe/services/checkout/session_service.rbi +2614 -0
  353. data/rbi/stripe/services/checkout_service.rbi +9 -0
  354. data/rbi/stripe/services/climate/order_service.rbi +142 -0
  355. data/rbi/stripe/services/climate/product_service.rbi +46 -0
  356. data/{lib/stripe/services/financial_connections/institution_service.rb → rbi/stripe/services/climate/supplier_service.rbi} +25 -36
  357. data/rbi/stripe/services/climate_service.rbi +11 -0
  358. data/rbi/stripe/services/confirmation_token_service.rbi +20 -0
  359. data/rbi/stripe/services/country_spec_service.rbi +44 -0
  360. data/rbi/stripe/services/coupon_service.rbi +194 -0
  361. data/{lib/stripe/services/quote_preview_invoice_service.rb → rbi/stripe/services/credit_note_line_item_service.rbi} +16 -20
  362. data/rbi/stripe/services/credit_note_preview_lines_service.rbi +167 -0
  363. data/rbi/stripe/services/credit_note_service.rbi +415 -0
  364. data/rbi/stripe/services/customer_balance_transaction_service.rbi +92 -0
  365. data/rbi/stripe/services/customer_cash_balance_service.rbi +45 -0
  366. data/rbi/stripe/services/customer_cash_balance_transaction_service.rbi +44 -0
  367. data/rbi/stripe/services/customer_funding_instructions_service.rbi +59 -0
  368. data/rbi/stripe/services/customer_payment_method_service.rbi +57 -0
  369. data/rbi/stripe/services/customer_payment_source_service.rbi +232 -0
  370. data/rbi/stripe/services/customer_service.rbi +647 -0
  371. data/rbi/stripe/services/customer_session_service.rbi +116 -0
  372. data/rbi/stripe/services/customer_tax_id_service.rbi +70 -0
  373. data/rbi/stripe/services/dispute_service.rbi +424 -0
  374. data/rbi/stripe/services/entitlements/active_entitlement_service.rbi +55 -0
  375. data/rbi/stripe/services/entitlements/feature_service.rbi +107 -0
  376. data/rbi/stripe/services/entitlements_service.rbi +10 -0
  377. data/rbi/stripe/services/ephemeral_key_service.rbi +53 -0
  378. data/rbi/stripe/services/event_service.rbi +83 -0
  379. data/rbi/stripe/services/exchange_rate_service.rbi +44 -0
  380. data/rbi/stripe/services/file_link_service.rbi +124 -0
  381. data/rbi/stripe/services/file_service.rbi +116 -0
  382. data/rbi/stripe/services/financial_connections/account_owner_service.rbi +42 -0
  383. data/rbi/stripe/services/financial_connections/account_service.rbi +133 -0
  384. data/rbi/stripe/services/financial_connections/session_service.rbi +88 -0
  385. data/rbi/stripe/services/financial_connections/transaction_service.rbi +92 -0
  386. data/rbi/stripe/services/financial_connections_service.rbi +11 -0
  387. data/rbi/stripe/services/forwarding/request_service.rbi +134 -0
  388. data/rbi/stripe/services/forwarding_service.rbi +9 -0
  389. data/rbi/stripe/services/identity/verification_report_service.rbi +87 -0
  390. data/rbi/stripe/services/identity/verification_session_service.rbi +323 -0
  391. data/rbi/stripe/services/identity_service.rbi +10 -0
  392. data/rbi/stripe/services/invoice_item_service.rbi +366 -0
  393. data/rbi/stripe/services/invoice_line_item_service.rbi +259 -0
  394. data/rbi/stripe/services/invoice_payment_service.rbi +71 -0
  395. data/rbi/stripe/services/invoice_rendering_template_service.rbi +82 -0
  396. data/rbi/stripe/services/invoice_service.rbi +2981 -0
  397. data/rbi/stripe/services/issuing/authorization_service.rbi +146 -0
  398. data/rbi/stripe/services/issuing/card_service.rbi +495 -0
  399. data/rbi/stripe/services/issuing/cardholder_service.rbi +587 -0
  400. data/rbi/stripe/services/issuing/dispute_service.rbi +707 -0
  401. data/rbi/stripe/services/issuing/personalization_design_service.rbi +243 -0
  402. data/rbi/stripe/services/issuing/physical_bundle_service.rbi +59 -0
  403. data/rbi/stripe/services/issuing/token_service.rbi +99 -0
  404. data/rbi/stripe/services/issuing/transaction_service.rbi +105 -0
  405. data/rbi/stripe/services/issuing_service.rbi +16 -0
  406. data/rbi/stripe/services/mandate_service.rbi +20 -0
  407. data/rbi/stripe/services/payment_intent_service.rbi +7659 -0
  408. data/{lib/stripe/services/payment_intent_amount_details_line_item_service.rb → rbi/stripe/services/payment_link_line_item_service.rbi} +16 -20
  409. data/rbi/stripe/services/payment_link_service.rbi +1352 -0
  410. data/rbi/stripe/services/payment_method_configuration_service.rbi +2487 -0
  411. data/rbi/stripe/services/payment_method_domain_service.rbi +112 -0
  412. data/rbi/stripe/services/payment_method_service.rbi +776 -0
  413. data/rbi/stripe/services/payout_service.rbi +205 -0
  414. data/rbi/stripe/services/plan_service.rbi +282 -0
  415. data/rbi/stripe/services/price_service.rbi +546 -0
  416. data/rbi/stripe/services/product_feature_service.rbi +67 -0
  417. data/rbi/stripe/services/product_service.rbi +477 -0
  418. data/rbi/stripe/services/promotion_code_service.rbi +214 -0
  419. data/rbi/stripe/services/quote_computed_upfront_line_items_service.rbi +31 -0
  420. data/{lib/stripe/services/order_line_item_service.rb → rbi/stripe/services/quote_line_item_service.rbi} +16 -20
  421. data/rbi/stripe/services/quote_service.rbi +686 -0
  422. data/rbi/stripe/services/radar/early_fraud_warning_service.rbi +85 -0
  423. data/rbi/stripe/services/radar/value_list_item_service.rbi +109 -0
  424. data/rbi/stripe/services/radar/value_list_service.rbi +141 -0
  425. data/rbi/stripe/services/radar_service.rbi +11 -0
  426. data/rbi/stripe/services/refund_service.rbi +185 -0
  427. data/rbi/stripe/services/reporting/report_run_service.rbi +135 -0
  428. data/rbi/stripe/services/reporting/report_type_service.rbi +35 -0
  429. data/rbi/stripe/services/reporting_service.rbi +10 -0
  430. data/rbi/stripe/services/review_service.rbi +84 -0
  431. data/rbi/stripe/services/setup_attempt_service.rbi +65 -0
  432. data/rbi/stripe/services/setup_intent_service.rbi +3391 -0
  433. data/rbi/stripe/services/shipping_rate_service.rbi +241 -0
  434. data/rbi/stripe/services/sigma/scheduled_query_run_service.rbi +46 -0
  435. data/rbi/stripe/services/sigma_service.rbi +9 -0
  436. data/rbi/stripe/services/source_service.rbi +663 -0
  437. data/{lib/stripe/services/quote_line_service.rb → rbi/stripe/services/source_transaction_service.rbi} +16 -20
  438. data/rbi/stripe/services/subscription_item_service.rbi +350 -0
  439. data/rbi/stripe/services/subscription_schedule_service.rbi +1290 -0
  440. data/rbi/stripe/services/subscription_service.rbi +1648 -0
  441. data/{lib/stripe/services/financial_connections/account_inferred_balance_service.rb → rbi/stripe/services/tax/calculation_line_item_service.rbi} +17 -21
  442. data/rbi/stripe/services/tax/calculation_service.rbi +234 -0
  443. data/rbi/stripe/services/tax/registration_service.rbi +1845 -0
  444. data/rbi/stripe/services/tax/settings_service.rbi +93 -0
  445. data/{lib/stripe/services/privacy/redaction_job_validation_error_service.rb → rbi/stripe/services/tax/transaction_line_item_service.rbi} +17 -21
  446. data/rbi/stripe/services/tax/transaction_service.rbi +146 -0
  447. data/rbi/stripe/services/tax_code_service.rbi +44 -0
  448. data/rbi/stripe/services/tax_id_service.rbi +110 -0
  449. data/rbi/stripe/services/tax_rate_service.rbi +185 -0
  450. data/rbi/stripe/services/tax_service.rbi +12 -0
  451. data/rbi/stripe/services/terminal/configuration_service.rbi +1118 -0
  452. data/rbi/stripe/services/terminal/connection_token_service.rbi +25 -0
  453. data/rbi/stripe/services/terminal/location_service.rbi +182 -0
  454. data/rbi/stripe/services/terminal/reader_service.rbi +455 -0
  455. data/rbi/stripe/services/terminal_service.rbi +12 -0
  456. data/rbi/stripe/services/test_helpers/confirmation_token_service.rbi +739 -0
  457. data/rbi/stripe/services/test_helpers/customer_service.rbi +33 -0
  458. data/rbi/stripe/services/test_helpers/issuing/authorization_service.rbi +848 -0
  459. data/rbi/stripe/services/test_helpers/issuing/card_service.rbi +76 -0
  460. data/rbi/stripe/services/test_helpers/issuing/personalization_design_service.rbi +69 -0
  461. data/rbi/stripe/services/test_helpers/issuing/transaction_service.rbi +711 -0
  462. data/rbi/stripe/services/test_helpers/issuing_service.rbi +14 -0
  463. data/rbi/stripe/services/test_helpers/refund_service.rbi +22 -0
  464. data/rbi/stripe/services/test_helpers/terminal/reader_service.rbi +93 -0
  465. data/rbi/stripe/services/test_helpers/terminal_service.rbi +11 -0
  466. data/rbi/stripe/services/test_helpers/test_clock_service.rbi +90 -0
  467. data/rbi/stripe/services/test_helpers/treasury/inbound_transfer_service.rbi +64 -0
  468. data/rbi/stripe/services/test_helpers/treasury/outbound_payment_service.rbi +125 -0
  469. data/rbi/stripe/services/test_helpers/treasury/outbound_transfer_service.rbi +125 -0
  470. data/rbi/stripe/services/test_helpers/treasury/received_credit_service.rbi +87 -0
  471. data/rbi/stripe/services/test_helpers/treasury/received_debit_service.rbi +87 -0
  472. data/rbi/stripe/services/test_helpers/treasury_service.rbi +15 -0
  473. data/rbi/stripe/services/test_helpers_service.rbi +15 -0
  474. data/rbi/stripe/services/token_service.rbi +1257 -0
  475. data/rbi/stripe/services/topup_service.rbi +176 -0
  476. data/rbi/stripe/services/transfer_reversal_service.rbi +101 -0
  477. data/rbi/stripe/services/transfer_service.rbi +152 -0
  478. data/rbi/stripe/services/treasury/credit_reversal_service.rbi +84 -0
  479. data/rbi/stripe/services/treasury/debit_reversal_service.rbi +88 -0
  480. data/rbi/stripe/services/treasury/financial_account_features_service.rbi +198 -0
  481. data/rbi/stripe/services/treasury/financial_account_service.rbi +562 -0
  482. data/rbi/stripe/services/treasury/inbound_transfer_service.rbi +117 -0
  483. data/rbi/stripe/services/treasury/outbound_payment_service.rbi +304 -0
  484. data/rbi/stripe/services/treasury/outbound_transfer_service.rbi +157 -0
  485. data/rbi/stripe/services/treasury/received_credit_service.rbi +72 -0
  486. data/rbi/stripe/services/treasury/received_debit_service.rbi +59 -0
  487. data/rbi/stripe/services/treasury/transaction_entry_service.rbi +111 -0
  488. data/rbi/stripe/services/treasury/transaction_service.rbi +122 -0
  489. data/rbi/stripe/services/treasury_service.rbi +18 -0
  490. data/rbi/stripe/services/v1_services.rbi +77 -0
  491. data/rbi/stripe/services/v2/billing/meter_event_adjustment_service.rbi +39 -0
  492. data/rbi/stripe/services/v2/billing/meter_event_service.rbi +42 -0
  493. data/rbi/stripe/services/v2/billing/meter_event_session_service.rbi +18 -0
  494. data/rbi/stripe/services/v2/billing/meter_event_stream_service.rbi +55 -0
  495. data/rbi/stripe/services/v2/billing_service.rbi +14 -0
  496. data/rbi/stripe/services/v2/core/event_destination_service.rbi +192 -0
  497. data/rbi/stripe/services/v2/core/event_service.rbi +36 -0
  498. data/rbi/stripe/services/v2/core_service.rbi +12 -0
  499. data/rbi/stripe/services/v2_services.rbi +10 -0
  500. data/rbi/stripe/services/webhook_endpoint_service.rbi +129 -0
  501. data/stripe.gemspec +1 -4
  502. metadata +326 -158
  503. data/lib/stripe/events/v2_core_account_closed_event.rb +0 -21
  504. data/lib/stripe/events/v2_core_account_created_event.rb +0 -21
  505. data/lib/stripe/events/v2_core_account_including_configuration_customer_capability_status_updated_event.rb +0 -23
  506. data/lib/stripe/events/v2_core_account_including_configuration_customer_updated_event.rb +0 -21
  507. data/lib/stripe/events/v2_core_account_including_configuration_merchant_capability_status_updated_event.rb +0 -23
  508. data/lib/stripe/events/v2_core_account_including_configuration_merchant_updated_event.rb +0 -21
  509. data/lib/stripe/events/v2_core_account_including_configuration_recipient_capability_status_updated_event.rb +0 -23
  510. data/lib/stripe/events/v2_core_account_including_configuration_recipient_updated_event.rb +0 -21
  511. data/lib/stripe/events/v2_core_account_including_defaults_updated_event.rb +0 -21
  512. data/lib/stripe/events/v2_core_account_including_identity_updated_event.rb +0 -21
  513. data/lib/stripe/events/v2_core_account_including_requirements_updated_event.rb +0 -21
  514. data/lib/stripe/events/v2_core_account_link_completed_event.rb +0 -13
  515. data/lib/stripe/events/v2_core_account_person_created_event.rb +0 -23
  516. data/lib/stripe/events/v2_core_account_person_deleted_event.rb +0 -23
  517. data/lib/stripe/events/v2_core_account_person_updated_event.rb +0 -23
  518. data/lib/stripe/events/v2_core_account_updated_event.rb +0 -21
  519. data/lib/stripe/events/v2_money_management_adjustment_created_event.rb +0 -21
  520. data/lib/stripe/events/v2_money_management_financial_account_created_event.rb +0 -21
  521. data/lib/stripe/events/v2_money_management_financial_account_updated_event.rb +0 -21
  522. data/lib/stripe/events/v2_money_management_financial_address_activated_event.rb +0 -21
  523. data/lib/stripe/events/v2_money_management_financial_address_failed_event.rb +0 -21
  524. data/lib/stripe/events/v2_money_management_inbound_transfer_available_event.rb +0 -23
  525. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_failed_event.rb +0 -21
  526. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_processing_event.rb +0 -21
  527. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_queued_event.rb +0 -21
  528. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_returned_event.rb +0 -21
  529. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_succeeded_event.rb +0 -21
  530. data/lib/stripe/events/v2_money_management_outbound_payment_canceled_event.rb +0 -21
  531. data/lib/stripe/events/v2_money_management_outbound_payment_created_event.rb +0 -21
  532. data/lib/stripe/events/v2_money_management_outbound_payment_failed_event.rb +0 -21
  533. data/lib/stripe/events/v2_money_management_outbound_payment_posted_event.rb +0 -21
  534. data/lib/stripe/events/v2_money_management_outbound_payment_returned_event.rb +0 -21
  535. data/lib/stripe/events/v2_money_management_outbound_payment_updated_event.rb +0 -21
  536. data/lib/stripe/events/v2_money_management_outbound_transfer_canceled_event.rb +0 -21
  537. data/lib/stripe/events/v2_money_management_outbound_transfer_created_event.rb +0 -21
  538. data/lib/stripe/events/v2_money_management_outbound_transfer_failed_event.rb +0 -21
  539. data/lib/stripe/events/v2_money_management_outbound_transfer_posted_event.rb +0 -21
  540. data/lib/stripe/events/v2_money_management_outbound_transfer_returned_event.rb +0 -21
  541. data/lib/stripe/events/v2_money_management_outbound_transfer_updated_event.rb +0 -21
  542. data/lib/stripe/events/v2_money_management_received_credit_available_event.rb +0 -23
  543. data/lib/stripe/events/v2_money_management_received_credit_failed_event.rb +0 -21
  544. data/lib/stripe/events/v2_money_management_received_credit_returned_event.rb +0 -21
  545. data/lib/stripe/events/v2_money_management_received_credit_succeeded_event.rb +0 -21
  546. data/lib/stripe/events/v2_money_management_received_debit_canceled_event.rb +0 -21
  547. data/lib/stripe/events/v2_money_management_received_debit_failed_event.rb +0 -21
  548. data/lib/stripe/events/v2_money_management_received_debit_pending_event.rb +0 -21
  549. data/lib/stripe/events/v2_money_management_received_debit_succeeded_event.rb +0 -21
  550. data/lib/stripe/events/v2_money_management_received_debit_updated_event.rb +0 -21
  551. data/lib/stripe/events/v2_money_management_transaction_created_event.rb +0 -21
  552. data/lib/stripe/events/v2_money_management_transaction_updated_event.rb +0 -21
  553. data/lib/stripe/resources/account_notice.rb +0 -123
  554. data/lib/stripe/resources/balance_settings.rb +0 -105
  555. data/lib/stripe/resources/billing/meter_error_report.rb +0 -59
  556. data/lib/stripe/resources/capital/financing_offer.rb +0 -179
  557. data/lib/stripe/resources/capital/financing_summary.rb +0 -55
  558. data/lib/stripe/resources/capital/financing_transaction.rb +0 -114
  559. data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +0 -27
  560. data/lib/stripe/resources/financial_connections/institution.rb +0 -90
  561. data/lib/stripe/resources/fx_quote.rb +0 -184
  562. data/lib/stripe/resources/gift_cards/card.rb +0 -208
  563. data/lib/stripe/resources/gift_cards/transaction.rb +0 -272
  564. data/lib/stripe/resources/issuing/credit_underwriting_record.rb +0 -602
  565. data/lib/stripe/resources/issuing/dispute_settlement_detail.rb +0 -82
  566. data/lib/stripe/resources/issuing/fraud_liability_debit.rb +0 -86
  567. data/lib/stripe/resources/issuing/settlement.rb +0 -53
  568. data/lib/stripe/resources/margin.rb +0 -115
  569. data/lib/stripe/resources/order.rb +0 -2859
  570. data/lib/stripe/resources/payment_attempt_record.rb +0 -1078
  571. data/lib/stripe/resources/payment_intent_amount_details_line_item.rb +0 -65
  572. data/lib/stripe/resources/payment_record.rb +0 -1607
  573. data/lib/stripe/resources/privacy/redaction_job.rb +0 -275
  574. data/lib/stripe/resources/privacy/redaction_job_validation_error.rb +0 -25
  575. data/lib/stripe/resources/quote_line.rb +0 -274
  576. data/lib/stripe/resources/quote_preview_invoice.rb +0 -663
  577. data/lib/stripe/resources/quote_preview_subscription_schedule.rb +0 -339
  578. data/lib/stripe/resources/tax/association.rb +0 -89
  579. data/lib/stripe/resources/tax/form.rb +0 -211
  580. data/lib/stripe/resources/terminal/reader_collected_data.rb +0 -31
  581. data/lib/stripe/resources/v2/core/account.rb +0 -1746
  582. data/lib/stripe/resources/v2/core/account_link.rb +0 -56
  583. data/lib/stripe/resources/v2/core/person.rb +0 -276
  584. data/lib/stripe/resources/v2/core/vault/gb_bank_account.rb +0 -74
  585. data/lib/stripe/resources/v2/core/vault/us_bank_account.rb +0 -39
  586. data/lib/stripe/resources/v2/financial_address_credit_simulation.rb +0 -20
  587. data/lib/stripe/resources/v2/financial_address_generated_microdeposits.rb +0 -22
  588. data/lib/stripe/resources/v2/money_management/adjustment.rb +0 -51
  589. data/lib/stripe/resources/v2/money_management/financial_account.rb +0 -58
  590. data/lib/stripe/resources/v2/money_management/financial_address.rb +0 -68
  591. data/lib/stripe/resources/v2/money_management/inbound_transfer.rb +0 -94
  592. data/lib/stripe/resources/v2/money_management/outbound_payment.rb +0 -129
  593. data/lib/stripe/resources/v2/money_management/outbound_payment_quote.rb +0 -82
  594. data/lib/stripe/resources/v2/money_management/outbound_setup_intent.rb +0 -45
  595. data/lib/stripe/resources/v2/money_management/outbound_transfer.rb +0 -117
  596. data/lib/stripe/resources/v2/money_management/payout_method.rb +0 -75
  597. data/lib/stripe/resources/v2/money_management/payout_methods_bank_account_spec.rb +0 -49
  598. data/lib/stripe/resources/v2/money_management/received_credit.rb +0 -136
  599. data/lib/stripe/resources/v2/money_management/received_debit.rb +0 -108
  600. data/lib/stripe/resources/v2/money_management/transaction.rb +0 -78
  601. data/lib/stripe/resources/v2/money_management/transaction_entry.rb +0 -68
  602. data/lib/stripe/services/account_notice_service.rb +0 -101
  603. data/lib/stripe/services/balance_settings_service.rb +0 -96
  604. data/lib/stripe/services/capital/financing_offer_service.rb +0 -112
  605. data/lib/stripe/services/capital/financing_summary_service.rb +0 -28
  606. data/lib/stripe/services/capital/financing_transaction_service.rb +0 -79
  607. data/lib/stripe/services/capital_service.rb +0 -15
  608. data/lib/stripe/services/fx_quote_service.rb +0 -123
  609. data/lib/stripe/services/gift_cards/card_service.rb +0 -170
  610. data/lib/stripe/services/gift_cards/transaction_service.rb +0 -209
  611. data/lib/stripe/services/gift_cards_service.rb +0 -14
  612. data/lib/stripe/services/issuing/credit_underwriting_record_service.rb +0 -504
  613. data/lib/stripe/services/issuing/dispute_settlement_detail_service.rb +0 -66
  614. data/lib/stripe/services/issuing/fraud_liability_debit_service.rb +0 -83
  615. data/lib/stripe/services/margin_service.rb +0 -119
  616. data/lib/stripe/services/order_service.rb +0 -2268
  617. data/lib/stripe/services/payment_attempt_record_service.rb +0 -49
  618. data/lib/stripe/services/payment_record_service.rb +0 -542
  619. data/lib/stripe/services/privacy/redaction_job_service.rb +0 -231
  620. data/lib/stripe/services/privacy_service.rb +0 -13
  621. data/lib/stripe/services/quote_preview_subscription_schedule_service.rb +0 -35
  622. data/lib/stripe/services/tax/association_service.rb +0 -31
  623. data/lib/stripe/services/tax/form_service.rb +0 -100
  624. data/lib/stripe/services/terminal/reader_collected_data_service.rb +0 -28
  625. data/lib/stripe/services/v2/core/account_link_service.rb +0 -76
  626. data/lib/stripe/services/v2/core/account_service.rb +0 -4138
  627. data/lib/stripe/services/v2/core/accounts/person_service.rb +0 -1048
  628. data/lib/stripe/services/v2/core/vault/gb_bank_account_service.rb +0 -135
  629. data/lib/stripe/services/v2/core/vault/us_bank_account_service.rb +0 -109
  630. data/lib/stripe/services/v2/core/vault_service.rb +0 -18
  631. data/lib/stripe/services/v2/money_management/adjustment_service.rb +0 -75
  632. data/lib/stripe/services/v2/money_management/financial_account_service.rb +0 -44
  633. data/lib/stripe/services/v2/money_management/financial_address_service.rb +0 -81
  634. data/lib/stripe/services/v2/money_management/inbound_transfer_service.rb +0 -126
  635. data/lib/stripe/services/v2/money_management/outbound_payment_quote_service.rb +0 -96
  636. data/lib/stripe/services/v2/money_management/outbound_payment_service.rb +0 -202
  637. data/lib/stripe/services/v2/money_management/outbound_setup_intent_service.rb +0 -237
  638. data/lib/stripe/services/v2/money_management/outbound_transfer_service.rb +0 -174
  639. data/lib/stripe/services/v2/money_management/payout_method_service.rb +0 -95
  640. data/lib/stripe/services/v2/money_management/payout_methods_bank_account_spec_service.rb +0 -32
  641. data/lib/stripe/services/v2/money_management/received_credit_service.rb +0 -71
  642. data/lib/stripe/services/v2/money_management/received_debit_service.rb +0 -44
  643. data/lib/stripe/services/v2/money_management/transaction_entry_service.rb +0 -70
  644. data/lib/stripe/services/v2/money_management/transaction_service.rb +0 -74
  645. data/lib/stripe/services/v2/money_management_service.rb +0 -31
  646. data/lib/stripe/services/v2/test_helper_service.rb +0 -15
  647. data/lib/stripe/services/v2/test_helpers/financial_address_service.rb +0 -50
  648. data/rbi/stripe.rbi +0 -191867
@@ -0,0 +1,3655 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ # typed: true
5
+ module Stripe
6
+ # A SetupIntent guides you through the process of setting up and saving a customer's payment credentials for future payments.
7
+ # For example, you can use a SetupIntent to set up and save your customer's card without immediately collecting a payment.
8
+ # Later, you can use [PaymentIntents](https://stripe.com/docs/api#payment_intents) to drive the payment flow.
9
+ #
10
+ # Create a SetupIntent when you're ready to collect your customer's payment credentials.
11
+ # Don't maintain long-lived, unconfirmed SetupIntents because they might not be valid.
12
+ # The SetupIntent transitions through multiple [statuses](https://docs.stripe.com/payments/intents#intent-statuses) as it guides
13
+ # you through the setup process.
14
+ #
15
+ # Successful SetupIntents result in payment credentials that are optimized for future payments.
16
+ # For example, cardholders in [certain regions](https://stripe.com/guides/strong-customer-authentication) might need to be run through
17
+ # [Strong Customer Authentication](https://docs.stripe.com/strong-customer-authentication) during payment method collection
18
+ # to streamline later [off-session payments](https://docs.stripe.com/payments/setup-intents).
19
+ # If you use the SetupIntent with a [Customer](https://stripe.com/docs/api#setup_intent_object-customer),
20
+ # it automatically attaches the resulting payment method to that Customer after successful setup.
21
+ # We recommend using SetupIntents or [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) on
22
+ # PaymentIntents to save payment methods to prevent saving invalid or unoptimized payment methods.
23
+ #
24
+ # By using SetupIntents, you can reduce friction for your customers, even as regulations change over time.
25
+ #
26
+ # Related guide: [Setup Intents API](https://docs.stripe.com/payments/setup-intents)
27
+ class SetupIntent < APIResource
28
+ class AutomaticPaymentMethods < Stripe::StripeObject
29
+ # Controls whether this SetupIntent will accept redirect-based payment methods.
30
+ #
31
+ # Redirect-based payment methods may require your customer to be redirected to a payment method's app or site for authentication or additional steps. To [confirm](https://stripe.com/docs/api/setup_intents/confirm) this SetupIntent, you may be required to provide a `return_url` to redirect customers back to your site after they authenticate or complete the setup.
32
+ sig { returns(String) }
33
+ attr_reader :allow_redirects
34
+ # Automatically calculates compatible payment methods
35
+ sig { returns(T.nilable(T::Boolean)) }
36
+ attr_reader :enabled
37
+ end
38
+ class LastSetupError < Stripe::StripeObject
39
+ # For card errors resulting from a card issuer decline, a short string indicating [how to proceed with an error](https://stripe.com/docs/declines#retrying-issuer-declines) if they provide one.
40
+ sig { returns(String) }
41
+ attr_reader :advice_code
42
+ # For card errors, the ID of the failed charge.
43
+ sig { returns(String) }
44
+ attr_reader :charge
45
+ # For some errors that could be handled programmatically, a short string indicating the [error code](https://stripe.com/docs/error-codes) reported.
46
+ sig { returns(String) }
47
+ attr_reader :code
48
+ # For card errors resulting from a card issuer decline, a short string indicating the [card issuer's reason for the decline](https://stripe.com/docs/declines#issuer-declines) if they provide one.
49
+ sig { returns(String) }
50
+ attr_reader :decline_code
51
+ # A URL to more information about the [error code](https://stripe.com/docs/error-codes) reported.
52
+ sig { returns(String) }
53
+ attr_reader :doc_url
54
+ # A human-readable message providing more details about the error. For card errors, these messages can be shown to your users.
55
+ sig { returns(String) }
56
+ attr_reader :message
57
+ # For card errors resulting from a card issuer decline, a 2 digit code which indicates the advice given to merchant by the card network on how to proceed with an error.
58
+ sig { returns(String) }
59
+ attr_reader :network_advice_code
60
+ # For card errors resulting from a card issuer decline, a brand specific 2, 3, or 4 digit code which indicates the reason the authorization failed.
61
+ sig { returns(String) }
62
+ attr_reader :network_decline_code
63
+ # If the error is parameter-specific, the parameter related to the error. For example, you can use this to display a message near the correct form field.
64
+ sig { returns(String) }
65
+ attr_reader :param
66
+ # A PaymentIntent guides you through the process of collecting a payment from your customer.
67
+ # We recommend that you create exactly one PaymentIntent for each order or
68
+ # customer session in your system. You can reference the PaymentIntent later to
69
+ # see the history of payment attempts for a particular session.
70
+ #
71
+ # A PaymentIntent transitions through
72
+ # [multiple statuses](https://stripe.com/docs/payments/intents#intent-statuses)
73
+ # throughout its lifetime as it interfaces with Stripe.js to perform
74
+ # authentication flows and ultimately creates at most one successful charge.
75
+ #
76
+ # Related guide: [Payment Intents API](https://stripe.com/docs/payments/payment-intents)
77
+ sig { returns(Stripe::PaymentIntent) }
78
+ attr_reader :payment_intent
79
+ # PaymentMethod objects represent your customer's payment instruments.
80
+ # You can use them with [PaymentIntents](https://stripe.com/docs/payments/payment-intents) to collect payments or save them to
81
+ # Customer objects to store instrument details for future payments.
82
+ #
83
+ # Related guides: [Payment Methods](https://stripe.com/docs/payments/payment-methods) and [More Payment Scenarios](https://stripe.com/docs/payments/more-payment-scenarios).
84
+ sig { returns(Stripe::PaymentMethod) }
85
+ attr_reader :payment_method
86
+ # If the error is specific to the type of payment method, the payment method type that had a problem. This field is only populated for invoice-related errors.
87
+ sig { returns(String) }
88
+ attr_reader :payment_method_type
89
+ # A URL to the request log entry in your dashboard.
90
+ sig { returns(String) }
91
+ attr_reader :request_log_url
92
+ # A SetupIntent guides you through the process of setting up and saving a customer's payment credentials for future payments.
93
+ # For example, you can use a SetupIntent to set up and save your customer's card without immediately collecting a payment.
94
+ # Later, you can use [PaymentIntents](https://stripe.com/docs/api#payment_intents) to drive the payment flow.
95
+ #
96
+ # Create a SetupIntent when you're ready to collect your customer's payment credentials.
97
+ # Don't maintain long-lived, unconfirmed SetupIntents because they might not be valid.
98
+ # The SetupIntent transitions through multiple [statuses](https://docs.stripe.com/payments/intents#intent-statuses) as it guides
99
+ # you through the setup process.
100
+ #
101
+ # Successful SetupIntents result in payment credentials that are optimized for future payments.
102
+ # For example, cardholders in [certain regions](https://stripe.com/guides/strong-customer-authentication) might need to be run through
103
+ # [Strong Customer Authentication](https://docs.stripe.com/strong-customer-authentication) during payment method collection
104
+ # to streamline later [off-session payments](https://docs.stripe.com/payments/setup-intents).
105
+ # If you use the SetupIntent with a [Customer](https://stripe.com/docs/api#setup_intent_object-customer),
106
+ # it automatically attaches the resulting payment method to that Customer after successful setup.
107
+ # We recommend using SetupIntents or [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) on
108
+ # PaymentIntents to save payment methods to prevent saving invalid or unoptimized payment methods.
109
+ #
110
+ # By using SetupIntents, you can reduce friction for your customers, even as regulations change over time.
111
+ #
112
+ # Related guide: [Setup Intents API](https://docs.stripe.com/payments/setup-intents)
113
+ sig { returns(Stripe::SetupIntent) }
114
+ attr_reader :setup_intent
115
+ # Attribute for field source
116
+ sig { returns(T.any(Stripe::Account, Stripe::BankAccount, Stripe::Card, Stripe::Source)) }
117
+ attr_reader :source
118
+ # The type of error returned. One of `api_error`, `card_error`, `idempotency_error`, or `invalid_request_error`
119
+ sig { returns(String) }
120
+ attr_reader :type
121
+ end
122
+ class NextAction < Stripe::StripeObject
123
+ class CashappHandleRedirectOrDisplayQrCode < Stripe::StripeObject
124
+ class QrCode < Stripe::StripeObject
125
+ # The date (unix timestamp) when the QR code expires.
126
+ sig { returns(Integer) }
127
+ attr_reader :expires_at
128
+ # The image_url_png string used to render QR code
129
+ sig { returns(String) }
130
+ attr_reader :image_url_png
131
+ # The image_url_svg string used to render QR code
132
+ sig { returns(String) }
133
+ attr_reader :image_url_svg
134
+ end
135
+ # The URL to the hosted Cash App Pay instructions page, which allows customers to view the QR code, and supports QR code refreshing on expiration.
136
+ sig { returns(String) }
137
+ attr_reader :hosted_instructions_url
138
+ # The url for mobile redirect based auth
139
+ sig { returns(String) }
140
+ attr_reader :mobile_auth_url
141
+ # Attribute for field qr_code
142
+ sig { returns(QrCode) }
143
+ attr_reader :qr_code
144
+ end
145
+ class RedirectToUrl < Stripe::StripeObject
146
+ # If the customer does not exit their browser while authenticating, they will be redirected to this specified URL after completion.
147
+ sig { returns(T.nilable(String)) }
148
+ attr_reader :return_url
149
+ # The URL you must redirect your customer to in order to authenticate.
150
+ sig { returns(T.nilable(String)) }
151
+ attr_reader :url
152
+ end
153
+ class VerifyWithMicrodeposits < Stripe::StripeObject
154
+ # The timestamp when the microdeposits are expected to land.
155
+ sig { returns(Integer) }
156
+ attr_reader :arrival_date
157
+ # The URL for the hosted verification page, which allows customers to verify their bank account.
158
+ sig { returns(String) }
159
+ attr_reader :hosted_verification_url
160
+ # The type of the microdeposit sent to the customer. Used to distinguish between different verification methods.
161
+ sig { returns(T.nilable(String)) }
162
+ attr_reader :microdeposit_type
163
+ end
164
+ # Attribute for field cashapp_handle_redirect_or_display_qr_code
165
+ sig { returns(CashappHandleRedirectOrDisplayQrCode) }
166
+ attr_reader :cashapp_handle_redirect_or_display_qr_code
167
+ # Attribute for field redirect_to_url
168
+ sig { returns(RedirectToUrl) }
169
+ attr_reader :redirect_to_url
170
+ # 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`.
171
+ sig { returns(String) }
172
+ attr_reader :type
173
+ # When confirming a SetupIntent 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.
174
+ sig { returns(T::Hash[String, T.untyped]) }
175
+ attr_reader :use_stripe_sdk
176
+ # Attribute for field verify_with_microdeposits
177
+ sig { returns(VerifyWithMicrodeposits) }
178
+ attr_reader :verify_with_microdeposits
179
+ end
180
+ class PaymentMethodConfigurationDetails < Stripe::StripeObject
181
+ # ID of the payment method configuration used.
182
+ sig { returns(String) }
183
+ attr_reader :id
184
+ # ID of the parent payment method configuration used.
185
+ sig { returns(T.nilable(String)) }
186
+ attr_reader :parent
187
+ end
188
+ class PaymentMethodOptions < Stripe::StripeObject
189
+ class AcssDebit < Stripe::StripeObject
190
+ class MandateOptions < Stripe::StripeObject
191
+ # A URL for custom mandate text
192
+ sig { returns(String) }
193
+ attr_reader :custom_mandate_url
194
+ # List of Stripe products where this mandate can be selected automatically.
195
+ sig { returns(T::Array[String]) }
196
+ attr_reader :default_for
197
+ # Description of the interval. Only required if the 'payment_schedule' parameter is 'interval' or 'combined'.
198
+ sig { returns(T.nilable(String)) }
199
+ attr_reader :interval_description
200
+ # Payment schedule for the mandate.
201
+ sig { returns(T.nilable(String)) }
202
+ attr_reader :payment_schedule
203
+ # Transaction type of the mandate.
204
+ sig { returns(T.nilable(String)) }
205
+ attr_reader :transaction_type
206
+ end
207
+ # Currency supported by the bank account
208
+ sig { returns(T.nilable(String)) }
209
+ attr_reader :currency
210
+ # Attribute for field mandate_options
211
+ sig { returns(MandateOptions) }
212
+ attr_reader :mandate_options
213
+ # Bank account verification method.
214
+ sig { returns(String) }
215
+ attr_reader :verification_method
216
+ end
217
+ class AmazonPay < Stripe::StripeObject; end
218
+ class BacsDebit < Stripe::StripeObject
219
+ class MandateOptions < Stripe::StripeObject
220
+ # 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 'DDIC' or 'STRIPE'.
221
+ sig { returns(String) }
222
+ attr_reader :reference_prefix
223
+ end
224
+ # Attribute for field mandate_options
225
+ sig { returns(MandateOptions) }
226
+ attr_reader :mandate_options
227
+ end
228
+ class Card < Stripe::StripeObject
229
+ class MandateOptions < Stripe::StripeObject
230
+ # Amount to be charged for future payments.
231
+ sig { returns(Integer) }
232
+ attr_reader :amount
233
+ # One of `fixed` or `maximum`. If `fixed`, the `amount` param refers to the exact amount to be charged in future payments. If `maximum`, the amount charged can be up to the value passed for the `amount` param.
234
+ sig { returns(String) }
235
+ attr_reader :amount_type
236
+ # Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
237
+ sig { returns(String) }
238
+ attr_reader :currency
239
+ # A description of the mandate or subscription that is meant to be displayed to the customer.
240
+ sig { returns(T.nilable(String)) }
241
+ attr_reader :description
242
+ # End date of the mandate or subscription. If not provided, the mandate will be active until canceled. If provided, end date should be after start date.
243
+ sig { returns(T.nilable(Integer)) }
244
+ attr_reader :end_date
245
+ # Specifies payment frequency. One of `day`, `week`, `month`, `year`, or `sporadic`.
246
+ sig { returns(String) }
247
+ attr_reader :interval
248
+ # The number of intervals between payments. For example, `interval=month` and `interval_count=3` indicates one payment every three months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks). This parameter is optional when `interval=sporadic`.
249
+ sig { returns(T.nilable(Integer)) }
250
+ attr_reader :interval_count
251
+ # Unique identifier for the mandate or subscription.
252
+ sig { returns(String) }
253
+ attr_reader :reference
254
+ # Start date of the mandate or subscription. Start date should not be lesser than yesterday.
255
+ sig { returns(Integer) }
256
+ attr_reader :start_date
257
+ # Specifies the type of mandates supported. Possible values are `india`.
258
+ sig { returns(T.nilable(T::Array[String])) }
259
+ attr_reader :supported_types
260
+ end
261
+ # Configuration options for setting up an eMandate for cards issued in India.
262
+ sig { returns(T.nilable(MandateOptions)) }
263
+ attr_reader :mandate_options
264
+ # Selected network to process this SetupIntent on. Depends on the available networks of the card attached to the setup intent. Can be only set confirm-time.
265
+ sig { returns(T.nilable(String)) }
266
+ attr_reader :network
267
+ # We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. If not provided, this value defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine.
268
+ sig { returns(T.nilable(String)) }
269
+ attr_reader :request_three_d_secure
270
+ end
271
+ class CardPresent < Stripe::StripeObject; end
272
+ class Link < Stripe::StripeObject
273
+ # [Deprecated] This is a legacy parameter that no longer has any function.
274
+ sig { returns(T.nilable(String)) }
275
+ attr_reader :persistent_token
276
+ end
277
+ class Paypal < Stripe::StripeObject
278
+ # The PayPal Billing Agreement ID (BAID). This is an ID generated by PayPal which represents the mandate between the merchant and the customer.
279
+ sig { returns(T.nilable(String)) }
280
+ attr_reader :billing_agreement_id
281
+ end
282
+ class SepaDebit < Stripe::StripeObject
283
+ class MandateOptions < Stripe::StripeObject
284
+ # 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'.
285
+ sig { returns(String) }
286
+ attr_reader :reference_prefix
287
+ end
288
+ # Attribute for field mandate_options
289
+ sig { returns(MandateOptions) }
290
+ attr_reader :mandate_options
291
+ end
292
+ class UsBankAccount < Stripe::StripeObject
293
+ class FinancialConnections < Stripe::StripeObject
294
+ class Filters < Stripe::StripeObject
295
+ # The account subcategories to use to filter for possible accounts to link. Valid subcategories are `checking` and `savings`.
296
+ sig { returns(T::Array[String]) }
297
+ attr_reader :account_subcategories
298
+ end
299
+ # Attribute for field filters
300
+ sig { returns(Filters) }
301
+ attr_reader :filters
302
+ # The list of permissions to request. The `payment_method` permission must be included.
303
+ sig { returns(T::Array[String]) }
304
+ attr_reader :permissions
305
+ # Data features requested to be retrieved upon account creation.
306
+ sig { returns(T.nilable(T::Array[String])) }
307
+ attr_reader :prefetch
308
+ # For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app.
309
+ sig { returns(String) }
310
+ attr_reader :return_url
311
+ end
312
+ class MandateOptions < Stripe::StripeObject
313
+ # Mandate collection method
314
+ sig { returns(String) }
315
+ attr_reader :collection_method
316
+ end
317
+ # Attribute for field financial_connections
318
+ sig { returns(FinancialConnections) }
319
+ attr_reader :financial_connections
320
+ # Attribute for field mandate_options
321
+ sig { returns(MandateOptions) }
322
+ attr_reader :mandate_options
323
+ # Bank account verification method.
324
+ sig { returns(String) }
325
+ attr_reader :verification_method
326
+ end
327
+ # Attribute for field acss_debit
328
+ sig { returns(AcssDebit) }
329
+ attr_reader :acss_debit
330
+ # Attribute for field amazon_pay
331
+ sig { returns(AmazonPay) }
332
+ attr_reader :amazon_pay
333
+ # Attribute for field bacs_debit
334
+ sig { returns(BacsDebit) }
335
+ attr_reader :bacs_debit
336
+ # Attribute for field card
337
+ sig { returns(Card) }
338
+ attr_reader :card
339
+ # Attribute for field card_present
340
+ sig { returns(CardPresent) }
341
+ attr_reader :card_present
342
+ # Attribute for field link
343
+ sig { returns(Link) }
344
+ attr_reader :link
345
+ # Attribute for field paypal
346
+ sig { returns(Paypal) }
347
+ attr_reader :paypal
348
+ # Attribute for field sepa_debit
349
+ sig { returns(SepaDebit) }
350
+ attr_reader :sepa_debit
351
+ # Attribute for field us_bank_account
352
+ sig { returns(UsBankAccount) }
353
+ attr_reader :us_bank_account
354
+ end
355
+ # ID of the Connect application that created the SetupIntent.
356
+ sig { returns(T.nilable(T.any(String, Stripe::Application))) }
357
+ attr_reader :application
358
+ # If present, the SetupIntent's payment method will be attached to the in-context Stripe Account.
359
+ #
360
+ # It can only be used for this Stripe Account’s own money movement flows like InboundTransfer and OutboundTransfers. It cannot be set to true when setting up a PaymentMethod for a Customer, and defaults to false when attaching a PaymentMethod to a Customer.
361
+ sig { returns(T::Boolean) }
362
+ attr_reader :attach_to_self
363
+ # Settings for dynamic payment methods compatible with this Setup Intent
364
+ sig { returns(T.nilable(AutomaticPaymentMethods)) }
365
+ attr_reader :automatic_payment_methods
366
+ # Reason for cancellation of this SetupIntent, one of `abandoned`, `requested_by_customer`, or `duplicate`.
367
+ sig { returns(T.nilable(String)) }
368
+ attr_reader :cancellation_reason
369
+ # The client secret of this SetupIntent. Used for client-side retrieval using a publishable key.
370
+ #
371
+ # The client secret can be used to complete payment setup from your frontend. It should not be stored, logged, or exposed to anyone other than the customer. Make sure that you have TLS enabled on any page that includes the client secret.
372
+ sig { returns(T.nilable(String)) }
373
+ attr_reader :client_secret
374
+ # Time at which the object was created. Measured in seconds since the Unix epoch.
375
+ sig { returns(Integer) }
376
+ attr_reader :created
377
+ # ID of the Customer this SetupIntent belongs to, if one exists.
378
+ #
379
+ # If present, the SetupIntent's payment method will be attached to the Customer on successful setup. Payment methods attached to other Customers cannot be used with this SetupIntent.
380
+ sig { returns(T.nilable(T.any(String, Stripe::Customer))) }
381
+ attr_reader :customer
382
+ # An arbitrary string attached to the object. Often useful for displaying to users.
383
+ sig { returns(T.nilable(String)) }
384
+ attr_reader :description
385
+ # Indicates the directions of money movement for which this payment method is intended to be used.
386
+ #
387
+ # Include `inbound` if you intend to use the payment method as the origin to pull funds from. Include `outbound` if you intend to use the payment method as the destination to send funds to. You can include both if you intend to use the payment method for both purposes.
388
+ sig { returns(T.nilable(T::Array[String])) }
389
+ attr_reader :flow_directions
390
+ # Unique identifier for the object.
391
+ sig { returns(String) }
392
+ attr_reader :id
393
+ # The error encountered in the previous SetupIntent confirmation.
394
+ sig { returns(T.nilable(LastSetupError)) }
395
+ attr_reader :last_setup_error
396
+ # The most recent SetupAttempt for this SetupIntent.
397
+ sig { returns(T.nilable(T.any(String, Stripe::SetupAttempt))) }
398
+ attr_reader :latest_attempt
399
+ # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
400
+ sig { returns(T::Boolean) }
401
+ attr_reader :livemode
402
+ # ID of the multi use Mandate generated by the SetupIntent.
403
+ sig { returns(T.nilable(T.any(String, Stripe::Mandate))) }
404
+ attr_reader :mandate
405
+ # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
406
+ sig { returns(T.nilable(T::Hash[String, String])) }
407
+ attr_reader :metadata
408
+ # If present, this property tells you what actions you need to take in order for your customer to continue payment setup.
409
+ sig { returns(T.nilable(NextAction)) }
410
+ attr_reader :next_action
411
+ # String representing the object's type. Objects of the same type share the same value.
412
+ sig { returns(String) }
413
+ attr_reader :object
414
+ # The account (if any) for which the setup is intended.
415
+ sig { returns(T.nilable(T.any(String, Stripe::Account))) }
416
+ attr_reader :on_behalf_of
417
+ # ID of the payment method used with this SetupIntent. If the payment method is `card_present` and isn't a digital wallet, then the [generated_card](https://docs.stripe.com/api/setup_attempts/object#setup_attempt_object-payment_method_details-card_present-generated_card) associated with the `latest_attempt` is attached to the Customer instead.
418
+ sig { returns(T.nilable(T.any(String, Stripe::PaymentMethod))) }
419
+ attr_reader :payment_method
420
+ # Information about the [payment method configuration](https://stripe.com/docs/api/payment_method_configurations) used for this Setup Intent.
421
+ sig { returns(T.nilable(PaymentMethodConfigurationDetails)) }
422
+ attr_reader :payment_method_configuration_details
423
+ # Payment method-specific configuration for this SetupIntent.
424
+ sig { returns(T.nilable(PaymentMethodOptions)) }
425
+ attr_reader :payment_method_options
426
+ # The list of payment method types (e.g. card) that this SetupIntent is allowed to set up.
427
+ sig { returns(T::Array[String]) }
428
+ attr_reader :payment_method_types
429
+ # ID of the single_use Mandate generated by the SetupIntent.
430
+ sig { returns(T.nilable(T.any(String, Stripe::Mandate))) }
431
+ attr_reader :single_use_mandate
432
+ # [Status](https://stripe.com/docs/payments/intents#intent-statuses) of this SetupIntent, one of `requires_payment_method`, `requires_confirmation`, `requires_action`, `processing`, `canceled`, or `succeeded`.
433
+ sig { returns(String) }
434
+ attr_reader :status
435
+ # Indicates how the payment method is intended to be used in the future.
436
+ #
437
+ # Use `on_session` if you intend to only reuse the payment method when the customer is in your checkout flow. Use `off_session` if your customer may or may not be in your checkout flow. If not provided, this value defaults to `off_session`.
438
+ sig { returns(String) }
439
+ attr_reader :usage
440
+ class ListParams < Stripe::RequestParams
441
+ class Created < Stripe::RequestParams
442
+ # Minimum value to filter by (exclusive)
443
+ sig { returns(T.nilable(Integer)) }
444
+ attr_accessor :gt
445
+ # Minimum value to filter by (inclusive)
446
+ sig { returns(T.nilable(Integer)) }
447
+ attr_accessor :gte
448
+ # Maximum value to filter by (exclusive)
449
+ sig { returns(T.nilable(Integer)) }
450
+ attr_accessor :lt
451
+ # Maximum value to filter by (inclusive)
452
+ sig { returns(T.nilable(Integer)) }
453
+ attr_accessor :lte
454
+ sig {
455
+ params(gt: T.nilable(Integer), gte: T.nilable(Integer), lt: T.nilable(Integer), lte: T.nilable(Integer)).void
456
+ }
457
+ def initialize(gt: nil, gte: nil, lt: nil, lte: nil); end
458
+ end
459
+ # If present, the SetupIntent's payment method will be attached to the in-context Stripe Account.
460
+ #
461
+ # It can only be used for this Stripe Account’s own money movement flows like InboundTransfer and OutboundTransfers. It cannot be set to true when setting up a PaymentMethod for a Customer, and defaults to false when attaching a PaymentMethod to a Customer.
462
+ sig { returns(T.nilable(T::Boolean)) }
463
+ attr_accessor :attach_to_self
464
+ # A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options.
465
+ sig { returns(T.nilable(T.any(::Stripe::SetupIntent::ListParams::Created, Integer))) }
466
+ attr_accessor :created
467
+ # Only return SetupIntents for the customer specified by this customer ID.
468
+ sig { returns(T.nilable(String)) }
469
+ attr_accessor :customer
470
+ # A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
471
+ sig { returns(T.nilable(String)) }
472
+ attr_accessor :ending_before
473
+ # Specifies which fields in the response should be expanded.
474
+ sig { returns(T.nilable(T::Array[String])) }
475
+ attr_accessor :expand
476
+ # A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
477
+ sig { returns(T.nilable(Integer)) }
478
+ attr_accessor :limit
479
+ # Only return SetupIntents that associate with the specified payment method.
480
+ sig { returns(T.nilable(String)) }
481
+ attr_accessor :payment_method
482
+ # A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
483
+ sig { returns(T.nilable(String)) }
484
+ attr_accessor :starting_after
485
+ sig {
486
+ params(attach_to_self: T.nilable(T::Boolean), created: T.nilable(T.any(::Stripe::SetupIntent::ListParams::Created, Integer)), customer: T.nilable(String), ending_before: T.nilable(String), expand: T.nilable(T::Array[String]), limit: T.nilable(Integer), payment_method: T.nilable(String), starting_after: T.nilable(String)).void
487
+ }
488
+ def initialize(
489
+ attach_to_self: nil,
490
+ created: nil,
491
+ customer: nil,
492
+ ending_before: nil,
493
+ expand: nil,
494
+ limit: nil,
495
+ payment_method: nil,
496
+ starting_after: nil
497
+ ); end
498
+ end
499
+ class CreateParams < Stripe::RequestParams
500
+ class AutomaticPaymentMethods < Stripe::RequestParams
501
+ # Controls whether this SetupIntent will accept redirect-based payment methods.
502
+ #
503
+ # Redirect-based payment methods may require your customer to be redirected to a payment method's app or site for authentication or additional steps. To [confirm](https://stripe.com/docs/api/setup_intents/confirm) this SetupIntent, you may be required to provide a `return_url` to redirect customers back to your site after they authenticate or complete the setup.
504
+ sig { returns(T.nilable(String)) }
505
+ attr_accessor :allow_redirects
506
+ # Whether this feature is enabled.
507
+ sig { returns(T::Boolean) }
508
+ attr_accessor :enabled
509
+ sig { params(allow_redirects: T.nilable(String), enabled: T::Boolean).void }
510
+ def initialize(allow_redirects: nil, enabled: nil); end
511
+ end
512
+ class MandateData < Stripe::RequestParams
513
+ class CustomerAcceptance < Stripe::RequestParams
514
+ class Offline < Stripe::RequestParams; end
515
+ class Online < Stripe::RequestParams
516
+ # The IP address from which the Mandate was accepted by the customer.
517
+ sig { returns(String) }
518
+ attr_accessor :ip_address
519
+ # The user agent of the browser from which the Mandate was accepted by the customer.
520
+ sig { returns(String) }
521
+ attr_accessor :user_agent
522
+ sig { params(ip_address: String, user_agent: String).void }
523
+ def initialize(ip_address: nil, user_agent: nil); end
524
+ end
525
+ # The time at which the customer accepted the Mandate.
526
+ sig { returns(T.nilable(Integer)) }
527
+ attr_accessor :accepted_at
528
+ # If this is a Mandate accepted offline, this hash contains details about the offline acceptance.
529
+ sig {
530
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::MandateData::CustomerAcceptance::Offline))
531
+ }
532
+ attr_accessor :offline
533
+ # If this is a Mandate accepted online, this hash contains details about the online acceptance.
534
+ sig {
535
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::MandateData::CustomerAcceptance::Online))
536
+ }
537
+ attr_accessor :online
538
+ # The type of customer acceptance information included with the Mandate. One of `online` or `offline`.
539
+ sig { returns(String) }
540
+ attr_accessor :type
541
+ sig {
542
+ params(accepted_at: T.nilable(Integer), offline: T.nilable(::Stripe::SetupIntent::CreateParams::MandateData::CustomerAcceptance::Offline), online: T.nilable(::Stripe::SetupIntent::CreateParams::MandateData::CustomerAcceptance::Online), type: String).void
543
+ }
544
+ def initialize(accepted_at: nil, offline: nil, online: nil, type: nil); end
545
+ end
546
+ # This hash contains details about the customer acceptance of the Mandate.
547
+ sig { returns(::Stripe::SetupIntent::CreateParams::MandateData::CustomerAcceptance) }
548
+ attr_accessor :customer_acceptance
549
+ sig {
550
+ params(customer_acceptance: ::Stripe::SetupIntent::CreateParams::MandateData::CustomerAcceptance).void
551
+ }
552
+ def initialize(customer_acceptance: nil); end
553
+ end
554
+ class PaymentMethodData < Stripe::RequestParams
555
+ class AcssDebit < Stripe::RequestParams
556
+ # Customer's bank account number.
557
+ sig { returns(String) }
558
+ attr_accessor :account_number
559
+ # Institution number of the customer's bank.
560
+ sig { returns(String) }
561
+ attr_accessor :institution_number
562
+ # Transit number of the customer's bank.
563
+ sig { returns(String) }
564
+ attr_accessor :transit_number
565
+ sig {
566
+ params(account_number: String, institution_number: String, transit_number: String).void
567
+ }
568
+ def initialize(account_number: nil, institution_number: nil, transit_number: nil); end
569
+ end
570
+ class Affirm < Stripe::RequestParams; end
571
+ class AfterpayClearpay < Stripe::RequestParams; end
572
+ class Alipay < Stripe::RequestParams; end
573
+ class Alma < Stripe::RequestParams; end
574
+ class AmazonPay < Stripe::RequestParams; end
575
+ class AuBecsDebit < Stripe::RequestParams
576
+ # The account number for the bank account.
577
+ sig { returns(String) }
578
+ attr_accessor :account_number
579
+ # Bank-State-Branch number of the bank account.
580
+ sig { returns(String) }
581
+ attr_accessor :bsb_number
582
+ sig { params(account_number: String, bsb_number: String).void }
583
+ def initialize(account_number: nil, bsb_number: nil); end
584
+ end
585
+ class BacsDebit < Stripe::RequestParams
586
+ # Account number of the bank account that the funds will be debited from.
587
+ sig { returns(T.nilable(String)) }
588
+ attr_accessor :account_number
589
+ # Sort code of the bank account. (e.g., `10-20-30`)
590
+ sig { returns(T.nilable(String)) }
591
+ attr_accessor :sort_code
592
+ sig { params(account_number: T.nilable(String), sort_code: T.nilable(String)).void }
593
+ def initialize(account_number: nil, sort_code: nil); end
594
+ end
595
+ class Bancontact < Stripe::RequestParams; end
596
+ class Billie < Stripe::RequestParams; end
597
+ class BillingDetails < Stripe::RequestParams
598
+ class Address < Stripe::RequestParams
599
+ # City, district, suburb, town, or village.
600
+ sig { returns(T.nilable(String)) }
601
+ attr_accessor :city
602
+ # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
603
+ sig { returns(T.nilable(String)) }
604
+ attr_accessor :country
605
+ # Address line 1 (e.g., street, PO Box, or company name).
606
+ sig { returns(T.nilable(String)) }
607
+ attr_accessor :line1
608
+ # Address line 2 (e.g., apartment, suite, unit, or building).
609
+ sig { returns(T.nilable(String)) }
610
+ attr_accessor :line2
611
+ # ZIP or postal code.
612
+ sig { returns(T.nilable(String)) }
613
+ attr_accessor :postal_code
614
+ # State, county, province, or region.
615
+ sig { returns(T.nilable(String)) }
616
+ attr_accessor :state
617
+ sig {
618
+ params(city: T.nilable(String), country: T.nilable(String), line1: T.nilable(String), line2: T.nilable(String), postal_code: T.nilable(String), state: T.nilable(String)).void
619
+ }
620
+ def initialize(
621
+ city: nil,
622
+ country: nil,
623
+ line1: nil,
624
+ line2: nil,
625
+ postal_code: nil,
626
+ state: nil
627
+ ); end
628
+ end
629
+ # Billing address.
630
+ sig {
631
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::SetupIntent::CreateParams::PaymentMethodData::BillingDetails::Address))))
632
+ }
633
+ attr_accessor :address
634
+ # Email address.
635
+ sig { returns(T.nilable(T.nilable(String))) }
636
+ attr_accessor :email
637
+ # Full name.
638
+ sig { returns(T.nilable(T.nilable(String))) }
639
+ attr_accessor :name
640
+ # Billing phone number (including extension).
641
+ sig { returns(T.nilable(T.nilable(String))) }
642
+ attr_accessor :phone
643
+ # Taxpayer identification number. Used only for transactions between LATAM buyers and non-LATAM sellers.
644
+ sig { returns(T.nilable(String)) }
645
+ attr_accessor :tax_id
646
+ sig {
647
+ params(address: T.nilable(T.nilable(T.any(String, ::Stripe::SetupIntent::CreateParams::PaymentMethodData::BillingDetails::Address))), email: T.nilable(T.nilable(String)), name: T.nilable(T.nilable(String)), phone: T.nilable(T.nilable(String)), tax_id: T.nilable(String)).void
648
+ }
649
+ def initialize(address: nil, email: nil, name: nil, phone: nil, tax_id: nil); end
650
+ end
651
+ class Blik < Stripe::RequestParams; end
652
+ class Boleto < Stripe::RequestParams
653
+ # The tax ID of the customer (CPF for individual consumers or CNPJ for businesses consumers)
654
+ sig { returns(String) }
655
+ attr_accessor :tax_id
656
+ sig { params(tax_id: String).void }
657
+ def initialize(tax_id: nil); end
658
+ end
659
+ class Cashapp < Stripe::RequestParams; end
660
+ class CustomerBalance < Stripe::RequestParams; end
661
+ class Eps < Stripe::RequestParams
662
+ # The customer's bank.
663
+ sig { returns(T.nilable(String)) }
664
+ attr_accessor :bank
665
+ sig { params(bank: T.nilable(String)).void }
666
+ def initialize(bank: nil); end
667
+ end
668
+ class Fpx < Stripe::RequestParams
669
+ # Account holder type for FPX transaction
670
+ sig { returns(T.nilable(String)) }
671
+ attr_accessor :account_holder_type
672
+ # The customer's bank.
673
+ sig { returns(String) }
674
+ attr_accessor :bank
675
+ sig { params(account_holder_type: T.nilable(String), bank: String).void }
676
+ def initialize(account_holder_type: nil, bank: nil); end
677
+ end
678
+ class Giropay < Stripe::RequestParams; end
679
+ class Grabpay < Stripe::RequestParams; end
680
+ class Ideal < Stripe::RequestParams
681
+ # The customer's bank. Only use this parameter for existing customers. Don't use it for new customers.
682
+ sig { returns(T.nilable(String)) }
683
+ attr_accessor :bank
684
+ sig { params(bank: T.nilable(String)).void }
685
+ def initialize(bank: nil); end
686
+ end
687
+ class InteracPresent < Stripe::RequestParams; end
688
+ class KakaoPay < Stripe::RequestParams; end
689
+ class Klarna < Stripe::RequestParams
690
+ class Dob < Stripe::RequestParams
691
+ # The day of birth, between 1 and 31.
692
+ sig { returns(Integer) }
693
+ attr_accessor :day
694
+ # The month of birth, between 1 and 12.
695
+ sig { returns(Integer) }
696
+ attr_accessor :month
697
+ # The four-digit year of birth.
698
+ sig { returns(Integer) }
699
+ attr_accessor :year
700
+ sig { params(day: Integer, month: Integer, year: Integer).void }
701
+ def initialize(day: nil, month: nil, year: nil); end
702
+ end
703
+ # Customer's date of birth
704
+ sig {
705
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Klarna::Dob))
706
+ }
707
+ attr_accessor :dob
708
+ sig {
709
+ params(dob: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Klarna::Dob)).void
710
+ }
711
+ def initialize(dob: nil); end
712
+ end
713
+ class Konbini < Stripe::RequestParams; end
714
+ class KrCard < Stripe::RequestParams; end
715
+ class Link < Stripe::RequestParams; end
716
+ class Mobilepay < Stripe::RequestParams; end
717
+ class Multibanco < Stripe::RequestParams; end
718
+ class NaverPay < Stripe::RequestParams
719
+ # Whether to use Naver Pay points or a card to fund this transaction. If not provided, this defaults to `card`.
720
+ sig { returns(T.nilable(String)) }
721
+ attr_accessor :funding
722
+ sig { params(funding: T.nilable(String)).void }
723
+ def initialize(funding: nil); end
724
+ end
725
+ class NzBankAccount < Stripe::RequestParams
726
+ # The name on the bank account. Only required if the account holder name is different from the name of the authorized signatory collected in the PaymentMethod’s billing details.
727
+ sig { returns(T.nilable(String)) }
728
+ attr_accessor :account_holder_name
729
+ # The account number for the bank account.
730
+ sig { returns(String) }
731
+ attr_accessor :account_number
732
+ # The numeric code for the bank account's bank.
733
+ sig { returns(String) }
734
+ attr_accessor :bank_code
735
+ # The numeric code for the bank account's bank branch.
736
+ sig { returns(String) }
737
+ attr_accessor :branch_code
738
+ # Attribute for param field reference
739
+ sig { returns(T.nilable(String)) }
740
+ attr_accessor :reference
741
+ # The suffix of the bank account number.
742
+ sig { returns(String) }
743
+ attr_accessor :suffix
744
+ sig {
745
+ params(account_holder_name: T.nilable(String), account_number: String, bank_code: String, branch_code: String, reference: T.nilable(String), suffix: String).void
746
+ }
747
+ def initialize(
748
+ account_holder_name: nil,
749
+ account_number: nil,
750
+ bank_code: nil,
751
+ branch_code: nil,
752
+ reference: nil,
753
+ suffix: nil
754
+ ); end
755
+ end
756
+ class Oxxo < Stripe::RequestParams; end
757
+ class P24 < Stripe::RequestParams
758
+ # The customer's bank.
759
+ sig { returns(T.nilable(String)) }
760
+ attr_accessor :bank
761
+ sig { params(bank: T.nilable(String)).void }
762
+ def initialize(bank: nil); end
763
+ end
764
+ class PayByBank < Stripe::RequestParams; end
765
+ class Payco < Stripe::RequestParams; end
766
+ class Paynow < Stripe::RequestParams; end
767
+ class Paypal < Stripe::RequestParams; end
768
+ class Pix < Stripe::RequestParams; end
769
+ class Promptpay < Stripe::RequestParams; end
770
+ class RadarOptions < Stripe::RequestParams
771
+ # 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.
772
+ sig { returns(T.nilable(String)) }
773
+ attr_accessor :session
774
+ sig { params(session: T.nilable(String)).void }
775
+ def initialize(session: nil); end
776
+ end
777
+ class RevolutPay < Stripe::RequestParams; end
778
+ class SamsungPay < Stripe::RequestParams; end
779
+ class Satispay < Stripe::RequestParams; end
780
+ class SepaDebit < Stripe::RequestParams
781
+ # IBAN of the bank account.
782
+ sig { returns(String) }
783
+ attr_accessor :iban
784
+ sig { params(iban: String).void }
785
+ def initialize(iban: nil); end
786
+ end
787
+ class Sofort < Stripe::RequestParams
788
+ # Two-letter ISO code representing the country the bank account is located in.
789
+ sig { returns(String) }
790
+ attr_accessor :country
791
+ sig { params(country: String).void }
792
+ def initialize(country: nil); end
793
+ end
794
+ class Swish < Stripe::RequestParams; end
795
+ class Twint < Stripe::RequestParams; end
796
+ class UsBankAccount < Stripe::RequestParams
797
+ # Account holder type: individual or company.
798
+ sig { returns(T.nilable(String)) }
799
+ attr_accessor :account_holder_type
800
+ # Account number of the bank account.
801
+ sig { returns(T.nilable(String)) }
802
+ attr_accessor :account_number
803
+ # Account type: checkings or savings. Defaults to checking if omitted.
804
+ sig { returns(T.nilable(String)) }
805
+ attr_accessor :account_type
806
+ # The ID of a Financial Connections Account to use as a payment method.
807
+ sig { returns(T.nilable(String)) }
808
+ attr_accessor :financial_connections_account
809
+ # Routing number of the bank account.
810
+ sig { returns(T.nilable(String)) }
811
+ attr_accessor :routing_number
812
+ sig {
813
+ params(account_holder_type: T.nilable(String), account_number: T.nilable(String), account_type: T.nilable(String), financial_connections_account: T.nilable(String), routing_number: T.nilable(String)).void
814
+ }
815
+ def initialize(
816
+ account_holder_type: nil,
817
+ account_number: nil,
818
+ account_type: nil,
819
+ financial_connections_account: nil,
820
+ routing_number: nil
821
+ ); end
822
+ end
823
+ class WechatPay < Stripe::RequestParams; end
824
+ class Zip < Stripe::RequestParams; end
825
+ # If this is an `acss_debit` PaymentMethod, this hash contains details about the ACSS Debit payment method.
826
+ sig {
827
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::AcssDebit))
828
+ }
829
+ attr_accessor :acss_debit
830
+ # If this is an `affirm` PaymentMethod, this hash contains details about the Affirm payment method.
831
+ sig { returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Affirm)) }
832
+ attr_accessor :affirm
833
+ # If this is an `AfterpayClearpay` PaymentMethod, this hash contains details about the AfterpayClearpay payment method.
834
+ sig {
835
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::AfterpayClearpay))
836
+ }
837
+ attr_accessor :afterpay_clearpay
838
+ # If this is an `Alipay` PaymentMethod, this hash contains details about the Alipay payment method.
839
+ sig { returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Alipay)) }
840
+ attr_accessor :alipay
841
+ # This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to `unspecified`.
842
+ sig { returns(T.nilable(String)) }
843
+ attr_accessor :allow_redisplay
844
+ # If this is a Alma PaymentMethod, this hash contains details about the Alma payment method.
845
+ sig { returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Alma)) }
846
+ attr_accessor :alma
847
+ # If this is a AmazonPay PaymentMethod, this hash contains details about the AmazonPay payment method.
848
+ sig {
849
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::AmazonPay))
850
+ }
851
+ attr_accessor :amazon_pay
852
+ # If this is an `au_becs_debit` PaymentMethod, this hash contains details about the bank account.
853
+ sig {
854
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::AuBecsDebit))
855
+ }
856
+ attr_accessor :au_becs_debit
857
+ # If this is a `bacs_debit` PaymentMethod, this hash contains details about the Bacs Direct Debit bank account.
858
+ sig {
859
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::BacsDebit))
860
+ }
861
+ attr_accessor :bacs_debit
862
+ # If this is a `bancontact` PaymentMethod, this hash contains details about the Bancontact payment method.
863
+ sig {
864
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Bancontact))
865
+ }
866
+ attr_accessor :bancontact
867
+ # If this is a `billie` PaymentMethod, this hash contains details about the Billie payment method.
868
+ sig { returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Billie)) }
869
+ attr_accessor :billie
870
+ # Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods.
871
+ sig {
872
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::BillingDetails))
873
+ }
874
+ attr_accessor :billing_details
875
+ # If this is a `blik` PaymentMethod, this hash contains details about the BLIK payment method.
876
+ sig { returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Blik)) }
877
+ attr_accessor :blik
878
+ # If this is a `boleto` PaymentMethod, this hash contains details about the Boleto payment method.
879
+ sig { returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Boleto)) }
880
+ attr_accessor :boleto
881
+ # If this is a `cashapp` PaymentMethod, this hash contains details about the Cash App Pay payment method.
882
+ sig { returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Cashapp)) }
883
+ attr_accessor :cashapp
884
+ # If this is a `customer_balance` PaymentMethod, this hash contains details about the CustomerBalance payment method.
885
+ sig {
886
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::CustomerBalance))
887
+ }
888
+ attr_accessor :customer_balance
889
+ # If this is an `eps` PaymentMethod, this hash contains details about the EPS payment method.
890
+ sig { returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Eps)) }
891
+ attr_accessor :eps
892
+ # If this is an `fpx` PaymentMethod, this hash contains details about the FPX payment method.
893
+ sig { returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Fpx)) }
894
+ attr_accessor :fpx
895
+ # If this is a `giropay` PaymentMethod, this hash contains details about the Giropay payment method.
896
+ sig { returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Giropay)) }
897
+ attr_accessor :giropay
898
+ # If this is a `grabpay` PaymentMethod, this hash contains details about the GrabPay payment method.
899
+ sig { returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Grabpay)) }
900
+ attr_accessor :grabpay
901
+ # If this is an `ideal` PaymentMethod, this hash contains details about the iDEAL payment method.
902
+ sig { returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Ideal)) }
903
+ attr_accessor :ideal
904
+ # If this is an `interac_present` PaymentMethod, this hash contains details about the Interac Present payment method.
905
+ sig {
906
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::InteracPresent))
907
+ }
908
+ attr_accessor :interac_present
909
+ # If this is a `kakao_pay` PaymentMethod, this hash contains details about the Kakao Pay payment method.
910
+ sig { returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::KakaoPay)) }
911
+ attr_accessor :kakao_pay
912
+ # If this is a `klarna` PaymentMethod, this hash contains details about the Klarna payment method.
913
+ sig { returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Klarna)) }
914
+ attr_accessor :klarna
915
+ # If this is a `konbini` PaymentMethod, this hash contains details about the Konbini payment method.
916
+ sig { returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Konbini)) }
917
+ attr_accessor :konbini
918
+ # If this is a `kr_card` PaymentMethod, this hash contains details about the Korean Card payment method.
919
+ sig { returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::KrCard)) }
920
+ attr_accessor :kr_card
921
+ # If this is an `Link` PaymentMethod, this hash contains details about the Link payment method.
922
+ sig { returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Link)) }
923
+ attr_accessor :link
924
+ # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
925
+ sig { returns(T.nilable(T::Hash[String, String])) }
926
+ attr_accessor :metadata
927
+ # If this is a `mobilepay` PaymentMethod, this hash contains details about the MobilePay payment method.
928
+ sig {
929
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Mobilepay))
930
+ }
931
+ attr_accessor :mobilepay
932
+ # If this is a `multibanco` PaymentMethod, this hash contains details about the Multibanco payment method.
933
+ sig {
934
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Multibanco))
935
+ }
936
+ attr_accessor :multibanco
937
+ # If this is a `naver_pay` PaymentMethod, this hash contains details about the Naver Pay payment method.
938
+ sig { returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::NaverPay)) }
939
+ attr_accessor :naver_pay
940
+ # If this is an nz_bank_account PaymentMethod, this hash contains details about the nz_bank_account payment method.
941
+ sig {
942
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::NzBankAccount))
943
+ }
944
+ attr_accessor :nz_bank_account
945
+ # If this is an `oxxo` PaymentMethod, this hash contains details about the OXXO payment method.
946
+ sig { returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Oxxo)) }
947
+ attr_accessor :oxxo
948
+ # If this is a `p24` PaymentMethod, this hash contains details about the P24 payment method.
949
+ sig { returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::P24)) }
950
+ attr_accessor :p24
951
+ # If this is a `pay_by_bank` PaymentMethod, this hash contains details about the PayByBank payment method.
952
+ sig {
953
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::PayByBank))
954
+ }
955
+ attr_accessor :pay_by_bank
956
+ # If this is a `payco` PaymentMethod, this hash contains details about the PAYCO payment method.
957
+ sig { returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Payco)) }
958
+ attr_accessor :payco
959
+ # If this is a `paynow` PaymentMethod, this hash contains details about the PayNow payment method.
960
+ sig { returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Paynow)) }
961
+ attr_accessor :paynow
962
+ # If this is a `paypal` PaymentMethod, this hash contains details about the PayPal payment method.
963
+ sig { returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Paypal)) }
964
+ attr_accessor :paypal
965
+ # If this is a `pix` PaymentMethod, this hash contains details about the Pix payment method.
966
+ sig { returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Pix)) }
967
+ attr_accessor :pix
968
+ # If this is a `promptpay` PaymentMethod, this hash contains details about the PromptPay payment method.
969
+ sig {
970
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Promptpay))
971
+ }
972
+ attr_accessor :promptpay
973
+ # Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information.
974
+ sig {
975
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::RadarOptions))
976
+ }
977
+ attr_accessor :radar_options
978
+ # If this is a `revolut_pay` PaymentMethod, this hash contains details about the Revolut Pay payment method.
979
+ sig {
980
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::RevolutPay))
981
+ }
982
+ attr_accessor :revolut_pay
983
+ # If this is a `samsung_pay` PaymentMethod, this hash contains details about the SamsungPay payment method.
984
+ sig {
985
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::SamsungPay))
986
+ }
987
+ attr_accessor :samsung_pay
988
+ # If this is a `satispay` PaymentMethod, this hash contains details about the Satispay payment method.
989
+ sig { returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Satispay)) }
990
+ attr_accessor :satispay
991
+ # If this is a `sepa_debit` PaymentMethod, this hash contains details about the SEPA debit bank account.
992
+ sig {
993
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::SepaDebit))
994
+ }
995
+ attr_accessor :sepa_debit
996
+ # If this is a `sofort` PaymentMethod, this hash contains details about the SOFORT payment method.
997
+ sig { returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Sofort)) }
998
+ attr_accessor :sofort
999
+ # If this is a `swish` PaymentMethod, this hash contains details about the Swish payment method.
1000
+ sig { returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Swish)) }
1001
+ attr_accessor :swish
1002
+ # If this is a TWINT PaymentMethod, this hash contains details about the TWINT payment method.
1003
+ sig { returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Twint)) }
1004
+ attr_accessor :twint
1005
+ # The type of the PaymentMethod. An additional hash is included on the PaymentMethod with a name matching this value. It contains additional information specific to the PaymentMethod type.
1006
+ sig { returns(String) }
1007
+ attr_accessor :type
1008
+ # If this is an `us_bank_account` PaymentMethod, this hash contains details about the US bank account payment method.
1009
+ sig {
1010
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::UsBankAccount))
1011
+ }
1012
+ attr_accessor :us_bank_account
1013
+ # If this is an `wechat_pay` PaymentMethod, this hash contains details about the wechat_pay payment method.
1014
+ sig {
1015
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::WechatPay))
1016
+ }
1017
+ attr_accessor :wechat_pay
1018
+ # If this is a `zip` PaymentMethod, this hash contains details about the Zip payment method.
1019
+ sig { returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Zip)) }
1020
+ attr_accessor :zip
1021
+ sig {
1022
+ params(acss_debit: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::AcssDebit), affirm: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Affirm), afterpay_clearpay: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::AfterpayClearpay), alipay: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Alipay), allow_redisplay: T.nilable(String), alma: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Alma), amazon_pay: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::AmazonPay), au_becs_debit: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::AuBecsDebit), bacs_debit: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::BacsDebit), bancontact: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Bancontact), billie: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Billie), billing_details: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::BillingDetails), blik: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Blik), boleto: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Boleto), cashapp: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Cashapp), customer_balance: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::CustomerBalance), eps: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Eps), fpx: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Fpx), giropay: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Giropay), grabpay: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Grabpay), ideal: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Ideal), interac_present: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::InteracPresent), kakao_pay: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::KakaoPay), klarna: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Klarna), konbini: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Konbini), kr_card: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::KrCard), link: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Link), metadata: T.nilable(T::Hash[String, String]), mobilepay: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Mobilepay), multibanco: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Multibanco), naver_pay: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::NaverPay), nz_bank_account: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::NzBankAccount), oxxo: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Oxxo), p24: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::P24), pay_by_bank: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::PayByBank), payco: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Payco), paynow: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Paynow), paypal: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Paypal), pix: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Pix), promptpay: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Promptpay), radar_options: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::RadarOptions), revolut_pay: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::RevolutPay), samsung_pay: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::SamsungPay), satispay: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Satispay), sepa_debit: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::SepaDebit), sofort: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Sofort), swish: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Swish), twint: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Twint), type: String, us_bank_account: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::UsBankAccount), wechat_pay: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::WechatPay), zip: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData::Zip)).void
1023
+ }
1024
+ def initialize(
1025
+ acss_debit: nil,
1026
+ affirm: nil,
1027
+ afterpay_clearpay: nil,
1028
+ alipay: nil,
1029
+ allow_redisplay: nil,
1030
+ alma: nil,
1031
+ amazon_pay: nil,
1032
+ au_becs_debit: nil,
1033
+ bacs_debit: nil,
1034
+ bancontact: nil,
1035
+ billie: nil,
1036
+ billing_details: nil,
1037
+ blik: nil,
1038
+ boleto: nil,
1039
+ cashapp: nil,
1040
+ customer_balance: nil,
1041
+ eps: nil,
1042
+ fpx: nil,
1043
+ giropay: nil,
1044
+ grabpay: nil,
1045
+ ideal: nil,
1046
+ interac_present: nil,
1047
+ kakao_pay: nil,
1048
+ klarna: nil,
1049
+ konbini: nil,
1050
+ kr_card: nil,
1051
+ link: nil,
1052
+ metadata: nil,
1053
+ mobilepay: nil,
1054
+ multibanco: nil,
1055
+ naver_pay: nil,
1056
+ nz_bank_account: nil,
1057
+ oxxo: nil,
1058
+ p24: nil,
1059
+ pay_by_bank: nil,
1060
+ payco: nil,
1061
+ paynow: nil,
1062
+ paypal: nil,
1063
+ pix: nil,
1064
+ promptpay: nil,
1065
+ radar_options: nil,
1066
+ revolut_pay: nil,
1067
+ samsung_pay: nil,
1068
+ satispay: nil,
1069
+ sepa_debit: nil,
1070
+ sofort: nil,
1071
+ swish: nil,
1072
+ twint: nil,
1073
+ type: nil,
1074
+ us_bank_account: nil,
1075
+ wechat_pay: nil,
1076
+ zip: nil
1077
+ ); end
1078
+ end
1079
+ class PaymentMethodOptions < Stripe::RequestParams
1080
+ class AcssDebit < Stripe::RequestParams
1081
+ class MandateOptions < Stripe::RequestParams
1082
+ # A URL for custom mandate text to render during confirmation step.
1083
+ # The URL will be rendered with additional GET parameters `payment_intent` and `payment_intent_client_secret` when confirming a Payment Intent,
1084
+ # or `setup_intent` and `setup_intent_client_secret` when confirming a Setup Intent.
1085
+ sig { returns(T.nilable(T.nilable(String))) }
1086
+ attr_accessor :custom_mandate_url
1087
+ # List of Stripe products where this mandate can be selected automatically.
1088
+ sig { returns(T.nilable(T::Array[String])) }
1089
+ attr_accessor :default_for
1090
+ # Description of the mandate interval. Only required if 'payment_schedule' parameter is 'interval' or 'combined'.
1091
+ sig { returns(T.nilable(String)) }
1092
+ attr_accessor :interval_description
1093
+ # Payment schedule for the mandate.
1094
+ sig { returns(T.nilable(String)) }
1095
+ attr_accessor :payment_schedule
1096
+ # Transaction type of the mandate.
1097
+ sig { returns(T.nilable(String)) }
1098
+ attr_accessor :transaction_type
1099
+ sig {
1100
+ params(custom_mandate_url: T.nilable(T.nilable(String)), default_for: T.nilable(T::Array[String]), interval_description: T.nilable(String), payment_schedule: T.nilable(String), transaction_type: T.nilable(String)).void
1101
+ }
1102
+ def initialize(
1103
+ custom_mandate_url: nil,
1104
+ default_for: nil,
1105
+ interval_description: nil,
1106
+ payment_schedule: nil,
1107
+ transaction_type: nil
1108
+ ); end
1109
+ end
1110
+ # Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
1111
+ sig { returns(T.nilable(String)) }
1112
+ attr_accessor :currency
1113
+ # Additional fields for Mandate creation
1114
+ sig {
1115
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::AcssDebit::MandateOptions))
1116
+ }
1117
+ attr_accessor :mandate_options
1118
+ # Bank account verification method.
1119
+ sig { returns(T.nilable(String)) }
1120
+ attr_accessor :verification_method
1121
+ sig {
1122
+ params(currency: T.nilable(String), mandate_options: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::AcssDebit::MandateOptions), verification_method: T.nilable(String)).void
1123
+ }
1124
+ def initialize(currency: nil, mandate_options: nil, verification_method: nil); end
1125
+ end
1126
+ class AmazonPay < Stripe::RequestParams; end
1127
+ class BacsDebit < Stripe::RequestParams
1128
+ class MandateOptions < Stripe::RequestParams
1129
+ # 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 'DDIC' or 'STRIPE'.
1130
+ sig { returns(T.nilable(T.nilable(String))) }
1131
+ attr_accessor :reference_prefix
1132
+ sig { params(reference_prefix: T.nilable(T.nilable(String))).void }
1133
+ def initialize(reference_prefix: nil); end
1134
+ end
1135
+ # Additional fields for Mandate creation
1136
+ sig {
1137
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::BacsDebit::MandateOptions))
1138
+ }
1139
+ attr_accessor :mandate_options
1140
+ sig {
1141
+ params(mandate_options: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::BacsDebit::MandateOptions)).void
1142
+ }
1143
+ def initialize(mandate_options: nil); end
1144
+ end
1145
+ class Card < Stripe::RequestParams
1146
+ class MandateOptions < Stripe::RequestParams
1147
+ # Amount to be charged for future payments.
1148
+ sig { returns(Integer) }
1149
+ attr_accessor :amount
1150
+ # One of `fixed` or `maximum`. If `fixed`, the `amount` param refers to the exact amount to be charged in future payments. If `maximum`, the amount charged can be up to the value passed for the `amount` param.
1151
+ sig { returns(String) }
1152
+ attr_accessor :amount_type
1153
+ # Currency in which future payments will be charged. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
1154
+ sig { returns(String) }
1155
+ attr_accessor :currency
1156
+ # A description of the mandate or subscription that is meant to be displayed to the customer.
1157
+ sig { returns(T.nilable(String)) }
1158
+ attr_accessor :description
1159
+ # End date of the mandate or subscription. If not provided, the mandate will be active until canceled. If provided, end date should be after start date.
1160
+ sig { returns(T.nilable(Integer)) }
1161
+ attr_accessor :end_date
1162
+ # Specifies payment frequency. One of `day`, `week`, `month`, `year`, or `sporadic`.
1163
+ sig { returns(String) }
1164
+ attr_accessor :interval
1165
+ # The number of intervals between payments. For example, `interval=month` and `interval_count=3` indicates one payment every three months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks). This parameter is optional when `interval=sporadic`.
1166
+ sig { returns(T.nilable(Integer)) }
1167
+ attr_accessor :interval_count
1168
+ # Unique identifier for the mandate or subscription.
1169
+ sig { returns(String) }
1170
+ attr_accessor :reference
1171
+ # Start date of the mandate or subscription. Start date should not be lesser than yesterday.
1172
+ sig { returns(Integer) }
1173
+ attr_accessor :start_date
1174
+ # Specifies the type of mandates supported. Possible values are `india`.
1175
+ sig { returns(T.nilable(T::Array[String])) }
1176
+ attr_accessor :supported_types
1177
+ sig {
1178
+ params(amount: Integer, amount_type: String, currency: String, description: T.nilable(String), end_date: T.nilable(Integer), interval: String, interval_count: T.nilable(Integer), reference: String, start_date: Integer, supported_types: T.nilable(T::Array[String])).void
1179
+ }
1180
+ def initialize(
1181
+ amount: nil,
1182
+ amount_type: nil,
1183
+ currency: nil,
1184
+ description: nil,
1185
+ end_date: nil,
1186
+ interval: nil,
1187
+ interval_count: nil,
1188
+ reference: nil,
1189
+ start_date: nil,
1190
+ supported_types: nil
1191
+ ); end
1192
+ end
1193
+ class ThreeDSecure < Stripe::RequestParams
1194
+ class NetworkOptions < Stripe::RequestParams
1195
+ class CartesBancaires < Stripe::RequestParams
1196
+ # The cryptogram calculation algorithm used by the card Issuer's ACS
1197
+ # to calculate the Authentication cryptogram. Also known as `cavvAlgorithm`.
1198
+ # messageExtension: CB-AVALGO
1199
+ sig { returns(String) }
1200
+ attr_accessor :cb_avalgo
1201
+ # The exemption indicator returned from Cartes Bancaires in the ARes.
1202
+ # message extension: CB-EXEMPTION; string (4 characters)
1203
+ # This is a 3 byte bitmap (low significant byte first and most significant
1204
+ # bit first) that has been Base64 encoded
1205
+ sig { returns(T.nilable(String)) }
1206
+ attr_accessor :cb_exemption
1207
+ # The risk score returned from Cartes Bancaires in the ARes.
1208
+ # message extension: CB-SCORE; numeric value 0-99
1209
+ sig { returns(T.nilable(Integer)) }
1210
+ attr_accessor :cb_score
1211
+ sig {
1212
+ params(cb_avalgo: String, cb_exemption: T.nilable(String), cb_score: T.nilable(Integer)).void
1213
+ }
1214
+ def initialize(cb_avalgo: nil, cb_exemption: nil, cb_score: nil); end
1215
+ end
1216
+ # Cartes Bancaires-specific 3DS fields.
1217
+ sig {
1218
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::Card::ThreeDSecure::NetworkOptions::CartesBancaires))
1219
+ }
1220
+ attr_accessor :cartes_bancaires
1221
+ sig {
1222
+ params(cartes_bancaires: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::Card::ThreeDSecure::NetworkOptions::CartesBancaires)).void
1223
+ }
1224
+ def initialize(cartes_bancaires: nil); end
1225
+ end
1226
+ # The `transStatus` returned from the card Issuer’s ACS in the ARes.
1227
+ sig { returns(T.nilable(String)) }
1228
+ attr_accessor :ares_trans_status
1229
+ # The cryptogram, also known as the "authentication value" (AAV, CAVV or
1230
+ # AEVV). This value is 20 bytes, base64-encoded into a 28-character string.
1231
+ # (Most 3D Secure providers will return the base64-encoded version, which
1232
+ # is what you should specify here.)
1233
+ sig { returns(T.nilable(String)) }
1234
+ attr_accessor :cryptogram
1235
+ # The Electronic Commerce Indicator (ECI) is returned by your 3D Secure
1236
+ # provider and indicates what degree of authentication was performed.
1237
+ sig { returns(T.nilable(String)) }
1238
+ attr_accessor :electronic_commerce_indicator
1239
+ # Network specific 3DS fields. Network specific arguments require an
1240
+ # explicit card brand choice. The parameter `payment_method_options.card.network``
1241
+ # must be populated accordingly
1242
+ sig {
1243
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::Card::ThreeDSecure::NetworkOptions))
1244
+ }
1245
+ attr_accessor :network_options
1246
+ # The challenge indicator (`threeDSRequestorChallengeInd`) which was requested in the
1247
+ # AReq sent to the card Issuer's ACS. A string containing 2 digits from 01-99.
1248
+ sig { returns(T.nilable(String)) }
1249
+ attr_accessor :requestor_challenge_indicator
1250
+ # For 3D Secure 1, the XID. For 3D Secure 2, the Directory Server
1251
+ # Transaction ID (dsTransID).
1252
+ sig { returns(T.nilable(String)) }
1253
+ attr_accessor :transaction_id
1254
+ # The version of 3D Secure that was performed.
1255
+ sig { returns(T.nilable(String)) }
1256
+ attr_accessor :version
1257
+ sig {
1258
+ params(ares_trans_status: T.nilable(String), cryptogram: T.nilable(String), electronic_commerce_indicator: T.nilable(String), network_options: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::Card::ThreeDSecure::NetworkOptions), requestor_challenge_indicator: T.nilable(String), transaction_id: T.nilable(String), version: T.nilable(String)).void
1259
+ }
1260
+ def initialize(
1261
+ ares_trans_status: nil,
1262
+ cryptogram: nil,
1263
+ electronic_commerce_indicator: nil,
1264
+ network_options: nil,
1265
+ requestor_challenge_indicator: nil,
1266
+ transaction_id: nil,
1267
+ version: nil
1268
+ ); end
1269
+ end
1270
+ # Configuration options for setting up an eMandate for cards issued in India.
1271
+ sig {
1272
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::Card::MandateOptions))
1273
+ }
1274
+ attr_accessor :mandate_options
1275
+ # When specified, this parameter signals that a card has been collected
1276
+ # as MOTO (Mail Order Telephone Order) and thus out of scope for SCA. This
1277
+ # parameter can only be provided during confirmation.
1278
+ sig { returns(T.nilable(T::Boolean)) }
1279
+ attr_accessor :moto
1280
+ # Selected network to process this SetupIntent on. Depends on the available networks of the card attached to the SetupIntent. Can be only set confirm-time.
1281
+ sig { returns(T.nilable(String)) }
1282
+ attr_accessor :network
1283
+ # We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. If not provided, this value defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine.
1284
+ sig { returns(T.nilable(String)) }
1285
+ attr_accessor :request_three_d_secure
1286
+ # If 3D Secure authentication was performed with a third-party provider,
1287
+ # the authentication details to use for this setup.
1288
+ sig {
1289
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::Card::ThreeDSecure))
1290
+ }
1291
+ attr_accessor :three_d_secure
1292
+ sig {
1293
+ params(mandate_options: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::Card::MandateOptions), moto: T.nilable(T::Boolean), network: T.nilable(String), request_three_d_secure: T.nilable(String), three_d_secure: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::Card::ThreeDSecure)).void
1294
+ }
1295
+ def initialize(
1296
+ mandate_options: nil,
1297
+ moto: nil,
1298
+ network: nil,
1299
+ request_three_d_secure: nil,
1300
+ three_d_secure: nil
1301
+ ); end
1302
+ end
1303
+ class CardPresent < Stripe::RequestParams; end
1304
+ class Link < Stripe::RequestParams
1305
+ # [Deprecated] This is a legacy parameter that no longer has any function.
1306
+ sig { returns(T.nilable(String)) }
1307
+ attr_accessor :persistent_token
1308
+ sig { params(persistent_token: T.nilable(String)).void }
1309
+ def initialize(persistent_token: nil); end
1310
+ end
1311
+ class Paypal < Stripe::RequestParams
1312
+ # The PayPal Billing Agreement ID (BAID). This is an ID generated by PayPal which represents the mandate between the merchant and the customer.
1313
+ sig { returns(T.nilable(String)) }
1314
+ attr_accessor :billing_agreement_id
1315
+ sig { params(billing_agreement_id: T.nilable(String)).void }
1316
+ def initialize(billing_agreement_id: nil); end
1317
+ end
1318
+ class SepaDebit < Stripe::RequestParams
1319
+ class MandateOptions < Stripe::RequestParams
1320
+ # 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'.
1321
+ sig { returns(T.nilable(T.nilable(String))) }
1322
+ attr_accessor :reference_prefix
1323
+ sig { params(reference_prefix: T.nilable(T.nilable(String))).void }
1324
+ def initialize(reference_prefix: nil); end
1325
+ end
1326
+ # Additional fields for Mandate creation
1327
+ sig {
1328
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::SepaDebit::MandateOptions))
1329
+ }
1330
+ attr_accessor :mandate_options
1331
+ sig {
1332
+ params(mandate_options: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::SepaDebit::MandateOptions)).void
1333
+ }
1334
+ def initialize(mandate_options: nil); end
1335
+ end
1336
+ class UsBankAccount < Stripe::RequestParams
1337
+ class FinancialConnections < Stripe::RequestParams
1338
+ class Filters < Stripe::RequestParams
1339
+ # The account subcategories to use to filter for selectable accounts. Valid subcategories are `checking` and `savings`.
1340
+ sig { returns(T.nilable(T::Array[String])) }
1341
+ attr_accessor :account_subcategories
1342
+ sig { params(account_subcategories: T.nilable(T::Array[String])).void }
1343
+ def initialize(account_subcategories: nil); end
1344
+ end
1345
+ # Provide filters for the linked accounts that the customer can select for the payment method.
1346
+ sig {
1347
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::UsBankAccount::FinancialConnections::Filters))
1348
+ }
1349
+ attr_accessor :filters
1350
+ # The list of permissions to request. If this parameter is passed, the `payment_method` permission must be included. Valid permissions include: `balances`, `ownership`, `payment_method`, and `transactions`.
1351
+ sig { returns(T.nilable(T::Array[String])) }
1352
+ attr_accessor :permissions
1353
+ # List of data features that you would like to retrieve upon account creation.
1354
+ sig { returns(T.nilable(T::Array[String])) }
1355
+ attr_accessor :prefetch
1356
+ # For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app.
1357
+ sig { returns(T.nilable(String)) }
1358
+ attr_accessor :return_url
1359
+ sig {
1360
+ params(filters: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::UsBankAccount::FinancialConnections::Filters), permissions: T.nilable(T::Array[String]), prefetch: T.nilable(T::Array[String]), return_url: T.nilable(String)).void
1361
+ }
1362
+ def initialize(filters: nil, permissions: nil, prefetch: nil, return_url: nil); end
1363
+ end
1364
+ class MandateOptions < Stripe::RequestParams
1365
+ # The method used to collect offline mandate customer acceptance.
1366
+ sig { returns(T.nilable(T.nilable(String))) }
1367
+ attr_accessor :collection_method
1368
+ sig { params(collection_method: T.nilable(T.nilable(String))).void }
1369
+ def initialize(collection_method: nil); end
1370
+ end
1371
+ class Networks < Stripe::RequestParams
1372
+ # Triggers validations to run across the selected networks
1373
+ sig { returns(T.nilable(T::Array[String])) }
1374
+ attr_accessor :requested
1375
+ sig { params(requested: T.nilable(T::Array[String])).void }
1376
+ def initialize(requested: nil); end
1377
+ end
1378
+ # Additional fields for Financial Connections Session creation
1379
+ sig {
1380
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::UsBankAccount::FinancialConnections))
1381
+ }
1382
+ attr_accessor :financial_connections
1383
+ # Additional fields for Mandate creation
1384
+ sig {
1385
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::UsBankAccount::MandateOptions))
1386
+ }
1387
+ attr_accessor :mandate_options
1388
+ # Additional fields for network related functions
1389
+ sig {
1390
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::UsBankAccount::Networks))
1391
+ }
1392
+ attr_accessor :networks
1393
+ # Bank account verification method.
1394
+ sig { returns(T.nilable(String)) }
1395
+ attr_accessor :verification_method
1396
+ sig {
1397
+ params(financial_connections: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::UsBankAccount::FinancialConnections), mandate_options: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::UsBankAccount::MandateOptions), networks: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::UsBankAccount::Networks), verification_method: T.nilable(String)).void
1398
+ }
1399
+ def initialize(
1400
+ financial_connections: nil,
1401
+ mandate_options: nil,
1402
+ networks: nil,
1403
+ verification_method: nil
1404
+ ); end
1405
+ end
1406
+ # If this is a `acss_debit` SetupIntent, this sub-hash contains details about the ACSS Debit payment method options.
1407
+ sig {
1408
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::AcssDebit))
1409
+ }
1410
+ attr_accessor :acss_debit
1411
+ # If this is a `amazon_pay` SetupIntent, this sub-hash contains details about the AmazonPay payment method options.
1412
+ sig {
1413
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::AmazonPay))
1414
+ }
1415
+ attr_accessor :amazon_pay
1416
+ # If this is a `bacs_debit` SetupIntent, this sub-hash contains details about the Bacs Debit payment method options.
1417
+ sig {
1418
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::BacsDebit))
1419
+ }
1420
+ attr_accessor :bacs_debit
1421
+ # Configuration for any card setup attempted on this SetupIntent.
1422
+ sig { returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::Card)) }
1423
+ attr_accessor :card
1424
+ # If this is a `card_present` PaymentMethod, this sub-hash contains details about the card-present payment method options.
1425
+ sig {
1426
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::CardPresent))
1427
+ }
1428
+ attr_accessor :card_present
1429
+ # If this is a `link` PaymentMethod, this sub-hash contains details about the Link payment method options.
1430
+ sig { returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::Link)) }
1431
+ attr_accessor :link
1432
+ # If this is a `paypal` PaymentMethod, this sub-hash contains details about the PayPal payment method options.
1433
+ sig {
1434
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::Paypal))
1435
+ }
1436
+ attr_accessor :paypal
1437
+ # If this is a `sepa_debit` SetupIntent, this sub-hash contains details about the SEPA Debit payment method options.
1438
+ sig {
1439
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::SepaDebit))
1440
+ }
1441
+ attr_accessor :sepa_debit
1442
+ # If this is a `us_bank_account` SetupIntent, this sub-hash contains details about the US bank account payment method options.
1443
+ sig {
1444
+ returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::UsBankAccount))
1445
+ }
1446
+ attr_accessor :us_bank_account
1447
+ sig {
1448
+ params(acss_debit: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::AcssDebit), amazon_pay: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::AmazonPay), bacs_debit: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::BacsDebit), card: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::Card), card_present: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::CardPresent), link: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::Link), paypal: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::Paypal), sepa_debit: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::SepaDebit), us_bank_account: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions::UsBankAccount)).void
1449
+ }
1450
+ def initialize(
1451
+ acss_debit: nil,
1452
+ amazon_pay: nil,
1453
+ bacs_debit: nil,
1454
+ card: nil,
1455
+ card_present: nil,
1456
+ link: nil,
1457
+ paypal: nil,
1458
+ sepa_debit: nil,
1459
+ us_bank_account: nil
1460
+ ); end
1461
+ end
1462
+ class SingleUse < Stripe::RequestParams
1463
+ # Amount the customer is granting permission to collect later. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).
1464
+ sig { returns(Integer) }
1465
+ attr_accessor :amount
1466
+ # Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
1467
+ sig { returns(String) }
1468
+ attr_accessor :currency
1469
+ sig { params(amount: Integer, currency: String).void }
1470
+ def initialize(amount: nil, currency: nil); end
1471
+ end
1472
+ # If present, the SetupIntent's payment method will be attached to the in-context Stripe Account.
1473
+ #
1474
+ # It can only be used for this Stripe Account’s own money movement flows like InboundTransfer and OutboundTransfers. It cannot be set to true when setting up a PaymentMethod for a Customer, and defaults to false when attaching a PaymentMethod to a Customer.
1475
+ sig { returns(T.nilable(T::Boolean)) }
1476
+ attr_accessor :attach_to_self
1477
+ # When you enable this parameter, this SetupIntent accepts payment methods that you enable in the Dashboard and that are compatible with its other parameters.
1478
+ sig { returns(T.nilable(::Stripe::SetupIntent::CreateParams::AutomaticPaymentMethods)) }
1479
+ attr_accessor :automatic_payment_methods
1480
+ # Set to `true` to attempt to confirm this SetupIntent immediately. This parameter defaults to `false`. If a card is the attached payment method, you can provide a `return_url` in case further authentication is necessary.
1481
+ sig { returns(T.nilable(T::Boolean)) }
1482
+ attr_accessor :confirm
1483
+ # ID of the ConfirmationToken used to confirm this SetupIntent.
1484
+ #
1485
+ # If the provided ConfirmationToken contains properties that are also being provided in this request, such as `payment_method`, then the values in this request will take precedence.
1486
+ sig { returns(T.nilable(String)) }
1487
+ attr_accessor :confirmation_token
1488
+ # ID of the Customer this SetupIntent belongs to, if one exists.
1489
+ #
1490
+ # If present, the SetupIntent's payment method will be attached to the Customer on successful setup. Payment methods attached to other Customers cannot be used with this SetupIntent.
1491
+ sig { returns(T.nilable(String)) }
1492
+ attr_accessor :customer
1493
+ # An arbitrary string attached to the object. Often useful for displaying to users.
1494
+ sig { returns(T.nilable(String)) }
1495
+ attr_accessor :description
1496
+ # Specifies which fields in the response should be expanded.
1497
+ sig { returns(T.nilable(T::Array[String])) }
1498
+ attr_accessor :expand
1499
+ # Indicates the directions of money movement for which this payment method is intended to be used.
1500
+ #
1501
+ # Include `inbound` if you intend to use the payment method as the origin to pull funds from. Include `outbound` if you intend to use the payment method as the destination to send funds to. You can include both if you intend to use the payment method for both purposes.
1502
+ sig { returns(T.nilable(T::Array[String])) }
1503
+ attr_accessor :flow_directions
1504
+ # This hash contains details about the mandate to create. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/setup_intents/create#create_setup_intent-confirm).
1505
+ sig {
1506
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::SetupIntent::CreateParams::MandateData))))
1507
+ }
1508
+ attr_accessor :mandate_data
1509
+ # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
1510
+ sig { returns(T.nilable(T::Hash[String, String])) }
1511
+ attr_accessor :metadata
1512
+ # The Stripe account ID created for this SetupIntent.
1513
+ sig { returns(T.nilable(String)) }
1514
+ attr_accessor :on_behalf_of
1515
+ # ID of the payment method (a PaymentMethod, Card, or saved Source object) to attach to this SetupIntent.
1516
+ sig { returns(T.nilable(String)) }
1517
+ attr_accessor :payment_method
1518
+ # The ID of the [payment method configuration](https://stripe.com/docs/api/payment_method_configurations) to use with this SetupIntent.
1519
+ sig { returns(T.nilable(String)) }
1520
+ attr_accessor :payment_method_configuration
1521
+ # When included, this hash creates a PaymentMethod that is set as the [`payment_method`](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-payment_method)
1522
+ # value in the SetupIntent.
1523
+ sig { returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData)) }
1524
+ attr_accessor :payment_method_data
1525
+ # Payment method-specific configuration for this SetupIntent.
1526
+ sig { returns(T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions)) }
1527
+ attr_accessor :payment_method_options
1528
+ # The list of payment method types (for example, card) that this SetupIntent can use. If you don't provide this, Stripe will dynamically show relevant payment methods from your [payment method settings](https://dashboard.stripe.com/settings/payment_methods).
1529
+ sig { returns(T.nilable(T::Array[String])) }
1530
+ attr_accessor :payment_method_types
1531
+ # The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site. To redirect to a mobile application, you can alternatively supply an application URI scheme. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/setup_intents/create#create_setup_intent-confirm).
1532
+ sig { returns(T.nilable(String)) }
1533
+ attr_accessor :return_url
1534
+ # If you populate this hash, this SetupIntent generates a `single_use` mandate after successful completion.
1535
+ #
1536
+ # Single-use mandates are only valid for the following payment methods: `acss_debit`, `alipay`, `au_becs_debit`, `bacs_debit`, `bancontact`, `boleto`, `ideal`, `link`, `sepa_debit`, and `us_bank_account`.
1537
+ sig { returns(T.nilable(::Stripe::SetupIntent::CreateParams::SingleUse)) }
1538
+ attr_accessor :single_use
1539
+ # Indicates how the payment method is intended to be used in the future. If not provided, this value defaults to `off_session`.
1540
+ sig { returns(T.nilable(String)) }
1541
+ attr_accessor :usage
1542
+ # Set to `true` when confirming server-side and using Stripe.js, iOS, or Android client-side SDKs to handle the next actions.
1543
+ sig { returns(T.nilable(T::Boolean)) }
1544
+ attr_accessor :use_stripe_sdk
1545
+ sig {
1546
+ params(attach_to_self: T.nilable(T::Boolean), automatic_payment_methods: T.nilable(::Stripe::SetupIntent::CreateParams::AutomaticPaymentMethods), confirm: T.nilable(T::Boolean), confirmation_token: T.nilable(String), customer: T.nilable(String), description: T.nilable(String), expand: T.nilable(T::Array[String]), flow_directions: T.nilable(T::Array[String]), mandate_data: T.nilable(T.nilable(T.any(String, ::Stripe::SetupIntent::CreateParams::MandateData))), metadata: T.nilable(T::Hash[String, String]), on_behalf_of: T.nilable(String), payment_method: T.nilable(String), payment_method_configuration: T.nilable(String), payment_method_data: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::SetupIntent::CreateParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), return_url: T.nilable(String), single_use: T.nilable(::Stripe::SetupIntent::CreateParams::SingleUse), usage: T.nilable(String), use_stripe_sdk: T.nilable(T::Boolean)).void
1547
+ }
1548
+ def initialize(
1549
+ attach_to_self: nil,
1550
+ automatic_payment_methods: nil,
1551
+ confirm: nil,
1552
+ confirmation_token: nil,
1553
+ customer: nil,
1554
+ description: nil,
1555
+ expand: nil,
1556
+ flow_directions: nil,
1557
+ mandate_data: nil,
1558
+ metadata: nil,
1559
+ on_behalf_of: nil,
1560
+ payment_method: nil,
1561
+ payment_method_configuration: nil,
1562
+ payment_method_data: nil,
1563
+ payment_method_options: nil,
1564
+ payment_method_types: nil,
1565
+ return_url: nil,
1566
+ single_use: nil,
1567
+ usage: nil,
1568
+ use_stripe_sdk: nil
1569
+ ); end
1570
+ end
1571
+ class UpdateParams < Stripe::RequestParams
1572
+ class PaymentMethodData < Stripe::RequestParams
1573
+ class AcssDebit < Stripe::RequestParams
1574
+ # Customer's bank account number.
1575
+ sig { returns(String) }
1576
+ attr_accessor :account_number
1577
+ # Institution number of the customer's bank.
1578
+ sig { returns(String) }
1579
+ attr_accessor :institution_number
1580
+ # Transit number of the customer's bank.
1581
+ sig { returns(String) }
1582
+ attr_accessor :transit_number
1583
+ sig {
1584
+ params(account_number: String, institution_number: String, transit_number: String).void
1585
+ }
1586
+ def initialize(account_number: nil, institution_number: nil, transit_number: nil); end
1587
+ end
1588
+ class Affirm < Stripe::RequestParams; end
1589
+ class AfterpayClearpay < Stripe::RequestParams; end
1590
+ class Alipay < Stripe::RequestParams; end
1591
+ class Alma < Stripe::RequestParams; end
1592
+ class AmazonPay < Stripe::RequestParams; end
1593
+ class AuBecsDebit < Stripe::RequestParams
1594
+ # The account number for the bank account.
1595
+ sig { returns(String) }
1596
+ attr_accessor :account_number
1597
+ # Bank-State-Branch number of the bank account.
1598
+ sig { returns(String) }
1599
+ attr_accessor :bsb_number
1600
+ sig { params(account_number: String, bsb_number: String).void }
1601
+ def initialize(account_number: nil, bsb_number: nil); end
1602
+ end
1603
+ class BacsDebit < Stripe::RequestParams
1604
+ # Account number of the bank account that the funds will be debited from.
1605
+ sig { returns(T.nilable(String)) }
1606
+ attr_accessor :account_number
1607
+ # Sort code of the bank account. (e.g., `10-20-30`)
1608
+ sig { returns(T.nilable(String)) }
1609
+ attr_accessor :sort_code
1610
+ sig { params(account_number: T.nilable(String), sort_code: T.nilable(String)).void }
1611
+ def initialize(account_number: nil, sort_code: nil); end
1612
+ end
1613
+ class Bancontact < Stripe::RequestParams; end
1614
+ class Billie < Stripe::RequestParams; end
1615
+ class BillingDetails < Stripe::RequestParams
1616
+ class Address < Stripe::RequestParams
1617
+ # City, district, suburb, town, or village.
1618
+ sig { returns(T.nilable(String)) }
1619
+ attr_accessor :city
1620
+ # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
1621
+ sig { returns(T.nilable(String)) }
1622
+ attr_accessor :country
1623
+ # Address line 1 (e.g., street, PO Box, or company name).
1624
+ sig { returns(T.nilable(String)) }
1625
+ attr_accessor :line1
1626
+ # Address line 2 (e.g., apartment, suite, unit, or building).
1627
+ sig { returns(T.nilable(String)) }
1628
+ attr_accessor :line2
1629
+ # ZIP or postal code.
1630
+ sig { returns(T.nilable(String)) }
1631
+ attr_accessor :postal_code
1632
+ # State, county, province, or region.
1633
+ sig { returns(T.nilable(String)) }
1634
+ attr_accessor :state
1635
+ sig {
1636
+ params(city: T.nilable(String), country: T.nilable(String), line1: T.nilable(String), line2: T.nilable(String), postal_code: T.nilable(String), state: T.nilable(String)).void
1637
+ }
1638
+ def initialize(
1639
+ city: nil,
1640
+ country: nil,
1641
+ line1: nil,
1642
+ line2: nil,
1643
+ postal_code: nil,
1644
+ state: nil
1645
+ ); end
1646
+ end
1647
+ # Billing address.
1648
+ sig {
1649
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::SetupIntent::UpdateParams::PaymentMethodData::BillingDetails::Address))))
1650
+ }
1651
+ attr_accessor :address
1652
+ # Email address.
1653
+ sig { returns(T.nilable(T.nilable(String))) }
1654
+ attr_accessor :email
1655
+ # Full name.
1656
+ sig { returns(T.nilable(T.nilable(String))) }
1657
+ attr_accessor :name
1658
+ # Billing phone number (including extension).
1659
+ sig { returns(T.nilable(T.nilable(String))) }
1660
+ attr_accessor :phone
1661
+ # Taxpayer identification number. Used only for transactions between LATAM buyers and non-LATAM sellers.
1662
+ sig { returns(T.nilable(String)) }
1663
+ attr_accessor :tax_id
1664
+ sig {
1665
+ params(address: T.nilable(T.nilable(T.any(String, ::Stripe::SetupIntent::UpdateParams::PaymentMethodData::BillingDetails::Address))), email: T.nilable(T.nilable(String)), name: T.nilable(T.nilable(String)), phone: T.nilable(T.nilable(String)), tax_id: T.nilable(String)).void
1666
+ }
1667
+ def initialize(address: nil, email: nil, name: nil, phone: nil, tax_id: nil); end
1668
+ end
1669
+ class Blik < Stripe::RequestParams; end
1670
+ class Boleto < Stripe::RequestParams
1671
+ # The tax ID of the customer (CPF for individual consumers or CNPJ for businesses consumers)
1672
+ sig { returns(String) }
1673
+ attr_accessor :tax_id
1674
+ sig { params(tax_id: String).void }
1675
+ def initialize(tax_id: nil); end
1676
+ end
1677
+ class Cashapp < Stripe::RequestParams; end
1678
+ class CustomerBalance < Stripe::RequestParams; end
1679
+ class Eps < Stripe::RequestParams
1680
+ # The customer's bank.
1681
+ sig { returns(T.nilable(String)) }
1682
+ attr_accessor :bank
1683
+ sig { params(bank: T.nilable(String)).void }
1684
+ def initialize(bank: nil); end
1685
+ end
1686
+ class Fpx < Stripe::RequestParams
1687
+ # Account holder type for FPX transaction
1688
+ sig { returns(T.nilable(String)) }
1689
+ attr_accessor :account_holder_type
1690
+ # The customer's bank.
1691
+ sig { returns(String) }
1692
+ attr_accessor :bank
1693
+ sig { params(account_holder_type: T.nilable(String), bank: String).void }
1694
+ def initialize(account_holder_type: nil, bank: nil); end
1695
+ end
1696
+ class Giropay < Stripe::RequestParams; end
1697
+ class Grabpay < Stripe::RequestParams; end
1698
+ class Ideal < Stripe::RequestParams
1699
+ # The customer's bank. Only use this parameter for existing customers. Don't use it for new customers.
1700
+ sig { returns(T.nilable(String)) }
1701
+ attr_accessor :bank
1702
+ sig { params(bank: T.nilable(String)).void }
1703
+ def initialize(bank: nil); end
1704
+ end
1705
+ class InteracPresent < Stripe::RequestParams; end
1706
+ class KakaoPay < Stripe::RequestParams; end
1707
+ class Klarna < Stripe::RequestParams
1708
+ class Dob < Stripe::RequestParams
1709
+ # The day of birth, between 1 and 31.
1710
+ sig { returns(Integer) }
1711
+ attr_accessor :day
1712
+ # The month of birth, between 1 and 12.
1713
+ sig { returns(Integer) }
1714
+ attr_accessor :month
1715
+ # The four-digit year of birth.
1716
+ sig { returns(Integer) }
1717
+ attr_accessor :year
1718
+ sig { params(day: Integer, month: Integer, year: Integer).void }
1719
+ def initialize(day: nil, month: nil, year: nil); end
1720
+ end
1721
+ # Customer's date of birth
1722
+ sig {
1723
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Klarna::Dob))
1724
+ }
1725
+ attr_accessor :dob
1726
+ sig {
1727
+ params(dob: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Klarna::Dob)).void
1728
+ }
1729
+ def initialize(dob: nil); end
1730
+ end
1731
+ class Konbini < Stripe::RequestParams; end
1732
+ class KrCard < Stripe::RequestParams; end
1733
+ class Link < Stripe::RequestParams; end
1734
+ class Mobilepay < Stripe::RequestParams; end
1735
+ class Multibanco < Stripe::RequestParams; end
1736
+ class NaverPay < Stripe::RequestParams
1737
+ # Whether to use Naver Pay points or a card to fund this transaction. If not provided, this defaults to `card`.
1738
+ sig { returns(T.nilable(String)) }
1739
+ attr_accessor :funding
1740
+ sig { params(funding: T.nilable(String)).void }
1741
+ def initialize(funding: nil); end
1742
+ end
1743
+ class NzBankAccount < Stripe::RequestParams
1744
+ # The name on the bank account. Only required if the account holder name is different from the name of the authorized signatory collected in the PaymentMethod’s billing details.
1745
+ sig { returns(T.nilable(String)) }
1746
+ attr_accessor :account_holder_name
1747
+ # The account number for the bank account.
1748
+ sig { returns(String) }
1749
+ attr_accessor :account_number
1750
+ # The numeric code for the bank account's bank.
1751
+ sig { returns(String) }
1752
+ attr_accessor :bank_code
1753
+ # The numeric code for the bank account's bank branch.
1754
+ sig { returns(String) }
1755
+ attr_accessor :branch_code
1756
+ # Attribute for param field reference
1757
+ sig { returns(T.nilable(String)) }
1758
+ attr_accessor :reference
1759
+ # The suffix of the bank account number.
1760
+ sig { returns(String) }
1761
+ attr_accessor :suffix
1762
+ sig {
1763
+ params(account_holder_name: T.nilable(String), account_number: String, bank_code: String, branch_code: String, reference: T.nilable(String), suffix: String).void
1764
+ }
1765
+ def initialize(
1766
+ account_holder_name: nil,
1767
+ account_number: nil,
1768
+ bank_code: nil,
1769
+ branch_code: nil,
1770
+ reference: nil,
1771
+ suffix: nil
1772
+ ); end
1773
+ end
1774
+ class Oxxo < Stripe::RequestParams; end
1775
+ class P24 < Stripe::RequestParams
1776
+ # The customer's bank.
1777
+ sig { returns(T.nilable(String)) }
1778
+ attr_accessor :bank
1779
+ sig { params(bank: T.nilable(String)).void }
1780
+ def initialize(bank: nil); end
1781
+ end
1782
+ class PayByBank < Stripe::RequestParams; end
1783
+ class Payco < Stripe::RequestParams; end
1784
+ class Paynow < Stripe::RequestParams; end
1785
+ class Paypal < Stripe::RequestParams; end
1786
+ class Pix < Stripe::RequestParams; end
1787
+ class Promptpay < Stripe::RequestParams; end
1788
+ class RadarOptions < Stripe::RequestParams
1789
+ # 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.
1790
+ sig { returns(T.nilable(String)) }
1791
+ attr_accessor :session
1792
+ sig { params(session: T.nilable(String)).void }
1793
+ def initialize(session: nil); end
1794
+ end
1795
+ class RevolutPay < Stripe::RequestParams; end
1796
+ class SamsungPay < Stripe::RequestParams; end
1797
+ class Satispay < Stripe::RequestParams; end
1798
+ class SepaDebit < Stripe::RequestParams
1799
+ # IBAN of the bank account.
1800
+ sig { returns(String) }
1801
+ attr_accessor :iban
1802
+ sig { params(iban: String).void }
1803
+ def initialize(iban: nil); end
1804
+ end
1805
+ class Sofort < Stripe::RequestParams
1806
+ # Two-letter ISO code representing the country the bank account is located in.
1807
+ sig { returns(String) }
1808
+ attr_accessor :country
1809
+ sig { params(country: String).void }
1810
+ def initialize(country: nil); end
1811
+ end
1812
+ class Swish < Stripe::RequestParams; end
1813
+ class Twint < Stripe::RequestParams; end
1814
+ class UsBankAccount < Stripe::RequestParams
1815
+ # Account holder type: individual or company.
1816
+ sig { returns(T.nilable(String)) }
1817
+ attr_accessor :account_holder_type
1818
+ # Account number of the bank account.
1819
+ sig { returns(T.nilable(String)) }
1820
+ attr_accessor :account_number
1821
+ # Account type: checkings or savings. Defaults to checking if omitted.
1822
+ sig { returns(T.nilable(String)) }
1823
+ attr_accessor :account_type
1824
+ # The ID of a Financial Connections Account to use as a payment method.
1825
+ sig { returns(T.nilable(String)) }
1826
+ attr_accessor :financial_connections_account
1827
+ # Routing number of the bank account.
1828
+ sig { returns(T.nilable(String)) }
1829
+ attr_accessor :routing_number
1830
+ sig {
1831
+ params(account_holder_type: T.nilable(String), account_number: T.nilable(String), account_type: T.nilable(String), financial_connections_account: T.nilable(String), routing_number: T.nilable(String)).void
1832
+ }
1833
+ def initialize(
1834
+ account_holder_type: nil,
1835
+ account_number: nil,
1836
+ account_type: nil,
1837
+ financial_connections_account: nil,
1838
+ routing_number: nil
1839
+ ); end
1840
+ end
1841
+ class WechatPay < Stripe::RequestParams; end
1842
+ class Zip < Stripe::RequestParams; end
1843
+ # If this is an `acss_debit` PaymentMethod, this hash contains details about the ACSS Debit payment method.
1844
+ sig {
1845
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::AcssDebit))
1846
+ }
1847
+ attr_accessor :acss_debit
1848
+ # If this is an `affirm` PaymentMethod, this hash contains details about the Affirm payment method.
1849
+ sig { returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Affirm)) }
1850
+ attr_accessor :affirm
1851
+ # If this is an `AfterpayClearpay` PaymentMethod, this hash contains details about the AfterpayClearpay payment method.
1852
+ sig {
1853
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::AfterpayClearpay))
1854
+ }
1855
+ attr_accessor :afterpay_clearpay
1856
+ # If this is an `Alipay` PaymentMethod, this hash contains details about the Alipay payment method.
1857
+ sig { returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Alipay)) }
1858
+ attr_accessor :alipay
1859
+ # This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to `unspecified`.
1860
+ sig { returns(T.nilable(String)) }
1861
+ attr_accessor :allow_redisplay
1862
+ # If this is a Alma PaymentMethod, this hash contains details about the Alma payment method.
1863
+ sig { returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Alma)) }
1864
+ attr_accessor :alma
1865
+ # If this is a AmazonPay PaymentMethod, this hash contains details about the AmazonPay payment method.
1866
+ sig {
1867
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::AmazonPay))
1868
+ }
1869
+ attr_accessor :amazon_pay
1870
+ # If this is an `au_becs_debit` PaymentMethod, this hash contains details about the bank account.
1871
+ sig {
1872
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::AuBecsDebit))
1873
+ }
1874
+ attr_accessor :au_becs_debit
1875
+ # If this is a `bacs_debit` PaymentMethod, this hash contains details about the Bacs Direct Debit bank account.
1876
+ sig {
1877
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::BacsDebit))
1878
+ }
1879
+ attr_accessor :bacs_debit
1880
+ # If this is a `bancontact` PaymentMethod, this hash contains details about the Bancontact payment method.
1881
+ sig {
1882
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Bancontact))
1883
+ }
1884
+ attr_accessor :bancontact
1885
+ # If this is a `billie` PaymentMethod, this hash contains details about the Billie payment method.
1886
+ sig { returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Billie)) }
1887
+ attr_accessor :billie
1888
+ # Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods.
1889
+ sig {
1890
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::BillingDetails))
1891
+ }
1892
+ attr_accessor :billing_details
1893
+ # If this is a `blik` PaymentMethod, this hash contains details about the BLIK payment method.
1894
+ sig { returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Blik)) }
1895
+ attr_accessor :blik
1896
+ # If this is a `boleto` PaymentMethod, this hash contains details about the Boleto payment method.
1897
+ sig { returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Boleto)) }
1898
+ attr_accessor :boleto
1899
+ # If this is a `cashapp` PaymentMethod, this hash contains details about the Cash App Pay payment method.
1900
+ sig { returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Cashapp)) }
1901
+ attr_accessor :cashapp
1902
+ # If this is a `customer_balance` PaymentMethod, this hash contains details about the CustomerBalance payment method.
1903
+ sig {
1904
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::CustomerBalance))
1905
+ }
1906
+ attr_accessor :customer_balance
1907
+ # If this is an `eps` PaymentMethod, this hash contains details about the EPS payment method.
1908
+ sig { returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Eps)) }
1909
+ attr_accessor :eps
1910
+ # If this is an `fpx` PaymentMethod, this hash contains details about the FPX payment method.
1911
+ sig { returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Fpx)) }
1912
+ attr_accessor :fpx
1913
+ # If this is a `giropay` PaymentMethod, this hash contains details about the Giropay payment method.
1914
+ sig { returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Giropay)) }
1915
+ attr_accessor :giropay
1916
+ # If this is a `grabpay` PaymentMethod, this hash contains details about the GrabPay payment method.
1917
+ sig { returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Grabpay)) }
1918
+ attr_accessor :grabpay
1919
+ # If this is an `ideal` PaymentMethod, this hash contains details about the iDEAL payment method.
1920
+ sig { returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Ideal)) }
1921
+ attr_accessor :ideal
1922
+ # If this is an `interac_present` PaymentMethod, this hash contains details about the Interac Present payment method.
1923
+ sig {
1924
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::InteracPresent))
1925
+ }
1926
+ attr_accessor :interac_present
1927
+ # If this is a `kakao_pay` PaymentMethod, this hash contains details about the Kakao Pay payment method.
1928
+ sig { returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::KakaoPay)) }
1929
+ attr_accessor :kakao_pay
1930
+ # If this is a `klarna` PaymentMethod, this hash contains details about the Klarna payment method.
1931
+ sig { returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Klarna)) }
1932
+ attr_accessor :klarna
1933
+ # If this is a `konbini` PaymentMethod, this hash contains details about the Konbini payment method.
1934
+ sig { returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Konbini)) }
1935
+ attr_accessor :konbini
1936
+ # If this is a `kr_card` PaymentMethod, this hash contains details about the Korean Card payment method.
1937
+ sig { returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::KrCard)) }
1938
+ attr_accessor :kr_card
1939
+ # If this is an `Link` PaymentMethod, this hash contains details about the Link payment method.
1940
+ sig { returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Link)) }
1941
+ attr_accessor :link
1942
+ # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
1943
+ sig { returns(T.nilable(T::Hash[String, String])) }
1944
+ attr_accessor :metadata
1945
+ # If this is a `mobilepay` PaymentMethod, this hash contains details about the MobilePay payment method.
1946
+ sig {
1947
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Mobilepay))
1948
+ }
1949
+ attr_accessor :mobilepay
1950
+ # If this is a `multibanco` PaymentMethod, this hash contains details about the Multibanco payment method.
1951
+ sig {
1952
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Multibanco))
1953
+ }
1954
+ attr_accessor :multibanco
1955
+ # If this is a `naver_pay` PaymentMethod, this hash contains details about the Naver Pay payment method.
1956
+ sig { returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::NaverPay)) }
1957
+ attr_accessor :naver_pay
1958
+ # If this is an nz_bank_account PaymentMethod, this hash contains details about the nz_bank_account payment method.
1959
+ sig {
1960
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::NzBankAccount))
1961
+ }
1962
+ attr_accessor :nz_bank_account
1963
+ # If this is an `oxxo` PaymentMethod, this hash contains details about the OXXO payment method.
1964
+ sig { returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Oxxo)) }
1965
+ attr_accessor :oxxo
1966
+ # If this is a `p24` PaymentMethod, this hash contains details about the P24 payment method.
1967
+ sig { returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::P24)) }
1968
+ attr_accessor :p24
1969
+ # If this is a `pay_by_bank` PaymentMethod, this hash contains details about the PayByBank payment method.
1970
+ sig {
1971
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::PayByBank))
1972
+ }
1973
+ attr_accessor :pay_by_bank
1974
+ # If this is a `payco` PaymentMethod, this hash contains details about the PAYCO payment method.
1975
+ sig { returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Payco)) }
1976
+ attr_accessor :payco
1977
+ # If this is a `paynow` PaymentMethod, this hash contains details about the PayNow payment method.
1978
+ sig { returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Paynow)) }
1979
+ attr_accessor :paynow
1980
+ # If this is a `paypal` PaymentMethod, this hash contains details about the PayPal payment method.
1981
+ sig { returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Paypal)) }
1982
+ attr_accessor :paypal
1983
+ # If this is a `pix` PaymentMethod, this hash contains details about the Pix payment method.
1984
+ sig { returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Pix)) }
1985
+ attr_accessor :pix
1986
+ # If this is a `promptpay` PaymentMethod, this hash contains details about the PromptPay payment method.
1987
+ sig {
1988
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Promptpay))
1989
+ }
1990
+ attr_accessor :promptpay
1991
+ # Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information.
1992
+ sig {
1993
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::RadarOptions))
1994
+ }
1995
+ attr_accessor :radar_options
1996
+ # If this is a `revolut_pay` PaymentMethod, this hash contains details about the Revolut Pay payment method.
1997
+ sig {
1998
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::RevolutPay))
1999
+ }
2000
+ attr_accessor :revolut_pay
2001
+ # If this is a `samsung_pay` PaymentMethod, this hash contains details about the SamsungPay payment method.
2002
+ sig {
2003
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::SamsungPay))
2004
+ }
2005
+ attr_accessor :samsung_pay
2006
+ # If this is a `satispay` PaymentMethod, this hash contains details about the Satispay payment method.
2007
+ sig { returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Satispay)) }
2008
+ attr_accessor :satispay
2009
+ # If this is a `sepa_debit` PaymentMethod, this hash contains details about the SEPA debit bank account.
2010
+ sig {
2011
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::SepaDebit))
2012
+ }
2013
+ attr_accessor :sepa_debit
2014
+ # If this is a `sofort` PaymentMethod, this hash contains details about the SOFORT payment method.
2015
+ sig { returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Sofort)) }
2016
+ attr_accessor :sofort
2017
+ # If this is a `swish` PaymentMethod, this hash contains details about the Swish payment method.
2018
+ sig { returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Swish)) }
2019
+ attr_accessor :swish
2020
+ # If this is a TWINT PaymentMethod, this hash contains details about the TWINT payment method.
2021
+ sig { returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Twint)) }
2022
+ attr_accessor :twint
2023
+ # The type of the PaymentMethod. An additional hash is included on the PaymentMethod with a name matching this value. It contains additional information specific to the PaymentMethod type.
2024
+ sig { returns(String) }
2025
+ attr_accessor :type
2026
+ # If this is an `us_bank_account` PaymentMethod, this hash contains details about the US bank account payment method.
2027
+ sig {
2028
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::UsBankAccount))
2029
+ }
2030
+ attr_accessor :us_bank_account
2031
+ # If this is an `wechat_pay` PaymentMethod, this hash contains details about the wechat_pay payment method.
2032
+ sig {
2033
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::WechatPay))
2034
+ }
2035
+ attr_accessor :wechat_pay
2036
+ # If this is a `zip` PaymentMethod, this hash contains details about the Zip payment method.
2037
+ sig { returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Zip)) }
2038
+ attr_accessor :zip
2039
+ sig {
2040
+ params(acss_debit: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::AcssDebit), affirm: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Affirm), afterpay_clearpay: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::AfterpayClearpay), alipay: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Alipay), allow_redisplay: T.nilable(String), alma: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Alma), amazon_pay: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::AmazonPay), au_becs_debit: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::AuBecsDebit), bacs_debit: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::BacsDebit), bancontact: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Bancontact), billie: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Billie), billing_details: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::BillingDetails), blik: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Blik), boleto: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Boleto), cashapp: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Cashapp), customer_balance: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::CustomerBalance), eps: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Eps), fpx: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Fpx), giropay: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Giropay), grabpay: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Grabpay), ideal: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Ideal), interac_present: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::InteracPresent), kakao_pay: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::KakaoPay), klarna: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Klarna), konbini: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Konbini), kr_card: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::KrCard), link: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Link), metadata: T.nilable(T::Hash[String, String]), mobilepay: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Mobilepay), multibanco: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Multibanco), naver_pay: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::NaverPay), nz_bank_account: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::NzBankAccount), oxxo: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Oxxo), p24: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::P24), pay_by_bank: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::PayByBank), payco: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Payco), paynow: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Paynow), paypal: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Paypal), pix: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Pix), promptpay: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Promptpay), radar_options: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::RadarOptions), revolut_pay: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::RevolutPay), samsung_pay: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::SamsungPay), satispay: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Satispay), sepa_debit: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::SepaDebit), sofort: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Sofort), swish: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Swish), twint: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Twint), type: String, us_bank_account: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::UsBankAccount), wechat_pay: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::WechatPay), zip: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData::Zip)).void
2041
+ }
2042
+ def initialize(
2043
+ acss_debit: nil,
2044
+ affirm: nil,
2045
+ afterpay_clearpay: nil,
2046
+ alipay: nil,
2047
+ allow_redisplay: nil,
2048
+ alma: nil,
2049
+ amazon_pay: nil,
2050
+ au_becs_debit: nil,
2051
+ bacs_debit: nil,
2052
+ bancontact: nil,
2053
+ billie: nil,
2054
+ billing_details: nil,
2055
+ blik: nil,
2056
+ boleto: nil,
2057
+ cashapp: nil,
2058
+ customer_balance: nil,
2059
+ eps: nil,
2060
+ fpx: nil,
2061
+ giropay: nil,
2062
+ grabpay: nil,
2063
+ ideal: nil,
2064
+ interac_present: nil,
2065
+ kakao_pay: nil,
2066
+ klarna: nil,
2067
+ konbini: nil,
2068
+ kr_card: nil,
2069
+ link: nil,
2070
+ metadata: nil,
2071
+ mobilepay: nil,
2072
+ multibanco: nil,
2073
+ naver_pay: nil,
2074
+ nz_bank_account: nil,
2075
+ oxxo: nil,
2076
+ p24: nil,
2077
+ pay_by_bank: nil,
2078
+ payco: nil,
2079
+ paynow: nil,
2080
+ paypal: nil,
2081
+ pix: nil,
2082
+ promptpay: nil,
2083
+ radar_options: nil,
2084
+ revolut_pay: nil,
2085
+ samsung_pay: nil,
2086
+ satispay: nil,
2087
+ sepa_debit: nil,
2088
+ sofort: nil,
2089
+ swish: nil,
2090
+ twint: nil,
2091
+ type: nil,
2092
+ us_bank_account: nil,
2093
+ wechat_pay: nil,
2094
+ zip: nil
2095
+ ); end
2096
+ end
2097
+ class PaymentMethodOptions < Stripe::RequestParams
2098
+ class AcssDebit < Stripe::RequestParams
2099
+ class MandateOptions < Stripe::RequestParams
2100
+ # A URL for custom mandate text to render during confirmation step.
2101
+ # The URL will be rendered with additional GET parameters `payment_intent` and `payment_intent_client_secret` when confirming a Payment Intent,
2102
+ # or `setup_intent` and `setup_intent_client_secret` when confirming a Setup Intent.
2103
+ sig { returns(T.nilable(T.nilable(String))) }
2104
+ attr_accessor :custom_mandate_url
2105
+ # List of Stripe products where this mandate can be selected automatically.
2106
+ sig { returns(T.nilable(T::Array[String])) }
2107
+ attr_accessor :default_for
2108
+ # Description of the mandate interval. Only required if 'payment_schedule' parameter is 'interval' or 'combined'.
2109
+ sig { returns(T.nilable(String)) }
2110
+ attr_accessor :interval_description
2111
+ # Payment schedule for the mandate.
2112
+ sig { returns(T.nilable(String)) }
2113
+ attr_accessor :payment_schedule
2114
+ # Transaction type of the mandate.
2115
+ sig { returns(T.nilable(String)) }
2116
+ attr_accessor :transaction_type
2117
+ sig {
2118
+ params(custom_mandate_url: T.nilable(T.nilable(String)), default_for: T.nilable(T::Array[String]), interval_description: T.nilable(String), payment_schedule: T.nilable(String), transaction_type: T.nilable(String)).void
2119
+ }
2120
+ def initialize(
2121
+ custom_mandate_url: nil,
2122
+ default_for: nil,
2123
+ interval_description: nil,
2124
+ payment_schedule: nil,
2125
+ transaction_type: nil
2126
+ ); end
2127
+ end
2128
+ # Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
2129
+ sig { returns(T.nilable(String)) }
2130
+ attr_accessor :currency
2131
+ # Additional fields for Mandate creation
2132
+ sig {
2133
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::AcssDebit::MandateOptions))
2134
+ }
2135
+ attr_accessor :mandate_options
2136
+ # Bank account verification method.
2137
+ sig { returns(T.nilable(String)) }
2138
+ attr_accessor :verification_method
2139
+ sig {
2140
+ params(currency: T.nilable(String), mandate_options: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::AcssDebit::MandateOptions), verification_method: T.nilable(String)).void
2141
+ }
2142
+ def initialize(currency: nil, mandate_options: nil, verification_method: nil); end
2143
+ end
2144
+ class AmazonPay < Stripe::RequestParams; end
2145
+ class BacsDebit < Stripe::RequestParams
2146
+ class MandateOptions < Stripe::RequestParams
2147
+ # 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 'DDIC' or 'STRIPE'.
2148
+ sig { returns(T.nilable(T.nilable(String))) }
2149
+ attr_accessor :reference_prefix
2150
+ sig { params(reference_prefix: T.nilable(T.nilable(String))).void }
2151
+ def initialize(reference_prefix: nil); end
2152
+ end
2153
+ # Additional fields for Mandate creation
2154
+ sig {
2155
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::BacsDebit::MandateOptions))
2156
+ }
2157
+ attr_accessor :mandate_options
2158
+ sig {
2159
+ params(mandate_options: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::BacsDebit::MandateOptions)).void
2160
+ }
2161
+ def initialize(mandate_options: nil); end
2162
+ end
2163
+ class Card < Stripe::RequestParams
2164
+ class MandateOptions < Stripe::RequestParams
2165
+ # Amount to be charged for future payments.
2166
+ sig { returns(Integer) }
2167
+ attr_accessor :amount
2168
+ # One of `fixed` or `maximum`. If `fixed`, the `amount` param refers to the exact amount to be charged in future payments. If `maximum`, the amount charged can be up to the value passed for the `amount` param.
2169
+ sig { returns(String) }
2170
+ attr_accessor :amount_type
2171
+ # Currency in which future payments will be charged. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
2172
+ sig { returns(String) }
2173
+ attr_accessor :currency
2174
+ # A description of the mandate or subscription that is meant to be displayed to the customer.
2175
+ sig { returns(T.nilable(String)) }
2176
+ attr_accessor :description
2177
+ # End date of the mandate or subscription. If not provided, the mandate will be active until canceled. If provided, end date should be after start date.
2178
+ sig { returns(T.nilable(Integer)) }
2179
+ attr_accessor :end_date
2180
+ # Specifies payment frequency. One of `day`, `week`, `month`, `year`, or `sporadic`.
2181
+ sig { returns(String) }
2182
+ attr_accessor :interval
2183
+ # The number of intervals between payments. For example, `interval=month` and `interval_count=3` indicates one payment every three months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks). This parameter is optional when `interval=sporadic`.
2184
+ sig { returns(T.nilable(Integer)) }
2185
+ attr_accessor :interval_count
2186
+ # Unique identifier for the mandate or subscription.
2187
+ sig { returns(String) }
2188
+ attr_accessor :reference
2189
+ # Start date of the mandate or subscription. Start date should not be lesser than yesterday.
2190
+ sig { returns(Integer) }
2191
+ attr_accessor :start_date
2192
+ # Specifies the type of mandates supported. Possible values are `india`.
2193
+ sig { returns(T.nilable(T::Array[String])) }
2194
+ attr_accessor :supported_types
2195
+ sig {
2196
+ params(amount: Integer, amount_type: String, currency: String, description: T.nilable(String), end_date: T.nilable(Integer), interval: String, interval_count: T.nilable(Integer), reference: String, start_date: Integer, supported_types: T.nilable(T::Array[String])).void
2197
+ }
2198
+ def initialize(
2199
+ amount: nil,
2200
+ amount_type: nil,
2201
+ currency: nil,
2202
+ description: nil,
2203
+ end_date: nil,
2204
+ interval: nil,
2205
+ interval_count: nil,
2206
+ reference: nil,
2207
+ start_date: nil,
2208
+ supported_types: nil
2209
+ ); end
2210
+ end
2211
+ class ThreeDSecure < Stripe::RequestParams
2212
+ class NetworkOptions < Stripe::RequestParams
2213
+ class CartesBancaires < Stripe::RequestParams
2214
+ # The cryptogram calculation algorithm used by the card Issuer's ACS
2215
+ # to calculate the Authentication cryptogram. Also known as `cavvAlgorithm`.
2216
+ # messageExtension: CB-AVALGO
2217
+ sig { returns(String) }
2218
+ attr_accessor :cb_avalgo
2219
+ # The exemption indicator returned from Cartes Bancaires in the ARes.
2220
+ # message extension: CB-EXEMPTION; string (4 characters)
2221
+ # This is a 3 byte bitmap (low significant byte first and most significant
2222
+ # bit first) that has been Base64 encoded
2223
+ sig { returns(T.nilable(String)) }
2224
+ attr_accessor :cb_exemption
2225
+ # The risk score returned from Cartes Bancaires in the ARes.
2226
+ # message extension: CB-SCORE; numeric value 0-99
2227
+ sig { returns(T.nilable(Integer)) }
2228
+ attr_accessor :cb_score
2229
+ sig {
2230
+ params(cb_avalgo: String, cb_exemption: T.nilable(String), cb_score: T.nilable(Integer)).void
2231
+ }
2232
+ def initialize(cb_avalgo: nil, cb_exemption: nil, cb_score: nil); end
2233
+ end
2234
+ # Cartes Bancaires-specific 3DS fields.
2235
+ sig {
2236
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::Card::ThreeDSecure::NetworkOptions::CartesBancaires))
2237
+ }
2238
+ attr_accessor :cartes_bancaires
2239
+ sig {
2240
+ params(cartes_bancaires: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::Card::ThreeDSecure::NetworkOptions::CartesBancaires)).void
2241
+ }
2242
+ def initialize(cartes_bancaires: nil); end
2243
+ end
2244
+ # The `transStatus` returned from the card Issuer’s ACS in the ARes.
2245
+ sig { returns(T.nilable(String)) }
2246
+ attr_accessor :ares_trans_status
2247
+ # The cryptogram, also known as the "authentication value" (AAV, CAVV or
2248
+ # AEVV). This value is 20 bytes, base64-encoded into a 28-character string.
2249
+ # (Most 3D Secure providers will return the base64-encoded version, which
2250
+ # is what you should specify here.)
2251
+ sig { returns(T.nilable(String)) }
2252
+ attr_accessor :cryptogram
2253
+ # The Electronic Commerce Indicator (ECI) is returned by your 3D Secure
2254
+ # provider and indicates what degree of authentication was performed.
2255
+ sig { returns(T.nilable(String)) }
2256
+ attr_accessor :electronic_commerce_indicator
2257
+ # Network specific 3DS fields. Network specific arguments require an
2258
+ # explicit card brand choice. The parameter `payment_method_options.card.network``
2259
+ # must be populated accordingly
2260
+ sig {
2261
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::Card::ThreeDSecure::NetworkOptions))
2262
+ }
2263
+ attr_accessor :network_options
2264
+ # The challenge indicator (`threeDSRequestorChallengeInd`) which was requested in the
2265
+ # AReq sent to the card Issuer's ACS. A string containing 2 digits from 01-99.
2266
+ sig { returns(T.nilable(String)) }
2267
+ attr_accessor :requestor_challenge_indicator
2268
+ # For 3D Secure 1, the XID. For 3D Secure 2, the Directory Server
2269
+ # Transaction ID (dsTransID).
2270
+ sig { returns(T.nilable(String)) }
2271
+ attr_accessor :transaction_id
2272
+ # The version of 3D Secure that was performed.
2273
+ sig { returns(T.nilable(String)) }
2274
+ attr_accessor :version
2275
+ sig {
2276
+ params(ares_trans_status: T.nilable(String), cryptogram: T.nilable(String), electronic_commerce_indicator: T.nilable(String), network_options: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::Card::ThreeDSecure::NetworkOptions), requestor_challenge_indicator: T.nilable(String), transaction_id: T.nilable(String), version: T.nilable(String)).void
2277
+ }
2278
+ def initialize(
2279
+ ares_trans_status: nil,
2280
+ cryptogram: nil,
2281
+ electronic_commerce_indicator: nil,
2282
+ network_options: nil,
2283
+ requestor_challenge_indicator: nil,
2284
+ transaction_id: nil,
2285
+ version: nil
2286
+ ); end
2287
+ end
2288
+ # Configuration options for setting up an eMandate for cards issued in India.
2289
+ sig {
2290
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::Card::MandateOptions))
2291
+ }
2292
+ attr_accessor :mandate_options
2293
+ # When specified, this parameter signals that a card has been collected
2294
+ # as MOTO (Mail Order Telephone Order) and thus out of scope for SCA. This
2295
+ # parameter can only be provided during confirmation.
2296
+ sig { returns(T.nilable(T::Boolean)) }
2297
+ attr_accessor :moto
2298
+ # Selected network to process this SetupIntent on. Depends on the available networks of the card attached to the SetupIntent. Can be only set confirm-time.
2299
+ sig { returns(T.nilable(String)) }
2300
+ attr_accessor :network
2301
+ # We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. If not provided, this value defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine.
2302
+ sig { returns(T.nilable(String)) }
2303
+ attr_accessor :request_three_d_secure
2304
+ # If 3D Secure authentication was performed with a third-party provider,
2305
+ # the authentication details to use for this setup.
2306
+ sig {
2307
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::Card::ThreeDSecure))
2308
+ }
2309
+ attr_accessor :three_d_secure
2310
+ sig {
2311
+ params(mandate_options: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::Card::MandateOptions), moto: T.nilable(T::Boolean), network: T.nilable(String), request_three_d_secure: T.nilable(String), three_d_secure: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::Card::ThreeDSecure)).void
2312
+ }
2313
+ def initialize(
2314
+ mandate_options: nil,
2315
+ moto: nil,
2316
+ network: nil,
2317
+ request_three_d_secure: nil,
2318
+ three_d_secure: nil
2319
+ ); end
2320
+ end
2321
+ class CardPresent < Stripe::RequestParams; end
2322
+ class Link < Stripe::RequestParams
2323
+ # [Deprecated] This is a legacy parameter that no longer has any function.
2324
+ sig { returns(T.nilable(String)) }
2325
+ attr_accessor :persistent_token
2326
+ sig { params(persistent_token: T.nilable(String)).void }
2327
+ def initialize(persistent_token: nil); end
2328
+ end
2329
+ class Paypal < Stripe::RequestParams
2330
+ # The PayPal Billing Agreement ID (BAID). This is an ID generated by PayPal which represents the mandate between the merchant and the customer.
2331
+ sig { returns(T.nilable(String)) }
2332
+ attr_accessor :billing_agreement_id
2333
+ sig { params(billing_agreement_id: T.nilable(String)).void }
2334
+ def initialize(billing_agreement_id: nil); end
2335
+ end
2336
+ class SepaDebit < Stripe::RequestParams
2337
+ class MandateOptions < Stripe::RequestParams
2338
+ # 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'.
2339
+ sig { returns(T.nilable(T.nilable(String))) }
2340
+ attr_accessor :reference_prefix
2341
+ sig { params(reference_prefix: T.nilable(T.nilable(String))).void }
2342
+ def initialize(reference_prefix: nil); end
2343
+ end
2344
+ # Additional fields for Mandate creation
2345
+ sig {
2346
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::SepaDebit::MandateOptions))
2347
+ }
2348
+ attr_accessor :mandate_options
2349
+ sig {
2350
+ params(mandate_options: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::SepaDebit::MandateOptions)).void
2351
+ }
2352
+ def initialize(mandate_options: nil); end
2353
+ end
2354
+ class UsBankAccount < Stripe::RequestParams
2355
+ class FinancialConnections < Stripe::RequestParams
2356
+ class Filters < Stripe::RequestParams
2357
+ # The account subcategories to use to filter for selectable accounts. Valid subcategories are `checking` and `savings`.
2358
+ sig { returns(T.nilable(T::Array[String])) }
2359
+ attr_accessor :account_subcategories
2360
+ sig { params(account_subcategories: T.nilable(T::Array[String])).void }
2361
+ def initialize(account_subcategories: nil); end
2362
+ end
2363
+ # Provide filters for the linked accounts that the customer can select for the payment method.
2364
+ sig {
2365
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::UsBankAccount::FinancialConnections::Filters))
2366
+ }
2367
+ attr_accessor :filters
2368
+ # The list of permissions to request. If this parameter is passed, the `payment_method` permission must be included. Valid permissions include: `balances`, `ownership`, `payment_method`, and `transactions`.
2369
+ sig { returns(T.nilable(T::Array[String])) }
2370
+ attr_accessor :permissions
2371
+ # List of data features that you would like to retrieve upon account creation.
2372
+ sig { returns(T.nilable(T::Array[String])) }
2373
+ attr_accessor :prefetch
2374
+ # For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app.
2375
+ sig { returns(T.nilable(String)) }
2376
+ attr_accessor :return_url
2377
+ sig {
2378
+ params(filters: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::UsBankAccount::FinancialConnections::Filters), permissions: T.nilable(T::Array[String]), prefetch: T.nilable(T::Array[String]), return_url: T.nilable(String)).void
2379
+ }
2380
+ def initialize(filters: nil, permissions: nil, prefetch: nil, return_url: nil); end
2381
+ end
2382
+ class MandateOptions < Stripe::RequestParams
2383
+ # The method used to collect offline mandate customer acceptance.
2384
+ sig { returns(T.nilable(T.nilable(String))) }
2385
+ attr_accessor :collection_method
2386
+ sig { params(collection_method: T.nilable(T.nilable(String))).void }
2387
+ def initialize(collection_method: nil); end
2388
+ end
2389
+ class Networks < Stripe::RequestParams
2390
+ # Triggers validations to run across the selected networks
2391
+ sig { returns(T.nilable(T::Array[String])) }
2392
+ attr_accessor :requested
2393
+ sig { params(requested: T.nilable(T::Array[String])).void }
2394
+ def initialize(requested: nil); end
2395
+ end
2396
+ # Additional fields for Financial Connections Session creation
2397
+ sig {
2398
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::UsBankAccount::FinancialConnections))
2399
+ }
2400
+ attr_accessor :financial_connections
2401
+ # Additional fields for Mandate creation
2402
+ sig {
2403
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::UsBankAccount::MandateOptions))
2404
+ }
2405
+ attr_accessor :mandate_options
2406
+ # Additional fields for network related functions
2407
+ sig {
2408
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::UsBankAccount::Networks))
2409
+ }
2410
+ attr_accessor :networks
2411
+ # Bank account verification method.
2412
+ sig { returns(T.nilable(String)) }
2413
+ attr_accessor :verification_method
2414
+ sig {
2415
+ params(financial_connections: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::UsBankAccount::FinancialConnections), mandate_options: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::UsBankAccount::MandateOptions), networks: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::UsBankAccount::Networks), verification_method: T.nilable(String)).void
2416
+ }
2417
+ def initialize(
2418
+ financial_connections: nil,
2419
+ mandate_options: nil,
2420
+ networks: nil,
2421
+ verification_method: nil
2422
+ ); end
2423
+ end
2424
+ # If this is a `acss_debit` SetupIntent, this sub-hash contains details about the ACSS Debit payment method options.
2425
+ sig {
2426
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::AcssDebit))
2427
+ }
2428
+ attr_accessor :acss_debit
2429
+ # If this is a `amazon_pay` SetupIntent, this sub-hash contains details about the AmazonPay payment method options.
2430
+ sig {
2431
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::AmazonPay))
2432
+ }
2433
+ attr_accessor :amazon_pay
2434
+ # If this is a `bacs_debit` SetupIntent, this sub-hash contains details about the Bacs Debit payment method options.
2435
+ sig {
2436
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::BacsDebit))
2437
+ }
2438
+ attr_accessor :bacs_debit
2439
+ # Configuration for any card setup attempted on this SetupIntent.
2440
+ sig { returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::Card)) }
2441
+ attr_accessor :card
2442
+ # If this is a `card_present` PaymentMethod, this sub-hash contains details about the card-present payment method options.
2443
+ sig {
2444
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::CardPresent))
2445
+ }
2446
+ attr_accessor :card_present
2447
+ # If this is a `link` PaymentMethod, this sub-hash contains details about the Link payment method options.
2448
+ sig { returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::Link)) }
2449
+ attr_accessor :link
2450
+ # If this is a `paypal` PaymentMethod, this sub-hash contains details about the PayPal payment method options.
2451
+ sig {
2452
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::Paypal))
2453
+ }
2454
+ attr_accessor :paypal
2455
+ # If this is a `sepa_debit` SetupIntent, this sub-hash contains details about the SEPA Debit payment method options.
2456
+ sig {
2457
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::SepaDebit))
2458
+ }
2459
+ attr_accessor :sepa_debit
2460
+ # If this is a `us_bank_account` SetupIntent, this sub-hash contains details about the US bank account payment method options.
2461
+ sig {
2462
+ returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::UsBankAccount))
2463
+ }
2464
+ attr_accessor :us_bank_account
2465
+ sig {
2466
+ params(acss_debit: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::AcssDebit), amazon_pay: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::AmazonPay), bacs_debit: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::BacsDebit), card: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::Card), card_present: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::CardPresent), link: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::Link), paypal: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::Paypal), sepa_debit: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::SepaDebit), us_bank_account: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions::UsBankAccount)).void
2467
+ }
2468
+ def initialize(
2469
+ acss_debit: nil,
2470
+ amazon_pay: nil,
2471
+ bacs_debit: nil,
2472
+ card: nil,
2473
+ card_present: nil,
2474
+ link: nil,
2475
+ paypal: nil,
2476
+ sepa_debit: nil,
2477
+ us_bank_account: nil
2478
+ ); end
2479
+ end
2480
+ # If present, the SetupIntent's payment method will be attached to the in-context Stripe Account.
2481
+ #
2482
+ # It can only be used for this Stripe Account’s own money movement flows like InboundTransfer and OutboundTransfers. It cannot be set to true when setting up a PaymentMethod for a Customer, and defaults to false when attaching a PaymentMethod to a Customer.
2483
+ sig { returns(T.nilable(T::Boolean)) }
2484
+ attr_accessor :attach_to_self
2485
+ # ID of the Customer this SetupIntent belongs to, if one exists.
2486
+ #
2487
+ # If present, the SetupIntent's payment method will be attached to the Customer on successful setup. Payment methods attached to other Customers cannot be used with this SetupIntent.
2488
+ sig { returns(T.nilable(String)) }
2489
+ attr_accessor :customer
2490
+ # An arbitrary string attached to the object. Often useful for displaying to users.
2491
+ sig { returns(T.nilable(String)) }
2492
+ attr_accessor :description
2493
+ # Specifies which fields in the response should be expanded.
2494
+ sig { returns(T.nilable(T::Array[String])) }
2495
+ attr_accessor :expand
2496
+ # Indicates the directions of money movement for which this payment method is intended to be used.
2497
+ #
2498
+ # Include `inbound` if you intend to use the payment method as the origin to pull funds from. Include `outbound` if you intend to use the payment method as the destination to send funds to. You can include both if you intend to use the payment method for both purposes.
2499
+ sig { returns(T.nilable(T::Array[String])) }
2500
+ attr_accessor :flow_directions
2501
+ # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
2502
+ sig { returns(T.nilable(T.nilable(T.any(String, T::Hash[String, String])))) }
2503
+ attr_accessor :metadata
2504
+ # ID of the payment method (a PaymentMethod, Card, or saved Source object) to attach to this SetupIntent. To unset this field to null, pass in an empty string.
2505
+ sig { returns(T.nilable(String)) }
2506
+ attr_accessor :payment_method
2507
+ # The ID of the [payment method configuration](https://stripe.com/docs/api/payment_method_configurations) to use with this SetupIntent.
2508
+ sig { returns(T.nilable(String)) }
2509
+ attr_accessor :payment_method_configuration
2510
+ # When included, this hash creates a PaymentMethod that is set as the [`payment_method`](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-payment_method)
2511
+ # value in the SetupIntent.
2512
+ sig { returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData)) }
2513
+ attr_accessor :payment_method_data
2514
+ # Payment method-specific configuration for this SetupIntent.
2515
+ sig { returns(T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions)) }
2516
+ attr_accessor :payment_method_options
2517
+ # The list of payment method types (for example, card) that this SetupIntent can set up. If you don't provide this, Stripe will dynamically show relevant payment methods from your [payment method settings](https://dashboard.stripe.com/settings/payment_methods).
2518
+ sig { returns(T.nilable(T::Array[String])) }
2519
+ attr_accessor :payment_method_types
2520
+ sig {
2521
+ params(attach_to_self: T.nilable(T::Boolean), customer: T.nilable(String), description: T.nilable(String), expand: T.nilable(T::Array[String]), flow_directions: T.nilable(T::Array[String]), metadata: T.nilable(T.nilable(T.any(String, T::Hash[String, String]))), payment_method: T.nilable(String), payment_method_configuration: T.nilable(String), payment_method_data: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::SetupIntent::UpdateParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String])).void
2522
+ }
2523
+ def initialize(
2524
+ attach_to_self: nil,
2525
+ customer: nil,
2526
+ description: nil,
2527
+ expand: nil,
2528
+ flow_directions: nil,
2529
+ metadata: nil,
2530
+ payment_method: nil,
2531
+ payment_method_configuration: nil,
2532
+ payment_method_data: nil,
2533
+ payment_method_options: nil,
2534
+ payment_method_types: nil
2535
+ ); end
2536
+ end
2537
+ class CancelParams < Stripe::RequestParams
2538
+ # Reason for canceling this SetupIntent. Possible values are: `abandoned`, `requested_by_customer`, or `duplicate`
2539
+ sig { returns(T.nilable(String)) }
2540
+ attr_accessor :cancellation_reason
2541
+ # Specifies which fields in the response should be expanded.
2542
+ sig { returns(T.nilable(T::Array[String])) }
2543
+ attr_accessor :expand
2544
+ sig {
2545
+ params(cancellation_reason: T.nilable(String), expand: T.nilable(T::Array[String])).void
2546
+ }
2547
+ def initialize(cancellation_reason: nil, expand: nil); end
2548
+ end
2549
+ class ConfirmParams < Stripe::RequestParams
2550
+ class MandateData < Stripe::RequestParams
2551
+ class CustomerAcceptance < Stripe::RequestParams
2552
+ class Offline < Stripe::RequestParams; end
2553
+ class Online < Stripe::RequestParams
2554
+ # The IP address from which the Mandate was accepted by the customer.
2555
+ sig { returns(T.nilable(String)) }
2556
+ attr_accessor :ip_address
2557
+ # The user agent of the browser from which the Mandate was accepted by the customer.
2558
+ sig { returns(T.nilable(String)) }
2559
+ attr_accessor :user_agent
2560
+ sig { params(ip_address: T.nilable(String), user_agent: T.nilable(String)).void }
2561
+ def initialize(ip_address: nil, user_agent: nil); end
2562
+ end
2563
+ # The time at which the customer accepted the Mandate.
2564
+ sig { returns(T.nilable(Integer)) }
2565
+ attr_accessor :accepted_at
2566
+ # If this is a Mandate accepted offline, this hash contains details about the offline acceptance.
2567
+ sig {
2568
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::MandateData::CustomerAcceptance::Offline))
2569
+ }
2570
+ attr_accessor :offline
2571
+ # If this is a Mandate accepted online, this hash contains details about the online acceptance.
2572
+ sig {
2573
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::MandateData::CustomerAcceptance::Online))
2574
+ }
2575
+ attr_accessor :online
2576
+ # The type of customer acceptance information included with the Mandate. One of `online` or `offline`.
2577
+ sig { returns(String) }
2578
+ attr_accessor :type
2579
+ sig {
2580
+ params(accepted_at: T.nilable(Integer), offline: T.nilable(::Stripe::SetupIntent::ConfirmParams::MandateData::CustomerAcceptance::Offline), online: T.nilable(::Stripe::SetupIntent::ConfirmParams::MandateData::CustomerAcceptance::Online), type: String).void
2581
+ }
2582
+ def initialize(accepted_at: nil, offline: nil, online: nil, type: nil); end
2583
+ end
2584
+ # This hash contains details about the customer acceptance of the Mandate.
2585
+ sig {
2586
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::MandateData::CustomerAcceptance))
2587
+ }
2588
+ attr_accessor :customer_acceptance
2589
+ sig {
2590
+ params(customer_acceptance: T.nilable(::Stripe::SetupIntent::ConfirmParams::MandateData::CustomerAcceptance)).void
2591
+ }
2592
+ def initialize(customer_acceptance: nil); end
2593
+ end
2594
+ class PaymentMethodData < Stripe::RequestParams
2595
+ class AcssDebit < Stripe::RequestParams
2596
+ # Customer's bank account number.
2597
+ sig { returns(String) }
2598
+ attr_accessor :account_number
2599
+ # Institution number of the customer's bank.
2600
+ sig { returns(String) }
2601
+ attr_accessor :institution_number
2602
+ # Transit number of the customer's bank.
2603
+ sig { returns(String) }
2604
+ attr_accessor :transit_number
2605
+ sig {
2606
+ params(account_number: String, institution_number: String, transit_number: String).void
2607
+ }
2608
+ def initialize(account_number: nil, institution_number: nil, transit_number: nil); end
2609
+ end
2610
+ class Affirm < Stripe::RequestParams; end
2611
+ class AfterpayClearpay < Stripe::RequestParams; end
2612
+ class Alipay < Stripe::RequestParams; end
2613
+ class Alma < Stripe::RequestParams; end
2614
+ class AmazonPay < Stripe::RequestParams; end
2615
+ class AuBecsDebit < Stripe::RequestParams
2616
+ # The account number for the bank account.
2617
+ sig { returns(String) }
2618
+ attr_accessor :account_number
2619
+ # Bank-State-Branch number of the bank account.
2620
+ sig { returns(String) }
2621
+ attr_accessor :bsb_number
2622
+ sig { params(account_number: String, bsb_number: String).void }
2623
+ def initialize(account_number: nil, bsb_number: nil); end
2624
+ end
2625
+ class BacsDebit < Stripe::RequestParams
2626
+ # Account number of the bank account that the funds will be debited from.
2627
+ sig { returns(T.nilable(String)) }
2628
+ attr_accessor :account_number
2629
+ # Sort code of the bank account. (e.g., `10-20-30`)
2630
+ sig { returns(T.nilable(String)) }
2631
+ attr_accessor :sort_code
2632
+ sig { params(account_number: T.nilable(String), sort_code: T.nilable(String)).void }
2633
+ def initialize(account_number: nil, sort_code: nil); end
2634
+ end
2635
+ class Bancontact < Stripe::RequestParams; end
2636
+ class Billie < Stripe::RequestParams; end
2637
+ class BillingDetails < Stripe::RequestParams
2638
+ class Address < Stripe::RequestParams
2639
+ # City, district, suburb, town, or village.
2640
+ sig { returns(T.nilable(String)) }
2641
+ attr_accessor :city
2642
+ # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
2643
+ sig { returns(T.nilable(String)) }
2644
+ attr_accessor :country
2645
+ # Address line 1 (e.g., street, PO Box, or company name).
2646
+ sig { returns(T.nilable(String)) }
2647
+ attr_accessor :line1
2648
+ # Address line 2 (e.g., apartment, suite, unit, or building).
2649
+ sig { returns(T.nilable(String)) }
2650
+ attr_accessor :line2
2651
+ # ZIP or postal code.
2652
+ sig { returns(T.nilable(String)) }
2653
+ attr_accessor :postal_code
2654
+ # State, county, province, or region.
2655
+ sig { returns(T.nilable(String)) }
2656
+ attr_accessor :state
2657
+ sig {
2658
+ params(city: T.nilable(String), country: T.nilable(String), line1: T.nilable(String), line2: T.nilable(String), postal_code: T.nilable(String), state: T.nilable(String)).void
2659
+ }
2660
+ def initialize(
2661
+ city: nil,
2662
+ country: nil,
2663
+ line1: nil,
2664
+ line2: nil,
2665
+ postal_code: nil,
2666
+ state: nil
2667
+ ); end
2668
+ end
2669
+ # Billing address.
2670
+ sig {
2671
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::BillingDetails::Address))))
2672
+ }
2673
+ attr_accessor :address
2674
+ # Email address.
2675
+ sig { returns(T.nilable(T.nilable(String))) }
2676
+ attr_accessor :email
2677
+ # Full name.
2678
+ sig { returns(T.nilable(T.nilable(String))) }
2679
+ attr_accessor :name
2680
+ # Billing phone number (including extension).
2681
+ sig { returns(T.nilable(T.nilable(String))) }
2682
+ attr_accessor :phone
2683
+ # Taxpayer identification number. Used only for transactions between LATAM buyers and non-LATAM sellers.
2684
+ sig { returns(T.nilable(String)) }
2685
+ attr_accessor :tax_id
2686
+ sig {
2687
+ params(address: T.nilable(T.nilable(T.any(String, ::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::BillingDetails::Address))), email: T.nilable(T.nilable(String)), name: T.nilable(T.nilable(String)), phone: T.nilable(T.nilable(String)), tax_id: T.nilable(String)).void
2688
+ }
2689
+ def initialize(address: nil, email: nil, name: nil, phone: nil, tax_id: nil); end
2690
+ end
2691
+ class Blik < Stripe::RequestParams; end
2692
+ class Boleto < Stripe::RequestParams
2693
+ # The tax ID of the customer (CPF for individual consumers or CNPJ for businesses consumers)
2694
+ sig { returns(String) }
2695
+ attr_accessor :tax_id
2696
+ sig { params(tax_id: String).void }
2697
+ def initialize(tax_id: nil); end
2698
+ end
2699
+ class Cashapp < Stripe::RequestParams; end
2700
+ class CustomerBalance < Stripe::RequestParams; end
2701
+ class Eps < Stripe::RequestParams
2702
+ # The customer's bank.
2703
+ sig { returns(T.nilable(String)) }
2704
+ attr_accessor :bank
2705
+ sig { params(bank: T.nilable(String)).void }
2706
+ def initialize(bank: nil); end
2707
+ end
2708
+ class Fpx < Stripe::RequestParams
2709
+ # Account holder type for FPX transaction
2710
+ sig { returns(T.nilable(String)) }
2711
+ attr_accessor :account_holder_type
2712
+ # The customer's bank.
2713
+ sig { returns(String) }
2714
+ attr_accessor :bank
2715
+ sig { params(account_holder_type: T.nilable(String), bank: String).void }
2716
+ def initialize(account_holder_type: nil, bank: nil); end
2717
+ end
2718
+ class Giropay < Stripe::RequestParams; end
2719
+ class Grabpay < Stripe::RequestParams; end
2720
+ class Ideal < Stripe::RequestParams
2721
+ # The customer's bank. Only use this parameter for existing customers. Don't use it for new customers.
2722
+ sig { returns(T.nilable(String)) }
2723
+ attr_accessor :bank
2724
+ sig { params(bank: T.nilable(String)).void }
2725
+ def initialize(bank: nil); end
2726
+ end
2727
+ class InteracPresent < Stripe::RequestParams; end
2728
+ class KakaoPay < Stripe::RequestParams; end
2729
+ class Klarna < Stripe::RequestParams
2730
+ class Dob < Stripe::RequestParams
2731
+ # The day of birth, between 1 and 31.
2732
+ sig { returns(Integer) }
2733
+ attr_accessor :day
2734
+ # The month of birth, between 1 and 12.
2735
+ sig { returns(Integer) }
2736
+ attr_accessor :month
2737
+ # The four-digit year of birth.
2738
+ sig { returns(Integer) }
2739
+ attr_accessor :year
2740
+ sig { params(day: Integer, month: Integer, year: Integer).void }
2741
+ def initialize(day: nil, month: nil, year: nil); end
2742
+ end
2743
+ # Customer's date of birth
2744
+ sig {
2745
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Klarna::Dob))
2746
+ }
2747
+ attr_accessor :dob
2748
+ sig {
2749
+ params(dob: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Klarna::Dob)).void
2750
+ }
2751
+ def initialize(dob: nil); end
2752
+ end
2753
+ class Konbini < Stripe::RequestParams; end
2754
+ class KrCard < Stripe::RequestParams; end
2755
+ class Link < Stripe::RequestParams; end
2756
+ class Mobilepay < Stripe::RequestParams; end
2757
+ class Multibanco < Stripe::RequestParams; end
2758
+ class NaverPay < Stripe::RequestParams
2759
+ # Whether to use Naver Pay points or a card to fund this transaction. If not provided, this defaults to `card`.
2760
+ sig { returns(T.nilable(String)) }
2761
+ attr_accessor :funding
2762
+ sig { params(funding: T.nilable(String)).void }
2763
+ def initialize(funding: nil); end
2764
+ end
2765
+ class NzBankAccount < Stripe::RequestParams
2766
+ # The name on the bank account. Only required if the account holder name is different from the name of the authorized signatory collected in the PaymentMethod’s billing details.
2767
+ sig { returns(T.nilable(String)) }
2768
+ attr_accessor :account_holder_name
2769
+ # The account number for the bank account.
2770
+ sig { returns(String) }
2771
+ attr_accessor :account_number
2772
+ # The numeric code for the bank account's bank.
2773
+ sig { returns(String) }
2774
+ attr_accessor :bank_code
2775
+ # The numeric code for the bank account's bank branch.
2776
+ sig { returns(String) }
2777
+ attr_accessor :branch_code
2778
+ # Attribute for param field reference
2779
+ sig { returns(T.nilable(String)) }
2780
+ attr_accessor :reference
2781
+ # The suffix of the bank account number.
2782
+ sig { returns(String) }
2783
+ attr_accessor :suffix
2784
+ sig {
2785
+ params(account_holder_name: T.nilable(String), account_number: String, bank_code: String, branch_code: String, reference: T.nilable(String), suffix: String).void
2786
+ }
2787
+ def initialize(
2788
+ account_holder_name: nil,
2789
+ account_number: nil,
2790
+ bank_code: nil,
2791
+ branch_code: nil,
2792
+ reference: nil,
2793
+ suffix: nil
2794
+ ); end
2795
+ end
2796
+ class Oxxo < Stripe::RequestParams; end
2797
+ class P24 < Stripe::RequestParams
2798
+ # The customer's bank.
2799
+ sig { returns(T.nilable(String)) }
2800
+ attr_accessor :bank
2801
+ sig { params(bank: T.nilable(String)).void }
2802
+ def initialize(bank: nil); end
2803
+ end
2804
+ class PayByBank < Stripe::RequestParams; end
2805
+ class Payco < Stripe::RequestParams; end
2806
+ class Paynow < Stripe::RequestParams; end
2807
+ class Paypal < Stripe::RequestParams; end
2808
+ class Pix < Stripe::RequestParams; end
2809
+ class Promptpay < Stripe::RequestParams; end
2810
+ class RadarOptions < Stripe::RequestParams
2811
+ # 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.
2812
+ sig { returns(T.nilable(String)) }
2813
+ attr_accessor :session
2814
+ sig { params(session: T.nilable(String)).void }
2815
+ def initialize(session: nil); end
2816
+ end
2817
+ class RevolutPay < Stripe::RequestParams; end
2818
+ class SamsungPay < Stripe::RequestParams; end
2819
+ class Satispay < Stripe::RequestParams; end
2820
+ class SepaDebit < Stripe::RequestParams
2821
+ # IBAN of the bank account.
2822
+ sig { returns(String) }
2823
+ attr_accessor :iban
2824
+ sig { params(iban: String).void }
2825
+ def initialize(iban: nil); end
2826
+ end
2827
+ class Sofort < Stripe::RequestParams
2828
+ # Two-letter ISO code representing the country the bank account is located in.
2829
+ sig { returns(String) }
2830
+ attr_accessor :country
2831
+ sig { params(country: String).void }
2832
+ def initialize(country: nil); end
2833
+ end
2834
+ class Swish < Stripe::RequestParams; end
2835
+ class Twint < Stripe::RequestParams; end
2836
+ class UsBankAccount < Stripe::RequestParams
2837
+ # Account holder type: individual or company.
2838
+ sig { returns(T.nilable(String)) }
2839
+ attr_accessor :account_holder_type
2840
+ # Account number of the bank account.
2841
+ sig { returns(T.nilable(String)) }
2842
+ attr_accessor :account_number
2843
+ # Account type: checkings or savings. Defaults to checking if omitted.
2844
+ sig { returns(T.nilable(String)) }
2845
+ attr_accessor :account_type
2846
+ # The ID of a Financial Connections Account to use as a payment method.
2847
+ sig { returns(T.nilable(String)) }
2848
+ attr_accessor :financial_connections_account
2849
+ # Routing number of the bank account.
2850
+ sig { returns(T.nilable(String)) }
2851
+ attr_accessor :routing_number
2852
+ sig {
2853
+ params(account_holder_type: T.nilable(String), account_number: T.nilable(String), account_type: T.nilable(String), financial_connections_account: T.nilable(String), routing_number: T.nilable(String)).void
2854
+ }
2855
+ def initialize(
2856
+ account_holder_type: nil,
2857
+ account_number: nil,
2858
+ account_type: nil,
2859
+ financial_connections_account: nil,
2860
+ routing_number: nil
2861
+ ); end
2862
+ end
2863
+ class WechatPay < Stripe::RequestParams; end
2864
+ class Zip < Stripe::RequestParams; end
2865
+ # If this is an `acss_debit` PaymentMethod, this hash contains details about the ACSS Debit payment method.
2866
+ sig {
2867
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::AcssDebit))
2868
+ }
2869
+ attr_accessor :acss_debit
2870
+ # If this is an `affirm` PaymentMethod, this hash contains details about the Affirm payment method.
2871
+ sig { returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Affirm)) }
2872
+ attr_accessor :affirm
2873
+ # If this is an `AfterpayClearpay` PaymentMethod, this hash contains details about the AfterpayClearpay payment method.
2874
+ sig {
2875
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::AfterpayClearpay))
2876
+ }
2877
+ attr_accessor :afterpay_clearpay
2878
+ # If this is an `Alipay` PaymentMethod, this hash contains details about the Alipay payment method.
2879
+ sig { returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Alipay)) }
2880
+ attr_accessor :alipay
2881
+ # This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to `unspecified`.
2882
+ sig { returns(T.nilable(String)) }
2883
+ attr_accessor :allow_redisplay
2884
+ # If this is a Alma PaymentMethod, this hash contains details about the Alma payment method.
2885
+ sig { returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Alma)) }
2886
+ attr_accessor :alma
2887
+ # If this is a AmazonPay PaymentMethod, this hash contains details about the AmazonPay payment method.
2888
+ sig {
2889
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::AmazonPay))
2890
+ }
2891
+ attr_accessor :amazon_pay
2892
+ # If this is an `au_becs_debit` PaymentMethod, this hash contains details about the bank account.
2893
+ sig {
2894
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::AuBecsDebit))
2895
+ }
2896
+ attr_accessor :au_becs_debit
2897
+ # If this is a `bacs_debit` PaymentMethod, this hash contains details about the Bacs Direct Debit bank account.
2898
+ sig {
2899
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::BacsDebit))
2900
+ }
2901
+ attr_accessor :bacs_debit
2902
+ # If this is a `bancontact` PaymentMethod, this hash contains details about the Bancontact payment method.
2903
+ sig {
2904
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Bancontact))
2905
+ }
2906
+ attr_accessor :bancontact
2907
+ # If this is a `billie` PaymentMethod, this hash contains details about the Billie payment method.
2908
+ sig { returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Billie)) }
2909
+ attr_accessor :billie
2910
+ # Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods.
2911
+ sig {
2912
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::BillingDetails))
2913
+ }
2914
+ attr_accessor :billing_details
2915
+ # If this is a `blik` PaymentMethod, this hash contains details about the BLIK payment method.
2916
+ sig { returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Blik)) }
2917
+ attr_accessor :blik
2918
+ # If this is a `boleto` PaymentMethod, this hash contains details about the Boleto payment method.
2919
+ sig { returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Boleto)) }
2920
+ attr_accessor :boleto
2921
+ # If this is a `cashapp` PaymentMethod, this hash contains details about the Cash App Pay payment method.
2922
+ sig { returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Cashapp)) }
2923
+ attr_accessor :cashapp
2924
+ # If this is a `customer_balance` PaymentMethod, this hash contains details about the CustomerBalance payment method.
2925
+ sig {
2926
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::CustomerBalance))
2927
+ }
2928
+ attr_accessor :customer_balance
2929
+ # If this is an `eps` PaymentMethod, this hash contains details about the EPS payment method.
2930
+ sig { returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Eps)) }
2931
+ attr_accessor :eps
2932
+ # If this is an `fpx` PaymentMethod, this hash contains details about the FPX payment method.
2933
+ sig { returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Fpx)) }
2934
+ attr_accessor :fpx
2935
+ # If this is a `giropay` PaymentMethod, this hash contains details about the Giropay payment method.
2936
+ sig { returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Giropay)) }
2937
+ attr_accessor :giropay
2938
+ # If this is a `grabpay` PaymentMethod, this hash contains details about the GrabPay payment method.
2939
+ sig { returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Grabpay)) }
2940
+ attr_accessor :grabpay
2941
+ # If this is an `ideal` PaymentMethod, this hash contains details about the iDEAL payment method.
2942
+ sig { returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Ideal)) }
2943
+ attr_accessor :ideal
2944
+ # If this is an `interac_present` PaymentMethod, this hash contains details about the Interac Present payment method.
2945
+ sig {
2946
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::InteracPresent))
2947
+ }
2948
+ attr_accessor :interac_present
2949
+ # If this is a `kakao_pay` PaymentMethod, this hash contains details about the Kakao Pay payment method.
2950
+ sig {
2951
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::KakaoPay))
2952
+ }
2953
+ attr_accessor :kakao_pay
2954
+ # If this is a `klarna` PaymentMethod, this hash contains details about the Klarna payment method.
2955
+ sig { returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Klarna)) }
2956
+ attr_accessor :klarna
2957
+ # If this is a `konbini` PaymentMethod, this hash contains details about the Konbini payment method.
2958
+ sig { returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Konbini)) }
2959
+ attr_accessor :konbini
2960
+ # If this is a `kr_card` PaymentMethod, this hash contains details about the Korean Card payment method.
2961
+ sig { returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::KrCard)) }
2962
+ attr_accessor :kr_card
2963
+ # If this is an `Link` PaymentMethod, this hash contains details about the Link payment method.
2964
+ sig { returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Link)) }
2965
+ attr_accessor :link
2966
+ # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
2967
+ sig { returns(T.nilable(T::Hash[String, String])) }
2968
+ attr_accessor :metadata
2969
+ # If this is a `mobilepay` PaymentMethod, this hash contains details about the MobilePay payment method.
2970
+ sig {
2971
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Mobilepay))
2972
+ }
2973
+ attr_accessor :mobilepay
2974
+ # If this is a `multibanco` PaymentMethod, this hash contains details about the Multibanco payment method.
2975
+ sig {
2976
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Multibanco))
2977
+ }
2978
+ attr_accessor :multibanco
2979
+ # If this is a `naver_pay` PaymentMethod, this hash contains details about the Naver Pay payment method.
2980
+ sig {
2981
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::NaverPay))
2982
+ }
2983
+ attr_accessor :naver_pay
2984
+ # If this is an nz_bank_account PaymentMethod, this hash contains details about the nz_bank_account payment method.
2985
+ sig {
2986
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::NzBankAccount))
2987
+ }
2988
+ attr_accessor :nz_bank_account
2989
+ # If this is an `oxxo` PaymentMethod, this hash contains details about the OXXO payment method.
2990
+ sig { returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Oxxo)) }
2991
+ attr_accessor :oxxo
2992
+ # If this is a `p24` PaymentMethod, this hash contains details about the P24 payment method.
2993
+ sig { returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::P24)) }
2994
+ attr_accessor :p24
2995
+ # If this is a `pay_by_bank` PaymentMethod, this hash contains details about the PayByBank payment method.
2996
+ sig {
2997
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::PayByBank))
2998
+ }
2999
+ attr_accessor :pay_by_bank
3000
+ # If this is a `payco` PaymentMethod, this hash contains details about the PAYCO payment method.
3001
+ sig { returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Payco)) }
3002
+ attr_accessor :payco
3003
+ # If this is a `paynow` PaymentMethod, this hash contains details about the PayNow payment method.
3004
+ sig { returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Paynow)) }
3005
+ attr_accessor :paynow
3006
+ # If this is a `paypal` PaymentMethod, this hash contains details about the PayPal payment method.
3007
+ sig { returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Paypal)) }
3008
+ attr_accessor :paypal
3009
+ # If this is a `pix` PaymentMethod, this hash contains details about the Pix payment method.
3010
+ sig { returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Pix)) }
3011
+ attr_accessor :pix
3012
+ # If this is a `promptpay` PaymentMethod, this hash contains details about the PromptPay payment method.
3013
+ sig {
3014
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Promptpay))
3015
+ }
3016
+ attr_accessor :promptpay
3017
+ # Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information.
3018
+ sig {
3019
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::RadarOptions))
3020
+ }
3021
+ attr_accessor :radar_options
3022
+ # If this is a `revolut_pay` PaymentMethod, this hash contains details about the Revolut Pay payment method.
3023
+ sig {
3024
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::RevolutPay))
3025
+ }
3026
+ attr_accessor :revolut_pay
3027
+ # If this is a `samsung_pay` PaymentMethod, this hash contains details about the SamsungPay payment method.
3028
+ sig {
3029
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::SamsungPay))
3030
+ }
3031
+ attr_accessor :samsung_pay
3032
+ # If this is a `satispay` PaymentMethod, this hash contains details about the Satispay payment method.
3033
+ sig {
3034
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Satispay))
3035
+ }
3036
+ attr_accessor :satispay
3037
+ # If this is a `sepa_debit` PaymentMethod, this hash contains details about the SEPA debit bank account.
3038
+ sig {
3039
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::SepaDebit))
3040
+ }
3041
+ attr_accessor :sepa_debit
3042
+ # If this is a `sofort` PaymentMethod, this hash contains details about the SOFORT payment method.
3043
+ sig { returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Sofort)) }
3044
+ attr_accessor :sofort
3045
+ # If this is a `swish` PaymentMethod, this hash contains details about the Swish payment method.
3046
+ sig { returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Swish)) }
3047
+ attr_accessor :swish
3048
+ # If this is a TWINT PaymentMethod, this hash contains details about the TWINT payment method.
3049
+ sig { returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Twint)) }
3050
+ attr_accessor :twint
3051
+ # The type of the PaymentMethod. An additional hash is included on the PaymentMethod with a name matching this value. It contains additional information specific to the PaymentMethod type.
3052
+ sig { returns(String) }
3053
+ attr_accessor :type
3054
+ # If this is an `us_bank_account` PaymentMethod, this hash contains details about the US bank account payment method.
3055
+ sig {
3056
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::UsBankAccount))
3057
+ }
3058
+ attr_accessor :us_bank_account
3059
+ # If this is an `wechat_pay` PaymentMethod, this hash contains details about the wechat_pay payment method.
3060
+ sig {
3061
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::WechatPay))
3062
+ }
3063
+ attr_accessor :wechat_pay
3064
+ # If this is a `zip` PaymentMethod, this hash contains details about the Zip payment method.
3065
+ sig { returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Zip)) }
3066
+ attr_accessor :zip
3067
+ sig {
3068
+ params(acss_debit: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::AcssDebit), affirm: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Affirm), afterpay_clearpay: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::AfterpayClearpay), alipay: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Alipay), allow_redisplay: T.nilable(String), alma: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Alma), amazon_pay: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::AmazonPay), au_becs_debit: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::AuBecsDebit), bacs_debit: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::BacsDebit), bancontact: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Bancontact), billie: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Billie), billing_details: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::BillingDetails), blik: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Blik), boleto: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Boleto), cashapp: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Cashapp), customer_balance: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::CustomerBalance), eps: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Eps), fpx: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Fpx), giropay: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Giropay), grabpay: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Grabpay), ideal: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Ideal), interac_present: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::InteracPresent), kakao_pay: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::KakaoPay), klarna: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Klarna), konbini: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Konbini), kr_card: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::KrCard), link: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Link), metadata: T.nilable(T::Hash[String, String]), mobilepay: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Mobilepay), multibanco: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Multibanco), naver_pay: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::NaverPay), nz_bank_account: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::NzBankAccount), oxxo: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Oxxo), p24: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::P24), pay_by_bank: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::PayByBank), payco: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Payco), paynow: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Paynow), paypal: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Paypal), pix: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Pix), promptpay: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Promptpay), radar_options: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::RadarOptions), revolut_pay: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::RevolutPay), samsung_pay: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::SamsungPay), satispay: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Satispay), sepa_debit: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::SepaDebit), sofort: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Sofort), swish: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Swish), twint: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Twint), type: String, us_bank_account: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::UsBankAccount), wechat_pay: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::WechatPay), zip: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData::Zip)).void
3069
+ }
3070
+ def initialize(
3071
+ acss_debit: nil,
3072
+ affirm: nil,
3073
+ afterpay_clearpay: nil,
3074
+ alipay: nil,
3075
+ allow_redisplay: nil,
3076
+ alma: nil,
3077
+ amazon_pay: nil,
3078
+ au_becs_debit: nil,
3079
+ bacs_debit: nil,
3080
+ bancontact: nil,
3081
+ billie: nil,
3082
+ billing_details: nil,
3083
+ blik: nil,
3084
+ boleto: nil,
3085
+ cashapp: nil,
3086
+ customer_balance: nil,
3087
+ eps: nil,
3088
+ fpx: nil,
3089
+ giropay: nil,
3090
+ grabpay: nil,
3091
+ ideal: nil,
3092
+ interac_present: nil,
3093
+ kakao_pay: nil,
3094
+ klarna: nil,
3095
+ konbini: nil,
3096
+ kr_card: nil,
3097
+ link: nil,
3098
+ metadata: nil,
3099
+ mobilepay: nil,
3100
+ multibanco: nil,
3101
+ naver_pay: nil,
3102
+ nz_bank_account: nil,
3103
+ oxxo: nil,
3104
+ p24: nil,
3105
+ pay_by_bank: nil,
3106
+ payco: nil,
3107
+ paynow: nil,
3108
+ paypal: nil,
3109
+ pix: nil,
3110
+ promptpay: nil,
3111
+ radar_options: nil,
3112
+ revolut_pay: nil,
3113
+ samsung_pay: nil,
3114
+ satispay: nil,
3115
+ sepa_debit: nil,
3116
+ sofort: nil,
3117
+ swish: nil,
3118
+ twint: nil,
3119
+ type: nil,
3120
+ us_bank_account: nil,
3121
+ wechat_pay: nil,
3122
+ zip: nil
3123
+ ); end
3124
+ end
3125
+ class PaymentMethodOptions < Stripe::RequestParams
3126
+ class AcssDebit < Stripe::RequestParams
3127
+ class MandateOptions < Stripe::RequestParams
3128
+ # A URL for custom mandate text to render during confirmation step.
3129
+ # The URL will be rendered with additional GET parameters `payment_intent` and `payment_intent_client_secret` when confirming a Payment Intent,
3130
+ # or `setup_intent` and `setup_intent_client_secret` when confirming a Setup Intent.
3131
+ sig { returns(T.nilable(T.nilable(String))) }
3132
+ attr_accessor :custom_mandate_url
3133
+ # List of Stripe products where this mandate can be selected automatically.
3134
+ sig { returns(T.nilable(T::Array[String])) }
3135
+ attr_accessor :default_for
3136
+ # Description of the mandate interval. Only required if 'payment_schedule' parameter is 'interval' or 'combined'.
3137
+ sig { returns(T.nilable(String)) }
3138
+ attr_accessor :interval_description
3139
+ # Payment schedule for the mandate.
3140
+ sig { returns(T.nilable(String)) }
3141
+ attr_accessor :payment_schedule
3142
+ # Transaction type of the mandate.
3143
+ sig { returns(T.nilable(String)) }
3144
+ attr_accessor :transaction_type
3145
+ sig {
3146
+ params(custom_mandate_url: T.nilable(T.nilable(String)), default_for: T.nilable(T::Array[String]), interval_description: T.nilable(String), payment_schedule: T.nilable(String), transaction_type: T.nilable(String)).void
3147
+ }
3148
+ def initialize(
3149
+ custom_mandate_url: nil,
3150
+ default_for: nil,
3151
+ interval_description: nil,
3152
+ payment_schedule: nil,
3153
+ transaction_type: nil
3154
+ ); end
3155
+ end
3156
+ # Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
3157
+ sig { returns(T.nilable(String)) }
3158
+ attr_accessor :currency
3159
+ # Additional fields for Mandate creation
3160
+ sig {
3161
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::AcssDebit::MandateOptions))
3162
+ }
3163
+ attr_accessor :mandate_options
3164
+ # Bank account verification method.
3165
+ sig { returns(T.nilable(String)) }
3166
+ attr_accessor :verification_method
3167
+ sig {
3168
+ params(currency: T.nilable(String), mandate_options: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::AcssDebit::MandateOptions), verification_method: T.nilable(String)).void
3169
+ }
3170
+ def initialize(currency: nil, mandate_options: nil, verification_method: nil); end
3171
+ end
3172
+ class AmazonPay < Stripe::RequestParams; end
3173
+ class BacsDebit < Stripe::RequestParams
3174
+ class MandateOptions < Stripe::RequestParams
3175
+ # 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 'DDIC' or 'STRIPE'.
3176
+ sig { returns(T.nilable(T.nilable(String))) }
3177
+ attr_accessor :reference_prefix
3178
+ sig { params(reference_prefix: T.nilable(T.nilable(String))).void }
3179
+ def initialize(reference_prefix: nil); end
3180
+ end
3181
+ # Additional fields for Mandate creation
3182
+ sig {
3183
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::BacsDebit::MandateOptions))
3184
+ }
3185
+ attr_accessor :mandate_options
3186
+ sig {
3187
+ params(mandate_options: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::BacsDebit::MandateOptions)).void
3188
+ }
3189
+ def initialize(mandate_options: nil); end
3190
+ end
3191
+ class Card < Stripe::RequestParams
3192
+ class MandateOptions < Stripe::RequestParams
3193
+ # Amount to be charged for future payments.
3194
+ sig { returns(Integer) }
3195
+ attr_accessor :amount
3196
+ # One of `fixed` or `maximum`. If `fixed`, the `amount` param refers to the exact amount to be charged in future payments. If `maximum`, the amount charged can be up to the value passed for the `amount` param.
3197
+ sig { returns(String) }
3198
+ attr_accessor :amount_type
3199
+ # Currency in which future payments will be charged. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
3200
+ sig { returns(String) }
3201
+ attr_accessor :currency
3202
+ # A description of the mandate or subscription that is meant to be displayed to the customer.
3203
+ sig { returns(T.nilable(String)) }
3204
+ attr_accessor :description
3205
+ # End date of the mandate or subscription. If not provided, the mandate will be active until canceled. If provided, end date should be after start date.
3206
+ sig { returns(T.nilable(Integer)) }
3207
+ attr_accessor :end_date
3208
+ # Specifies payment frequency. One of `day`, `week`, `month`, `year`, or `sporadic`.
3209
+ sig { returns(String) }
3210
+ attr_accessor :interval
3211
+ # The number of intervals between payments. For example, `interval=month` and `interval_count=3` indicates one payment every three months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks). This parameter is optional when `interval=sporadic`.
3212
+ sig { returns(T.nilable(Integer)) }
3213
+ attr_accessor :interval_count
3214
+ # Unique identifier for the mandate or subscription.
3215
+ sig { returns(String) }
3216
+ attr_accessor :reference
3217
+ # Start date of the mandate or subscription. Start date should not be lesser than yesterday.
3218
+ sig { returns(Integer) }
3219
+ attr_accessor :start_date
3220
+ # Specifies the type of mandates supported. Possible values are `india`.
3221
+ sig { returns(T.nilable(T::Array[String])) }
3222
+ attr_accessor :supported_types
3223
+ sig {
3224
+ params(amount: Integer, amount_type: String, currency: String, description: T.nilable(String), end_date: T.nilable(Integer), interval: String, interval_count: T.nilable(Integer), reference: String, start_date: Integer, supported_types: T.nilable(T::Array[String])).void
3225
+ }
3226
+ def initialize(
3227
+ amount: nil,
3228
+ amount_type: nil,
3229
+ currency: nil,
3230
+ description: nil,
3231
+ end_date: nil,
3232
+ interval: nil,
3233
+ interval_count: nil,
3234
+ reference: nil,
3235
+ start_date: nil,
3236
+ supported_types: nil
3237
+ ); end
3238
+ end
3239
+ class ThreeDSecure < Stripe::RequestParams
3240
+ class NetworkOptions < Stripe::RequestParams
3241
+ class CartesBancaires < Stripe::RequestParams
3242
+ # The cryptogram calculation algorithm used by the card Issuer's ACS
3243
+ # to calculate the Authentication cryptogram. Also known as `cavvAlgorithm`.
3244
+ # messageExtension: CB-AVALGO
3245
+ sig { returns(String) }
3246
+ attr_accessor :cb_avalgo
3247
+ # The exemption indicator returned from Cartes Bancaires in the ARes.
3248
+ # message extension: CB-EXEMPTION; string (4 characters)
3249
+ # This is a 3 byte bitmap (low significant byte first and most significant
3250
+ # bit first) that has been Base64 encoded
3251
+ sig { returns(T.nilable(String)) }
3252
+ attr_accessor :cb_exemption
3253
+ # The risk score returned from Cartes Bancaires in the ARes.
3254
+ # message extension: CB-SCORE; numeric value 0-99
3255
+ sig { returns(T.nilable(Integer)) }
3256
+ attr_accessor :cb_score
3257
+ sig {
3258
+ params(cb_avalgo: String, cb_exemption: T.nilable(String), cb_score: T.nilable(Integer)).void
3259
+ }
3260
+ def initialize(cb_avalgo: nil, cb_exemption: nil, cb_score: nil); end
3261
+ end
3262
+ # Cartes Bancaires-specific 3DS fields.
3263
+ sig {
3264
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::Card::ThreeDSecure::NetworkOptions::CartesBancaires))
3265
+ }
3266
+ attr_accessor :cartes_bancaires
3267
+ sig {
3268
+ params(cartes_bancaires: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::Card::ThreeDSecure::NetworkOptions::CartesBancaires)).void
3269
+ }
3270
+ def initialize(cartes_bancaires: nil); end
3271
+ end
3272
+ # The `transStatus` returned from the card Issuer’s ACS in the ARes.
3273
+ sig { returns(T.nilable(String)) }
3274
+ attr_accessor :ares_trans_status
3275
+ # The cryptogram, also known as the "authentication value" (AAV, CAVV or
3276
+ # AEVV). This value is 20 bytes, base64-encoded into a 28-character string.
3277
+ # (Most 3D Secure providers will return the base64-encoded version, which
3278
+ # is what you should specify here.)
3279
+ sig { returns(T.nilable(String)) }
3280
+ attr_accessor :cryptogram
3281
+ # The Electronic Commerce Indicator (ECI) is returned by your 3D Secure
3282
+ # provider and indicates what degree of authentication was performed.
3283
+ sig { returns(T.nilable(String)) }
3284
+ attr_accessor :electronic_commerce_indicator
3285
+ # Network specific 3DS fields. Network specific arguments require an
3286
+ # explicit card brand choice. The parameter `payment_method_options.card.network``
3287
+ # must be populated accordingly
3288
+ sig {
3289
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::Card::ThreeDSecure::NetworkOptions))
3290
+ }
3291
+ attr_accessor :network_options
3292
+ # The challenge indicator (`threeDSRequestorChallengeInd`) which was requested in the
3293
+ # AReq sent to the card Issuer's ACS. A string containing 2 digits from 01-99.
3294
+ sig { returns(T.nilable(String)) }
3295
+ attr_accessor :requestor_challenge_indicator
3296
+ # For 3D Secure 1, the XID. For 3D Secure 2, the Directory Server
3297
+ # Transaction ID (dsTransID).
3298
+ sig { returns(T.nilable(String)) }
3299
+ attr_accessor :transaction_id
3300
+ # The version of 3D Secure that was performed.
3301
+ sig { returns(T.nilable(String)) }
3302
+ attr_accessor :version
3303
+ sig {
3304
+ params(ares_trans_status: T.nilable(String), cryptogram: T.nilable(String), electronic_commerce_indicator: T.nilable(String), network_options: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::Card::ThreeDSecure::NetworkOptions), requestor_challenge_indicator: T.nilable(String), transaction_id: T.nilable(String), version: T.nilable(String)).void
3305
+ }
3306
+ def initialize(
3307
+ ares_trans_status: nil,
3308
+ cryptogram: nil,
3309
+ electronic_commerce_indicator: nil,
3310
+ network_options: nil,
3311
+ requestor_challenge_indicator: nil,
3312
+ transaction_id: nil,
3313
+ version: nil
3314
+ ); end
3315
+ end
3316
+ # Configuration options for setting up an eMandate for cards issued in India.
3317
+ sig {
3318
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::Card::MandateOptions))
3319
+ }
3320
+ attr_accessor :mandate_options
3321
+ # When specified, this parameter signals that a card has been collected
3322
+ # as MOTO (Mail Order Telephone Order) and thus out of scope for SCA. This
3323
+ # parameter can only be provided during confirmation.
3324
+ sig { returns(T.nilable(T::Boolean)) }
3325
+ attr_accessor :moto
3326
+ # Selected network to process this SetupIntent on. Depends on the available networks of the card attached to the SetupIntent. Can be only set confirm-time.
3327
+ sig { returns(T.nilable(String)) }
3328
+ attr_accessor :network
3329
+ # We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. If not provided, this value defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine.
3330
+ sig { returns(T.nilable(String)) }
3331
+ attr_accessor :request_three_d_secure
3332
+ # If 3D Secure authentication was performed with a third-party provider,
3333
+ # the authentication details to use for this setup.
3334
+ sig {
3335
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::Card::ThreeDSecure))
3336
+ }
3337
+ attr_accessor :three_d_secure
3338
+ sig {
3339
+ params(mandate_options: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::Card::MandateOptions), moto: T.nilable(T::Boolean), network: T.nilable(String), request_three_d_secure: T.nilable(String), three_d_secure: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::Card::ThreeDSecure)).void
3340
+ }
3341
+ def initialize(
3342
+ mandate_options: nil,
3343
+ moto: nil,
3344
+ network: nil,
3345
+ request_three_d_secure: nil,
3346
+ three_d_secure: nil
3347
+ ); end
3348
+ end
3349
+ class CardPresent < Stripe::RequestParams; end
3350
+ class Link < Stripe::RequestParams
3351
+ # [Deprecated] This is a legacy parameter that no longer has any function.
3352
+ sig { returns(T.nilable(String)) }
3353
+ attr_accessor :persistent_token
3354
+ sig { params(persistent_token: T.nilable(String)).void }
3355
+ def initialize(persistent_token: nil); end
3356
+ end
3357
+ class Paypal < Stripe::RequestParams
3358
+ # The PayPal Billing Agreement ID (BAID). This is an ID generated by PayPal which represents the mandate between the merchant and the customer.
3359
+ sig { returns(T.nilable(String)) }
3360
+ attr_accessor :billing_agreement_id
3361
+ sig { params(billing_agreement_id: T.nilable(String)).void }
3362
+ def initialize(billing_agreement_id: nil); end
3363
+ end
3364
+ class SepaDebit < Stripe::RequestParams
3365
+ class MandateOptions < Stripe::RequestParams
3366
+ # 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'.
3367
+ sig { returns(T.nilable(T.nilable(String))) }
3368
+ attr_accessor :reference_prefix
3369
+ sig { params(reference_prefix: T.nilable(T.nilable(String))).void }
3370
+ def initialize(reference_prefix: nil); end
3371
+ end
3372
+ # Additional fields for Mandate creation
3373
+ sig {
3374
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::SepaDebit::MandateOptions))
3375
+ }
3376
+ attr_accessor :mandate_options
3377
+ sig {
3378
+ params(mandate_options: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::SepaDebit::MandateOptions)).void
3379
+ }
3380
+ def initialize(mandate_options: nil); end
3381
+ end
3382
+ class UsBankAccount < Stripe::RequestParams
3383
+ class FinancialConnections < Stripe::RequestParams
3384
+ class Filters < Stripe::RequestParams
3385
+ # The account subcategories to use to filter for selectable accounts. Valid subcategories are `checking` and `savings`.
3386
+ sig { returns(T.nilable(T::Array[String])) }
3387
+ attr_accessor :account_subcategories
3388
+ sig { params(account_subcategories: T.nilable(T::Array[String])).void }
3389
+ def initialize(account_subcategories: nil); end
3390
+ end
3391
+ # Provide filters for the linked accounts that the customer can select for the payment method.
3392
+ sig {
3393
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::UsBankAccount::FinancialConnections::Filters))
3394
+ }
3395
+ attr_accessor :filters
3396
+ # The list of permissions to request. If this parameter is passed, the `payment_method` permission must be included. Valid permissions include: `balances`, `ownership`, `payment_method`, and `transactions`.
3397
+ sig { returns(T.nilable(T::Array[String])) }
3398
+ attr_accessor :permissions
3399
+ # List of data features that you would like to retrieve upon account creation.
3400
+ sig { returns(T.nilable(T::Array[String])) }
3401
+ attr_accessor :prefetch
3402
+ # For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app.
3403
+ sig { returns(T.nilable(String)) }
3404
+ attr_accessor :return_url
3405
+ sig {
3406
+ params(filters: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::UsBankAccount::FinancialConnections::Filters), permissions: T.nilable(T::Array[String]), prefetch: T.nilable(T::Array[String]), return_url: T.nilable(String)).void
3407
+ }
3408
+ def initialize(filters: nil, permissions: nil, prefetch: nil, return_url: nil); end
3409
+ end
3410
+ class MandateOptions < Stripe::RequestParams
3411
+ # The method used to collect offline mandate customer acceptance.
3412
+ sig { returns(T.nilable(T.nilable(String))) }
3413
+ attr_accessor :collection_method
3414
+ sig { params(collection_method: T.nilable(T.nilable(String))).void }
3415
+ def initialize(collection_method: nil); end
3416
+ end
3417
+ class Networks < Stripe::RequestParams
3418
+ # Triggers validations to run across the selected networks
3419
+ sig { returns(T.nilable(T::Array[String])) }
3420
+ attr_accessor :requested
3421
+ sig { params(requested: T.nilable(T::Array[String])).void }
3422
+ def initialize(requested: nil); end
3423
+ end
3424
+ # Additional fields for Financial Connections Session creation
3425
+ sig {
3426
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::UsBankAccount::FinancialConnections))
3427
+ }
3428
+ attr_accessor :financial_connections
3429
+ # Additional fields for Mandate creation
3430
+ sig {
3431
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::UsBankAccount::MandateOptions))
3432
+ }
3433
+ attr_accessor :mandate_options
3434
+ # Additional fields for network related functions
3435
+ sig {
3436
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::UsBankAccount::Networks))
3437
+ }
3438
+ attr_accessor :networks
3439
+ # Bank account verification method.
3440
+ sig { returns(T.nilable(String)) }
3441
+ attr_accessor :verification_method
3442
+ sig {
3443
+ params(financial_connections: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::UsBankAccount::FinancialConnections), mandate_options: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::UsBankAccount::MandateOptions), networks: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::UsBankAccount::Networks), verification_method: T.nilable(String)).void
3444
+ }
3445
+ def initialize(
3446
+ financial_connections: nil,
3447
+ mandate_options: nil,
3448
+ networks: nil,
3449
+ verification_method: nil
3450
+ ); end
3451
+ end
3452
+ # If this is a `acss_debit` SetupIntent, this sub-hash contains details about the ACSS Debit payment method options.
3453
+ sig {
3454
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::AcssDebit))
3455
+ }
3456
+ attr_accessor :acss_debit
3457
+ # If this is a `amazon_pay` SetupIntent, this sub-hash contains details about the AmazonPay payment method options.
3458
+ sig {
3459
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::AmazonPay))
3460
+ }
3461
+ attr_accessor :amazon_pay
3462
+ # If this is a `bacs_debit` SetupIntent, this sub-hash contains details about the Bacs Debit payment method options.
3463
+ sig {
3464
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::BacsDebit))
3465
+ }
3466
+ attr_accessor :bacs_debit
3467
+ # Configuration for any card setup attempted on this SetupIntent.
3468
+ sig { returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::Card)) }
3469
+ attr_accessor :card
3470
+ # If this is a `card_present` PaymentMethod, this sub-hash contains details about the card-present payment method options.
3471
+ sig {
3472
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::CardPresent))
3473
+ }
3474
+ attr_accessor :card_present
3475
+ # If this is a `link` PaymentMethod, this sub-hash contains details about the Link payment method options.
3476
+ sig { returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::Link)) }
3477
+ attr_accessor :link
3478
+ # If this is a `paypal` PaymentMethod, this sub-hash contains details about the PayPal payment method options.
3479
+ sig {
3480
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::Paypal))
3481
+ }
3482
+ attr_accessor :paypal
3483
+ # If this is a `sepa_debit` SetupIntent, this sub-hash contains details about the SEPA Debit payment method options.
3484
+ sig {
3485
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::SepaDebit))
3486
+ }
3487
+ attr_accessor :sepa_debit
3488
+ # If this is a `us_bank_account` SetupIntent, this sub-hash contains details about the US bank account payment method options.
3489
+ sig {
3490
+ returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::UsBankAccount))
3491
+ }
3492
+ attr_accessor :us_bank_account
3493
+ sig {
3494
+ params(acss_debit: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::AcssDebit), amazon_pay: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::AmazonPay), bacs_debit: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::BacsDebit), card: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::Card), card_present: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::CardPresent), link: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::Link), paypal: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::Paypal), sepa_debit: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::SepaDebit), us_bank_account: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions::UsBankAccount)).void
3495
+ }
3496
+ def initialize(
3497
+ acss_debit: nil,
3498
+ amazon_pay: nil,
3499
+ bacs_debit: nil,
3500
+ card: nil,
3501
+ card_present: nil,
3502
+ link: nil,
3503
+ paypal: nil,
3504
+ sepa_debit: nil,
3505
+ us_bank_account: nil
3506
+ ); end
3507
+ end
3508
+ # ID of the ConfirmationToken used to confirm this SetupIntent.
3509
+ #
3510
+ # If the provided ConfirmationToken contains properties that are also being provided in this request, such as `payment_method`, then the values in this request will take precedence.
3511
+ sig { returns(T.nilable(String)) }
3512
+ attr_accessor :confirmation_token
3513
+ # Specifies which fields in the response should be expanded.
3514
+ sig { returns(T.nilable(T::Array[String])) }
3515
+ attr_accessor :expand
3516
+ # Attribute for param field mandate_data
3517
+ sig {
3518
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::SetupIntent::ConfirmParams::MandateData))))
3519
+ }
3520
+ attr_accessor :mandate_data
3521
+ # ID of the payment method (a PaymentMethod, Card, or saved Source object) to attach to this SetupIntent.
3522
+ sig { returns(T.nilable(String)) }
3523
+ attr_accessor :payment_method
3524
+ # When included, this hash creates a PaymentMethod that is set as the [`payment_method`](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-payment_method)
3525
+ # value in the SetupIntent.
3526
+ sig { returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData)) }
3527
+ attr_accessor :payment_method_data
3528
+ # Payment method-specific configuration for this SetupIntent.
3529
+ sig { returns(T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions)) }
3530
+ attr_accessor :payment_method_options
3531
+ # The URL to redirect your customer back to after they authenticate on the payment method's app or site.
3532
+ # If you'd prefer to redirect to a mobile application, you can alternatively supply an application URI scheme.
3533
+ # This parameter is only used for cards and other redirect-based payment methods.
3534
+ sig { returns(T.nilable(String)) }
3535
+ attr_accessor :return_url
3536
+ # Set to `true` when confirming server-side and using Stripe.js, iOS, or Android client-side SDKs to handle the next actions.
3537
+ sig { returns(T.nilable(T::Boolean)) }
3538
+ attr_accessor :use_stripe_sdk
3539
+ sig {
3540
+ params(confirmation_token: T.nilable(String), expand: T.nilable(T::Array[String]), mandate_data: T.nilable(T.nilable(T.any(String, ::Stripe::SetupIntent::ConfirmParams::MandateData))), payment_method: T.nilable(String), payment_method_data: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::SetupIntent::ConfirmParams::PaymentMethodOptions), return_url: T.nilable(String), use_stripe_sdk: T.nilable(T::Boolean)).void
3541
+ }
3542
+ def initialize(
3543
+ confirmation_token: nil,
3544
+ expand: nil,
3545
+ mandate_data: nil,
3546
+ payment_method: nil,
3547
+ payment_method_data: nil,
3548
+ payment_method_options: nil,
3549
+ return_url: nil,
3550
+ use_stripe_sdk: nil
3551
+ ); end
3552
+ end
3553
+ class VerifyMicrodepositsParams < Stripe::RequestParams
3554
+ # Two positive integers, in *cents*, equal to the values of the microdeposits sent to the bank account.
3555
+ sig { returns(T.nilable(T::Array[Integer])) }
3556
+ attr_accessor :amounts
3557
+ # A six-character code starting with SM present in the microdeposit sent to the bank account.
3558
+ sig { returns(T.nilable(String)) }
3559
+ attr_accessor :descriptor_code
3560
+ # Specifies which fields in the response should be expanded.
3561
+ sig { returns(T.nilable(T::Array[String])) }
3562
+ attr_accessor :expand
3563
+ sig {
3564
+ params(amounts: T.nilable(T::Array[Integer]), descriptor_code: T.nilable(String), expand: T.nilable(T::Array[String])).void
3565
+ }
3566
+ def initialize(amounts: nil, descriptor_code: nil, expand: nil); end
3567
+ end
3568
+ # You can cancel a SetupIntent object when it's in one of these statuses: requires_payment_method, requires_confirmation, or requires_action.
3569
+ #
3570
+ # After you cancel it, setup is abandoned and any operations on the SetupIntent fail with an error. You can't cancel the SetupIntent for a Checkout Session. [Expire the Checkout Session](https://docs.stripe.com/docs/api/checkout/sessions/expire) instead.
3571
+ sig {
3572
+ params(params: T.any(::Stripe::SetupIntent::CancelParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::SetupIntent)
3573
+ }
3574
+ def cancel(params = {}, opts = {}); end
3575
+
3576
+ # You can cancel a SetupIntent object when it's in one of these statuses: requires_payment_method, requires_confirmation, or requires_action.
3577
+ #
3578
+ # After you cancel it, setup is abandoned and any operations on the SetupIntent fail with an error. You can't cancel the SetupIntent for a Checkout Session. [Expire the Checkout Session](https://docs.stripe.com/docs/api/checkout/sessions/expire) instead.
3579
+ sig {
3580
+ params(intent: String, params: T.any(::Stripe::SetupIntent::CancelParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::SetupIntent)
3581
+ }
3582
+ def self.cancel(intent, params = {}, opts = {}); end
3583
+
3584
+ # Confirm that your customer intends to set up the current or
3585
+ # provided payment method. For example, you would confirm a SetupIntent
3586
+ # when a customer hits the “Save” button on a payment method management
3587
+ # page on your website.
3588
+ #
3589
+ # If the selected payment method does not require any additional
3590
+ # steps from the customer, the SetupIntent will transition to the
3591
+ # succeeded status.
3592
+ #
3593
+ # Otherwise, it will transition to the requires_action status and
3594
+ # suggest additional actions via next_action. If setup fails,
3595
+ # the SetupIntent will transition to the
3596
+ # requires_payment_method status or the canceled status if the
3597
+ # confirmation limit is reached.
3598
+ sig {
3599
+ params(params: T.any(::Stripe::SetupIntent::ConfirmParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::SetupIntent)
3600
+ }
3601
+ def confirm(params = {}, opts = {}); end
3602
+
3603
+ # Confirm that your customer intends to set up the current or
3604
+ # provided payment method. For example, you would confirm a SetupIntent
3605
+ # when a customer hits the “Save” button on a payment method management
3606
+ # page on your website.
3607
+ #
3608
+ # If the selected payment method does not require any additional
3609
+ # steps from the customer, the SetupIntent will transition to the
3610
+ # succeeded status.
3611
+ #
3612
+ # Otherwise, it will transition to the requires_action status and
3613
+ # suggest additional actions via next_action. If setup fails,
3614
+ # the SetupIntent will transition to the
3615
+ # requires_payment_method status or the canceled status if the
3616
+ # confirmation limit is reached.
3617
+ sig {
3618
+ params(intent: String, params: T.any(::Stripe::SetupIntent::ConfirmParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::SetupIntent)
3619
+ }
3620
+ def self.confirm(intent, params = {}, opts = {}); end
3621
+
3622
+ # Creates a SetupIntent object.
3623
+ #
3624
+ # After you create the SetupIntent, attach a payment method and [confirm](https://docs.stripe.com/docs/api/setup_intents/confirm)
3625
+ # it to collect any required permissions to charge the payment method later.
3626
+ sig {
3627
+ params(params: T.any(::Stripe::SetupIntent::CreateParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::SetupIntent)
3628
+ }
3629
+ def self.create(params = {}, opts = {}); end
3630
+
3631
+ # Returns a list of SetupIntents.
3632
+ sig {
3633
+ params(params: T.any(::Stripe::SetupIntent::ListParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::ListObject)
3634
+ }
3635
+ def self.list(params = {}, opts = {}); end
3636
+
3637
+ # Updates a SetupIntent object.
3638
+ sig {
3639
+ params(intent: String, params: T.any(::Stripe::SetupIntent::UpdateParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::SetupIntent)
3640
+ }
3641
+ def self.update(intent, params = {}, opts = {}); end
3642
+
3643
+ # Verifies microdeposits on a SetupIntent object.
3644
+ sig {
3645
+ params(params: T.any(::Stripe::SetupIntent::VerifyMicrodepositsParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::SetupIntent)
3646
+ }
3647
+ def verify_microdeposits(params = {}, opts = {}); end
3648
+
3649
+ # Verifies microdeposits on a SetupIntent object.
3650
+ sig {
3651
+ params(intent: String, params: T.any(::Stripe::SetupIntent::VerifyMicrodepositsParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::SetupIntent)
3652
+ }
3653
+ def self.verify_microdeposits(intent, params = {}, opts = {}); end
3654
+ end
3655
+ end