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