stripe 13.3.0 → 13.4.0.pre.beta.1

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