stripe 13.5.0 → 14.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (641) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +33 -3
  3. data/Gemfile +4 -0
  4. data/OPENAPI_VERSION +1 -1
  5. data/README.md +29 -0
  6. data/VERSION +1 -1
  7. data/lib/stripe/api_operations/request.rb +1 -0
  8. data/lib/stripe/api_requestor.rb +3 -0
  9. data/lib/stripe/api_version.rb +1 -1
  10. data/lib/stripe/errors.rb +0 -7
  11. data/lib/stripe/object_types.rb +8 -2
  12. data/lib/stripe/request_params.rb +24 -0
  13. data/lib/stripe/resources/account.rb +4634 -0
  14. data/lib/stripe/resources/account_link.rb +54 -0
  15. data/lib/stripe/resources/account_session.rb +739 -0
  16. data/lib/stripe/resources/apple_pay_domain.rb +54 -0
  17. data/lib/stripe/resources/application.rb +20 -0
  18. data/lib/stripe/resources/application_fee.rb +87 -0
  19. data/lib/stripe/resources/application_fee_refund.rb +17 -0
  20. data/lib/stripe/resources/apps/secret.rb +141 -0
  21. data/lib/stripe/resources/balance.rb +122 -0
  22. data/lib/stripe/resources/balance_transaction.rb +103 -0
  23. data/lib/stripe/resources/bank_account.rb +84 -2
  24. data/lib/stripe/resources/billing/alert.rb +135 -0
  25. data/lib/stripe/resources/billing/alert_triggered.rb +26 -0
  26. data/lib/stripe/resources/billing/credit_balance_summary.rb +40 -0
  27. data/lib/stripe/resources/billing/credit_balance_transaction.rb +107 -0
  28. data/lib/stripe/resources/billing/credit_grant.rb +217 -0
  29. data/lib/stripe/resources/billing/meter.rb +169 -0
  30. data/lib/stripe/resources/billing/meter_event.rb +35 -0
  31. data/lib/stripe/resources/billing/meter_event_adjustment.rb +43 -0
  32. data/lib/stripe/resources/billing/meter_event_summary.rb +15 -0
  33. data/lib/stripe/resources/billing_portal/configuration.rb +553 -0
  34. data/lib/stripe/resources/billing_portal/session.rb +271 -0
  35. data/lib/stripe/resources/capability.rb +84 -0
  36. data/lib/stripe/resources/card.rb +77 -0
  37. data/lib/stripe/resources/cash_balance.rb +17 -0
  38. data/lib/stripe/resources/charge.rb +1612 -0
  39. data/lib/stripe/resources/checkout/session.rb +3530 -6
  40. data/lib/stripe/resources/climate/order.rb +167 -0
  41. data/lib/stripe/resources/climate/product.rb +47 -0
  42. data/lib/stripe/resources/climate/supplier.rb +45 -0
  43. data/lib/stripe/resources/confirmation_token.rb +1448 -0
  44. data/lib/stripe/resources/connect_collection_transfer.rb +24 -0
  45. data/lib/stripe/resources/country_spec.rb +54 -0
  46. data/lib/stripe/resources/coupon.rb +189 -0
  47. data/lib/stripe/resources/credit_note.rb +639 -0
  48. data/lib/stripe/resources/credit_note_line_item.rb +67 -0
  49. data/lib/stripe/resources/customer.rb +824 -0
  50. data/lib/stripe/resources/customer_balance_transaction.rb +29 -0
  51. data/lib/stripe/resources/customer_cash_balance_transaction.rb +109 -0
  52. data/lib/stripe/resources/customer_session.rb +159 -0
  53. data/lib/stripe/resources/discount.rb +29 -0
  54. data/lib/stripe/resources/dispute.rb +610 -0
  55. data/lib/stripe/resources/entitlements/active_entitlement.rb +37 -0
  56. data/lib/stripe/resources/entitlements/active_entitlement_summary.rb +23 -0
  57. data/lib/stripe/resources/entitlements/feature.rb +81 -0
  58. data/lib/stripe/resources/ephemeral_key.rb +21 -0
  59. data/lib/stripe/resources/event.rb +90 -0
  60. data/lib/stripe/resources/exchange_rate.rb +24 -0
  61. data/lib/stripe/resources/file.rb +102 -0
  62. data/lib/stripe/resources/file_link.rb +103 -0
  63. data/lib/stripe/resources/financial_connections/account.rb +237 -0
  64. data/lib/stripe/resources/financial_connections/account_owner.rb +17 -0
  65. data/lib/stripe/resources/financial_connections/account_ownership.rb +9 -0
  66. data/lib/stripe/resources/financial_connections/session.rb +95 -0
  67. data/lib/stripe/resources/financial_connections/transaction.rb +92 -0
  68. data/lib/stripe/resources/forwarding/request.rb +156 -0
  69. data/lib/stripe/resources/funding_instructions.rb +308 -0
  70. data/lib/stripe/resources/identity/verification_report.rb +257 -0
  71. data/lib/stripe/resources/identity/verification_session.rb +352 -0
  72. data/lib/stripe/resources/invoice.rb +3204 -21
  73. data/lib/stripe/resources/invoice_item.rb +400 -0
  74. data/lib/stripe/resources/invoice_line_item.rb +350 -0
  75. data/lib/stripe/resources/invoice_payment.rb +105 -0
  76. data/lib/stripe/resources/invoice_rendering_template.rb +55 -0
  77. data/lib/stripe/resources/issuing/authorization.rb +1104 -0
  78. data/lib/stripe/resources/issuing/card.rb +657 -0
  79. data/lib/stripe/resources/issuing/cardholder.rb +648 -0
  80. data/lib/stripe/resources/issuing/dispute.rb +781 -0
  81. data/lib/stripe/resources/issuing/personalization_design.rb +276 -0
  82. data/lib/stripe/resources/issuing/physical_bundle.rb +54 -0
  83. data/lib/stripe/resources/issuing/token.rb +166 -0
  84. data/lib/stripe/resources/issuing/transaction.rb +912 -0
  85. data/lib/stripe/resources/line_item.rb +47 -0
  86. data/lib/stripe/resources/login_link.rb +7 -0
  87. data/lib/stripe/resources/mandate.rb +142 -0
  88. data/lib/stripe/resources/payment_intent.rb +8650 -0
  89. data/lib/stripe/resources/payment_link.rb +1632 -0
  90. data/lib/stripe/resources/payment_method.rb +1542 -0
  91. data/lib/stripe/resources/payment_method_configuration.rb +2776 -0
  92. data/lib/stripe/resources/payment_method_domain.rb +150 -6
  93. data/lib/stripe/resources/payout.rb +209 -0
  94. data/lib/stripe/resources/person.rb +264 -1
  95. data/lib/stripe/resources/plan.rb +302 -0
  96. data/lib/stripe/resources/price.rb +605 -1
  97. data/lib/stripe/resources/product.rb +472 -0
  98. data/lib/stripe/resources/product_feature.rb +12 -0
  99. data/lib/stripe/resources/promotion_code.rb +212 -0
  100. data/lib/stripe/resources/quote.rb +917 -0
  101. data/lib/stripe/resources/radar/early_fraud_warning.rb +68 -0
  102. data/lib/stripe/resources/radar/value_list.rb +116 -0
  103. data/lib/stripe/resources/radar/value_list_item.rb +86 -0
  104. data/lib/stripe/resources/refund.rb +392 -0
  105. data/lib/stripe/resources/reporting/report_run.rb +141 -0
  106. data/lib/stripe/resources/reporting/report_type.rb +27 -0
  107. data/lib/stripe/resources/reserve_transaction.rb +22 -0
  108. data/lib/stripe/resources/reversal.rb +21 -0
  109. data/lib/stripe/resources/review.rb +99 -0
  110. data/lib/stripe/resources/setup_attempt.rb +368 -0
  111. data/lib/stripe/resources/setup_intent.rb +3473 -0
  112. data/lib/stripe/resources/shipping_rate.rb +250 -0
  113. data/lib/stripe/resources/sigma/scheduled_query_run.rb +45 -0
  114. data/lib/stripe/resources/source.rb +1198 -0
  115. data/lib/stripe/resources/source_mandate_notification.rb +66 -0
  116. data/lib/stripe/resources/source_transaction.rb +85 -0
  117. data/lib/stripe/resources/subscription.rb +1686 -0
  118. data/lib/stripe/resources/subscription_item.rb +313 -5
  119. data/lib/stripe/resources/subscription_schedule.rb +1281 -0
  120. data/lib/stripe/resources/tax/calculation.rb +378 -0
  121. data/lib/stripe/resources/tax/calculation_line_item.rb +56 -0
  122. data/lib/stripe/resources/tax/registration.rb +2373 -0
  123. data/lib/stripe/resources/tax/settings.rb +117 -0
  124. data/lib/stripe/resources/tax/transaction.rb +258 -0
  125. data/lib/stripe/resources/tax/transaction_line_item.rb +31 -0
  126. data/lib/stripe/resources/tax_code.rb +26 -0
  127. data/lib/stripe/resources/tax_deducted_at_source.rb +22 -0
  128. data/lib/stripe/resources/tax_id.rb +112 -0
  129. data/lib/stripe/resources/tax_rate.rb +191 -0
  130. data/lib/stripe/resources/terminal/configuration.rb +1260 -0
  131. data/lib/stripe/resources/terminal/connection_token.rb +18 -0
  132. data/lib/stripe/resources/terminal/location.rb +166 -0
  133. data/lib/stripe/resources/terminal/reader.rb +427 -0
  134. data/lib/stripe/resources/test_helpers/test_clock.rb +77 -0
  135. data/lib/stripe/resources/token.rb +1159 -0
  136. data/lib/stripe/resources/topup.rb +165 -0
  137. data/lib/stripe/resources/transfer.rb +144 -0
  138. data/lib/stripe/resources/treasury/credit_reversal.rb +83 -0
  139. data/lib/stripe/resources/treasury/debit_reversal.rb +94 -0
  140. data/lib/stripe/resources/treasury/financial_account.rb +725 -1
  141. data/lib/stripe/resources/treasury/financial_account_features.rb +189 -0
  142. data/lib/stripe/resources/treasury/inbound_transfer.rb +226 -0
  143. data/lib/stripe/resources/treasury/outbound_payment.rb +486 -0
  144. data/lib/stripe/resources/treasury/outbound_transfer.rb +341 -0
  145. data/lib/stripe/resources/treasury/received_credit.rb +237 -0
  146. data/lib/stripe/resources/treasury/received_debit.rb +196 -0
  147. data/lib/stripe/resources/treasury/transaction.rb +167 -0
  148. data/lib/stripe/resources/treasury/transaction_entry.rb +148 -0
  149. data/lib/stripe/resources/v2/amount.rb +9 -0
  150. data/lib/stripe/resources/v2/billing/meter_event.rb +18 -0
  151. data/lib/stripe/resources/v2/billing/meter_event_adjustment.rb +21 -0
  152. data/lib/stripe/resources/v2/billing/meter_event_session.rb +14 -0
  153. data/lib/stripe/resources/v2/event.rb +28 -0
  154. data/lib/stripe/resources/v2/event_destination.rb +60 -0
  155. data/lib/stripe/resources/webhook_endpoint.rb +113 -0
  156. data/lib/stripe/resources.rb +8 -2
  157. data/lib/stripe/services/account_capability_service.rb +32 -0
  158. data/lib/stripe/services/account_external_account_service.rb +250 -0
  159. data/lib/stripe/services/account_link_service.rb +46 -0
  160. data/lib/stripe/services/account_login_link_service.rb +9 -0
  161. data/lib/stripe/services/account_person_service.rb +875 -0
  162. data/lib/stripe/services/account_service.rb +4000 -0
  163. data/lib/stripe/services/account_session_service.rb +484 -0
  164. data/lib/stripe/services/apple_pay_domain_service.rb +51 -0
  165. data/lib/stripe/services/application_fee_refund_service.rb +54 -0
  166. data/lib/stripe/services/application_fee_service.rb +57 -0
  167. data/lib/stripe/services/apps/secret_service.rb +116 -0
  168. data/lib/stripe/services/balance_service.rb +9 -0
  169. data/lib/stripe/services/balance_transaction_service.rb +69 -0
  170. data/lib/stripe/services/billing/alert_service.rb +113 -0
  171. data/lib/stripe/services/billing/credit_balance_summary_service.rb +48 -0
  172. data/lib/stripe/services/billing/credit_balance_transaction_service.rb +40 -0
  173. data/lib/stripe/services/billing/credit_grant_service.rb +166 -0
  174. data/lib/stripe/services/billing/meter_event_adjustment_service.rb +26 -0
  175. data/lib/stripe/services/billing/meter_event_service.rb +21 -0
  176. data/lib/stripe/services/billing/meter_event_summary_service.rb +39 -0
  177. data/lib/stripe/services/billing/meter_service.rb +130 -0
  178. data/lib/stripe/services/billing_portal/configuration_service.rb +444 -0
  179. data/lib/stripe/services/billing_portal/session_service.rb +173 -0
  180. data/lib/stripe/services/charge_service.rb +402 -0
  181. data/lib/stripe/services/checkout/session_line_item_service.rb +18 -0
  182. data/lib/stripe/services/checkout/session_service.rb +2399 -5
  183. data/lib/stripe/services/climate/order_service.rb +102 -0
  184. data/lib/stripe/services/climate/product_service.rb +27 -0
  185. data/lib/stripe/services/climate/supplier_service.rb +27 -0
  186. data/lib/stripe/services/confirmation_token_service.rb +9 -0
  187. data/lib/stripe/services/country_spec_service.rb +27 -0
  188. data/lib/stripe/services/coupon_service.rb +152 -0
  189. data/lib/stripe/services/credit_note_line_item_service.rb +18 -0
  190. data/lib/stripe/services/credit_note_preview_lines_service.rb +152 -0
  191. data/lib/stripe/services/credit_note_service.rb +365 -0
  192. data/lib/stripe/services/customer_balance_transaction_service.rb +63 -0
  193. data/lib/stripe/services/customer_cash_balance_service.rb +29 -0
  194. data/lib/stripe/services/customer_cash_balance_transaction_service.rb +27 -0
  195. data/lib/stripe/services/customer_funding_instructions_service.rb +42 -0
  196. data/lib/stripe/services/customer_payment_method_service.rb +40 -0
  197. data/lib/stripe/services/customer_payment_source_service.rb +179 -0
  198. data/lib/stripe/services/customer_service.rb +577 -0
  199. data/lib/stripe/services/customer_session_service.rb +96 -0
  200. data/lib/stripe/services/customer_tax_id_service.rb +45 -0
  201. data/lib/stripe/services/dispute_service.rb +374 -0
  202. data/lib/stripe/services/entitlements/active_entitlement_service.rb +36 -0
  203. data/lib/stripe/services/entitlements/feature_service.rb +76 -0
  204. data/lib/stripe/services/ephemeral_key_service.rb +36 -0
  205. data/lib/stripe/services/event_service.rb +65 -0
  206. data/lib/stripe/services/exchange_rate_service.rb +27 -0
  207. data/lib/stripe/services/file_link_service.rb +94 -0
  208. data/lib/stripe/services/file_service.rb +89 -0
  209. data/lib/stripe/services/financial_connections/account_owner_service.rb +27 -0
  210. data/lib/stripe/services/financial_connections/account_service.rb +96 -0
  211. data/lib/stripe/services/financial_connections/session_service.rb +68 -0
  212. data/lib/stripe/services/financial_connections/transaction_service.rb +70 -0
  213. data/lib/stripe/services/forwarding/request_service.rb +106 -0
  214. data/lib/stripe/services/identity/verification_report_service.rb +65 -0
  215. data/lib/stripe/services/identity/verification_session_service.rb +231 -0
  216. data/lib/stripe/services/invoice_item_service.rb +334 -0
  217. data/lib/stripe/services/invoice_line_item_service.rb +221 -0
  218. data/lib/stripe/services/invoice_payment_service.rb +83 -0
  219. data/lib/stripe/services/invoice_rendering_template_service.rb +51 -0
  220. data/lib/stripe/services/invoice_service.rb +2648 -19
  221. data/lib/stripe/services/issuing/authorization_service.rb +104 -0
  222. data/lib/stripe/services/issuing/card_service.rb +455 -0
  223. data/lib/stripe/services/issuing/cardholder_service.rb +525 -0
  224. data/lib/stripe/services/issuing/dispute_service.rb +633 -0
  225. data/lib/stripe/services/issuing/personalization_design_service.rb +193 -0
  226. data/lib/stripe/services/issuing/physical_bundle_service.rb +40 -0
  227. data/lib/stripe/services/issuing/token_service.rb +73 -0
  228. data/lib/stripe/services/issuing/transaction_service.rb +77 -0
  229. data/lib/stripe/services/mandate_service.rb +9 -0
  230. data/lib/stripe/services/payment_intent_service.rb +7054 -0
  231. data/lib/stripe/services/payment_link_line_item_service.rb +18 -0
  232. data/lib/stripe/services/payment_link_service.rb +1276 -0
  233. data/lib/stripe/services/payment_method_configuration_service.rb +2004 -0
  234. data/lib/stripe/services/payment_method_domain_service.rb +79 -3
  235. data/lib/stripe/services/payment_method_service.rb +808 -0
  236. data/lib/stripe/services/payout_service.rb +159 -0
  237. data/lib/stripe/services/plan_service.rb +249 -0
  238. data/lib/stripe/services/price_service.rb +494 -1
  239. data/lib/stripe/services/product_feature_service.rb +42 -0
  240. data/lib/stripe/services/product_service.rb +425 -0
  241. data/lib/stripe/services/promotion_code_service.rb +178 -0
  242. data/lib/stripe/services/quote_computed_upfront_line_items_service.rb +18 -0
  243. data/lib/stripe/services/quote_line_item_service.rb +18 -0
  244. data/lib/stripe/services/quote_service.rb +611 -0
  245. data/lib/stripe/services/radar/early_fraud_warning_service.rb +61 -0
  246. data/lib/stripe/services/radar/value_list_item_service.rb +79 -0
  247. data/lib/stripe/services/radar/value_list_service.rb +103 -0
  248. data/lib/stripe/services/refund_service.rb +137 -0
  249. data/lib/stripe/services/reporting/report_run_service.rb +106 -0
  250. data/lib/stripe/services/reporting/report_type_service.rb +18 -0
  251. data/lib/stripe/services/review_service.rb +56 -0
  252. data/lib/stripe/services/setup_attempt_service.rb +51 -0
  253. data/lib/stripe/services/setup_intent_service.rb +3163 -0
  254. data/lib/stripe/services/shipping_rate_service.rb +200 -0
  255. data/lib/stripe/services/sigma/scheduled_query_run_service.rb +27 -0
  256. data/lib/stripe/services/source_service.rb +601 -0
  257. data/lib/stripe/services/source_transaction_service.rb +18 -0
  258. data/lib/stripe/services/subscription_item_service.rb +282 -5
  259. data/lib/stripe/services/subscription_schedule_service.rb +1062 -0
  260. data/lib/stripe/services/subscription_service.rb +1412 -0
  261. data/lib/stripe/services/tax/calculation_line_item_service.rb +18 -0
  262. data/lib/stripe/services/tax/calculation_service.rb +205 -0
  263. data/lib/stripe/services/tax/registration_service.rb +1564 -0
  264. data/lib/stripe/services/tax/settings_service.rb +74 -0
  265. data/lib/stripe/services/tax/transaction_line_item_service.rb +18 -0
  266. data/lib/stripe/services/tax/transaction_service.rb +111 -0
  267. data/lib/stripe/services/tax_code_service.rb +27 -0
  268. data/lib/stripe/services/tax_id_service.rb +79 -0
  269. data/lib/stripe/services/tax_rate_service.rb +155 -0
  270. data/lib/stripe/services/terminal/configuration_service.rb +997 -0
  271. data/lib/stripe/services/terminal/connection_token_service.rb +12 -0
  272. data/lib/stripe/services/terminal/location_service.rb +144 -0
  273. data/lib/stripe/services/terminal/reader_service.rb +266 -0
  274. data/lib/stripe/services/test_helpers/confirmation_token_service.rb +642 -0
  275. data/lib/stripe/services/test_helpers/customer_service.rb +18 -0
  276. data/lib/stripe/services/test_helpers/issuing/authorization_service.rb +745 -0
  277. data/lib/stripe/services/test_helpers/issuing/card_service.rb +45 -0
  278. data/lib/stripe/services/test_helpers/issuing/personalization_design_service.rb +41 -0
  279. data/lib/stripe/services/test_helpers/issuing/transaction_service.rb +632 -0
  280. data/lib/stripe/services/test_helpers/refund_service.rb +9 -0
  281. data/lib/stripe/services/test_helpers/terminal/reader_service.rb +44 -0
  282. data/lib/stripe/services/test_helpers/test_clock_service.rb +57 -0
  283. data/lib/stripe/services/test_helpers/treasury/inbound_transfer_service.rb +38 -0
  284. data/lib/stripe/services/test_helpers/treasury/outbound_payment_service.rb +87 -0
  285. data/lib/stripe/services/test_helpers/treasury/outbound_transfer_service.rb +87 -0
  286. data/lib/stripe/services/test_helpers/treasury/received_credit_service.rb +60 -0
  287. data/lib/stripe/services/test_helpers/treasury/received_debit_service.rb +60 -0
  288. data/lib/stripe/services/token_service.rb +1140 -0
  289. data/lib/stripe/services/topup_service.rb +142 -0
  290. data/lib/stripe/services/transfer_reversal_service.rb +66 -0
  291. data/lib/stripe/services/transfer_service.rb +119 -0
  292. data/lib/stripe/services/treasury/credit_reversal_service.rb +59 -0
  293. data/lib/stripe/services/treasury/debit_reversal_service.rb +63 -0
  294. data/lib/stripe/services/treasury/financial_account_features_service.rb +166 -0
  295. data/lib/stripe/services/treasury/financial_account_service.rb +485 -1
  296. data/lib/stripe/services/treasury/inbound_transfer_service.rb +88 -0
  297. data/lib/stripe/services/treasury/outbound_payment_service.rb +258 -0
  298. data/lib/stripe/services/treasury/outbound_transfer_service.rb +124 -0
  299. data/lib/stripe/services/treasury/received_credit_service.rb +52 -0
  300. data/lib/stripe/services/treasury/received_debit_service.rb +40 -0
  301. data/lib/stripe/services/treasury/transaction_entry_service.rb +87 -0
  302. data/lib/stripe/services/treasury/transaction_service.rb +95 -0
  303. data/lib/stripe/services/v1_services.rb +2 -1
  304. data/lib/stripe/services/v2/billing/meter_event_adjustment_service.rb +23 -0
  305. data/lib/stripe/services/v2/billing/meter_event_service.rb +25 -0
  306. data/lib/stripe/services/v2/billing/meter_event_session_service.rb +3 -0
  307. data/lib/stripe/services/v2/billing/meter_event_stream_service.rb +33 -0
  308. data/lib/stripe/services/v2/core/event_destination_service.rb +143 -0
  309. data/lib/stripe/services/v2/core/event_service.rb +15 -0
  310. data/lib/stripe/services/webhook_endpoint_service.rb +96 -0
  311. data/lib/stripe/services.rb +1 -3
  312. data/lib/stripe/stripe_client.rb +2 -1
  313. data/lib/stripe/stripe_object.rb +5 -0
  314. data/lib/stripe/version.rb +1 -1
  315. data/lib/stripe.rb +1 -0
  316. data/rbi/stripe/resources/account.rbi +4840 -0
  317. data/rbi/stripe/resources/account_link.rbi +74 -0
  318. data/rbi/stripe/resources/account_session.rbi +894 -0
  319. data/rbi/stripe/resources/apple_pay_domain.rbi +90 -0
  320. data/rbi/stripe/resources/application.rbi +20 -0
  321. data/rbi/stripe/resources/application_fee.rbi +118 -0
  322. data/rbi/stripe/resources/application_fee_refund.rbi +37 -0
  323. data/rbi/stripe/resources/apps/secret.rbi +195 -0
  324. data/rbi/stripe/resources/balance.rbi +180 -0
  325. data/rbi/stripe/resources/balance_transaction.rbi +144 -0
  326. data/rbi/stripe/resources/bank_account.rbi +127 -0
  327. data/rbi/stripe/resources/billing/alert.rbi +201 -0
  328. data/rbi/stripe/resources/billing/alert_triggered.rbi +28 -0
  329. data/rbi/stripe/resources/billing/credit_balance_summary.rbi +63 -0
  330. data/rbi/stripe/resources/billing/credit_balance_transaction.rbi +147 -0
  331. data/rbi/stripe/resources/billing/credit_grant.rbi +291 -0
  332. data/rbi/stripe/resources/billing/meter.rbi +226 -0
  333. data/rbi/stripe/resources/billing/meter_event.rbi +64 -0
  334. data/rbi/stripe/resources/billing/meter_event_adjustment.rbi +64 -0
  335. data/rbi/stripe/resources/billing/meter_event_summary.rbi +35 -0
  336. data/rbi/stripe/resources/billing_portal/configuration.rbi +645 -0
  337. data/rbi/stripe/resources/billing_portal/session.rbi +345 -0
  338. data/rbi/stripe/resources/capability.rbi +125 -0
  339. data/rbi/stripe/resources/card.rbi +125 -0
  340. data/rbi/stripe/resources/cash_balance.rbi +32 -0
  341. data/rbi/stripe/resources/charge.rbi +2054 -0
  342. data/rbi/stripe/resources/checkout/session.rbi +3951 -0
  343. data/rbi/stripe/resources/climate/order.rbi +245 -0
  344. data/rbi/stripe/resources/climate/product.rbi +75 -0
  345. data/rbi/stripe/resources/climate/supplier.rbi +72 -0
  346. data/rbi/stripe/resources/confirmation_token.rbi +1793 -0
  347. data/rbi/stripe/resources/connect_collection_transfer.rbi +26 -0
  348. data/rbi/stripe/resources/country_spec.rbi +85 -0
  349. data/rbi/stripe/resources/coupon.rbi +252 -0
  350. data/rbi/stripe/resources/credit_note.rbi +747 -0
  351. data/rbi/stripe/resources/credit_note_line_item.rbi +101 -0
  352. data/rbi/stripe/resources/customer.rbi +1009 -0
  353. data/rbi/stripe/resources/customer_balance_transaction.rbi +56 -0
  354. data/rbi/stripe/resources/customer_cash_balance_transaction.rbi +151 -0
  355. data/rbi/stripe/resources/customer_session.rbi +200 -0
  356. data/rbi/stripe/resources/discount.rbi +53 -0
  357. data/rbi/stripe/resources/dispute.rbi +761 -0
  358. data/rbi/stripe/resources/entitlements/active_entitlement.rbi +58 -0
  359. data/rbi/stripe/resources/entitlements/active_entitlement_summary.rbi +23 -0
  360. data/rbi/stripe/resources/entitlements/feature.rbi +117 -0
  361. data/rbi/stripe/resources/ephemeral_key.rbi +44 -0
  362. data/rbi/stripe/resources/event.rbi +146 -0
  363. data/rbi/stripe/resources/exchange_rate.rbi +66 -0
  364. data/rbi/stripe/resources/file.rbi +143 -0
  365. data/rbi/stripe/resources/file_link.rbi +141 -0
  366. data/rbi/stripe/resources/financial_connections/account.rbi +339 -0
  367. data/rbi/stripe/resources/financial_connections/account_owner.rbi +35 -0
  368. data/rbi/stripe/resources/financial_connections/account_ownership.rbi +23 -0
  369. data/rbi/stripe/resources/financial_connections/session.rbi +123 -0
  370. data/rbi/stripe/resources/financial_connections/transaction.rbi +124 -0
  371. data/rbi/stripe/resources/forwarding/request.rbi +216 -0
  372. data/rbi/stripe/resources/funding_instructions.rbi +437 -0
  373. data/rbi/stripe/resources/identity/verification_report.rbi +351 -0
  374. data/rbi/stripe/resources/identity/verification_session.rbi +517 -0
  375. data/rbi/stripe/resources/invoice.rbi +3733 -0
  376. data/rbi/stripe/resources/invoice_item.rbi +475 -0
  377. data/rbi/stripe/resources/invoice_line_item.rbi +432 -0
  378. data/rbi/stripe/resources/invoice_payment.rbi +114 -0
  379. data/rbi/stripe/resources/invoice_rendering_template.rbi +104 -0
  380. data/rbi/stripe/resources/issuing/authorization.rbi +1283 -0
  381. data/rbi/stripe/resources/issuing/card.rbi +741 -0
  382. data/rbi/stripe/resources/issuing/cardholder.rbi +744 -0
  383. data/rbi/stripe/resources/issuing/dispute.rbi +913 -0
  384. data/rbi/stripe/resources/issuing/personalization_design.rbi +338 -0
  385. data/rbi/stripe/resources/issuing/physical_bundle.rbi +79 -0
  386. data/rbi/stripe/resources/issuing/token.rbi +226 -0
  387. data/rbi/stripe/resources/issuing/transaction.rbi +1061 -0
  388. data/rbi/stripe/resources/line_item.rbi +72 -0
  389. data/rbi/stripe/resources/login_link.rbi +18 -0
  390. data/rbi/stripe/resources/mandate.rbi +187 -0
  391. data/rbi/stripe/resources/payment_intent.rbi +9731 -0
  392. data/rbi/stripe/resources/payment_link.rbi +1801 -0
  393. data/rbi/stripe/resources/payment_method.rbi +1822 -0
  394. data/rbi/stripe/resources/payment_method_configuration.rbi +3154 -0
  395. data/rbi/stripe/resources/payment_method_domain.rbi +212 -0
  396. data/rbi/stripe/resources/payout.rbi +300 -0
  397. data/rbi/stripe/resources/person.rbi +371 -0
  398. data/rbi/stripe/resources/plan.rbi +373 -0
  399. data/rbi/stripe/resources/price.rbi +694 -0
  400. data/rbi/stripe/resources/product.rbi +557 -0
  401. data/rbi/stripe/resources/product_feature.rbi +26 -0
  402. data/rbi/stripe/resources/promotion_code.rbi +261 -0
  403. data/rbi/stripe/resources/quote.rbi +1123 -0
  404. data/rbi/stripe/resources/radar/early_fraud_warning.rbi +98 -0
  405. data/rbi/stripe/resources/radar/value_list.rbi +170 -0
  406. data/rbi/stripe/resources/radar/value_list_item.rbi +131 -0
  407. data/rbi/stripe/resources/refund.rbi +516 -0
  408. data/rbi/stripe/resources/reporting/report_run.rbi +191 -0
  409. data/rbi/stripe/resources/reporting/report_type.rbi +57 -0
  410. data/rbi/stripe/resources/reserve_transaction.rbi +23 -0
  411. data/rbi/stripe/resources/reversal.rbi +51 -0
  412. data/rbi/stripe/resources/review.rbi +154 -0
  413. data/rbi/stripe/resources/setup_attempt.rbi +477 -0
  414. data/rbi/stripe/resources/setup_intent.rbi +3860 -0
  415. data/rbi/stripe/resources/shipping_rate.rbi +305 -0
  416. data/rbi/stripe/resources/sigma/scheduled_query_run.rbi +75 -0
  417. data/rbi/stripe/resources/source.rbi +1496 -0
  418. data/rbi/stripe/resources/source_mandate_notification.rbi +77 -0
  419. data/rbi/stripe/resources/source_transaction.rbi +127 -0
  420. data/rbi/stripe/resources/subscription.rbi +1964 -0
  421. data/rbi/stripe/resources/subscription_item.rbi +370 -0
  422. data/rbi/stripe/resources/subscription_schedule.rbi +1495 -0
  423. data/rbi/stripe/resources/tax/calculation.rbi +474 -0
  424. data/rbi/stripe/resources/tax/calculation_line_item.rbi +88 -0
  425. data/rbi/stripe/resources/tax/registration.rbi +2485 -0
  426. data/rbi/stripe/resources/tax/settings.rbi +141 -0
  427. data/rbi/stripe/resources/tax/transaction.rbi +351 -0
  428. data/rbi/stripe/resources/tax/transaction_line_item.rbi +54 -0
  429. data/rbi/stripe/resources/tax_code.rbi +44 -0
  430. data/rbi/stripe/resources/tax_deducted_at_source.rbi +23 -0
  431. data/rbi/stripe/resources/tax_id.rbi +167 -0
  432. data/rbi/stripe/resources/tax_rate.rbi +239 -0
  433. data/rbi/stripe/resources/terminal/configuration.rbi +1388 -0
  434. data/rbi/stripe/resources/terminal/connection_token.rbi +37 -0
  435. data/rbi/stripe/resources/terminal/location.rbi +224 -0
  436. data/rbi/stripe/resources/terminal/reader.rbi +587 -0
  437. data/rbi/stripe/resources/test_helpers/test_clock.rbi +134 -0
  438. data/rbi/stripe/resources/token.rbi +1217 -0
  439. data/rbi/stripe/resources/topup.rbi +222 -0
  440. data/rbi/stripe/resources/transfer.rbi +199 -0
  441. data/rbi/stripe/resources/treasury/credit_reversal.rbi +119 -0
  442. data/rbi/stripe/resources/treasury/debit_reversal.rbi +131 -0
  443. data/rbi/stripe/resources/treasury/financial_account.rbi +865 -0
  444. data/rbi/stripe/resources/treasury/financial_account_features.rbi +260 -0
  445. data/rbi/stripe/resources/treasury/inbound_transfer.rbi +295 -0
  446. data/rbi/stripe/resources/treasury/outbound_payment.rbi +592 -0
  447. data/rbi/stripe/resources/treasury/outbound_transfer.rbi +431 -0
  448. data/rbi/stripe/resources/treasury/received_credit.rbi +302 -0
  449. data/rbi/stripe/resources/treasury/received_debit.rbi +256 -0
  450. data/rbi/stripe/resources/treasury/transaction.rbi +215 -0
  451. data/rbi/stripe/resources/treasury/transaction_entry.rbi +192 -0
  452. data/rbi/stripe/resources/v2/amount.rbi +14 -0
  453. data/rbi/stripe/resources/v2/billing/meter_event.rbi +37 -0
  454. data/rbi/stripe/resources/v2/billing/meter_event_adjustment.rbi +41 -0
  455. data/rbi/stripe/resources/v2/billing/meter_event_session.rbi +31 -0
  456. data/rbi/stripe/resources/v2/event.rbi +48 -0
  457. data/rbi/stripe/resources/v2/event_destination.rbi +91 -0
  458. data/rbi/stripe/resources/webhook_endpoint.rbi +170 -0
  459. data/rbi/stripe/services/account_capability_service.rbi +51 -0
  460. data/rbi/stripe/services/account_external_account_service.rbi +306 -0
  461. data/rbi/stripe/services/account_link_service.rbi +58 -0
  462. data/rbi/stripe/services/account_login_link_service.rbi +22 -0
  463. data/rbi/stripe/services/account_person_service.rbi +923 -0
  464. data/rbi/stripe/services/account_service.rbi +4143 -0
  465. data/rbi/stripe/services/account_session_service.rbi +572 -0
  466. data/rbi/stripe/services/apple_pay_domain_service.rbi +78 -0
  467. data/rbi/stripe/services/application_fee_refund_service.rbi +93 -0
  468. data/rbi/stripe/services/application_fee_service.rbi +78 -0
  469. data/rbi/stripe/services/apps/secret_service.rbi +151 -0
  470. data/rbi/stripe/services/apps_service.rbi +9 -0
  471. data/rbi/stripe/services/balance_service.rbi +21 -0
  472. data/rbi/stripe/services/balance_transaction_service.rbi +93 -0
  473. data/rbi/stripe/services/billing/alert_service.rbi +152 -0
  474. data/rbi/stripe/services/billing/credit_balance_summary_service.rbi +68 -0
  475. data/rbi/stripe/services/billing/credit_balance_transaction_service.rbi +59 -0
  476. data/rbi/stripe/services/billing/credit_grant_service.rbi +211 -0
  477. data/rbi/stripe/services/billing/meter_event_adjustment_service.rbi +42 -0
  478. data/rbi/stripe/services/billing/meter_event_service.rbi +42 -0
  479. data/rbi/stripe/services/billing/meter_event_summary_service.rbi +54 -0
  480. data/rbi/stripe/services/billing/meter_service.rbi +163 -0
  481. data/rbi/stripe/services/billing_portal/configuration_service.rbi +511 -0
  482. data/rbi/stripe/services/billing_portal/session_service.rbi +204 -0
  483. data/rbi/stripe/services/billing_portal_service.rbi +10 -0
  484. data/rbi/stripe/services/billing_service.rbi +15 -0
  485. data/rbi/stripe/services/charge_service.rbi +448 -0
  486. data/rbi/stripe/services/checkout/session_line_item_service.rbi +33 -0
  487. data/rbi/stripe/services/checkout/session_service.rbi +2585 -0
  488. data/rbi/stripe/services/checkout_service.rbi +9 -0
  489. data/rbi/stripe/services/climate/order_service.rbi +142 -0
  490. data/rbi/stripe/services/climate/product_service.rbi +46 -0
  491. data/rbi/stripe/services/climate/supplier_service.rbi +46 -0
  492. data/rbi/stripe/services/climate_service.rbi +11 -0
  493. data/rbi/stripe/services/confirmation_token_service.rbi +20 -0
  494. data/rbi/stripe/services/country_spec_service.rbi +44 -0
  495. data/rbi/stripe/services/coupon_service.rbi +196 -0
  496. data/rbi/stripe/services/credit_note_line_item_service.rbi +31 -0
  497. data/rbi/stripe/services/credit_note_preview_lines_service.rbi +167 -0
  498. data/rbi/stripe/services/credit_note_service.rbi +416 -0
  499. data/rbi/stripe/services/customer_balance_transaction_service.rbi +92 -0
  500. data/rbi/stripe/services/customer_cash_balance_service.rbi +45 -0
  501. data/rbi/stripe/services/customer_cash_balance_transaction_service.rbi +44 -0
  502. data/rbi/stripe/services/customer_funding_instructions_service.rbi +59 -0
  503. data/rbi/stripe/services/customer_payment_method_service.rbi +57 -0
  504. data/rbi/stripe/services/customer_payment_source_service.rbi +232 -0
  505. data/rbi/stripe/services/customer_service.rbi +651 -0
  506. data/rbi/stripe/services/customer_session_service.rbi +116 -0
  507. data/rbi/stripe/services/customer_tax_id_service.rbi +72 -0
  508. data/rbi/stripe/services/dispute_service.rbi +424 -0
  509. data/rbi/stripe/services/entitlements/active_entitlement_service.rbi +55 -0
  510. data/rbi/stripe/services/entitlements/feature_service.rbi +107 -0
  511. data/rbi/stripe/services/entitlements_service.rbi +10 -0
  512. data/rbi/stripe/services/ephemeral_key_service.rbi +53 -0
  513. data/rbi/stripe/services/event_service.rbi +83 -0
  514. data/rbi/stripe/services/exchange_rate_service.rbi +44 -0
  515. data/rbi/stripe/services/file_link_service.rbi +124 -0
  516. data/rbi/stripe/services/file_service.rbi +116 -0
  517. data/rbi/stripe/services/financial_connections/account_owner_service.rbi +42 -0
  518. data/rbi/stripe/services/financial_connections/account_service.rbi +133 -0
  519. data/rbi/stripe/services/financial_connections/session_service.rbi +88 -0
  520. data/rbi/stripe/services/financial_connections/transaction_service.rbi +92 -0
  521. data/rbi/stripe/services/financial_connections_service.rbi +11 -0
  522. data/rbi/stripe/services/forwarding/request_service.rbi +134 -0
  523. data/rbi/stripe/services/forwarding_service.rbi +9 -0
  524. data/rbi/stripe/services/identity/verification_report_service.rbi +87 -0
  525. data/rbi/stripe/services/identity/verification_session_service.rbi +323 -0
  526. data/rbi/stripe/services/identity_service.rbi +10 -0
  527. data/rbi/stripe/services/invoice_item_service.rbi +368 -0
  528. data/rbi/stripe/services/invoice_line_item_service.rbi +259 -0
  529. data/rbi/stripe/services/invoice_payment_service.rbi +71 -0
  530. data/rbi/stripe/services/invoice_rendering_template_service.rbi +82 -0
  531. data/rbi/stripe/services/invoice_service.rbi +2920 -0
  532. data/rbi/stripe/services/issuing/authorization_service.rbi +146 -0
  533. data/rbi/stripe/services/issuing/card_service.rbi +495 -0
  534. data/rbi/stripe/services/issuing/cardholder_service.rbi +587 -0
  535. data/rbi/stripe/services/issuing/dispute_service.rbi +707 -0
  536. data/rbi/stripe/services/issuing/personalization_design_service.rbi +243 -0
  537. data/rbi/stripe/services/issuing/physical_bundle_service.rbi +59 -0
  538. data/rbi/stripe/services/issuing/token_service.rbi +99 -0
  539. data/rbi/stripe/services/issuing/transaction_service.rbi +105 -0
  540. data/rbi/stripe/services/issuing_service.rbi +16 -0
  541. data/rbi/stripe/services/mandate_service.rbi +20 -0
  542. data/rbi/stripe/services/payment_intent_service.rbi +7759 -0
  543. data/rbi/stripe/services/payment_link_line_item_service.rbi +31 -0
  544. data/rbi/stripe/services/payment_link_service.rbi +1352 -0
  545. data/rbi/stripe/services/payment_method_configuration_service.rbi +2211 -0
  546. data/rbi/stripe/services/payment_method_domain_service.rbi +112 -0
  547. data/rbi/stripe/services/payment_method_service.rbi +840 -0
  548. data/rbi/stripe/services/payout_service.rbi +205 -0
  549. data/rbi/stripe/services/plan_service.rbi +284 -0
  550. data/rbi/stripe/services/price_service.rbi +546 -0
  551. data/rbi/stripe/services/product_feature_service.rbi +69 -0
  552. data/rbi/stripe/services/product_service.rbi +479 -0
  553. data/rbi/stripe/services/promotion_code_service.rbi +214 -0
  554. data/rbi/stripe/services/quote_computed_upfront_line_items_service.rbi +31 -0
  555. data/rbi/stripe/services/quote_line_item_service.rbi +31 -0
  556. data/rbi/stripe/services/quote_service.rbi +686 -0
  557. data/rbi/stripe/services/radar/early_fraud_warning_service.rbi +85 -0
  558. data/rbi/stripe/services/radar/value_list_item_service.rbi +111 -0
  559. data/rbi/stripe/services/radar/value_list_service.rbi +143 -0
  560. data/rbi/stripe/services/radar_service.rbi +11 -0
  561. data/rbi/stripe/services/refund_service.rbi +185 -0
  562. data/rbi/stripe/services/reporting/report_run_service.rbi +135 -0
  563. data/rbi/stripe/services/reporting/report_type_service.rbi +35 -0
  564. data/rbi/stripe/services/reporting_service.rbi +10 -0
  565. data/rbi/stripe/services/review_service.rbi +84 -0
  566. data/rbi/stripe/services/setup_attempt_service.rbi +65 -0
  567. data/rbi/stripe/services/setup_intent_service.rbi +3596 -0
  568. data/rbi/stripe/services/shipping_rate_service.rbi +241 -0
  569. data/rbi/stripe/services/sigma/scheduled_query_run_service.rbi +46 -0
  570. data/rbi/stripe/services/sigma_service.rbi +9 -0
  571. data/rbi/stripe/services/source_service.rbi +663 -0
  572. data/rbi/stripe/services/source_transaction_service.rbi +31 -0
  573. data/rbi/stripe/services/subscription_item_service.rbi +324 -0
  574. data/rbi/stripe/services/subscription_schedule_service.rbi +1192 -0
  575. data/rbi/stripe/services/subscription_service.rbi +1596 -0
  576. data/rbi/stripe/services/tax/calculation_line_item_service.rbi +33 -0
  577. data/rbi/stripe/services/tax/calculation_service.rbi +230 -0
  578. data/rbi/stripe/services/tax/registration_service.rbi +1689 -0
  579. data/rbi/stripe/services/tax/settings_service.rbi +93 -0
  580. data/rbi/stripe/services/tax/transaction_line_item_service.rbi +33 -0
  581. data/rbi/stripe/services/tax/transaction_service.rbi +146 -0
  582. data/rbi/stripe/services/tax_code_service.rbi +44 -0
  583. data/rbi/stripe/services/tax_id_service.rbi +112 -0
  584. data/rbi/stripe/services/tax_rate_service.rbi +185 -0
  585. data/rbi/stripe/services/tax_service.rbi +12 -0
  586. data/rbi/stripe/services/terminal/configuration_service.rbi +1120 -0
  587. data/rbi/stripe/services/terminal/connection_token_service.rbi +25 -0
  588. data/rbi/stripe/services/terminal/location_service.rbi +184 -0
  589. data/rbi/stripe/services/terminal/reader_service.rbi +344 -0
  590. data/rbi/stripe/services/terminal_service.rbi +12 -0
  591. data/rbi/stripe/services/test_helpers/confirmation_token_service.rbi +746 -0
  592. data/rbi/stripe/services/test_helpers/customer_service.rbi +33 -0
  593. data/rbi/stripe/services/test_helpers/issuing/authorization_service.rbi +848 -0
  594. data/rbi/stripe/services/test_helpers/issuing/card_service.rbi +76 -0
  595. data/rbi/stripe/services/test_helpers/issuing/personalization_design_service.rbi +69 -0
  596. data/rbi/stripe/services/test_helpers/issuing/transaction_service.rbi +711 -0
  597. data/rbi/stripe/services/test_helpers/issuing_service.rbi +14 -0
  598. data/rbi/stripe/services/test_helpers/refund_service.rbi +22 -0
  599. data/rbi/stripe/services/test_helpers/terminal/reader_service.rbi +62 -0
  600. data/rbi/stripe/services/test_helpers/terminal_service.rbi +11 -0
  601. data/rbi/stripe/services/test_helpers/test_clock_service.rbi +92 -0
  602. data/rbi/stripe/services/test_helpers/treasury/inbound_transfer_service.rbi +64 -0
  603. data/rbi/stripe/services/test_helpers/treasury/outbound_payment_service.rbi +125 -0
  604. data/rbi/stripe/services/test_helpers/treasury/outbound_transfer_service.rbi +125 -0
  605. data/rbi/stripe/services/test_helpers/treasury/received_credit_service.rbi +87 -0
  606. data/rbi/stripe/services/test_helpers/treasury/received_debit_service.rbi +87 -0
  607. data/rbi/stripe/services/test_helpers/treasury_service.rbi +15 -0
  608. data/rbi/stripe/services/test_helpers_service.rbi +15 -0
  609. data/rbi/stripe/services/token_service.rbi +1189 -0
  610. data/rbi/stripe/services/topup_service.rbi +176 -0
  611. data/rbi/stripe/services/transfer_reversal_service.rbi +101 -0
  612. data/rbi/stripe/services/transfer_service.rbi +152 -0
  613. data/rbi/stripe/services/treasury/credit_reversal_service.rbi +84 -0
  614. data/rbi/stripe/services/treasury/debit_reversal_service.rbi +88 -0
  615. data/rbi/stripe/services/treasury/financial_account_features_service.rbi +198 -0
  616. data/rbi/stripe/services/treasury/financial_account_service.rbi +562 -0
  617. data/rbi/stripe/services/treasury/inbound_transfer_service.rbi +117 -0
  618. data/rbi/stripe/services/treasury/outbound_payment_service.rbi +304 -0
  619. data/rbi/stripe/services/treasury/outbound_transfer_service.rbi +157 -0
  620. data/rbi/stripe/services/treasury/received_credit_service.rbi +72 -0
  621. data/rbi/stripe/services/treasury/received_debit_service.rbi +59 -0
  622. data/rbi/stripe/services/treasury/transaction_entry_service.rbi +111 -0
  623. data/rbi/stripe/services/treasury/transaction_service.rbi +122 -0
  624. data/rbi/stripe/services/treasury_service.rbi +18 -0
  625. data/rbi/stripe/services/v1_services.rbi +77 -0
  626. data/rbi/stripe/services/v2/billing/meter_event_adjustment_service.rbi +39 -0
  627. data/rbi/stripe/services/v2/billing/meter_event_service.rbi +42 -0
  628. data/rbi/stripe/services/v2/billing/meter_event_session_service.rbi +20 -0
  629. data/rbi/stripe/services/v2/billing/meter_event_stream_service.rbi +55 -0
  630. data/rbi/stripe/services/v2/billing_service.rbi +14 -0
  631. data/rbi/stripe/services/v2/core/event_destination_service.rbi +200 -0
  632. data/rbi/stripe/services/v2/core/event_service.rbi +36 -0
  633. data/rbi/stripe/services/v2/core_service.rbi +12 -0
  634. data/rbi/stripe/services/v2_services.rbi +10 -0
  635. data/rbi/stripe/services/webhook_endpoint_service.rbi +131 -0
  636. metadata +333 -7
  637. data/lib/stripe/resources/usage_record.rb +0 -17
  638. data/lib/stripe/resources/usage_record_summary.rb +0 -12
  639. data/lib/stripe/services/invoice_upcoming_lines_service.rb +0 -17
  640. data/lib/stripe/services/subscription_item_usage_record_service.rb +0 -23
  641. data/lib/stripe/services/subscription_item_usage_record_summary_service.rb +0 -19
