stripe 13.3.0 → 13.4.0.pre.beta.1

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