stripe 13.3.0 → 13.4.0.pre.beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (743) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1410 -650
  3. data/OPENAPI_VERSION +1 -1
  4. data/VERSION +1 -1
  5. data/lib/stripe/api_operations/request.rb +1 -0
  6. data/lib/stripe/api_requestor.rb +1 -0
  7. data/lib/stripe/object_types.rb +32 -0
  8. data/lib/stripe/request_params.rb +24 -0
  9. data/lib/stripe/request_signing_authenticator.rb +79 -0
  10. data/lib/stripe/resources/account.rb +5793 -0
  11. data/lib/stripe/resources/account_link.rb +64 -0
  12. data/lib/stripe/resources/account_notice.rb +154 -0
  13. data/lib/stripe/resources/account_session.rb +1002 -0
  14. data/lib/stripe/resources/apple_pay_domain.rb +73 -0
  15. data/lib/stripe/resources/application.rb +23 -0
  16. data/lib/stripe/resources/application_fee.rb +120 -0
  17. data/lib/stripe/resources/application_fee_refund.rb +24 -0
  18. data/lib/stripe/resources/apps/secret.rb +166 -0
  19. data/lib/stripe/resources/balance.rb +162 -0
  20. data/lib/stripe/resources/balance_transaction.rb +141 -0
  21. data/lib/stripe/resources/bank_account.rb +113 -2
  22. data/lib/stripe/resources/billing/alert.rb +166 -0
  23. data/lib/stripe/resources/billing/alert_triggered.rb +31 -0
  24. data/lib/stripe/resources/billing/credit_balance_summary.rb +89 -0
  25. data/lib/stripe/resources/billing/credit_balance_transaction.rb +140 -0
  26. data/lib/stripe/resources/billing/credit_grant.rb +235 -0
  27. data/lib/stripe/resources/billing/meter.rb +203 -0
  28. data/lib/stripe/resources/billing/meter_error_report.rb +70 -0
  29. data/lib/stripe/resources/billing/meter_event.rb +45 -0
  30. data/lib/stripe/resources/billing/meter_event_adjustment.rb +51 -0
  31. data/lib/stripe/resources/billing/meter_event_summary.rb +21 -0
  32. data/lib/stripe/resources/billing_portal/configuration.rb +639 -0
  33. data/lib/stripe/resources/billing_portal/session.rb +313 -0
  34. data/lib/stripe/resources/capability.rb +111 -0
  35. data/lib/stripe/resources/capital/financing_offer.rb +221 -0
  36. data/lib/stripe/resources/capital/financing_summary.rb +77 -0
  37. data/lib/stripe/resources/capital/financing_transaction.rb +147 -0
  38. data/lib/stripe/resources/card.rb +111 -0
  39. data/lib/stripe/resources/cash_balance.rb +22 -0
  40. data/lib/stripe/resources/charge.rb +3687 -0
  41. data/lib/stripe/resources/checkout/session.rb +4162 -0
  42. data/lib/stripe/resources/climate/order.rb +216 -0
  43. data/lib/stripe/resources/climate/product.rb +69 -0
  44. data/lib/stripe/resources/climate/supplier.rb +67 -0
  45. data/lib/stripe/resources/confirmation_token.rb +1855 -0
  46. data/lib/stripe/resources/connect_collection_transfer.rb +29 -0
  47. data/lib/stripe/resources/country_spec.rb +76 -0
  48. data/lib/stripe/resources/coupon.rb +237 -0
  49. data/lib/stripe/resources/credit_note.rb +798 -0
  50. data/lib/stripe/resources/credit_note_line_item.rb +89 -0
  51. data/lib/stripe/resources/customer.rb +995 -0
  52. data/lib/stripe/resources/customer_balance_transaction.rb +39 -0
  53. data/lib/stripe/resources/customer_cash_balance_transaction.rb +136 -0
  54. data/lib/stripe/resources/customer_session.rb +183 -0
  55. data/lib/stripe/resources/discount.rb +41 -0
  56. data/lib/stripe/resources/dispute.rb +767 -0
  57. data/lib/stripe/resources/entitlements/active_entitlement.rb +54 -0
  58. data/lib/stripe/resources/entitlements/active_entitlement_summary.rb +26 -0
  59. data/lib/stripe/resources/entitlements/feature.rb +107 -0
  60. data/lib/stripe/resources/ephemeral_key.rb +26 -0
  61. data/lib/stripe/resources/event.rb +157 -0
  62. data/lib/stripe/resources/exchange_rate.rb +38 -0
  63. data/lib/stripe/resources/file.rb +134 -0
  64. data/lib/stripe/resources/file_link.rb +134 -0
  65. data/lib/stripe/resources/financial_connections/account.rb +307 -0
  66. data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +30 -0
  67. data/lib/stripe/resources/financial_connections/account_owner.rb +24 -0
  68. data/lib/stripe/resources/financial_connections/account_ownership.rb +12 -0
  69. data/lib/stripe/resources/financial_connections/institution.rb +112 -0
  70. data/lib/stripe/resources/financial_connections/session.rb +187 -0
  71. data/lib/stripe/resources/financial_connections/transaction.rb +122 -0
  72. data/lib/stripe/resources/forwarding/request.rb +196 -0
  73. data/lib/stripe/resources/funding_instructions.rb +415 -0
  74. data/lib/stripe/resources/gift_cards/card.rb +245 -0
  75. data/lib/stripe/resources/gift_cards/transaction.rb +313 -0
  76. data/lib/stripe/resources/identity/verification_report.rb +335 -0
  77. data/lib/stripe/resources/identity/verification_session.rb +430 -0
  78. data/lib/stripe/resources/invoice.rb +9348 -0
  79. data/lib/stripe/resources/invoice_item.rb +536 -0
  80. data/lib/stripe/resources/invoice_line_item.rb +409 -0
  81. data/lib/stripe/resources/invoice_payment.rb +72 -0
  82. data/lib/stripe/resources/invoice_rendering_template.rb +79 -0
  83. data/lib/stripe/resources/issuing/authorization.rb +1316 -2
  84. data/lib/stripe/resources/issuing/card.rb +794 -0
  85. data/lib/stripe/resources/issuing/cardholder.rb +768 -0
  86. data/lib/stripe/resources/issuing/credit_underwriting_record.rb +693 -0
  87. data/lib/stripe/resources/issuing/dispute.rb +941 -0
  88. data/lib/stripe/resources/issuing/dispute_settlement_detail.rb +98 -0
  89. data/lib/stripe/resources/issuing/fraud_liability_debit.rb +109 -0
  90. data/lib/stripe/resources/issuing/personalization_design.rb +333 -0
  91. data/lib/stripe/resources/issuing/physical_bundle.rb +76 -0
  92. data/lib/stripe/resources/issuing/settlement.rb +65 -0
  93. data/lib/stripe/resources/issuing/token.rb +221 -0
  94. data/lib/stripe/resources/issuing/transaction.rb +1098 -0
  95. data/lib/stripe/resources/line_item.rb +98 -0
  96. data/lib/stripe/resources/login_link.rb +9 -0
  97. data/lib/stripe/resources/mandate.rb +214 -0
  98. data/lib/stripe/resources/margin.rb +143 -0
  99. data/lib/stripe/resources/order.rb +3238 -0
  100. data/lib/stripe/resources/payment_attempt_record.rb +226 -0
  101. data/lib/stripe/resources/payment_intent.rb +14630 -0
  102. data/lib/stripe/resources/payment_link.rb +1761 -0
  103. data/lib/stripe/resources/payment_method.rb +1981 -0
  104. data/lib/stripe/resources/payment_method_configuration.rb +3137 -0
  105. data/lib/stripe/resources/payment_method_domain.rb +176 -0
  106. data/lib/stripe/resources/payment_record.rb +824 -0
  107. data/lib/stripe/resources/payout.rb +267 -0
  108. data/lib/stripe/resources/person.rb +353 -0
  109. data/lib/stripe/resources/plan.rb +386 -0
  110. data/lib/stripe/resources/price.rb +782 -0
  111. data/lib/stripe/resources/product.rb +636 -0
  112. data/lib/stripe/resources/product_feature.rb +16 -0
  113. data/lib/stripe/resources/promotion_code.rb +261 -0
  114. data/lib/stripe/resources/quote.rb +3404 -0
  115. data/lib/stripe/resources/quote_line.rb +340 -0
  116. data/lib/stripe/resources/quote_preview_invoice.rb +833 -0
  117. data/lib/stripe/resources/quote_preview_subscription_schedule.rb +463 -0
  118. data/lib/stripe/resources/radar/early_fraud_warning.rb +93 -0
  119. data/lib/stripe/resources/radar/value_list.rb +151 -0
  120. data/lib/stripe/resources/radar/value_list_item.rb +113 -0
  121. data/lib/stripe/resources/refund.rb +489 -0
  122. data/lib/stripe/resources/reporting/report_run.rb +182 -0
  123. data/lib/stripe/resources/reporting/report_type.rb +44 -0
  124. data/lib/stripe/resources/reserve_transaction.rb +26 -0
  125. data/lib/stripe/resources/reversal.rb +30 -0
  126. data/lib/stripe/resources/review.rb +135 -0
  127. data/lib/stripe/resources/setup_attempt.rb +474 -0
  128. data/lib/stripe/resources/setup_intent.rb +4371 -0
  129. data/lib/stripe/resources/shipping_rate.rb +303 -0
  130. data/lib/stripe/resources/sigma/scheduled_query_run.rb +67 -0
  131. data/lib/stripe/resources/source.rb +1571 -0
  132. data/lib/stripe/resources/source_mandate_notification.rb +79 -0
  133. data/lib/stripe/resources/source_transaction.rb +114 -0
  134. data/lib/stripe/resources/subscription.rb +2395 -0
  135. data/lib/stripe/resources/subscription_item.rb +502 -0
  136. data/lib/stripe/resources/subscription_schedule.rb +2790 -0
  137. data/lib/stripe/resources/tax/association.rb +100 -0
  138. data/lib/stripe/resources/tax/calculation.rb +474 -0
  139. data/lib/stripe/resources/tax/calculation_line_item.rb +76 -0
  140. data/lib/stripe/resources/tax/form.rb +253 -0
  141. data/lib/stripe/resources/tax/registration.rb +2174 -0
  142. data/lib/stripe/resources/tax/settings.rb +146 -0
  143. data/lib/stripe/resources/tax/transaction.rb +332 -0
  144. data/lib/stripe/resources/tax/transaction_line_item.rb +43 -0
  145. data/lib/stripe/resources/tax_code.rb +41 -0
  146. data/lib/stripe/resources/tax_deducted_at_source.rb +26 -0
  147. data/lib/stripe/resources/tax_id.rb +147 -0
  148. data/lib/stripe/resources/tax_rate.rb +245 -0
  149. data/lib/stripe/resources/terminal/configuration.rb +1175 -0
  150. data/lib/stripe/resources/terminal/connection_token.rb +21 -0
  151. data/lib/stripe/resources/terminal/location.rb +208 -0
  152. data/lib/stripe/resources/terminal/reader.rb +911 -0
  153. data/lib/stripe/resources/terminal/reader_collected_data.rb +45 -0
  154. data/lib/stripe/resources/test_helpers/test_clock.rb +101 -0
  155. data/lib/stripe/resources/token.rb +1337 -0
  156. data/lib/stripe/resources/topup.rb +210 -0
  157. data/lib/stripe/resources/transfer.rb +188 -0
  158. data/lib/stripe/resources/treasury/credit_reversal.rb +113 -0
  159. data/lib/stripe/resources/treasury/debit_reversal.rb +126 -0
  160. data/lib/stripe/resources/treasury/financial_account.rb +766 -0
  161. data/lib/stripe/resources/treasury/financial_account_features.rb +237 -0
  162. data/lib/stripe/resources/treasury/inbound_transfer.rb +285 -0
  163. data/lib/stripe/resources/treasury/outbound_payment.rb +587 -0
  164. data/lib/stripe/resources/treasury/outbound_transfer.rb +428 -0
  165. data/lib/stripe/resources/treasury/received_credit.rb +335 -0
  166. data/lib/stripe/resources/treasury/received_debit.rb +298 -0
  167. data/lib/stripe/resources/treasury/transaction.rb +215 -0
  168. data/lib/stripe/resources/treasury/transaction_entry.rb +193 -0
  169. data/lib/stripe/resources/usage_record.rb +18 -0
  170. data/lib/stripe/resources/usage_record_summary.rb +28 -0
  171. data/lib/stripe/resources/v2/amount.rb +9 -0
  172. data/lib/stripe/resources/v2/billing/meter_event.rb +24 -0
  173. data/lib/stripe/resources/v2/billing/meter_event_adjustment.rb +28 -0
  174. data/lib/stripe/resources/v2/billing/meter_event_session.rb +19 -0
  175. data/lib/stripe/resources/v2/event.rb +35 -0
  176. data/lib/stripe/resources/v2/event_destination.rb +78 -0
  177. data/lib/stripe/resources/webhook_endpoint.rb +148 -0
  178. data/lib/stripe/resources.rb +31 -0
  179. data/lib/stripe/services/account_capability_service.rb +33 -0
  180. data/lib/stripe/services/account_external_account_service.rb +293 -0
  181. data/lib/stripe/services/account_link_service.rb +53 -0
  182. data/lib/stripe/services/account_login_link_service.rb +9 -0
  183. data/lib/stripe/services/account_notice_service.rb +110 -0
  184. data/lib/stripe/services/account_person_service.rb +1014 -0
  185. data/lib/stripe/services/account_service.rb +4862 -0
  186. data/lib/stripe/services/account_session_service.rb +740 -0
  187. data/lib/stripe/services/apple_pay_domain_service.rb +56 -0
  188. data/lib/stripe/services/application_fee_refund_service.rb +60 -0
  189. data/lib/stripe/services/application_fee_service.rb +65 -0
  190. data/lib/stripe/services/apps/secret_service.rb +132 -0
  191. data/lib/stripe/services/balance_service.rb +9 -0
  192. data/lib/stripe/services/balance_transaction_service.rb +80 -0
  193. data/lib/stripe/services/billing/alert_service.rb +125 -0
  194. data/lib/stripe/services/billing/credit_balance_summary_service.rb +41 -0
  195. data/lib/stripe/services/billing/credit_balance_transaction_service.rb +45 -0
  196. data/lib/stripe/services/billing/credit_grant_service.rb +167 -0
  197. data/lib/stripe/services/billing/meter_event_adjustment_service.rb +29 -0
  198. data/lib/stripe/services/billing/meter_event_service.rb +25 -0
  199. data/lib/stripe/services/billing/meter_event_summary_service.rb +46 -0
  200. data/lib/stripe/services/billing/meter_service.rb +142 -0
  201. data/lib/stripe/services/billing_portal/configuration_service.rb +492 -0
  202. data/lib/stripe/services/billing_portal/session_service.rb +192 -0
  203. data/lib/stripe/services/capital/financing_offer_service.rb +121 -0
  204. data/lib/stripe/services/capital/financing_summary_service.rb +28 -0
  205. data/lib/stripe/services/capital/financing_transaction_service.rb +86 -0
  206. data/lib/stripe/services/capital_service.rb +15 -0
  207. data/lib/stripe/services/charge_service.rb +2010 -0
  208. data/lib/stripe/services/checkout/session_line_item_service.rb +21 -0
  209. data/lib/stripe/services/checkout/session_service.rb +2736 -0
  210. data/lib/stripe/services/climate/order_service.rb +113 -0
  211. data/lib/stripe/services/climate/product_service.rb +30 -0
  212. data/lib/stripe/services/climate/supplier_service.rb +30 -0
  213. data/lib/stripe/services/confirmation_token_service.rb +9 -0
  214. data/lib/stripe/services/country_spec_service.rb +30 -0
  215. data/lib/stripe/services/coupon_service.rb +174 -0
  216. data/lib/stripe/services/credit_note_line_item_service.rb +21 -0
  217. data/lib/stripe/services/credit_note_preview_lines_service.rb +184 -0
  218. data/lib/stripe/services/credit_note_service.rb +434 -0
  219. data/lib/stripe/services/customer_balance_transaction_service.rb +72 -0
  220. data/lib/stripe/services/customer_cash_balance_service.rb +30 -0
  221. data/lib/stripe/services/customer_cash_balance_transaction_service.rb +30 -0
  222. data/lib/stripe/services/customer_funding_instructions_service.rb +47 -0
  223. data/lib/stripe/services/customer_payment_method_service.rb +45 -0
  224. data/lib/stripe/services/customer_payment_source_service.rb +208 -0
  225. data/lib/stripe/services/customer_service.rb +684 -0
  226. data/lib/stripe/services/customer_session_service.rb +106 -0
  227. data/lib/stripe/services/customer_tax_id_service.rb +50 -0
  228. data/lib/stripe/services/dispute_service.rb +439 -0
  229. data/lib/stripe/services/entitlements/active_entitlement_service.rb +40 -0
  230. data/lib/stripe/services/entitlements/feature_service.rb +87 -0
  231. data/lib/stripe/services/ephemeral_key_service.rb +40 -0
  232. data/lib/stripe/services/event_service.rb +75 -0
  233. data/lib/stripe/services/exchange_rate_service.rb +30 -0
  234. data/lib/stripe/services/file_link_service.rb +108 -0
  235. data/lib/stripe/services/file_service.rb +102 -0
  236. data/lib/stripe/services/financial_connections/account_inferred_balance_service.rb +40 -0
  237. data/lib/stripe/services/financial_connections/account_owner_service.rb +31 -0
  238. data/lib/stripe/services/financial_connections/account_service.rb +108 -1
  239. data/lib/stripe/services/financial_connections/institution_service.rb +60 -0
  240. data/lib/stripe/services/financial_connections/session_service.rb +108 -0
  241. data/lib/stripe/services/financial_connections/transaction_service.rb +79 -0
  242. data/lib/stripe/services/financial_connections_service.rb +2 -1
  243. data/lib/stripe/services/forwarding/request_service.rb +120 -0
  244. data/lib/stripe/services/gift_cards/card_service.rb +183 -0
  245. data/lib/stripe/services/gift_cards/transaction_service.rb +225 -0
  246. data/lib/stripe/services/gift_cards_service.rb +14 -0
  247. data/lib/stripe/services/identity/verification_report_service.rb +75 -0
  248. data/lib/stripe/services/identity/verification_session_service.rb +261 -0
  249. data/lib/stripe/services/invoice_item_service.rb +454 -0
  250. data/lib/stripe/services/invoice_line_item_service.rb +277 -0
  251. data/lib/stripe/services/invoice_payment_service.rb +58 -0
  252. data/lib/stripe/services/invoice_rendering_template_service.rb +56 -0
  253. data/lib/stripe/services/invoice_service.rb +6375 -1
  254. data/lib/stripe/services/invoice_upcoming_lines_service.rb +2142 -0
  255. data/lib/stripe/services/issuing/authorization_service.rb +118 -0
  256. data/lib/stripe/services/issuing/card_service.rb +525 -0
  257. data/lib/stripe/services/issuing/cardholder_service.rb +599 -0
  258. data/lib/stripe/services/issuing/credit_underwriting_record_service.rb +560 -0
  259. data/lib/stripe/services/issuing/dispute_service.rb +731 -0
  260. data/lib/stripe/services/issuing/dispute_settlement_detail_service.rb +70 -0
  261. data/lib/stripe/services/issuing/fraud_liability_debit_service.rb +90 -0
  262. data/lib/stripe/services/issuing/personalization_design_service.rb +222 -0
  263. data/lib/stripe/services/issuing/physical_bundle_service.rb +45 -0
  264. data/lib/stripe/services/issuing/token_service.rb +83 -0
  265. data/lib/stripe/services/issuing/transaction_service.rb +93 -0
  266. data/lib/stripe/services/issuing_service.rb +5 -1
  267. data/lib/stripe/services/mandate_service.rb +9 -0
  268. data/lib/stripe/services/margin_service.rb +130 -0
  269. data/lib/stripe/services/order_line_item_service.rb +38 -0
  270. data/lib/stripe/services/order_service.rb +2518 -0
  271. data/lib/stripe/services/payment_attempt_record_service.rb +50 -0
  272. data/lib/stripe/services/payment_intent_service.rb +12203 -0
  273. data/lib/stripe/services/payment_link_line_item_service.rb +21 -0
  274. data/lib/stripe/services/payment_link_service.rb +1343 -0
  275. data/lib/stripe/services/payment_method_configuration_service.rb +2148 -0
  276. data/lib/stripe/services/payment_method_domain_service.rb +84 -0
  277. data/lib/stripe/services/payment_method_service.rb +977 -0
  278. data/lib/stripe/services/payment_record_service.rb +610 -0
  279. data/lib/stripe/services/payout_service.rb +182 -0
  280. data/lib/stripe/services/plan_service.rb +296 -0
  281. data/lib/stripe/services/price_service.rb +603 -0
  282. data/lib/stripe/services/product_feature_service.rb +46 -0
  283. data/lib/stripe/services/product_service.rb +533 -0
  284. data/lib/stripe/services/promotion_code_service.rb +203 -0
  285. data/lib/stripe/services/quote_computed_upfront_line_items_service.rb +21 -0
  286. data/lib/stripe/services/quote_line_item_service.rb +21 -0
  287. data/lib/stripe/services/quote_line_service.rb +38 -0
  288. data/lib/stripe/services/quote_preview_invoice_service.rb +38 -0
  289. data/lib/stripe/services/quote_preview_subscription_schedule_service.rb +38 -0
  290. data/lib/stripe/services/quote_service.rb +2628 -1
  291. data/lib/stripe/services/radar/early_fraud_warning_service.rb +70 -0
  292. data/lib/stripe/services/radar/value_list_item_service.rb +90 -0
  293. data/lib/stripe/services/radar/value_list_service.rb +119 -0
  294. data/lib/stripe/services/refund_service.rb +158 -0
  295. data/lib/stripe/services/reporting/report_run_service.rb +122 -0
  296. data/lib/stripe/services/reporting/report_type_service.rb +18 -0
  297. data/lib/stripe/services/review_service.rb +63 -0
  298. data/lib/stripe/services/setup_attempt_service.rb +59 -0
  299. data/lib/stripe/services/setup_intent_service.rb +3923 -0
  300. data/lib/stripe/services/shipping_rate_service.rb +227 -0
  301. data/lib/stripe/services/sigma/scheduled_query_run_service.rb +30 -0
  302. data/lib/stripe/services/source_service.rb +693 -0
  303. data/lib/stripe/services/source_transaction_service.rb +21 -0
  304. data/lib/stripe/services/subscription_item_service.rb +439 -0
  305. data/lib/stripe/services/subscription_item_usage_record_service.rb +21 -0
  306. data/lib/stripe/services/subscription_item_usage_record_summary_service.rb +21 -0
  307. data/lib/stripe/services/subscription_schedule_service.rb +2343 -0
  308. data/lib/stripe/services/subscription_service.rb +1967 -0
  309. data/lib/stripe/services/tax/association_service.rb +32 -0
  310. data/lib/stripe/services/tax/calculation_line_item_service.rb +21 -0
  311. data/lib/stripe/services/tax/calculation_service.rb +235 -0
  312. data/lib/stripe/services/tax/form_service.rb +107 -0
  313. data/lib/stripe/services/tax/registration_service.rb +1398 -0
  314. data/lib/stripe/services/tax/settings_service.rb +82 -0
  315. data/lib/stripe/services/tax/transaction_line_item_service.rb +21 -0
  316. data/lib/stripe/services/tax/transaction_service.rb +128 -0
  317. data/lib/stripe/services/tax_code_service.rb +30 -0
  318. data/lib/stripe/services/tax_id_service.rb +90 -0
  319. data/lib/stripe/services/tax_rate_service.rb +182 -0
  320. data/lib/stripe/services/tax_service.rb +3 -1
  321. data/lib/stripe/services/terminal/configuration_service.rb +901 -0
  322. data/lib/stripe/services/terminal/connection_token_service.rb +13 -0
  323. data/lib/stripe/services/terminal/location_service.rb +165 -0
  324. data/lib/stripe/services/terminal/reader_collected_data_service.rb +28 -0
  325. data/lib/stripe/services/terminal/reader_service.rb +496 -0
  326. data/lib/stripe/services/terminal_service.rb +2 -1
  327. data/lib/stripe/services/test_helpers/confirmation_token_service.rb +762 -0
  328. data/lib/stripe/services/test_helpers/customer_service.rb +21 -0
  329. data/lib/stripe/services/test_helpers/issuing/authorization_service.rb +844 -0
  330. data/lib/stripe/services/test_helpers/issuing/card_service.rb +45 -0
  331. data/lib/stripe/services/test_helpers/issuing/personalization_design_service.rb +43 -0
  332. data/lib/stripe/services/test_helpers/issuing/transaction_service.rb +723 -0
  333. data/lib/stripe/services/test_helpers/refund_service.rb +9 -0
  334. data/lib/stripe/services/test_helpers/terminal/reader_service.rb +48 -0
  335. data/lib/stripe/services/test_helpers/test_clock_service.rb +63 -0
  336. data/lib/stripe/services/test_helpers/treasury/inbound_transfer_service.rb +39 -0
  337. data/lib/stripe/services/test_helpers/treasury/outbound_payment_service.rb +93 -0
  338. data/lib/stripe/services/test_helpers/treasury/outbound_transfer_service.rb +93 -0
  339. data/lib/stripe/services/test_helpers/treasury/received_credit_service.rb +95 -0
  340. data/lib/stripe/services/test_helpers/treasury/received_debit_service.rb +95 -0
  341. data/lib/stripe/services/token_service.rb +1301 -0
  342. data/lib/stripe/services/topup_service.rb +163 -0
  343. data/lib/stripe/services/transfer_reversal_service.rb +74 -0
  344. data/lib/stripe/services/transfer_service.rb +138 -0
  345. data/lib/stripe/services/treasury/credit_reversal_service.rb +67 -0
  346. data/lib/stripe/services/treasury/debit_reversal_service.rb +72 -0
  347. data/lib/stripe/services/treasury/financial_account_features_service.rb +179 -0
  348. data/lib/stripe/services/treasury/financial_account_service.rb +481 -0
  349. data/lib/stripe/services/treasury/inbound_transfer_service.rb +100 -0
  350. data/lib/stripe/services/treasury/outbound_payment_service.rb +296 -0
  351. data/lib/stripe/services/treasury/outbound_transfer_service.rb +147 -0
  352. data/lib/stripe/services/treasury/received_credit_service.rb +58 -0
  353. data/lib/stripe/services/treasury/received_debit_service.rb +45 -0
  354. data/lib/stripe/services/treasury/transaction_entry_service.rb +101 -0
  355. data/lib/stripe/services/treasury/transaction_service.rb +109 -0
  356. data/lib/stripe/services/v1_services.rb +8 -1
  357. data/lib/stripe/services/v2/billing/meter_event_adjustment_service.rb +25 -0
  358. data/lib/stripe/services/v2/billing/meter_event_service.rb +28 -0
  359. data/lib/stripe/services/v2/billing/meter_event_session_service.rb +3 -0
  360. data/lib/stripe/services/v2/billing/meter_event_stream_service.rb +36 -0
  361. data/lib/stripe/services/v2/core/event_destination_service.rb +164 -0
  362. data/lib/stripe/services/v2/core/event_service.rb +20 -0
  363. data/lib/stripe/services/webhook_endpoint_service.rb +110 -0
  364. data/lib/stripe/services.rb +25 -0
  365. data/lib/stripe/stripe_client.rb +2 -2
  366. data/lib/stripe/stripe_configuration.rb +3 -1
  367. data/lib/stripe/stripe_object.rb +8 -3
  368. data/lib/stripe/util.rb +8 -2
  369. data/lib/stripe/version.rb +1 -1
  370. data/lib/stripe.rb +46 -0
  371. data/rbi/stripe/resources/account.rbi +6072 -0
  372. data/rbi/stripe/resources/account_link.rbi +87 -0
  373. data/rbi/stripe/resources/account_notice.rbi +166 -0
  374. data/rbi/stripe/resources/account_session.rbi +1173 -0
  375. data/rbi/stripe/resources/apple_pay_domain.rbi +111 -0
  376. data/rbi/stripe/resources/application.rbi +23 -0
  377. data/rbi/stripe/resources/application_fee.rbi +151 -0
  378. data/rbi/stripe/resources/application_fee_refund.rbi +44 -0
  379. data/rbi/stripe/resources/apps/secret.rbi +229 -0
  380. data/rbi/stripe/resources/balance.rbi +220 -0
  381. data/rbi/stripe/resources/balance_transaction.rbi +182 -0
  382. data/rbi/stripe/resources/bank_account.rbi +156 -0
  383. data/rbi/stripe/resources/billing/alert.rbi +237 -0
  384. data/rbi/stripe/resources/billing/alert_triggered.rbi +33 -0
  385. data/rbi/stripe/resources/billing/credit_balance_summary.rbi +118 -0
  386. data/rbi/stripe/resources/billing/credit_balance_transaction.rbi +181 -0
  387. data/rbi/stripe/resources/billing/credit_grant.rbi +312 -0
  388. data/rbi/stripe/resources/billing/meter.rbi +268 -0
  389. data/rbi/stripe/resources/billing/meter_error_report.rbi +82 -0
  390. data/rbi/stripe/resources/billing/meter_event.rbi +76 -0
  391. data/rbi/stripe/resources/billing/meter_event_adjustment.rbi +75 -0
  392. data/rbi/stripe/resources/billing/meter_event_summary.rbi +39 -0
  393. data/rbi/stripe/resources/billing_portal/configuration.rbi +746 -0
  394. data/rbi/stripe/resources/billing_portal/session.rbi +396 -0
  395. data/rbi/stripe/resources/capability.rbi +152 -0
  396. data/rbi/stripe/resources/capital/financing_offer.rbi +228 -0
  397. data/rbi/stripe/resources/capital/financing_summary.rbi +89 -0
  398. data/rbi/stripe/resources/capital/financing_transaction.rbi +157 -0
  399. data/rbi/stripe/resources/card.rbi +159 -0
  400. data/rbi/stripe/resources/cash_balance.rbi +37 -0
  401. data/rbi/stripe/resources/charge.rbi +4216 -0
  402. data/rbi/stripe/resources/checkout/session.rbi +4627 -0
  403. data/rbi/stripe/resources/climate/order.rbi +298 -0
  404. data/rbi/stripe/resources/climate/product.rbi +98 -0
  405. data/rbi/stripe/resources/climate/supplier.rbi +95 -0
  406. data/rbi/stripe/resources/confirmation_token.rbi +2137 -0
  407. data/rbi/stripe/resources/connect_collection_transfer.rbi +31 -0
  408. data/rbi/stripe/resources/country_spec.rbi +108 -0
  409. data/rbi/stripe/resources/coupon.rbi +305 -0
  410. data/rbi/stripe/resources/credit_note.rbi +918 -0
  411. data/rbi/stripe/resources/credit_note_line_item.rbi +123 -0
  412. data/rbi/stripe/resources/customer.rbi +1188 -0
  413. data/rbi/stripe/resources/customer_balance_transaction.rbi +65 -0
  414. data/rbi/stripe/resources/customer_cash_balance_transaction.rbi +178 -0
  415. data/rbi/stripe/resources/customer_session.rbi +227 -0
  416. data/rbi/stripe/resources/discount.rbi +65 -0
  417. data/rbi/stripe/resources/dispute.rbi +926 -0
  418. data/rbi/stripe/resources/entitlements/active_entitlement.rbi +76 -0
  419. data/rbi/stripe/resources/entitlements/active_entitlement_summary.rbi +26 -0
  420. data/rbi/stripe/resources/entitlements/feature.rbi +146 -0
  421. data/rbi/stripe/resources/ephemeral_key.rbi +51 -0
  422. data/rbi/stripe/resources/event.rbi +221 -0
  423. data/rbi/stripe/resources/exchange_rate.rbi +81 -0
  424. data/rbi/stripe/resources/file.rbi +177 -0
  425. data/rbi/stripe/resources/file_link.rbi +174 -0
  426. data/rbi/stripe/resources/financial_connections/account.rbi +414 -0
  427. data/rbi/stripe/resources/financial_connections/account_inferred_balance.rbi +30 -0
  428. data/rbi/stripe/resources/financial_connections/account_owner.rbi +42 -0
  429. data/rbi/stripe/resources/financial_connections/account_ownership.rbi +26 -0
  430. data/rbi/stripe/resources/financial_connections/institution.rbi +115 -0
  431. data/rbi/stripe/resources/financial_connections/session.rbi +221 -0
  432. data/rbi/stripe/resources/financial_connections/transaction.rbi +153 -0
  433. data/rbi/stripe/resources/forwarding/request.rbi +257 -0
  434. data/rbi/stripe/resources/funding_instructions.rbi +544 -0
  435. data/rbi/stripe/resources/gift_cards/card.rbi +242 -0
  436. data/rbi/stripe/resources/gift_cards/transaction.rbi +298 -0
  437. data/rbi/stripe/resources/identity/verification_report.rbi +427 -0
  438. data/rbi/stripe/resources/identity/verification_session.rbi +601 -0
  439. data/rbi/stripe/resources/invoice.rbi +10584 -0
  440. data/rbi/stripe/resources/invoice_item.rbi +621 -0
  441. data/rbi/stripe/resources/invoice_line_item.rbi +486 -0
  442. data/rbi/stripe/resources/invoice_payment.rbi +86 -0
  443. data/rbi/stripe/resources/invoice_rendering_template.rbi +131 -0
  444. data/rbi/stripe/resources/issuing/authorization.rbi +1511 -0
  445. data/rbi/stripe/resources/issuing/card.rbi +891 -0
  446. data/rbi/stripe/resources/issuing/cardholder.rbi +870 -0
  447. data/rbi/stripe/resources/issuing/credit_underwriting_record.rbi +731 -0
  448. data/rbi/stripe/resources/issuing/dispute.rbi +1077 -0
  449. data/rbi/stripe/resources/issuing/dispute_settlement_detail.rbi +100 -0
  450. data/rbi/stripe/resources/issuing/fraud_liability_debit.rbi +108 -0
  451. data/rbi/stripe/resources/issuing/personalization_design.rbi +395 -0
  452. data/rbi/stripe/resources/issuing/physical_bundle.rbi +102 -0
  453. data/rbi/stripe/resources/issuing/settlement.rbi +78 -0
  454. data/rbi/stripe/resources/issuing/token.rbi +282 -0
  455. data/rbi/stripe/resources/issuing/transaction.rbi +1262 -0
  456. data/rbi/stripe/resources/line_item.rbi +131 -0
  457. data/rbi/stripe/resources/login_link.rbi +20 -0
  458. data/rbi/stripe/resources/mandate.rbi +266 -0
  459. data/rbi/stripe/resources/margin.rbi +151 -0
  460. data/rbi/stripe/resources/order.rbi +3505 -0
  461. data/rbi/stripe/resources/payment_attempt_record.rbi +260 -0
  462. data/rbi/stripe/resources/payment_intent.rbi +16064 -0
  463. data/rbi/stripe/resources/payment_link.rbi +1943 -0
  464. data/rbi/stripe/resources/payment_method.rbi +2287 -0
  465. data/rbi/stripe/resources/payment_method_configuration.rbi +3657 -0
  466. data/rbi/stripe/resources/payment_method_domain.rbi +246 -0
  467. data/rbi/stripe/resources/payment_record.rbi +856 -0
  468. data/rbi/stripe/resources/payout.rbi +357 -0
  469. data/rbi/stripe/resources/person.rbi +461 -0
  470. data/rbi/stripe/resources/plan.rbi +463 -0
  471. data/rbi/stripe/resources/price.rbi +884 -0
  472. data/rbi/stripe/resources/product.rbi +735 -0
  473. data/rbi/stripe/resources/product_feature.rbi +30 -0
  474. data/rbi/stripe/resources/promotion_code.rbi +316 -0
  475. data/rbi/stripe/resources/quote.rbi +3779 -0
  476. data/rbi/stripe/resources/quote_line.rbi +416 -0
  477. data/rbi/stripe/resources/quote_preview_invoice.rbi +1030 -0
  478. data/rbi/stripe/resources/quote_preview_subscription_schedule.rbi +575 -0
  479. data/rbi/stripe/resources/radar/early_fraud_warning.rbi +121 -0
  480. data/rbi/stripe/resources/radar/value_list.rbi +207 -0
  481. data/rbi/stripe/resources/radar/value_list_item.rbi +157 -0
  482. data/rbi/stripe/resources/refund.rbi +615 -0
  483. data/rbi/stripe/resources/reporting/report_run.rbi +232 -0
  484. data/rbi/stripe/resources/reporting/report_type.rbi +75 -0
  485. data/rbi/stripe/resources/reserve_transaction.rbi +27 -0
  486. data/rbi/stripe/resources/reversal.rbi +60 -0
  487. data/rbi/stripe/resources/review.rbi +191 -0
  488. data/rbi/stripe/resources/setup_attempt.rbi +587 -0
  489. data/rbi/stripe/resources/setup_intent.rbi +4726 -0
  490. data/rbi/stripe/resources/shipping_rate.rbi +367 -0
  491. data/rbi/stripe/resources/sigma/scheduled_query_run.rbi +98 -0
  492. data/rbi/stripe/resources/source.rbi +1899 -0
  493. data/rbi/stripe/resources/source_mandate_notification.rbi +90 -0
  494. data/rbi/stripe/resources/source_transaction.rbi +156 -0
  495. data/rbi/stripe/resources/subscription.rbi +2739 -0
  496. data/rbi/stripe/resources/subscription_item.rbi +566 -0
  497. data/rbi/stripe/resources/subscription_schedule.rbi +3157 -0
  498. data/rbi/stripe/resources/tax/association.rbi +107 -0
  499. data/rbi/stripe/resources/tax/calculation.rbi +577 -0
  500. data/rbi/stripe/resources/tax/calculation_line_item.rbi +108 -0
  501. data/rbi/stripe/resources/tax/form.rbi +262 -0
  502. data/rbi/stripe/resources/tax/registration.rbi +2354 -0
  503. data/rbi/stripe/resources/tax/settings.rbi +174 -0
  504. data/rbi/stripe/resources/tax/transaction.rbi +428 -0
  505. data/rbi/stripe/resources/tax/transaction_line_item.rbi +66 -0
  506. data/rbi/stripe/resources/tax_code.rbi +60 -0
  507. data/rbi/stripe/resources/tax_deducted_at_source.rbi +27 -0
  508. data/rbi/stripe/resources/tax_id.rbi +206 -0
  509. data/rbi/stripe/resources/tax_rate.rbi +295 -0
  510. data/rbi/stripe/resources/terminal/configuration.rbi +1302 -0
  511. data/rbi/stripe/resources/terminal/connection_token.rbi +42 -0
  512. data/rbi/stripe/resources/terminal/location.rbi +271 -0
  513. data/rbi/stripe/resources/terminal/reader.rbi +1110 -0
  514. data/rbi/stripe/resources/terminal/reader_collected_data.rbi +48 -0
  515. data/rbi/stripe/resources/test_helpers/test_clock.rbi +159 -0
  516. data/rbi/stripe/resources/token.rbi +1405 -0
  517. data/rbi/stripe/resources/topup.rbi +269 -0
  518. data/rbi/stripe/resources/transfer.rbi +245 -0
  519. data/rbi/stripe/resources/treasury/credit_reversal.rbi +151 -0
  520. data/rbi/stripe/resources/treasury/debit_reversal.rbi +165 -0
  521. data/rbi/stripe/resources/treasury/financial_account.rbi +924 -0
  522. data/rbi/stripe/resources/treasury/financial_account_features.rbi +309 -0
  523. data/rbi/stripe/resources/treasury/inbound_transfer.rbi +361 -0
  524. data/rbi/stripe/resources/treasury/outbound_payment.rbi +702 -0
  525. data/rbi/stripe/resources/treasury/outbound_transfer.rbi +529 -0
  526. data/rbi/stripe/resources/treasury/received_credit.rbi +408 -0
  527. data/rbi/stripe/resources/treasury/received_debit.rbi +367 -0
  528. data/rbi/stripe/resources/treasury/transaction.rbi +261 -0
  529. data/rbi/stripe/resources/treasury/transaction_entry.rbi +234 -0
  530. data/rbi/stripe/resources/usage_record.rbi +37 -0
  531. data/rbi/stripe/resources/usage_record_summary.rbi +45 -0
  532. data/rbi/stripe/resources/v2/amount.rbi +14 -0
  533. data/rbi/stripe/resources/v2/billing/meter_event.rbi +43 -0
  534. data/rbi/stripe/resources/v2/billing/meter_event_adjustment.rbi +48 -0
  535. data/rbi/stripe/resources/v2/billing/meter_event_session.rbi +36 -0
  536. data/rbi/stripe/resources/v2/event.rbi +55 -0
  537. data/rbi/stripe/resources/v2/event_destination.rbi +109 -0
  538. data/rbi/stripe/resources/webhook_endpoint.rbi +208 -0
  539. data/rbi/stripe/services/account_capability_service.rbi +55 -0
  540. data/rbi/stripe/services/account_external_account_service.rbi +358 -0
  541. data/rbi/stripe/services/account_link_service.rbi +67 -0
  542. data/rbi/stripe/services/account_login_link_service.rbi +23 -0
  543. data/rbi/stripe/services/account_notice_service.rbi +103 -0
  544. data/rbi/stripe/services/account_person_service.rbi +1077 -0
  545. data/rbi/stripe/services/account_service.rbi +4948 -0
  546. data/rbi/stripe/services/account_session_service.rbi +873 -0
  547. data/rbi/stripe/services/apple_pay_domain_service.rbi +86 -0
  548. data/rbi/stripe/services/application_fee_refund_service.rbi +101 -0
  549. data/rbi/stripe/services/application_fee_service.rbi +85 -0
  550. data/rbi/stripe/services/apps/secret_service.rbi +175 -0
  551. data/rbi/stripe/services/apps_service.rbi +9 -0
  552. data/rbi/stripe/services/balance_service.rbi +22 -0
  553. data/rbi/stripe/services/balance_transaction_service.rbi +103 -0
  554. data/rbi/stripe/services/billing/alert_service.rbi +172 -0
  555. data/rbi/stripe/services/billing/credit_balance_summary_service.rbi +61 -0
  556. data/rbi/stripe/services/billing/credit_balance_transaction_service.rbi +66 -0
  557. data/rbi/stripe/services/billing/credit_grant_service.rbi +217 -0
  558. data/rbi/stripe/services/billing/meter_event_adjustment_service.rbi +45 -0
  559. data/rbi/stripe/services/billing/meter_event_service.rbi +47 -0
  560. data/rbi/stripe/services/billing/meter_event_summary_service.rbi +62 -0
  561. data/rbi/stripe/services/billing/meter_service.rbi +184 -0
  562. data/rbi/stripe/services/billing_portal/configuration_service.rbi +573 -0
  563. data/rbi/stripe/services/billing_portal/session_service.rbi +233 -0
  564. data/rbi/stripe/services/billing_portal_service.rbi +10 -0
  565. data/rbi/stripe/services/billing_service.rbi +15 -0
  566. data/rbi/stripe/services/capital/financing_offer_service.rbi +108 -0
  567. data/rbi/stripe/services/capital/financing_summary_service.rbi +23 -0
  568. data/rbi/stripe/services/capital/financing_transaction_service.rbi +77 -0
  569. data/rbi/stripe/services/capital_service.rbi +11 -0
  570. data/rbi/stripe/services/charge_service.rbi +2162 -0
  571. data/rbi/stripe/services/checkout/session_line_item_service.rbi +37 -0
  572. data/rbi/stripe/services/checkout/session_service.rbi +2975 -0
  573. data/rbi/stripe/services/checkout_service.rbi +9 -0
  574. data/rbi/stripe/services/climate/order_service.rbi +158 -0
  575. data/rbi/stripe/services/climate/product_service.rbi +51 -0
  576. data/rbi/stripe/services/climate/supplier_service.rbi +51 -0
  577. data/rbi/stripe/services/climate_service.rbi +11 -0
  578. data/rbi/stripe/services/confirmation_token_service.rbi +21 -0
  579. data/rbi/stripe/services/country_spec_service.rbi +49 -0
  580. data/rbi/stripe/services/coupon_service.rbi +220 -0
  581. data/rbi/stripe/services/credit_note_line_item_service.rbi +35 -0
  582. data/rbi/stripe/services/credit_note_preview_lines_service.rbi +200 -0
  583. data/rbi/stripe/services/credit_note_service.rbi +496 -0
  584. data/rbi/stripe/services/customer_balance_transaction_service.rbi +105 -0
  585. data/rbi/stripe/services/customer_cash_balance_service.rbi +49 -0
  586. data/rbi/stripe/services/customer_cash_balance_transaction_service.rbi +49 -0
  587. data/rbi/stripe/services/customer_funding_instructions_service.rbi +67 -0
  588. data/rbi/stripe/services/customer_payment_method_service.rbi +64 -0
  589. data/rbi/stripe/services/customer_payment_source_service.rbi +265 -0
  590. data/rbi/stripe/services/customer_service.rbi +763 -0
  591. data/rbi/stripe/services/customer_session_service.rbi +126 -0
  592. data/rbi/stripe/services/customer_tax_id_service.rbi +80 -0
  593. data/rbi/stripe/services/dispute_service.rbi +500 -0
  594. data/rbi/stripe/services/entitlements/active_entitlement_service.rbi +61 -0
  595. data/rbi/stripe/services/entitlements/feature_service.rbi +122 -0
  596. data/rbi/stripe/services/entitlements_service.rbi +10 -0
  597. data/rbi/stripe/services/ephemeral_key_service.rbi +59 -0
  598. data/rbi/stripe/services/event_service.rbi +94 -0
  599. data/rbi/stripe/services/exchange_rate_service.rbi +49 -0
  600. data/rbi/stripe/services/file_link_service.rbi +141 -0
  601. data/rbi/stripe/services/file_service.rbi +132 -0
  602. data/rbi/stripe/services/financial_connections/account_inferred_balance_service.rbi +37 -0
  603. data/rbi/stripe/services/financial_connections/account_owner_service.rbi +47 -0
  604. data/rbi/stripe/services/financial_connections/account_service.rbi +148 -0
  605. data/rbi/stripe/services/financial_connections/institution_service.rbi +51 -0
  606. data/rbi/stripe/services/financial_connections/session_service.rbi +128 -0
  607. data/rbi/stripe/services/financial_connections/transaction_service.rbi +103 -0
  608. data/rbi/stripe/services/financial_connections_service.rbi +12 -0
  609. data/rbi/stripe/services/forwarding/request_service.rbi +152 -0
  610. data/rbi/stripe/services/forwarding_service.rbi +9 -0
  611. data/rbi/stripe/services/gift_cards/card_service.rbi +162 -0
  612. data/rbi/stripe/services/gift_cards/transaction_service.rbi +198 -0
  613. data/rbi/stripe/services/gift_cards_service.rbi +10 -0
  614. data/rbi/stripe/services/identity/verification_report_service.rbi +98 -0
  615. data/rbi/stripe/services/identity/verification_session_service.rbi +360 -0
  616. data/rbi/stripe/services/identity_service.rbi +10 -0
  617. data/rbi/stripe/services/invoice_item_service.rbi +505 -0
  618. data/rbi/stripe/services/invoice_line_item_service.rbi +320 -0
  619. data/rbi/stripe/services/invoice_payment_service.rbi +49 -0
  620. data/rbi/stripe/services/invoice_rendering_template_service.rbi +91 -0
  621. data/rbi/stripe/services/invoice_service.rbi +7138 -0
  622. data/rbi/stripe/services/invoice_upcoming_lines_service.rbi +2397 -0
  623. data/rbi/stripe/services/issuing/authorization_service.rbi +160 -0
  624. data/rbi/stripe/services/issuing/card_service.rbi +568 -0
  625. data/rbi/stripe/services/issuing/cardholder_service.rbi +668 -0
  626. data/rbi/stripe/services/issuing/credit_underwriting_record_service.rbi +580 -0
  627. data/rbi/stripe/services/issuing/dispute_service.rbi +824 -0
  628. data/rbi/stripe/services/issuing/dispute_settlement_detail_service.rbi +61 -0
  629. data/rbi/stripe/services/issuing/fraud_liability_debit_service.rbi +83 -0
  630. data/rbi/stripe/services/issuing/personalization_design_service.rbi +271 -0
  631. data/rbi/stripe/services/issuing/physical_bundle_service.rbi +66 -0
  632. data/rbi/stripe/services/issuing/token_service.rbi +109 -0
  633. data/rbi/stripe/services/issuing/transaction_service.rbi +119 -0
  634. data/rbi/stripe/services/issuing_service.rbi +19 -0
  635. data/rbi/stripe/services/mandate_service.rbi +21 -0
  636. data/rbi/stripe/services/margin_service.rbi +119 -0
  637. data/rbi/stripe/services/order_line_item_service.rbi +35 -0
  638. data/rbi/stripe/services/order_service.rbi +2669 -0
  639. data/rbi/stripe/services/payment_attempt_record_service.rbi +39 -0
  640. data/rbi/stripe/services/payment_intent_service.rbi +13193 -0
  641. data/rbi/stripe/services/payment_link_line_item_service.rbi +35 -0
  642. data/rbi/stripe/services/payment_link_service.rbi +1447 -0
  643. data/rbi/stripe/services/payment_method_configuration_service.rbi +2465 -0
  644. data/rbi/stripe/services/payment_method_domain_service.rbi +123 -0
  645. data/rbi/stripe/services/payment_method_service.rbi +1032 -0
  646. data/rbi/stripe/services/payment_record_service.rbi +613 -0
  647. data/rbi/stripe/services/payout_service.rbi +228 -0
  648. data/rbi/stripe/services/plan_service.rbi +337 -0
  649. data/rbi/stripe/services/price_service.rbi +657 -0
  650. data/rbi/stripe/services/product_feature_service.rbi +76 -0
  651. data/rbi/stripe/services/product_service.rbi +596 -0
  652. data/rbi/stripe/services/promotion_code_service.rbi +244 -0
  653. data/rbi/stripe/services/quote_computed_upfront_line_items_service.rbi +35 -0
  654. data/rbi/stripe/services/quote_line_item_service.rbi +35 -0
  655. data/rbi/stripe/services/quote_line_service.rbi +35 -0
  656. data/rbi/stripe/services/quote_preview_invoice_service.rbi +35 -0
  657. data/rbi/stripe/services/quote_preview_subscription_schedule_service.rbi +35 -0
  658. data/rbi/stripe/services/quote_service.rbi +2830 -0
  659. data/rbi/stripe/services/radar/early_fraud_warning_service.rbi +95 -0
  660. data/rbi/stripe/services/radar/value_list_item_service.rbi +122 -0
  661. data/rbi/stripe/services/radar/value_list_service.rbi +160 -0
  662. data/rbi/stripe/services/radar_service.rbi +11 -0
  663. data/rbi/stripe/services/refund_service.rbi +208 -0
  664. data/rbi/stripe/services/reporting/report_run_service.rbi +152 -0
  665. data/rbi/stripe/services/reporting/report_type_service.rbi +37 -0
  666. data/rbi/stripe/services/reporting_service.rbi +10 -0
  667. data/rbi/stripe/services/review_service.rbi +93 -0
  668. data/rbi/stripe/services/setup_attempt_service.rbi +73 -0
  669. data/rbi/stripe/services/setup_intent_service.rbi +4204 -0
  670. data/rbi/stripe/services/shipping_rate_service.rbi +274 -0
  671. data/rbi/stripe/services/sigma/scheduled_query_run_service.rbi +51 -0
  672. data/rbi/stripe/services/sigma_service.rbi +9 -0
  673. data/rbi/stripe/services/source_service.rbi +766 -0
  674. data/rbi/stripe/services/source_transaction_service.rbi +35 -0
  675. data/rbi/stripe/services/subscription_item_service.rbi +496 -0
  676. data/rbi/stripe/services/subscription_item_usage_record_service.rbi +41 -0
  677. data/rbi/stripe/services/subscription_item_usage_record_summary_service.rbi +37 -0
  678. data/rbi/stripe/services/subscription_schedule_service.rbi +2613 -0
  679. data/rbi/stripe/services/subscription_service.rbi +2207 -0
  680. data/rbi/stripe/services/tax/association_service.rbi +27 -0
  681. data/rbi/stripe/services/tax/calculation_line_item_service.rbi +37 -0
  682. data/rbi/stripe/services/tax/calculation_service.rbi +267 -0
  683. data/rbi/stripe/services/tax/form_service.rbi +96 -0
  684. data/rbi/stripe/services/tax/registration_service.rbi +1495 -0
  685. data/rbi/stripe/services/tax/settings_service.rbi +106 -0
  686. data/rbi/stripe/services/tax/transaction_line_item_service.rbi +37 -0
  687. data/rbi/stripe/services/tax/transaction_service.rbi +164 -0
  688. data/rbi/stripe/services/tax_code_service.rbi +49 -0
  689. data/rbi/stripe/services/tax_id_service.rbi +128 -0
  690. data/rbi/stripe/services/tax_rate_service.rbi +215 -0
  691. data/rbi/stripe/services/tax_service.rbi +14 -0
  692. data/rbi/stripe/services/terminal/configuration_service.rbi +976 -0
  693. data/rbi/stripe/services/terminal/connection_token_service.rbi +27 -0
  694. data/rbi/stripe/services/terminal/location_service.rbi +211 -0
  695. data/rbi/stripe/services/terminal/reader_collected_data_service.rbi +23 -0
  696. data/rbi/stripe/services/terminal/reader_service.rbi +591 -0
  697. data/rbi/stripe/services/terminal_service.rbi +13 -0
  698. data/rbi/stripe/services/test_helpers/confirmation_token_service.rbi +892 -0
  699. data/rbi/stripe/services/test_helpers/customer_service.rbi +37 -0
  700. data/rbi/stripe/services/test_helpers/issuing/authorization_service.rbi +974 -0
  701. data/rbi/stripe/services/test_helpers/issuing/card_service.rbi +81 -0
  702. data/rbi/stripe/services/test_helpers/issuing/personalization_design_service.rbi +73 -0
  703. data/rbi/stripe/services/test_helpers/issuing/transaction_service.rbi +825 -0
  704. data/rbi/stripe/services/test_helpers/issuing_service.rbi +14 -0
  705. data/rbi/stripe/services/test_helpers/refund_service.rbi +23 -0
  706. data/rbi/stripe/services/test_helpers/terminal/reader_service.rbi +69 -0
  707. data/rbi/stripe/services/test_helpers/terminal_service.rbi +11 -0
  708. data/rbi/stripe/services/test_helpers/test_clock_service.rbi +100 -0
  709. data/rbi/stripe/services/test_helpers/treasury/inbound_transfer_service.rbi +69 -0
  710. data/rbi/stripe/services/test_helpers/treasury/outbound_payment_service.rbi +137 -0
  711. data/rbi/stripe/services/test_helpers/treasury/outbound_transfer_service.rbi +137 -0
  712. data/rbi/stripe/services/test_helpers/treasury/received_credit_service.rbi +130 -0
  713. data/rbi/stripe/services/test_helpers/treasury/received_debit_service.rbi +130 -0
  714. data/rbi/stripe/services/test_helpers/treasury_service.rbi +15 -0
  715. data/rbi/stripe/services/test_helpers_service.rbi +15 -0
  716. data/rbi/stripe/services/token_service.rbi +1357 -0
  717. data/rbi/stripe/services/topup_service.rbi +200 -0
  718. data/rbi/stripe/services/transfer_reversal_service.rbi +111 -0
  719. data/rbi/stripe/services/transfer_service.rbi +174 -0
  720. data/rbi/stripe/services/treasury/credit_reversal_service.rbi +95 -0
  721. data/rbi/stripe/services/treasury/debit_reversal_service.rbi +100 -0
  722. data/rbi/stripe/services/treasury/financial_account_features_service.rbi +226 -0
  723. data/rbi/stripe/services/treasury/financial_account_service.rbi +577 -0
  724. data/rbi/stripe/services/treasury/inbound_transfer_service.rbi +133 -0
  725. data/rbi/stripe/services/treasury/outbound_payment_service.rbi +350 -0
  726. data/rbi/stripe/services/treasury/outbound_transfer_service.rbi +189 -0
  727. data/rbi/stripe/services/treasury/received_credit_service.rbi +79 -0
  728. data/rbi/stripe/services/treasury/received_debit_service.rbi +66 -0
  729. data/rbi/stripe/services/treasury/transaction_entry_service.rbi +125 -0
  730. data/rbi/stripe/services/treasury/transaction_service.rbi +133 -0
  731. data/rbi/stripe/services/treasury_service.rbi +18 -0
  732. data/rbi/stripe/services/v1_services.rbi +83 -0
  733. data/rbi/stripe/services/v2/billing/meter_event_adjustment_service.rbi +43 -0
  734. data/rbi/stripe/services/v2/billing/meter_event_service.rbi +46 -0
  735. data/rbi/stripe/services/v2/billing/meter_event_session_service.rbi +20 -0
  736. data/rbi/stripe/services/v2/billing/meter_event_stream_service.rbi +60 -0
  737. data/rbi/stripe/services/v2/billing_service.rbi +14 -0
  738. data/rbi/stripe/services/v2/core/event_destination_service.rbi +228 -0
  739. data/rbi/stripe/services/v2/core/event_service.rbi +42 -0
  740. data/rbi/stripe/services/v2/core_service.rbi +12 -0
  741. data/rbi/stripe/services/v2_services.rbi +10 -0
  742. data/rbi/stripe/services/webhook_endpoint_service.rbi +149 -0
  743. metadata +435 -4
