stripe 13.3.0 → 13.4.0.pre.beta.2

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