@@ -27,7 +27,3531 @@ module Stripe
27
27
  "checkout.session"
28
28
  end
29
29
 
30
- # Creates a Session object.
30
+ class AdaptivePricing < Stripe::StripeObject
31
+ # Whether Adaptive Pricing is enabled.
32
+ attr_reader :enabled
33
+ end
34
+
35
+ class AfterExpiration < Stripe::StripeObject
36
+ class Recovery < Stripe::StripeObject
37
+ # Enables user redeemable promotion codes on the recovered Checkout Sessions. Defaults to `false`
38
+ attr_reader :allow_promotion_codes
39
+ # If `true`, a recovery url will be generated to recover this Checkout Session if it
40
+ # expires before a transaction is completed. It will be attached to the
41
+ # Checkout Session object upon expiration.
42
+ attr_reader :enabled
43
+ # The timestamp at which the recovery URL will expire.
44
+ attr_reader :expires_at
45
+ # URL that creates a new Checkout Session when clicked that is a copy of this expired Checkout Session
46
+ attr_reader :url
47
+ end
48
+ # When set, configuration used to recover the Checkout Session on expiry.
49
+ attr_reader :recovery
50
+ end
51
+
52
+ class AutomaticTax < Stripe::StripeObject
53
+ class Liability < Stripe::StripeObject
54
+ # The connected account being referenced when `type` is `account`.
55
+ attr_reader :account
56
+ # Type of the account referenced.
57
+ attr_reader :type
58
+ end
59
+ # Indicates whether automatic tax is enabled for the session
60
+ attr_reader :enabled
61
+ # 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.
62
+ attr_reader :liability
63
+ # The status of the most recent automated tax calculation for this session.
64
+ attr_reader :status
65
+ end
66
+
67
+ class CollectedInformation < Stripe::StripeObject
68
+ class ShippingDetails < Stripe::StripeObject
69
+ class Address < Stripe::StripeObject
70
+ # City, district, suburb, town, or village.
71
+ attr_reader :city
72
+ # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
73
+ attr_reader :country
74
+ # Address line 1 (e.g., street, PO Box, or company name).
75
+ attr_reader :line1
76
+ # Address line 2 (e.g., apartment, suite, unit, or building).
77
+ attr_reader :line2
78
+ # ZIP or postal code.
79
+ attr_reader :postal_code
80
+ # State, county, province, or region.
81
+ attr_reader :state
82
+ end
83
+ # Attribute for field address
84
+ attr_reader :address
85
+ # Customer name.
86
+ attr_reader :name
87
+ end
88
+ # Shipping information for this Checkout Session.
89
+ attr_reader :shipping_details
90
+ end
91
+
92
+ class Consent < Stripe::StripeObject
93
+ # If `opt_in`, the customer consents to receiving promotional communications
94
+ # from the merchant about this Checkout Session.
95
+ attr_reader :promotions
96
+ # If `accepted`, the customer in this Checkout Session has agreed to the merchant's terms of service.
97
+ attr_reader :terms_of_service
98
+ end
99
+
100
+ class ConsentCollection < Stripe::StripeObject
101
+ class PaymentMethodReuseAgreement < Stripe::StripeObject
102
+ # Determines the position and visibility of the payment method reuse agreement in the UI. When set to `auto`, Stripe's defaults will be used.
103
+ #
104
+ # When set to `hidden`, the payment method reuse agreement text will always be hidden in the UI.
105
+ attr_reader :position
106
+ end
107
+ # If set to `hidden`, it will hide legal text related to the reuse of a payment method.
108
+ attr_reader :payment_method_reuse_agreement
109
+ # If set to `auto`, enables the collection of customer consent for promotional communications. The Checkout
110
+ # Session will determine whether to display an option to opt into promotional communication
111
+ # from the merchant depending on the customer's locale. Only available to US merchants.
112
+ attr_reader :promotions
113
+ # If set to `required`, it requires customers to accept the terms of service before being able to pay.
114
+ attr_reader :terms_of_service
115
+ end
116
+
117
+ class CurrencyConversion < Stripe::StripeObject
118
+ # Total of all items in source currency before discounts or taxes are applied.
119
+ attr_reader :amount_subtotal
120
+ # Total of all items in source currency after discounts and taxes are applied.
121
+ attr_reader :amount_total
122
+ # Exchange rate used to convert source currency amounts to customer currency amounts
123
+ attr_reader :fx_rate
124
+ # Creation currency of the CheckoutSession before localization
125
+ attr_reader :source_currency
126
+ end
127
+
128
+ class CustomField < Stripe::StripeObject
129
+ class Dropdown < Stripe::StripeObject
130
+ class Option < Stripe::StripeObject
131
+ # The label for the option, displayed to the customer. Up to 100 characters.
132
+ attr_reader :label
133
+ # 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.
134
+ attr_reader :value
135
+ end
136
+ # The value that will pre-fill on the payment page.
137
+ attr_reader :default_value
138
+ # The options available for the customer to select. Up to 200 options allowed.
139
+ attr_reader :options
140
+ # The option selected by the customer. This will be the `value` for the option.
141
+ attr_reader :value
142
+ end
143
+
144
+ class Label < Stripe::StripeObject
145
+ # Custom text for the label, displayed to the customer. Up to 50 characters.
146
+ attr_reader :custom
147
+ # The type of the label.
148
+ attr_reader :type
149
+ end
150
+
151
+ class Numeric < Stripe::StripeObject
152
+ # The value that will pre-fill the field on the payment page.
153
+ attr_reader :default_value
154
+ # The maximum character length constraint for the customer's input.
155
+ attr_reader :maximum_length
156
+ # The minimum character length requirement for the customer's input.
157
+ attr_reader :minimum_length
158
+ # The value entered by the customer, containing only digits.
159
+ attr_reader :value
160
+ end
161
+
162
+ class Text < Stripe::StripeObject
163
+ # The value that will pre-fill the field on the payment page.
164
+ attr_reader :default_value
165
+ # The maximum character length constraint for the customer's input.
166
+ attr_reader :maximum_length
167
+ # The minimum character length requirement for the customer's input.
168
+ attr_reader :minimum_length
169
+ # The value entered by the customer.
170
+ attr_reader :value
171
+ end
172
+ # Attribute for field dropdown
173
+ attr_reader :dropdown
174
+ # 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.
175
+ attr_reader :key
176
+ # Attribute for field label
177
+ attr_reader :label
178
+ # Attribute for field numeric
179
+ attr_reader :numeric
180
+ # Whether the customer is required to complete the field before completing the Checkout Session. Defaults to `false`.
181
+ attr_reader :optional
182
+ # Attribute for field text
183
+ attr_reader :text
184
+ # The type of the field.
185
+ attr_reader :type
186
+ end
187
+
188
+ class CustomText < Stripe::StripeObject
189
+ class AfterSubmit < Stripe::StripeObject
190
+ # Text may be up to 1200 characters in length.
191
+ attr_reader :message
192
+ end
193
+
194
+ class ShippingAddress < Stripe::StripeObject
195
+ # Text may be up to 1200 characters in length.
196
+ attr_reader :message
197
+ end
198
+
199
+ class Submit < Stripe::StripeObject
200
+ # Text may be up to 1200 characters in length.
201
+ attr_reader :message
202
+ end
203
+
204
+ class TermsOfServiceAcceptance < Stripe::StripeObject
205
+ # Text may be up to 1200 characters in length.
206
+ attr_reader :message
207
+ end
208
+ # Custom text that should be displayed after the payment confirmation button.
209
+ attr_reader :after_submit
210
+ # Custom text that should be displayed alongside shipping address collection.
211
+ attr_reader :shipping_address
212
+ # Custom text that should be displayed alongside the payment confirmation button.
213
+ attr_reader :submit
214
+ # Custom text that should be displayed in place of the default terms of service agreement text.
215
+ attr_reader :terms_of_service_acceptance
216
+ end
217
+
218
+ class CustomerDetails < Stripe::StripeObject
219
+ class Address < Stripe::StripeObject
220
+ # City, district, suburb, town, or village.
221
+ attr_reader :city
222
+ # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
223
+ attr_reader :country
224
+ # Address line 1 (e.g., street, PO Box, or company name).
225
+ attr_reader :line1
226
+ # Address line 2 (e.g., apartment, suite, unit, or building).
227
+ attr_reader :line2
228
+ # ZIP or postal code.
229
+ attr_reader :postal_code
230
+ # State, county, province, or region.
231
+ attr_reader :state
232
+ end
233
+
234
+ class TaxId < Stripe::StripeObject
235
+ # The type of the tax ID, one of `ad_nrt`, `ar_cuit`, `eu_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `cn_tin`, `co_nit`, `cr_tin`, `do_rcn`, `ec_ruc`, `eu_oss_vat`, `hr_oib`, `pe_ruc`, `ro_tin`, `rs_pib`, `sv_nit`, `uy_ruc`, `ve_rif`, `vn_tin`, `gb_vat`, `nz_gst`, `au_abn`, `au_arn`, `in_gst`, `no_vat`, `no_voec`, `za_vat`, `ch_vat`, `mx_rfc`, `sg_uen`, `ru_inn`, `ru_kpp`, `ca_bn`, `hk_br`, `es_cif`, `tw_vat`, `th_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `li_uid`, `li_vat`, `my_itn`, `us_ein`, `kr_brn`, `ca_qst`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `my_sst`, `sg_gst`, `ae_trn`, `cl_tin`, `sa_vat`, `id_npwp`, `my_frp`, `il_vat`, `ge_vat`, `ua_vat`, `is_vat`, `bg_uic`, `hu_tin`, `si_tin`, `ke_pin`, `tr_tin`, `eg_tin`, `ph_tin`, `al_tin`, `bh_vat`, `kz_bin`, `ng_tin`, `om_vat`, `de_stn`, `ch_uid`, `tz_vat`, `uz_vat`, `uz_tin`, `md_vat`, `ma_vat`, `by_tin`, `ao_tin`, `bs_tin`, `bb_tin`, `cd_nif`, `mr_nif`, `me_pib`, `zw_tin`, `ba_tin`, `gn_nif`, `mk_vat`, `sr_fin`, `sn_ninea`, `am_tin`, `np_pan`, `tj_tin`, `ug_tin`, `zm_tin`, `kh_tin`, or `unknown`
236
+ attr_reader :type
237
+ # The value of the tax ID.
238
+ attr_reader :value
239
+ end
240
+ # The customer's address after a completed Checkout Session. Note: This property is populated only for sessions on or after March 30, 2022.
241
+ attr_reader :address
242
+ # The email associated with the Customer, if one exists, on the Checkout Session after a completed Checkout Session or at time of session expiry.
243
+ # Otherwise, if the customer has consented to promotional content, this value is the most recent valid email provided by the customer on the Checkout form.
244
+ attr_reader :email
245
+ # The customer's name after a completed Checkout Session. Note: This property is populated only for sessions on or after March 30, 2022.
246
+ attr_reader :name
247
+ # The customer's phone number after a completed Checkout Session.
248
+ attr_reader :phone
249
+ # The customer’s tax exempt status after a completed Checkout Session.
250
+ attr_reader :tax_exempt
251
+ # The customer’s tax IDs after a completed Checkout Session.
252
+ attr_reader :tax_ids
253
+ end
254
+
255
+ class Discount < Stripe::StripeObject
256
+ # Coupon attached to the Checkout Session.
257
+ attr_reader :coupon
258
+ # Promotion code attached to the Checkout Session.
259
+ attr_reader :promotion_code
260
+ end
261
+
262
+ class InvoiceCreation < Stripe::StripeObject
263
+ class InvoiceData < Stripe::StripeObject
264
+ class CustomField < Stripe::StripeObject
265
+ # The name of the custom field.
266
+ attr_reader :name
267
+ # The value of the custom field.
268
+ attr_reader :value
269
+ end
270
+
271
+ class Issuer < Stripe::StripeObject
272
+ # The connected account being referenced when `type` is `account`.
273
+ attr_reader :account
274
+ # Type of the account referenced.
275
+ attr_reader :type
276
+ end
277
+
278
+ class RenderingOptions < Stripe::StripeObject
279
+ # How line-item prices and amounts will be displayed with respect to tax on invoice PDFs.
280
+ attr_reader :amount_tax_display
281
+ end
282
+ # The account tax IDs associated with the invoice.
283
+ attr_reader :account_tax_ids
284
+ # Custom fields displayed on the invoice.
285
+ attr_reader :custom_fields
286
+ # An arbitrary string attached to the object. Often useful for displaying to users.
287
+ attr_reader :description
288
+ # Footer displayed on the invoice.
289
+ attr_reader :footer
290
+ # The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.
291
+ attr_reader :issuer
292
+ # 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.
293
+ attr_reader :metadata
294
+ # Options for invoice PDF rendering.
295
+ attr_reader :rendering_options
296
+ end
297
+ # Indicates whether invoice creation is enabled for the Checkout Session.
298
+ attr_reader :enabled
299
+ # Attribute for field invoice_data
300
+ attr_reader :invoice_data
301
+ end
302
+
303
+ class OptionalItem < Stripe::StripeObject
304
+ class AdjustableQuantity < Stripe::StripeObject
305
+ # Set to true if the quantity can be adjusted to any non-negative integer.
306
+ attr_reader :enabled
307
+ # The maximum quantity of this item the customer can purchase. By default this value is 99. You can specify a value up to 999999.
308
+ attr_reader :maximum
309
+ # The minimum quantity of this item the customer must purchase, if they choose to purchase it. Because this item is optional, the customer will always be able to remove it from their order, even if the `minimum` configured here is greater than 0. By default this value is 0.
310
+ attr_reader :minimum
311
+ end
312
+ # Attribute for field adjustable_quantity
313
+ attr_reader :adjustable_quantity
314
+ # Attribute for field price
315
+ attr_reader :price
316
+ # Attribute for field quantity
317
+ attr_reader :quantity
318
+ end
319
+
320
+ class PaymentMethodConfigurationDetails < Stripe::StripeObject
321
+ # ID of the payment method configuration used.
322
+ attr_reader :id
323
+ # ID of the parent payment method configuration used.
324
+ attr_reader :parent
325
+ end
326
+
327
+ class PaymentMethodOptions < Stripe::StripeObject
328
+ class AcssDebit < Stripe::StripeObject
329
+ class MandateOptions < Stripe::StripeObject
330
+ # A URL for custom mandate text
331
+ attr_reader :custom_mandate_url
332
+ # List of Stripe products where this mandate can be selected automatically. Returned when the Session is in `setup` mode.
333
+ attr_reader :default_for
334
+ # Description of the interval. Only required if the 'payment_schedule' parameter is 'interval' or 'combined'.
335
+ attr_reader :interval_description
336
+ # Payment schedule for the mandate.
337
+ attr_reader :payment_schedule
338
+ # Transaction type of the mandate.
339
+ attr_reader :transaction_type
340
+ end
341
+ # Currency supported by the bank account. Returned when the Session is in `setup` mode.
342
+ attr_reader :currency
343
+ # Attribute for field mandate_options
344
+ attr_reader :mandate_options
345
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
346
+ #
347
+ # 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.
348
+ #
349
+ # 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.
350
+ #
351
+ # 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).
352
+ attr_reader :setup_future_usage
353
+ # Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now.
354
+ attr_reader :target_date
355
+ # Bank account verification method.
356
+ attr_reader :verification_method
357
+ end
358
+
359
+ class Affirm < Stripe::StripeObject
360
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
361
+ #
362
+ # 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.
363
+ #
364
+ # 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.
365
+ #
366
+ # 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).
367
+ attr_reader :setup_future_usage
368
+ end
369
+
370
+ class AfterpayClearpay < Stripe::StripeObject
371
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
372
+ #
373
+ # 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.
374
+ #
375
+ # 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.
376
+ #
377
+ # 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).
378
+ attr_reader :setup_future_usage
379
+ end
380
+
381
+ class Alipay < Stripe::StripeObject
382
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
383
+ #
384
+ # 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.
385
+ #
386
+ # 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.
387
+ #
388
+ # 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).
389
+ attr_reader :setup_future_usage
390
+ end
391
+
392
+ class AmazonPay < Stripe::StripeObject
393
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
394
+ #
395
+ # 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.
396
+ #
397
+ # 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.
398
+ #
399
+ # 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).
400
+ attr_reader :setup_future_usage
401
+ end
402
+
403
+ class AuBecsDebit < Stripe::StripeObject
404
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
405
+ #
406
+ # 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.
407
+ #
408
+ # 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.
409
+ #
410
+ # 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).
411
+ attr_reader :setup_future_usage
412
+ # Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now.
413
+ attr_reader :target_date
414
+ end
415
+
416
+ class BacsDebit < Stripe::StripeObject
417
+ class MandateOptions < Stripe::StripeObject
418
+ # 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'.
419
+ attr_reader :reference_prefix
420
+ end
421
+ # Attribute for field mandate_options
422
+ attr_reader :mandate_options
423
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
424
+ #
425
+ # 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.
426
+ #
427
+ # 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.
428
+ #
429
+ # 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).
430
+ attr_reader :setup_future_usage
431
+ # Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now.
432
+ attr_reader :target_date
433
+ end
434
+
435
+ class Bancontact < Stripe::StripeObject
436
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
437
+ #
438
+ # 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.
439
+ #
440
+ # 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.
441
+ #
442
+ # 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).
443
+ attr_reader :setup_future_usage
444
+ end
445
+
446
+ class Boleto < Stripe::StripeObject
447
+ # 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 voucher will expire on Wednesday at 23:59 America/Sao_Paulo time.
448
+ attr_reader :expires_after_days
449
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
450
+ #
451
+ # 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.
452
+ #
453
+ # 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.
454
+ #
455
+ # 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).
456
+ attr_reader :setup_future_usage
457
+ end
458
+
459
+ class Card < Stripe::StripeObject
460
+ class Installments < Stripe::StripeObject
461
+ # Indicates if installments are enabled
462
+ attr_reader :enabled
463
+ end
464
+
465
+ class Restrictions < Stripe::StripeObject
466
+ # Specify the card brands to block in the Checkout Session. If a customer enters or selects a card belonging to a blocked brand, they can't complete the Session.
467
+ attr_reader :brands_blocked
468
+ end
469
+ # Attribute for field installments
470
+ attr_reader :installments
471
+ # Request ability to [capture beyond the standard authorization validity window](/payments/extended-authorization) for this CheckoutSession.
472
+ attr_reader :request_extended_authorization
473
+ # Request ability to [increment the authorization](/payments/incremental-authorization) for this CheckoutSession.
474
+ attr_reader :request_incremental_authorization
475
+ # Request ability to make [multiple captures](/payments/multicapture) for this CheckoutSession.
476
+ attr_reader :request_multicapture
477
+ # Request ability to [overcapture](/payments/overcapture) for this CheckoutSession.
478
+ attr_reader :request_overcapture
479
+ # 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.
480
+ attr_reader :request_three_d_secure
481
+ # Attribute for field restrictions
482
+ attr_reader :restrictions
483
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
484
+ #
485
+ # 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.
486
+ #
487
+ # 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.
488
+ #
489
+ # 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).
490
+ attr_reader :setup_future_usage
491
+ # 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.
492
+ attr_reader :statement_descriptor_suffix_kana
493
+ # 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.
494
+ attr_reader :statement_descriptor_suffix_kanji
495
+ end
496
+
497
+ class Cashapp < Stripe::StripeObject
498
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
499
+ #
500
+ # 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.
501
+ #
502
+ # 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.
503
+ #
504
+ # 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).
505
+ attr_reader :setup_future_usage
506
+ end
507
+
508
+ class CustomerBalance < Stripe::StripeObject
509
+ class BankTransfer < Stripe::StripeObject
510
+ class EuBankTransfer < Stripe::StripeObject
511
+ # The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`.
512
+ attr_reader :country
513
+ end
514
+ # Attribute for field eu_bank_transfer
515
+ attr_reader :eu_bank_transfer
516
+ # List of address types that should be returned in the financial_addresses response. If not specified, all valid types will be returned.
517
+ #
518
+ # Permitted values include: `sort_code`, `zengin`, `iban`, or `spei`.
519
+ attr_reader :requested_address_types
520
+ # The bank transfer type that this PaymentIntent is allowed to use for funding Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, `mx_bank_transfer`, or `us_bank_transfer`.
521
+ attr_reader :type
522
+ end
523
+ # Attribute for field bank_transfer
524
+ attr_reader :bank_transfer
525
+ # The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`.
526
+ attr_reader :funding_type
527
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
528
+ #
529
+ # 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.
530
+ #
531
+ # 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.
532
+ #
533
+ # 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).
534
+ attr_reader :setup_future_usage
535
+ end
536
+
537
+ class Eps < Stripe::StripeObject
538
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
539
+ #
540
+ # 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.
541
+ #
542
+ # 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.
543
+ #
544
+ # 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).
545
+ attr_reader :setup_future_usage
546
+ end
547
+
548
+ class Fpx < Stripe::StripeObject
549
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
550
+ #
551
+ # 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.
552
+ #
553
+ # 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.
554
+ #
555
+ # 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).
556
+ attr_reader :setup_future_usage
557
+ end
558
+
559
+ class Giropay < Stripe::StripeObject
560
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
561
+ #
562
+ # 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.
563
+ #
564
+ # 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.
565
+ #
566
+ # 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).
567
+ attr_reader :setup_future_usage
568
+ end
569
+
570
+ class Grabpay < Stripe::StripeObject
571
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
572
+ #
573
+ # 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.
574
+ #
575
+ # 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.
576
+ #
577
+ # 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).
578
+ attr_reader :setup_future_usage
579
+ end
580
+
581
+ class Ideal < Stripe::StripeObject
582
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
583
+ #
584
+ # 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.
585
+ #
586
+ # 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.
587
+ #
588
+ # 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).
589
+ attr_reader :setup_future_usage
590
+ end
591
+
592
+ class KakaoPay < Stripe::StripeObject
593
+ # Controls when the funds will be captured from the customer's account.
594
+ attr_reader :capture_method
595
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
596
+ #
597
+ # 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.
598
+ #
599
+ # 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.
600
+ #
601
+ # 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).
602
+ attr_reader :setup_future_usage
603
+ end
604
+
605
+ class Klarna < Stripe::StripeObject
606
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
607
+ #
608
+ # 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.
609
+ #
610
+ # 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.
611
+ #
612
+ # 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).
613
+ attr_reader :setup_future_usage
614
+ end
615
+
616
+ class Konbini < Stripe::StripeObject
617
+ # 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.
618
+ attr_reader :expires_after_days
619
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
620
+ #
621
+ # 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.
622
+ #
623
+ # 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.
624
+ #
625
+ # 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).
626
+ attr_reader :setup_future_usage
627
+ end
628
+
629
+ class KrCard < Stripe::StripeObject
630
+ # Controls when the funds will be captured from the customer's account.
631
+ attr_reader :capture_method
632
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
633
+ #
634
+ # 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.
635
+ #
636
+ # 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.
637
+ #
638
+ # 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).
639
+ attr_reader :setup_future_usage
640
+ end
641
+
642
+ class Link < Stripe::StripeObject
643
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
644
+ #
645
+ # 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.
646
+ #
647
+ # 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.
648
+ #
649
+ # 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).
650
+ attr_reader :setup_future_usage
651
+ end
652
+
653
+ class Mobilepay < Stripe::StripeObject
654
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
655
+ #
656
+ # 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.
657
+ #
658
+ # 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.
659
+ #
660
+ # 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).
661
+ attr_reader :setup_future_usage
662
+ end
663
+
664
+ class Multibanco < Stripe::StripeObject
665
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
666
+ #
667
+ # 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.
668
+ #
669
+ # 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.
670
+ #
671
+ # 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).
672
+ attr_reader :setup_future_usage
673
+ end
674
+
675
+ class NaverPay < Stripe::StripeObject
676
+ # Controls when the funds will be captured from the customer's account.
677
+ attr_reader :capture_method
678
+ end
679
+
680
+ class Oxxo < Stripe::StripeObject
681
+ # The number of calendar days before an OXXO invoice expires. For example, if you create an OXXO invoice on Monday and you set expires_after_days to 2, the OXXO invoice will expire on Wednesday at 23:59 America/Mexico_City time.
682
+ attr_reader :expires_after_days
683
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
684
+ #
685
+ # 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.
686
+ #
687
+ # 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.
688
+ #
689
+ # 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).
690
+ attr_reader :setup_future_usage
691
+ end
692
+
693
+ class P24 < Stripe::StripeObject
694
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
695
+ #
696
+ # 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.
697
+ #
698
+ # 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.
699
+ #
700
+ # 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).
701
+ attr_reader :setup_future_usage
702
+ end
703
+
704
+ class Payco < Stripe::StripeObject
705
+ # Controls when the funds will be captured from the customer's account.
706
+ attr_reader :capture_method
707
+ end
708
+
709
+ class Paynow < Stripe::StripeObject
710
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
711
+ #
712
+ # 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.
713
+ #
714
+ # 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.
715
+ #
716
+ # 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).
717
+ attr_reader :setup_future_usage
718
+ end
719
+
720
+ class Paypal < Stripe::StripeObject
721
+ # Controls when the funds will be captured from the customer's account.
722
+ attr_reader :capture_method
723
+ # Preferred locale of the PayPal checkout page that the customer is redirected to.
724
+ attr_reader :preferred_locale
725
+ # 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.
726
+ attr_reader :reference
727
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
728
+ #
729
+ # 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.
730
+ #
731
+ # 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.
732
+ #
733
+ # 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).
734
+ attr_reader :setup_future_usage
735
+ end
736
+
737
+ class Pix < Stripe::StripeObject
738
+ # The number of seconds after which Pix payment will expire.
739
+ attr_reader :expires_after_seconds
740
+ end
741
+
742
+ class RevolutPay < Stripe::StripeObject
743
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
744
+ #
745
+ # 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.
746
+ #
747
+ # 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.
748
+ #
749
+ # 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).
750
+ attr_reader :setup_future_usage
751
+ end
752
+
753
+ class SamsungPay < Stripe::StripeObject
754
+ # Controls when the funds will be captured from the customer's account.
755
+ attr_reader :capture_method
756
+ end
757
+
758
+ class SepaDebit < Stripe::StripeObject
759
+ class MandateOptions < Stripe::StripeObject
760
+ # 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'.
761
+ attr_reader :reference_prefix
762
+ end
763
+ # Attribute for field mandate_options
764
+ attr_reader :mandate_options
765
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
766
+ #
767
+ # 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.
768
+ #
769
+ # 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.
770
+ #
771
+ # 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).
772
+ attr_reader :setup_future_usage
773
+ # Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now.
774
+ attr_reader :target_date
775
+ end
776
+
777
+ class Sofort < Stripe::StripeObject
778
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
779
+ #
780
+ # 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.
781
+ #
782
+ # 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.
783
+ #
784
+ # 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).
785
+ attr_reader :setup_future_usage
786
+ end
787
+
788
+ class Swish < Stripe::StripeObject
789
+ # The order reference that will be displayed to customers in the Swish application. Defaults to the `id` of the Payment Intent.
790
+ attr_reader :reference
791
+ end
792
+
793
+ class UsBankAccount < Stripe::StripeObject
794
+ class FinancialConnections < Stripe::StripeObject
795
+ class Filters < Stripe::StripeObject
796
+ # The account subcategories to use to filter for possible accounts to link. Valid subcategories are `checking` and `savings`.
797
+ attr_reader :account_subcategories
798
+ end
799
+ # Attribute for field filters
800
+ attr_reader :filters
801
+ # The list of permissions to request. The `payment_method` permission must be included.
802
+ attr_reader :permissions
803
+ # Data features requested to be retrieved upon account creation.
804
+ attr_reader :prefetch
805
+ # For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app.
806
+ attr_reader :return_url
807
+ end
808
+ # Attribute for field financial_connections
809
+ attr_reader :financial_connections
810
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
811
+ #
812
+ # 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.
813
+ #
814
+ # 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.
815
+ #
816
+ # 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).
817
+ attr_reader :setup_future_usage
818
+ # Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now.
819
+ attr_reader :target_date
820
+ # Bank account verification method.
821
+ attr_reader :verification_method
822
+ end
823
+ # Attribute for field acss_debit
824
+ attr_reader :acss_debit
825
+ # Attribute for field affirm
826
+ attr_reader :affirm
827
+ # Attribute for field afterpay_clearpay
828
+ attr_reader :afterpay_clearpay
829
+ # Attribute for field alipay
830
+ attr_reader :alipay
831
+ # Attribute for field amazon_pay
832
+ attr_reader :amazon_pay
833
+ # Attribute for field au_becs_debit
834
+ attr_reader :au_becs_debit
835
+ # Attribute for field bacs_debit
836
+ attr_reader :bacs_debit
837
+ # Attribute for field bancontact
838
+ attr_reader :bancontact
839
+ # Attribute for field boleto
840
+ attr_reader :boleto
841
+ # Attribute for field card
842
+ attr_reader :card
843
+ # Attribute for field cashapp
844
+ attr_reader :cashapp
845
+ # Attribute for field customer_balance
846
+ attr_reader :customer_balance
847
+ # Attribute for field eps
848
+ attr_reader :eps
849
+ # Attribute for field fpx
850
+ attr_reader :fpx
851
+ # Attribute for field giropay
852
+ attr_reader :giropay
853
+ # Attribute for field grabpay
854
+ attr_reader :grabpay
855
+ # Attribute for field ideal
856
+ attr_reader :ideal
857
+ # Attribute for field kakao_pay
858
+ attr_reader :kakao_pay
859
+ # Attribute for field klarna
860
+ attr_reader :klarna
861
+ # Attribute for field konbini
862
+ attr_reader :konbini
863
+ # Attribute for field kr_card
864
+ attr_reader :kr_card
865
+ # Attribute for field link
866
+ attr_reader :link
867
+ # Attribute for field mobilepay
868
+ attr_reader :mobilepay
869
+ # Attribute for field multibanco
870
+ attr_reader :multibanco
871
+ # Attribute for field naver_pay
872
+ attr_reader :naver_pay
873
+ # Attribute for field oxxo
874
+ attr_reader :oxxo
875
+ # Attribute for field p24
876
+ attr_reader :p24
877
+ # Attribute for field payco
878
+ attr_reader :payco
879
+ # Attribute for field paynow
880
+ attr_reader :paynow
881
+ # Attribute for field paypal
882
+ attr_reader :paypal
883
+ # Attribute for field pix
884
+ attr_reader :pix
885
+ # Attribute for field revolut_pay
886
+ attr_reader :revolut_pay
887
+ # Attribute for field samsung_pay
888
+ attr_reader :samsung_pay
889
+ # Attribute for field sepa_debit
890
+ attr_reader :sepa_debit
891
+ # Attribute for field sofort
892
+ attr_reader :sofort
893
+ # Attribute for field swish
894
+ attr_reader :swish
895
+ # Attribute for field us_bank_account
896
+ attr_reader :us_bank_account
897
+ end
898
+
899
+ class Permissions < Stripe::StripeObject
900
+ # Determines which entity is allowed to update the shipping details.
901
+ #
902
+ # 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.
903
+ #
904
+ # 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.
905
+ attr_reader :update_shipping_details
906
+ end
907
+
908
+ class PhoneNumberCollection < Stripe::StripeObject
909
+ # Indicates whether phone number collection is enabled for the session
910
+ attr_reader :enabled
911
+ end
912
+
913
+ class PresentmentDetails < Stripe::StripeObject
914
+ # Amount intended to be collected by this payment, denominated in presentment_currency.
915
+ attr_reader :presentment_amount
916
+ # Currency presented to the customer during payment.
917
+ attr_reader :presentment_currency
918
+ end
919
+
920
+ class SavedPaymentMethodOptions < Stripe::StripeObject
921
+ # 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.
922
+ attr_reader :allow_redisplay_filters
923
+ # Enable customers to choose if they wish to remove their saved payment methods. Disabled by default.
924
+ attr_reader :payment_method_remove
925
+ # Enable customers to choose if they wish to save their payment method for future use. Disabled by default.
926
+ attr_reader :payment_method_save
927
+ end
928
+
929
+ class ShippingAddressCollection < Stripe::StripeObject
930
+ # An array of two-letter ISO country codes representing which countries Checkout should provide as options for
931
+ # shipping locations. Unsupported country codes: `AS, CX, CC, CU, HM, IR, KP, MH, FM, NF, MP, PW, SY, UM, VI`.
932
+ attr_reader :allowed_countries
933
+ end
934
+
935
+ class ShippingCost < Stripe::StripeObject
936
+ class Tax < Stripe::StripeObject
937
+ # Amount of tax applied for this rate.
938
+ attr_reader :amount
939
+ # Tax rates can be applied to [invoices](/invoicing/taxes/tax-rates), [subscriptions](/billing/taxes/tax-rates) and [Checkout Sessions](/payments/checkout/use-manual-tax-rates) to collect tax.
940
+ #
941
+ # Related guide: [Tax rates](/billing/taxes/tax-rates)
942
+ attr_reader :rate
943
+ # The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported.
944
+ attr_reader :taxability_reason
945
+ # The amount on which tax is calculated, in cents (or local equivalent).
946
+ attr_reader :taxable_amount
947
+ end
948
+ # Total shipping cost before any discounts or taxes are applied.
949
+ attr_reader :amount_subtotal
950
+ # Total tax amount applied due to shipping costs. If no tax was applied, defaults to 0.
951
+ attr_reader :amount_tax
952
+ # Total shipping cost after discounts and taxes are applied.
953
+ attr_reader :amount_total
954
+ # The ID of the ShippingRate for this order.
955
+ attr_reader :shipping_rate
956
+ # The taxes applied to the shipping rate.
957
+ attr_reader :taxes
958
+ end
959
+
960
+ class ShippingOption < Stripe::StripeObject
961
+ # A non-negative integer in cents representing how much to charge.
962
+ attr_reader :shipping_amount
963
+ # The shipping rate.
964
+ attr_reader :shipping_rate
965
+ end
966
+
967
+ class TaxIdCollection < Stripe::StripeObject
968
+ # Indicates whether tax ID collection is enabled for the session
969
+ attr_reader :enabled
970
+ # Indicates whether a tax ID is required on the payment page
971
+ attr_reader :required
972
+ end
973
+
974
+ class TotalDetails < Stripe::StripeObject
975
+ class Breakdown < Stripe::StripeObject
976
+ class Discount < Stripe::StripeObject
977
+ # The amount discounted.
978
+ attr_reader :amount
979
+ # A discount represents the actual application of a [coupon](https://stripe.com/docs/api#coupons) or [promotion code](https://stripe.com/docs/api#promotion_codes).
980
+ # It contains information about when the discount began, when it will end, and what it is applied to.
981
+ #
982
+ # Related guide: [Applying discounts to subscriptions](https://stripe.com/docs/billing/subscriptions/discounts)
983
+ attr_reader :discount
984
+ end
985
+
986
+ class Tax < Stripe::StripeObject
987
+ # Amount of tax applied for this rate.
988
+ attr_reader :amount
989
+ # Tax rates can be applied to [invoices](/invoicing/taxes/tax-rates), [subscriptions](/billing/taxes/tax-rates) and [Checkout Sessions](/payments/checkout/use-manual-tax-rates) to collect tax.
990
+ #
991
+ # Related guide: [Tax rates](/billing/taxes/tax-rates)
992
+ attr_reader :rate
993
+ # The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported.
994
+ attr_reader :taxability_reason
995
+ # The amount on which tax is calculated, in cents (or local equivalent).
996
+ attr_reader :taxable_amount
997
+ end
998
+ # The aggregated discounts.
999
+ attr_reader :discounts
1000
+ # The aggregated tax amounts by rate.
1001
+ attr_reader :taxes
1002
+ end
1003
+ # This is the sum of all the discounts.
1004
+ attr_reader :amount_discount
1005
+ # This is the sum of all the shipping amounts.
1006
+ attr_reader :amount_shipping
1007
+ # This is the sum of all the tax amounts.
1008
+ attr_reader :amount_tax
1009
+ # Attribute for field breakdown
1010
+ attr_reader :breakdown
1011
+ end
1012
+
1013
+ class ListParams < Stripe::RequestParams
1014
+ class Created < Stripe::RequestParams
1015
+ # Minimum value to filter by (exclusive)
1016
+ attr_accessor :gt
1017
+ # Minimum value to filter by (inclusive)
1018
+ attr_accessor :gte
1019
+ # Maximum value to filter by (exclusive)
1020
+ attr_accessor :lt
1021
+ # Maximum value to filter by (inclusive)
1022
+ attr_accessor :lte
1023
+
1024
+ def initialize(gt: nil, gte: nil, lt: nil, lte: nil)
1025
+ @gt = gt
1026
+ @gte = gte
1027
+ @lt = lt
1028
+ @lte = lte
1029
+ end
1030
+ end
1031
+
1032
+ class CustomerDetails < Stripe::RequestParams
1033
+ # Customer's email address.
1034
+ attr_accessor :email
1035
+
1036
+ def initialize(email: nil)
1037
+ @email = email
1038
+ end
1039
+ end
1040
+ # Only return Checkout Sessions that were created during the given date interval.
1041
+ attr_accessor :created
1042
+ # Only return the Checkout Sessions for the Customer specified.
1043
+ attr_accessor :customer
1044
+ # Only return the Checkout Sessions for the Customer details specified.
1045
+ attr_accessor :customer_details
1046
+ # 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.
1047
+ attr_accessor :ending_before
1048
+ # Specifies which fields in the response should be expanded.
1049
+ attr_accessor :expand
1050
+ # A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
1051
+ attr_accessor :limit
1052
+ # Only return the Checkout Session for the PaymentIntent specified.
1053
+ attr_accessor :payment_intent
1054
+ # Only return the Checkout Sessions for the Payment Link specified.
1055
+ attr_accessor :payment_link
1056
+ # 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.
1057
+ attr_accessor :starting_after
1058
+ # Only return the Checkout Sessions matching the given status.
1059
+ attr_accessor :status
1060
+ # Only return the Checkout Session for the subscription specified.
1061
+ attr_accessor :subscription
1062
+
1063
+ def initialize(
1064
+ created: nil,
1065
+ customer: nil,
1066
+ customer_details: nil,
1067
+ ending_before: nil,
1068
+ expand: nil,
1069
+ limit: nil,
1070
+ payment_intent: nil,
1071
+ payment_link: nil,
1072
+ starting_after: nil,
1073
+ status: nil,
1074
+ subscription: nil
1075
+ )
1076
+ @created = created
1077
+ @customer = customer
1078
+ @customer_details = customer_details
1079
+ @ending_before = ending_before
1080
+ @expand = expand
1081
+ @limit = limit
1082
+ @payment_intent = payment_intent
1083
+ @payment_link = payment_link
1084
+ @starting_after = starting_after
1085
+ @status = status
1086
+ @subscription = subscription
1087
+ end
1088
+ end
1089
+
1090
+ class CreateParams < Stripe::RequestParams
1091
+ class AdaptivePricing < Stripe::RequestParams
1092
+ # 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).
1093
+ attr_accessor :enabled
1094
+
1095
+ def initialize(enabled: nil)
1096
+ @enabled = enabled
1097
+ end
1098
+ end
1099
+
1100
+ class AfterExpiration < Stripe::RequestParams
1101
+ class Recovery < Stripe::RequestParams
1102
+ # Enables user redeemable promotion codes on the recovered Checkout Sessions. Defaults to `false`
1103
+ attr_accessor :allow_promotion_codes
1104
+ # If `true`, a recovery URL will be generated to recover this Checkout Session if it
1105
+ # expires before a successful transaction is completed. It will be attached to the
1106
+ # Checkout Session object upon expiration.
1107
+ attr_accessor :enabled
1108
+
1109
+ def initialize(allow_promotion_codes: nil, enabled: nil)
1110
+ @allow_promotion_codes = allow_promotion_codes
1111
+ @enabled = enabled
1112
+ end
1113
+ end
1114
+ # Configure a Checkout Session that can be used to recover an expired session.
1115
+ attr_accessor :recovery
1116
+
1117
+ def initialize(recovery: nil)
1118
+ @recovery = recovery
1119
+ end
1120
+ end
1121
+
1122
+ class AutomaticTax < Stripe::RequestParams
1123
+ class Liability < Stripe::RequestParams
1124
+ # The connected account being referenced when `type` is `account`.
1125
+ attr_accessor :account
1126
+ # Type of the account referenced in the request.
1127
+ attr_accessor :type
1128
+
1129
+ def initialize(account: nil, type: nil)
1130
+ @account = account
1131
+ @type = type
1132
+ end
1133
+ end
1134
+ # Set to `true` to [calculate tax automatically](https://docs.stripe.com/tax) using the customer's location.
1135
+ #
1136
+ # Enabling this parameter causes Checkout to collect any billing address information necessary for tax calculation.
1137
+ attr_accessor :enabled
1138
+ # 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.
1139
+ attr_accessor :liability
1140
+
1141
+ def initialize(enabled: nil, liability: nil)
1142
+ @enabled = enabled
1143
+ @liability = liability
1144
+ end
1145
+ end
1146
+
1147
+ class ConsentCollection < Stripe::RequestParams
1148
+ class PaymentMethodReuseAgreement < Stripe::RequestParams
1149
+ # Determines the position and visibility of the payment method reuse agreement in the UI. When set to `auto`, Stripe's
1150
+ # defaults will be used. When set to `hidden`, the payment method reuse agreement text will always be hidden in the UI.
1151
+ attr_accessor :position
1152
+
1153
+ def initialize(position: nil)
1154
+ @position = position
1155
+ end
1156
+ end
1157
+ # 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.
1158
+ attr_accessor :payment_method_reuse_agreement
1159
+ # If set to `auto`, enables the collection of customer consent for promotional communications. The Checkout
1160
+ # Session will determine whether to display an option to opt into promotional communication
1161
+ # from the merchant depending on the customer's locale. Only available to US merchants.
1162
+ attr_accessor :promotions
1163
+ # If set to `required`, it requires customers to check a terms of service checkbox before being able to pay.
1164
+ # There must be a valid terms of service URL set in your [Dashboard settings](https://dashboard.stripe.com/settings/public).
1165
+ attr_accessor :terms_of_service
1166
+
1167
+ def initialize(
1168
+ payment_method_reuse_agreement: nil,
1169
+ promotions: nil,
1170
+ terms_of_service: nil
1171
+ )
1172
+ @payment_method_reuse_agreement = payment_method_reuse_agreement
1173
+ @promotions = promotions
1174
+ @terms_of_service = terms_of_service
1175
+ end
1176
+ end
1177
+
1178
+ class CustomField < Stripe::RequestParams
1179
+ class Dropdown < Stripe::RequestParams
1180
+ class Option < Stripe::RequestParams
1181
+ # The label for the option, displayed to the customer. Up to 100 characters.
1182
+ attr_accessor :label
1183
+ # 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.
1184
+ attr_accessor :value
1185
+
1186
+ def initialize(label: nil, value: nil)
1187
+ @label = label
1188
+ @value = value
1189
+ end
1190
+ end
1191
+ # The value that will pre-fill the field on the payment page.Must match a `value` in the `options` array.
1192
+ attr_accessor :default_value
1193
+ # The options available for the customer to select. Up to 200 options allowed.
1194
+ attr_accessor :options
1195
+
1196
+ def initialize(default_value: nil, options: nil)
1197
+ @default_value = default_value
1198
+ @options = options
1199
+ end
1200
+ end
1201
+
1202
+ class Label < Stripe::RequestParams
1203
+ # Custom text for the label, displayed to the customer. Up to 50 characters.
1204
+ attr_accessor :custom
1205
+ # The type of the label.
1206
+ attr_accessor :type
1207
+
1208
+ def initialize(custom: nil, type: nil)
1209
+ @custom = custom
1210
+ @type = type
1211
+ end
1212
+ end
1213
+
1214
+ class Numeric < Stripe::RequestParams
1215
+ # The value that will pre-fill the field on the payment page.
1216
+ attr_accessor :default_value
1217
+ # The maximum character length constraint for the customer's input.
1218
+ attr_accessor :maximum_length
1219
+ # The minimum character length requirement for the customer's input.
1220
+ attr_accessor :minimum_length
1221
+
1222
+ def initialize(default_value: nil, maximum_length: nil, minimum_length: nil)
1223
+ @default_value = default_value
1224
+ @maximum_length = maximum_length
1225
+ @minimum_length = minimum_length
1226
+ end
1227
+ end
1228
+
1229
+ class Text < Stripe::RequestParams
1230
+ # The value that will pre-fill the field on the payment page.
1231
+ attr_accessor :default_value
1232
+ # The maximum character length constraint for the customer's input.
1233
+ attr_accessor :maximum_length
1234
+ # The minimum character length requirement for the customer's input.
1235
+ attr_accessor :minimum_length
1236
+
1237
+ def initialize(default_value: nil, maximum_length: nil, minimum_length: nil)
1238
+ @default_value = default_value
1239
+ @maximum_length = maximum_length
1240
+ @minimum_length = minimum_length
1241
+ end
1242
+ end
1243
+ # Configuration for `type=dropdown` fields.
1244
+ attr_accessor :dropdown
1245
+ # 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.
1246
+ attr_accessor :key
1247
+ # The label for the field, displayed to the customer.
1248
+ attr_accessor :label
1249
+ # Configuration for `type=numeric` fields.
1250
+ attr_accessor :numeric
1251
+ # Whether the customer is required to complete the field before completing the Checkout Session. Defaults to `false`.
1252
+ attr_accessor :optional
1253
+ # Configuration for `type=text` fields.
1254
+ attr_accessor :text
1255
+ # The type of the field.
1256
+ attr_accessor :type
1257
+
1258
+ def initialize(
1259
+ dropdown: nil,
1260
+ key: nil,
1261
+ label: nil,
1262
+ numeric: nil,
1263
+ optional: nil,
1264
+ text: nil,
1265
+ type: nil
1266
+ )
1267
+ @dropdown = dropdown
1268
+ @key = key
1269
+ @label = label
1270
+ @numeric = numeric
1271
+ @optional = optional
1272
+ @text = text
1273
+ @type = type
1274
+ end
1275
+ end
1276
+
1277
+ class CustomText < Stripe::RequestParams
1278
+ class AfterSubmit < Stripe::RequestParams
1279
+ # Text may be up to 1200 characters in length.
1280
+ attr_accessor :message
1281
+
1282
+ def initialize(message: nil)
1283
+ @message = message
1284
+ end
1285
+ end
1286
+
1287
+ class ShippingAddress < Stripe::RequestParams
1288
+ # Text may be up to 1200 characters in length.
1289
+ attr_accessor :message
1290
+
1291
+ def initialize(message: nil)
1292
+ @message = message
1293
+ end
1294
+ end
1295
+
1296
+ class Submit < Stripe::RequestParams
1297
+ # Text may be up to 1200 characters in length.
1298
+ attr_accessor :message
1299
+
1300
+ def initialize(message: nil)
1301
+ @message = message
1302
+ end
1303
+ end
1304
+
1305
+ class TermsOfServiceAcceptance < Stripe::RequestParams
1306
+ # Text may be up to 1200 characters in length.
1307
+ attr_accessor :message
1308
+
1309
+ def initialize(message: nil)
1310
+ @message = message
1311
+ end
1312
+ end
1313
+ # Custom text that should be displayed after the payment confirmation button.
1314
+ attr_accessor :after_submit
1315
+ # Custom text that should be displayed alongside shipping address collection.
1316
+ attr_accessor :shipping_address
1317
+ # Custom text that should be displayed alongside the payment confirmation button.
1318
+ attr_accessor :submit
1319
+ # Custom text that should be displayed in place of the default terms of service agreement text.
1320
+ attr_accessor :terms_of_service_acceptance
1321
+
1322
+ def initialize(
1323
+ after_submit: nil,
1324
+ shipping_address: nil,
1325
+ submit: nil,
1326
+ terms_of_service_acceptance: nil
1327
+ )
1328
+ @after_submit = after_submit
1329
+ @shipping_address = shipping_address
1330
+ @submit = submit
1331
+ @terms_of_service_acceptance = terms_of_service_acceptance
1332
+ end
1333
+ end
1334
+
1335
+ class CustomerUpdate < Stripe::RequestParams
1336
+ # Describes whether Checkout saves the billing address onto `customer.address`.
1337
+ # To always collect a full billing address, use `billing_address_collection`. Defaults to `never`.
1338
+ attr_accessor :address
1339
+ # Describes whether Checkout saves the name onto `customer.name`. Defaults to `never`.
1340
+ attr_accessor :name
1341
+ # Describes whether Checkout saves shipping information onto `customer.shipping`.
1342
+ # To collect shipping information, use `shipping_address_collection`. Defaults to `never`.
1343
+ attr_accessor :shipping
1344
+
1345
+ def initialize(address: nil, name: nil, shipping: nil)
1346
+ @address = address
1347
+ @name = name
1348
+ @shipping = shipping
1349
+ end
1350
+ end
1351
+
1352
+ class Discount < Stripe::RequestParams
1353
+ # The ID of the coupon to apply to this Session.
1354
+ attr_accessor :coupon
1355
+ # The ID of a promotion code to apply to this Session.
1356
+ attr_accessor :promotion_code
1357
+
1358
+ def initialize(coupon: nil, promotion_code: nil)
1359
+ @coupon = coupon
1360
+ @promotion_code = promotion_code
1361
+ end
1362
+ end
1363
+
1364
+ class InvoiceCreation < Stripe::RequestParams
1365
+ class InvoiceData < Stripe::RequestParams
1366
+ class CustomField < Stripe::RequestParams
1367
+ # The name of the custom field. This may be up to 40 characters.
1368
+ attr_accessor :name
1369
+ # The value of the custom field. This may be up to 140 characters.
1370
+ attr_accessor :value
1371
+
1372
+ def initialize(name: nil, value: nil)
1373
+ @name = name
1374
+ @value = value
1375
+ end
1376
+ end
1377
+
1378
+ class Issuer < Stripe::RequestParams
1379
+ # The connected account being referenced when `type` is `account`.
1380
+ attr_accessor :account
1381
+ # Type of the account referenced in the request.
1382
+ attr_accessor :type
1383
+
1384
+ def initialize(account: nil, type: nil)
1385
+ @account = account
1386
+ @type = type
1387
+ end
1388
+ end
1389
+
1390
+ class RenderingOptions < Stripe::RequestParams
1391
+ # 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.
1392
+ attr_accessor :amount_tax_display
1393
+
1394
+ def initialize(amount_tax_display: nil)
1395
+ @amount_tax_display = amount_tax_display
1396
+ end
1397
+ end
1398
+ # The account tax IDs associated with the invoice.
1399
+ attr_accessor :account_tax_ids
1400
+ # Default custom fields to be displayed on invoices for this customer.
1401
+ attr_accessor :custom_fields
1402
+ # An arbitrary string attached to the object. Often useful for displaying to users.
1403
+ attr_accessor :description
1404
+ # Default footer to be displayed on invoices for this customer.
1405
+ attr_accessor :footer
1406
+ # The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.
1407
+ attr_accessor :issuer
1408
+ # 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`.
1409
+ attr_accessor :metadata
1410
+ # Default options for invoice PDF rendering for this customer.
1411
+ attr_accessor :rendering_options
1412
+
1413
+ def initialize(
1414
+ account_tax_ids: nil,
1415
+ custom_fields: nil,
1416
+ description: nil,
1417
+ footer: nil,
1418
+ issuer: nil,
1419
+ metadata: nil,
1420
+ rendering_options: nil
1421
+ )
1422
+ @account_tax_ids = account_tax_ids
1423
+ @custom_fields = custom_fields
1424
+ @description = description
1425
+ @footer = footer
1426
+ @issuer = issuer
1427
+ @metadata = metadata
1428
+ @rendering_options = rendering_options
1429
+ end
1430
+ end
1431
+ # Set to `true` to enable invoice creation.
1432
+ attr_accessor :enabled
1433
+ # Parameters passed when creating invoices for payment-mode Checkout Sessions.
1434
+ attr_accessor :invoice_data
1435
+
1436
+ def initialize(enabled: nil, invoice_data: nil)
1437
+ @enabled = enabled
1438
+ @invoice_data = invoice_data
1439
+ end
1440
+ end
1441
+
1442
+ class LineItem < Stripe::RequestParams
1443
+ class AdjustableQuantity < Stripe::RequestParams
1444
+ # Set to true if the quantity can be adjusted to any non-negative integer.
1445
+ attr_accessor :enabled
1446
+ # 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.
1447
+ attr_accessor :maximum
1448
+ # The minimum quantity the customer must purchase for the Checkout Session. By default this value is 0.
1449
+ attr_accessor :minimum
1450
+
1451
+ def initialize(enabled: nil, maximum: nil, minimum: nil)
1452
+ @enabled = enabled
1453
+ @maximum = maximum
1454
+ @minimum = minimum
1455
+ end
1456
+ end
1457
+
1458
+ class PriceData < Stripe::RequestParams
1459
+ class ProductData < Stripe::RequestParams
1460
+ # 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.
1461
+ attr_accessor :description
1462
+ # A list of up to 8 URLs of images for this product, meant to be displayable to the customer.
1463
+ attr_accessor :images
1464
+ # 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`.
1465
+ attr_accessor :metadata
1466
+ # The product's name, meant to be displayable to the customer.
1467
+ attr_accessor :name
1468
+ # A [tax code](https://stripe.com/docs/tax/tax-categories) ID.
1469
+ attr_accessor :tax_code
1470
+
1471
+ def initialize(description: nil, images: nil, metadata: nil, name: nil, tax_code: nil)
1472
+ @description = description
1473
+ @images = images
1474
+ @metadata = metadata
1475
+ @name = name
1476
+ @tax_code = tax_code
1477
+ end
1478
+ end
1479
+
1480
+ class Recurring < Stripe::RequestParams
1481
+ # Specifies billing frequency. Either `day`, `week`, `month` or `year`.
1482
+ attr_accessor :interval
1483
+ # 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).
1484
+ attr_accessor :interval_count
1485
+
1486
+ def initialize(interval: nil, interval_count: nil)
1487
+ @interval = interval
1488
+ @interval_count = interval_count
1489
+ end
1490
+ end
1491
+ # 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).
1492
+ attr_accessor :currency
1493
+ # The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to. One of `product` or `product_data` is required.
1494
+ attr_accessor :product
1495
+ # Data used to generate a new [Product](https://docs.stripe.com/api/products) object inline. One of `product` or `product_data` is required.
1496
+ attr_accessor :product_data
1497
+ # The recurring components of a price such as `interval` and `interval_count`.
1498
+ attr_accessor :recurring
1499
+ # 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.
1500
+ attr_accessor :tax_behavior
1501
+ # A non-negative integer in cents (or local equivalent) representing how much to charge. One of `unit_amount` or `unit_amount_decimal` is required.
1502
+ attr_accessor :unit_amount
1503
+ # 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.
1504
+ attr_accessor :unit_amount_decimal
1505
+
1506
+ def initialize(
1507
+ currency: nil,
1508
+ product: nil,
1509
+ product_data: nil,
1510
+ recurring: nil,
1511
+ tax_behavior: nil,
1512
+ unit_amount: nil,
1513
+ unit_amount_decimal: nil
1514
+ )
1515
+ @currency = currency
1516
+ @product = product
1517
+ @product_data = product_data
1518
+ @recurring = recurring
1519
+ @tax_behavior = tax_behavior
1520
+ @unit_amount = unit_amount
1521
+ @unit_amount_decimal = unit_amount_decimal
1522
+ end
1523
+ end
1524
+ # When set, provides configuration for this item’s quantity to be adjusted by the customer during Checkout.
1525
+ attr_accessor :adjustable_quantity
1526
+ # 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.
1527
+ attr_accessor :dynamic_tax_rates
1528
+ # 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.
1529
+ attr_accessor :price
1530
+ # Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required.
1531
+ attr_accessor :price_data
1532
+ # The quantity of the line item being purchased. Quantity should not be defined when `recurring.usage_type=metered`.
1533
+ attr_accessor :quantity
1534
+ # The [tax rates](https://stripe.com/docs/api/tax_rates) which apply to this line item.
1535
+ attr_accessor :tax_rates
1536
+
1537
+ def initialize(
1538
+ adjustable_quantity: nil,
1539
+ dynamic_tax_rates: nil,
1540
+ price: nil,
1541
+ price_data: nil,
1542
+ quantity: nil,
1543
+ tax_rates: nil
1544
+ )
1545
+ @adjustable_quantity = adjustable_quantity
1546
+ @dynamic_tax_rates = dynamic_tax_rates
1547
+ @price = price
1548
+ @price_data = price_data
1549
+ @quantity = quantity
1550
+ @tax_rates = tax_rates
1551
+ end
1552
+ end
1553
+
1554
+ class OptionalItem < Stripe::RequestParams
1555
+ class AdjustableQuantity < Stripe::RequestParams
1556
+ # Set to true if the quantity can be adjusted to any non-negative integer.
1557
+ attr_accessor :enabled
1558
+ # The maximum quantity of this item the customer can purchase. By default this value is 99. You can specify a value up to 999999.
1559
+ attr_accessor :maximum
1560
+ # The minimum quantity of this item the customer must purchase, if they choose to purchase it. Because this item is optional, the customer will always be able to remove it from their order, even if the `minimum` configured here is greater than 0. By default this value is 0.
1561
+ attr_accessor :minimum
1562
+
1563
+ def initialize(enabled: nil, maximum: nil, minimum: nil)
1564
+ @enabled = enabled
1565
+ @maximum = maximum
1566
+ @minimum = minimum
1567
+ end
1568
+ end
1569
+ # When set, provides configuration for the customer to adjust the quantity of the line item created when a customer chooses to add this optional item to their order.
1570
+ attr_accessor :adjustable_quantity
1571
+ # The ID of the [Price](https://stripe.com/docs/api/prices) or [Plan](https://stripe.com/docs/api/plans) object.
1572
+ attr_accessor :price
1573
+ # The initial quantity of the line item created when a customer chooses to add this optional item to their order.
1574
+ attr_accessor :quantity
1575
+
1576
+ def initialize(adjustable_quantity: nil, price: nil, quantity: nil)
1577
+ @adjustable_quantity = adjustable_quantity
1578
+ @price = price
1579
+ @quantity = quantity
1580
+ end
1581
+ end
1582
+
1583
+ class PaymentIntentData < Stripe::RequestParams
1584
+ class Shipping < Stripe::RequestParams
1585
+ class Address < Stripe::RequestParams
1586
+ # City, district, suburb, town, or village.
1587
+ attr_accessor :city
1588
+ # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
1589
+ attr_accessor :country
1590
+ # Address line 1 (e.g., street, PO Box, or company name).
1591
+ attr_accessor :line1
1592
+ # Address line 2 (e.g., apartment, suite, unit, or building).
1593
+ attr_accessor :line2
1594
+ # ZIP or postal code.
1595
+ attr_accessor :postal_code
1596
+ # State, county, province, or region.
1597
+ attr_accessor :state
1598
+
1599
+ def initialize(
1600
+ city: nil,
1601
+ country: nil,
1602
+ line1: nil,
1603
+ line2: nil,
1604
+ postal_code: nil,
1605
+ state: nil
1606
+ )
1607
+ @city = city
1608
+ @country = country
1609
+ @line1 = line1
1610
+ @line2 = line2
1611
+ @postal_code = postal_code
1612
+ @state = state
1613
+ end
1614
+ end
1615
+ # Shipping address.
1616
+ attr_accessor :address
1617
+ # The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc.
1618
+ attr_accessor :carrier
1619
+ # Recipient name.
1620
+ attr_accessor :name
1621
+ # Recipient phone (including extension).
1622
+ attr_accessor :phone
1623
+ # 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.
1624
+ attr_accessor :tracking_number
1625
+
1626
+ def initialize(address: nil, carrier: nil, name: nil, phone: nil, tracking_number: nil)
1627
+ @address = address
1628
+ @carrier = carrier
1629
+ @name = name
1630
+ @phone = phone
1631
+ @tracking_number = tracking_number
1632
+ end
1633
+ end
1634
+
1635
+ class TransferData < Stripe::RequestParams
1636
+ # The amount that will be transferred automatically when a charge succeeds.
1637
+ attr_accessor :amount
1638
+ # If specified, successful charges will be attributed to the destination
1639
+ # account for tax reporting, and the funds from charges will be transferred
1640
+ # to the destination account. The ID of the resulting transfer will be
1641
+ # returned on the successful charge's `transfer` field.
1642
+ attr_accessor :destination
1643
+
1644
+ def initialize(amount: nil, destination: nil)
1645
+ @amount = amount
1646
+ @destination = destination
1647
+ end
1648
+ end
1649
+ # 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 amount captured. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts).
1650
+ attr_accessor :application_fee_amount
1651
+ # Controls when the funds will be captured from the customer's account.
1652
+ attr_accessor :capture_method
1653
+ # An arbitrary string attached to the object. Often useful for displaying to users.
1654
+ attr_accessor :description
1655
+ # 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`.
1656
+ attr_accessor :metadata
1657
+ # The Stripe account ID for which these funds are intended. For details,
1658
+ # see the PaymentIntents [use case for connected
1659
+ # accounts](/docs/payments/connected-accounts).
1660
+ attr_accessor :on_behalf_of
1661
+ # 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).
1662
+ attr_accessor :receipt_email
1663
+ # Indicates that you intend to [make future payments](https://stripe.com/docs/payments/payment-intents#future-usage) with the payment
1664
+ # method collected by this Checkout Session.
1665
+ #
1666
+ # When setting this to `on_session`, Checkout will show a notice to the
1667
+ # customer that their payment details will be saved.
1668
+ #
1669
+ # When setting this to `off_session`, Checkout will show a notice to the
1670
+ # customer that their payment details will be saved and used for future
1671
+ # payments.
1672
+ #
1673
+ # If a Customer has been provided or Checkout creates a new Customer,
1674
+ # Checkout will attach the payment method to the Customer.
1675
+ #
1676
+ # If Checkout does not create a Customer, the payment method is not attached
1677
+ # to a Customer. To reuse the payment method, you can retrieve it from the
1678
+ # Checkout Session's PaymentIntent.
1679
+ #
1680
+ # When processing card payments, Checkout also uses `setup_future_usage`
1681
+ # to dynamically optimize your payment flow and comply with regional
1682
+ # legislation and network rules, such as SCA.
1683
+ attr_accessor :setup_future_usage
1684
+ # Shipping information for this payment.
1685
+ attr_accessor :shipping
1686
+ # 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).
1687
+ #
1688
+ # 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.
1689
+ attr_accessor :statement_descriptor
1690
+ # 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.
1691
+ attr_accessor :statement_descriptor_suffix
1692
+ # The parameters used to automatically create a Transfer when the payment succeeds.
1693
+ # For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts).
1694
+ attr_accessor :transfer_data
1695
+ # 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.
1696
+ attr_accessor :transfer_group
1697
+
1698
+ def initialize(
1699
+ application_fee_amount: nil,
1700
+ capture_method: nil,
1701
+ description: nil,
1702
+ metadata: nil,
1703
+ on_behalf_of: nil,
1704
+ receipt_email: nil,
1705
+ setup_future_usage: nil,
1706
+ shipping: nil,
1707
+ statement_descriptor: nil,
1708
+ statement_descriptor_suffix: nil,
1709
+ transfer_data: nil,
1710
+ transfer_group: nil
1711
+ )
1712
+ @application_fee_amount = application_fee_amount
1713
+ @capture_method = capture_method
1714
+ @description = description
1715
+ @metadata = metadata
1716
+ @on_behalf_of = on_behalf_of
1717
+ @receipt_email = receipt_email
1718
+ @setup_future_usage = setup_future_usage
1719
+ @shipping = shipping
1720
+ @statement_descriptor = statement_descriptor
1721
+ @statement_descriptor_suffix = statement_descriptor_suffix
1722
+ @transfer_data = transfer_data
1723
+ @transfer_group = transfer_group
1724
+ end
1725
+ end
1726
+
1727
+ class PaymentMethodData < Stripe::RequestParams
1728
+ # 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.
1729
+ attr_accessor :allow_redisplay
1730
+
1731
+ def initialize(allow_redisplay: nil)
1732
+ @allow_redisplay = allow_redisplay
1733
+ end
1734
+ end
1735
+
1736
+ class PaymentMethodOptions < Stripe::RequestParams
1737
+ class AcssDebit < Stripe::RequestParams
1738
+ class MandateOptions < Stripe::RequestParams
1739
+ # A URL for custom mandate text to render during confirmation step.
1740
+ # The URL will be rendered with additional GET parameters `payment_intent` and `payment_intent_client_secret` when confirming a Payment Intent,
1741
+ # or `setup_intent` and `setup_intent_client_secret` when confirming a Setup Intent.
1742
+ attr_accessor :custom_mandate_url
1743
+ # List of Stripe products where this mandate can be selected automatically. Only usable in `setup` mode.
1744
+ attr_accessor :default_for
1745
+ # Description of the mandate interval. Only required if 'payment_schedule' parameter is 'interval' or 'combined'.
1746
+ attr_accessor :interval_description
1747
+ # Payment schedule for the mandate.
1748
+ attr_accessor :payment_schedule
1749
+ # Transaction type of the mandate.
1750
+ attr_accessor :transaction_type
1751
+
1752
+ def initialize(
1753
+ custom_mandate_url: nil,
1754
+ default_for: nil,
1755
+ interval_description: nil,
1756
+ payment_schedule: nil,
1757
+ transaction_type: nil
1758
+ )
1759
+ @custom_mandate_url = custom_mandate_url
1760
+ @default_for = default_for
1761
+ @interval_description = interval_description
1762
+ @payment_schedule = payment_schedule
1763
+ @transaction_type = transaction_type
1764
+ end
1765
+ end
1766
+ # 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.
1767
+ attr_accessor :currency
1768
+ # Additional fields for Mandate creation
1769
+ attr_accessor :mandate_options
1770
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1771
+ #
1772
+ # 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.
1773
+ #
1774
+ # 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.
1775
+ #
1776
+ # 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).
1777
+ attr_accessor :setup_future_usage
1778
+ # Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now.
1779
+ attr_accessor :target_date
1780
+ # Verification method for the intent
1781
+ attr_accessor :verification_method
1782
+
1783
+ def initialize(
1784
+ currency: nil,
1785
+ mandate_options: nil,
1786
+ setup_future_usage: nil,
1787
+ target_date: nil,
1788
+ verification_method: nil
1789
+ )
1790
+ @currency = currency
1791
+ @mandate_options = mandate_options
1792
+ @setup_future_usage = setup_future_usage
1793
+ @target_date = target_date
1794
+ @verification_method = verification_method
1795
+ end
1796
+ end
1797
+
1798
+ class Affirm < Stripe::RequestParams
1799
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1800
+ #
1801
+ # 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.
1802
+ #
1803
+ # 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.
1804
+ #
1805
+ # 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).
1806
+ attr_accessor :setup_future_usage
1807
+
1808
+ def initialize(setup_future_usage: nil)
1809
+ @setup_future_usage = setup_future_usage
1810
+ end
1811
+ end
1812
+
1813
+ class AfterpayClearpay < Stripe::RequestParams
1814
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1815
+ #
1816
+ # 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.
1817
+ #
1818
+ # 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.
1819
+ #
1820
+ # 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).
1821
+ attr_accessor :setup_future_usage
1822
+
1823
+ def initialize(setup_future_usage: nil)
1824
+ @setup_future_usage = setup_future_usage
1825
+ end
1826
+ end
1827
+
1828
+ class Alipay < Stripe::RequestParams
1829
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1830
+ #
1831
+ # 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.
1832
+ #
1833
+ # 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.
1834
+ #
1835
+ # 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).
1836
+ attr_accessor :setup_future_usage
1837
+
1838
+ def initialize(setup_future_usage: nil)
1839
+ @setup_future_usage = setup_future_usage
1840
+ end
1841
+ end
1842
+
1843
+ class AmazonPay < Stripe::RequestParams
1844
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1845
+ #
1846
+ # 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.
1847
+ #
1848
+ # 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.
1849
+ #
1850
+ # 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).
1851
+ attr_accessor :setup_future_usage
1852
+
1853
+ def initialize(setup_future_usage: nil)
1854
+ @setup_future_usage = setup_future_usage
1855
+ end
1856
+ end
1857
+
1858
+ class AuBecsDebit < Stripe::RequestParams
1859
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1860
+ #
1861
+ # 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.
1862
+ #
1863
+ # 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.
1864
+ #
1865
+ # 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).
1866
+ attr_accessor :setup_future_usage
1867
+ # Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now.
1868
+ attr_accessor :target_date
1869
+
1870
+ def initialize(setup_future_usage: nil, target_date: nil)
1871
+ @setup_future_usage = setup_future_usage
1872
+ @target_date = target_date
1873
+ end
1874
+ end
1875
+
1876
+ class BacsDebit < Stripe::RequestParams
1877
+ class MandateOptions < Stripe::RequestParams
1878
+ # 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'.
1879
+ attr_accessor :reference_prefix
1880
+
1881
+ def initialize(reference_prefix: nil)
1882
+ @reference_prefix = reference_prefix
1883
+ end
1884
+ end
1885
+ # Additional fields for Mandate creation
1886
+ attr_accessor :mandate_options
1887
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1888
+ #
1889
+ # 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.
1890
+ #
1891
+ # 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.
1892
+ #
1893
+ # 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).
1894
+ attr_accessor :setup_future_usage
1895
+ # Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now.
1896
+ attr_accessor :target_date
1897
+
1898
+ def initialize(mandate_options: nil, setup_future_usage: nil, target_date: nil)
1899
+ @mandate_options = mandate_options
1900
+ @setup_future_usage = setup_future_usage
1901
+ @target_date = target_date
1902
+ end
1903
+ end
1904
+
1905
+ class Bancontact < Stripe::RequestParams
1906
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1907
+ #
1908
+ # 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.
1909
+ #
1910
+ # 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.
1911
+ #
1912
+ # 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).
1913
+ attr_accessor :setup_future_usage
1914
+
1915
+ def initialize(setup_future_usage: nil)
1916
+ @setup_future_usage = setup_future_usage
1917
+ end
1918
+ end
1919
+
1920
+ class Boleto < Stripe::RequestParams
1921
+ # 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.
1922
+ attr_accessor :expires_after_days
1923
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1924
+ #
1925
+ # 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.
1926
+ #
1927
+ # 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.
1928
+ #
1929
+ # 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).
1930
+ attr_accessor :setup_future_usage
1931
+
1932
+ def initialize(expires_after_days: nil, setup_future_usage: nil)
1933
+ @expires_after_days = expires_after_days
1934
+ @setup_future_usage = setup_future_usage
1935
+ end
1936
+ end
1937
+
1938
+ class Card < Stripe::RequestParams
1939
+ class Installments < Stripe::RequestParams
1940
+ # Setting to true enables installments for this Checkout Session.
1941
+ # Setting to false will prevent any installment plan from applying to a payment.
1942
+ attr_accessor :enabled
1943
+
1944
+ def initialize(enabled: nil)
1945
+ @enabled = enabled
1946
+ end
1947
+ end
1948
+
1949
+ class Restrictions < Stripe::RequestParams
1950
+ # Specify the card brands to block in the Checkout Session. If a customer enters or selects a card belonging to a blocked brand, they can't complete the Session.
1951
+ attr_accessor :brands_blocked
1952
+
1953
+ def initialize(brands_blocked: nil)
1954
+ @brands_blocked = brands_blocked
1955
+ end
1956
+ end
1957
+ # Installment options for card payments
1958
+ attr_accessor :installments
1959
+ # Request ability to [capture beyond the standard authorization validity window](/payments/extended-authorization) for this CheckoutSession.
1960
+ attr_accessor :request_extended_authorization
1961
+ # Request ability to [increment the authorization](/payments/incremental-authorization) for this CheckoutSession.
1962
+ attr_accessor :request_incremental_authorization
1963
+ # Request ability to make [multiple captures](/payments/multicapture) for this CheckoutSession.
1964
+ attr_accessor :request_multicapture
1965
+ # Request ability to [overcapture](/payments/overcapture) for this CheckoutSession.
1966
+ attr_accessor :request_overcapture
1967
+ # 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.
1968
+ attr_accessor :request_three_d_secure
1969
+ # Restrictions to apply to the card payment method. For example, you can block specific card brands.
1970
+ attr_accessor :restrictions
1971
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1972
+ #
1973
+ # 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.
1974
+ #
1975
+ # 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.
1976
+ #
1977
+ # 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).
1978
+ attr_accessor :setup_future_usage
1979
+ # 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.
1980
+ attr_accessor :statement_descriptor_suffix_kana
1981
+ # 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.
1982
+ attr_accessor :statement_descriptor_suffix_kanji
1983
+
1984
+ def initialize(
1985
+ installments: nil,
1986
+ request_extended_authorization: nil,
1987
+ request_incremental_authorization: nil,
1988
+ request_multicapture: nil,
1989
+ request_overcapture: nil,
1990
+ request_three_d_secure: nil,
1991
+ restrictions: nil,
1992
+ setup_future_usage: nil,
1993
+ statement_descriptor_suffix_kana: nil,
1994
+ statement_descriptor_suffix_kanji: nil
1995
+ )
1996
+ @installments = installments
1997
+ @request_extended_authorization = request_extended_authorization
1998
+ @request_incremental_authorization = request_incremental_authorization
1999
+ @request_multicapture = request_multicapture
2000
+ @request_overcapture = request_overcapture
2001
+ @request_three_d_secure = request_three_d_secure
2002
+ @restrictions = restrictions
2003
+ @setup_future_usage = setup_future_usage
2004
+ @statement_descriptor_suffix_kana = statement_descriptor_suffix_kana
2005
+ @statement_descriptor_suffix_kanji = statement_descriptor_suffix_kanji
2006
+ end
2007
+ end
2008
+
2009
+ class Cashapp < Stripe::RequestParams
2010
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2011
+ #
2012
+ # 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.
2013
+ #
2014
+ # 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.
2015
+ #
2016
+ # 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).
2017
+ attr_accessor :setup_future_usage
2018
+
2019
+ def initialize(setup_future_usage: nil)
2020
+ @setup_future_usage = setup_future_usage
2021
+ end
2022
+ end
2023
+
2024
+ class CustomerBalance < Stripe::RequestParams
2025
+ class BankTransfer < Stripe::RequestParams
2026
+ class EuBankTransfer < Stripe::RequestParams
2027
+ # The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`.
2028
+ attr_accessor :country
2029
+
2030
+ def initialize(country: nil)
2031
+ @country = country
2032
+ end
2033
+ end
2034
+ # Configuration for eu_bank_transfer funding type.
2035
+ attr_accessor :eu_bank_transfer
2036
+ # List of address types that should be returned in the financial_addresses response. If not specified, all valid types will be returned.
2037
+ #
2038
+ # Permitted values include: `sort_code`, `zengin`, `iban`, or `spei`.
2039
+ attr_accessor :requested_address_types
2040
+ # The list of bank transfer types that this PaymentIntent is allowed to use for funding.
2041
+ attr_accessor :type
2042
+
2043
+ def initialize(eu_bank_transfer: nil, requested_address_types: nil, type: nil)
2044
+ @eu_bank_transfer = eu_bank_transfer
2045
+ @requested_address_types = requested_address_types
2046
+ @type = type
2047
+ end
2048
+ end
2049
+ # Configuration for the bank transfer funding type, if the `funding_type` is set to `bank_transfer`.
2050
+ attr_accessor :bank_transfer
2051
+ # The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`.
2052
+ attr_accessor :funding_type
2053
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2054
+ #
2055
+ # 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.
2056
+ #
2057
+ # 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.
2058
+ #
2059
+ # 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).
2060
+ attr_accessor :setup_future_usage
2061
+
2062
+ def initialize(bank_transfer: nil, funding_type: nil, setup_future_usage: nil)
2063
+ @bank_transfer = bank_transfer
2064
+ @funding_type = funding_type
2065
+ @setup_future_usage = setup_future_usage
2066
+ end
2067
+ end
2068
+
2069
+ class Eps < Stripe::RequestParams
2070
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2071
+ #
2072
+ # 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.
2073
+ #
2074
+ # 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.
2075
+ #
2076
+ # 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).
2077
+ attr_accessor :setup_future_usage
2078
+
2079
+ def initialize(setup_future_usage: nil)
2080
+ @setup_future_usage = setup_future_usage
2081
+ end
2082
+ end
2083
+
2084
+ class Fpx < Stripe::RequestParams
2085
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2086
+ #
2087
+ # 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.
2088
+ #
2089
+ # 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.
2090
+ #
2091
+ # 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).
2092
+ attr_accessor :setup_future_usage
2093
+
2094
+ def initialize(setup_future_usage: nil)
2095
+ @setup_future_usage = setup_future_usage
2096
+ end
2097
+ end
2098
+
2099
+ class Giropay < Stripe::RequestParams
2100
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2101
+ #
2102
+ # 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.
2103
+ #
2104
+ # 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.
2105
+ #
2106
+ # 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).
2107
+ attr_accessor :setup_future_usage
2108
+
2109
+ def initialize(setup_future_usage: nil)
2110
+ @setup_future_usage = setup_future_usage
2111
+ end
2112
+ end
2113
+
2114
+ class Grabpay < Stripe::RequestParams
2115
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2116
+ #
2117
+ # 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.
2118
+ #
2119
+ # 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.
2120
+ #
2121
+ # 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).
2122
+ attr_accessor :setup_future_usage
2123
+
2124
+ def initialize(setup_future_usage: nil)
2125
+ @setup_future_usage = setup_future_usage
2126
+ end
2127
+ end
2128
+
2129
+ class Ideal < Stripe::RequestParams
2130
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2131
+ #
2132
+ # 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.
2133
+ #
2134
+ # 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.
2135
+ #
2136
+ # 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).
2137
+ attr_accessor :setup_future_usage
2138
+
2139
+ def initialize(setup_future_usage: nil)
2140
+ @setup_future_usage = setup_future_usage
2141
+ end
2142
+ end
2143
+
2144
+ class KakaoPay < Stripe::RequestParams
2145
+ # Controls when the funds will be captured from the customer's account.
2146
+ attr_accessor :capture_method
2147
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2148
+ #
2149
+ # 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.
2150
+ #
2151
+ # 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.
2152
+ #
2153
+ # 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).
2154
+ attr_accessor :setup_future_usage
2155
+
2156
+ def initialize(capture_method: nil, setup_future_usage: nil)
2157
+ @capture_method = capture_method
2158
+ @setup_future_usage = setup_future_usage
2159
+ end
2160
+ end
2161
+
2162
+ class Klarna < Stripe::RequestParams
2163
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2164
+ #
2165
+ # 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.
2166
+ #
2167
+ # 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.
2168
+ #
2169
+ # 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).
2170
+ attr_accessor :setup_future_usage
2171
+
2172
+ def initialize(setup_future_usage: nil)
2173
+ @setup_future_usage = setup_future_usage
2174
+ end
2175
+ end
2176
+
2177
+ class Konbini < Stripe::RequestParams
2178
+ # 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.
2179
+ attr_accessor :expires_after_days
2180
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2181
+ #
2182
+ # 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.
2183
+ #
2184
+ # 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.
2185
+ #
2186
+ # 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).
2187
+ attr_accessor :setup_future_usage
2188
+
2189
+ def initialize(expires_after_days: nil, setup_future_usage: nil)
2190
+ @expires_after_days = expires_after_days
2191
+ @setup_future_usage = setup_future_usage
2192
+ end
2193
+ end
2194
+
2195
+ class KrCard < Stripe::RequestParams
2196
+ # Controls when the funds will be captured from the customer's account.
2197
+ attr_accessor :capture_method
2198
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2199
+ #
2200
+ # 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.
2201
+ #
2202
+ # 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.
2203
+ #
2204
+ # 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).
2205
+ attr_accessor :setup_future_usage
2206
+
2207
+ def initialize(capture_method: nil, setup_future_usage: nil)
2208
+ @capture_method = capture_method
2209
+ @setup_future_usage = setup_future_usage
2210
+ end
2211
+ end
2212
+
2213
+ class Link < Stripe::RequestParams
2214
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2215
+ #
2216
+ # 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.
2217
+ #
2218
+ # 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.
2219
+ #
2220
+ # 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).
2221
+ attr_accessor :setup_future_usage
2222
+
2223
+ def initialize(setup_future_usage: nil)
2224
+ @setup_future_usage = setup_future_usage
2225
+ end
2226
+ end
2227
+
2228
+ class Mobilepay < Stripe::RequestParams
2229
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2230
+ #
2231
+ # 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.
2232
+ #
2233
+ # 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.
2234
+ #
2235
+ # 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).
2236
+ attr_accessor :setup_future_usage
2237
+
2238
+ def initialize(setup_future_usage: nil)
2239
+ @setup_future_usage = setup_future_usage
2240
+ end
2241
+ end
2242
+
2243
+ class Multibanco < Stripe::RequestParams
2244
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2245
+ #
2246
+ # 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.
2247
+ #
2248
+ # 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.
2249
+ #
2250
+ # 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).
2251
+ attr_accessor :setup_future_usage
2252
+
2253
+ def initialize(setup_future_usage: nil)
2254
+ @setup_future_usage = setup_future_usage
2255
+ end
2256
+ end
2257
+
2258
+ class NaverPay < Stripe::RequestParams
2259
+ # Controls when the funds will be captured from the customer's account.
2260
+ attr_accessor :capture_method
2261
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2262
+ #
2263
+ # 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.
2264
+ #
2265
+ # 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.
2266
+ #
2267
+ # 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).
2268
+ attr_accessor :setup_future_usage
2269
+
2270
+ def initialize(capture_method: nil, setup_future_usage: nil)
2271
+ @capture_method = capture_method
2272
+ @setup_future_usage = setup_future_usage
2273
+ end
2274
+ end
2275
+
2276
+ class Oxxo < Stripe::RequestParams
2277
+ # 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.
2278
+ attr_accessor :expires_after_days
2279
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2280
+ #
2281
+ # 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.
2282
+ #
2283
+ # 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.
2284
+ #
2285
+ # 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).
2286
+ attr_accessor :setup_future_usage
2287
+
2288
+ def initialize(expires_after_days: nil, setup_future_usage: nil)
2289
+ @expires_after_days = expires_after_days
2290
+ @setup_future_usage = setup_future_usage
2291
+ end
2292
+ end
2293
+
2294
+ class P24 < Stripe::RequestParams
2295
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2296
+ #
2297
+ # 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.
2298
+ #
2299
+ # 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.
2300
+ #
2301
+ # 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).
2302
+ attr_accessor :setup_future_usage
2303
+ # Confirm that the payer has accepted the P24 terms and conditions.
2304
+ attr_accessor :tos_shown_and_accepted
2305
+
2306
+ def initialize(setup_future_usage: nil, tos_shown_and_accepted: nil)
2307
+ @setup_future_usage = setup_future_usage
2308
+ @tos_shown_and_accepted = tos_shown_and_accepted
2309
+ end
2310
+ end
2311
+
2312
+ class PayByBank < Stripe::RequestParams
2313
+ end
2314
+
2315
+ class Payco < Stripe::RequestParams
2316
+ # Controls when the funds will be captured from the customer's account.
2317
+ attr_accessor :capture_method
2318
+
2319
+ def initialize(capture_method: nil)
2320
+ @capture_method = capture_method
2321
+ end
2322
+ end
2323
+
2324
+ class Paynow < Stripe::RequestParams
2325
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2326
+ #
2327
+ # 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.
2328
+ #
2329
+ # 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.
2330
+ #
2331
+ # 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).
2332
+ attr_accessor :setup_future_usage
2333
+
2334
+ def initialize(setup_future_usage: nil)
2335
+ @setup_future_usage = setup_future_usage
2336
+ end
2337
+ end
2338
+
2339
+ class Paypal < Stripe::RequestParams
2340
+ # Controls when the funds will be captured from the customer's account.
2341
+ attr_accessor :capture_method
2342
+ # [Preferred locale](https://stripe.com/docs/payments/paypal/supported-locales) of the PayPal checkout page that the customer is redirected to.
2343
+ attr_accessor :preferred_locale
2344
+ # 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.
2345
+ attr_accessor :reference
2346
+ # The risk correlation ID for an on-session payment using a saved PayPal payment method.
2347
+ attr_accessor :risk_correlation_id
2348
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2349
+ #
2350
+ # 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.
2351
+ #
2352
+ # 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.
2353
+ #
2354
+ # 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).
2355
+ #
2356
+ # 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`.
2357
+ attr_accessor :setup_future_usage
2358
+
2359
+ def initialize(
2360
+ capture_method: nil,
2361
+ preferred_locale: nil,
2362
+ reference: nil,
2363
+ risk_correlation_id: nil,
2364
+ setup_future_usage: nil
2365
+ )
2366
+ @capture_method = capture_method
2367
+ @preferred_locale = preferred_locale
2368
+ @reference = reference
2369
+ @risk_correlation_id = risk_correlation_id
2370
+ @setup_future_usage = setup_future_usage
2371
+ end
2372
+ end
2373
+
2374
+ class Pix < Stripe::RequestParams
2375
+ # The number of seconds (between 10 and 1209600) after which Pix payment will expire. Defaults to 86400 seconds.
2376
+ attr_accessor :expires_after_seconds
2377
+
2378
+ def initialize(expires_after_seconds: nil)
2379
+ @expires_after_seconds = expires_after_seconds
2380
+ end
2381
+ end
2382
+
2383
+ class RevolutPay < Stripe::RequestParams
2384
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2385
+ #
2386
+ # 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.
2387
+ #
2388
+ # 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.
2389
+ #
2390
+ # 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).
2391
+ attr_accessor :setup_future_usage
2392
+
2393
+ def initialize(setup_future_usage: nil)
2394
+ @setup_future_usage = setup_future_usage
2395
+ end
2396
+ end
2397
+
2398
+ class SamsungPay < Stripe::RequestParams
2399
+ # Controls when the funds will be captured from the customer's account.
2400
+ attr_accessor :capture_method
2401
+
2402
+ def initialize(capture_method: nil)
2403
+ @capture_method = capture_method
2404
+ end
2405
+ end
2406
+
2407
+ class SepaDebit < Stripe::RequestParams
2408
+ class MandateOptions < Stripe::RequestParams
2409
+ # 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'.
2410
+ attr_accessor :reference_prefix
2411
+
2412
+ def initialize(reference_prefix: nil)
2413
+ @reference_prefix = reference_prefix
2414
+ end
2415
+ end
2416
+ # Additional fields for Mandate creation
2417
+ attr_accessor :mandate_options
2418
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2419
+ #
2420
+ # 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.
2421
+ #
2422
+ # 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.
2423
+ #
2424
+ # 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).
2425
+ attr_accessor :setup_future_usage
2426
+ # Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now.
2427
+ attr_accessor :target_date
2428
+
2429
+ def initialize(mandate_options: nil, setup_future_usage: nil, target_date: nil)
2430
+ @mandate_options = mandate_options
2431
+ @setup_future_usage = setup_future_usage
2432
+ @target_date = target_date
2433
+ end
2434
+ end
2435
+
2436
+ class Sofort < Stripe::RequestParams
2437
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2438
+ #
2439
+ # 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.
2440
+ #
2441
+ # 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.
2442
+ #
2443
+ # 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).
2444
+ attr_accessor :setup_future_usage
2445
+
2446
+ def initialize(setup_future_usage: nil)
2447
+ @setup_future_usage = setup_future_usage
2448
+ end
2449
+ end
2450
+
2451
+ class Swish < Stripe::RequestParams
2452
+ # The order reference that will be displayed to customers in the Swish application. Defaults to the `id` of the Payment Intent.
2453
+ attr_accessor :reference
2454
+
2455
+ def initialize(reference: nil)
2456
+ @reference = reference
2457
+ end
2458
+ end
2459
+
2460
+ class UsBankAccount < Stripe::RequestParams
2461
+ class FinancialConnections < Stripe::RequestParams
2462
+ # 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`.
2463
+ attr_accessor :permissions
2464
+ # List of data features that you would like to retrieve upon account creation.
2465
+ attr_accessor :prefetch
2466
+
2467
+ def initialize(permissions: nil, prefetch: nil)
2468
+ @permissions = permissions
2469
+ @prefetch = prefetch
2470
+ end
2471
+ end
2472
+ # Additional fields for Financial Connections Session creation
2473
+ attr_accessor :financial_connections
2474
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2475
+ #
2476
+ # 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.
2477
+ #
2478
+ # 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.
2479
+ #
2480
+ # 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).
2481
+ attr_accessor :setup_future_usage
2482
+ # Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now.
2483
+ attr_accessor :target_date
2484
+ # Verification method for the intent
2485
+ attr_accessor :verification_method
2486
+
2487
+ def initialize(
2488
+ financial_connections: nil,
2489
+ setup_future_usage: nil,
2490
+ target_date: nil,
2491
+ verification_method: nil
2492
+ )
2493
+ @financial_connections = financial_connections
2494
+ @setup_future_usage = setup_future_usage
2495
+ @target_date = target_date
2496
+ @verification_method = verification_method
2497
+ end
2498
+ end
2499
+
2500
+ class WechatPay < Stripe::RequestParams
2501
+ # The app ID registered with WeChat Pay. Only required when client is ios or android.
2502
+ attr_accessor :app_id
2503
+ # The client type that the end customer will pay from
2504
+ attr_accessor :client
2505
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2506
+ #
2507
+ # 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.
2508
+ #
2509
+ # 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.
2510
+ #
2511
+ # 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).
2512
+ attr_accessor :setup_future_usage
2513
+
2514
+ def initialize(app_id: nil, client: nil, setup_future_usage: nil)
2515
+ @app_id = app_id
2516
+ @client = client
2517
+ @setup_future_usage = setup_future_usage
2518
+ end
2519
+ end
2520
+ # contains details about the ACSS Debit payment method options.
2521
+ attr_accessor :acss_debit
2522
+ # contains details about the Affirm payment method options.
2523
+ attr_accessor :affirm
2524
+ # contains details about the Afterpay Clearpay payment method options.
2525
+ attr_accessor :afterpay_clearpay
2526
+ # contains details about the Alipay payment method options.
2527
+ attr_accessor :alipay
2528
+ # contains details about the AmazonPay payment method options.
2529
+ attr_accessor :amazon_pay
2530
+ # contains details about the AU Becs Debit payment method options.
2531
+ attr_accessor :au_becs_debit
2532
+ # contains details about the Bacs Debit payment method options.
2533
+ attr_accessor :bacs_debit
2534
+ # contains details about the Bancontact payment method options.
2535
+ attr_accessor :bancontact
2536
+ # contains details about the Boleto payment method options.
2537
+ attr_accessor :boleto
2538
+ # contains details about the Card payment method options.
2539
+ attr_accessor :card
2540
+ # contains details about the Cashapp Pay payment method options.
2541
+ attr_accessor :cashapp
2542
+ # contains details about the Customer Balance payment method options.
2543
+ attr_accessor :customer_balance
2544
+ # contains details about the EPS payment method options.
2545
+ attr_accessor :eps
2546
+ # contains details about the FPX payment method options.
2547
+ attr_accessor :fpx
2548
+ # contains details about the Giropay payment method options.
2549
+ attr_accessor :giropay
2550
+ # contains details about the Grabpay payment method options.
2551
+ attr_accessor :grabpay
2552
+ # contains details about the Ideal payment method options.
2553
+ attr_accessor :ideal
2554
+ # contains details about the Kakao Pay payment method options.
2555
+ attr_accessor :kakao_pay
2556
+ # contains details about the Klarna payment method options.
2557
+ attr_accessor :klarna
2558
+ # contains details about the Konbini payment method options.
2559
+ attr_accessor :konbini
2560
+ # contains details about the Korean card payment method options.
2561
+ attr_accessor :kr_card
2562
+ # contains details about the Link payment method options.
2563
+ attr_accessor :link
2564
+ # contains details about the Mobilepay payment method options.
2565
+ attr_accessor :mobilepay
2566
+ # contains details about the Multibanco payment method options.
2567
+ attr_accessor :multibanco
2568
+ # contains details about the Naver Pay payment method options.
2569
+ attr_accessor :naver_pay
2570
+ # contains details about the OXXO payment method options.
2571
+ attr_accessor :oxxo
2572
+ # contains details about the P24 payment method options.
2573
+ attr_accessor :p24
2574
+ # contains details about the Pay By Bank payment method options.
2575
+ attr_accessor :pay_by_bank
2576
+ # contains details about the PAYCO payment method options.
2577
+ attr_accessor :payco
2578
+ # contains details about the PayNow payment method options.
2579
+ attr_accessor :paynow
2580
+ # contains details about the PayPal payment method options.
2581
+ attr_accessor :paypal
2582
+ # contains details about the Pix payment method options.
2583
+ attr_accessor :pix
2584
+ # contains details about the RevolutPay payment method options.
2585
+ attr_accessor :revolut_pay
2586
+ # contains details about the Samsung Pay payment method options.
2587
+ attr_accessor :samsung_pay
2588
+ # contains details about the Sepa Debit payment method options.
2589
+ attr_accessor :sepa_debit
2590
+ # contains details about the Sofort payment method options.
2591
+ attr_accessor :sofort
2592
+ # contains details about the Swish payment method options.
2593
+ attr_accessor :swish
2594
+ # contains details about the Us Bank Account payment method options.
2595
+ attr_accessor :us_bank_account
2596
+ # contains details about the WeChat Pay payment method options.
2597
+ attr_accessor :wechat_pay
2598
+
2599
+ def initialize(
2600
+ acss_debit: nil,
2601
+ affirm: nil,
2602
+ afterpay_clearpay: nil,
2603
+ alipay: nil,
2604
+ amazon_pay: nil,
2605
+ au_becs_debit: nil,
2606
+ bacs_debit: nil,
2607
+ bancontact: nil,
2608
+ boleto: nil,
2609
+ card: nil,
2610
+ cashapp: nil,
2611
+ customer_balance: nil,
2612
+ eps: nil,
2613
+ fpx: nil,
2614
+ giropay: nil,
2615
+ grabpay: nil,
2616
+ ideal: nil,
2617
+ kakao_pay: nil,
2618
+ klarna: nil,
2619
+ konbini: nil,
2620
+ kr_card: nil,
2621
+ link: nil,
2622
+ mobilepay: nil,
2623
+ multibanco: nil,
2624
+ naver_pay: nil,
2625
+ oxxo: nil,
2626
+ p24: nil,
2627
+ pay_by_bank: nil,
2628
+ payco: nil,
2629
+ paynow: nil,
2630
+ paypal: nil,
2631
+ pix: nil,
2632
+ revolut_pay: nil,
2633
+ samsung_pay: nil,
2634
+ sepa_debit: nil,
2635
+ sofort: nil,
2636
+ swish: nil,
2637
+ us_bank_account: nil,
2638
+ wechat_pay: nil
2639
+ )
2640
+ @acss_debit = acss_debit
2641
+ @affirm = affirm
2642
+ @afterpay_clearpay = afterpay_clearpay
2643
+ @alipay = alipay
2644
+ @amazon_pay = amazon_pay
2645
+ @au_becs_debit = au_becs_debit
2646
+ @bacs_debit = bacs_debit
2647
+ @bancontact = bancontact
2648
+ @boleto = boleto
2649
+ @card = card
2650
+ @cashapp = cashapp
2651
+ @customer_balance = customer_balance
2652
+ @eps = eps
2653
+ @fpx = fpx
2654
+ @giropay = giropay
2655
+ @grabpay = grabpay
2656
+ @ideal = ideal
2657
+ @kakao_pay = kakao_pay
2658
+ @klarna = klarna
2659
+ @konbini = konbini
2660
+ @kr_card = kr_card
2661
+ @link = link
2662
+ @mobilepay = mobilepay
2663
+ @multibanco = multibanco
2664
+ @naver_pay = naver_pay
2665
+ @oxxo = oxxo
2666
+ @p24 = p24
2667
+ @pay_by_bank = pay_by_bank
2668
+ @payco = payco
2669
+ @paynow = paynow
2670
+ @paypal = paypal
2671
+ @pix = pix
2672
+ @revolut_pay = revolut_pay
2673
+ @samsung_pay = samsung_pay
2674
+ @sepa_debit = sepa_debit
2675
+ @sofort = sofort
2676
+ @swish = swish
2677
+ @us_bank_account = us_bank_account
2678
+ @wechat_pay = wechat_pay
2679
+ end
2680
+ end
2681
+
2682
+ class Permissions < Stripe::RequestParams
2683
+ # Determines which entity is allowed to update the shipping details.
2684
+ #
2685
+ # 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.
2686
+ #
2687
+ # 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.
2688
+ attr_accessor :update_shipping_details
2689
+
2690
+ def initialize(update_shipping_details: nil)
2691
+ @update_shipping_details = update_shipping_details
2692
+ end
2693
+ end
2694
+
2695
+ class PhoneNumberCollection < Stripe::RequestParams
2696
+ # Set to `true` to enable phone number collection.
2697
+ #
2698
+ # Can only be set in `payment` and `subscription` mode.
2699
+ attr_accessor :enabled
2700
+
2701
+ def initialize(enabled: nil)
2702
+ @enabled = enabled
2703
+ end
2704
+ end
2705
+
2706
+ class SavedPaymentMethodOptions < Stripe::RequestParams
2707
+ # 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.
2708
+ attr_accessor :allow_redisplay_filters
2709
+ # Enable customers to choose if they wish to save their payment method for future use. Disabled by default.
2710
+ attr_accessor :payment_method_save
2711
+
2712
+ def initialize(allow_redisplay_filters: nil, payment_method_save: nil)
2713
+ @allow_redisplay_filters = allow_redisplay_filters
2714
+ @payment_method_save = payment_method_save
2715
+ end
2716
+ end
2717
+
2718
+ class SetupIntentData < Stripe::RequestParams
2719
+ # An arbitrary string attached to the object. Often useful for displaying to users.
2720
+ attr_accessor :description
2721
+ # 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`.
2722
+ attr_accessor :metadata
2723
+ # The Stripe account for which the setup is intended.
2724
+ attr_accessor :on_behalf_of
2725
+
2726
+ def initialize(description: nil, metadata: nil, on_behalf_of: nil)
2727
+ @description = description
2728
+ @metadata = metadata
2729
+ @on_behalf_of = on_behalf_of
2730
+ end
2731
+ end
2732
+
2733
+ class ShippingAddressCollection < Stripe::RequestParams
2734
+ # An array of two-letter ISO country codes representing which countries Checkout should provide as options for
2735
+ # shipping locations.
2736
+ attr_accessor :allowed_countries
2737
+
2738
+ def initialize(allowed_countries: nil)
2739
+ @allowed_countries = allowed_countries
2740
+ end
2741
+ end
2742
+
2743
+ class ShippingOption < Stripe::RequestParams
2744
+ class ShippingRateData < Stripe::RequestParams
2745
+ class DeliveryEstimate < Stripe::RequestParams
2746
+ class Maximum < Stripe::RequestParams
2747
+ # A unit of time.
2748
+ attr_accessor :unit
2749
+ # Must be greater than 0.
2750
+ attr_accessor :value
2751
+
2752
+ def initialize(unit: nil, value: nil)
2753
+ @unit = unit
2754
+ @value = value
2755
+ end
2756
+ end
2757
+
2758
+ class Minimum < Stripe::RequestParams
2759
+ # A unit of time.
2760
+ attr_accessor :unit
2761
+ # Must be greater than 0.
2762
+ attr_accessor :value
2763
+
2764
+ def initialize(unit: nil, value: nil)
2765
+ @unit = unit
2766
+ @value = value
2767
+ end
2768
+ end
2769
+ # The upper bound of the estimated range. If empty, represents no upper bound i.e., infinite.
2770
+ attr_accessor :maximum
2771
+ # The lower bound of the estimated range. If empty, represents no lower bound.
2772
+ attr_accessor :minimum
2773
+
2774
+ def initialize(maximum: nil, minimum: nil)
2775
+ @maximum = maximum
2776
+ @minimum = minimum
2777
+ end
2778
+ end
2779
+
2780
+ class FixedAmount < Stripe::RequestParams
2781
+ class CurrencyOptions < Stripe::RequestParams
2782
+ # A non-negative integer in cents representing how much to charge.
2783
+ attr_accessor :amount
2784
+ # Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`.
2785
+ attr_accessor :tax_behavior
2786
+
2787
+ def initialize(amount: nil, tax_behavior: nil)
2788
+ @amount = amount
2789
+ @tax_behavior = tax_behavior
2790
+ end
2791
+ end
2792
+ # A non-negative integer in cents representing how much to charge.
2793
+ attr_accessor :amount
2794
+ # 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).
2795
+ attr_accessor :currency
2796
+ # 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).
2797
+ attr_accessor :currency_options
2798
+
2799
+ def initialize(amount: nil, currency: nil, currency_options: nil)
2800
+ @amount = amount
2801
+ @currency = currency
2802
+ @currency_options = currency_options
2803
+ end
2804
+ end
2805
+ # The estimated range for how long shipping will take, meant to be displayable to the customer. This will appear on CheckoutSessions.
2806
+ attr_accessor :delivery_estimate
2807
+ # The name of the shipping rate, meant to be displayable to the customer. This will appear on CheckoutSessions.
2808
+ attr_accessor :display_name
2809
+ # Describes a fixed amount to charge for shipping. Must be present if type is `fixed_amount`.
2810
+ attr_accessor :fixed_amount
2811
+ # 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`.
2812
+ attr_accessor :metadata
2813
+ # Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`.
2814
+ attr_accessor :tax_behavior
2815
+ # A [tax code](https://stripe.com/docs/tax/tax-categories) ID. The Shipping tax code is `txcd_92010001`.
2816
+ attr_accessor :tax_code
2817
+ # The type of calculation to use on the shipping rate.
2818
+ attr_accessor :type
2819
+
2820
+ def initialize(
2821
+ delivery_estimate: nil,
2822
+ display_name: nil,
2823
+ fixed_amount: nil,
2824
+ metadata: nil,
2825
+ tax_behavior: nil,
2826
+ tax_code: nil,
2827
+ type: nil
2828
+ )
2829
+ @delivery_estimate = delivery_estimate
2830
+ @display_name = display_name
2831
+ @fixed_amount = fixed_amount
2832
+ @metadata = metadata
2833
+ @tax_behavior = tax_behavior
2834
+ @tax_code = tax_code
2835
+ @type = type
2836
+ end
2837
+ end
2838
+ # The ID of the Shipping Rate to use for this shipping option.
2839
+ attr_accessor :shipping_rate
2840
+ # Parameters to be passed to Shipping Rate creation for this shipping option.
2841
+ attr_accessor :shipping_rate_data
2842
+
2843
+ def initialize(shipping_rate: nil, shipping_rate_data: nil)
2844
+ @shipping_rate = shipping_rate
2845
+ @shipping_rate_data = shipping_rate_data
2846
+ end
2847
+ end
2848
+
2849
+ class SubscriptionData < Stripe::RequestParams
2850
+ class InvoiceSettings < Stripe::RequestParams
2851
+ class Issuer < Stripe::RequestParams
2852
+ # The connected account being referenced when `type` is `account`.
2853
+ attr_accessor :account
2854
+ # Type of the account referenced in the request.
2855
+ attr_accessor :type
2856
+
2857
+ def initialize(account: nil, type: nil)
2858
+ @account = account
2859
+ @type = type
2860
+ end
2861
+ end
2862
+ # The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.
2863
+ attr_accessor :issuer
2864
+
2865
+ def initialize(issuer: nil)
2866
+ @issuer = issuer
2867
+ end
2868
+ end
2869
+
2870
+ class TransferData < Stripe::RequestParams
2871
+ # 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.
2872
+ attr_accessor :amount_percent
2873
+ # ID of an existing, connected Stripe account.
2874
+ attr_accessor :destination
2875
+
2876
+ def initialize(amount_percent: nil, destination: nil)
2877
+ @amount_percent = amount_percent
2878
+ @destination = destination
2879
+ end
2880
+ end
2881
+
2882
+ class TrialSettings < Stripe::RequestParams
2883
+ class EndBehavior < Stripe::RequestParams
2884
+ # Indicates how the subscription should change when the trial ends if the user did not provide a payment method.
2885
+ attr_accessor :missing_payment_method
2886
+
2887
+ def initialize(missing_payment_method: nil)
2888
+ @missing_payment_method = missing_payment_method
2889
+ end
2890
+ end
2891
+ # Defines how the subscription should behave when the user's free trial ends.
2892
+ attr_accessor :end_behavior
2893
+
2894
+ def initialize(end_behavior: nil)
2895
+ @end_behavior = end_behavior
2896
+ end
2897
+ end
2898
+ # 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).
2899
+ attr_accessor :application_fee_percent
2900
+ # A future timestamp to anchor the subscription's billing cycle for new subscriptions.
2901
+ attr_accessor :billing_cycle_anchor
2902
+ # The tax rates that will apply to any subscription item that does not have
2903
+ # `tax_rates` set. Invoices created will have their `default_tax_rates` populated
2904
+ # from the subscription.
2905
+ attr_accessor :default_tax_rates
2906
+ # The subscription's description, meant to be displayable to the customer.
2907
+ # Use this field to optionally store an explanation of the subscription
2908
+ # for rendering in the [customer portal](https://stripe.com/docs/customer-management).
2909
+ attr_accessor :description
2910
+ # All invoices will be billed using the specified settings.
2911
+ attr_accessor :invoice_settings
2912
+ # 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`.
2913
+ attr_accessor :metadata
2914
+ # The account on behalf of which to charge, for each of the subscription's invoices.
2915
+ attr_accessor :on_behalf_of
2916
+ # Determines how to handle prorations resulting from the `billing_cycle_anchor`. If no value is passed, the default is `create_prorations`.
2917
+ attr_accessor :proration_behavior
2918
+ # 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.
2919
+ attr_accessor :transfer_data
2920
+ # Unix timestamp representing the end of the trial period the customer
2921
+ # will get before being charged for the first time. Has to be at least
2922
+ # 48 hours in the future.
2923
+ attr_accessor :trial_end
2924
+ # Integer representing the number of trial period days before the
2925
+ # customer is charged for the first time. Has to be at least 1.
2926
+ attr_accessor :trial_period_days
2927
+ # Settings related to subscription trials.
2928
+ attr_accessor :trial_settings
2929
+
2930
+ def initialize(
2931
+ application_fee_percent: nil,
2932
+ billing_cycle_anchor: nil,
2933
+ default_tax_rates: nil,
2934
+ description: nil,
2935
+ invoice_settings: nil,
2936
+ metadata: nil,
2937
+ on_behalf_of: nil,
2938
+ proration_behavior: nil,
2939
+ transfer_data: nil,
2940
+ trial_end: nil,
2941
+ trial_period_days: nil,
2942
+ trial_settings: nil
2943
+ )
2944
+ @application_fee_percent = application_fee_percent
2945
+ @billing_cycle_anchor = billing_cycle_anchor
2946
+ @default_tax_rates = default_tax_rates
2947
+ @description = description
2948
+ @invoice_settings = invoice_settings
2949
+ @metadata = metadata
2950
+ @on_behalf_of = on_behalf_of
2951
+ @proration_behavior = proration_behavior
2952
+ @transfer_data = transfer_data
2953
+ @trial_end = trial_end
2954
+ @trial_period_days = trial_period_days
2955
+ @trial_settings = trial_settings
2956
+ end
2957
+ end
2958
+
2959
+ class TaxIdCollection < Stripe::RequestParams
2960
+ # Enable tax ID collection during checkout. Defaults to `false`.
2961
+ attr_accessor :enabled
2962
+ # Describes whether a tax ID is required during checkout. Defaults to `never`.
2963
+ attr_accessor :required
2964
+
2965
+ def initialize(enabled: nil, required: nil)
2966
+ @enabled = enabled
2967
+ @required = required
2968
+ end
2969
+ end
2970
+ # Settings for price localization with [Adaptive Pricing](https://docs.stripe.com/payments/checkout/adaptive-pricing).
2971
+ attr_accessor :adaptive_pricing
2972
+ # Configure actions after a Checkout Session has expired.
2973
+ attr_accessor :after_expiration
2974
+ # Enables user redeemable promotion codes.
2975
+ attr_accessor :allow_promotion_codes
2976
+ # Settings for automatic tax lookup for this session and resulting payments, invoices, and subscriptions.
2977
+ attr_accessor :automatic_tax
2978
+ # Specify whether Checkout should collect the customer's billing address. Defaults to `auto`.
2979
+ attr_accessor :billing_address_collection
2980
+ # 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`.
2981
+ attr_accessor :cancel_url
2982
+ # A unique string to reference the Checkout Session. This can be a
2983
+ # customer ID, a cart ID, or similar, and can be used to reconcile the
2984
+ # session with your internal systems.
2985
+ attr_accessor :client_reference_id
2986
+ # Configure fields for the Checkout Session to gather active consent from customers.
2987
+ attr_accessor :consent_collection
2988
+ # 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.
2989
+ attr_accessor :currency
2990
+ # Collect additional information from your customer using custom fields. Up to 3 fields are supported.
2991
+ attr_accessor :custom_fields
2992
+ # Display additional text for your customers using custom text.
2993
+ attr_accessor :custom_text
2994
+ # ID of an existing Customer, if one exists. In `payment` mode, the customer’s most recently saved card
2995
+ # payment method will be used to prefill the email, name, card details, and billing address
2996
+ # 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)
2997
+ # 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.
2998
+ #
2999
+ # 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.
3000
+ # If the Customer does not have a valid `email`, Checkout will set the email entered during the session on the Customer.
3001
+ #
3002
+ # 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.
3003
+ #
3004
+ # 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.
3005
+ attr_accessor :customer
3006
+ # Configure whether a Checkout Session creates a [Customer](https://stripe.com/docs/api/customers) during Session confirmation.
3007
+ #
3008
+ # When a Customer is not created, you can still retrieve email, address, and other customer data entered in Checkout
3009
+ # with [customer_details](https://stripe.com/docs/api/checkout/sessions/object#checkout_session_object-customer_details).
3010
+ #
3011
+ # Sessions that don't create Customers instead are grouped by [guest customers](https://stripe.com/docs/payments/checkout/guest-customers)
3012
+ # in the Dashboard. Promotion codes limited to first time customers will return invalid for these Sessions.
3013
+ #
3014
+ # Can only be set in `payment` and `setup` mode.
3015
+ attr_accessor :customer_creation
3016
+ # If provided, this value will be used when the Customer object is created.
3017
+ # If not provided, customers will be asked to enter their email address.
3018
+ # Use this parameter to prefill customer data if you already have an email
3019
+ # on file. To access information about the customer once a session is
3020
+ # complete, use the `customer` field.
3021
+ attr_accessor :customer_email
3022
+ # Controls what fields on Customer can be updated by the Checkout Session. Can only be provided when `customer` is provided.
3023
+ attr_accessor :customer_update
3024
+ # The coupon or promotion code to apply to this Session. Currently, only up to one may be specified.
3025
+ attr_accessor :discounts
3026
+ # Specifies which fields in the response should be expanded.
3027
+ attr_accessor :expand
3028
+ # 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.
3029
+ attr_accessor :expires_at
3030
+ # Generate a post-purchase Invoice for one-time payments.
3031
+ attr_accessor :invoice_creation
3032
+ # A list of items the customer is purchasing. Use this parameter to pass one-time or recurring [Prices](https://stripe.com/docs/api/prices).
3033
+ #
3034
+ # 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.
3035
+ #
3036
+ # 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.
3037
+ attr_accessor :line_items
3038
+ # The IETF language tag of the locale Checkout is displayed in. If blank or `auto`, the browser's locale is used.
3039
+ attr_accessor :locale
3040
+ # 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`.
3041
+ attr_accessor :metadata
3042
+ # The mode of the Checkout Session. Pass `subscription` if the Checkout Session includes at least one recurring item.
3043
+ attr_accessor :mode
3044
+ # A list of optional items the customer can add to their order at checkout. Use this parameter to pass one-time or recurring [Prices](https://stripe.com/docs/api/prices).
3045
+ #
3046
+ # There is a maximum of 10 optional items allowed on a Checkout Session, and the existing limits on the number of line items allowed on a Checkout Session apply to the combined number of line items and optional items.
3047
+ #
3048
+ # For `payment` mode, there is a maximum of 100 combined line items and optional items, however it is recommended to consolidate items if there are more than a few dozen.
3049
+ #
3050
+ # For `subscription` mode, there is a maximum of 20 line items and optional items with recurring Prices and 20 line items and optional items with one-time Prices.
3051
+ attr_accessor :optional_items
3052
+ # A subset of parameters to be passed to PaymentIntent creation for Checkout Sessions in `payment` mode.
3053
+ attr_accessor :payment_intent_data
3054
+ # 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.
3055
+ # This may occur if the Checkout Session includes a free trial or a discount.
3056
+ #
3057
+ # Can only be set in `subscription` mode. Defaults to `always`.
3058
+ #
3059
+ # 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).
3060
+ attr_accessor :payment_method_collection
3061
+ # The ID of the payment method configuration to use with this Checkout session.
3062
+ attr_accessor :payment_method_configuration
3063
+ # This parameter allows you to set some attributes on the payment method created during a Checkout session.
3064
+ attr_accessor :payment_method_data
3065
+ # Payment-method-specific configuration.
3066
+ attr_accessor :payment_method_options
3067
+ # A list of the types of payment methods (e.g., `card`) this Checkout Session can accept.
3068
+ #
3069
+ # You can omit this attribute to manage your payment methods from the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods).
3070
+ # See [Dynamic Payment Methods](https://stripe.com/docs/payments/payment-methods/integration-options#using-dynamic-payment-methods) for more details.
3071
+ #
3072
+ # Read more about the supported payment methods and their requirements in our [payment
3073
+ # method details guide](/docs/payments/checkout/payment-methods).
3074
+ #
3075
+ # If multiple payment methods are passed, Checkout will dynamically reorder them to
3076
+ # prioritize the most relevant payment methods based on the customer's location and
3077
+ # other characteristics.
3078
+ attr_accessor :payment_method_types
3079
+ # This property is used to set up permissions for various actions (e.g., update) on the CheckoutSession object.
3080
+ #
3081
+ # For specific permissions, please refer to their dedicated subsections, such as `permissions.update.shipping_details`.
3082
+ attr_accessor :permissions
3083
+ # Controls phone number collection settings for the session.
3084
+ #
3085
+ # We recommend that you review your privacy policy and check with your legal contacts
3086
+ # before using this feature. Learn more about [collecting phone numbers with Checkout](https://stripe.com/docs/payments/checkout/phone-numbers).
3087
+ attr_accessor :phone_number_collection
3088
+ # 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`.
3089
+ attr_accessor :redirect_on_completion
3090
+ # The URL to redirect your customer back to after they authenticate or cancel their payment on the
3091
+ # payment method's app or site. This parameter is required if `ui_mode` is `embedded` or `custom`
3092
+ # and redirect-based payment methods are enabled on the session.
3093
+ attr_accessor :return_url
3094
+ # Controls saved payment method settings for the session. Only available in `payment` and `subscription` mode.
3095
+ attr_accessor :saved_payment_method_options
3096
+ # A subset of parameters to be passed to SetupIntent creation for Checkout Sessions in `setup` mode.
3097
+ attr_accessor :setup_intent_data
3098
+ # When set, provides configuration for Checkout to collect a shipping address from a customer.
3099
+ attr_accessor :shipping_address_collection
3100
+ # The shipping rate options to apply to this Session. Up to a maximum of 5.
3101
+ attr_accessor :shipping_options
3102
+ # Describes the type of transaction being performed by Checkout in order
3103
+ # to customize relevant text on the page, such as the submit button.
3104
+ # `submit_type` can only be specified on Checkout Sessions in
3105
+ # `payment` or `subscription` mode. If blank or `auto`, `pay` is used.
3106
+ attr_accessor :submit_type
3107
+ # A subset of parameters to be passed to subscription creation for Checkout Sessions in `subscription` mode.
3108
+ attr_accessor :subscription_data
3109
+ # The URL to which Stripe should send customers when payment or setup
3110
+ # is complete.
3111
+ # This parameter is not allowed if ui_mode is `embedded` or `custom`. If you'd like to use
3112
+ # information from the successful Checkout Session on your page, read the
3113
+ # guide on [customizing your success page](https://stripe.com/docs/payments/checkout/custom-success-page).
3114
+ attr_accessor :success_url
3115
+ # Controls tax ID collection during checkout.
3116
+ attr_accessor :tax_id_collection
3117
+ # The UI mode of the Session. Defaults to `hosted`.
3118
+ attr_accessor :ui_mode
3119
+
3120
+ def initialize(
3121
+ adaptive_pricing: nil,
3122
+ after_expiration: nil,
3123
+ allow_promotion_codes: nil,
3124
+ automatic_tax: nil,
3125
+ billing_address_collection: nil,
3126
+ cancel_url: nil,
3127
+ client_reference_id: nil,
3128
+ consent_collection: nil,
3129
+ currency: nil,
3130
+ custom_fields: nil,
3131
+ custom_text: nil,
3132
+ customer: nil,
3133
+ customer_creation: nil,
3134
+ customer_email: nil,
3135
+ customer_update: nil,
3136
+ discounts: nil,
3137
+ expand: nil,
3138
+ expires_at: nil,
3139
+ invoice_creation: nil,
3140
+ line_items: nil,
3141
+ locale: nil,
3142
+ metadata: nil,
3143
+ mode: nil,
3144
+ optional_items: nil,
3145
+ payment_intent_data: nil,
3146
+ payment_method_collection: nil,
3147
+ payment_method_configuration: nil,
3148
+ payment_method_data: nil,
3149
+ payment_method_options: nil,
3150
+ payment_method_types: nil,
3151
+ permissions: nil,
3152
+ phone_number_collection: nil,
3153
+ redirect_on_completion: nil,
3154
+ return_url: nil,
3155
+ saved_payment_method_options: nil,
3156
+ setup_intent_data: nil,
3157
+ shipping_address_collection: nil,
3158
+ shipping_options: nil,
3159
+ submit_type: nil,
3160
+ subscription_data: nil,
3161
+ success_url: nil,
3162
+ tax_id_collection: nil,
3163
+ ui_mode: nil
3164
+ )
3165
+ @adaptive_pricing = adaptive_pricing
3166
+ @after_expiration = after_expiration
3167
+ @allow_promotion_codes = allow_promotion_codes
3168
+ @automatic_tax = automatic_tax
3169
+ @billing_address_collection = billing_address_collection
3170
+ @cancel_url = cancel_url
3171
+ @client_reference_id = client_reference_id
3172
+ @consent_collection = consent_collection
3173
+ @currency = currency
3174
+ @custom_fields = custom_fields
3175
+ @custom_text = custom_text
3176
+ @customer = customer
3177
+ @customer_creation = customer_creation
3178
+ @customer_email = customer_email
3179
+ @customer_update = customer_update
3180
+ @discounts = discounts
3181
+ @expand = expand
3182
+ @expires_at = expires_at
3183
+ @invoice_creation = invoice_creation
3184
+ @line_items = line_items
3185
+ @locale = locale
3186
+ @metadata = metadata
3187
+ @mode = mode
3188
+ @optional_items = optional_items
3189
+ @payment_intent_data = payment_intent_data
3190
+ @payment_method_collection = payment_method_collection
3191
+ @payment_method_configuration = payment_method_configuration
3192
+ @payment_method_data = payment_method_data
3193
+ @payment_method_options = payment_method_options
3194
+ @payment_method_types = payment_method_types
3195
+ @permissions = permissions
3196
+ @phone_number_collection = phone_number_collection
3197
+ @redirect_on_completion = redirect_on_completion
3198
+ @return_url = return_url
3199
+ @saved_payment_method_options = saved_payment_method_options
3200
+ @setup_intent_data = setup_intent_data
3201
+ @shipping_address_collection = shipping_address_collection
3202
+ @shipping_options = shipping_options
3203
+ @submit_type = submit_type
3204
+ @subscription_data = subscription_data
3205
+ @success_url = success_url
3206
+ @tax_id_collection = tax_id_collection
3207
+ @ui_mode = ui_mode
3208
+ end
3209
+ end
3210
+
3211
+ class UpdateParams < Stripe::RequestParams
3212
+ class CollectedInformation < Stripe::RequestParams
3213
+ class ShippingDetails < Stripe::RequestParams
3214
+ class Address < Stripe::RequestParams
3215
+ # City, district, suburb, town, or village.
3216
+ attr_accessor :city
3217
+ # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
3218
+ attr_accessor :country
3219
+ # Address line 1 (e.g., street, PO Box, or company name).
3220
+ attr_accessor :line1
3221
+ # Address line 2 (e.g., apartment, suite, unit, or building).
3222
+ attr_accessor :line2
3223
+ # ZIP or postal code.
3224
+ attr_accessor :postal_code
3225
+ # State, county, province, or region.
3226
+ attr_accessor :state
3227
+
3228
+ def initialize(
3229
+ city: nil,
3230
+ country: nil,
3231
+ line1: nil,
3232
+ line2: nil,
3233
+ postal_code: nil,
3234
+ state: nil
3235
+ )
3236
+ @city = city
3237
+ @country = country
3238
+ @line1 = line1
3239
+ @line2 = line2
3240
+ @postal_code = postal_code
3241
+ @state = state
3242
+ end
3243
+ end
3244
+ # The address of the customer
3245
+ attr_accessor :address
3246
+ # The name of customer
3247
+ attr_accessor :name
3248
+
3249
+ def initialize(address: nil, name: nil)
3250
+ @address = address
3251
+ @name = name
3252
+ end
3253
+ end
3254
+ # The shipping details to apply to this Session.
3255
+ attr_accessor :shipping_details
3256
+
3257
+ def initialize(shipping_details: nil)
3258
+ @shipping_details = shipping_details
3259
+ end
3260
+ end
3261
+
3262
+ class ShippingOption < Stripe::RequestParams
3263
+ class ShippingRateData < Stripe::RequestParams
3264
+ class DeliveryEstimate < Stripe::RequestParams
3265
+ class Maximum < Stripe::RequestParams
3266
+ # A unit of time.
3267
+ attr_accessor :unit
3268
+ # Must be greater than 0.
3269
+ attr_accessor :value
3270
+
3271
+ def initialize(unit: nil, value: nil)
3272
+ @unit = unit
3273
+ @value = value
3274
+ end
3275
+ end
3276
+
3277
+ class Minimum < Stripe::RequestParams
3278
+ # A unit of time.
3279
+ attr_accessor :unit
3280
+ # Must be greater than 0.
3281
+ attr_accessor :value
3282
+
3283
+ def initialize(unit: nil, value: nil)
3284
+ @unit = unit
3285
+ @value = value
3286
+ end
3287
+ end
3288
+ # The upper bound of the estimated range. If empty, represents no upper bound i.e., infinite.
3289
+ attr_accessor :maximum
3290
+ # The lower bound of the estimated range. If empty, represents no lower bound.
3291
+ attr_accessor :minimum
3292
+
3293
+ def initialize(maximum: nil, minimum: nil)
3294
+ @maximum = maximum
3295
+ @minimum = minimum
3296
+ end
3297
+ end
3298
+
3299
+ class FixedAmount < Stripe::RequestParams
3300
+ class CurrencyOptions < Stripe::RequestParams
3301
+ # A non-negative integer in cents representing how much to charge.
3302
+ attr_accessor :amount
3303
+ # Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`.
3304
+ attr_accessor :tax_behavior
3305
+
3306
+ def initialize(amount: nil, tax_behavior: nil)
3307
+ @amount = amount
3308
+ @tax_behavior = tax_behavior
3309
+ end
3310
+ end
3311
+ # A non-negative integer in cents representing how much to charge.
3312
+ attr_accessor :amount
3313
+ # 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).
3314
+ attr_accessor :currency
3315
+ # 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).
3316
+ attr_accessor :currency_options
3317
+
3318
+ def initialize(amount: nil, currency: nil, currency_options: nil)
3319
+ @amount = amount
3320
+ @currency = currency
3321
+ @currency_options = currency_options
3322
+ end
3323
+ end
3324
+ # The estimated range for how long shipping will take, meant to be displayable to the customer. This will appear on CheckoutSessions.
3325
+ attr_accessor :delivery_estimate
3326
+ # The name of the shipping rate, meant to be displayable to the customer. This will appear on CheckoutSessions.
3327
+ attr_accessor :display_name
3328
+ # Describes a fixed amount to charge for shipping. Must be present if type is `fixed_amount`.
3329
+ attr_accessor :fixed_amount
3330
+ # 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`.
3331
+ attr_accessor :metadata
3332
+ # Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`.
3333
+ attr_accessor :tax_behavior
3334
+ # A [tax code](https://stripe.com/docs/tax/tax-categories) ID. The Shipping tax code is `txcd_92010001`.
3335
+ attr_accessor :tax_code
3336
+ # The type of calculation to use on the shipping rate.
3337
+ attr_accessor :type
3338
+
3339
+ def initialize(
3340
+ delivery_estimate: nil,
3341
+ display_name: nil,
3342
+ fixed_amount: nil,
3343
+ metadata: nil,
3344
+ tax_behavior: nil,
3345
+ tax_code: nil,
3346
+ type: nil
3347
+ )
3348
+ @delivery_estimate = delivery_estimate
3349
+ @display_name = display_name
3350
+ @fixed_amount = fixed_amount
3351
+ @metadata = metadata
3352
+ @tax_behavior = tax_behavior
3353
+ @tax_code = tax_code
3354
+ @type = type
3355
+ end
3356
+ end
3357
+ # The ID of the Shipping Rate to use for this shipping option.
3358
+ attr_accessor :shipping_rate
3359
+ # Parameters to be passed to Shipping Rate creation for this shipping option.
3360
+ attr_accessor :shipping_rate_data
3361
+
3362
+ def initialize(shipping_rate: nil, shipping_rate_data: nil)
3363
+ @shipping_rate = shipping_rate
3364
+ @shipping_rate_data = shipping_rate_data
3365
+ end
3366
+ end
3367
+ # Information about the customer collected within the Checkout Session.
3368
+ attr_accessor :collected_information
3369
+ # Specifies which fields in the response should be expanded.
3370
+ attr_accessor :expand
3371
+ # 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`.
3372
+ attr_accessor :metadata
3373
+ # The shipping rate options to apply to this Session. Up to a maximum of 5.
3374
+ attr_accessor :shipping_options
3375
+
3376
+ def initialize(
3377
+ collected_information: nil,
3378
+ expand: nil,
3379
+ metadata: nil,
3380
+ shipping_options: nil
3381
+ )
3382
+ @collected_information = collected_information
3383
+ @expand = expand
3384
+ @metadata = metadata
3385
+ @shipping_options = shipping_options
3386
+ end
3387
+ end
3388
+
3389
+ class ListLineItemsParams < Stripe::RequestParams
3390
+ # 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.
3391
+ attr_accessor :ending_before
3392
+ # Specifies which fields in the response should be expanded.
3393
+ attr_accessor :expand
3394
+ # A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
3395
+ attr_accessor :limit
3396
+ # 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.
3397
+ attr_accessor :starting_after
3398
+
3399
+ def initialize(ending_before: nil, expand: nil, limit: nil, starting_after: nil)
3400
+ @ending_before = ending_before
3401
+ @expand = expand
3402
+ @limit = limit
3403
+ @starting_after = starting_after
3404
+ end
3405
+ end
3406
+
3407
+ class ExpireParams < Stripe::RequestParams
3408
+ # Specifies which fields in the response should be expanded.
3409
+ attr_accessor :expand
3410
+
3411
+ def initialize(expand: nil)
3412
+ @expand = expand
3413
+ end
3414
+ end
3415
+ # Settings for price localization with [Adaptive Pricing](https://docs.stripe.com/payments/checkout/adaptive-pricing).
3416
+ attr_reader :adaptive_pricing
3417
+ # When set, provides configuration for actions to take if this Checkout Session expires.
3418
+ attr_reader :after_expiration
3419
+ # Enables user redeemable promotion codes.
3420
+ attr_reader :allow_promotion_codes
3421
+ # Total of all items before discounts or taxes are applied.
3422
+ attr_reader :amount_subtotal
3423
+ # Total of all items after discounts and taxes are applied.
3424
+ attr_reader :amount_total
3425
+ # Attribute for field automatic_tax
3426
+ attr_reader :automatic_tax
3427
+ # Describes whether Checkout should collect the customer's billing address. Defaults to `auto`.
3428
+ attr_reader :billing_address_collection
3429
+ # 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.
3430
+ attr_reader :cancel_url
3431
+ # A unique string to reference the Checkout Session. This can be a
3432
+ # customer ID, a cart ID, or similar, and can be used to reconcile the
3433
+ # Session with your internal systems.
3434
+ attr_reader :client_reference_id
3435
+ # The client secret of your Checkout Session. Applies to Checkout Sessions with `ui_mode: embedded`. Client secret to be used when initializing Stripe.js embedded checkout.
3436
+ attr_reader :client_secret
3437
+ # Information about the customer collected within the Checkout Session.
3438
+ attr_reader :collected_information
3439
+ # Results of `consent_collection` for this session.
3440
+ attr_reader :consent
3441
+ # When set, provides configuration for the Checkout Session to gather active consent from customers.
3442
+ attr_reader :consent_collection
3443
+ # Time at which the object was created. Measured in seconds since the Unix epoch.
3444
+ attr_reader :created
3445
+ # 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).
3446
+ attr_reader :currency
3447
+ # Currency conversion details for [Adaptive Pricing](https://docs.stripe.com/payments/checkout/adaptive-pricing) sessions created before 2025-03-31.
3448
+ attr_reader :currency_conversion
3449
+ # Collect additional information from your customer using custom fields. Up to 3 fields are supported.
3450
+ attr_reader :custom_fields
3451
+ # Attribute for field custom_text
3452
+ attr_reader :custom_text
3453
+ # The ID of the customer for this Session.
3454
+ # For Checkout Sessions in `subscription` mode or Checkout Sessions with `customer_creation` set as `always` in `payment` mode, Checkout
3455
+ # will create a new customer object based on information provided
3456
+ # during the payment flow unless an existing customer was provided when
3457
+ # the Session was created.
3458
+ attr_reader :customer
3459
+ # Configure whether a Checkout Session creates a Customer when the Checkout Session completes.
3460
+ attr_reader :customer_creation
3461
+ # The customer details including the customer's tax exempt status and the customer's tax IDs. Customer's address details are not present on Sessions in `setup` mode.
3462
+ attr_reader :customer_details
3463
+ # If provided, this value will be used when the Customer object is created.
3464
+ # If not provided, customers will be asked to enter their email address.
3465
+ # Use this parameter to prefill customer data if you already have an email
3466
+ # on file. To access information about the customer once the payment flow is
3467
+ # complete, use the `customer` attribute.
3468
+ attr_reader :customer_email
3469
+ # List of coupons and promotion codes attached to the Checkout Session.
3470
+ attr_reader :discounts
3471
+ # The timestamp at which the Checkout Session will expire.
3472
+ attr_reader :expires_at
3473
+ # Unique identifier for the object.
3474
+ attr_reader :id
3475
+ # ID of the invoice created by the Checkout Session, if it exists.
3476
+ attr_reader :invoice
3477
+ # Details on the state of invoice creation for the Checkout Session.
3478
+ attr_reader :invoice_creation
3479
+ # The line items purchased by the customer.
3480
+ attr_reader :line_items
3481
+ # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
3482
+ attr_reader :livemode
3483
+ # The IETF language tag of the locale Checkout is displayed in. If blank or `auto`, the browser's locale is used.
3484
+ attr_reader :locale
3485
+ # 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.
3486
+ attr_reader :metadata
3487
+ # The mode of the Checkout Session.
3488
+ attr_reader :mode
3489
+ # String representing the object's type. Objects of the same type share the same value.
3490
+ attr_reader :object
3491
+ # The optional items presented to the customer at checkout.
3492
+ attr_reader :optional_items
3493
+ # The ID of the PaymentIntent for Checkout Sessions in `payment` mode. You can't confirm or cancel the PaymentIntent for a Checkout Session. To cancel, [expire the Checkout Session](https://stripe.com/docs/api/checkout/sessions/expire) instead.
3494
+ attr_reader :payment_intent
3495
+ # The ID of the Payment Link that created this Session.
3496
+ attr_reader :payment_link
3497
+ # Configure whether a Checkout Session should collect a payment method. Defaults to `always`.
3498
+ attr_reader :payment_method_collection
3499
+ # Information about the payment method configuration used for this Checkout session if using dynamic payment methods.
3500
+ attr_reader :payment_method_configuration_details
3501
+ # Payment-method-specific configuration for the PaymentIntent or SetupIntent of this CheckoutSession.
3502
+ attr_reader :payment_method_options
3503
+ # A list of the types of payment methods (e.g. card) this Checkout
3504
+ # Session is allowed to accept.
3505
+ attr_reader :payment_method_types
3506
+ # The payment status of the Checkout Session, one of `paid`, `unpaid`, or `no_payment_required`.
3507
+ # You can use this value to decide when to fulfill your customer's order.
3508
+ attr_reader :payment_status
3509
+ # This property is used to set up permissions for various actions (e.g., update) on the CheckoutSession object.
3510
+ #
3511
+ # For specific permissions, please refer to their dedicated subsections, such as `permissions.update.shipping_details`.
3512
+ attr_reader :permissions
3513
+ # Attribute for field phone_number_collection
3514
+ attr_reader :phone_number_collection
3515
+ # Attribute for field presentment_details
3516
+ attr_reader :presentment_details
3517
+ # The ID of the original expired Checkout Session that triggered the recovery flow.
3518
+ attr_reader :recovered_from
3519
+ # 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`.
3520
+ attr_reader :redirect_on_completion
3521
+ # Applies to Checkout Sessions with `ui_mode: embedded`. The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site.
3522
+ attr_reader :return_url
3523
+ # Controls saved payment method settings for the session. Only available in `payment` and `subscription` mode.
3524
+ attr_reader :saved_payment_method_options
3525
+ # The ID of the SetupIntent for Checkout Sessions in `setup` mode. You can't confirm or cancel the SetupIntent for a Checkout Session. To cancel, [expire the Checkout Session](https://stripe.com/docs/api/checkout/sessions/expire) instead.
3526
+ attr_reader :setup_intent
3527
+ # When set, provides configuration for Checkout to collect a shipping address from a customer.
3528
+ attr_reader :shipping_address_collection
3529
+ # The details of the customer cost of shipping, including the customer chosen ShippingRate.
3530
+ attr_reader :shipping_cost
3531
+ # The shipping rate options applied to this Session.
3532
+ attr_reader :shipping_options
3533
+ # The status of the Checkout Session, one of `open`, `complete`, or `expired`.
3534
+ attr_reader :status
3535
+ # Describes the type of transaction being performed by Checkout in order to customize
3536
+ # relevant text on the page, such as the submit button. `submit_type` can only be
3537
+ # specified on Checkout Sessions in `payment` mode. If blank or `auto`, `pay` is used.
3538
+ attr_reader :submit_type
3539
+ # The ID of the subscription for Checkout Sessions in `subscription` mode.
3540
+ attr_reader :subscription
3541
+ # The URL the customer will be directed to after the payment or
3542
+ # subscription creation is successful.
3543
+ attr_reader :success_url
3544
+ # Attribute for field tax_id_collection
3545
+ attr_reader :tax_id_collection
3546
+ # Tax and discount details for the computed total amount.
3547
+ attr_reader :total_details
3548
+ # The UI mode of the Session. Defaults to `hosted`.
3549
+ attr_reader :ui_mode
3550
+ # The URL to the Checkout Session. Applies to Checkout Sessions with `ui_mode: hosted`. Redirect customers to this URL to take them to Checkout. If you’re using [Custom Domains](https://stripe.com/docs/payments/checkout/custom-domains), the URL will use your subdomain. Otherwise, it’ll use `checkout.stripe.com.`
3551
+ # This value is only present when the session is active.
3552
+ attr_reader :url
3553
+
3554
+ # Creates a Checkout Session object.
31
3555
  def self.create(params = {}, opts = {})