@@ -11,6 +11,2742 @@ module Stripe
11
11
  @line_items = Stripe::Checkout::SessionLineItemService.new(@requestor)
12
12
  end
13
13
 
14
+ class ListParams < Stripe::RequestParams
15
+ class Created < Stripe::RequestParams
16
+ # Minimum value to filter by (exclusive)
17
+ attr_accessor :gt
18
+
19
+ # Minimum value to filter by (inclusive)
20
+ attr_accessor :gte
21
+
22
+ # Maximum value to filter by (exclusive)
23
+ attr_accessor :lt
24
+
25
+ # Maximum value to filter by (inclusive)
26
+ attr_accessor :lte
27
+
28
+ def initialize(gt: nil, gte: nil, lt: nil, lte: nil)
29
+ @gt = gt
30
+ @gte = gte
31
+ @lt = lt
32
+ @lte = lte
33
+ end
34
+ end
35
+
36
+ class CustomerDetails < Stripe::RequestParams
37
+ # Customer's email address.
38
+ attr_accessor :email
39
+
40
+ def initialize(email: nil)
41
+ @email = email
42
+ end
43
+ end
44
+ # Only return Checkout Sessions that were created during the given date interval.
45
+ attr_accessor :created
46
+
47
+ # Only return the Checkout Sessions for the Customer specified.
48
+ attr_accessor :customer
49
+
50
+ # Only return the Checkout Sessions for the Customer details specified.
51
+ attr_accessor :customer_details
52
+
53
+ # 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.
54
+ attr_accessor :ending_before
55
+
56
+ # Specifies which fields in the response should be expanded.
57
+ attr_accessor :expand
58
+
59
+ # A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
60
+ attr_accessor :limit
61
+
62
+ # Only return the Checkout Session for the PaymentIntent specified.
63
+ attr_accessor :payment_intent
64
+
65
+ # Only return the Checkout Sessions for the Payment Link specified.
66
+ attr_accessor :payment_link
67
+
68
+ # 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.
69
+ attr_accessor :starting_after
70
+
71
+ # Only return the Checkout Sessions matching the given status.
72
+ attr_accessor :status
73
+
74
+ # Only return the Checkout Session for the subscription specified.
75
+ attr_accessor :subscription
76
+
77
+ def initialize(
78
+ created: nil,
79
+ customer: nil,
80
+ customer_details: nil,
81
+ ending_before: nil,
82
+ expand: nil,
83
+ limit: nil,
84
+ payment_intent: nil,
85
+ payment_link: nil,
86
+ starting_after: nil,
87
+ status: nil,
88
+ subscription: nil
89
+ )
90
+ @created = created
91
+ @customer = customer
92
+ @customer_details = customer_details
93
+ @ending_before = ending_before
94
+ @expand = expand
95
+ @limit = limit
96
+ @payment_intent = payment_intent
97
+ @payment_link = payment_link
98
+ @starting_after = starting_after
99
+ @status = status
100
+ @subscription = subscription
101
+ end
102
+ end
103
+
104
+ class CreateParams < Stripe::RequestParams
105
+ class AdaptivePricing < Stripe::RequestParams
106
+ # Set to `true` to enable [Adaptive Pricing](https://docs.stripe.com/payments/checkout/adaptive-pricing). Defaults to your [dashboard setting](https://dashboard.stripe.com/settings/adaptive-pricing).
107
+ attr_accessor :enabled
108
+
109
+ def initialize(enabled: nil)
110
+ @enabled = enabled
111
+ end
112
+ end
113
+
114
+ class AfterExpiration < Stripe::RequestParams
115
+ class Recovery < Stripe::RequestParams
116
+ # Enables user redeemable promotion codes on the recovered Checkout Sessions. Defaults to `false`
117
+ attr_accessor :allow_promotion_codes
118
+
119
+ # If `true`, a recovery URL will be generated to recover this Checkout Session if it
120
+ # expires before a successful transaction is completed. It will be attached to the
121
+ # Checkout Session object upon expiration.
122
+ attr_accessor :enabled
123
+
124
+ def initialize(allow_promotion_codes: nil, enabled: nil)
125
+ @allow_promotion_codes = allow_promotion_codes
126
+ @enabled = enabled
127
+ end
128
+ end
129
+ # Configure a Checkout Session that can be used to recover an expired session.
130
+ attr_accessor :recovery
131
+
132
+ def initialize(recovery: nil)
133
+ @recovery = recovery
134
+ end
135
+ end
136
+
137
+ class AutomaticTax < Stripe::RequestParams
138
+ class Liability < Stripe::RequestParams
139
+ # The connected account being referenced when `type` is `account`.
140
+ attr_accessor :account
141
+
142
+ # Type of the account referenced in the request.
143
+ attr_accessor :type
144
+
145
+ def initialize(account: nil, type: nil)
146
+ @account = account
147
+ @type = type
148
+ end
149
+ end
150
+ # Set to `true` to [calculate tax automatically](https://docs.stripe.com/tax) using the customer's location.
151
+ #
152
+ # Enabling this parameter causes Checkout to collect any billing address information necessary for tax calculation.
153
+ attr_accessor :enabled
154
+
155
+ # The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account.
156
+ attr_accessor :liability
157
+
158
+ def initialize(enabled: nil, liability: nil)
159
+ @enabled = enabled
160
+ @liability = liability
161
+ end
162
+ end
163
+
164
+ class ConsentCollection < Stripe::RequestParams
165
+ class PaymentMethodReuseAgreement < Stripe::RequestParams
166
+ # Determines the position and visibility of the payment method reuse agreement in the UI. When set to `auto`, Stripe's
167
+ # defaults will be used. When set to `hidden`, the payment method reuse agreement text will always be hidden in the UI.
168
+ attr_accessor :position
169
+
170
+ def initialize(position: nil)
171
+ @position = position
172
+ end
173
+ end
174
+ # Determines the display of payment method reuse agreement text in the UI. If set to `hidden`, it will hide legal text related to the reuse of a payment method.
175
+ attr_accessor :payment_method_reuse_agreement
176
+
177
+ # If set to `auto`, enables the collection of customer consent for promotional communications. The Checkout
178
+ # Session will determine whether to display an option to opt into promotional communication
179
+ # from the merchant depending on the customer's locale. Only available to US merchants.
180
+ attr_accessor :promotions
181
+
182
+ # If set to `required`, it requires customers to check a terms of service checkbox before being able to pay.
183
+ # There must be a valid terms of service URL set in your [Dashboard settings](https://dashboard.stripe.com/settings/public).
184
+ attr_accessor :terms_of_service
185
+
186
+ def initialize(
187
+ payment_method_reuse_agreement: nil,
188
+ promotions: nil,
189
+ terms_of_service: nil
190
+ )
191
+ @payment_method_reuse_agreement = payment_method_reuse_agreement
192
+ @promotions = promotions
193
+ @terms_of_service = terms_of_service
194
+ end
195
+ end
196
+
197
+ class CustomField < Stripe::RequestParams
198
+ class Dropdown < Stripe::RequestParams
199
+ class Option < Stripe::RequestParams
200
+ # The label for the option, displayed to the customer. Up to 100 characters.
201
+ attr_accessor :label
202
+
203
+ # The value for this option, not displayed to the customer, used by your integration to reconcile the option selected by the customer. Must be unique to this option, alphanumeric, and up to 100 characters.
204
+ attr_accessor :value
205
+
206
+ def initialize(label: nil, value: nil)
207
+ @label = label
208
+ @value = value
209
+ end
210
+ end
211
+ # The value that will pre-fill the field on the payment page.Must match a `value` in the `options` array.
212
+ attr_accessor :default_value
213
+
214
+ # The options available for the customer to select. Up to 200 options allowed.
215
+ attr_accessor :options
216
+
217
+ def initialize(default_value: nil, options: nil)
218
+ @default_value = default_value
219
+ @options = options
220
+ end
221
+ end
222
+
223
+ class Label < Stripe::RequestParams
224
+ # Custom text for the label, displayed to the customer. Up to 50 characters.
225
+ attr_accessor :custom
226
+
227
+ # The type of the label.
228
+ attr_accessor :type
229
+
230
+ def initialize(custom: nil, type: nil)
231
+ @custom = custom
232
+ @type = type
233
+ end
234
+ end
235
+
236
+ class Numeric < Stripe::RequestParams
237
+ # The value that will pre-fill the field on the payment page.
238
+ attr_accessor :default_value
239
+
240
+ # The maximum character length constraint for the customer's input.
241
+ attr_accessor :maximum_length
242
+
243
+ # The minimum character length requirement for the customer's input.
244
+ attr_accessor :minimum_length
245
+
246
+ def initialize(default_value: nil, maximum_length: nil, minimum_length: nil)
247
+ @default_value = default_value
248
+ @maximum_length = maximum_length
249
+ @minimum_length = minimum_length
250
+ end
251
+ end
252
+
253
+ class Text < Stripe::RequestParams
254
+ # The value that will pre-fill the field on the payment page.
255
+ attr_accessor :default_value
256
+
257
+ # The maximum character length constraint for the customer's input.
258
+ attr_accessor :maximum_length
259
+
260
+ # The minimum character length requirement for the customer's input.
261
+ attr_accessor :minimum_length
262
+
263
+ def initialize(default_value: nil, maximum_length: nil, minimum_length: nil)
264
+ @default_value = default_value
265
+ @maximum_length = maximum_length
266
+ @minimum_length = minimum_length
267
+ end
268
+ end
269
+ # Configuration for `type=dropdown` fields.
270
+ attr_accessor :dropdown
271
+
272
+ # String of your choice that your integration can use to reconcile this field. Must be unique to this field, alphanumeric, and up to 200 characters.
273
+ attr_accessor :key
274
+
275
+ # The label for the field, displayed to the customer.
276
+ attr_accessor :label
277
+
278
+ # Configuration for `type=numeric` fields.
279
+ attr_accessor :numeric
280
+
281
+ # Whether the customer is required to complete the field before completing the Checkout Session. Defaults to `false`.
282
+ attr_accessor :optional
283
+
284
+ # Configuration for `type=text` fields.
285
+ attr_accessor :text
286
+
287
+ # The type of the field.
288
+ attr_accessor :type
289
+
290
+ def initialize(
291
+ dropdown: nil,
292
+ key: nil,
293
+ label: nil,
294
+ numeric: nil,
295
+ optional: nil,
296
+ text: nil,
297
+ type: nil
298
+ )
299
+ @dropdown = dropdown
300
+ @key = key
301
+ @label = label
302
+ @numeric = numeric
303
+ @optional = optional
304
+ @text = text
305
+ @type = type
306
+ end
307
+ end
308
+
309
+ class CustomText < Stripe::RequestParams
310
+ class AfterSubmit < Stripe::RequestParams
311
+ # Text may be up to 1200 characters in length.
312
+ attr_accessor :message
313
+
314
+ def initialize(message: nil)
315
+ @message = message
316
+ end
317
+ end
318
+
319
+ class ShippingAddress < Stripe::RequestParams
320
+ # Text may be up to 1200 characters in length.
321
+ attr_accessor :message
322
+
323
+ def initialize(message: nil)
324
+ @message = message
325
+ end
326
+ end
327
+
328
+ class Submit < Stripe::RequestParams
329
+ # Text may be up to 1200 characters in length.
330
+ attr_accessor :message
331
+
332
+ def initialize(message: nil)
333
+ @message = message
334
+ end
335
+ end
336
+
337
+ class TermsOfServiceAcceptance < Stripe::RequestParams
338
+ # Text may be up to 1200 characters in length.
339
+ attr_accessor :message
340
+
341
+ def initialize(message: nil)
342
+ @message = message
343
+ end
344
+ end
345
+ # Custom text that should be displayed after the payment confirmation button.
346
+ attr_accessor :after_submit
347
+
348
+ # Custom text that should be displayed alongside shipping address collection.
349
+ attr_accessor :shipping_address
350
+
351
+ # Custom text that should be displayed alongside the payment confirmation button.
352
+ attr_accessor :submit
353
+
354
+ # Custom text that should be displayed in place of the default terms of service agreement text.
355
+ attr_accessor :terms_of_service_acceptance
356
+
357
+ def initialize(
358
+ after_submit: nil,
359
+ shipping_address: nil,
360
+ submit: nil,
361
+ terms_of_service_acceptance: nil
362
+ )
363
+ @after_submit = after_submit
364
+ @shipping_address = shipping_address
365
+ @submit = submit
366
+ @terms_of_service_acceptance = terms_of_service_acceptance
367
+ end
368
+ end
369
+
370
+ class CustomerUpdate < Stripe::RequestParams
371
+ # Describes whether Checkout saves the billing address onto `customer.address`.
372
+ # To always collect a full billing address, use `billing_address_collection`. Defaults to `never`.
373
+ attr_accessor :address
374
+
375
+ # Describes whether Checkout saves the name onto `customer.name`. Defaults to `never`.
376
+ attr_accessor :name
377
+
378
+ # Describes whether Checkout saves shipping information onto `customer.shipping`.
379
+ # To collect shipping information, use `shipping_address_collection`. Defaults to `never`.
380
+ attr_accessor :shipping
381
+
382
+ def initialize(address: nil, name: nil, shipping: nil)
383
+ @address = address
384
+ @name = name
385
+ @shipping = shipping
386
+ end
387
+ end
388
+
389
+ class Discount < Stripe::RequestParams
390
+ # The ID of the coupon to apply to this Session.
391
+ attr_accessor :coupon
392
+
393
+ # The ID of a promotion code to apply to this Session.
394
+ attr_accessor :promotion_code
395
+
396
+ def initialize(coupon: nil, promotion_code: nil)
397
+ @coupon = coupon
398
+ @promotion_code = promotion_code
399
+ end
400
+ end
401
+
402
+ class InvoiceCreation < Stripe::RequestParams
403
+ class InvoiceData < Stripe::RequestParams
404
+ class CustomField < Stripe::RequestParams
405
+ # The name of the custom field. This may be up to 40 characters.
406
+ attr_accessor :name
407
+
408
+ # The value of the custom field. This may be up to 140 characters.
409
+ attr_accessor :value
410
+
411
+ def initialize(name: nil, value: nil)
412
+ @name = name
413
+ @value = value
414
+ end
415
+ end
416
+
417
+ class Issuer < Stripe::RequestParams
418
+ # The connected account being referenced when `type` is `account`.
419
+ attr_accessor :account
420
+
421
+ # Type of the account referenced in the request.
422
+ attr_accessor :type
423
+
424
+ def initialize(account: nil, type: nil)
425
+ @account = account
426
+ @type = type
427
+ end
428
+ end
429
+
430
+ class RenderingOptions < Stripe::RequestParams
431
+ # How line-item prices and amounts will be displayed with respect to tax on invoice PDFs. One of `exclude_tax` or `include_inclusive_tax`. `include_inclusive_tax` will include inclusive tax (and exclude exclusive tax) in invoice PDF amounts. `exclude_tax` will exclude all tax (inclusive and exclusive alike) from invoice PDF amounts.
432
+ attr_accessor :amount_tax_display
433
+
434
+ def initialize(amount_tax_display: nil)
435
+ @amount_tax_display = amount_tax_display
436
+ end
437
+ end
438
+ # The account tax IDs associated with the invoice.
439
+ attr_accessor :account_tax_ids
440
+
441
+ # Default custom fields to be displayed on invoices for this customer.
442
+ attr_accessor :custom_fields
443
+
444
+ # An arbitrary string attached to the object. Often useful for displaying to users.
445
+ attr_accessor :description
446
+
447
+ # Default footer to be displayed on invoices for this customer.
448
+ attr_accessor :footer
449
+
450
+ # The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.
451
+ attr_accessor :issuer
452
+
453
+ # 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`.
454
+ attr_accessor :metadata
455
+
456
+ # Default options for invoice PDF rendering for this customer.
457
+ attr_accessor :rendering_options
458
+
459
+ def initialize(
460
+ account_tax_ids: nil,
461
+ custom_fields: nil,
462
+ description: nil,
463
+ footer: nil,
464
+ issuer: nil,
465
+ metadata: nil,
466
+ rendering_options: nil
467
+ )
468
+ @account_tax_ids = account_tax_ids
469
+ @custom_fields = custom_fields
470
+ @description = description
471
+ @footer = footer
472
+ @issuer = issuer
473
+ @metadata = metadata
474
+ @rendering_options = rendering_options
475
+ end
476
+ end
477
+ # Set to `true` to enable invoice creation.
478
+ attr_accessor :enabled
479
+
480
+ # Parameters passed when creating invoices for payment-mode Checkout Sessions.
481
+ attr_accessor :invoice_data
482
+
483
+ def initialize(enabled: nil, invoice_data: nil)
484
+ @enabled = enabled
485
+ @invoice_data = invoice_data
486
+ end
487
+ end
488
+
489
+ class LineItem < Stripe::RequestParams
490
+ class AdjustableQuantity < Stripe::RequestParams
491
+ # Set to true if the quantity can be adjusted to any non-negative integer.
492
+ attr_accessor :enabled
493
+
494
+ # The maximum quantity the customer can purchase for the Checkout Session. By default this value is 99. You can specify a value up to 999999.
495
+ attr_accessor :maximum
496
+
497
+ # The minimum quantity the customer must purchase for the Checkout Session. By default this value is 0.
498
+ attr_accessor :minimum
499
+
500
+ def initialize(enabled: nil, maximum: nil, minimum: nil)
501
+ @enabled = enabled
502
+ @maximum = maximum
503
+ @minimum = minimum
504
+ end
505
+ end
506
+
507
+ class PriceData < Stripe::RequestParams
508
+ class ProductData < Stripe::RequestParams
509
+ # The product's description, meant to be displayable to the customer. Use this field to optionally store a long form explanation of the product being sold for your own rendering purposes.
510
+ attr_accessor :description
511
+
512
+ # A list of up to 8 URLs of images for this product, meant to be displayable to the customer.
513
+ attr_accessor :images
514
+
515
+ # 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`.
516
+ attr_accessor :metadata
517
+
518
+ # The product's name, meant to be displayable to the customer.
519
+ attr_accessor :name
520
+
521
+ # A [tax code](https://stripe.com/docs/tax/tax-categories) ID.
522
+ attr_accessor :tax_code
523
+
524
+ def initialize(description: nil, images: nil, metadata: nil, name: nil, tax_code: nil)
525
+ @description = description
526
+ @images = images
527
+ @metadata = metadata
528
+ @name = name
529
+ @tax_code = tax_code
530
+ end
531
+ end
532
+
533
+ class Recurring < Stripe::RequestParams
534
+ # Specifies billing frequency. Either `day`, `week`, `month` or `year`.
535
+ attr_accessor :interval
536
+
537
+ # The number of intervals between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of three years interval allowed (3 years, 36 months, or 156 weeks).
538
+ attr_accessor :interval_count
539
+
540
+ def initialize(interval: nil, interval_count: nil)
541
+ @interval = interval
542
+ @interval_count = interval_count
543
+ end
544
+ end
545
+ # 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).
546
+ attr_accessor :currency
547
+
548
+ # The ID of the product that this price will belong to. One of `product` or `product_data` is required.
549
+ attr_accessor :product
550
+
551
+ # Data used to generate a new product object inline. One of `product` or `product_data` is required.
552
+ attr_accessor :product_data
553
+
554
+ # The recurring components of a price such as `interval` and `interval_count`.
555
+ attr_accessor :recurring
556
+
557
+ # Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed.
558
+ attr_accessor :tax_behavior
559
+
560
+ # A non-negative integer in cents (or local equivalent) representing how much to charge. One of `unit_amount` or `unit_amount_decimal` is required.
561
+ attr_accessor :unit_amount
562
+
563
+ # Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set.
564
+ attr_accessor :unit_amount_decimal
565
+
566
+ def initialize(
567
+ currency: nil,
568
+ product: nil,
569
+ product_data: nil,
570
+ recurring: nil,
571
+ tax_behavior: nil,
572
+ unit_amount: nil,
573
+ unit_amount_decimal: nil
574
+ )
575
+ @currency = currency
576
+ @product = product
577
+ @product_data = product_data
578
+ @recurring = recurring
579
+ @tax_behavior = tax_behavior
580
+ @unit_amount = unit_amount
581
+ @unit_amount_decimal = unit_amount_decimal
582
+ end
583
+ end
584
+ # When set, provides configuration for this item’s quantity to be adjusted by the customer during Checkout.
585
+ attr_accessor :adjustable_quantity
586
+
587
+ # The [tax rates](https://stripe.com/docs/api/tax_rates) that will be applied to this line item depending on the customer's billing/shipping address. We currently support the following countries: US, GB, AU, and all countries in the EU.
588
+ attr_accessor :dynamic_tax_rates
589
+
590
+ # 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`.
591
+ attr_accessor :metadata
592
+
593
+ # The ID of the [Price](https://stripe.com/docs/api/prices) or [Plan](https://stripe.com/docs/api/plans) object. One of `price` or `price_data` is required.
594
+ attr_accessor :price
595
+
596
+ # Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required.
597
+ attr_accessor :price_data
598
+
599
+ # The quantity of the line item being purchased. Quantity should not be defined when `recurring.usage_type=metered`.
600
+ attr_accessor :quantity
601
+
602
+ # The [tax rates](https://stripe.com/docs/api/tax_rates) which apply to this line item.
603
+ attr_accessor :tax_rates
604
+
605
+ def initialize(
606
+ adjustable_quantity: nil,
607
+ dynamic_tax_rates: nil,
608
+ metadata: nil,
609
+ price: nil,
610
+ price_data: nil,
611
+ quantity: nil,
612
+ tax_rates: nil
613
+ )
614
+ @adjustable_quantity = adjustable_quantity
615
+ @dynamic_tax_rates = dynamic_tax_rates
616
+ @metadata = metadata
617
+ @price = price
618
+ @price_data = price_data
619
+ @quantity = quantity
620
+ @tax_rates = tax_rates
621
+ end
622
+ end
623
+
624
+ class PaymentIntentData < Stripe::RequestParams
625
+ class Shipping < Stripe::RequestParams
626
+ class Address < Stripe::RequestParams
627
+ # City, district, suburb, town, or village.
628
+ attr_accessor :city
629
+
630
+ # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
631
+ attr_accessor :country
632
+
633
+ # Address line 1 (e.g., street, PO Box, or company name).
634
+ attr_accessor :line1
635
+
636
+ # Address line 2 (e.g., apartment, suite, unit, or building).
637
+ attr_accessor :line2
638
+
639
+ # ZIP or postal code.
640
+ attr_accessor :postal_code
641
+
642
+ # State, county, province, or region.
643
+ attr_accessor :state
644
+
645
+ def initialize(
646
+ city: nil,
647
+ country: nil,
648
+ line1: nil,
649
+ line2: nil,
650
+ postal_code: nil,
651
+ state: nil
652
+ )
653
+ @city = city
654
+ @country = country
655
+ @line1 = line1
656
+ @line2 = line2
657
+ @postal_code = postal_code
658
+ @state = state
659
+ end
660
+ end
661
+ # Shipping address.
662
+ attr_accessor :address
663
+
664
+ # The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc.
665
+ attr_accessor :carrier
666
+
667
+ # Recipient name.
668
+ attr_accessor :name
669
+
670
+ # Recipient phone (including extension).
671
+ attr_accessor :phone
672
+
673
+ # The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas.
674
+ attr_accessor :tracking_number
675
+
676
+ def initialize(address: nil, carrier: nil, name: nil, phone: nil, tracking_number: nil)
677
+ @address = address
678
+ @carrier = carrier
679
+ @name = name
680
+ @phone = phone
681
+ @tracking_number = tracking_number
682
+ end
683
+ end
684
+
685
+ class TransferData < Stripe::RequestParams
686
+ # The amount that will be transferred automatically when a charge succeeds.
687
+ attr_accessor :amount
688
+
689
+ # If specified, successful charges will be attributed to the destination
690
+ # account for tax reporting, and the funds from charges will be transferred
691
+ # to the destination account. The ID of the resulting transfer will be
692
+ # returned on the successful charge's `transfer` field.
693
+ attr_accessor :destination
694
+
695
+ def initialize(amount: nil, destination: nil)
696
+ @amount = amount
697
+ @destination = destination
698
+ end
699
+ end
700
+ # The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts).
701
+ attr_accessor :application_fee_amount
702
+
703
+ # Controls when the funds will be captured from the customer's account.
704
+ attr_accessor :capture_method
705
+
706
+ # An arbitrary string attached to the object. Often useful for displaying to users.
707
+ attr_accessor :description
708
+
709
+ # 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`.
710
+ attr_accessor :metadata
711
+
712
+ # The Stripe account ID for which these funds are intended. For details,
713
+ # see the PaymentIntents [use case for connected
714
+ # accounts](/docs/payments/connected-accounts).
715
+ attr_accessor :on_behalf_of
716
+
717
+ # Email address that the receipt for the resulting payment will be sent to. If `receipt_email` is specified for a payment in live mode, a receipt will be sent regardless of your [email settings](https://dashboard.stripe.com/account/emails).
718
+ attr_accessor :receipt_email
719
+
720
+ # Indicates that you intend to [make future payments](https://stripe.com/docs/payments/payment-intents#future-usage) with the payment
721
+ # method collected by this Checkout Session.
722
+ #
723
+ # When setting this to `on_session`, Checkout will show a notice to the
724
+ # customer that their payment details will be saved.
725
+ #
726
+ # When setting this to `off_session`, Checkout will show a notice to the
727
+ # customer that their payment details will be saved and used for future
728
+ # payments.
729
+ #
730
+ # If a Customer has been provided or Checkout creates a new Customer,
731
+ # Checkout will attach the payment method to the Customer.
732
+ #
733
+ # If Checkout does not create a Customer, the payment method is not attached
734
+ # to a Customer. To reuse the payment method, you can retrieve it from the
735
+ # Checkout Session's PaymentIntent.
736
+ #
737
+ # When processing card payments, Checkout also uses `setup_future_usage`
738
+ # to dynamically optimize your payment flow and comply with regional
739
+ # legislation and network rules, such as SCA.
740
+ attr_accessor :setup_future_usage
741
+
742
+ # Shipping information for this payment.
743
+ attr_accessor :shipping
744
+
745
+ # Text that appears on the customer's statement as the statement descriptor for a non-card charge. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors).
746
+ #
747
+ # Setting this value for a card charge returns an error. For card charges, set the [statement_descriptor_suffix](https://docs.stripe.com/get-started/account/statement-descriptors#dynamic) instead.
748
+ attr_accessor :statement_descriptor
749
+
750
+ # Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement.
751
+ attr_accessor :statement_descriptor_suffix
752
+
753
+ # The parameters used to automatically create a Transfer when the payment succeeds.
754
+ # For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts).
755
+ attr_accessor :transfer_data
756
+
757
+ # A string that identifies the resulting payment as part of a group. See the PaymentIntents [use case for connected accounts](https://stripe.com/docs/connect/separate-charges-and-transfers) for details.
758
+ attr_accessor :transfer_group
759
+
760
+ def initialize(
761
+ application_fee_amount: nil,
762
+ capture_method: nil,
763
+ description: nil,
764
+ metadata: nil,
765
+ on_behalf_of: nil,
766
+ receipt_email: nil,
767
+ setup_future_usage: nil,
768
+ shipping: nil,
769
+ statement_descriptor: nil,
770
+ statement_descriptor_suffix: nil,
771
+ transfer_data: nil,
772
+ transfer_group: nil
773
+ )
774
+ @application_fee_amount = application_fee_amount
775
+ @capture_method = capture_method
776
+ @description = description
777
+ @metadata = metadata
778
+ @on_behalf_of = on_behalf_of
779
+ @receipt_email = receipt_email
780
+ @setup_future_usage = setup_future_usage
781
+ @shipping = shipping
782
+ @statement_descriptor = statement_descriptor
783
+ @statement_descriptor_suffix = statement_descriptor_suffix
784
+ @transfer_data = transfer_data
785
+ @transfer_group = transfer_group
786
+ end
787
+ end
788
+
789
+ class PaymentMethodData < Stripe::RequestParams
790
+ # Allow redisplay will be set on the payment method on confirmation and indicates whether this payment method can be shown again to the customer in a checkout flow. Only set this field if you wish to override the allow_redisplay value determined by Checkout.
791
+ attr_accessor :allow_redisplay
792
+
793
+ def initialize(allow_redisplay: nil)
794
+ @allow_redisplay = allow_redisplay
795
+ end
796
+ end
797
+
798
+ class PaymentMethodOptions < Stripe::RequestParams
799
+ class AcssDebit < Stripe::RequestParams
800
+ class MandateOptions < Stripe::RequestParams
801
+ # A URL for custom mandate text to render during confirmation step.
802
+ # The URL will be rendered with additional GET parameters `payment_intent` and `payment_intent_client_secret` when confirming a Payment Intent,
803
+ # or `setup_intent` and `setup_intent_client_secret` when confirming a Setup Intent.
804
+ attr_accessor :custom_mandate_url
805
+
806
+ # List of Stripe products where this mandate can be selected automatically. Only usable in `setup` mode.
807
+ attr_accessor :default_for
808
+
809
+ # Description of the mandate interval. Only required if 'payment_schedule' parameter is 'interval' or 'combined'.
810
+ attr_accessor :interval_description
811
+
812
+ # Payment schedule for the mandate.
813
+ attr_accessor :payment_schedule
814
+
815
+ # Transaction type of the mandate.
816
+ attr_accessor :transaction_type
817
+
818
+ def initialize(
819
+ custom_mandate_url: nil,
820
+ default_for: nil,
821
+ interval_description: nil,
822
+ payment_schedule: nil,
823
+ transaction_type: nil
824
+ )
825
+ @custom_mandate_url = custom_mandate_url
826
+ @default_for = default_for
827
+ @interval_description = interval_description
828
+ @payment_schedule = payment_schedule
829
+ @transaction_type = transaction_type
830
+ end
831
+ end
832
+ # 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). This is only accepted for Checkout Sessions in `setup` mode.
833
+ attr_accessor :currency
834
+
835
+ # Additional fields for Mandate creation
836
+ attr_accessor :mandate_options
837
+
838
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
839
+ #
840
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
841
+ #
842
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
843
+ #
844
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
845
+ attr_accessor :setup_future_usage
846
+
847
+ # Verification method for the intent
848
+ attr_accessor :verification_method
849
+
850
+ def initialize(
851
+ currency: nil,
852
+ mandate_options: nil,
853
+ setup_future_usage: nil,
854
+ verification_method: nil
855
+ )
856
+ @currency = currency
857
+ @mandate_options = mandate_options
858
+ @setup_future_usage = setup_future_usage
859
+ @verification_method = verification_method
860
+ end
861
+ end
862
+
863
+ class Affirm < Stripe::RequestParams
864
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
865
+ #
866
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
867
+ #
868
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
869
+ #
870
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
871
+ attr_accessor :setup_future_usage
872
+
873
+ def initialize(setup_future_usage: nil)
874
+ @setup_future_usage = setup_future_usage
875
+ end
876
+ end
877
+
878
+ class AfterpayClearpay < Stripe::RequestParams
879
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
880
+ #
881
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
882
+ #
883
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
884
+ #
885
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
886
+ attr_accessor :setup_future_usage
887
+
888
+ def initialize(setup_future_usage: nil)
889
+ @setup_future_usage = setup_future_usage
890
+ end
891
+ end
892
+
893
+ class Alipay < Stripe::RequestParams
894
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
895
+ #
896
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
897
+ #
898
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
899
+ #
900
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
901
+ attr_accessor :setup_future_usage
902
+
903
+ def initialize(setup_future_usage: nil)
904
+ @setup_future_usage = setup_future_usage
905
+ end
906
+ end
907
+
908
+ class AmazonPay < Stripe::RequestParams
909
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
910
+ #
911
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
912
+ #
913
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
914
+ #
915
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
916
+ attr_accessor :setup_future_usage
917
+
918
+ def initialize(setup_future_usage: nil)
919
+ @setup_future_usage = setup_future_usage
920
+ end
921
+ end
922
+
923
+ class AuBecsDebit < Stripe::RequestParams
924
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
925
+ #
926
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
927
+ #
928
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
929
+ #
930
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
931
+ attr_accessor :setup_future_usage
932
+
933
+ def initialize(setup_future_usage: nil)
934
+ @setup_future_usage = setup_future_usage
935
+ end
936
+ end
937
+
938
+ class BacsDebit < Stripe::RequestParams
939
+ class MandateOptions < Stripe::RequestParams
940
+ # 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'.
941
+ attr_accessor :reference_prefix
942
+
943
+ def initialize(reference_prefix: nil)
944
+ @reference_prefix = reference_prefix
945
+ end
946
+ end
947
+ # Additional fields for Mandate creation
948
+ attr_accessor :mandate_options
949
+
950
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
951
+ #
952
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
953
+ #
954
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
955
+ #
956
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
957
+ attr_accessor :setup_future_usage
958
+
959
+ def initialize(mandate_options: nil, setup_future_usage: nil)
960
+ @mandate_options = mandate_options
961
+ @setup_future_usage = setup_future_usage
962
+ end
963
+ end
964
+
965
+ class Bancontact < Stripe::RequestParams
966
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
967
+ #
968
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
969
+ #
970
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
971
+ #
972
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
973
+ attr_accessor :setup_future_usage
974
+
975
+ def initialize(setup_future_usage: nil)
976
+ @setup_future_usage = setup_future_usage
977
+ end
978
+ end
979
+
980
+ class Boleto < Stripe::RequestParams
981
+ # The number of calendar days before a Boleto voucher expires. For example, if you create a Boleto voucher on Monday and you set expires_after_days to 2, the Boleto invoice will expire on Wednesday at 23:59 America/Sao_Paulo time.
982
+ attr_accessor :expires_after_days
983
+
984
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
985
+ #
986
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
987
+ #
988
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
989
+ #
990
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
991
+ attr_accessor :setup_future_usage
992
+
993
+ def initialize(expires_after_days: nil, setup_future_usage: nil)
994
+ @expires_after_days = expires_after_days
995
+ @setup_future_usage = setup_future_usage
996
+ end
997
+ end
998
+
999
+ class Card < Stripe::RequestParams
1000
+ class Installments < Stripe::RequestParams
1001
+ # Setting to true enables installments for this Checkout Session.
1002
+ # Setting to false will prevent any installment plan from applying to a payment.
1003
+ attr_accessor :enabled
1004
+
1005
+ def initialize(enabled: nil)
1006
+ @enabled = enabled
1007
+ end
1008
+ end
1009
+ # Installment options for card payments
1010
+ attr_accessor :installments
1011
+
1012
+ # Request ability to [capture beyond the standard authorization validity window](/payments/extended-authorization) for this CheckoutSession.
1013
+ attr_accessor :request_decremental_authorization
1014
+
1015
+ # Request ability to [capture beyond the standard authorization validity window](/payments/extended-authorization) for this CheckoutSession.
1016
+ attr_accessor :request_extended_authorization
1017
+
1018
+ # Request ability to [increment the authorization](/payments/incremental-authorization) for this CheckoutSession.
1019
+ attr_accessor :request_incremental_authorization
1020
+
1021
+ # Request ability to make [multiple captures](/payments/multicapture) for this CheckoutSession.
1022
+ attr_accessor :request_multicapture
1023
+
1024
+ # Request ability to [overcapture](/payments/overcapture) for this CheckoutSession.
1025
+ attr_accessor :request_overcapture
1026
+
1027
+ # 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.
1028
+ attr_accessor :request_three_d_secure
1029
+
1030
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1031
+ #
1032
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
1033
+ #
1034
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1035
+ #
1036
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1037
+ attr_accessor :setup_future_usage
1038
+
1039
+ # Provides information about a card payment that customers see on their statements. Concatenated with the Kana prefix (shortened Kana descriptor) or Kana statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 22 characters.
1040
+ attr_accessor :statement_descriptor_suffix_kana
1041
+
1042
+ # Provides information about a card payment that customers see on their statements. Concatenated with the Kanji prefix (shortened Kanji descriptor) or Kanji statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 17 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 17 characters.
1043
+ attr_accessor :statement_descriptor_suffix_kanji
1044
+
1045
+ def initialize(
1046
+ installments: nil,
1047
+ request_decremental_authorization: nil,
1048
+ request_extended_authorization: nil,
1049
+ request_incremental_authorization: nil,
1050
+ request_multicapture: nil,
1051
+ request_overcapture: nil,
1052
+ request_three_d_secure: nil,
1053
+ setup_future_usage: nil,
1054
+ statement_descriptor_suffix_kana: nil,
1055
+ statement_descriptor_suffix_kanji: nil
1056
+ )
1057
+ @installments = installments
1058
+ @request_decremental_authorization = request_decremental_authorization
1059
+ @request_extended_authorization = request_extended_authorization
1060
+ @request_incremental_authorization = request_incremental_authorization
1061
+ @request_multicapture = request_multicapture
1062
+ @request_overcapture = request_overcapture
1063
+ @request_three_d_secure = request_three_d_secure
1064
+ @setup_future_usage = setup_future_usage
1065
+ @statement_descriptor_suffix_kana = statement_descriptor_suffix_kana
1066
+ @statement_descriptor_suffix_kanji = statement_descriptor_suffix_kanji
1067
+ end
1068
+ end
1069
+
1070
+ class Cashapp < Stripe::RequestParams
1071
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1072
+ #
1073
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
1074
+ #
1075
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1076
+ #
1077
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1078
+ attr_accessor :setup_future_usage
1079
+
1080
+ def initialize(setup_future_usage: nil)
1081
+ @setup_future_usage = setup_future_usage
1082
+ end
1083
+ end
1084
+
1085
+ class CustomerBalance < Stripe::RequestParams
1086
+ class BankTransfer < Stripe::RequestParams
1087
+ class EuBankTransfer < Stripe::RequestParams
1088
+ # The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`.
1089
+ attr_accessor :country
1090
+
1091
+ def initialize(country: nil)
1092
+ @country = country
1093
+ end
1094
+ end
1095
+ # Configuration for eu_bank_transfer funding type.
1096
+ attr_accessor :eu_bank_transfer
1097
+
1098
+ # List of address types that should be returned in the financial_addresses response. If not specified, all valid types will be returned.
1099
+ #
1100
+ # Permitted values include: `sort_code`, `zengin`, `iban`, or `spei`.
1101
+ attr_accessor :requested_address_types
1102
+
1103
+ # The list of bank transfer types that this PaymentIntent is allowed to use for funding.
1104
+ attr_accessor :type
1105
+
1106
+ def initialize(eu_bank_transfer: nil, requested_address_types: nil, type: nil)
1107
+ @eu_bank_transfer = eu_bank_transfer
1108
+ @requested_address_types = requested_address_types
1109
+ @type = type
1110
+ end
1111
+ end
1112
+ # Configuration for the bank transfer funding type, if the `funding_type` is set to `bank_transfer`.
1113
+ attr_accessor :bank_transfer
1114
+
1115
+ # The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`.
1116
+ attr_accessor :funding_type
1117
+
1118
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1119
+ #
1120
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
1121
+ #
1122
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1123
+ #
1124
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1125
+ attr_accessor :setup_future_usage
1126
+
1127
+ def initialize(bank_transfer: nil, funding_type: nil, setup_future_usage: nil)
1128
+ @bank_transfer = bank_transfer
1129
+ @funding_type = funding_type
1130
+ @setup_future_usage = setup_future_usage
1131
+ end
1132
+ end
1133
+
1134
+ class Eps < Stripe::RequestParams
1135
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1136
+ #
1137
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
1138
+ #
1139
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1140
+ #
1141
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1142
+ attr_accessor :setup_future_usage
1143
+
1144
+ def initialize(setup_future_usage: nil)
1145
+ @setup_future_usage = setup_future_usage
1146
+ end
1147
+ end
1148
+
1149
+ class Fpx < Stripe::RequestParams
1150
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1151
+ #
1152
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
1153
+ #
1154
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1155
+ #
1156
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1157
+ attr_accessor :setup_future_usage
1158
+
1159
+ def initialize(setup_future_usage: nil)
1160
+ @setup_future_usage = setup_future_usage
1161
+ end
1162
+ end
1163
+
1164
+ class Giropay < Stripe::RequestParams
1165
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1166
+ #
1167
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
1168
+ #
1169
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1170
+ #
1171
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1172
+ attr_accessor :setup_future_usage
1173
+
1174
+ def initialize(setup_future_usage: nil)
1175
+ @setup_future_usage = setup_future_usage
1176
+ end
1177
+ end
1178
+
1179
+ class Grabpay < Stripe::RequestParams
1180
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1181
+ #
1182
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
1183
+ #
1184
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1185
+ #
1186
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1187
+ attr_accessor :setup_future_usage
1188
+
1189
+ def initialize(setup_future_usage: nil)
1190
+ @setup_future_usage = setup_future_usage
1191
+ end
1192
+ end
1193
+
1194
+ class Ideal < Stripe::RequestParams
1195
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1196
+ #
1197
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
1198
+ #
1199
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1200
+ #
1201
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1202
+ attr_accessor :setup_future_usage
1203
+
1204
+ def initialize(setup_future_usage: nil)
1205
+ @setup_future_usage = setup_future_usage
1206
+ end
1207
+ end
1208
+
1209
+ class KakaoPay < Stripe::RequestParams
1210
+ # Controls when the funds will be captured from the customer's account.
1211
+ attr_accessor :capture_method
1212
+
1213
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1214
+ #
1215
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
1216
+ #
1217
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1218
+ #
1219
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1220
+ attr_accessor :setup_future_usage
1221
+
1222
+ def initialize(capture_method: nil, setup_future_usage: nil)
1223
+ @capture_method = capture_method
1224
+ @setup_future_usage = setup_future_usage
1225
+ end
1226
+ end
1227
+
1228
+ class Klarna < Stripe::RequestParams
1229
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1230
+ #
1231
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
1232
+ #
1233
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1234
+ #
1235
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1236
+ attr_accessor :setup_future_usage
1237
+
1238
+ def initialize(setup_future_usage: nil)
1239
+ @setup_future_usage = setup_future_usage
1240
+ end
1241
+ end
1242
+
1243
+ class Konbini < Stripe::RequestParams
1244
+ # The number of calendar days (between 1 and 60) after which Konbini payment instructions will expire. For example, if a PaymentIntent is confirmed with Konbini and `expires_after_days` set to 2 on Monday JST, the instructions will expire on Wednesday 23:59:59 JST. Defaults to 3 days.
1245
+ attr_accessor :expires_after_days
1246
+
1247
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1248
+ #
1249
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
1250
+ #
1251
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1252
+ #
1253
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1254
+ attr_accessor :setup_future_usage
1255
+
1256
+ def initialize(expires_after_days: nil, setup_future_usage: nil)
1257
+ @expires_after_days = expires_after_days
1258
+ @setup_future_usage = setup_future_usage
1259
+ end
1260
+ end
1261
+
1262
+ class KrCard < Stripe::RequestParams
1263
+ # Controls when the funds will be captured from the customer's account.
1264
+ attr_accessor :capture_method
1265
+
1266
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1267
+ #
1268
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
1269
+ #
1270
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1271
+ #
1272
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1273
+ attr_accessor :setup_future_usage
1274
+
1275
+ def initialize(capture_method: nil, setup_future_usage: nil)
1276
+ @capture_method = capture_method
1277
+ @setup_future_usage = setup_future_usage
1278
+ end
1279
+ end
1280
+
1281
+ class Link < Stripe::RequestParams
1282
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1283
+ #
1284
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
1285
+ #
1286
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1287
+ #
1288
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1289
+ attr_accessor :setup_future_usage
1290
+
1291
+ def initialize(setup_future_usage: nil)
1292
+ @setup_future_usage = setup_future_usage
1293
+ end
1294
+ end
1295
+
1296
+ class Mobilepay < Stripe::RequestParams
1297
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1298
+ #
1299
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
1300
+ #
1301
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1302
+ #
1303
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1304
+ attr_accessor :setup_future_usage
1305
+
1306
+ def initialize(setup_future_usage: nil)
1307
+ @setup_future_usage = setup_future_usage
1308
+ end
1309
+ end
1310
+
1311
+ class Multibanco < Stripe::RequestParams
1312
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1313
+ #
1314
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
1315
+ #
1316
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1317
+ #
1318
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1319
+ attr_accessor :setup_future_usage
1320
+
1321
+ def initialize(setup_future_usage: nil)
1322
+ @setup_future_usage = setup_future_usage
1323
+ end
1324
+ end
1325
+
1326
+ class NaverPay < Stripe::RequestParams
1327
+ # Controls when the funds will be captured from the customer's account.
1328
+ attr_accessor :capture_method
1329
+
1330
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1331
+ #
1332
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
1333
+ #
1334
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1335
+ #
1336
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1337
+ attr_accessor :setup_future_usage
1338
+
1339
+ def initialize(capture_method: nil, setup_future_usage: nil)
1340
+ @capture_method = capture_method
1341
+ @setup_future_usage = setup_future_usage
1342
+ end
1343
+ end
1344
+
1345
+ class Oxxo < Stripe::RequestParams
1346
+ # The number of calendar days before an OXXO voucher expires. For example, if you create an OXXO voucher on Monday and you set expires_after_days to 2, the OXXO invoice will expire on Wednesday at 23:59 America/Mexico_City time.
1347
+ attr_accessor :expires_after_days
1348
+
1349
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1350
+ #
1351
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
1352
+ #
1353
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1354
+ #
1355
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1356
+ attr_accessor :setup_future_usage
1357
+
1358
+ def initialize(expires_after_days: nil, setup_future_usage: nil)
1359
+ @expires_after_days = expires_after_days
1360
+ @setup_future_usage = setup_future_usage
1361
+ end
1362
+ end
1363
+
1364
+ class P24 < Stripe::RequestParams
1365
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1366
+ #
1367
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
1368
+ #
1369
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1370
+ #
1371
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1372
+ attr_accessor :setup_future_usage
1373
+
1374
+ # Confirm that the payer has accepted the P24 terms and conditions.
1375
+ attr_accessor :tos_shown_and_accepted
1376
+
1377
+ def initialize(setup_future_usage: nil, tos_shown_and_accepted: nil)
1378
+ @setup_future_usage = setup_future_usage
1379
+ @tos_shown_and_accepted = tos_shown_and_accepted
1380
+ end
1381
+ end
1382
+
1383
+ class Payco < Stripe::RequestParams
1384
+ # Controls when the funds will be captured from the customer's account.
1385
+ attr_accessor :capture_method
1386
+
1387
+ def initialize(capture_method: nil)
1388
+ @capture_method = capture_method
1389
+ end
1390
+ end
1391
+
1392
+ class Paynow < Stripe::RequestParams
1393
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1394
+ #
1395
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
1396
+ #
1397
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1398
+ #
1399
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1400
+ attr_accessor :setup_future_usage
1401
+
1402
+ def initialize(setup_future_usage: nil)
1403
+ @setup_future_usage = setup_future_usage
1404
+ end
1405
+ end
1406
+
1407
+ class Paypal < Stripe::RequestParams
1408
+ # Controls when the funds will be captured from the customer's account.
1409
+ attr_accessor :capture_method
1410
+
1411
+ # [Preferred locale](https://stripe.com/docs/payments/paypal/supported-locales) of the PayPal checkout page that the customer is redirected to.
1412
+ attr_accessor :preferred_locale
1413
+
1414
+ # A reference of the PayPal transaction visible to customer which is mapped to PayPal's invoice ID. This must be a globally unique ID if you have configured in your PayPal settings to block multiple payments per invoice ID.
1415
+ attr_accessor :reference
1416
+
1417
+ # A reference of the PayPal transaction visible to customer which is mapped to PayPal's invoice ID. This must be a globally unique ID if you have configured in your PayPal settings to block multiple payments per invoice ID.
1418
+ attr_accessor :reference_id
1419
+
1420
+ # The risk correlation ID for an on-session payment using a saved PayPal payment method.
1421
+ attr_accessor :risk_correlation_id
1422
+
1423
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1424
+ #
1425
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
1426
+ #
1427
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1428
+ #
1429
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1430
+ #
1431
+ # If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`.
1432
+ attr_accessor :setup_future_usage
1433
+
1434
+ # 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.
1435
+ attr_accessor :subsellers
1436
+
1437
+ def initialize(
1438
+ capture_method: nil,
1439
+ preferred_locale: nil,
1440
+ reference: nil,
1441
+ reference_id: nil,
1442
+ risk_correlation_id: nil,
1443
+ setup_future_usage: nil,
1444
+ subsellers: nil
1445
+ )
1446
+ @capture_method = capture_method
1447
+ @preferred_locale = preferred_locale
1448
+ @reference = reference
1449
+ @reference_id = reference_id
1450
+ @risk_correlation_id = risk_correlation_id
1451
+ @setup_future_usage = setup_future_usage
1452
+ @subsellers = subsellers
1453
+ end
1454
+ end
1455
+
1456
+ class Payto < Stripe::RequestParams
1457
+ class MandateOptions < Stripe::RequestParams
1458
+ # Amount that will be collected. It is required when `amount_type` is `fixed`.
1459
+ attr_accessor :amount
1460
+
1461
+ # 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.
1462
+ attr_accessor :amount_type
1463
+
1464
+ # Date, in YYYY-MM-DD format, after which payments will not be collected. Defaults to no end date.
1465
+ attr_accessor :end_date
1466
+
1467
+ # The periodicity at which payments will be collected.
1468
+ attr_accessor :payment_schedule
1469
+
1470
+ # 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.
1471
+ attr_accessor :payments_per_period
1472
+
1473
+ # The purpose for which payments are made. Defaults to retail.
1474
+ attr_accessor :purpose
1475
+
1476
+ # Date, in YYYY-MM-DD format, from which payments will be collected. Defaults to confirmation time.
1477
+ attr_accessor :start_date
1478
+
1479
+ def initialize(
1480
+ amount: nil,
1481
+ amount_type: nil,
1482
+ end_date: nil,
1483
+ payment_schedule: nil,
1484
+ payments_per_period: nil,
1485
+ purpose: nil,
1486
+ start_date: nil
1487
+ )
1488
+ @amount = amount
1489
+ @amount_type = amount_type
1490
+ @end_date = end_date
1491
+ @payment_schedule = payment_schedule
1492
+ @payments_per_period = payments_per_period
1493
+ @purpose = purpose
1494
+ @start_date = start_date
1495
+ end
1496
+ end
1497
+ # Additional fields for Mandate creation
1498
+ attr_accessor :mandate_options
1499
+
1500
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1501
+ #
1502
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
1503
+ #
1504
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1505
+ #
1506
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1507
+ attr_accessor :setup_future_usage
1508
+
1509
+ def initialize(mandate_options: nil, setup_future_usage: nil)
1510
+ @mandate_options = mandate_options
1511
+ @setup_future_usage = setup_future_usage
1512
+ end
1513
+ end
1514
+
1515
+ class Pix < Stripe::RequestParams
1516
+ # The number of seconds (between 10 and 1209600) after which Pix payment will expire. Defaults to 86400 seconds.
1517
+ attr_accessor :expires_after_seconds
1518
+
1519
+ def initialize(expires_after_seconds: nil)
1520
+ @expires_after_seconds = expires_after_seconds
1521
+ end
1522
+ end
1523
+
1524
+ class RevolutPay < Stripe::RequestParams
1525
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1526
+ #
1527
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
1528
+ #
1529
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1530
+ #
1531
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1532
+ attr_accessor :setup_future_usage
1533
+
1534
+ def initialize(setup_future_usage: nil)
1535
+ @setup_future_usage = setup_future_usage
1536
+ end
1537
+ end
1538
+
1539
+ class SamsungPay < Stripe::RequestParams
1540
+ # Controls when the funds will be captured from the customer's account.
1541
+ attr_accessor :capture_method
1542
+
1543
+ def initialize(capture_method: nil)
1544
+ @capture_method = capture_method
1545
+ end
1546
+ end
1547
+
1548
+ class SepaDebit < Stripe::RequestParams
1549
+ class MandateOptions < Stripe::RequestParams
1550
+ # 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'.
1551
+ attr_accessor :reference_prefix
1552
+
1553
+ def initialize(reference_prefix: nil)
1554
+ @reference_prefix = reference_prefix
1555
+ end
1556
+ end
1557
+ # Additional fields for Mandate creation
1558
+ attr_accessor :mandate_options
1559
+
1560
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1561
+ #
1562
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
1563
+ #
1564
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1565
+ #
1566
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1567
+ attr_accessor :setup_future_usage
1568
+
1569
+ def initialize(mandate_options: nil, setup_future_usage: nil)
1570
+ @mandate_options = mandate_options
1571
+ @setup_future_usage = setup_future_usage
1572
+ end
1573
+ end
1574
+
1575
+ class Sofort < Stripe::RequestParams
1576
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1577
+ #
1578
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
1579
+ #
1580
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1581
+ #
1582
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1583
+ attr_accessor :setup_future_usage
1584
+
1585
+ def initialize(setup_future_usage: nil)
1586
+ @setup_future_usage = setup_future_usage
1587
+ end
1588
+ end
1589
+
1590
+ class Swish < Stripe::RequestParams
1591
+ # The order reference that will be displayed to customers in the Swish application. Defaults to the `id` of the Payment Intent.
1592
+ attr_accessor :reference
1593
+
1594
+ def initialize(reference: nil)
1595
+ @reference = reference
1596
+ end
1597
+ end
1598
+
1599
+ class UsBankAccount < Stripe::RequestParams
1600
+ class FinancialConnections < Stripe::RequestParams
1601
+ # 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`.
1602
+ attr_accessor :permissions
1603
+
1604
+ # List of data features that you would like to retrieve upon account creation.
1605
+ attr_accessor :prefetch
1606
+
1607
+ def initialize(permissions: nil, prefetch: nil)
1608
+ @permissions = permissions
1609
+ @prefetch = prefetch
1610
+ end
1611
+ end
1612
+ # Additional fields for Financial Connections Session creation
1613
+ attr_accessor :financial_connections
1614
+
1615
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1616
+ #
1617
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
1618
+ #
1619
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1620
+ #
1621
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1622
+ attr_accessor :setup_future_usage
1623
+
1624
+ # Verification method for the intent
1625
+ attr_accessor :verification_method
1626
+
1627
+ def initialize(
1628
+ financial_connections: nil,
1629
+ setup_future_usage: nil,
1630
+ verification_method: nil
1631
+ )
1632
+ @financial_connections = financial_connections
1633
+ @setup_future_usage = setup_future_usage
1634
+ @verification_method = verification_method
1635
+ end
1636
+ end
1637
+
1638
+ class WechatPay < Stripe::RequestParams
1639
+ # The app ID registered with WeChat Pay. Only required when client is ios or android.
1640
+ attr_accessor :app_id
1641
+
1642
+ # The client type that the end customer will pay from
1643
+ attr_accessor :client
1644
+
1645
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1646
+ #
1647
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
1648
+ #
1649
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1650
+ #
1651
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1652
+ attr_accessor :setup_future_usage
1653
+
1654
+ def initialize(app_id: nil, client: nil, setup_future_usage: nil)
1655
+ @app_id = app_id
1656
+ @client = client
1657
+ @setup_future_usage = setup_future_usage
1658
+ end
1659
+ end
1660
+ # contains details about the ACSS Debit payment method options.
1661
+ attr_accessor :acss_debit
1662
+
1663
+ # contains details about the Affirm payment method options.
1664
+ attr_accessor :affirm
1665
+
1666
+ # contains details about the Afterpay Clearpay payment method options.
1667
+ attr_accessor :afterpay_clearpay
1668
+
1669
+ # contains details about the Alipay payment method options.
1670
+ attr_accessor :alipay
1671
+
1672
+ # contains details about the AmazonPay payment method options.
1673
+ attr_accessor :amazon_pay
1674
+
1675
+ # contains details about the AU Becs Debit payment method options.
1676
+ attr_accessor :au_becs_debit
1677
+
1678
+ # contains details about the Bacs Debit payment method options.
1679
+ attr_accessor :bacs_debit
1680
+
1681
+ # contains details about the Bancontact payment method options.
1682
+ attr_accessor :bancontact
1683
+
1684
+ # contains details about the Boleto payment method options.
1685
+ attr_accessor :boleto
1686
+
1687
+ # contains details about the Card payment method options.
1688
+ attr_accessor :card
1689
+
1690
+ # contains details about the Cashapp Pay payment method options.
1691
+ attr_accessor :cashapp
1692
+
1693
+ # contains details about the Customer Balance payment method options.
1694
+ attr_accessor :customer_balance
1695
+
1696
+ # contains details about the EPS payment method options.
1697
+ attr_accessor :eps
1698
+
1699
+ # contains details about the FPX payment method options.
1700
+ attr_accessor :fpx
1701
+
1702
+ # contains details about the Giropay payment method options.
1703
+ attr_accessor :giropay
1704
+
1705
+ # contains details about the Grabpay payment method options.
1706
+ attr_accessor :grabpay
1707
+
1708
+ # contains details about the Ideal payment method options.
1709
+ attr_accessor :ideal
1710
+
1711
+ # contains details about the Kakao Pay payment method options.
1712
+ attr_accessor :kakao_pay
1713
+
1714
+ # contains details about the Klarna payment method options.
1715
+ attr_accessor :klarna
1716
+
1717
+ # contains details about the Konbini payment method options.
1718
+ attr_accessor :konbini
1719
+
1720
+ # contains details about the Korean card payment method options.
1721
+ attr_accessor :kr_card
1722
+
1723
+ # contains details about the Link payment method options.
1724
+ attr_accessor :link
1725
+
1726
+ # contains details about the Mobilepay payment method options.
1727
+ attr_accessor :mobilepay
1728
+
1729
+ # contains details about the Multibanco payment method options.
1730
+ attr_accessor :multibanco
1731
+
1732
+ # contains details about the Naver Pay payment method options.
1733
+ attr_accessor :naver_pay
1734
+
1735
+ # contains details about the OXXO payment method options.
1736
+ attr_accessor :oxxo
1737
+
1738
+ # contains details about the P24 payment method options.
1739
+ attr_accessor :p24
1740
+
1741
+ # contains details about the PAYCO payment method options.
1742
+ attr_accessor :payco
1743
+
1744
+ # contains details about the PayNow payment method options.
1745
+ attr_accessor :paynow
1746
+
1747
+ # contains details about the PayPal payment method options.
1748
+ attr_accessor :paypal
1749
+
1750
+ # contains details about the PayTo payment method options.
1751
+ attr_accessor :payto
1752
+
1753
+ # contains details about the Pix payment method options.
1754
+ attr_accessor :pix
1755
+
1756
+ # contains details about the RevolutPay payment method options.
1757
+ attr_accessor :revolut_pay
1758
+
1759
+ # contains details about the Samsung Pay payment method options.
1760
+ attr_accessor :samsung_pay
1761
+
1762
+ # contains details about the Sepa Debit payment method options.
1763
+ attr_accessor :sepa_debit
1764
+
1765
+ # contains details about the Sofort payment method options.
1766
+ attr_accessor :sofort
1767
+
1768
+ # contains details about the Swish payment method options.
1769
+ attr_accessor :swish
1770
+
1771
+ # contains details about the Us Bank Account payment method options.
1772
+ attr_accessor :us_bank_account
1773
+
1774
+ # contains details about the WeChat Pay payment method options.
1775
+ attr_accessor :wechat_pay
1776
+
1777
+ def initialize(
1778
+ acss_debit: nil,
1779
+ affirm: nil,
1780
+ afterpay_clearpay: nil,
1781
+ alipay: nil,
1782
+ amazon_pay: nil,
1783
+ au_becs_debit: nil,
1784
+ bacs_debit: nil,
1785
+ bancontact: nil,
1786
+ boleto: nil,
1787
+ card: nil,
1788
+ cashapp: nil,
1789
+ customer_balance: nil,
1790
+ eps: nil,
1791
+ fpx: nil,
1792
+ giropay: nil,
1793
+ grabpay: nil,
1794
+ ideal: nil,
1795
+ kakao_pay: nil,
1796
+ klarna: nil,
1797
+ konbini: nil,
1798
+ kr_card: nil,
1799
+ link: nil,
1800
+ mobilepay: nil,
1801
+ multibanco: nil,
1802
+ naver_pay: nil,
1803
+ oxxo: nil,
1804
+ p24: nil,
1805
+ payco: nil,
1806
+ paynow: nil,
1807
+ paypal: nil,
1808
+ payto: nil,
1809
+ pix: nil,
1810
+ revolut_pay: nil,
1811
+ samsung_pay: nil,
1812
+ sepa_debit: nil,
1813
+ sofort: nil,
1814
+ swish: nil,
1815
+ us_bank_account: nil,
1816
+ wechat_pay: nil
1817
+ )
1818
+ @acss_debit = acss_debit
1819
+ @affirm = affirm
1820
+ @afterpay_clearpay = afterpay_clearpay
1821
+ @alipay = alipay
1822
+ @amazon_pay = amazon_pay
1823
+ @au_becs_debit = au_becs_debit
1824
+ @bacs_debit = bacs_debit
1825
+ @bancontact = bancontact
1826
+ @boleto = boleto
1827
+ @card = card
1828
+ @cashapp = cashapp
1829
+ @customer_balance = customer_balance
1830
+ @eps = eps
1831
+ @fpx = fpx
1832
+ @giropay = giropay
1833
+ @grabpay = grabpay
1834
+ @ideal = ideal
1835
+ @kakao_pay = kakao_pay
1836
+ @klarna = klarna
1837
+ @konbini = konbini
1838
+ @kr_card = kr_card
1839
+ @link = link
1840
+ @mobilepay = mobilepay
1841
+ @multibanco = multibanco
1842
+ @naver_pay = naver_pay
1843
+ @oxxo = oxxo
1844
+ @p24 = p24
1845
+ @payco = payco
1846
+ @paynow = paynow
1847
+ @paypal = paypal
1848
+ @payto = payto
1849
+ @pix = pix
1850
+ @revolut_pay = revolut_pay
1851
+ @samsung_pay = samsung_pay
1852
+ @sepa_debit = sepa_debit
1853
+ @sofort = sofort
1854
+ @swish = swish
1855
+ @us_bank_account = us_bank_account
1856
+ @wechat_pay = wechat_pay
1857
+ end
1858
+ end
1859
+
1860
+ class Permissions < Stripe::RequestParams
1861
+ class Update < Stripe::RequestParams
1862
+ # Determines which entity is allowed to update the line items.
1863
+ #
1864
+ # Default is `client_only`. Stripe Checkout client will automatically update the line items. If set to `server_only`, only your server is allowed to update the line items.
1865
+ #
1866
+ # When set to `server_only`, you must add the onLineItemsChange event handler when initializing the Stripe Checkout client and manually update the line items from your server using the Stripe API.
1867
+ attr_accessor :line_items
1868
+
1869
+ # Determines which entity is allowed to update the shipping details.
1870
+ #
1871
+ # Default is `client_only`. Stripe Checkout client will automatically update the shipping details. If set to `server_only`, only your server is allowed to update the shipping details.
1872
+ #
1873
+ # When set to `server_only`, you must add the onShippingDetailsChange event handler when initializing the Stripe Checkout client and manually update the shipping details from your server using the Stripe API.
1874
+ attr_accessor :shipping_details
1875
+
1876
+ def initialize(line_items: nil, shipping_details: nil)
1877
+ @line_items = line_items
1878
+ @shipping_details = shipping_details
1879
+ end
1880
+ end
1881
+ # Permissions for updating the Checkout Session.
1882
+ attr_accessor :update
1883
+
1884
+ def initialize(update: nil)
1885
+ @update = update
1886
+ end
1887
+ end
1888
+
1889
+ class PhoneNumberCollection < Stripe::RequestParams
1890
+ # Set to `true` to enable phone number collection.
1891
+ attr_accessor :enabled
1892
+
1893
+ def initialize(enabled: nil)
1894
+ @enabled = enabled
1895
+ end
1896
+ end
1897
+
1898
+ class SavedPaymentMethodOptions < Stripe::RequestParams
1899
+ # Uses the `allow_redisplay` value of each saved payment method to filter the set presented to a returning customer. By default, only saved payment methods with ’allow_redisplay: ‘always’ are shown in Checkout.
1900
+ attr_accessor :allow_redisplay_filters
1901
+
1902
+ # Enable customers to choose if they wish to save their payment method for future use. Disabled by default.
1903
+ attr_accessor :payment_method_save
1904
+
1905
+ def initialize(allow_redisplay_filters: nil, payment_method_save: nil)
1906
+ @allow_redisplay_filters = allow_redisplay_filters
1907
+ @payment_method_save = payment_method_save
1908
+ end
1909
+ end
1910
+
1911
+ class SetupIntentData < Stripe::RequestParams
1912
+ # An arbitrary string attached to the object. Often useful for displaying to users.
1913
+ attr_accessor :description
1914
+
1915
+ # 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`.
1916
+ attr_accessor :metadata
1917
+
1918
+ # The Stripe account for which the setup is intended.
1919
+ attr_accessor :on_behalf_of
1920
+
1921
+ def initialize(description: nil, metadata: nil, on_behalf_of: nil)
1922
+ @description = description
1923
+ @metadata = metadata
1924
+ @on_behalf_of = on_behalf_of
1925
+ end
1926
+ end
1927
+
1928
+ class ShippingAddressCollection < Stripe::RequestParams
1929
+ # An array of two-letter ISO country codes representing which countries Checkout should provide as options for
1930
+ # shipping locations.
1931
+ attr_accessor :allowed_countries
1932
+
1933
+ def initialize(allowed_countries: nil)
1934
+ @allowed_countries = allowed_countries
1935
+ end
1936
+ end
1937
+
1938
+ class ShippingOption < Stripe::RequestParams
1939
+ class ShippingRateData < Stripe::RequestParams
1940
+ class DeliveryEstimate < Stripe::RequestParams
1941
+ class Maximum < Stripe::RequestParams
1942
+ # A unit of time.
1943
+ attr_accessor :unit
1944
+
1945
+ # Must be greater than 0.
1946
+ attr_accessor :value
1947
+
1948
+ def initialize(unit: nil, value: nil)
1949
+ @unit = unit
1950
+ @value = value
1951
+ end
1952
+ end
1953
+
1954
+ class Minimum < Stripe::RequestParams
1955
+ # A unit of time.
1956
+ attr_accessor :unit
1957
+
1958
+ # Must be greater than 0.
1959
+ attr_accessor :value
1960
+
1961
+ def initialize(unit: nil, value: nil)
1962
+ @unit = unit
1963
+ @value = value
1964
+ end
1965
+ end
1966
+ # The upper bound of the estimated range. If empty, represents no upper bound i.e., infinite.
1967
+ attr_accessor :maximum
1968
+
1969
+ # The lower bound of the estimated range. If empty, represents no lower bound.
1970
+ attr_accessor :minimum
1971
+
1972
+ def initialize(maximum: nil, minimum: nil)
1973
+ @maximum = maximum
1974
+ @minimum = minimum
1975
+ end
1976
+ end
1977
+
1978
+ class FixedAmount < Stripe::RequestParams
1979
+ class CurrencyOptions < Stripe::RequestParams
1980
+ # A non-negative integer in cents representing how much to charge.
1981
+ attr_accessor :amount
1982
+
1983
+ # Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`.
1984
+ attr_accessor :tax_behavior
1985
+
1986
+ def initialize(amount: nil, tax_behavior: nil)
1987
+ @amount = amount
1988
+ @tax_behavior = tax_behavior
1989
+ end
1990
+ end
1991
+ # A non-negative integer in cents representing how much to charge.
1992
+ attr_accessor :amount
1993
+
1994
+ # 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).
1995
+ attr_accessor :currency
1996
+
1997
+ # Shipping rates defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies).
1998
+ attr_accessor :currency_options
1999
+
2000
+ def initialize(amount: nil, currency: nil, currency_options: nil)
2001
+ @amount = amount
2002
+ @currency = currency
2003
+ @currency_options = currency_options
2004
+ end
2005
+ end
2006
+ # The estimated range for how long shipping will take, meant to be displayable to the customer. This will appear on CheckoutSessions.
2007
+ attr_accessor :delivery_estimate
2008
+
2009
+ # The name of the shipping rate, meant to be displayable to the customer. This will appear on CheckoutSessions.
2010
+ attr_accessor :display_name
2011
+
2012
+ # Describes a fixed amount to charge for shipping. Must be present if type is `fixed_amount`.
2013
+ attr_accessor :fixed_amount
2014
+
2015
+ # 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`.
2016
+ attr_accessor :metadata
2017
+
2018
+ # Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`.
2019
+ attr_accessor :tax_behavior
2020
+
2021
+ # A [tax code](https://stripe.com/docs/tax/tax-categories) ID. The Shipping tax code is `txcd_92010001`.
2022
+ attr_accessor :tax_code
2023
+
2024
+ # The type of calculation to use on the shipping rate.
2025
+ attr_accessor :type
2026
+
2027
+ def initialize(
2028
+ delivery_estimate: nil,
2029
+ display_name: nil,
2030
+ fixed_amount: nil,
2031
+ metadata: nil,
2032
+ tax_behavior: nil,
2033
+ tax_code: nil,
2034
+ type: nil
2035
+ )
2036
+ @delivery_estimate = delivery_estimate
2037
+ @display_name = display_name
2038
+ @fixed_amount = fixed_amount
2039
+ @metadata = metadata
2040
+ @tax_behavior = tax_behavior
2041
+ @tax_code = tax_code
2042
+ @type = type
2043
+ end
2044
+ end
2045
+ # The ID of the Shipping Rate to use for this shipping option.
2046
+ attr_accessor :shipping_rate
2047
+
2048
+ # Parameters to be passed to Shipping Rate creation for this shipping option.
2049
+ attr_accessor :shipping_rate_data
2050
+
2051
+ def initialize(shipping_rate: nil, shipping_rate_data: nil)
2052
+ @shipping_rate = shipping_rate
2053
+ @shipping_rate_data = shipping_rate_data
2054
+ end
2055
+ end
2056
+
2057
+ class SubscriptionData < Stripe::RequestParams
2058
+ class InvoiceSettings < Stripe::RequestParams
2059
+ class Issuer < Stripe::RequestParams
2060
+ # The connected account being referenced when `type` is `account`.
2061
+ attr_accessor :account
2062
+
2063
+ # Type of the account referenced in the request.
2064
+ attr_accessor :type
2065
+
2066
+ def initialize(account: nil, type: nil)
2067
+ @account = account
2068
+ @type = type
2069
+ end
2070
+ end
2071
+ # The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.
2072
+ attr_accessor :issuer
2073
+
2074
+ def initialize(issuer: nil)
2075
+ @issuer = issuer
2076
+ end
2077
+ end
2078
+
2079
+ class TransferData < Stripe::RequestParams
2080
+ # A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount is transferred to the destination.
2081
+ attr_accessor :amount_percent
2082
+
2083
+ # ID of an existing, connected Stripe account.
2084
+ attr_accessor :destination
2085
+
2086
+ def initialize(amount_percent: nil, destination: nil)
2087
+ @amount_percent = amount_percent
2088
+ @destination = destination
2089
+ end
2090
+ end
2091
+
2092
+ class TrialSettings < Stripe::RequestParams
2093
+ class EndBehavior < Stripe::RequestParams
2094
+ # Indicates how the subscription should change when the trial ends if the user did not provide a payment method.
2095
+ attr_accessor :missing_payment_method
2096
+
2097
+ def initialize(missing_payment_method: nil)
2098
+ @missing_payment_method = missing_payment_method
2099
+ end
2100
+ end
2101
+ # Defines how the subscription should behave when the user's free trial ends.
2102
+ attr_accessor :end_behavior
2103
+
2104
+ def initialize(end_behavior: nil)
2105
+ @end_behavior = end_behavior
2106
+ end
2107
+ end
2108
+ # A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. To use an application fee percent, the request must be made on behalf of another account, using the `Stripe-Account` header or an OAuth key. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions).
2109
+ attr_accessor :application_fee_percent
2110
+
2111
+ # A future timestamp to anchor the subscription's billing cycle for new subscriptions.
2112
+ attr_accessor :billing_cycle_anchor
2113
+
2114
+ # The tax rates that will apply to any subscription item that does not have
2115
+ # `tax_rates` set. Invoices created will have their `default_tax_rates` populated
2116
+ # from the subscription.
2117
+ attr_accessor :default_tax_rates
2118
+
2119
+ # The subscription's description, meant to be displayable to the customer.
2120
+ # Use this field to optionally store an explanation of the subscription
2121
+ # for rendering in the [customer portal](https://stripe.com/docs/customer-management).
2122
+ attr_accessor :description
2123
+
2124
+ # All invoices will be billed using the specified settings.
2125
+ attr_accessor :invoice_settings
2126
+
2127
+ # 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`.
2128
+ attr_accessor :metadata
2129
+
2130
+ # The account on behalf of which to charge, for each of the subscription's invoices.
2131
+ attr_accessor :on_behalf_of
2132
+
2133
+ # Determines how to handle prorations resulting from the `billing_cycle_anchor`. If no value is passed, the default is `create_prorations`.
2134
+ attr_accessor :proration_behavior
2135
+
2136
+ # If specified, the funds from the subscription's invoices will be transferred to the destination and the ID of the resulting transfers will be found on the resulting charges.
2137
+ attr_accessor :transfer_data
2138
+
2139
+ # Unix timestamp representing the end of the trial period the customer
2140
+ # will get before being charged for the first time. Has to be at least
2141
+ # 48 hours in the future.
2142
+ attr_accessor :trial_end
2143
+
2144
+ # Integer representing the number of trial period days before the
2145
+ # customer is charged for the first time. Has to be at least 1.
2146
+ attr_accessor :trial_period_days
2147
+
2148
+ # Settings related to subscription trials.
2149
+ attr_accessor :trial_settings
2150
+
2151
+ def initialize(
2152
+ application_fee_percent: nil,
2153
+ billing_cycle_anchor: nil,
2154
+ default_tax_rates: nil,
2155
+ description: nil,
2156
+ invoice_settings: nil,
2157
+ metadata: nil,
2158
+ on_behalf_of: nil,
2159
+ proration_behavior: nil,
2160
+ transfer_data: nil,
2161
+ trial_end: nil,
2162
+ trial_period_days: nil,
2163
+ trial_settings: nil
2164
+ )
2165
+ @application_fee_percent = application_fee_percent
2166
+ @billing_cycle_anchor = billing_cycle_anchor
2167
+ @default_tax_rates = default_tax_rates
2168
+ @description = description
2169
+ @invoice_settings = invoice_settings
2170
+ @metadata = metadata
2171
+ @on_behalf_of = on_behalf_of
2172
+ @proration_behavior = proration_behavior
2173
+ @transfer_data = transfer_data
2174
+ @trial_end = trial_end
2175
+ @trial_period_days = trial_period_days
2176
+ @trial_settings = trial_settings
2177
+ end
2178
+ end
2179
+
2180
+ class TaxIdCollection < Stripe::RequestParams
2181
+ # Enable tax ID collection during checkout. Defaults to `false`.
2182
+ attr_accessor :enabled
2183
+
2184
+ # Describes whether a tax ID is required during checkout. Defaults to `never`.
2185
+ attr_accessor :required
2186
+
2187
+ def initialize(enabled: nil, required: nil)
2188
+ @enabled = enabled
2189
+ @required = required
2190
+ end
2191
+ end
2192
+ # Settings for price localization with [Adaptive Pricing](https://docs.stripe.com/payments/checkout/adaptive-pricing).
2193
+ attr_accessor :adaptive_pricing
2194
+
2195
+ # Configure actions after a Checkout Session has expired.
2196
+ attr_accessor :after_expiration
2197
+
2198
+ # Enables user redeemable promotion codes.
2199
+ attr_accessor :allow_promotion_codes
2200
+
2201
+ # Settings for automatic tax lookup for this session and resulting payments, invoices, and subscriptions.
2202
+ attr_accessor :automatic_tax
2203
+
2204
+ # Specify whether Checkout should collect the customer's billing address. Defaults to `auto`.
2205
+ attr_accessor :billing_address_collection
2206
+
2207
+ # If set, Checkout displays a back button and customers will be directed to this URL if they decide to cancel payment and return to your website. This parameter is not allowed if ui_mode is `embedded` or `custom`.
2208
+ attr_accessor :cancel_url
2209
+
2210
+ # A unique string to reference the Checkout Session. This can be a
2211
+ # customer ID, a cart ID, or similar, and can be used to reconcile the
2212
+ # session with your internal systems.
2213
+ attr_accessor :client_reference_id
2214
+
2215
+ # Configure fields for the Checkout Session to gather active consent from customers.
2216
+ attr_accessor :consent_collection
2217
+
2218
+ # Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). Required in `setup` mode when `payment_method_types` is not set.
2219
+ attr_accessor :currency
2220
+
2221
+ # Collect additional information from your customer using custom fields. Up to 3 fields are supported.
2222
+ attr_accessor :custom_fields
2223
+
2224
+ # Display additional text for your customers using custom text.
2225
+ attr_accessor :custom_text
2226
+
2227
+ # ID of an existing Customer, if one exists. In `payment` mode, the customer’s most recently saved card
2228
+ # payment method will be used to prefill the email, name, card details, and billing address
2229
+ # on the Checkout page. In `subscription` mode, the customer’s [default payment method](https://stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_payment_method)
2230
+ # will be used if it’s a card, otherwise the most recently saved card will be used. A valid billing address, billing name and billing email are required on the payment method for Checkout to prefill the customer's card details.
2231
+ #
2232
+ # If the Customer already has a valid [email](https://stripe.com/docs/api/customers/object#customer_object-email) set, the email will be prefilled and not editable in Checkout.
2233
+ # If the Customer does not have a valid `email`, Checkout will set the email entered during the session on the Customer.
2234
+ #
2235
+ # If blank for Checkout Sessions in `subscription` mode or with `customer_creation` set as `always` in `payment` mode, Checkout will create a new Customer object based on information provided during the payment flow.
2236
+ #
2237
+ # You can set [`payment_intent_data.setup_future_usage`](https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-payment_intent_data-setup_future_usage) to have Checkout automatically attach the payment method to the Customer you pass in for future reuse.
2238
+ attr_accessor :customer
2239
+
2240
+ # Configure whether a Checkout Session creates a [Customer](https://stripe.com/docs/api/customers) during Session confirmation.
2241
+ #
2242
+ # When a Customer is not created, you can still retrieve email, address, and other customer data entered in Checkout
2243
+ # with [customer_details](https://stripe.com/docs/api/checkout/sessions/object#checkout_session_object-customer_details).
2244
+ #
2245
+ # Sessions that don't create Customers instead are grouped by [guest customers](https://stripe.com/docs/payments/checkout/guest-customers)
2246
+ # in the Dashboard. Promotion codes limited to first time customers will return invalid for these Sessions.
2247
+ #
2248
+ # Can only be set in `payment` and `setup` mode.
2249
+ attr_accessor :customer_creation
2250
+
2251
+ # If provided, this value will be used when the Customer object is created.
2252
+ # If not provided, customers will be asked to enter their email address.
2253
+ # Use this parameter to prefill customer data if you already have an email
2254
+ # on file. To access information about the customer once a session is
2255
+ # complete, use the `customer` field.
2256
+ attr_accessor :customer_email
2257
+
2258
+ # Controls what fields on Customer can be updated by the Checkout Session. Can only be provided when `customer` is provided.
2259
+ attr_accessor :customer_update
2260
+
2261
+ # The coupon or promotion code to apply to this Session. Currently, only up to one may be specified.
2262
+ attr_accessor :discounts
2263
+
2264
+ # Specifies which fields in the response should be expanded.
2265
+ attr_accessor :expand
2266
+
2267
+ # The Epoch time in seconds at which the Checkout Session will expire. It can be anywhere from 30 minutes to 24 hours after Checkout Session creation. By default, this value is 24 hours from creation.
2268
+ attr_accessor :expires_at
2269
+
2270
+ # Generate a post-purchase Invoice for one-time payments.
2271
+ attr_accessor :invoice_creation
2272
+
2273
+ # A list of items the customer is purchasing. Use this parameter to pass one-time or recurring [Prices](https://stripe.com/docs/api/prices).
2274
+ #
2275
+ # For `payment` mode, there is a maximum of 100 line items, however it is recommended to consolidate line items if there are more than a few dozen.
2276
+ #
2277
+ # For `subscription` mode, there is a maximum of 20 line items with recurring Prices and 20 line items with one-time Prices. Line items with one-time Prices will be on the initial invoice only.
2278
+ attr_accessor :line_items
2279
+
2280
+ # The IETF language tag of the locale Checkout is displayed in. If blank or `auto`, the browser's locale is used.
2281
+ attr_accessor :locale
2282
+
2283
+ # 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`.
2284
+ attr_accessor :metadata
2285
+
2286
+ # The mode of the Checkout Session. Pass `subscription` if the Checkout Session includes at least one recurring item.
2287
+ attr_accessor :mode
2288
+
2289
+ # A subset of parameters to be passed to PaymentIntent creation for Checkout Sessions in `payment` mode.
2290
+ attr_accessor :payment_intent_data
2291
+
2292
+ # Specify whether Checkout should collect a payment method. When set to `if_required`, Checkout will not collect a payment method when the total due for the session is 0.
2293
+ # This may occur if the Checkout Session includes a free trial or a discount.
2294
+ #
2295
+ # Can only be set in `subscription` mode. Defaults to `always`.
2296
+ #
2297
+ # If you'd like information on how to collect a payment method outside of Checkout, read the guide on configuring [subscriptions with a free trial](https://stripe.com/docs/payments/checkout/free-trials).
2298
+ attr_accessor :payment_method_collection
2299
+
2300
+ # The ID of the payment method configuration to use with this Checkout session.
2301
+ attr_accessor :payment_method_configuration
2302
+
2303
+ # This parameter allows you to set some attributes on the payment method created during a Checkout session.
2304
+ attr_accessor :payment_method_data
2305
+
2306
+ # Payment-method-specific configuration.
2307
+ attr_accessor :payment_method_options
2308
+
2309
+ # A list of the types of payment methods (e.g., `card`) this Checkout Session can accept.
2310
+ #
2311
+ # You can omit this attribute to manage your payment methods from the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods).
2312
+ # See [Dynamic Payment Methods](https://stripe.com/docs/payments/payment-methods/integration-options#using-dynamic-payment-methods) for more details.
2313
+ #
2314
+ # Read more about the supported payment methods and their requirements in our [payment
2315
+ # method details guide](/docs/payments/checkout/payment-methods).
2316
+ #
2317
+ # If multiple payment methods are passed, Checkout will dynamically reorder them to
2318
+ # prioritize the most relevant payment methods based on the customer's location and
2319
+ # other characteristics.
2320
+ attr_accessor :payment_method_types
2321
+
2322
+ # This property is used to set up permissions for various actions (e.g., update) on the CheckoutSession object.
2323
+ #
2324
+ # For specific permissions, please refer to their dedicated subsections, such as `permissions.update.shipping_details`.
2325
+ attr_accessor :permissions
2326
+
2327
+ # Controls phone number collection settings for the session.
2328
+ #
2329
+ # We recommend that you review your privacy policy and check with your legal contacts
2330
+ # before using this feature. Learn more about [collecting phone numbers with Checkout](https://stripe.com/docs/payments/checkout/phone-numbers).
2331
+ attr_accessor :phone_number_collection
2332
+
2333
+ # This parameter applies to `ui_mode: embedded`. Learn more about the [redirect behavior](https://stripe.com/docs/payments/checkout/custom-success-page?payment-ui=embedded-form) of embedded sessions. Defaults to `always`.
2334
+ attr_accessor :redirect_on_completion
2335
+
2336
+ # The URL to redirect your customer back to after they authenticate or cancel their payment on the
2337
+ # payment method's app or site. This parameter is required if `ui_mode` is `embedded` or `custom`
2338
+ # and redirect-based payment methods are enabled on the session.
2339
+ attr_accessor :return_url
2340
+
2341
+ # Controls saved payment method settings for the session. Only available in `payment` and `subscription` mode.
2342
+ attr_accessor :saved_payment_method_options
2343
+
2344
+ # A subset of parameters to be passed to SetupIntent creation for Checkout Sessions in `setup` mode.
2345
+ attr_accessor :setup_intent_data
2346
+
2347
+ # When set, provides configuration for Checkout to collect a shipping address from a customer.
2348
+ attr_accessor :shipping_address_collection
2349
+
2350
+ # The shipping rate options to apply to this Session. Up to a maximum of 5.
2351
+ attr_accessor :shipping_options
2352
+
2353
+ # Describes the type of transaction being performed by Checkout in order to customize
2354
+ # relevant text on the page, such as the submit button. `submit_type` can only be
2355
+ # specified on Checkout Sessions in `payment` mode. If blank or `auto`, `pay` is used.
2356
+ attr_accessor :submit_type
2357
+
2358
+ # A subset of parameters to be passed to subscription creation for Checkout Sessions in `subscription` mode.
2359
+ attr_accessor :subscription_data
2360
+
2361
+ # The URL to which Stripe should send customers when payment or setup
2362
+ # is complete.
2363
+ # This parameter is not allowed if ui_mode is `embedded` or `custom`. If you'd like to use
2364
+ # information from the successful Checkout Session on your page, read the
2365
+ # guide on [customizing your success page](https://stripe.com/docs/payments/checkout/custom-success-page).
2366
+ attr_accessor :success_url
2367
+
2368
+ # Controls tax ID collection during checkout.
2369
+ attr_accessor :tax_id_collection
2370
+
2371
+ # The UI mode of the Session. Defaults to `hosted`.
2372
+ attr_accessor :ui_mode
2373
+
2374
+ def initialize(
2375
+ adaptive_pricing: nil,
2376
+ after_expiration: nil,
2377
+ allow_promotion_codes: nil,
2378
+ automatic_tax: nil,
2379
+ billing_address_collection: nil,
2380
+ cancel_url: nil,
2381
+ client_reference_id: nil,
2382
+ consent_collection: nil,
2383
+ currency: nil,
2384
+ custom_fields: nil,
2385
+ custom_text: nil,
2386
+ customer: nil,
2387
+ customer_creation: nil,
2388
+ customer_email: nil,
2389
+ customer_update: nil,
2390
+ discounts: nil,
2391
+ expand: nil,
2392
+ expires_at: nil,
2393
+ invoice_creation: nil,
2394
+ line_items: nil,
2395
+ locale: nil,
2396
+ metadata: nil,
2397
+ mode: nil,
2398
+ payment_intent_data: nil,
2399
+ payment_method_collection: nil,
2400
+ payment_method_configuration: nil,
2401
+ payment_method_data: nil,
2402
+ payment_method_options: nil,
2403
+ payment_method_types: nil,
2404
+ permissions: nil,
2405
+ phone_number_collection: nil,
2406
+ redirect_on_completion: nil,
2407
+ return_url: nil,
2408
+ saved_payment_method_options: nil,
2409
+ setup_intent_data: nil,
2410
+ shipping_address_collection: nil,
2411
+ shipping_options: nil,
2412
+ submit_type: nil,
2413
+ subscription_data: nil,
2414
+ success_url: nil,
2415
+ tax_id_collection: nil,
2416
+ ui_mode: nil
2417
+ )
2418
+ @adaptive_pricing = adaptive_pricing
2419
+ @after_expiration = after_expiration
2420
+ @allow_promotion_codes = allow_promotion_codes
2421
+ @automatic_tax = automatic_tax
2422
+ @billing_address_collection = billing_address_collection
2423
+ @cancel_url = cancel_url
2424
+ @client_reference_id = client_reference_id
2425
+ @consent_collection = consent_collection
2426
+ @currency = currency
2427
+ @custom_fields = custom_fields
2428
+ @custom_text = custom_text
2429
+ @customer = customer
2430
+ @customer_creation = customer_creation
2431
+ @customer_email = customer_email
2432
+ @customer_update = customer_update
2433
+ @discounts = discounts
2434
+ @expand = expand
2435
+ @expires_at = expires_at
2436
+ @invoice_creation = invoice_creation
2437
+ @line_items = line_items
2438
+ @locale = locale
2439
+ @metadata = metadata
2440
+ @mode = mode
2441
+ @payment_intent_data = payment_intent_data
2442
+ @payment_method_collection = payment_method_collection
2443
+ @payment_method_configuration = payment_method_configuration
2444
+ @payment_method_data = payment_method_data
2445
+ @payment_method_options = payment_method_options
2446
+ @payment_method_types = payment_method_types
2447
+ @permissions = permissions
2448
+ @phone_number_collection = phone_number_collection
2449
+ @redirect_on_completion = redirect_on_completion
2450
+ @return_url = return_url
2451
+ @saved_payment_method_options = saved_payment_method_options
2452
+ @setup_intent_data = setup_intent_data
2453
+ @shipping_address_collection = shipping_address_collection
2454
+ @shipping_options = shipping_options
2455
+ @submit_type = submit_type
2456
+ @subscription_data = subscription_data
2457
+ @success_url = success_url
2458
+ @tax_id_collection = tax_id_collection
2459
+ @ui_mode = ui_mode
2460
+ end
2461
+ end
2462
+
2463
+ class RetrieveParams < Stripe::RequestParams
2464
+ # Specifies which fields in the response should be expanded.
2465
+ attr_accessor :expand
2466
+
2467
+ def initialize(expand: nil)
2468
+ @expand = expand
2469
+ end
2470
+ end
2471
+
2472
+ class UpdateParams < Stripe::RequestParams
2473
+ class CollectedInformation < Stripe::RequestParams
2474
+ class ShippingDetails < Stripe::RequestParams
2475
+ class Address < Stripe::RequestParams
2476
+ # City, district, suburb, town, or village.
2477
+ attr_accessor :city
2478
+
2479
+ # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
2480
+ attr_accessor :country
2481
+
2482
+ # Address line 1 (e.g., street, PO Box, or company name).
2483
+ attr_accessor :line1
2484
+
2485
+ # Address line 2 (e.g., apartment, suite, unit, or building).
2486
+ attr_accessor :line2
2487
+
2488
+ # ZIP or postal code.
2489
+ attr_accessor :postal_code
2490
+
2491
+ # State, county, province, or region.
2492
+ attr_accessor :state
2493
+
2494
+ def initialize(
2495
+ city: nil,
2496
+ country: nil,
2497
+ line1: nil,
2498
+ line2: nil,
2499
+ postal_code: nil,
2500
+ state: nil
2501
+ )
2502
+ @city = city
2503
+ @country = country
2504
+ @line1 = line1
2505
+ @line2 = line2
2506
+ @postal_code = postal_code
2507
+ @state = state
2508
+ end
2509
+ end
2510
+ # The address of the customer
2511
+ attr_accessor :address
2512
+
2513
+ # The name of customer
2514
+ attr_accessor :name
2515
+
2516
+ def initialize(address: nil, name: nil)
2517
+ @address = address
2518
+ @name = name
2519
+ end
2520
+ end
2521
+ # The shipping details to apply to this Session.
2522
+ attr_accessor :shipping_details
2523
+
2524
+ def initialize(shipping_details: nil)
2525
+ @shipping_details = shipping_details
2526
+ end
2527
+ end
2528
+
2529
+ class LineItem < Stripe::RequestParams
2530
+ class AdjustableQuantity < Stripe::RequestParams
2531
+ # Set to true if the quantity can be adjusted to any positive integer. Setting to false will remove any previously specified constraints on quantity.
2532
+ attr_accessor :enabled
2533
+
2534
+ # The maximum quantity the customer can purchase for the Checkout Session. By default this value is 99. You can specify a value up to 999999.
2535
+ attr_accessor :maximum
2536
+
2537
+ # The minimum quantity the customer must purchase for the Checkout Session. By default this value is 0.
2538
+ attr_accessor :minimum
2539
+
2540
+ def initialize(enabled: nil, maximum: nil, minimum: nil)
2541
+ @enabled = enabled
2542
+ @maximum = maximum
2543
+ @minimum = minimum
2544
+ end
2545
+ end
2546
+ # When set, provides configuration for this item’s quantity to be adjusted by the customer during Checkout.
2547
+ attr_accessor :adjustable_quantity
2548
+
2549
+ # ID of an existing line item.
2550
+ attr_accessor :id
2551
+
2552
+ # 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`.
2553
+ attr_accessor :metadata
2554
+
2555
+ # The ID of the [Price](https://stripe.com/docs/api/prices).
2556
+ attr_accessor :price
2557
+
2558
+ # The quantity of the line item being purchased.
2559
+ attr_accessor :quantity
2560
+
2561
+ # The [tax rates](https://stripe.com/docs/api/tax_rates) which apply to this line item.
2562
+ attr_accessor :tax_rates
2563
+
2564
+ def initialize(
2565
+ adjustable_quantity: nil,
2566
+ id: nil,
2567
+ metadata: nil,
2568
+ price: nil,
2569
+ quantity: nil,
2570
+ tax_rates: nil
2571
+ )
2572
+ @adjustable_quantity = adjustable_quantity
2573
+ @id = id
2574
+ @metadata = metadata
2575
+ @price = price
2576
+ @quantity = quantity
2577
+ @tax_rates = tax_rates
2578
+ end
2579
+ end
2580
+
2581
+ class ShippingOption < Stripe::RequestParams
2582
+ class ShippingRateData < Stripe::RequestParams
2583
+ class DeliveryEstimate < Stripe::RequestParams
2584
+ class Maximum < Stripe::RequestParams
2585
+ # A unit of time.
2586
+ attr_accessor :unit
2587
+
2588
+ # Must be greater than 0.
2589
+ attr_accessor :value
2590
+
2591
+ def initialize(unit: nil, value: nil)
2592
+ @unit = unit
2593
+ @value = value
2594
+ end
2595
+ end
2596
+
2597
+ class Minimum < Stripe::RequestParams
2598
+ # A unit of time.
2599
+ attr_accessor :unit
2600
+
2601
+ # Must be greater than 0.
2602
+ attr_accessor :value
2603
+
2604
+ def initialize(unit: nil, value: nil)
2605
+ @unit = unit
2606
+ @value = value
2607
+ end
2608
+ end
2609
+ # The upper bound of the estimated range. If empty, represents no upper bound i.e., infinite.
2610
+ attr_accessor :maximum
2611
+
2612
+ # The lower bound of the estimated range. If empty, represents no lower bound.
2613
+ attr_accessor :minimum
2614
+
2615
+ def initialize(maximum: nil, minimum: nil)
2616
+ @maximum = maximum
2617
+ @minimum = minimum
2618
+ end
2619
+ end
2620
+
2621
+ class FixedAmount < Stripe::RequestParams
2622
+ class CurrencyOptions < Stripe::RequestParams
2623
+ # A non-negative integer in cents representing how much to charge.
2624
+ attr_accessor :amount
2625
+
2626
+ # Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`.
2627
+ attr_accessor :tax_behavior
2628
+
2629
+ def initialize(amount: nil, tax_behavior: nil)
2630
+ @amount = amount
2631
+ @tax_behavior = tax_behavior
2632
+ end
2633
+ end
2634
+ # A non-negative integer in cents representing how much to charge.
2635
+ attr_accessor :amount
2636
+
2637
+ # 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).
2638
+ attr_accessor :currency
2639
+
2640
+ # Shipping rates defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies).
2641
+ attr_accessor :currency_options
2642
+
2643
+ def initialize(amount: nil, currency: nil, currency_options: nil)
2644
+ @amount = amount
2645
+ @currency = currency
2646
+ @currency_options = currency_options
2647
+ end
2648
+ end
2649
+ # The estimated range for how long shipping will take, meant to be displayable to the customer. This will appear on CheckoutSessions.
2650
+ attr_accessor :delivery_estimate
2651
+
2652
+ # The name of the shipping rate, meant to be displayable to the customer. This will appear on CheckoutSessions.
2653
+ attr_accessor :display_name
2654
+
2655
+ # Describes a fixed amount to charge for shipping. Must be present if type is `fixed_amount`.
2656
+ attr_accessor :fixed_amount
2657
+
2658
+ # 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`.
2659
+ attr_accessor :metadata
2660
+
2661
+ # Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`.
2662
+ attr_accessor :tax_behavior
2663
+
2664
+ # A [tax code](https://stripe.com/docs/tax/tax-categories) ID. The Shipping tax code is `txcd_92010001`.
2665
+ attr_accessor :tax_code
2666
+
2667
+ # The type of calculation to use on the shipping rate.
2668
+ attr_accessor :type
2669
+
2670
+ def initialize(
2671
+ delivery_estimate: nil,
2672
+ display_name: nil,
2673
+ fixed_amount: nil,
2674
+ metadata: nil,
2675
+ tax_behavior: nil,
2676
+ tax_code: nil,
2677
+ type: nil
2678
+ )
2679
+ @delivery_estimate = delivery_estimate
2680
+ @display_name = display_name
2681
+ @fixed_amount = fixed_amount
2682
+ @metadata = metadata
2683
+ @tax_behavior = tax_behavior
2684
+ @tax_code = tax_code
2685
+ @type = type
2686
+ end
2687
+ end
2688
+ # The ID of the Shipping Rate to use for this shipping option.
2689
+ attr_accessor :shipping_rate
2690
+
2691
+ # Parameters to be passed to Shipping Rate creation for this shipping option.
2692
+ attr_accessor :shipping_rate_data
2693
+
2694
+ def initialize(shipping_rate: nil, shipping_rate_data: nil)
2695
+ @shipping_rate = shipping_rate
2696
+ @shipping_rate_data = shipping_rate_data
2697
+ end
2698
+ end
2699
+ # Information about the customer collected within the Checkout Session.
2700
+ attr_accessor :collected_information
2701
+
2702
+ # Specifies which fields in the response should be expanded.
2703
+ attr_accessor :expand
2704
+
2705
+ # A list of items the customer is purchasing.
2706
+ #
2707
+ # When updating line items, you must retransmit the entire array of line items.
2708
+ #
2709
+ # To retain an existing line item, specify its `id`.
2710
+ #
2711
+ # To update an existing line item, specify its `id` along with the new values of the fields to update.
2712
+ #
2713
+ # To add a new line item, specify a `price` and `quantity`. We don't currently support recurring prices.
2714
+ #
2715
+ # To remove an existing line item, omit the line item's ID from the retransmitted array.
2716
+ #
2717
+ # To reorder a line item, specify it at the desired position in the retransmitted array.
2718
+ attr_accessor :line_items
2719
+
2720
+ # 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`.
2721
+ attr_accessor :metadata
2722
+
2723
+ # The shipping rate options to apply to this Session. Up to a maximum of 5.
2724
+ attr_accessor :shipping_options
2725
+
2726
+ def initialize(
2727
+ collected_information: nil,
2728
+ expand: nil,
2729
+ line_items: nil,
2730
+ metadata: nil,
2731
+ shipping_options: nil
2732
+ )
2733
+ @collected_information = collected_information
2734
+ @expand = expand
2735
+ @line_items = line_items
2736
+ @metadata = metadata
2737
+ @shipping_options = shipping_options
2738
+ end
2739
+ end
2740
+
2741
+ class ExpireParams < Stripe::RequestParams
2742
+ # Specifies which fields in the response should be expanded.
2743
+ attr_accessor :expand
2744
+
2745
+ def initialize(expand: nil)
2746
+ @expand = expand
2747
+ end
2748
+ end
2749
+
14
2750
  # Creates a Session object.
15
2751
  def create(params = {}, opts = {})
16
2752
  request(