stripe 15.2.0.pre.beta.1 → 15.2.0

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