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