stripe 13.5.0 → 13.6.0.pre.beta.1

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