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