32
3556
  request_stripe_object(
33
3557
  method: :post,
@@ -37,9 +3561,9 @@ module Stripe
37
3561
  )
38
3562
  end
39
3563
 
40
- # A Session can be expired when it is in one of these statuses: open
3564
+ # A Checkout Session can be expired when it is in one of these statuses: open
41
3565
  #
42
- # After it expires, a customer can't complete a Session and customers loading the Session see a message saying the Session is expired.
3566
+ # After it expires, a customer can't complete a Checkout Session and customers loading the Checkout Session see a message saying the Checkout Session is expired.
43
3567
  def expire(params = {}, opts = {})
44
3568
  request_stripe_object(
45
3569
  method: :post,
@@ -49,9 +3573,9 @@ module Stripe
49
3573
  )
50
3574
  end
51
3575
 
52
- # A Session can be expired when it is in one of these statuses: open
3576
+ # A Checkout Session can be expired when it is in one of these statuses: open
53
3577
  #
54
- # After it expires, a customer can't complete a Session and customers loading the Session see a message saying the Session is expired.
3578
+ # After it expires, a customer can't complete a Checkout Session and customers loading the Checkout Session see a message saying the Checkout Session is expired.
55
3579
  def self.expire(session, params = {}, opts = {})
56
3580
  request_stripe_object(
57
3581
  method: :post,
@@ -91,7 +3615,7 @@ module Stripe
91
3615
  )
92
3616
  end
93
3617
 
94
- # Updates a Session object.
3618
+ # Updates a Checkout Session object.
95
3619
  def self.update(session, params = {}, opts = {})
96
3620
  request_stripe_object(
97
3621
  method: :post,