stripe 15.3.0.pre.beta.1 → 15.3.0

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