stripe 13.3.0 → 13.4.0.pre.beta.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (743) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1416 -645
  3. data/OPENAPI_VERSION +1 -1
  4. data/VERSION +1 -1
  5. data/lib/stripe/api_operations/request.rb +1 -0
  6. data/lib/stripe/api_requestor.rb +1 -0
  7. data/lib/stripe/object_types.rb +32 -0
  8. data/lib/stripe/request_params.rb +24 -0
  9. data/lib/stripe/request_signing_authenticator.rb +79 -0
  10. data/lib/stripe/resources/account.rb +5071 -0
  11. data/lib/stripe/resources/account_link.rb +54 -0
  12. data/lib/stripe/resources/account_notice.rb +132 -0
  13. data/lib/stripe/resources/account_session.rb +877 -0
  14. data/lib/stripe/resources/apple_pay_domain.rb +63 -0
  15. data/lib/stripe/resources/application.rb +20 -0
  16. data/lib/stripe/resources/application_fee.rb +96 -0
  17. data/lib/stripe/resources/application_fee_refund.rb +17 -0
  18. data/lib/stripe/resources/apps/secret.rb +141 -0
  19. data/lib/stripe/resources/balance.rb +131 -0
  20. data/lib/stripe/resources/balance_transaction.rb +112 -0
  21. data/lib/stripe/resources/bank_account.rb +84 -2
  22. data/lib/stripe/resources/billing/alert.rb +144 -0
  23. data/lib/stripe/resources/billing/alert_triggered.rb +26 -0
  24. data/lib/stripe/resources/billing/credit_balance_summary.rb +77 -0
  25. data/lib/stripe/resources/billing/credit_balance_transaction.rb +116 -0
  26. data/lib/stripe/resources/billing/credit_grant.rb +203 -0
  27. data/lib/stripe/resources/billing/meter.rb +178 -0
  28. data/lib/stripe/resources/billing/meter_error_report.rb +59 -0
  29. data/lib/stripe/resources/billing/meter_event.rb +35 -0
  30. data/lib/stripe/resources/billing/meter_event_adjustment.rb +43 -0
  31. data/lib/stripe/resources/billing/meter_event_summary.rb +15 -0
  32. data/lib/stripe/resources/billing_portal/configuration.rb +562 -0
  33. data/lib/stripe/resources/billing_portal/session.rb +271 -0
  34. data/lib/stripe/resources/capability.rb +84 -0
  35. data/lib/stripe/resources/capital/financing_offer.rb +188 -0
  36. data/lib/stripe/resources/capital/financing_summary.rb +64 -0
  37. data/lib/stripe/resources/capital/financing_transaction.rb +123 -0
  38. data/lib/stripe/resources/card.rb +79 -0
  39. data/lib/stripe/resources/cash_balance.rb +17 -0
  40. data/lib/stripe/resources/charge.rb +3026 -0
  41. data/lib/stripe/resources/checkout/session.rb +3654 -0
  42. data/lib/stripe/resources/climate/order.rb +176 -0
  43. data/lib/stripe/resources/climate/product.rb +56 -0
  44. data/lib/stripe/resources/climate/supplier.rb +54 -0
  45. data/lib/stripe/resources/confirmation_token.rb +1520 -0
  46. data/lib/stripe/resources/connect_collection_transfer.rb +24 -0
  47. data/lib/stripe/resources/country_spec.rb +63 -0
  48. data/lib/stripe/resources/coupon.rb +198 -0
  49. data/lib/stripe/resources/credit_note.rb +660 -0
  50. data/lib/stripe/resources/credit_note_line_item.rb +65 -0
  51. data/lib/stripe/resources/customer.rb +840 -0
  52. data/lib/stripe/resources/customer_balance_transaction.rb +27 -0
  53. data/lib/stripe/resources/customer_cash_balance_transaction.rb +109 -0
  54. data/lib/stripe/resources/customer_session.rb +159 -0
  55. data/lib/stripe/resources/discount.rb +29 -0
  56. data/lib/stripe/resources/dispute.rb +619 -0
  57. data/lib/stripe/resources/entitlements/active_entitlement.rb +46 -0
  58. data/lib/stripe/resources/entitlements/active_entitlement_summary.rb +23 -0
  59. data/lib/stripe/resources/entitlements/feature.rb +90 -0
  60. data/lib/stripe/resources/ephemeral_key.rb +21 -0
  61. data/lib/stripe/resources/event.rb +130 -0
  62. data/lib/stripe/resources/exchange_rate.rb +33 -0
  63. data/lib/stripe/resources/file.rb +111 -0
  64. data/lib/stripe/resources/file_link.rb +112 -0
  65. data/lib/stripe/resources/financial_connections/account.rb +260 -0
  66. data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +27 -0
  67. data/lib/stripe/resources/financial_connections/account_owner.rb +17 -0
  68. data/lib/stripe/resources/financial_connections/account_ownership.rb +9 -0
  69. data/lib/stripe/resources/financial_connections/institution.rb +99 -0
  70. data/lib/stripe/resources/financial_connections/session.rb +159 -0
  71. data/lib/stripe/resources/financial_connections/transaction.rb +101 -0
  72. data/lib/stripe/resources/forwarding/request.rb +165 -0
  73. data/lib/stripe/resources/funding_instructions.rb +308 -0
  74. data/lib/stripe/resources/gift_cards/card.rb +217 -0
  75. data/lib/stripe/resources/gift_cards/transaction.rb +281 -0
  76. data/lib/stripe/resources/identity/verification_report.rb +266 -0
  77. data/lib/stripe/resources/identity/verification_session.rb +361 -0
  78. data/lib/stripe/resources/invoice.rb +8078 -0
  79. data/lib/stripe/resources/invoice_item.rb +445 -0
  80. data/lib/stripe/resources/invoice_line_item.rb +333 -0
  81. data/lib/stripe/resources/invoice_payment.rb +56 -0
  82. data/lib/stripe/resources/invoice_rendering_template.rb +67 -0
  83. data/lib/stripe/resources/issuing/authorization.rb +1117 -2
  84. data/lib/stripe/resources/issuing/card.rb +666 -0
  85. data/lib/stripe/resources/issuing/cardholder.rb +658 -0
  86. data/lib/stripe/resources/issuing/credit_underwriting_record.rb +611 -0
  87. data/lib/stripe/resources/issuing/dispute.rb +790 -0
  88. data/lib/stripe/resources/issuing/dispute_settlement_detail.rb +84 -0
  89. data/lib/stripe/resources/issuing/fraud_liability_debit.rb +95 -0
  90. data/lib/stripe/resources/issuing/personalization_design.rb +285 -0
  91. data/lib/stripe/resources/issuing/physical_bundle.rb +63 -0
  92. data/lib/stripe/resources/issuing/settlement.rb +49 -0
  93. data/lib/stripe/resources/issuing/token.rb +175 -0
  94. data/lib/stripe/resources/issuing/transaction.rb +927 -0
  95. data/lib/stripe/resources/line_item.rb +75 -0
  96. data/lib/stripe/resources/login_link.rb +7 -0
  97. data/lib/stripe/resources/mandate.rb +169 -0
  98. data/lib/stripe/resources/margin.rb +124 -0
  99. data/lib/stripe/resources/order.rb +2850 -0
  100. data/lib/stripe/resources/payment_attempt_record.rb +184 -0
  101. data/lib/stripe/resources/payment_intent.rb +12864 -0
  102. data/lib/stripe/resources/payment_link.rb +1563 -0
  103. data/lib/stripe/resources/payment_method.rb +1638 -0
  104. data/lib/stripe/resources/payment_method_configuration.rb +2844 -0
  105. data/lib/stripe/resources/payment_method_domain.rb +153 -0
  106. data/lib/stripe/resources/payment_record.rb +715 -0
  107. data/lib/stripe/resources/payout.rb +218 -0
  108. data/lib/stripe/resources/person.rb +263 -0
  109. data/lib/stripe/resources/plan.rb +317 -0
  110. data/lib/stripe/resources/price.rb +649 -0
  111. data/lib/stripe/resources/product.rb +536 -0
  112. data/lib/stripe/resources/product_feature.rb +12 -0
  113. data/lib/stripe/resources/promotion_code.rb +221 -0
  114. data/lib/stripe/resources/quote.rb +2946 -0
  115. data/lib/stripe/resources/quote_line.rb +274 -0
  116. data/lib/stripe/resources/quote_preview_invoice.rb +652 -0
  117. data/lib/stripe/resources/quote_preview_subscription_schedule.rb +362 -0
  118. data/lib/stripe/resources/radar/early_fraud_warning.rb +77 -0
  119. data/lib/stripe/resources/radar/value_list.rb +125 -0
  120. data/lib/stripe/resources/radar/value_list_item.rb +95 -0
  121. data/lib/stripe/resources/refund.rb +397 -0
  122. data/lib/stripe/resources/reporting/report_run.rb +150 -0
  123. data/lib/stripe/resources/reporting/report_type.rb +36 -0
  124. data/lib/stripe/resources/reserve_transaction.rb +22 -0
  125. data/lib/stripe/resources/reversal.rb +21 -0
  126. data/lib/stripe/resources/review.rb +108 -0
  127. data/lib/stripe/resources/setup_attempt.rb +373 -0
  128. data/lib/stripe/resources/setup_intent.rb +3834 -0
  129. data/lib/stripe/resources/shipping_rate.rb +259 -0
  130. data/lib/stripe/resources/sigma/scheduled_query_run.rb +54 -0
  131. data/lib/stripe/resources/source.rb +1239 -0
  132. data/lib/stripe/resources/source_mandate_notification.rb +66 -0
  133. data/lib/stripe/resources/source_transaction.rb +85 -0
  134. data/lib/stripe/resources/subscription.rb +2057 -0
  135. data/lib/stripe/resources/subscription_item.rb +433 -0
  136. data/lib/stripe/resources/subscription_schedule.rb +2402 -0
  137. data/lib/stripe/resources/tax/association.rb +89 -0
  138. data/lib/stripe/resources/tax/calculation.rb +387 -0
  139. data/lib/stripe/resources/tax/calculation_line_item.rb +56 -0
  140. data/lib/stripe/resources/tax/form.rb +220 -0
  141. data/lib/stripe/resources/tax/registration.rb +2382 -0
  142. data/lib/stripe/resources/tax/settings.rb +126 -0
  143. data/lib/stripe/resources/tax/transaction.rb +267 -0
  144. data/lib/stripe/resources/tax/transaction_line_item.rb +31 -0
  145. data/lib/stripe/resources/tax_code.rb +35 -0
  146. data/lib/stripe/resources/tax_deducted_at_source.rb +22 -0
  147. data/lib/stripe/resources/tax_id.rb +121 -0
  148. data/lib/stripe/resources/tax_rate.rb +200 -0
  149. data/lib/stripe/resources/terminal/configuration.rb +1011 -0
  150. data/lib/stripe/resources/terminal/connection_token.rb +18 -0
  151. data/lib/stripe/resources/terminal/location.rb +175 -0
  152. data/lib/stripe/resources/terminal/reader.rb +782 -0
  153. data/lib/stripe/resources/terminal/reader_collected_data.rb +40 -0
  154. data/lib/stripe/resources/test_helpers/test_clock.rb +86 -0
  155. data/lib/stripe/resources/token.rb +1149 -0
  156. data/lib/stripe/resources/topup.rb +174 -0
  157. data/lib/stripe/resources/transfer.rb +153 -0
  158. data/lib/stripe/resources/treasury/credit_reversal.rb +92 -0
  159. data/lib/stripe/resources/treasury/debit_reversal.rb +103 -0
  160. data/lib/stripe/resources/treasury/financial_account.rb +772 -0
  161. data/lib/stripe/resources/treasury/financial_account_features.rb +191 -0
  162. data/lib/stripe/resources/treasury/inbound_transfer.rb +235 -0
  163. data/lib/stripe/resources/treasury/outbound_payment.rb +495 -0
  164. data/lib/stripe/resources/treasury/outbound_transfer.rb +387 -0
  165. data/lib/stripe/resources/treasury/received_credit.rb +283 -0
  166. data/lib/stripe/resources/treasury/received_debit.rb +244 -0
  167. data/lib/stripe/resources/treasury/transaction.rb +176 -0
  168. data/lib/stripe/resources/treasury/transaction_entry.rb +157 -0
  169. data/lib/stripe/resources/usage_record.rb +13 -0
  170. data/lib/stripe/resources/usage_record_summary.rb +21 -0
  171. data/lib/stripe/resources/v2/amount.rb +9 -0
  172. data/lib/stripe/resources/v2/billing/meter_event.rb +18 -0
  173. data/lib/stripe/resources/v2/billing/meter_event_adjustment.rb +21 -0
  174. data/lib/stripe/resources/v2/billing/meter_event_session.rb +14 -0
  175. data/lib/stripe/resources/v2/event.rb +27 -0
  176. data/lib/stripe/resources/v2/event_destination.rb +59 -0
  177. data/lib/stripe/resources/webhook_endpoint.rb +122 -0
  178. data/lib/stripe/resources.rb +31 -0
  179. data/lib/stripe/services/account_capability_service.rb +32 -0
  180. data/lib/stripe/services/account_external_account_service.rb +250 -0
  181. data/lib/stripe/services/account_link_service.rb +46 -0
  182. data/lib/stripe/services/account_login_link_service.rb +9 -0
  183. data/lib/stripe/services/account_notice_service.rb +101 -0
  184. data/lib/stripe/services/account_person_service.rb +875 -0
  185. data/lib/stripe/services/account_service.rb +4351 -0
  186. data/lib/stripe/services/account_session_service.rb +664 -0
  187. data/lib/stripe/services/apple_pay_domain_service.rb +51 -0
  188. data/lib/stripe/services/application_fee_refund_service.rb +54 -0
  189. data/lib/stripe/services/application_fee_service.rb +57 -0
  190. data/lib/stripe/services/apps/secret_service.rb +116 -0
  191. data/lib/stripe/services/balance_service.rb +9 -0
  192. data/lib/stripe/services/balance_transaction_service.rb +69 -0
  193. data/lib/stripe/services/billing/alert_service.rb +113 -0
  194. data/lib/stripe/services/billing/credit_balance_summary_service.rb +37 -0
  195. data/lib/stripe/services/billing/credit_balance_transaction_service.rb +40 -0
  196. data/lib/stripe/services/billing/credit_grant_service.rb +151 -0
  197. data/lib/stripe/services/billing/meter_event_adjustment_service.rb +26 -0
  198. data/lib/stripe/services/billing/meter_event_service.rb +21 -0
  199. data/lib/stripe/services/billing/meter_event_summary_service.rb +39 -0
  200. data/lib/stripe/services/billing/meter_service.rb +130 -0
  201. data/lib/stripe/services/billing_portal/configuration_service.rb +444 -0
  202. data/lib/stripe/services/billing_portal/session_service.rb +173 -0
  203. data/lib/stripe/services/capital/financing_offer_service.rb +112 -0
  204. data/lib/stripe/services/capital/financing_summary_service.rb +28 -0
  205. data/lib/stripe/services/capital/financing_transaction_service.rb +79 -0
  206. data/lib/stripe/services/capital_service.rb +15 -0
  207. data/lib/stripe/services/charge_service.rb +1736 -0
  208. data/lib/stripe/services/checkout/session_line_item_service.rb +18 -0
  209. data/lib/stripe/services/checkout/session_service.rb +2465 -0
  210. data/lib/stripe/services/climate/order_service.rb +102 -0
  211. data/lib/stripe/services/climate/product_service.rb +27 -0
  212. data/lib/stripe/services/climate/supplier_service.rb +27 -0
  213. data/lib/stripe/services/confirmation_token_service.rb +9 -0
  214. data/lib/stripe/services/country_spec_service.rb +27 -0
  215. data/lib/stripe/services/coupon_service.rb +152 -0
  216. data/lib/stripe/services/credit_note_line_item_service.rb +18 -0
  217. data/lib/stripe/services/credit_note_preview_lines_service.rb +156 -0
  218. data/lib/stripe/services/credit_note_service.rb +373 -0
  219. data/lib/stripe/services/customer_balance_transaction_service.rb +63 -0
  220. data/lib/stripe/services/customer_cash_balance_service.rb +29 -0
  221. data/lib/stripe/services/customer_cash_balance_transaction_service.rb +27 -0
  222. data/lib/stripe/services/customer_funding_instructions_service.rb +42 -0
  223. data/lib/stripe/services/customer_payment_method_service.rb +40 -0
  224. data/lib/stripe/services/customer_payment_source_service.rb +179 -0
  225. data/lib/stripe/services/customer_service.rb +593 -0
  226. data/lib/stripe/services/customer_session_service.rb +96 -0
  227. data/lib/stripe/services/customer_tax_id_service.rb +45 -0
  228. data/lib/stripe/services/dispute_service.rb +374 -0
  229. data/lib/stripe/services/entitlements/active_entitlement_service.rb +36 -0
  230. data/lib/stripe/services/entitlements/feature_service.rb +76 -0
  231. data/lib/stripe/services/ephemeral_key_service.rb +36 -0
  232. data/lib/stripe/services/event_service.rb +65 -0
  233. data/lib/stripe/services/exchange_rate_service.rb +27 -0
  234. data/lib/stripe/services/file_link_service.rb +94 -0
  235. data/lib/stripe/services/file_service.rb +89 -0
  236. data/lib/stripe/services/financial_connections/account_inferred_balance_service.rb +37 -0
  237. data/lib/stripe/services/financial_connections/account_owner_service.rb +27 -0
  238. data/lib/stripe/services/financial_connections/account_service.rb +99 -1
  239. data/lib/stripe/services/financial_connections/institution_service.rb +57 -0
  240. data/lib/stripe/services/financial_connections/session_service.rb +97 -0
  241. data/lib/stripe/services/financial_connections/transaction_service.rb +70 -0
  242. data/lib/stripe/services/financial_connections_service.rb +2 -1
  243. data/lib/stripe/services/forwarding/request_service.rb +106 -0
  244. data/lib/stripe/services/gift_cards/card_service.rb +170 -0
  245. data/lib/stripe/services/gift_cards/transaction_service.rb +209 -0
  246. data/lib/stripe/services/gift_cards_service.rb +14 -0
  247. data/lib/stripe/services/identity/verification_report_service.rb +65 -0
  248. data/lib/stripe/services/identity/verification_session_service.rb +231 -0
  249. data/lib/stripe/services/invoice_item_service.rb +388 -0
  250. data/lib/stripe/services/invoice_line_item_service.rb +237 -0
  251. data/lib/stripe/services/invoice_payment_service.rb +55 -0
  252. data/lib/stripe/services/invoice_rendering_template_service.rb +51 -0
  253. data/lib/stripe/services/invoice_service.rb +5567 -1
  254. data/lib/stripe/services/invoice_upcoming_lines_service.rb +1864 -0
  255. data/lib/stripe/services/issuing/authorization_service.rb +104 -0
  256. data/lib/stripe/services/issuing/card_service.rb +455 -0
  257. data/lib/stripe/services/issuing/cardholder_service.rb +526 -0
  258. data/lib/stripe/services/issuing/credit_underwriting_record_service.rb +504 -0
  259. data/lib/stripe/services/issuing/dispute_service.rb +633 -0
  260. data/lib/stripe/services/issuing/dispute_settlement_detail_service.rb +66 -0
  261. data/lib/stripe/services/issuing/fraud_liability_debit_service.rb +83 -0
  262. data/lib/stripe/services/issuing/personalization_design_service.rb +193 -0
  263. data/lib/stripe/services/issuing/physical_bundle_service.rb +40 -0
  264. data/lib/stripe/services/issuing/token_service.rb +73 -0
  265. data/lib/stripe/services/issuing/transaction_service.rb +81 -0
  266. data/lib/stripe/services/issuing_service.rb +5 -1
  267. data/lib/stripe/services/mandate_service.rb +9 -0
  268. data/lib/stripe/services/margin_service.rb +119 -0
  269. data/lib/stripe/services/order_line_item_service.rb +35 -0
  270. data/lib/stripe/services/order_service.rb +2254 -0
  271. data/lib/stripe/services/payment_attempt_record_service.rb +49 -0
  272. data/lib/stripe/services/payment_intent_service.rb +10894 -0
  273. data/lib/stripe/services/payment_link_line_item_service.rb +18 -0
  274. data/lib/stripe/services/payment_link_service.rb +1223 -0
  275. data/lib/stripe/services/payment_method_configuration_service.rb +2046 -0
  276. data/lib/stripe/services/payment_method_domain_service.rb +76 -0
  277. data/lib/stripe/services/payment_method_service.rb +864 -0
  278. data/lib/stripe/services/payment_record_service.rb +542 -0
  279. data/lib/stripe/services/payout_service.rb +159 -0
  280. data/lib/stripe/services/plan_service.rb +253 -0
  281. data/lib/stripe/services/price_service.rb +516 -0
  282. data/lib/stripe/services/product_feature_service.rb +42 -0
  283. data/lib/stripe/services/product_service.rb +459 -0
  284. data/lib/stripe/services/promotion_code_service.rb +178 -0
  285. data/lib/stripe/services/quote_computed_upfront_line_items_service.rb +18 -0
  286. data/lib/stripe/services/quote_line_item_service.rb +18 -0
  287. data/lib/stripe/services/quote_line_service.rb +35 -0
  288. data/lib/stripe/services/quote_preview_invoice_service.rb +35 -0
  289. data/lib/stripe/services/quote_preview_subscription_schedule_service.rb +35 -0
  290. data/lib/stripe/services/quote_service.rb +2319 -1
  291. data/lib/stripe/services/radar/early_fraud_warning_service.rb +61 -0
  292. data/lib/stripe/services/radar/value_list_item_service.rb +79 -0
  293. data/lib/stripe/services/radar/value_list_service.rb +103 -0
  294. data/lib/stripe/services/refund_service.rb +137 -0
  295. data/lib/stripe/services/reporting/report_run_service.rb +106 -0
  296. data/lib/stripe/services/reporting/report_type_service.rb +18 -0
  297. data/lib/stripe/services/review_service.rb +56 -0
  298. data/lib/stripe/services/setup_attempt_service.rb +51 -0
  299. data/lib/stripe/services/setup_intent_service.rb +3476 -0
  300. data/lib/stripe/services/shipping_rate_service.rb +200 -0
  301. data/lib/stripe/services/sigma/scheduled_query_run_service.rb +27 -0
  302. data/lib/stripe/services/source_service.rb +601 -0
  303. data/lib/stripe/services/source_transaction_service.rb +18 -0
  304. data/lib/stripe/services/subscription_item_service.rb +383 -0
  305. data/lib/stripe/services/subscription_item_usage_record_service.rb +18 -0
  306. data/lib/stripe/services/subscription_item_usage_record_summary_service.rb +18 -0
  307. data/lib/stripe/services/subscription_schedule_service.rb +2053 -0
  308. data/lib/stripe/services/subscription_service.rb +1722 -0
  309. data/lib/stripe/services/tax/association_service.rb +31 -0
  310. data/lib/stripe/services/tax/calculation_line_item_service.rb +18 -0
  311. data/lib/stripe/services/tax/calculation_service.rb +205 -0
  312. data/lib/stripe/services/tax/form_service.rb +100 -0
  313. data/lib/stripe/services/tax/registration_service.rb +1564 -0
  314. data/lib/stripe/services/tax/settings_service.rb +74 -0
  315. data/lib/stripe/services/tax/transaction_line_item_service.rb +18 -0
  316. data/lib/stripe/services/tax/transaction_service.rb +111 -0
  317. data/lib/stripe/services/tax_code_service.rb +27 -0
  318. data/lib/stripe/services/tax_id_service.rb +79 -0
  319. data/lib/stripe/services/tax_rate_service.rb +155 -0
  320. data/lib/stripe/services/tax_service.rb +3 -1
  321. data/lib/stripe/services/terminal/configuration_service.rb +793 -0
  322. data/lib/stripe/services/terminal/connection_token_service.rb +12 -0
  323. data/lib/stripe/services/terminal/location_service.rb +144 -0
  324. data/lib/stripe/services/terminal/reader_collected_data_service.rb +28 -0
  325. data/lib/stripe/services/terminal/reader_service.rb +443 -0
  326. data/lib/stripe/services/terminal_service.rb +2 -1
  327. data/lib/stripe/services/test_helpers/confirmation_token_service.rb +673 -0
  328. data/lib/stripe/services/test_helpers/customer_service.rb +18 -0
  329. data/lib/stripe/services/test_helpers/issuing/authorization_service.rb +745 -0
  330. data/lib/stripe/services/test_helpers/issuing/card_service.rb +45 -0
  331. data/lib/stripe/services/test_helpers/issuing/personalization_design_service.rb +41 -0
  332. data/lib/stripe/services/test_helpers/issuing/transaction_service.rb +632 -0
  333. data/lib/stripe/services/test_helpers/refund_service.rb +9 -0
  334. data/lib/stripe/services/test_helpers/terminal/reader_service.rb +44 -0
  335. data/lib/stripe/services/test_helpers/test_clock_service.rb +57 -0
  336. data/lib/stripe/services/test_helpers/treasury/inbound_transfer_service.rb +38 -0
  337. data/lib/stripe/services/test_helpers/treasury/outbound_payment_service.rb +87 -0
  338. data/lib/stripe/services/test_helpers/treasury/outbound_transfer_service.rb +87 -0
  339. data/lib/stripe/services/test_helpers/treasury/received_credit_service.rb +84 -0
  340. data/lib/stripe/services/test_helpers/treasury/received_debit_service.rb +84 -0
  341. data/lib/stripe/services/token_service.rb +1121 -0
  342. data/lib/stripe/services/topup_service.rb +142 -0
  343. data/lib/stripe/services/transfer_reversal_service.rb +66 -0
  344. data/lib/stripe/services/transfer_service.rb +119 -0
  345. data/lib/stripe/services/treasury/credit_reversal_service.rb +59 -0
  346. data/lib/stripe/services/treasury/debit_reversal_service.rb +63 -0
  347. data/lib/stripe/services/treasury/financial_account_features_service.rb +169 -0
  348. data/lib/stripe/services/treasury/financial_account_service.rb +509 -0
  349. data/lib/stripe/services/treasury/inbound_transfer_service.rb +88 -0
  350. data/lib/stripe/services/treasury/outbound_payment_service.rb +258 -0
  351. data/lib/stripe/services/treasury/outbound_transfer_service.rb +148 -0
  352. data/lib/stripe/services/treasury/received_credit_service.rb +52 -0
  353. data/lib/stripe/services/treasury/received_debit_service.rb +40 -0
  354. data/lib/stripe/services/treasury/transaction_entry_service.rb +87 -0
  355. data/lib/stripe/services/treasury/transaction_service.rb +95 -0
  356. data/lib/stripe/services/v1_services.rb +8 -1
  357. data/lib/stripe/services/v2/billing/meter_event_adjustment_service.rb +23 -0
  358. data/lib/stripe/services/v2/billing/meter_event_service.rb +25 -0
  359. data/lib/stripe/services/v2/billing/meter_event_session_service.rb +3 -0
  360. data/lib/stripe/services/v2/billing/meter_event_stream_service.rb +33 -0
  361. data/lib/stripe/services/v2/core/event_destination_service.rb +146 -0
  362. data/lib/stripe/services/v2/core/event_service.rb +18 -0
  363. data/lib/stripe/services/webhook_endpoint_service.rb +96 -0
  364. data/lib/stripe/services.rb +25 -0
  365. data/lib/stripe/stripe_client.rb +1 -1
  366. data/lib/stripe/stripe_configuration.rb +3 -1
  367. data/lib/stripe/stripe_object.rb +5 -0
  368. data/lib/stripe/util.rb +7 -1
  369. data/lib/stripe/version.rb +1 -1
  370. data/lib/stripe.rb +46 -0
  371. data/rbi/stripe/resources/account.rbi +5100 -0
  372. data/rbi/stripe/resources/account_link.rbi +74 -0
  373. data/rbi/stripe/resources/account_notice.rbi +139 -0
  374. data/rbi/stripe/resources/account_session.rbi +1007 -0
  375. data/rbi/stripe/resources/apple_pay_domain.rbi +97 -0
  376. data/rbi/stripe/resources/application.rbi +20 -0
  377. data/rbi/stripe/resources/application_fee.rbi +123 -0
  378. data/rbi/stripe/resources/application_fee_refund.rbi +37 -0
  379. data/rbi/stripe/resources/apps/secret.rbi +195 -0
  380. data/rbi/stripe/resources/balance.rbi +187 -0
  381. data/rbi/stripe/resources/balance_transaction.rbi +149 -0
  382. data/rbi/stripe/resources/bank_account.rbi +127 -0
  383. data/rbi/stripe/resources/billing/alert.rbi +206 -0
  384. data/rbi/stripe/resources/billing/alert_triggered.rbi +28 -0
  385. data/rbi/stripe/resources/billing/credit_balance_summary.rbi +102 -0
  386. data/rbi/stripe/resources/billing/credit_balance_transaction.rbi +154 -0
  387. data/rbi/stripe/resources/billing/credit_grant.rbi +269 -0
  388. data/rbi/stripe/resources/billing/meter.rbi +233 -0
  389. data/rbi/stripe/resources/billing/meter_error_report.rbi +71 -0
  390. data/rbi/stripe/resources/billing/meter_event.rbi +64 -0
  391. data/rbi/stripe/resources/billing/meter_event_adjustment.rbi +64 -0
  392. data/rbi/stripe/resources/billing/meter_event_summary.rbi +33 -0
  393. data/rbi/stripe/resources/billing_portal/configuration.rbi +640 -0
  394. data/rbi/stripe/resources/billing_portal/session.rbi +341 -0
  395. data/rbi/stripe/resources/capability.rbi +125 -0
  396. data/rbi/stripe/resources/capital/financing_offer.rbi +190 -0
  397. data/rbi/stripe/resources/capital/financing_summary.rbi +74 -0
  398. data/rbi/stripe/resources/capital/financing_transaction.rbi +130 -0
  399. data/rbi/stripe/resources/card.rbi +128 -0
  400. data/rbi/stripe/resources/cash_balance.rbi +32 -0
  401. data/rbi/stripe/resources/charge.rbi +3484 -0
  402. data/rbi/stripe/resources/checkout/session.rbi +3995 -0
  403. data/rbi/stripe/resources/climate/order.rbi +250 -0
  404. data/rbi/stripe/resources/climate/product.rbi +82 -0
  405. data/rbi/stripe/resources/climate/supplier.rbi +79 -0
  406. data/rbi/stripe/resources/confirmation_token.rbi +1776 -0
  407. data/rbi/stripe/resources/connect_collection_transfer.rbi +26 -0
  408. data/rbi/stripe/resources/country_spec.rbi +92 -0
  409. data/rbi/stripe/resources/coupon.rbi +257 -0
  410. data/rbi/stripe/resources/credit_note.rbi +759 -0
  411. data/rbi/stripe/resources/credit_note_line_item.rbi +99 -0
  412. data/rbi/stripe/resources/customer.rbi +1001 -0
  413. data/rbi/stripe/resources/customer_balance_transaction.rbi +53 -0
  414. data/rbi/stripe/resources/customer_cash_balance_transaction.rbi +151 -0
  415. data/rbi/stripe/resources/customer_session.rbi +196 -0
  416. data/rbi/stripe/resources/discount.rbi +53 -0
  417. data/rbi/stripe/resources/dispute.rbi +764 -0
  418. data/rbi/stripe/resources/entitlements/active_entitlement.rbi +65 -0
  419. data/rbi/stripe/resources/entitlements/active_entitlement_summary.rbi +23 -0
  420. data/rbi/stripe/resources/entitlements/feature.rbi +124 -0
  421. data/rbi/stripe/resources/ephemeral_key.rbi +44 -0
  422. data/rbi/stripe/resources/event.rbi +190 -0
  423. data/rbi/stripe/resources/exchange_rate.rbi +73 -0
  424. data/rbi/stripe/resources/file.rbi +148 -0
  425. data/rbi/stripe/resources/file_link.rbi +146 -0
  426. data/rbi/stripe/resources/financial_connections/account.rbi +358 -0
  427. data/rbi/stripe/resources/financial_connections/account_inferred_balance.rbi +27 -0
  428. data/rbi/stripe/resources/financial_connections/account_owner.rbi +35 -0
  429. data/rbi/stripe/resources/financial_connections/account_ownership.rbi +23 -0
  430. data/rbi/stripe/resources/financial_connections/institution.rbi +99 -0
  431. data/rbi/stripe/resources/financial_connections/session.rbi +186 -0
  432. data/rbi/stripe/resources/financial_connections/transaction.rbi +127 -0
  433. data/rbi/stripe/resources/forwarding/request.rbi +219 -0
  434. data/rbi/stripe/resources/funding_instructions.rbi +437 -0
  435. data/rbi/stripe/resources/gift_cards/card.rbi +206 -0
  436. data/rbi/stripe/resources/gift_cards/transaction.rbi +257 -0
  437. data/rbi/stripe/resources/identity/verification_report.rbi +354 -0
  438. data/rbi/stripe/resources/identity/verification_session.rbi +518 -0
  439. data/rbi/stripe/resources/invoice.rbi +8928 -0
  440. data/rbi/stripe/resources/invoice_item.rbi +514 -0
  441. data/rbi/stripe/resources/invoice_line_item.rbi +400 -0
  442. data/rbi/stripe/resources/invoice_payment.rbi +70 -0
  443. data/rbi/stripe/resources/invoice_rendering_template.rbi +114 -0
  444. data/rbi/stripe/resources/issuing/authorization.rbi +1266 -0
  445. data/rbi/stripe/resources/issuing/card.rbi +738 -0
  446. data/rbi/stripe/resources/issuing/cardholder.rbi +732 -0
  447. data/rbi/stripe/resources/issuing/credit_underwriting_record.rbi +622 -0
  448. data/rbi/stripe/resources/issuing/dispute.rbi +900 -0
  449. data/rbi/stripe/resources/issuing/dispute_settlement_detail.rbi +83 -0
  450. data/rbi/stripe/resources/issuing/fraud_liability_debit.rbi +90 -0
  451. data/rbi/stripe/resources/issuing/personalization_design.rbi +333 -0
  452. data/rbi/stripe/resources/issuing/physical_bundle.rbi +86 -0
  453. data/rbi/stripe/resources/issuing/settlement.rbi +62 -0
  454. data/rbi/stripe/resources/issuing/token.rbi +231 -0
  455. data/rbi/stripe/resources/issuing/transaction.rbi +1057 -0
  456. data/rbi/stripe/resources/line_item.rbi +108 -0
  457. data/rbi/stripe/resources/login_link.rbi +18 -0
  458. data/rbi/stripe/resources/mandate.rbi +219 -0
  459. data/rbi/stripe/resources/margin.rbi +127 -0
  460. data/rbi/stripe/resources/order.rbi +3016 -0
  461. data/rbi/stripe/resources/payment_attempt_record.rbi +215 -0
  462. data/rbi/stripe/resources/payment_intent.rbi +13843 -0
  463. data/rbi/stripe/resources/payment_link.rbi +1666 -0
  464. data/rbi/stripe/resources/payment_method.rbi +1908 -0
  465. data/rbi/stripe/resources/payment_method_configuration.rbi +3171 -0
  466. data/rbi/stripe/resources/payment_method_domain.rbi +217 -0
  467. data/rbi/stripe/resources/payment_record.rbi +722 -0
  468. data/rbi/stripe/resources/payout.rbi +299 -0
  469. data/rbi/stripe/resources/person.rbi +371 -0
  470. data/rbi/stripe/resources/plan.rbi +385 -0
  471. data/rbi/stripe/resources/price.rbi +731 -0
  472. data/rbi/stripe/resources/product.rbi +615 -0
  473. data/rbi/stripe/resources/product_feature.rbi +26 -0
  474. data/rbi/stripe/resources/promotion_code.rbi +266 -0
  475. data/rbi/stripe/resources/quote.rbi +3186 -0
  476. data/rbi/stripe/resources/quote_line.rbi +350 -0
  477. data/rbi/stripe/resources/quote_preview_invoice.rbi +850 -0
  478. data/rbi/stripe/resources/quote_preview_subscription_schedule.rbi +474 -0
  479. data/rbi/stripe/resources/radar/early_fraud_warning.rbi +101 -0
  480. data/rbi/stripe/resources/radar/value_list.rbi +175 -0
  481. data/rbi/stripe/resources/radar/value_list_item.rbi +134 -0
  482. data/rbi/stripe/resources/refund.rbi +515 -0
  483. data/rbi/stripe/resources/reporting/report_run.rbi +194 -0
  484. data/rbi/stripe/resources/reporting/report_type.rbi +64 -0
  485. data/rbi/stripe/resources/reserve_transaction.rbi +23 -0
  486. data/rbi/stripe/resources/reversal.rbi +51 -0
  487. data/rbi/stripe/resources/review.rbi +159 -0
  488. data/rbi/stripe/resources/setup_attempt.rbi +484 -0
  489. data/rbi/stripe/resources/setup_intent.rbi +4041 -0
  490. data/rbi/stripe/resources/shipping_rate.rbi +310 -0
  491. data/rbi/stripe/resources/sigma/scheduled_query_run.rbi +82 -0
  492. data/rbi/stripe/resources/source.rbi +1543 -0
  493. data/rbi/stripe/resources/source_mandate_notification.rbi +77 -0
  494. data/rbi/stripe/resources/source_transaction.rbi +127 -0
  495. data/rbi/stripe/resources/subscription.rbi +2308 -0
  496. data/rbi/stripe/resources/subscription_item.rbi +478 -0
  497. data/rbi/stripe/resources/subscription_schedule.rbi +2653 -0
  498. data/rbi/stripe/resources/tax/association.rbi +94 -0
  499. data/rbi/stripe/resources/tax/calculation.rbi +479 -0
  500. data/rbi/stripe/resources/tax/calculation_line_item.rbi +88 -0
  501. data/rbi/stripe/resources/tax/form.rbi +224 -0
  502. data/rbi/stripe/resources/tax/registration.rbi +2438 -0
  503. data/rbi/stripe/resources/tax/settings.rbi +148 -0
  504. data/rbi/stripe/resources/tax/transaction.rbi +356 -0
  505. data/rbi/stripe/resources/tax/transaction_line_item.rbi +54 -0
  506. data/rbi/stripe/resources/tax_code.rbi +51 -0
  507. data/rbi/stripe/resources/tax_deducted_at_source.rbi +23 -0
  508. data/rbi/stripe/resources/tax_id.rbi +174 -0
  509. data/rbi/stripe/resources/tax_rate.rbi +244 -0
  510. data/rbi/stripe/resources/terminal/configuration.rbi +1091 -0
  511. data/rbi/stripe/resources/terminal/connection_token.rbi +37 -0
  512. data/rbi/stripe/resources/terminal/location.rbi +231 -0
  513. data/rbi/stripe/resources/terminal/reader.rbi +952 -0
  514. data/rbi/stripe/resources/terminal/reader_collected_data.rbi +41 -0
  515. data/rbi/stripe/resources/test_helpers/test_clock.rbi +139 -0
  516. data/rbi/stripe/resources/token.rbi +1175 -0
  517. data/rbi/stripe/resources/topup.rbi +225 -0
  518. data/rbi/stripe/resources/transfer.rbi +204 -0
  519. data/rbi/stripe/resources/treasury/credit_reversal.rbi +126 -0
  520. data/rbi/stripe/resources/treasury/debit_reversal.rbi +138 -0
  521. data/rbi/stripe/resources/treasury/financial_account.rbi +870 -0
  522. data/rbi/stripe/resources/treasury/financial_account_features.rbi +263 -0
  523. data/rbi/stripe/resources/treasury/inbound_transfer.rbi +302 -0
  524. data/rbi/stripe/resources/treasury/outbound_payment.rbi +589 -0
  525. data/rbi/stripe/resources/treasury/outbound_transfer.rbi +473 -0
  526. data/rbi/stripe/resources/treasury/received_credit.rbi +348 -0
  527. data/rbi/stripe/resources/treasury/received_debit.rbi +305 -0
  528. data/rbi/stripe/resources/treasury/transaction.rbi +216 -0
  529. data/rbi/stripe/resources/treasury/transaction_entry.rbi +193 -0
  530. data/rbi/stripe/resources/usage_record.rbi +32 -0
  531. data/rbi/stripe/resources/usage_record_summary.rbi +38 -0
  532. data/rbi/stripe/resources/v2/amount.rbi +14 -0
  533. data/rbi/stripe/resources/v2/billing/meter_event.rbi +37 -0
  534. data/rbi/stripe/resources/v2/billing/meter_event_adjustment.rbi +41 -0
  535. data/rbi/stripe/resources/v2/billing/meter_event_session.rbi +31 -0
  536. data/rbi/stripe/resources/v2/event.rbi +47 -0
  537. data/rbi/stripe/resources/v2/event_destination.rbi +90 -0
  538. data/rbi/stripe/resources/webhook_endpoint.rbi +177 -0
  539. data/rbi/stripe/services/account_capability_service.rbi +51 -0
  540. data/rbi/stripe/services/account_external_account_service.rbi +306 -0
  541. data/rbi/stripe/services/account_link_service.rbi +58 -0
  542. data/rbi/stripe/services/account_login_link_service.rbi +22 -0
  543. data/rbi/stripe/services/account_notice_service.rbi +90 -0
  544. data/rbi/stripe/services/account_person_service.rbi +903 -0
  545. data/rbi/stripe/services/account_service.rbi +4185 -0
  546. data/rbi/stripe/services/account_session_service.rbi +757 -0
  547. data/rbi/stripe/services/apple_pay_domain_service.rbi +78 -0
  548. data/rbi/stripe/services/application_fee_refund_service.rbi +91 -0
  549. data/rbi/stripe/services/application_fee_service.rbi +74 -0
  550. data/rbi/stripe/services/apps/secret_service.rbi +151 -0
  551. data/rbi/stripe/services/apps_service.rbi +9 -0
  552. data/rbi/stripe/services/balance_service.rbi +21 -0
  553. data/rbi/stripe/services/balance_transaction_service.rbi +89 -0
  554. data/rbi/stripe/services/billing/alert_service.rbi +152 -0
  555. data/rbi/stripe/services/billing/credit_balance_summary_service.rbi +54 -0
  556. data/rbi/stripe/services/billing/credit_balance_transaction_service.rbi +59 -0
  557. data/rbi/stripe/services/billing/credit_grant_service.rbi +191 -0
  558. data/rbi/stripe/services/billing/meter_event_adjustment_service.rbi +40 -0
  559. data/rbi/stripe/services/billing/meter_event_service.rbi +42 -0
  560. data/rbi/stripe/services/billing/meter_event_summary_service.rbi +54 -0
  561. data/rbi/stripe/services/billing/meter_service.rbi +163 -0
  562. data/rbi/stripe/services/billing_portal/configuration_service.rbi +497 -0
  563. data/rbi/stripe/services/billing_portal/session_service.rbi +202 -0
  564. data/rbi/stripe/services/billing_portal_service.rbi +10 -0
  565. data/rbi/stripe/services/billing_service.rbi +15 -0
  566. data/rbi/stripe/services/capital/financing_offer_service.rbi +95 -0
  567. data/rbi/stripe/services/capital/financing_summary_service.rbi +22 -0
  568. data/rbi/stripe/services/capital/financing_transaction_service.rbi +68 -0
  569. data/rbi/stripe/services/capital_service.rbi +11 -0
  570. data/rbi/stripe/services/charge_service.rbi +1816 -0
  571. data/rbi/stripe/services/checkout/session_line_item_service.rbi +33 -0
  572. data/rbi/stripe/services/checkout/session_service.rbi +2582 -0
  573. data/rbi/stripe/services/checkout_service.rbi +9 -0
  574. data/rbi/stripe/services/climate/order_service.rbi +140 -0
  575. data/rbi/stripe/services/climate/product_service.rbi +46 -0
  576. data/rbi/stripe/services/climate/supplier_service.rbi +46 -0
  577. data/rbi/stripe/services/climate_service.rbi +11 -0
  578. data/rbi/stripe/services/confirmation_token_service.rbi +20 -0
  579. data/rbi/stripe/services/country_spec_service.rbi +44 -0
  580. data/rbi/stripe/services/coupon_service.rbi +190 -0
  581. data/rbi/stripe/services/credit_note_line_item_service.rbi +31 -0
  582. data/rbi/stripe/services/credit_note_preview_lines_service.rbi +167 -0
  583. data/rbi/stripe/services/credit_note_service.rbi +420 -0
  584. data/rbi/stripe/services/customer_balance_transaction_service.rbi +92 -0
  585. data/rbi/stripe/services/customer_cash_balance_service.rbi +45 -0
  586. data/rbi/stripe/services/customer_cash_balance_transaction_service.rbi +44 -0
  587. data/rbi/stripe/services/customer_funding_instructions_service.rbi +59 -0
  588. data/rbi/stripe/services/customer_payment_method_service.rbi +57 -0
  589. data/rbi/stripe/services/customer_payment_source_service.rbi +228 -0
  590. data/rbi/stripe/services/customer_service.rbi +647 -0
  591. data/rbi/stripe/services/customer_session_service.rbi +110 -0
  592. data/rbi/stripe/services/customer_tax_id_service.rbi +72 -0
  593. data/rbi/stripe/services/dispute_service.rbi +422 -0
  594. data/rbi/stripe/services/entitlements/active_entitlement_service.rbi +55 -0
  595. data/rbi/stripe/services/entitlements/feature_service.rbi +107 -0
  596. data/rbi/stripe/services/entitlements_service.rbi +10 -0
  597. data/rbi/stripe/services/ephemeral_key_service.rbi +53 -0
  598. data/rbi/stripe/services/event_service.rbi +81 -0
  599. data/rbi/stripe/services/exchange_rate_service.rbi +44 -0
  600. data/rbi/stripe/services/file_link_service.rbi +122 -0
  601. data/rbi/stripe/services/file_service.rbi +114 -0
  602. data/rbi/stripe/services/financial_connections/account_inferred_balance_service.rbi +33 -0
  603. data/rbi/stripe/services/financial_connections/account_owner_service.rbi +42 -0
  604. data/rbi/stripe/services/financial_connections/account_service.rbi +132 -0
  605. data/rbi/stripe/services/financial_connections/institution_service.rbi +46 -0
  606. data/rbi/stripe/services/financial_connections/session_service.rbi +111 -0
  607. data/rbi/stripe/services/financial_connections/transaction_service.rbi +90 -0
  608. data/rbi/stripe/services/financial_connections_service.rbi +12 -0
  609. data/rbi/stripe/services/forwarding/request_service.rbi +132 -0
  610. data/rbi/stripe/services/forwarding_service.rbi +9 -0
  611. data/rbi/stripe/services/gift_cards/card_service.rbi +142 -0
  612. data/rbi/stripe/services/gift_cards/transaction_service.rbi +174 -0
  613. data/rbi/stripe/services/gift_cards_service.rbi +10 -0
  614. data/rbi/stripe/services/identity/verification_report_service.rbi +85 -0
  615. data/rbi/stripe/services/identity/verification_session_service.rbi +317 -0
  616. data/rbi/stripe/services/identity_service.rbi +10 -0
  617. data/rbi/stripe/services/invoice_item_service.rbi +424 -0
  618. data/rbi/stripe/services/invoice_line_item_service.rbi +270 -0
  619. data/rbi/stripe/services/invoice_payment_service.rbi +44 -0
  620. data/rbi/stripe/services/invoice_rendering_template_service.rbi +82 -0
  621. data/rbi/stripe/services/invoice_service.rbi +6040 -0
  622. data/rbi/stripe/services/invoice_upcoming_lines_service.rbi +2023 -0
  623. data/rbi/stripe/services/issuing/authorization_service.rbi +140 -0
  624. data/rbi/stripe/services/issuing/card_service.rbi +479 -0
  625. data/rbi/stripe/services/issuing/cardholder_service.rbi +568 -0
  626. data/rbi/stripe/services/issuing/credit_underwriting_record_service.rbi +498 -0
  627. data/rbi/stripe/services/issuing/dispute_service.rbi +701 -0
  628. data/rbi/stripe/services/issuing/dispute_settlement_detail_service.rbi +55 -0
  629. data/rbi/stripe/services/issuing/fraud_liability_debit_service.rbi +73 -0
  630. data/rbi/stripe/services/issuing/personalization_design_service.rbi +233 -0
  631. data/rbi/stripe/services/issuing/physical_bundle_service.rbi +59 -0
  632. data/rbi/stripe/services/issuing/token_service.rbi +95 -0
  633. data/rbi/stripe/services/issuing/transaction_service.rbi +103 -0
  634. data/rbi/stripe/services/issuing_service.rbi +19 -0
  635. data/rbi/stripe/services/mandate_service.rbi +20 -0
  636. data/rbi/stripe/services/margin_service.rbi +104 -0
  637. data/rbi/stripe/services/order_line_item_service.rbi +31 -0
  638. data/rbi/stripe/services/order_service.rbi +2306 -0
  639. data/rbi/stripe/services/payment_attempt_record_service.rbi +36 -0
  640. data/rbi/stripe/services/payment_intent_service.rbi +11429 -0
  641. data/rbi/stripe/services/payment_link_line_item_service.rbi +31 -0
  642. data/rbi/stripe/services/payment_link_service.rbi +1250 -0
  643. data/rbi/stripe/services/payment_method_configuration_service.rbi +2171 -0
  644. data/rbi/stripe/services/payment_method_domain_service.rbi +110 -0
  645. data/rbi/stripe/services/payment_method_service.rbi +883 -0
  646. data/rbi/stripe/services/payment_record_service.rbi +521 -0
  647. data/rbi/stripe/services/payout_service.rbi +197 -0
  648. data/rbi/stripe/services/plan_service.rbi +286 -0
  649. data/rbi/stripe/services/price_service.rbi +551 -0
  650. data/rbi/stripe/services/product_feature_service.rbi +69 -0
  651. data/rbi/stripe/services/product_service.rbi +503 -0
  652. data/rbi/stripe/services/promotion_code_service.rbi +210 -0
  653. data/rbi/stripe/services/quote_computed_upfront_line_items_service.rbi +31 -0
  654. data/rbi/stripe/services/quote_line_item_service.rbi +31 -0
  655. data/rbi/stripe/services/quote_line_service.rbi +31 -0
  656. data/rbi/stripe/services/quote_preview_invoice_service.rbi +31 -0
  657. data/rbi/stripe/services/quote_preview_subscription_schedule_service.rbi +31 -0
  658. data/rbi/stripe/services/quote_service.rbi +2390 -0
  659. data/rbi/stripe/services/radar/early_fraud_warning_service.rbi +83 -0
  660. data/rbi/stripe/services/radar/value_list_item_service.rbi +107 -0
  661. data/rbi/stripe/services/radar/value_list_service.rbi +139 -0
  662. data/rbi/stripe/services/radar_service.rbi +11 -0
  663. data/rbi/stripe/services/refund_service.rbi +181 -0
  664. data/rbi/stripe/services/reporting/report_run_service.rbi +131 -0
  665. data/rbi/stripe/services/reporting/report_type_service.rbi +35 -0
  666. data/rbi/stripe/services/reporting_service.rbi +10 -0
  667. data/rbi/stripe/services/review_service.rbi +82 -0
  668. data/rbi/stripe/services/setup_attempt_service.rbi +63 -0
  669. data/rbi/stripe/services/setup_intent_service.rbi +3609 -0
  670. data/rbi/stripe/services/shipping_rate_service.rbi +235 -0
  671. data/rbi/stripe/services/sigma/scheduled_query_run_service.rbi +46 -0
  672. data/rbi/stripe/services/sigma_service.rbi +9 -0
  673. data/rbi/stripe/services/source_service.rbi +647 -0
  674. data/rbi/stripe/services/source_transaction_service.rbi +31 -0
  675. data/rbi/stripe/services/subscription_item_service.rbi +422 -0
  676. data/rbi/stripe/services/subscription_item_usage_record_service.rbi +37 -0
  677. data/rbi/stripe/services/subscription_item_usage_record_summary_service.rbi +33 -0
  678. data/rbi/stripe/services/subscription_schedule_service.rbi +2208 -0
  679. data/rbi/stripe/services/subscription_service.rbi +1870 -0
  680. data/rbi/stripe/services/tax/association_service.rbi +25 -0
  681. data/rbi/stripe/services/tax/calculation_line_item_service.rbi +33 -0
  682. data/rbi/stripe/services/tax/calculation_service.rbi +228 -0
  683. data/rbi/stripe/services/tax/form_service.rbi +85 -0
  684. data/rbi/stripe/services/tax/registration_service.rbi +1517 -0
  685. data/rbi/stripe/services/tax/settings_service.rbi +93 -0
  686. data/rbi/stripe/services/tax/transaction_line_item_service.rbi +33 -0
  687. data/rbi/stripe/services/tax/transaction_service.rbi +142 -0
  688. data/rbi/stripe/services/tax_code_service.rbi +44 -0
  689. data/rbi/stripe/services/tax_id_service.rbi +112 -0
  690. data/rbi/stripe/services/tax_rate_service.rbi +183 -0
  691. data/rbi/stripe/services/tax_service.rbi +14 -0
  692. data/rbi/stripe/services/terminal/configuration_service.rbi +822 -0
  693. data/rbi/stripe/services/terminal/connection_token_service.rbi +25 -0
  694. data/rbi/stripe/services/terminal/location_service.rbi +184 -0
  695. data/rbi/stripe/services/terminal/reader_collected_data_service.rbi +22 -0
  696. data/rbi/stripe/services/terminal/reader_service.rbi +513 -0
  697. data/rbi/stripe/services/terminal_service.rbi +13 -0
  698. data/rbi/stripe/services/test_helpers/confirmation_token_service.rbi +778 -0
  699. data/rbi/stripe/services/test_helpers/customer_service.rbi +33 -0
  700. data/rbi/stripe/services/test_helpers/issuing/authorization_service.rbi +836 -0
  701. data/rbi/stripe/services/test_helpers/issuing/card_service.rbi +76 -0
  702. data/rbi/stripe/services/test_helpers/issuing/personalization_design_service.rbi +67 -0
  703. data/rbi/stripe/services/test_helpers/issuing/transaction_service.rbi +705 -0
  704. data/rbi/stripe/services/test_helpers/issuing_service.rbi +14 -0
  705. data/rbi/stripe/services/test_helpers/refund_service.rbi +22 -0
  706. data/rbi/stripe/services/test_helpers/terminal/reader_service.rbi +62 -0
  707. data/rbi/stripe/services/test_helpers/terminal_service.rbi +11 -0
  708. data/rbi/stripe/services/test_helpers/test_clock_service.rbi +90 -0
  709. data/rbi/stripe/services/test_helpers/treasury/inbound_transfer_service.rbi +64 -0
  710. data/rbi/stripe/services/test_helpers/treasury/outbound_payment_service.rbi +123 -0
  711. data/rbi/stripe/services/test_helpers/treasury/outbound_transfer_service.rbi +123 -0
  712. data/rbi/stripe/services/test_helpers/treasury/received_credit_service.rbi +114 -0
  713. data/rbi/stripe/services/test_helpers/treasury/received_debit_service.rbi +114 -0
  714. data/rbi/stripe/services/test_helpers/treasury_service.rbi +15 -0
  715. data/rbi/stripe/services/test_helpers_service.rbi +15 -0
  716. data/rbi/stripe/services/token_service.rbi +1136 -0
  717. data/rbi/stripe/services/topup_service.rbi +172 -0
  718. data/rbi/stripe/services/transfer_reversal_service.rbi +99 -0
  719. data/rbi/stripe/services/transfer_service.rbi +150 -0
  720. data/rbi/stripe/services/treasury/credit_reversal_service.rbi +84 -0
  721. data/rbi/stripe/services/treasury/debit_reversal_service.rbi +88 -0
  722. data/rbi/stripe/services/treasury/financial_account_features_service.rbi +201 -0
  723. data/rbi/stripe/services/treasury/financial_account_service.rbi +566 -0
  724. data/rbi/stripe/services/treasury/inbound_transfer_service.rbi +117 -0
  725. data/rbi/stripe/services/treasury/outbound_payment_service.rbi +300 -0
  726. data/rbi/stripe/services/treasury/outbound_transfer_service.rbi +182 -0
  727. data/rbi/stripe/services/treasury/received_credit_service.rbi +70 -0
  728. data/rbi/stripe/services/treasury/received_debit_service.rbi +59 -0
  729. data/rbi/stripe/services/treasury/transaction_entry_service.rbi +107 -0
  730. data/rbi/stripe/services/treasury/transaction_service.rbi +114 -0
  731. data/rbi/stripe/services/treasury_service.rbi +18 -0
  732. data/rbi/stripe/services/v1_services.rbi +83 -0
  733. data/rbi/stripe/services/v2/billing/meter_event_adjustment_service.rbi +39 -0
  734. data/rbi/stripe/services/v2/billing/meter_event_service.rbi +42 -0
  735. data/rbi/stripe/services/v2/billing/meter_event_session_service.rbi +20 -0
  736. data/rbi/stripe/services/v2/billing/meter_event_stream_service.rbi +55 -0
  737. data/rbi/stripe/services/v2/billing_service.rbi +14 -0
  738. data/rbi/stripe/services/v2/core/event_destination_service.rbi +203 -0
  739. data/rbi/stripe/services/v2/core/event_service.rbi +39 -0
  740. data/rbi/stripe/services/v2/core_service.rbi +12 -0
  741. data/rbi/stripe/services/v2_services.rbi +10 -0
  742. data/rbi/stripe/services/webhook_endpoint_service.rbi +131 -0
  743. metadata +435 -4
@@ -0,0 +1,3016 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ # typed: true
5
+ module Stripe
6
+ # An Order describes a purchase being made by a customer, including the
7
+ # products & quantities being purchased, the order status, the payment information,
8
+ # and the billing/shipping details.
9
+ #
10
+ # Related guide: [Orders overview](https://stripe.com/docs/orders)
11
+ class Order < APIResource
12
+ class AutomaticTax < Stripe::StripeObject
13
+ # Whether Stripe automatically computes tax on this Order.
14
+ sig { returns(T::Boolean) }
15
+ attr_reader :enabled
16
+ # The status of the most recent automated tax calculation for this Order.
17
+ sig { returns(T.nilable(String)) }
18
+ attr_reader :status
19
+ end
20
+ class BillingDetails < Stripe::StripeObject
21
+ class Address < Stripe::StripeObject
22
+ # City, district, suburb, town, or village.
23
+ sig { returns(T.nilable(String)) }
24
+ attr_reader :city
25
+ # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
26
+ sig { returns(T.nilable(String)) }
27
+ attr_reader :country
28
+ # Address line 1 (e.g., street, PO Box, or company name).
29
+ sig { returns(T.nilable(String)) }
30
+ attr_reader :line1
31
+ # Address line 2 (e.g., apartment, suite, unit, or building).
32
+ sig { returns(T.nilable(String)) }
33
+ attr_reader :line2
34
+ # ZIP or postal code.
35
+ sig { returns(T.nilable(String)) }
36
+ attr_reader :postal_code
37
+ # State, county, province, or region.
38
+ sig { returns(T.nilable(String)) }
39
+ attr_reader :state
40
+ end
41
+ # Billing address for the order.
42
+ sig { returns(T.nilable(Address)) }
43
+ attr_reader :address
44
+ # Email address for the order.
45
+ sig { returns(T.nilable(String)) }
46
+ attr_reader :email
47
+ # Full name for the order.
48
+ sig { returns(T.nilable(String)) }
49
+ attr_reader :name
50
+ # Billing phone number for the order (including extension).
51
+ sig { returns(T.nilable(String)) }
52
+ attr_reader :phone
53
+ end
54
+ class Credit < Stripe::StripeObject
55
+ class GiftCard < Stripe::StripeObject
56
+ # The token of the gift card applied to the order
57
+ sig { returns(String) }
58
+ attr_reader :card
59
+ end
60
+ # The amount of this credit to apply to the order.
61
+ sig { returns(Integer) }
62
+ attr_reader :amount
63
+ # Details for a gift card.
64
+ sig { returns(T.nilable(GiftCard)) }
65
+ attr_reader :gift_card
66
+ # Line items on this order that are ineligible for this credit
67
+ sig { returns(T.nilable(T::Array[String])) }
68
+ attr_reader :ineligible_line_items
69
+ # The type of credit to apply to the order, only `gift_card` currently supported.
70
+ sig { returns(String) }
71
+ attr_reader :type
72
+ end
73
+ class Payment < Stripe::StripeObject
74
+ class Settings < Stripe::StripeObject
75
+ class AutomaticPaymentMethods < Stripe::StripeObject
76
+ # Whether this Order has been opted into managing payment method types via the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods).
77
+ sig { returns(T::Boolean) }
78
+ attr_reader :enabled
79
+ end
80
+ class PaymentMethodOptions < Stripe::StripeObject
81
+ class AcssDebit < Stripe::StripeObject
82
+ class MandateOptions < Stripe::StripeObject
83
+ # A URL for custom mandate text
84
+ sig { returns(String) }
85
+ attr_reader :custom_mandate_url
86
+ # Description of the interval. Only required if the 'payment_schedule' parameter is 'interval' or 'combined'.
87
+ sig { returns(T.nilable(String)) }
88
+ attr_reader :interval_description
89
+ # Payment schedule for the mandate.
90
+ sig { returns(T.nilable(String)) }
91
+ attr_reader :payment_schedule
92
+ # Transaction type of the mandate.
93
+ sig { returns(T.nilable(String)) }
94
+ attr_reader :transaction_type
95
+ end
96
+ # Attribute for field mandate_options
97
+ sig { returns(MandateOptions) }
98
+ attr_reader :mandate_options
99
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
100
+ #
101
+ # 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.
102
+ #
103
+ # 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.
104
+ #
105
+ # 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).
106
+ sig { returns(String) }
107
+ attr_reader :setup_future_usage
108
+ # Bank account verification method.
109
+ sig { returns(String) }
110
+ attr_reader :verification_method
111
+ end
112
+ class AfterpayClearpay < Stripe::StripeObject
113
+ # Controls when the funds will be captured from the customer's account.
114
+ sig { returns(String) }
115
+ attr_reader :capture_method
116
+ # Order identifier shown to the user in Afterpay's online portal. We recommend using a value that helps you answer any questions a customer might have about the payment. The identifier is limited to 128 characters and may contain only letters, digits, underscores, backslashes and dashes.
117
+ sig { returns(T.nilable(String)) }
118
+ attr_reader :reference
119
+ # Indicates that you intend to make future payments with the payment method.
120
+ #
121
+ # Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the order's Customer, if present, after the order's PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
122
+ #
123
+ # When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
124
+ #
125
+ # If `setup_future_usage` is already set and you are performing a request using a publishable key, you may only update the value from `on_session` to `off_session`.
126
+ sig { returns(String) }
127
+ attr_reader :setup_future_usage
128
+ end
129
+ class Alipay < Stripe::StripeObject
130
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
131
+ #
132
+ # 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.
133
+ #
134
+ # 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.
135
+ #
136
+ # 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).
137
+ sig { returns(String) }
138
+ attr_reader :setup_future_usage
139
+ end
140
+ class Bancontact < Stripe::StripeObject
141
+ # Preferred language of the Bancontact authorization page that the customer is redirected to.
142
+ sig { returns(String) }
143
+ attr_reader :preferred_language
144
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
145
+ #
146
+ # 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.
147
+ #
148
+ # 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.
149
+ #
150
+ # 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).
151
+ sig { returns(String) }
152
+ attr_reader :setup_future_usage
153
+ end
154
+ class Card < Stripe::StripeObject
155
+ # Controls when the funds will be captured from the customer's account.
156
+ sig { returns(String) }
157
+ attr_reader :capture_method
158
+ # Indicates that you intend to make future payments with the payment method.
159
+ #
160
+ # Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the order's Customer, if present, after the order's PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
161
+ #
162
+ # When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
163
+ #
164
+ # If `setup_future_usage` is already set and you are performing a request using a publishable key, you may only update the value from `on_session` to `off_session`.
165
+ sig { returns(String) }
166
+ attr_reader :setup_future_usage
167
+ end
168
+ class CustomerBalance < Stripe::StripeObject
169
+ class BankTransfer < Stripe::StripeObject
170
+ class EuBankTransfer < Stripe::StripeObject
171
+ # The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`.
172
+ sig { returns(String) }
173
+ attr_reader :country
174
+ end
175
+ # Attribute for field eu_bank_transfer
176
+ sig { returns(EuBankTransfer) }
177
+ attr_reader :eu_bank_transfer
178
+ # List of address types that should be returned in the financial_addresses response. If not specified, all valid types will be returned.
179
+ #
180
+ # Permitted values include: `sort_code`, `zengin`, `iban`, or `spei`.
181
+ sig { returns(T::Array[String]) }
182
+ attr_reader :requested_address_types
183
+ # 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`.
184
+ sig { returns(T.nilable(String)) }
185
+ attr_reader :type
186
+ end
187
+ # Attribute for field bank_transfer
188
+ sig { returns(BankTransfer) }
189
+ attr_reader :bank_transfer
190
+ # The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`.
191
+ sig { returns(T.nilable(String)) }
192
+ attr_reader :funding_type
193
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
194
+ #
195
+ # 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.
196
+ #
197
+ # 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.
198
+ #
199
+ # 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).
200
+ sig { returns(String) }
201
+ attr_reader :setup_future_usage
202
+ end
203
+ class Ideal < Stripe::StripeObject
204
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
205
+ #
206
+ # 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.
207
+ #
208
+ # 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.
209
+ #
210
+ # 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).
211
+ sig { returns(String) }
212
+ attr_reader :setup_future_usage
213
+ end
214
+ class Klarna < Stripe::StripeObject
215
+ # Controls when the funds will be captured from the customer's account.
216
+ sig { returns(String) }
217
+ attr_reader :capture_method
218
+ # Preferred locale of the Klarna checkout page that the customer is redirected to.
219
+ sig { returns(T.nilable(String)) }
220
+ attr_reader :preferred_locale
221
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
222
+ #
223
+ # 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.
224
+ #
225
+ # 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.
226
+ #
227
+ # 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).
228
+ sig { returns(String) }
229
+ attr_reader :setup_future_usage
230
+ end
231
+ class Link < Stripe::StripeObject
232
+ # Controls when the funds will be captured from the customer's account.
233
+ sig { returns(String) }
234
+ attr_reader :capture_method
235
+ # [Deprecated] This is a legacy parameter that no longer has any function.
236
+ sig { returns(T.nilable(String)) }
237
+ attr_reader :persistent_token
238
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
239
+ #
240
+ # 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.
241
+ #
242
+ # 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.
243
+ #
244
+ # 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).
245
+ sig { returns(String) }
246
+ attr_reader :setup_future_usage
247
+ end
248
+ class Oxxo < Stripe::StripeObject
249
+ # 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.
250
+ sig { returns(Integer) }
251
+ attr_reader :expires_after_days
252
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
253
+ #
254
+ # 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.
255
+ #
256
+ # 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.
257
+ #
258
+ # 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).
259
+ sig { returns(String) }
260
+ attr_reader :setup_future_usage
261
+ end
262
+ class P24 < Stripe::StripeObject
263
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
264
+ #
265
+ # 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.
266
+ #
267
+ # 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.
268
+ #
269
+ # 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).
270
+ sig { returns(String) }
271
+ attr_reader :setup_future_usage
272
+ end
273
+ class Paypal < Stripe::StripeObject
274
+ class LineItem < Stripe::StripeObject
275
+ class Tax < Stripe::StripeObject
276
+ # The tax for a single unit of the line item in minor units. Cannot be a negative number.
277
+ sig { returns(Integer) }
278
+ attr_reader :amount
279
+ # The tax behavior for the line item.
280
+ sig { returns(String) }
281
+ attr_reader :behavior
282
+ end
283
+ # Type of the line item.
284
+ sig { returns(String) }
285
+ attr_reader :category
286
+ # Description of the line item.
287
+ sig { returns(String) }
288
+ attr_reader :description
289
+ # Descriptive name of the line item.
290
+ sig { returns(String) }
291
+ attr_reader :name
292
+ # Quantity of the line item. Cannot be a negative number.
293
+ sig { returns(Integer) }
294
+ attr_reader :quantity
295
+ # Client facing stock keeping unit, article number or similar.
296
+ sig { returns(String) }
297
+ attr_reader :sku
298
+ # The Stripe account ID of the connected account that sells the item. This is only needed when using [Separate Charges and Transfers](https://docs.stripe.com/connect/separate-charges-and-transfers).
299
+ sig { returns(String) }
300
+ attr_reader :sold_by
301
+ # Attribute for field tax
302
+ sig { returns(Tax) }
303
+ attr_reader :tax
304
+ # Price for a single unit of the line item in minor units. Cannot be a negative number.
305
+ sig { returns(Integer) }
306
+ attr_reader :unit_amount
307
+ end
308
+ # Controls when the funds will be captured from the customer's account.
309
+ sig { returns(String) }
310
+ attr_reader :capture_method
311
+ # The line items purchased by the customer.
312
+ sig { returns(T::Array[LineItem]) }
313
+ attr_reader :line_items
314
+ # Preferred locale of the PayPal checkout page that the customer is redirected to.
315
+ sig { returns(T.nilable(String)) }
316
+ attr_reader :preferred_locale
317
+ # 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.
318
+ sig { returns(T.nilable(String)) }
319
+ attr_reader :reference
320
+ # 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.
321
+ sig { returns(T.nilable(String)) }
322
+ attr_reader :reference_id
323
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
324
+ #
325
+ # 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.
326
+ #
327
+ # 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.
328
+ #
329
+ # 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).
330
+ sig { returns(String) }
331
+ attr_reader :setup_future_usage
332
+ # 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.
333
+ sig { returns(T::Array[String]) }
334
+ attr_reader :subsellers
335
+ end
336
+ class SepaDebit < Stripe::StripeObject
337
+ class MandateOptions < Stripe::StripeObject
338
+ # 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'.
339
+ sig { returns(String) }
340
+ attr_reader :reference_prefix
341
+ end
342
+ # Attribute for field mandate_options
343
+ sig { returns(MandateOptions) }
344
+ attr_reader :mandate_options
345
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
346
+ #
347
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
348
+ #
349
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
350
+ #
351
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
352
+ sig { returns(String) }
353
+ attr_reader :setup_future_usage
354
+ end
355
+ class Sofort < Stripe::StripeObject
356
+ # Preferred language of the SOFORT authorization page that the customer is redirected to.
357
+ sig { returns(T.nilable(String)) }
358
+ attr_reader :preferred_language
359
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
360
+ #
361
+ # 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.
362
+ #
363
+ # 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.
364
+ #
365
+ # 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).
366
+ sig { returns(String) }
367
+ attr_reader :setup_future_usage
368
+ end
369
+ class WechatPay < Stripe::StripeObject
370
+ # The app ID registered with WeChat Pay. Only required when client is ios or android.
371
+ sig { returns(T.nilable(String)) }
372
+ attr_reader :app_id
373
+ # The client type that the end customer will pay from
374
+ sig { returns(T.nilable(String)) }
375
+ attr_reader :client
376
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
377
+ #
378
+ # 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.
379
+ #
380
+ # 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.
381
+ #
382
+ # 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).
383
+ sig { returns(String) }
384
+ attr_reader :setup_future_usage
385
+ end
386
+ # Attribute for field acss_debit
387
+ sig { returns(AcssDebit) }
388
+ attr_reader :acss_debit
389
+ # Attribute for field afterpay_clearpay
390
+ sig { returns(AfterpayClearpay) }
391
+ attr_reader :afterpay_clearpay
392
+ # Attribute for field alipay
393
+ sig { returns(Alipay) }
394
+ attr_reader :alipay
395
+ # Attribute for field bancontact
396
+ sig { returns(Bancontact) }
397
+ attr_reader :bancontact
398
+ # Attribute for field card
399
+ sig { returns(Card) }
400
+ attr_reader :card
401
+ # Attribute for field customer_balance
402
+ sig { returns(CustomerBalance) }
403
+ attr_reader :customer_balance
404
+ # Attribute for field ideal
405
+ sig { returns(Ideal) }
406
+ attr_reader :ideal
407
+ # Attribute for field klarna
408
+ sig { returns(Klarna) }
409
+ attr_reader :klarna
410
+ # Attribute for field link
411
+ sig { returns(Link) }
412
+ attr_reader :link
413
+ # Attribute for field oxxo
414
+ sig { returns(Oxxo) }
415
+ attr_reader :oxxo
416
+ # Attribute for field p24
417
+ sig { returns(P24) }
418
+ attr_reader :p24
419
+ # Attribute for field paypal
420
+ sig { returns(Paypal) }
421
+ attr_reader :paypal
422
+ # Attribute for field sepa_debit
423
+ sig { returns(SepaDebit) }
424
+ attr_reader :sepa_debit
425
+ # Attribute for field sofort
426
+ sig { returns(Sofort) }
427
+ attr_reader :sofort
428
+ # Attribute for field wechat_pay
429
+ sig { returns(WechatPay) }
430
+ attr_reader :wechat_pay
431
+ end
432
+ class TransferData < Stripe::StripeObject
433
+ # The amount that will be transferred automatically when the order is paid. If no amount is set, the full amount is transferred. There cannot be any line items with recurring prices when using this field.
434
+ sig { returns(T.nilable(Integer)) }
435
+ attr_reader :amount
436
+ # ID of the Connected account receiving the transfer.
437
+ sig { returns(T.any(String, Stripe::Account)) }
438
+ attr_reader :destination
439
+ end
440
+ # 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.
441
+ sig { returns(T.nilable(Integer)) }
442
+ attr_reader :application_fee_amount
443
+ # Indicates whether order has been opted into using [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods) to manage payment method types.
444
+ sig { returns(T.nilable(AutomaticPaymentMethods)) }
445
+ attr_reader :automatic_payment_methods
446
+ # PaymentMethod-specific configuration to provide to the order's PaymentIntent.
447
+ sig { returns(T.nilable(PaymentMethodOptions)) }
448
+ attr_reader :payment_method_options
449
+ # The list of [payment method types](https://stripe.com/docs/payments/payment-methods/overview) to provide to the order's PaymentIntent. Do not include this attribute if you prefer to manage your payment methods from the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods).
450
+ sig { returns(T.nilable(T::Array[String])) }
451
+ attr_reader :payment_method_types
452
+ # The URL to redirect the customer to after they authenticate their payment.
453
+ sig { returns(T.nilable(String)) }
454
+ attr_reader :return_url
455
+ # For non-card charges, you can use this value as the complete description that appears on your customers' statements. Must contain at least one letter, maximum 22 characters.
456
+ sig { returns(T.nilable(String)) }
457
+ attr_reader :statement_descriptor
458
+ # Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.
459
+ sig { returns(T.nilable(String)) }
460
+ attr_reader :statement_descriptor_suffix
461
+ # Provides configuration for completing a transfer for the order after it is paid.
462
+ sig { returns(T.nilable(TransferData)) }
463
+ attr_reader :transfer_data
464
+ end
465
+ # ID of the payment intent associated with this order. Null when the order is `open`.
466
+ sig { returns(T.nilable(T.any(String, Stripe::PaymentIntent))) }
467
+ attr_reader :payment_intent
468
+ # Settings describing how the order should configure generated PaymentIntents.
469
+ sig { returns(T.nilable(Settings)) }
470
+ attr_reader :settings
471
+ # The status of the underlying payment associated with this order, if any. Null when the order is `open`.
472
+ sig { returns(T.nilable(String)) }
473
+ attr_reader :status
474
+ end
475
+ class ShippingCost < Stripe::StripeObject
476
+ class Tax < Stripe::StripeObject
477
+ # Amount of tax applied for this rate.
478
+ sig { returns(Integer) }
479
+ attr_reader :amount
480
+ # Tax rates can be applied to [invoices](https://stripe.com/docs/billing/invoices/tax-rates), [subscriptions](https://stripe.com/docs/billing/subscriptions/taxes) and [Checkout Sessions](https://stripe.com/docs/payments/checkout/set-up-a-subscription#tax-rates) to collect tax.
481
+ #
482
+ # Related guide: [Tax rates](https://stripe.com/docs/billing/taxes/tax-rates)
483
+ sig { returns(Stripe::TaxRate) }
484
+ attr_reader :rate
485
+ # 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.
486
+ sig { returns(T.nilable(String)) }
487
+ attr_reader :taxability_reason
488
+ # The amount on which tax is calculated, in cents (or local equivalent).
489
+ sig { returns(T.nilable(Integer)) }
490
+ attr_reader :taxable_amount
491
+ end
492
+ # Total shipping cost before any discounts or taxes are applied.
493
+ sig { returns(Integer) }
494
+ attr_reader :amount_subtotal
495
+ # Total tax amount applied due to shipping costs. If no tax was applied, defaults to 0.
496
+ sig { returns(Integer) }
497
+ attr_reader :amount_tax
498
+ # Total shipping cost after discounts and taxes are applied.
499
+ sig { returns(Integer) }
500
+ attr_reader :amount_total
501
+ # The ID of the ShippingRate for this order.
502
+ sig { returns(T.nilable(T.any(String, Stripe::ShippingRate))) }
503
+ attr_reader :shipping_rate
504
+ # The taxes applied to the shipping rate.
505
+ sig { returns(T::Array[Tax]) }
506
+ attr_reader :taxes
507
+ end
508
+ class ShippingDetails < Stripe::StripeObject
509
+ class Address < Stripe::StripeObject
510
+ # City, district, suburb, town, or village.
511
+ sig { returns(T.nilable(String)) }
512
+ attr_reader :city
513
+ # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
514
+ sig { returns(T.nilable(String)) }
515
+ attr_reader :country
516
+ # Address line 1 (e.g., street, PO Box, or company name).
517
+ sig { returns(T.nilable(String)) }
518
+ attr_reader :line1
519
+ # Address line 2 (e.g., apartment, suite, unit, or building).
520
+ sig { returns(T.nilable(String)) }
521
+ attr_reader :line2
522
+ # ZIP or postal code.
523
+ sig { returns(T.nilable(String)) }
524
+ attr_reader :postal_code
525
+ # State, county, province, or region.
526
+ sig { returns(T.nilable(String)) }
527
+ attr_reader :state
528
+ end
529
+ # Recipient shipping address. Required if the order includes products that are shippable.
530
+ sig { returns(T.nilable(Address)) }
531
+ attr_reader :address
532
+ # Recipient name.
533
+ sig { returns(T.nilable(String)) }
534
+ attr_reader :name
535
+ # Recipient phone (including extension).
536
+ sig { returns(T.nilable(String)) }
537
+ attr_reader :phone
538
+ end
539
+ class TaxDetails < Stripe::StripeObject
540
+ class TaxId < Stripe::StripeObject
541
+ # 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`
542
+ sig { returns(String) }
543
+ attr_reader :type
544
+ # The value of the tax ID.
545
+ sig { returns(T.nilable(String)) }
546
+ attr_reader :value
547
+ end
548
+ # Describes the purchaser's tax exemption status. One of `none`, `exempt`, or `reverse`.
549
+ sig { returns(String) }
550
+ attr_reader :tax_exempt
551
+ # The purchaser's tax IDs to be used in calculation of tax for this Order.
552
+ sig { returns(T::Array[TaxId]) }
553
+ attr_reader :tax_ids
554
+ end
555
+ class TotalDetails < Stripe::StripeObject
556
+ class Breakdown < Stripe::StripeObject
557
+ class Discount < Stripe::StripeObject
558
+ # The amount discounted.
559
+ sig { returns(Integer) }
560
+ attr_reader :amount
561
+ # 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).
562
+ # It contains information about when the discount began, when it will end, and what it is applied to.
563
+ #
564
+ # Related guide: [Applying discounts to subscriptions](https://stripe.com/docs/billing/subscriptions/discounts)
565
+ sig { returns(Stripe::Discount) }
566
+ attr_reader :discount
567
+ end
568
+ class Tax < Stripe::StripeObject
569
+ # Amount of tax applied for this rate.
570
+ sig { returns(Integer) }
571
+ attr_reader :amount
572
+ # Tax rates can be applied to [invoices](https://stripe.com/docs/billing/invoices/tax-rates), [subscriptions](https://stripe.com/docs/billing/subscriptions/taxes) and [Checkout Sessions](https://stripe.com/docs/payments/checkout/set-up-a-subscription#tax-rates) to collect tax.
573
+ #
574
+ # Related guide: [Tax rates](https://stripe.com/docs/billing/taxes/tax-rates)
575
+ sig { returns(Stripe::TaxRate) }
576
+ attr_reader :rate
577
+ # 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.
578
+ sig { returns(T.nilable(String)) }
579
+ attr_reader :taxability_reason
580
+ # The amount on which tax is calculated, in cents (or local equivalent).
581
+ sig { returns(T.nilable(Integer)) }
582
+ attr_reader :taxable_amount
583
+ end
584
+ # The aggregated discounts.
585
+ sig { returns(T::Array[Discount]) }
586
+ attr_reader :discounts
587
+ # The aggregated tax amounts by rate.
588
+ sig { returns(T::Array[Tax]) }
589
+ attr_reader :taxes
590
+ end
591
+ # Attribute for field amount_credit
592
+ sig { returns(Integer) }
593
+ attr_reader :amount_credit
594
+ # This is the sum of all the discounts.
595
+ sig { returns(Integer) }
596
+ attr_reader :amount_discount
597
+ # This is the sum of all the shipping amounts.
598
+ sig { returns(T.nilable(Integer)) }
599
+ attr_reader :amount_shipping
600
+ # This is the sum of all the tax amounts.
601
+ sig { returns(Integer) }
602
+ attr_reader :amount_tax
603
+ # Attribute for field breakdown
604
+ sig { returns(Breakdown) }
605
+ attr_reader :breakdown
606
+ end
607
+ # Attribute for field amount_remaining
608
+ sig { returns(Integer) }
609
+ attr_reader :amount_remaining
610
+ # Order cost before any discounts or taxes are applied. A positive integer representing the subtotal of the order in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency).
611
+ sig { returns(Integer) }
612
+ attr_reader :amount_subtotal
613
+ # Total order cost after discounts and taxes are applied. A positive integer representing the cost of the order in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). To submit an order, the total must be either 0 or at least $0.50 USD or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts).
614
+ sig { returns(Integer) }
615
+ attr_reader :amount_total
616
+ # ID of the Connect application that created the Order, if any.
617
+ sig { returns(T.nilable(T.any(String, Stripe::Application))) }
618
+ attr_reader :application
619
+ # Attribute for field automatic_tax
620
+ sig { returns(AutomaticTax) }
621
+ attr_reader :automatic_tax
622
+ # Customer billing details associated with the order.
623
+ sig { returns(T.nilable(BillingDetails)) }
624
+ attr_reader :billing_details
625
+ # The client secret of this Order. Used for client-side retrieval using a publishable key.
626
+ #
627
+ # The client secret can be used to complete a payment for an Order from your frontend. It should not be stored, logged, embedded in URLs, or exposed to anyone other than the customer. Make sure that you have TLS enabled on any page that includes the client secret.
628
+ #
629
+ # Refer to our docs for [creating and processing an order](https://stripe.com/docs/orders-beta/create-and-process) to learn about how client_secret should be handled.
630
+ sig { returns(T.nilable(String)) }
631
+ attr_reader :client_secret
632
+ # Time at which the object was created. Measured in seconds since the Unix epoch.
633
+ sig { returns(Integer) }
634
+ attr_reader :created
635
+ # The credits applied to the Order. At most 10 credits can be applied to an Order.
636
+ sig { returns(T::Array[Credit]) }
637
+ attr_reader :credits
638
+ # 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).
639
+ sig { returns(String) }
640
+ attr_reader :currency
641
+ # The customer which this orders belongs to.
642
+ sig { returns(T.nilable(T.any(String, Stripe::Customer))) }
643
+ attr_reader :customer
644
+ # An arbitrary string attached to the object. Often useful for displaying to users.
645
+ sig { returns(T.nilable(String)) }
646
+ attr_reader :description
647
+ # The discounts applied to the order. Use `expand[]=discounts` to expand each discount.
648
+ sig { returns(T.nilable(T::Array[T.any(String, Stripe::Discount)])) }
649
+ attr_reader :discounts
650
+ # Unique identifier for the object.
651
+ sig { returns(String) }
652
+ attr_reader :id
653
+ # A recent IP address of the purchaser used for tax reporting and tax location inference.
654
+ sig { returns(T.nilable(String)) }
655
+ attr_reader :ip_address
656
+ # A list of line items the customer is ordering. Each line item includes information about the product, the quantity, and the resulting cost. There is a maximum of 100 line items.
657
+ sig { returns(Stripe::ListObject) }
658
+ attr_reader :line_items
659
+ # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
660
+ sig { returns(T::Boolean) }
661
+ attr_reader :livemode
662
+ # 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.
663
+ sig { returns(T.nilable(T::Hash[String, String])) }
664
+ attr_reader :metadata
665
+ # String representing the object's type. Objects of the same type share the same value.
666
+ sig { returns(String) }
667
+ attr_reader :object
668
+ # Attribute for field payment
669
+ sig { returns(Payment) }
670
+ attr_reader :payment
671
+ # The details of the customer cost of shipping, including the customer chosen ShippingRate.
672
+ sig { returns(T.nilable(ShippingCost)) }
673
+ attr_reader :shipping_cost
674
+ # Customer shipping information associated with the order.
675
+ sig { returns(T.nilable(ShippingDetails)) }
676
+ attr_reader :shipping_details
677
+ # The overall status of the order.
678
+ sig { returns(String) }
679
+ attr_reader :status
680
+ # Attribute for field tax_details
681
+ sig { returns(TaxDetails) }
682
+ attr_reader :tax_details
683
+ # Attribute for field total_details
684
+ sig { returns(TotalDetails) }
685
+ attr_reader :total_details
686
+ class ListParams < Stripe::RequestParams
687
+ # Only return orders for the given customer.
688
+ sig { returns(String) }
689
+ attr_accessor :customer
690
+ # 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.
691
+ sig { returns(String) }
692
+ attr_accessor :ending_before
693
+ # Specifies which fields in the response should be expanded.
694
+ sig { returns(T::Array[String]) }
695
+ attr_accessor :expand
696
+ # A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
697
+ sig { returns(Integer) }
698
+ attr_accessor :limit
699
+ # 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.
700
+ sig { returns(String) }
701
+ attr_accessor :starting_after
702
+ sig {
703
+ params(customer: String, ending_before: String, expand: T::Array[String], limit: Integer, starting_after: String).void
704
+ }
705
+ def initialize(
706
+ customer: nil,
707
+ ending_before: nil,
708
+ expand: nil,
709
+ limit: nil,
710
+ starting_after: nil
711
+ ); end
712
+ end
713
+ class CreateParams < Stripe::RequestParams
714
+ class AutomaticTax < Stripe::RequestParams
715
+ # Enable automatic tax calculation which will automatically compute tax rates on this order.
716
+ sig { returns(T::Boolean) }
717
+ attr_accessor :enabled
718
+ sig { params(enabled: T::Boolean).void }
719
+ def initialize(enabled: nil); end
720
+ end
721
+ class BillingDetails < Stripe::RequestParams
722
+ class Address < Stripe::RequestParams
723
+ # City, district, suburb, town, or village.
724
+ sig { returns(String) }
725
+ attr_accessor :city
726
+ # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
727
+ sig { returns(String) }
728
+ attr_accessor :country
729
+ # Address line 1 (e.g., street, PO Box, or company name).
730
+ sig { returns(String) }
731
+ attr_accessor :line1
732
+ # Address line 2 (e.g., apartment, suite, unit, or building).
733
+ sig { returns(String) }
734
+ attr_accessor :line2
735
+ # ZIP or postal code.
736
+ sig { returns(String) }
737
+ attr_accessor :postal_code
738
+ # State/province as an [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) subdivision code, without country prefix. Example: "NY" or "TX".
739
+ sig { returns(String) }
740
+ attr_accessor :state
741
+ sig {
742
+ params(city: String, country: String, line1: String, line2: String, postal_code: String, state: String).void
743
+ }
744
+ def initialize(
745
+ city: nil,
746
+ country: nil,
747
+ line1: nil,
748
+ line2: nil,
749
+ postal_code: nil,
750
+ state: nil
751
+ ); end
752
+ end
753
+ # The billing address provided by the customer.
754
+ sig { returns(::Stripe::Order::CreateParams::BillingDetails::Address) }
755
+ attr_accessor :address
756
+ # The billing email provided by the customer.
757
+ sig { returns(String) }
758
+ attr_accessor :email
759
+ # The billing name provided by the customer.
760
+ sig { returns(String) }
761
+ attr_accessor :name
762
+ # The billing phone number provided by the customer.
763
+ sig { returns(String) }
764
+ attr_accessor :phone
765
+ sig {
766
+ params(address: ::Stripe::Order::CreateParams::BillingDetails::Address, email: String, name: String, phone: String).void
767
+ }
768
+ def initialize(address: nil, email: nil, name: nil, phone: nil); end
769
+ end
770
+ class Credit < Stripe::RequestParams
771
+ # The gift card to apply to the order.
772
+ sig { returns(String) }
773
+ attr_accessor :gift_card
774
+ # The type of credit to apply to the order, only `gift_card` currently supported.
775
+ sig { returns(String) }
776
+ attr_accessor :type
777
+ sig { params(gift_card: String, type: String).void }
778
+ def initialize(gift_card: nil, type: nil); end
779
+ end
780
+ class Discount < Stripe::RequestParams
781
+ # ID of the coupon to create a new discount for.
782
+ sig { returns(String) }
783
+ attr_accessor :coupon
784
+ # ID of an existing discount on the object (or one of its ancestors) to reuse.
785
+ sig { returns(String) }
786
+ attr_accessor :discount
787
+ # ID of the promotion code to create a new discount for.
788
+ sig { returns(String) }
789
+ attr_accessor :promotion_code
790
+ sig { params(coupon: String, discount: String, promotion_code: String).void }
791
+ def initialize(coupon: nil, discount: nil, promotion_code: nil); end
792
+ end
793
+ class LineItem < Stripe::RequestParams
794
+ class Discount < Stripe::RequestParams
795
+ # ID of the coupon to create a new discount for.
796
+ sig { returns(String) }
797
+ attr_accessor :coupon
798
+ # ID of an existing discount on the object (or one of its ancestors) to reuse.
799
+ sig { returns(String) }
800
+ attr_accessor :discount
801
+ sig { params(coupon: String, discount: String).void }
802
+ def initialize(coupon: nil, discount: nil); end
803
+ end
804
+ class PriceData < Stripe::RequestParams
805
+ # 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).
806
+ sig { returns(String) }
807
+ attr_accessor :currency
808
+ # ID of the product this price belongs to.
809
+ #
810
+ # Use this to implement a variable-pricing model in your integration. This is required if `product_data` is not specified.
811
+ sig { returns(String) }
812
+ attr_accessor :product
813
+ # 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.
814
+ sig { returns(String) }
815
+ attr_accessor :tax_behavior
816
+ # A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge.
817
+ sig { returns(Integer) }
818
+ attr_accessor :unit_amount
819
+ # 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.
820
+ sig { returns(String) }
821
+ attr_accessor :unit_amount_decimal
822
+ sig {
823
+ params(currency: String, product: String, tax_behavior: String, unit_amount: Integer, unit_amount_decimal: String).void
824
+ }
825
+ def initialize(
826
+ currency: nil,
827
+ product: nil,
828
+ tax_behavior: nil,
829
+ unit_amount: nil,
830
+ unit_amount_decimal: nil
831
+ ); end
832
+ end
833
+ class ProductData < Stripe::RequestParams
834
+ class PackageDimensions < Stripe::RequestParams
835
+ # Height, in inches. Maximum precision is 2 decimal places.
836
+ sig { returns(Float) }
837
+ attr_accessor :height
838
+ # Length, in inches. Maximum precision is 2 decimal places.
839
+ sig { returns(Float) }
840
+ attr_accessor :length
841
+ # Weight, in ounces. Maximum precision is 2 decimal places.
842
+ sig { returns(Float) }
843
+ attr_accessor :weight
844
+ # Width, in inches. Maximum precision is 2 decimal places.
845
+ sig { returns(Float) }
846
+ attr_accessor :width
847
+ sig { params(height: Float, length: Float, weight: Float, width: Float).void }
848
+ def initialize(height: nil, length: nil, weight: nil, width: nil); end
849
+ end
850
+ # 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.
851
+ sig { returns(T.nilable(String)) }
852
+ attr_accessor :description
853
+ # A unique identifier for this product.
854
+ #
855
+ # `product_data` automatically creates a Product with this ID. If a Product with the same ID already exists, then `product_data` re-uses it to avoid duplicates. If any of the fields in the existing Product are different from the values in `product_data`, `product_data` updates the existing Product with the new information. So set `product_data[id]` to the same string every time you sell the same product, but don't re-use the same string for different products.
856
+ sig { returns(String) }
857
+ attr_accessor :id
858
+ # A list of up to 8 URLs of images for this product, meant to be displayable to the customer.
859
+ sig { returns(T.nilable(T::Array[String])) }
860
+ attr_accessor :images
861
+ # 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`.
862
+ sig { returns(T.nilable(T::Hash[String, String])) }
863
+ attr_accessor :metadata
864
+ # The product's name, meant to be displayable to the customer.
865
+ sig { returns(String) }
866
+ attr_accessor :name
867
+ # The dimensions of this product for shipping purposes.
868
+ sig {
869
+ returns(T.nilable(::Stripe::Order::CreateParams::LineItem::ProductData::PackageDimensions))
870
+ }
871
+ attr_accessor :package_dimensions
872
+ # Whether this product is shipped (i.e., physical goods).
873
+ sig { returns(T::Boolean) }
874
+ attr_accessor :shippable
875
+ # A [tax code](https://stripe.com/docs/tax/tax-categories) ID.
876
+ sig { returns(T.nilable(String)) }
877
+ attr_accessor :tax_code
878
+ # A URL of a publicly-accessible webpage for this product.
879
+ sig { returns(T.nilable(String)) }
880
+ attr_accessor :url
881
+ sig {
882
+ params(description: T.nilable(String), id: String, images: T.nilable(T::Array[String]), metadata: T.nilable(T::Hash[String, String]), name: String, package_dimensions: T.nilable(::Stripe::Order::CreateParams::LineItem::ProductData::PackageDimensions), shippable: T::Boolean, tax_code: T.nilable(String), url: T.nilable(String)).void
883
+ }
884
+ def initialize(
885
+ description: nil,
886
+ id: nil,
887
+ images: nil,
888
+ metadata: nil,
889
+ name: nil,
890
+ package_dimensions: nil,
891
+ shippable: nil,
892
+ tax_code: nil,
893
+ url: nil
894
+ ); end
895
+ end
896
+ # The description for the line item. Will default to the name of the associated product.
897
+ sig { returns(String) }
898
+ attr_accessor :description
899
+ # The discounts applied to this line item.
900
+ sig { returns(T.nilable(T::Array[::Stripe::Order::CreateParams::LineItem::Discount])) }
901
+ attr_accessor :discounts
902
+ # The ID of a [Price](https://stripe.com/docs/api/prices) to add to the Order.
903
+ #
904
+ # The `price` parameter is an alternative to using the `product` parameter. If each of your products are sold at a single price, you can set `Product.default_price` and then pass the `product` parameter when creating a line item. If your products are sold at several possible prices, use the `price` parameter to explicitly specify which one to use.
905
+ sig { returns(String) }
906
+ attr_accessor :price
907
+ # Data used to generate a new Price object inline.
908
+ #
909
+ # The `price_data` parameter is an alternative to using the `product` or `price` parameters. If you create products upfront and configure a `Product.default_price`, pass the `product` parameter when creating a line item. If you prefer not to define products upfront, or if you charge variable prices, pass the `price_data` parameter to describe the price for this line item.
910
+ #
911
+ # Each time you pass `price_data` we create a Price for the product. This Price is hidden in both the Dashboard and API lists and cannot be reused.
912
+ sig { returns(::Stripe::Order::CreateParams::LineItem::PriceData) }
913
+ attr_accessor :price_data
914
+ # The ID of a [Product](https://stripe.com/docs/api/products) to add to the Order.
915
+ #
916
+ # The product must have a `default_price` specified. Otherwise, specify the price by passing the `price` or `price_data` parameter.
917
+ sig { returns(String) }
918
+ attr_accessor :product
919
+ # Defines a Product inline and adds it to the Order.
920
+ #
921
+ # `product_data` is an alternative to the `product` parameter. If you created a Product upfront, use the `product` parameter to refer to the existing Product. But if you prefer not to create Products upfront, pass the `product_data` parameter to define a Product inline as part of configuring the Order.
922
+ #
923
+ # `product_data` automatically creates a Product, just as if you had manually created the Product. If a Product with the same ID already exists, then `product_data` re-uses it to avoid duplicates.
924
+ sig { returns(::Stripe::Order::CreateParams::LineItem::ProductData) }
925
+ attr_accessor :product_data
926
+ # The quantity of the line item.
927
+ sig { returns(Integer) }
928
+ attr_accessor :quantity
929
+ # The tax rates applied to this line item.
930
+ sig { returns(T.nilable(T::Array[String])) }
931
+ attr_accessor :tax_rates
932
+ sig {
933
+ params(description: String, discounts: T.nilable(T::Array[::Stripe::Order::CreateParams::LineItem::Discount]), price: String, price_data: ::Stripe::Order::CreateParams::LineItem::PriceData, product: String, product_data: ::Stripe::Order::CreateParams::LineItem::ProductData, quantity: Integer, tax_rates: T.nilable(T::Array[String])).void
934
+ }
935
+ def initialize(
936
+ description: nil,
937
+ discounts: nil,
938
+ price: nil,
939
+ price_data: nil,
940
+ product: nil,
941
+ product_data: nil,
942
+ quantity: nil,
943
+ tax_rates: nil
944
+ ); end
945
+ end
946
+ class Payment < Stripe::RequestParams
947
+ class Settings < Stripe::RequestParams
948
+ class PaymentMethodOptions < Stripe::RequestParams
949
+ class AcssDebit < Stripe::RequestParams
950
+ class MandateOptions < Stripe::RequestParams
951
+ # A URL for custom mandate text to render during confirmation step.
952
+ # The URL will be rendered with additional GET parameters `payment_intent` and `payment_intent_client_secret` when confirming a Payment Intent,
953
+ # or `setup_intent` and `setup_intent_client_secret` when confirming a Setup Intent.
954
+ sig { returns(T.nilable(String)) }
955
+ attr_accessor :custom_mandate_url
956
+ # Description of the mandate interval. Only required if 'payment_schedule' parameter is 'interval' or 'combined'.
957
+ sig { returns(String) }
958
+ attr_accessor :interval_description
959
+ # Payment schedule for the mandate.
960
+ sig { returns(String) }
961
+ attr_accessor :payment_schedule
962
+ # Transaction type of the mandate.
963
+ sig { returns(String) }
964
+ attr_accessor :transaction_type
965
+ sig {
966
+ params(custom_mandate_url: T.nilable(String), interval_description: String, payment_schedule: String, transaction_type: String).void
967
+ }
968
+ def initialize(
969
+ custom_mandate_url: nil,
970
+ interval_description: nil,
971
+ payment_schedule: nil,
972
+ transaction_type: nil
973
+ ); end
974
+ end
975
+ # Additional fields for Mandate creation
976
+ sig {
977
+ returns(::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::AcssDebit::MandateOptions)
978
+ }
979
+ attr_accessor :mandate_options
980
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
981
+ #
982
+ # 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.
983
+ #
984
+ # 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.
985
+ #
986
+ # 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).
987
+ #
988
+ # 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`.
989
+ sig { returns(T.nilable(String)) }
990
+ attr_accessor :setup_future_usage
991
+ # Bank account verification method.
992
+ sig { returns(String) }
993
+ attr_accessor :verification_method
994
+ sig {
995
+ params(mandate_options: ::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::AcssDebit::MandateOptions, setup_future_usage: T.nilable(String), verification_method: String).void
996
+ }
997
+ def initialize(
998
+ mandate_options: nil,
999
+ setup_future_usage: nil,
1000
+ verification_method: nil
1001
+ ); end
1002
+ end
1003
+ class AfterpayClearpay < Stripe::RequestParams
1004
+ # Controls when the funds are captured from the customer's account.
1005
+ #
1006
+ # If provided, this parameter overrides the behavior of the top-level [capture_method](/api/payment_intents/update#update_payment_intent-capture_method) for this payment method type when finalizing the payment with this payment method type.
1007
+ #
1008
+ # If `capture_method` is already set on the PaymentIntent, providing an empty value for this parameter unsets the stored value for this payment method type.
1009
+ sig { returns(String) }
1010
+ attr_accessor :capture_method
1011
+ # An internal identifier or reference this payment corresponds to. The identifier is limited to 128 characters and may contain only letters, digits, underscores, backslashes and dashes.
1012
+ sig { returns(String) }
1013
+ attr_accessor :reference
1014
+ # Indicates that you intend to make future payments with the payment method.
1015
+ #
1016
+ # Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the order's Customer, if present, after the order's PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
1017
+ #
1018
+ # When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
1019
+ #
1020
+ # If `setup_future_usage` is already set and you are performing a request using a publishable key, you may only update the value from `on_session` to `off_session`.
1021
+ sig { returns(String) }
1022
+ attr_accessor :setup_future_usage
1023
+ sig {
1024
+ params(capture_method: String, reference: String, setup_future_usage: String).void
1025
+ }
1026
+ def initialize(capture_method: nil, reference: nil, setup_future_usage: nil); end
1027
+ end
1028
+ class Alipay < Stripe::RequestParams
1029
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1030
+ #
1031
+ # 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.
1032
+ #
1033
+ # 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.
1034
+ #
1035
+ # 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).
1036
+ #
1037
+ # 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`.
1038
+ sig { returns(T.nilable(String)) }
1039
+ attr_accessor :setup_future_usage
1040
+ sig { params(setup_future_usage: T.nilable(String)).void }
1041
+ def initialize(setup_future_usage: nil); end
1042
+ end
1043
+ class Bancontact < Stripe::RequestParams
1044
+ # Preferred language of the Bancontact authorization page that the customer is redirected to.
1045
+ sig { returns(String) }
1046
+ attr_accessor :preferred_language
1047
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1048
+ #
1049
+ # 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.
1050
+ #
1051
+ # 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.
1052
+ #
1053
+ # 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).
1054
+ #
1055
+ # 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`.
1056
+ sig { returns(T.nilable(String)) }
1057
+ attr_accessor :setup_future_usage
1058
+ sig { params(preferred_language: String, setup_future_usage: T.nilable(String)).void }
1059
+ def initialize(preferred_language: nil, setup_future_usage: nil); end
1060
+ end
1061
+ class Card < Stripe::RequestParams
1062
+ # Controls when the funds will be captured from the customer's account.
1063
+ sig { returns(String) }
1064
+ attr_accessor :capture_method
1065
+ # Indicates that you intend to make future payments with the payment method.
1066
+ #
1067
+ # Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the order's Customer, if present, after the order's PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
1068
+ #
1069
+ # When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
1070
+ #
1071
+ # If `setup_future_usage` is already set and you are performing a request using a publishable key, you may only update the value from `on_session` to `off_session`.
1072
+ sig { returns(String) }
1073
+ attr_accessor :setup_future_usage
1074
+ sig { params(capture_method: String, setup_future_usage: String).void }
1075
+ def initialize(capture_method: nil, setup_future_usage: nil); end
1076
+ end
1077
+ class CustomerBalance < Stripe::RequestParams
1078
+ class BankTransfer < Stripe::RequestParams
1079
+ class EuBankTransfer < Stripe::RequestParams
1080
+ # The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`.
1081
+ sig { returns(String) }
1082
+ attr_accessor :country
1083
+ sig { params(country: String).void }
1084
+ def initialize(country: nil); end
1085
+ end
1086
+ # Configuration for the eu_bank_transfer funding type.
1087
+ sig {
1088
+ returns(::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::CustomerBalance::BankTransfer::EuBankTransfer)
1089
+ }
1090
+ attr_accessor :eu_bank_transfer
1091
+ # List of address types that should be returned in the financial_addresses response. If not specified, all valid types will be returned.
1092
+ #
1093
+ # Permitted values include: `sort_code`, `zengin`, `iban`, or `spei`.
1094
+ sig { returns(T::Array[String]) }
1095
+ attr_accessor :requested_address_types
1096
+ # The list of bank transfer types 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`.
1097
+ sig { returns(String) }
1098
+ attr_accessor :type
1099
+ sig {
1100
+ params(eu_bank_transfer: ::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::CustomerBalance::BankTransfer::EuBankTransfer, requested_address_types: T::Array[String], type: String).void
1101
+ }
1102
+ def initialize(eu_bank_transfer: nil, requested_address_types: nil, type: nil); end
1103
+ end
1104
+ # Configuration for the bank transfer funding type, if the `funding_type` is set to `bank_transfer`.
1105
+ sig {
1106
+ returns(::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::CustomerBalance::BankTransfer)
1107
+ }
1108
+ attr_accessor :bank_transfer
1109
+ # The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`.
1110
+ sig { returns(String) }
1111
+ attr_accessor :funding_type
1112
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1113
+ #
1114
+ # 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.
1115
+ #
1116
+ # 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.
1117
+ #
1118
+ # 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).
1119
+ #
1120
+ # 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`.
1121
+ sig { returns(String) }
1122
+ attr_accessor :setup_future_usage
1123
+ sig {
1124
+ params(bank_transfer: ::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::CustomerBalance::BankTransfer, funding_type: String, setup_future_usage: String).void
1125
+ }
1126
+ def initialize(bank_transfer: nil, funding_type: nil, setup_future_usage: nil); end
1127
+ end
1128
+ class Ideal < Stripe::RequestParams
1129
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1130
+ #
1131
+ # 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.
1132
+ #
1133
+ # 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.
1134
+ #
1135
+ # 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).
1136
+ #
1137
+ # 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`.
1138
+ sig { returns(T.nilable(String)) }
1139
+ attr_accessor :setup_future_usage
1140
+ sig { params(setup_future_usage: T.nilable(String)).void }
1141
+ def initialize(setup_future_usage: nil); end
1142
+ end
1143
+ class Klarna < Stripe::RequestParams
1144
+ # Controls when the funds are captured from the customer's account.
1145
+ #
1146
+ # If provided, this parameter overrides the behavior of the top-level [capture_method](/api/payment_intents/update#update_payment_intent-capture_method) for this payment method type when finalizing the payment with this payment method type.
1147
+ #
1148
+ # If `capture_method` is already set on the PaymentIntent, providing an empty value for this parameter unsets the stored value for this payment method type.
1149
+ sig { returns(T.nilable(String)) }
1150
+ attr_accessor :capture_method
1151
+ # Preferred language of the Klarna authorization page that the customer is redirected to
1152
+ sig { returns(String) }
1153
+ attr_accessor :preferred_locale
1154
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1155
+ #
1156
+ # 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.
1157
+ #
1158
+ # 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.
1159
+ #
1160
+ # 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).
1161
+ #
1162
+ # 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`.
1163
+ sig { returns(String) }
1164
+ attr_accessor :setup_future_usage
1165
+ sig {
1166
+ params(capture_method: T.nilable(String), preferred_locale: String, setup_future_usage: String).void
1167
+ }
1168
+ def initialize(
1169
+ capture_method: nil,
1170
+ preferred_locale: nil,
1171
+ setup_future_usage: nil
1172
+ ); end
1173
+ end
1174
+ class Link < Stripe::RequestParams
1175
+ # Controls when the funds are captured from the customer's account.
1176
+ #
1177
+ # If provided, this parameter overrides the behavior of the top-level [capture_method](/api/payment_intents/update#update_payment_intent-capture_method) for this payment method type when finalizing the payment with this payment method type.
1178
+ #
1179
+ # If `capture_method` is already set on the PaymentIntent, providing an empty value for this parameter unsets the stored value for this payment method type.
1180
+ sig { returns(T.nilable(String)) }
1181
+ attr_accessor :capture_method
1182
+ # [Deprecated] This is a legacy parameter that no longer has any function.
1183
+ sig { returns(String) }
1184
+ attr_accessor :persistent_token
1185
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1186
+ #
1187
+ # 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.
1188
+ #
1189
+ # 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.
1190
+ #
1191
+ # 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).
1192
+ #
1193
+ # 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`.
1194
+ sig { returns(T.nilable(String)) }
1195
+ attr_accessor :setup_future_usage
1196
+ sig {
1197
+ params(capture_method: T.nilable(String), persistent_token: String, setup_future_usage: T.nilable(String)).void
1198
+ }
1199
+ def initialize(
1200
+ capture_method: nil,
1201
+ persistent_token: nil,
1202
+ setup_future_usage: nil
1203
+ ); end
1204
+ end
1205
+ class Oxxo < Stripe::RequestParams
1206
+ # 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.
1207
+ sig { returns(Integer) }
1208
+ attr_accessor :expires_after_days
1209
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1210
+ #
1211
+ # 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.
1212
+ #
1213
+ # 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.
1214
+ #
1215
+ # 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).
1216
+ #
1217
+ # 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`.
1218
+ sig { returns(String) }
1219
+ attr_accessor :setup_future_usage
1220
+ sig { params(expires_after_days: Integer, setup_future_usage: String).void }
1221
+ def initialize(expires_after_days: nil, setup_future_usage: nil); end
1222
+ end
1223
+ class P24 < Stripe::RequestParams
1224
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1225
+ #
1226
+ # 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.
1227
+ #
1228
+ # 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.
1229
+ #
1230
+ # 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).
1231
+ #
1232
+ # 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`.
1233
+ sig { returns(String) }
1234
+ attr_accessor :setup_future_usage
1235
+ # Confirm that the payer has accepted the P24 terms and conditions.
1236
+ sig { returns(T::Boolean) }
1237
+ attr_accessor :tos_shown_and_accepted
1238
+ sig { params(setup_future_usage: String, tos_shown_and_accepted: T::Boolean).void }
1239
+ def initialize(setup_future_usage: nil, tos_shown_and_accepted: nil); end
1240
+ end
1241
+ class Paypal < Stripe::RequestParams
1242
+ class LineItem < Stripe::RequestParams
1243
+ class Tax < Stripe::RequestParams
1244
+ # The tax for a single unit of the line item in minor units. Cannot be a negative number.
1245
+ sig { returns(Integer) }
1246
+ attr_accessor :amount
1247
+ # The tax behavior for the line item.
1248
+ sig { returns(String) }
1249
+ attr_accessor :behavior
1250
+ sig { params(amount: Integer, behavior: String).void }
1251
+ def initialize(amount: nil, behavior: nil); end
1252
+ end
1253
+ # Type of the line item.
1254
+ sig { returns(String) }
1255
+ attr_accessor :category
1256
+ # Description of the line item.
1257
+ sig { returns(String) }
1258
+ attr_accessor :description
1259
+ # Descriptive name of the line item.
1260
+ sig { returns(String) }
1261
+ attr_accessor :name
1262
+ # Quantity of the line item. Must be a positive number.
1263
+ sig { returns(Integer) }
1264
+ attr_accessor :quantity
1265
+ # Client facing stock keeping unit, article number or similar.
1266
+ sig { returns(String) }
1267
+ attr_accessor :sku
1268
+ # The Stripe account ID of the connected account that sells the item.
1269
+ sig { returns(String) }
1270
+ attr_accessor :sold_by
1271
+ # The tax information for the line item.
1272
+ sig {
1273
+ returns(::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::Paypal::LineItem::Tax)
1274
+ }
1275
+ attr_accessor :tax
1276
+ # Price for a single unit of the line item in minor units. Cannot be a negative number.
1277
+ sig { returns(Integer) }
1278
+ attr_accessor :unit_amount
1279
+ sig {
1280
+ params(category: String, description: String, name: String, quantity: Integer, sku: String, sold_by: String, tax: ::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::Paypal::LineItem::Tax, unit_amount: Integer).void
1281
+ }
1282
+ def initialize(
1283
+ category: nil,
1284
+ description: nil,
1285
+ name: nil,
1286
+ quantity: nil,
1287
+ sku: nil,
1288
+ sold_by: nil,
1289
+ tax: nil,
1290
+ unit_amount: nil
1291
+ ); end
1292
+ end
1293
+ # Controls when the funds will be captured from the customer's account.
1294
+ sig { returns(T.nilable(String)) }
1295
+ attr_accessor :capture_method
1296
+ # The line items purchased by the customer.
1297
+ sig {
1298
+ returns(T::Array[::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::Paypal::LineItem])
1299
+ }
1300
+ attr_accessor :line_items
1301
+ # [Preferred locale](https://stripe.com/docs/payments/paypal/supported-locales) of the PayPal checkout page that the customer is redirected to.
1302
+ sig { returns(String) }
1303
+ attr_accessor :preferred_locale
1304
+ # 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.
1305
+ sig { returns(String) }
1306
+ attr_accessor :reference
1307
+ # 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.
1308
+ sig { returns(String) }
1309
+ attr_accessor :reference_id
1310
+ # The risk correlation ID for an on-session payment using a saved PayPal payment method.
1311
+ sig { returns(String) }
1312
+ attr_accessor :risk_correlation_id
1313
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1314
+ #
1315
+ # 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.
1316
+ #
1317
+ # 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.
1318
+ #
1319
+ # 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).
1320
+ #
1321
+ # 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`.
1322
+ sig { returns(T.nilable(String)) }
1323
+ attr_accessor :setup_future_usage
1324
+ # 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.
1325
+ sig { returns(T::Array[String]) }
1326
+ attr_accessor :subsellers
1327
+ sig {
1328
+ params(capture_method: T.nilable(String), line_items: T::Array[::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::Paypal::LineItem], preferred_locale: String, reference: String, reference_id: String, risk_correlation_id: String, setup_future_usage: T.nilable(String), subsellers: T::Array[String]).void
1329
+ }
1330
+ def initialize(
1331
+ capture_method: nil,
1332
+ line_items: nil,
1333
+ preferred_locale: nil,
1334
+ reference: nil,
1335
+ reference_id: nil,
1336
+ risk_correlation_id: nil,
1337
+ setup_future_usage: nil,
1338
+ subsellers: nil
1339
+ ); end
1340
+ end
1341
+ class SepaDebit < Stripe::RequestParams
1342
+ class MandateOptions < Stripe::RequestParams
1343
+ # 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'.
1344
+ sig { returns(T.nilable(String)) }
1345
+ attr_accessor :reference_prefix
1346
+ sig { params(reference_prefix: T.nilable(String)).void }
1347
+ def initialize(reference_prefix: nil); end
1348
+ end
1349
+ # Additional fields for Mandate creation
1350
+ sig {
1351
+ returns(::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::SepaDebit::MandateOptions)
1352
+ }
1353
+ attr_accessor :mandate_options
1354
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1355
+ #
1356
+ # 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.
1357
+ #
1358
+ # 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.
1359
+ #
1360
+ # 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).
1361
+ #
1362
+ # 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`.
1363
+ sig { returns(T.nilable(String)) }
1364
+ attr_accessor :setup_future_usage
1365
+ sig {
1366
+ params(mandate_options: ::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::SepaDebit::MandateOptions, setup_future_usage: T.nilable(String)).void
1367
+ }
1368
+ def initialize(mandate_options: nil, setup_future_usage: nil); end
1369
+ end
1370
+ class Sofort < Stripe::RequestParams
1371
+ # Language shown to the payer on redirect.
1372
+ sig { returns(T.nilable(String)) }
1373
+ attr_accessor :preferred_language
1374
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1375
+ #
1376
+ # 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.
1377
+ #
1378
+ # 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.
1379
+ #
1380
+ # 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).
1381
+ #
1382
+ # 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`.
1383
+ sig { returns(T.nilable(String)) }
1384
+ attr_accessor :setup_future_usage
1385
+ sig {
1386
+ params(preferred_language: T.nilable(String), setup_future_usage: T.nilable(String)).void
1387
+ }
1388
+ def initialize(preferred_language: nil, setup_future_usage: nil); end
1389
+ end
1390
+ class WechatPay < Stripe::RequestParams
1391
+ # The app ID registered with WeChat Pay. Only required when client is ios or android.
1392
+ sig { returns(String) }
1393
+ attr_accessor :app_id
1394
+ # The client type that the end customer will pay from
1395
+ sig { returns(String) }
1396
+ attr_accessor :client
1397
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1398
+ #
1399
+ # 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.
1400
+ #
1401
+ # 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.
1402
+ #
1403
+ # 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).
1404
+ #
1405
+ # 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`.
1406
+ sig { returns(String) }
1407
+ attr_accessor :setup_future_usage
1408
+ sig { params(app_id: String, client: String, setup_future_usage: String).void }
1409
+ def initialize(app_id: nil, client: nil, setup_future_usage: nil); end
1410
+ end
1411
+ # If paying by `acss_debit`, this sub-hash contains details about the ACSS Debit payment method options to pass to the order's PaymentIntent.
1412
+ sig {
1413
+ returns(::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::AcssDebit)
1414
+ }
1415
+ attr_accessor :acss_debit
1416
+ # If paying by `afterpay_clearpay`, this sub-hash contains details about the AfterpayClearpay payment method options to pass to the order's PaymentIntent.
1417
+ sig {
1418
+ returns(::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::AfterpayClearpay)
1419
+ }
1420
+ attr_accessor :afterpay_clearpay
1421
+ # If paying by `alipay`, this sub-hash contains details about the Alipay payment method options to pass to the order's PaymentIntent.
1422
+ sig {
1423
+ returns(::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::Alipay)
1424
+ }
1425
+ attr_accessor :alipay
1426
+ # If paying by `bancontact`, this sub-hash contains details about the Bancontact payment method options to pass to the order's PaymentIntent.
1427
+ sig {
1428
+ returns(::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::Bancontact)
1429
+ }
1430
+ attr_accessor :bancontact
1431
+ # If paying by `card`, this sub-hash contains details about the Card payment method options to pass to the order's PaymentIntent.
1432
+ sig {
1433
+ returns(::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::Card)
1434
+ }
1435
+ attr_accessor :card
1436
+ # If paying by `customer_balance`, this sub-hash contains details about the Customer Balance payment method options to pass to the order's PaymentIntent.
1437
+ sig {
1438
+ returns(::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::CustomerBalance)
1439
+ }
1440
+ attr_accessor :customer_balance
1441
+ # If paying by `ideal`, this sub-hash contains details about the iDEAL payment method options to pass to the order's PaymentIntent.
1442
+ sig {
1443
+ returns(::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::Ideal)
1444
+ }
1445
+ attr_accessor :ideal
1446
+ # If paying by `klarna`, this sub-hash contains details about the Klarna payment method options to pass to the order's PaymentIntent.
1447
+ sig {
1448
+ returns(::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::Klarna)
1449
+ }
1450
+ attr_accessor :klarna
1451
+ # If paying by `link`, this sub-hash contains details about the Link payment method options to pass to the order's PaymentIntent.
1452
+ sig {
1453
+ returns(::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::Link)
1454
+ }
1455
+ attr_accessor :link
1456
+ # If paying by `oxxo`, this sub-hash contains details about the OXXO payment method options to pass to the order's PaymentIntent.
1457
+ sig {
1458
+ returns(::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::Oxxo)
1459
+ }
1460
+ attr_accessor :oxxo
1461
+ # If paying by `p24`, this sub-hash contains details about the P24 payment method options to pass to the order's PaymentIntent.
1462
+ sig {
1463
+ returns(::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::P24)
1464
+ }
1465
+ attr_accessor :p24
1466
+ # If paying by `paypal`, this sub-hash contains details about the PayPal payment method options to pass to the order's PaymentIntent.
1467
+ sig {
1468
+ returns(::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::Paypal)
1469
+ }
1470
+ attr_accessor :paypal
1471
+ # If paying by `sepa_debit`, this sub-hash contains details about the SEPA Debit payment method options to pass to the order's PaymentIntent.
1472
+ sig {
1473
+ returns(::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::SepaDebit)
1474
+ }
1475
+ attr_accessor :sepa_debit
1476
+ # If paying by `sofort`, this sub-hash contains details about the Sofort payment method options to pass to the order's PaymentIntent.
1477
+ sig {
1478
+ returns(::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::Sofort)
1479
+ }
1480
+ attr_accessor :sofort
1481
+ # If paying by `wechat_pay`, this sub-hash contains details about the WeChat Pay payment method options to pass to the order's PaymentIntent.
1482
+ sig {
1483
+ returns(::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::WechatPay)
1484
+ }
1485
+ attr_accessor :wechat_pay
1486
+ sig {
1487
+ params(acss_debit: ::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::AcssDebit, afterpay_clearpay: ::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::AfterpayClearpay, alipay: ::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::Alipay, bancontact: ::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::Bancontact, card: ::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::Card, customer_balance: ::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::CustomerBalance, ideal: ::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::Ideal, klarna: ::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::Klarna, link: ::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::Link, oxxo: ::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::Oxxo, p24: ::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::P24, paypal: ::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::Paypal, sepa_debit: ::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::SepaDebit, sofort: ::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::Sofort, wechat_pay: ::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions::WechatPay).void
1488
+ }
1489
+ def initialize(
1490
+ acss_debit: nil,
1491
+ afterpay_clearpay: nil,
1492
+ alipay: nil,
1493
+ bancontact: nil,
1494
+ card: nil,
1495
+ customer_balance: nil,
1496
+ ideal: nil,
1497
+ klarna: nil,
1498
+ link: nil,
1499
+ oxxo: nil,
1500
+ p24: nil,
1501
+ paypal: nil,
1502
+ sepa_debit: nil,
1503
+ sofort: nil,
1504
+ wechat_pay: nil
1505
+ ); end
1506
+ end
1507
+ class TransferData < Stripe::RequestParams
1508
+ # The amount that will be transferred automatically when the order is paid. If no amount is set, the full amount is transferred. There cannot be any line items with recurring prices when using this field.
1509
+ sig { returns(Integer) }
1510
+ attr_accessor :amount
1511
+ # ID of the Connected account receiving the transfer.
1512
+ sig { returns(String) }
1513
+ attr_accessor :destination
1514
+ sig { params(amount: Integer, destination: String).void }
1515
+ def initialize(amount: nil, destination: nil); end
1516
+ end
1517
+ # 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.
1518
+ sig { returns(Integer) }
1519
+ attr_accessor :application_fee_amount
1520
+ # PaymentMethod-specific configuration to provide to the order's PaymentIntent.
1521
+ sig { returns(::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions) }
1522
+ attr_accessor :payment_method_options
1523
+ # The list of [payment method types](https://stripe.com/docs/payments/payment-methods/overview) to provide to the order's PaymentIntent. Do not include this attribute if you prefer to manage your payment methods from the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods).
1524
+ sig { returns(T::Array[String]) }
1525
+ attr_accessor :payment_method_types
1526
+ # The URL to redirect the customer to after they authenticate their payment.
1527
+ sig { returns(String) }
1528
+ attr_accessor :return_url
1529
+ # For non-card charges, you can use this value as the complete description that appears on your customers' statements. Must contain at least one letter, maximum 22 characters.
1530
+ sig { returns(String) }
1531
+ attr_accessor :statement_descriptor
1532
+ # Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.
1533
+ sig { returns(String) }
1534
+ attr_accessor :statement_descriptor_suffix
1535
+ # Provides configuration for completing a transfer for the order after it is paid.
1536
+ sig { returns(::Stripe::Order::CreateParams::Payment::Settings::TransferData) }
1537
+ attr_accessor :transfer_data
1538
+ sig {
1539
+ params(application_fee_amount: Integer, payment_method_options: ::Stripe::Order::CreateParams::Payment::Settings::PaymentMethodOptions, payment_method_types: T::Array[String], return_url: String, statement_descriptor: String, statement_descriptor_suffix: String, transfer_data: ::Stripe::Order::CreateParams::Payment::Settings::TransferData).void
1540
+ }
1541
+ def initialize(
1542
+ application_fee_amount: nil,
1543
+ payment_method_options: nil,
1544
+ payment_method_types: nil,
1545
+ return_url: nil,
1546
+ statement_descriptor: nil,
1547
+ statement_descriptor_suffix: nil,
1548
+ transfer_data: nil
1549
+ ); end
1550
+ end
1551
+ # Settings describing how the order should configure generated PaymentIntents.
1552
+ sig { returns(::Stripe::Order::CreateParams::Payment::Settings) }
1553
+ attr_accessor :settings
1554
+ sig { params(settings: ::Stripe::Order::CreateParams::Payment::Settings).void }
1555
+ def initialize(settings: nil); end
1556
+ end
1557
+ class ShippingCost < Stripe::RequestParams
1558
+ class ShippingRateData < Stripe::RequestParams
1559
+ class DeliveryEstimate < Stripe::RequestParams
1560
+ class Maximum < Stripe::RequestParams
1561
+ # A unit of time.
1562
+ sig { returns(String) }
1563
+ attr_accessor :unit
1564
+ # Must be greater than 0.
1565
+ sig { returns(Integer) }
1566
+ attr_accessor :value
1567
+ sig { params(unit: String, value: Integer).void }
1568
+ def initialize(unit: nil, value: nil); end
1569
+ end
1570
+ class Minimum < Stripe::RequestParams
1571
+ # A unit of time.
1572
+ sig { returns(String) }
1573
+ attr_accessor :unit
1574
+ # Must be greater than 0.
1575
+ sig { returns(Integer) }
1576
+ attr_accessor :value
1577
+ sig { params(unit: String, value: Integer).void }
1578
+ def initialize(unit: nil, value: nil); end
1579
+ end
1580
+ # The upper bound of the estimated range. If empty, represents no upper bound i.e., infinite.
1581
+ sig {
1582
+ returns(::Stripe::Order::CreateParams::ShippingCost::ShippingRateData::DeliveryEstimate::Maximum)
1583
+ }
1584
+ attr_accessor :maximum
1585
+ # The lower bound of the estimated range. If empty, represents no lower bound.
1586
+ sig {
1587
+ returns(::Stripe::Order::CreateParams::ShippingCost::ShippingRateData::DeliveryEstimate::Minimum)
1588
+ }
1589
+ attr_accessor :minimum
1590
+ sig {
1591
+ params(maximum: ::Stripe::Order::CreateParams::ShippingCost::ShippingRateData::DeliveryEstimate::Maximum, minimum: ::Stripe::Order::CreateParams::ShippingCost::ShippingRateData::DeliveryEstimate::Minimum).void
1592
+ }
1593
+ def initialize(maximum: nil, minimum: nil); end
1594
+ end
1595
+ class FixedAmount < Stripe::RequestParams
1596
+ class CurrencyOptions < Stripe::RequestParams
1597
+ # A non-negative integer in cents representing how much to charge.
1598
+ sig { returns(Integer) }
1599
+ attr_accessor :amount
1600
+ # Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`.
1601
+ sig { returns(String) }
1602
+ attr_accessor :tax_behavior
1603
+ sig { params(amount: Integer, tax_behavior: String).void }
1604
+ def initialize(amount: nil, tax_behavior: nil); end
1605
+ end
1606
+ # A non-negative integer in cents representing how much to charge.
1607
+ sig { returns(Integer) }
1608
+ attr_accessor :amount
1609
+ # 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).
1610
+ sig { returns(String) }
1611
+ attr_accessor :currency
1612
+ # 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).
1613
+ sig {
1614
+ returns(T::Hash[String, ::Stripe::Order::CreateParams::ShippingCost::ShippingRateData::FixedAmount::CurrencyOptions])
1615
+ }
1616
+ attr_accessor :currency_options
1617
+ sig {
1618
+ params(amount: Integer, currency: String, currency_options: T::Hash[String, ::Stripe::Order::CreateParams::ShippingCost::ShippingRateData::FixedAmount::CurrencyOptions]).void
1619
+ }
1620
+ def initialize(amount: nil, currency: nil, currency_options: nil); end
1621
+ end
1622
+ # The estimated range for how long shipping will take, meant to be displayable to the customer. This will appear on CheckoutSessions.
1623
+ sig {
1624
+ returns(::Stripe::Order::CreateParams::ShippingCost::ShippingRateData::DeliveryEstimate)
1625
+ }
1626
+ attr_accessor :delivery_estimate
1627
+ # The name of the shipping rate, meant to be displayable to the customer. This will appear on CheckoutSessions.
1628
+ sig { returns(String) }
1629
+ attr_accessor :display_name
1630
+ # Describes a fixed amount to charge for shipping. Must be present if type is `fixed_amount`.
1631
+ sig {
1632
+ returns(::Stripe::Order::CreateParams::ShippingCost::ShippingRateData::FixedAmount)
1633
+ }
1634
+ attr_accessor :fixed_amount
1635
+ # 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`.
1636
+ sig { returns(T::Hash[String, String]) }
1637
+ attr_accessor :metadata
1638
+ # Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`.
1639
+ sig { returns(String) }
1640
+ attr_accessor :tax_behavior
1641
+ # A [tax code](https://stripe.com/docs/tax/tax-categories) ID. The Shipping tax code is `txcd_92010001`.
1642
+ sig { returns(String) }
1643
+ attr_accessor :tax_code
1644
+ # The type of calculation to use on the shipping rate.
1645
+ sig { returns(String) }
1646
+ attr_accessor :type
1647
+ sig {
1648
+ params(delivery_estimate: ::Stripe::Order::CreateParams::ShippingCost::ShippingRateData::DeliveryEstimate, display_name: String, fixed_amount: ::Stripe::Order::CreateParams::ShippingCost::ShippingRateData::FixedAmount, metadata: T::Hash[String, String], tax_behavior: String, tax_code: String, type: String).void
1649
+ }
1650
+ def initialize(
1651
+ delivery_estimate: nil,
1652
+ display_name: nil,
1653
+ fixed_amount: nil,
1654
+ metadata: nil,
1655
+ tax_behavior: nil,
1656
+ tax_code: nil,
1657
+ type: nil
1658
+ ); end
1659
+ end
1660
+ # The ID of the shipping rate to use for this order.
1661
+ sig { returns(String) }
1662
+ attr_accessor :shipping_rate
1663
+ # Parameters to create a new ad-hoc shipping rate for this order.
1664
+ sig { returns(::Stripe::Order::CreateParams::ShippingCost::ShippingRateData) }
1665
+ attr_accessor :shipping_rate_data
1666
+ sig {
1667
+ params(shipping_rate: String, shipping_rate_data: ::Stripe::Order::CreateParams::ShippingCost::ShippingRateData).void
1668
+ }
1669
+ def initialize(shipping_rate: nil, shipping_rate_data: nil); end
1670
+ end
1671
+ class ShippingDetails < Stripe::RequestParams
1672
+ class Address < Stripe::RequestParams
1673
+ # City, district, suburb, town, or village.
1674
+ sig { returns(String) }
1675
+ attr_accessor :city
1676
+ # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
1677
+ sig { returns(String) }
1678
+ attr_accessor :country
1679
+ # Address line 1 (e.g., street, PO Box, or company name).
1680
+ sig { returns(String) }
1681
+ attr_accessor :line1
1682
+ # Address line 2 (e.g., apartment, suite, unit, or building).
1683
+ sig { returns(String) }
1684
+ attr_accessor :line2
1685
+ # ZIP or postal code.
1686
+ sig { returns(String) }
1687
+ attr_accessor :postal_code
1688
+ # State/province as an [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) subdivision code, without country prefix. Example: "NY" or "TX".
1689
+ sig { returns(String) }
1690
+ attr_accessor :state
1691
+ sig {
1692
+ params(city: String, country: String, line1: String, line2: String, postal_code: String, state: String).void
1693
+ }
1694
+ def initialize(
1695
+ city: nil,
1696
+ country: nil,
1697
+ line1: nil,
1698
+ line2: nil,
1699
+ postal_code: nil,
1700
+ state: nil
1701
+ ); end
1702
+ end
1703
+ # The shipping address for the order.
1704
+ sig { returns(::Stripe::Order::CreateParams::ShippingDetails::Address) }
1705
+ attr_accessor :address
1706
+ # The name of the recipient of the order.
1707
+ sig { returns(String) }
1708
+ attr_accessor :name
1709
+ # The phone number (including extension) for the recipient of the order.
1710
+ sig { returns(T.nilable(String)) }
1711
+ attr_accessor :phone
1712
+ sig {
1713
+ params(address: ::Stripe::Order::CreateParams::ShippingDetails::Address, name: String, phone: T.nilable(String)).void
1714
+ }
1715
+ def initialize(address: nil, name: nil, phone: nil); end
1716
+ end
1717
+ class TaxDetails < Stripe::RequestParams
1718
+ class TaxId < Stripe::RequestParams
1719
+ # Type of the tax ID, one of `ad_nrt`, `ae_trn`, `al_tin`, `am_tin`, `ao_tin`, `ar_cuit`, `au_abn`, `au_arn`, `ba_tin`, `bb_tin`, `bg_uic`, `bh_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `bs_tin`, `by_tin`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `cd_nif`, `ch_uid`, `ch_vat`, `cl_tin`, `cn_tin`, `co_nit`, `cr_tin`, `de_stn`, `do_rcn`, `ec_ruc`, `eg_tin`, `es_cif`, `eu_oss_vat`, `eu_vat`, `gb_vat`, `ge_vat`, `gn_nif`, `hk_br`, `hr_oib`, `hu_tin`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kh_tin`, `kr_brn`, `kz_bin`, `li_uid`, `li_vat`, `ma_vat`, `md_vat`, `me_pib`, `mk_vat`, `mr_nif`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `ng_tin`, `no_vat`, `no_voec`, `np_pan`, `nz_gst`, `om_vat`, `pe_ruc`, `ph_tin`, `ro_tin`, `rs_pib`, `ru_inn`, `ru_kpp`, `sa_vat`, `sg_gst`, `sg_uen`, `si_tin`, `sn_ninea`, `sr_fin`, `sv_nit`, `th_vat`, `tj_tin`, `tr_tin`, `tw_vat`, `tz_vat`, `ua_vat`, `ug_tin`, `us_ein`, `uy_ruc`, `uz_tin`, `uz_vat`, `ve_rif`, `vn_tin`, `za_vat`, `zm_tin`, or `zw_tin`
1720
+ sig { returns(String) }
1721
+ attr_accessor :type
1722
+ # Value of the tax ID.
1723
+ sig { returns(String) }
1724
+ attr_accessor :value
1725
+ sig { params(type: String, value: String).void }
1726
+ def initialize(type: nil, value: nil); end
1727
+ end
1728
+ # The purchaser's tax exemption status. One of `none`, `exempt`, or `reverse`.
1729
+ sig { returns(T.nilable(String)) }
1730
+ attr_accessor :tax_exempt
1731
+ # The purchaser's tax IDs to be used for this order.
1732
+ sig { returns(T::Array[::Stripe::Order::CreateParams::TaxDetails::TaxId]) }
1733
+ attr_accessor :tax_ids
1734
+ sig {
1735
+ params(tax_exempt: T.nilable(String), tax_ids: T::Array[::Stripe::Order::CreateParams::TaxDetails::TaxId]).void
1736
+ }
1737
+ def initialize(tax_exempt: nil, tax_ids: nil); end
1738
+ end
1739
+ # Settings for automatic tax calculation for this order.
1740
+ sig { returns(::Stripe::Order::CreateParams::AutomaticTax) }
1741
+ attr_accessor :automatic_tax
1742
+ # Billing details for the customer. If a customer is provided, this will be automatically populated with values from that customer if override values are not provided.
1743
+ sig { returns(T.nilable(::Stripe::Order::CreateParams::BillingDetails)) }
1744
+ attr_accessor :billing_details
1745
+ # The credits to apply to the order, only `gift_card` currently supported.
1746
+ sig { returns(T.nilable(T::Array[::Stripe::Order::CreateParams::Credit])) }
1747
+ attr_accessor :credits
1748
+ # 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).
1749
+ sig { returns(String) }
1750
+ attr_accessor :currency
1751
+ # The customer associated with this order.
1752
+ sig { returns(String) }
1753
+ attr_accessor :customer
1754
+ # An arbitrary string attached to the object. Often useful for displaying to users.
1755
+ sig { returns(String) }
1756
+ attr_accessor :description
1757
+ # The coupons, promotion codes, and/or discounts to apply to the order.
1758
+ sig { returns(T.nilable(T::Array[::Stripe::Order::CreateParams::Discount])) }
1759
+ attr_accessor :discounts
1760
+ # Specifies which fields in the response should be expanded.
1761
+ sig { returns(T::Array[String]) }
1762
+ attr_accessor :expand
1763
+ # The IP address of the purchaser for this order.
1764
+ sig { returns(String) }
1765
+ attr_accessor :ip_address
1766
+ # A list of line items the customer is ordering. Each line item includes information about the product, the quantity, and the resulting cost.
1767
+ sig { returns(T::Array[::Stripe::Order::CreateParams::LineItem]) }
1768
+ attr_accessor :line_items
1769
+ # 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`.
1770
+ sig { returns(T::Hash[String, String]) }
1771
+ attr_accessor :metadata
1772
+ # Payment information associated with the order, including payment settings.
1773
+ sig { returns(::Stripe::Order::CreateParams::Payment) }
1774
+ attr_accessor :payment
1775
+ # Settings for the customer cost of shipping for this order.
1776
+ sig { returns(T.nilable(::Stripe::Order::CreateParams::ShippingCost)) }
1777
+ attr_accessor :shipping_cost
1778
+ # Shipping details for the order.
1779
+ sig { returns(T.nilable(::Stripe::Order::CreateParams::ShippingDetails)) }
1780
+ attr_accessor :shipping_details
1781
+ # Additional tax details about the purchaser to be used for this order.
1782
+ sig { returns(::Stripe::Order::CreateParams::TaxDetails) }
1783
+ attr_accessor :tax_details
1784
+ sig {
1785
+ params(automatic_tax: ::Stripe::Order::CreateParams::AutomaticTax, billing_details: T.nilable(::Stripe::Order::CreateParams::BillingDetails), credits: T.nilable(T::Array[::Stripe::Order::CreateParams::Credit]), currency: String, customer: String, description: String, discounts: T.nilable(T::Array[::Stripe::Order::CreateParams::Discount]), expand: T::Array[String], ip_address: String, line_items: T::Array[::Stripe::Order::CreateParams::LineItem], metadata: T::Hash[String, String], payment: ::Stripe::Order::CreateParams::Payment, shipping_cost: T.nilable(::Stripe::Order::CreateParams::ShippingCost), shipping_details: T.nilable(::Stripe::Order::CreateParams::ShippingDetails), tax_details: ::Stripe::Order::CreateParams::TaxDetails).void
1786
+ }
1787
+ def initialize(
1788
+ automatic_tax: nil,
1789
+ billing_details: nil,
1790
+ credits: nil,
1791
+ currency: nil,
1792
+ customer: nil,
1793
+ description: nil,
1794
+ discounts: nil,
1795
+ expand: nil,
1796
+ ip_address: nil,
1797
+ line_items: nil,
1798
+ metadata: nil,
1799
+ payment: nil,
1800
+ shipping_cost: nil,
1801
+ shipping_details: nil,
1802
+ tax_details: nil
1803
+ ); end
1804
+ end
1805
+ class RetrieveParams < Stripe::RequestParams
1806
+ # Specifies which fields in the response should be expanded.
1807
+ sig { returns(T::Array[String]) }
1808
+ attr_accessor :expand
1809
+ sig { params(expand: T::Array[String]).void }
1810
+ def initialize(expand: nil); end
1811
+ end
1812
+ class UpdateParams < Stripe::RequestParams
1813
+ class AutomaticTax < Stripe::RequestParams
1814
+ # Enable automatic tax calculation which will automatically compute tax rates on this order.
1815
+ sig { returns(T::Boolean) }
1816
+ attr_accessor :enabled
1817
+ sig { params(enabled: T::Boolean).void }
1818
+ def initialize(enabled: nil); end
1819
+ end
1820
+ class BillingDetails < Stripe::RequestParams
1821
+ class Address < Stripe::RequestParams
1822
+ # City, district, suburb, town, or village.
1823
+ sig { returns(String) }
1824
+ attr_accessor :city
1825
+ # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
1826
+ sig { returns(String) }
1827
+ attr_accessor :country
1828
+ # Address line 1 (e.g., street, PO Box, or company name).
1829
+ sig { returns(String) }
1830
+ attr_accessor :line1
1831
+ # Address line 2 (e.g., apartment, suite, unit, or building).
1832
+ sig { returns(String) }
1833
+ attr_accessor :line2
1834
+ # ZIP or postal code.
1835
+ sig { returns(String) }
1836
+ attr_accessor :postal_code
1837
+ # State/province as an [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) subdivision code, without country prefix. Example: "NY" or "TX".
1838
+ sig { returns(String) }
1839
+ attr_accessor :state
1840
+ sig {
1841
+ params(city: String, country: String, line1: String, line2: String, postal_code: String, state: String).void
1842
+ }
1843
+ def initialize(
1844
+ city: nil,
1845
+ country: nil,
1846
+ line1: nil,
1847
+ line2: nil,
1848
+ postal_code: nil,
1849
+ state: nil
1850
+ ); end
1851
+ end
1852
+ # The billing address provided by the customer.
1853
+ sig { returns(::Stripe::Order::UpdateParams::BillingDetails::Address) }
1854
+ attr_accessor :address
1855
+ # The billing email provided by the customer.
1856
+ sig { returns(String) }
1857
+ attr_accessor :email
1858
+ # The billing name provided by the customer.
1859
+ sig { returns(String) }
1860
+ attr_accessor :name
1861
+ # The billing phone number provided by the customer.
1862
+ sig { returns(String) }
1863
+ attr_accessor :phone
1864
+ sig {
1865
+ params(address: ::Stripe::Order::UpdateParams::BillingDetails::Address, email: String, name: String, phone: String).void
1866
+ }
1867
+ def initialize(address: nil, email: nil, name: nil, phone: nil); end
1868
+ end
1869
+ class Credit < Stripe::RequestParams
1870
+ # The gift card to apply to the order.
1871
+ sig { returns(String) }
1872
+ attr_accessor :gift_card
1873
+ # The type of credit to apply to the order, only `gift_card` currently supported.
1874
+ sig { returns(String) }
1875
+ attr_accessor :type
1876
+ sig { params(gift_card: String, type: String).void }
1877
+ def initialize(gift_card: nil, type: nil); end
1878
+ end
1879
+ class Discount < Stripe::RequestParams
1880
+ # ID of the coupon to create a new discount for.
1881
+ sig { returns(String) }
1882
+ attr_accessor :coupon
1883
+ # ID of an existing discount on the object (or one of its ancestors) to reuse.
1884
+ sig { returns(String) }
1885
+ attr_accessor :discount
1886
+ # ID of the promotion code to create a new discount for.
1887
+ sig { returns(String) }
1888
+ attr_accessor :promotion_code
1889
+ sig { params(coupon: String, discount: String, promotion_code: String).void }
1890
+ def initialize(coupon: nil, discount: nil, promotion_code: nil); end
1891
+ end
1892
+ class LineItem < Stripe::RequestParams
1893
+ class Discount < Stripe::RequestParams
1894
+ # ID of the coupon to create a new discount for.
1895
+ sig { returns(String) }
1896
+ attr_accessor :coupon
1897
+ # ID of an existing discount on the object (or one of its ancestors) to reuse.
1898
+ sig { returns(String) }
1899
+ attr_accessor :discount
1900
+ sig { params(coupon: String, discount: String).void }
1901
+ def initialize(coupon: nil, discount: nil); end
1902
+ end
1903
+ class PriceData < Stripe::RequestParams
1904
+ # Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
1905
+ sig { returns(String) }
1906
+ attr_accessor :currency
1907
+ # ID of the product this price belongs to.
1908
+ #
1909
+ # Use this to implement a variable-pricing model in your integration. This is required if `product_data` is not specified.
1910
+ sig { returns(String) }
1911
+ attr_accessor :product
1912
+ # 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.
1913
+ sig { returns(String) }
1914
+ attr_accessor :tax_behavior
1915
+ # A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge.
1916
+ sig { returns(Integer) }
1917
+ attr_accessor :unit_amount
1918
+ # 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.
1919
+ sig { returns(String) }
1920
+ attr_accessor :unit_amount_decimal
1921
+ sig {
1922
+ params(currency: String, product: String, tax_behavior: String, unit_amount: Integer, unit_amount_decimal: String).void
1923
+ }
1924
+ def initialize(
1925
+ currency: nil,
1926
+ product: nil,
1927
+ tax_behavior: nil,
1928
+ unit_amount: nil,
1929
+ unit_amount_decimal: nil
1930
+ ); end
1931
+ end
1932
+ class ProductData < Stripe::RequestParams
1933
+ class PackageDimensions < Stripe::RequestParams
1934
+ # Height, in inches. Maximum precision is 2 decimal places.
1935
+ sig { returns(Float) }
1936
+ attr_accessor :height
1937
+ # Length, in inches. Maximum precision is 2 decimal places.
1938
+ sig { returns(Float) }
1939
+ attr_accessor :length
1940
+ # Weight, in ounces. Maximum precision is 2 decimal places.
1941
+ sig { returns(Float) }
1942
+ attr_accessor :weight
1943
+ # Width, in inches. Maximum precision is 2 decimal places.
1944
+ sig { returns(Float) }
1945
+ attr_accessor :width
1946
+ sig { params(height: Float, length: Float, weight: Float, width: Float).void }
1947
+ def initialize(height: nil, length: nil, weight: nil, width: nil); end
1948
+ end
1949
+ # 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.
1950
+ sig { returns(T.nilable(String)) }
1951
+ attr_accessor :description
1952
+ # A unique identifier for this product.
1953
+ #
1954
+ # `product_data` automatically creates a Product with this ID. If a Product with the same ID already exists, then `product_data` re-uses it to avoid duplicates. If any of the fields in the existing Product are different from the values in `product_data`, `product_data` updates the existing Product with the new information. So set `product_data[id]` to the same string every time you sell the same product, but don't re-use the same string for different products.
1955
+ sig { returns(String) }
1956
+ attr_accessor :id
1957
+ # A list of up to 8 URLs of images for this product, meant to be displayable to the customer.
1958
+ sig { returns(T.nilable(T::Array[String])) }
1959
+ attr_accessor :images
1960
+ # 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`.
1961
+ sig { returns(T.nilable(T::Hash[String, String])) }
1962
+ attr_accessor :metadata
1963
+ # The product's name, meant to be displayable to the customer.
1964
+ sig { returns(String) }
1965
+ attr_accessor :name
1966
+ # The dimensions of this product for shipping purposes.
1967
+ sig {
1968
+ returns(T.nilable(::Stripe::Order::UpdateParams::LineItem::ProductData::PackageDimensions))
1969
+ }
1970
+ attr_accessor :package_dimensions
1971
+ # Whether this product is shipped (i.e., physical goods).
1972
+ sig { returns(T::Boolean) }
1973
+ attr_accessor :shippable
1974
+ # A [tax code](https://stripe.com/docs/tax/tax-categories) ID.
1975
+ sig { returns(T.nilable(String)) }
1976
+ attr_accessor :tax_code
1977
+ # A URL of a publicly-accessible webpage for this product.
1978
+ sig { returns(T.nilable(String)) }
1979
+ attr_accessor :url
1980
+ sig {
1981
+ params(description: T.nilable(String), id: String, images: T.nilable(T::Array[String]), metadata: T.nilable(T::Hash[String, String]), name: String, package_dimensions: T.nilable(::Stripe::Order::UpdateParams::LineItem::ProductData::PackageDimensions), shippable: T::Boolean, tax_code: T.nilable(String), url: T.nilable(String)).void
1982
+ }
1983
+ def initialize(
1984
+ description: nil,
1985
+ id: nil,
1986
+ images: nil,
1987
+ metadata: nil,
1988
+ name: nil,
1989
+ package_dimensions: nil,
1990
+ shippable: nil,
1991
+ tax_code: nil,
1992
+ url: nil
1993
+ ); end
1994
+ end
1995
+ # The description for the line item. Will default to the name of the associated product.
1996
+ sig { returns(String) }
1997
+ attr_accessor :description
1998
+ # The discounts applied to this line item.
1999
+ sig { returns(T.nilable(T::Array[::Stripe::Order::UpdateParams::LineItem::Discount])) }
2000
+ attr_accessor :discounts
2001
+ # The ID of an existing line item on the order.
2002
+ sig { returns(String) }
2003
+ attr_accessor :id
2004
+ # The ID of a [Price](https://stripe.com/docs/api/prices) to add to the Order.
2005
+ #
2006
+ # The `price` parameter is an alternative to using the `product` parameter. If each of your products are sold at a single price, you can set `Product.default_price` and then pass the `product` parameter when creating a line item. If your products are sold at several possible prices, use the `price` parameter to explicitly specify which one to use.
2007
+ sig { returns(String) }
2008
+ attr_accessor :price
2009
+ # Data used to generate a new Price object inline.
2010
+ #
2011
+ # The `price_data` parameter is an alternative to using the `product` or `price` parameters. If you create products upfront and configure a `Product.default_price`, pass the `product` parameter when creating a line item. If you prefer not to define products upfront, or if you charge variable prices, pass the `price_data` parameter to describe the price for this line item.
2012
+ #
2013
+ # Each time you pass `price_data` we create a Price for the product. This Price is hidden in both the Dashboard and API lists and cannot be reused.
2014
+ sig { returns(::Stripe::Order::UpdateParams::LineItem::PriceData) }
2015
+ attr_accessor :price_data
2016
+ # The ID of a [Product](https://stripe.com/docs/api/products) to add to the Order.
2017
+ #
2018
+ # The product must have a `default_price` specified. Otherwise, specify the price by passing the `price` or `price_data` parameter.
2019
+ sig { returns(String) }
2020
+ attr_accessor :product
2021
+ # Defines a Product inline and adds it to the Order.
2022
+ #
2023
+ # `product_data` is an alternative to the `product` parameter. If you created a Product upfront, use the `product` parameter to refer to the existing Product. But if you prefer not to create Products upfront, pass the `product_data` parameter to define a Product inline as part of configuring the Order.
2024
+ #
2025
+ # `product_data` automatically creates a Product, just as if you had manually created the Product. If a Product with the same ID already exists, then `product_data` re-uses it to avoid duplicates.
2026
+ sig { returns(::Stripe::Order::UpdateParams::LineItem::ProductData) }
2027
+ attr_accessor :product_data
2028
+ # The quantity of the line item.
2029
+ sig { returns(Integer) }
2030
+ attr_accessor :quantity
2031
+ # The tax rates applied to this line item.
2032
+ sig { returns(T.nilable(T::Array[String])) }
2033
+ attr_accessor :tax_rates
2034
+ sig {
2035
+ params(description: String, discounts: T.nilable(T::Array[::Stripe::Order::UpdateParams::LineItem::Discount]), id: String, price: String, price_data: ::Stripe::Order::UpdateParams::LineItem::PriceData, product: String, product_data: ::Stripe::Order::UpdateParams::LineItem::ProductData, quantity: Integer, tax_rates: T.nilable(T::Array[String])).void
2036
+ }
2037
+ def initialize(
2038
+ description: nil,
2039
+ discounts: nil,
2040
+ id: nil,
2041
+ price: nil,
2042
+ price_data: nil,
2043
+ product: nil,
2044
+ product_data: nil,
2045
+ quantity: nil,
2046
+ tax_rates: nil
2047
+ ); end
2048
+ end
2049
+ class Payment < Stripe::RequestParams
2050
+ class Settings < Stripe::RequestParams
2051
+ class PaymentMethodOptions < Stripe::RequestParams
2052
+ class AcssDebit < Stripe::RequestParams
2053
+ class MandateOptions < Stripe::RequestParams
2054
+ # A URL for custom mandate text to render during confirmation step.
2055
+ # The URL will be rendered with additional GET parameters `payment_intent` and `payment_intent_client_secret` when confirming a Payment Intent,
2056
+ # or `setup_intent` and `setup_intent_client_secret` when confirming a Setup Intent.
2057
+ sig { returns(T.nilable(String)) }
2058
+ attr_accessor :custom_mandate_url
2059
+ # Description of the mandate interval. Only required if 'payment_schedule' parameter is 'interval' or 'combined'.
2060
+ sig { returns(String) }
2061
+ attr_accessor :interval_description
2062
+ # Payment schedule for the mandate.
2063
+ sig { returns(String) }
2064
+ attr_accessor :payment_schedule
2065
+ # Transaction type of the mandate.
2066
+ sig { returns(String) }
2067
+ attr_accessor :transaction_type
2068
+ sig {
2069
+ params(custom_mandate_url: T.nilable(String), interval_description: String, payment_schedule: String, transaction_type: String).void
2070
+ }
2071
+ def initialize(
2072
+ custom_mandate_url: nil,
2073
+ interval_description: nil,
2074
+ payment_schedule: nil,
2075
+ transaction_type: nil
2076
+ ); end
2077
+ end
2078
+ # Additional fields for Mandate creation
2079
+ sig {
2080
+ returns(::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::AcssDebit::MandateOptions)
2081
+ }
2082
+ attr_accessor :mandate_options
2083
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2084
+ #
2085
+ # 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.
2086
+ #
2087
+ # 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.
2088
+ #
2089
+ # 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).
2090
+ #
2091
+ # 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`.
2092
+ sig { returns(T.nilable(String)) }
2093
+ attr_accessor :setup_future_usage
2094
+ # Bank account verification method.
2095
+ sig { returns(String) }
2096
+ attr_accessor :verification_method
2097
+ sig {
2098
+ params(mandate_options: ::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::AcssDebit::MandateOptions, setup_future_usage: T.nilable(String), verification_method: String).void
2099
+ }
2100
+ def initialize(
2101
+ mandate_options: nil,
2102
+ setup_future_usage: nil,
2103
+ verification_method: nil
2104
+ ); end
2105
+ end
2106
+ class AfterpayClearpay < Stripe::RequestParams
2107
+ # Controls when the funds are captured from the customer's account.
2108
+ #
2109
+ # If provided, this parameter overrides the behavior of the top-level [capture_method](/api/payment_intents/update#update_payment_intent-capture_method) for this payment method type when finalizing the payment with this payment method type.
2110
+ #
2111
+ # If `capture_method` is already set on the PaymentIntent, providing an empty value for this parameter unsets the stored value for this payment method type.
2112
+ sig { returns(String) }
2113
+ attr_accessor :capture_method
2114
+ # An internal identifier or reference this payment corresponds to. The identifier is limited to 128 characters and may contain only letters, digits, underscores, backslashes and dashes.
2115
+ sig { returns(String) }
2116
+ attr_accessor :reference
2117
+ # Indicates that you intend to make future payments with the payment method.
2118
+ #
2119
+ # Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the order's Customer, if present, after the order's PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
2120
+ #
2121
+ # When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
2122
+ #
2123
+ # If `setup_future_usage` is already set and you are performing a request using a publishable key, you may only update the value from `on_session` to `off_session`.
2124
+ sig { returns(String) }
2125
+ attr_accessor :setup_future_usage
2126
+ sig {
2127
+ params(capture_method: String, reference: String, setup_future_usage: String).void
2128
+ }
2129
+ def initialize(capture_method: nil, reference: nil, setup_future_usage: nil); end
2130
+ end
2131
+ class Alipay < Stripe::RequestParams
2132
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2133
+ #
2134
+ # 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.
2135
+ #
2136
+ # 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.
2137
+ #
2138
+ # 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).
2139
+ #
2140
+ # 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`.
2141
+ sig { returns(T.nilable(String)) }
2142
+ attr_accessor :setup_future_usage
2143
+ sig { params(setup_future_usage: T.nilable(String)).void }
2144
+ def initialize(setup_future_usage: nil); end
2145
+ end
2146
+ class Bancontact < Stripe::RequestParams
2147
+ # Preferred language of the Bancontact authorization page that the customer is redirected to.
2148
+ sig { returns(String) }
2149
+ attr_accessor :preferred_language
2150
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2151
+ #
2152
+ # 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.
2153
+ #
2154
+ # 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.
2155
+ #
2156
+ # 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).
2157
+ #
2158
+ # 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`.
2159
+ sig { returns(T.nilable(String)) }
2160
+ attr_accessor :setup_future_usage
2161
+ sig { params(preferred_language: String, setup_future_usage: T.nilable(String)).void }
2162
+ def initialize(preferred_language: nil, setup_future_usage: nil); end
2163
+ end
2164
+ class Card < Stripe::RequestParams
2165
+ # Controls when the funds will be captured from the customer's account.
2166
+ sig { returns(String) }
2167
+ attr_accessor :capture_method
2168
+ # Indicates that you intend to make future payments with the payment method.
2169
+ #
2170
+ # Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the order's Customer, if present, after the order's PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
2171
+ #
2172
+ # When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
2173
+ #
2174
+ # If `setup_future_usage` is already set and you are performing a request using a publishable key, you may only update the value from `on_session` to `off_session`.
2175
+ sig { returns(String) }
2176
+ attr_accessor :setup_future_usage
2177
+ sig { params(capture_method: String, setup_future_usage: String).void }
2178
+ def initialize(capture_method: nil, setup_future_usage: nil); end
2179
+ end
2180
+ class CustomerBalance < Stripe::RequestParams
2181
+ class BankTransfer < Stripe::RequestParams
2182
+ class EuBankTransfer < Stripe::RequestParams
2183
+ # The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`.
2184
+ sig { returns(String) }
2185
+ attr_accessor :country
2186
+ sig { params(country: String).void }
2187
+ def initialize(country: nil); end
2188
+ end
2189
+ # Configuration for the eu_bank_transfer funding type.
2190
+ sig {
2191
+ returns(::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::CustomerBalance::BankTransfer::EuBankTransfer)
2192
+ }
2193
+ attr_accessor :eu_bank_transfer
2194
+ # List of address types that should be returned in the financial_addresses response. If not specified, all valid types will be returned.
2195
+ #
2196
+ # Permitted values include: `sort_code`, `zengin`, `iban`, or `spei`.
2197
+ sig { returns(T::Array[String]) }
2198
+ attr_accessor :requested_address_types
2199
+ # The list of bank transfer types 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`.
2200
+ sig { returns(String) }
2201
+ attr_accessor :type
2202
+ sig {
2203
+ params(eu_bank_transfer: ::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::CustomerBalance::BankTransfer::EuBankTransfer, requested_address_types: T::Array[String], type: String).void
2204
+ }
2205
+ def initialize(eu_bank_transfer: nil, requested_address_types: nil, type: nil); end
2206
+ end
2207
+ # Configuration for the bank transfer funding type, if the `funding_type` is set to `bank_transfer`.
2208
+ sig {
2209
+ returns(::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::CustomerBalance::BankTransfer)
2210
+ }
2211
+ attr_accessor :bank_transfer
2212
+ # The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`.
2213
+ sig { returns(String) }
2214
+ attr_accessor :funding_type
2215
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2216
+ #
2217
+ # 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.
2218
+ #
2219
+ # 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.
2220
+ #
2221
+ # 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).
2222
+ #
2223
+ # 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`.
2224
+ sig { returns(String) }
2225
+ attr_accessor :setup_future_usage
2226
+ sig {
2227
+ params(bank_transfer: ::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::CustomerBalance::BankTransfer, funding_type: String, setup_future_usage: String).void
2228
+ }
2229
+ def initialize(bank_transfer: nil, funding_type: nil, setup_future_usage: nil); end
2230
+ end
2231
+ class Ideal < Stripe::RequestParams
2232
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2233
+ #
2234
+ # 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.
2235
+ #
2236
+ # 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.
2237
+ #
2238
+ # 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).
2239
+ #
2240
+ # 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`.
2241
+ sig { returns(T.nilable(String)) }
2242
+ attr_accessor :setup_future_usage
2243
+ sig { params(setup_future_usage: T.nilable(String)).void }
2244
+ def initialize(setup_future_usage: nil); end
2245
+ end
2246
+ class Klarna < Stripe::RequestParams
2247
+ # Controls when the funds are captured from the customer's account.
2248
+ #
2249
+ # If provided, this parameter overrides the behavior of the top-level [capture_method](/api/payment_intents/update#update_payment_intent-capture_method) for this payment method type when finalizing the payment with this payment method type.
2250
+ #
2251
+ # If `capture_method` is already set on the PaymentIntent, providing an empty value for this parameter unsets the stored value for this payment method type.
2252
+ sig { returns(T.nilable(String)) }
2253
+ attr_accessor :capture_method
2254
+ # Preferred language of the Klarna authorization page that the customer is redirected to
2255
+ sig { returns(String) }
2256
+ attr_accessor :preferred_locale
2257
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2258
+ #
2259
+ # 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.
2260
+ #
2261
+ # 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.
2262
+ #
2263
+ # 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).
2264
+ #
2265
+ # 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`.
2266
+ sig { returns(String) }
2267
+ attr_accessor :setup_future_usage
2268
+ sig {
2269
+ params(capture_method: T.nilable(String), preferred_locale: String, setup_future_usage: String).void
2270
+ }
2271
+ def initialize(
2272
+ capture_method: nil,
2273
+ preferred_locale: nil,
2274
+ setup_future_usage: nil
2275
+ ); end
2276
+ end
2277
+ class Link < Stripe::RequestParams
2278
+ # Controls when the funds are captured from the customer's account.
2279
+ #
2280
+ # If provided, this parameter overrides the behavior of the top-level [capture_method](/api/payment_intents/update#update_payment_intent-capture_method) for this payment method type when finalizing the payment with this payment method type.
2281
+ #
2282
+ # If `capture_method` is already set on the PaymentIntent, providing an empty value for this parameter unsets the stored value for this payment method type.
2283
+ sig { returns(T.nilable(String)) }
2284
+ attr_accessor :capture_method
2285
+ # [Deprecated] This is a legacy parameter that no longer has any function.
2286
+ sig { returns(String) }
2287
+ attr_accessor :persistent_token
2288
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2289
+ #
2290
+ # 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.
2291
+ #
2292
+ # 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.
2293
+ #
2294
+ # 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).
2295
+ #
2296
+ # 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`.
2297
+ sig { returns(T.nilable(String)) }
2298
+ attr_accessor :setup_future_usage
2299
+ sig {
2300
+ params(capture_method: T.nilable(String), persistent_token: String, setup_future_usage: T.nilable(String)).void
2301
+ }
2302
+ def initialize(
2303
+ capture_method: nil,
2304
+ persistent_token: nil,
2305
+ setup_future_usage: nil
2306
+ ); end
2307
+ end
2308
+ class Oxxo < Stripe::RequestParams
2309
+ # 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.
2310
+ sig { returns(Integer) }
2311
+ attr_accessor :expires_after_days
2312
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2313
+ #
2314
+ # 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.
2315
+ #
2316
+ # 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.
2317
+ #
2318
+ # 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).
2319
+ #
2320
+ # 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`.
2321
+ sig { returns(String) }
2322
+ attr_accessor :setup_future_usage
2323
+ sig { params(expires_after_days: Integer, setup_future_usage: String).void }
2324
+ def initialize(expires_after_days: nil, setup_future_usage: nil); end
2325
+ end
2326
+ class P24 < Stripe::RequestParams
2327
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2328
+ #
2329
+ # 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.
2330
+ #
2331
+ # 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.
2332
+ #
2333
+ # 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).
2334
+ #
2335
+ # 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`.
2336
+ sig { returns(String) }
2337
+ attr_accessor :setup_future_usage
2338
+ # Confirm that the payer has accepted the P24 terms and conditions.
2339
+ sig { returns(T::Boolean) }
2340
+ attr_accessor :tos_shown_and_accepted
2341
+ sig { params(setup_future_usage: String, tos_shown_and_accepted: T::Boolean).void }
2342
+ def initialize(setup_future_usage: nil, tos_shown_and_accepted: nil); end
2343
+ end
2344
+ class Paypal < Stripe::RequestParams
2345
+ class LineItem < Stripe::RequestParams
2346
+ class Tax < Stripe::RequestParams
2347
+ # The tax for a single unit of the line item in minor units. Cannot be a negative number.
2348
+ sig { returns(Integer) }
2349
+ attr_accessor :amount
2350
+ # The tax behavior for the line item.
2351
+ sig { returns(String) }
2352
+ attr_accessor :behavior
2353
+ sig { params(amount: Integer, behavior: String).void }
2354
+ def initialize(amount: nil, behavior: nil); end
2355
+ end
2356
+ # Type of the line item.
2357
+ sig { returns(String) }
2358
+ attr_accessor :category
2359
+ # Description of the line item.
2360
+ sig { returns(String) }
2361
+ attr_accessor :description
2362
+ # Descriptive name of the line item.
2363
+ sig { returns(String) }
2364
+ attr_accessor :name
2365
+ # Quantity of the line item. Must be a positive number.
2366
+ sig { returns(Integer) }
2367
+ attr_accessor :quantity
2368
+ # Client facing stock keeping unit, article number or similar.
2369
+ sig { returns(String) }
2370
+ attr_accessor :sku
2371
+ # The Stripe account ID of the connected account that sells the item.
2372
+ sig { returns(String) }
2373
+ attr_accessor :sold_by
2374
+ # The tax information for the line item.
2375
+ sig {
2376
+ returns(::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::Paypal::LineItem::Tax)
2377
+ }
2378
+ attr_accessor :tax
2379
+ # Price for a single unit of the line item in minor units. Cannot be a negative number.
2380
+ sig { returns(Integer) }
2381
+ attr_accessor :unit_amount
2382
+ sig {
2383
+ params(category: String, description: String, name: String, quantity: Integer, sku: String, sold_by: String, tax: ::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::Paypal::LineItem::Tax, unit_amount: Integer).void
2384
+ }
2385
+ def initialize(
2386
+ category: nil,
2387
+ description: nil,
2388
+ name: nil,
2389
+ quantity: nil,
2390
+ sku: nil,
2391
+ sold_by: nil,
2392
+ tax: nil,
2393
+ unit_amount: nil
2394
+ ); end
2395
+ end
2396
+ # Controls when the funds will be captured from the customer's account.
2397
+ sig { returns(T.nilable(String)) }
2398
+ attr_accessor :capture_method
2399
+ # The line items purchased by the customer.
2400
+ sig {
2401
+ returns(T::Array[::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::Paypal::LineItem])
2402
+ }
2403
+ attr_accessor :line_items
2404
+ # [Preferred locale](https://stripe.com/docs/payments/paypal/supported-locales) of the PayPal checkout page that the customer is redirected to.
2405
+ sig { returns(String) }
2406
+ attr_accessor :preferred_locale
2407
+ # 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.
2408
+ sig { returns(String) }
2409
+ attr_accessor :reference
2410
+ # 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.
2411
+ sig { returns(String) }
2412
+ attr_accessor :reference_id
2413
+ # The risk correlation ID for an on-session payment using a saved PayPal payment method.
2414
+ sig { returns(String) }
2415
+ attr_accessor :risk_correlation_id
2416
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2417
+ #
2418
+ # 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.
2419
+ #
2420
+ # 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.
2421
+ #
2422
+ # 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).
2423
+ #
2424
+ # 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`.
2425
+ sig { returns(T.nilable(String)) }
2426
+ attr_accessor :setup_future_usage
2427
+ # 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.
2428
+ sig { returns(T::Array[String]) }
2429
+ attr_accessor :subsellers
2430
+ sig {
2431
+ params(capture_method: T.nilable(String), line_items: T::Array[::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::Paypal::LineItem], preferred_locale: String, reference: String, reference_id: String, risk_correlation_id: String, setup_future_usage: T.nilable(String), subsellers: T::Array[String]).void
2432
+ }
2433
+ def initialize(
2434
+ capture_method: nil,
2435
+ line_items: nil,
2436
+ preferred_locale: nil,
2437
+ reference: nil,
2438
+ reference_id: nil,
2439
+ risk_correlation_id: nil,
2440
+ setup_future_usage: nil,
2441
+ subsellers: nil
2442
+ ); end
2443
+ end
2444
+ class SepaDebit < Stripe::RequestParams
2445
+ class MandateOptions < Stripe::RequestParams
2446
+ # 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'.
2447
+ sig { returns(T.nilable(String)) }
2448
+ attr_accessor :reference_prefix
2449
+ sig { params(reference_prefix: T.nilable(String)).void }
2450
+ def initialize(reference_prefix: nil); end
2451
+ end
2452
+ # Additional fields for Mandate creation
2453
+ sig {
2454
+ returns(::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::SepaDebit::MandateOptions)
2455
+ }
2456
+ attr_accessor :mandate_options
2457
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2458
+ #
2459
+ # 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.
2460
+ #
2461
+ # 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.
2462
+ #
2463
+ # 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).
2464
+ #
2465
+ # 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`.
2466
+ sig { returns(T.nilable(String)) }
2467
+ attr_accessor :setup_future_usage
2468
+ sig {
2469
+ params(mandate_options: ::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::SepaDebit::MandateOptions, setup_future_usage: T.nilable(String)).void
2470
+ }
2471
+ def initialize(mandate_options: nil, setup_future_usage: nil); end
2472
+ end
2473
+ class Sofort < Stripe::RequestParams
2474
+ # Language shown to the payer on redirect.
2475
+ sig { returns(T.nilable(String)) }
2476
+ attr_accessor :preferred_language
2477
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2478
+ #
2479
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
2480
+ #
2481
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
2482
+ #
2483
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
2484
+ #
2485
+ # 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`.
2486
+ sig { returns(T.nilable(String)) }
2487
+ attr_accessor :setup_future_usage
2488
+ sig {
2489
+ params(preferred_language: T.nilable(String), setup_future_usage: T.nilable(String)).void
2490
+ }
2491
+ def initialize(preferred_language: nil, setup_future_usage: nil); end
2492
+ end
2493
+ class WechatPay < Stripe::RequestParams
2494
+ # The app ID registered with WeChat Pay. Only required when client is ios or android.
2495
+ sig { returns(String) }
2496
+ attr_accessor :app_id
2497
+ # The client type that the end customer will pay from
2498
+ sig { returns(String) }
2499
+ attr_accessor :client
2500
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2501
+ #
2502
+ # 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.
2503
+ #
2504
+ # 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.
2505
+ #
2506
+ # 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).
2507
+ #
2508
+ # 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`.
2509
+ sig { returns(String) }
2510
+ attr_accessor :setup_future_usage
2511
+ sig { params(app_id: String, client: String, setup_future_usage: String).void }
2512
+ def initialize(app_id: nil, client: nil, setup_future_usage: nil); end
2513
+ end
2514
+ # If paying by `acss_debit`, this sub-hash contains details about the ACSS Debit payment method options to pass to the order's PaymentIntent.
2515
+ sig {
2516
+ returns(T.nilable(::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::AcssDebit))
2517
+ }
2518
+ attr_accessor :acss_debit
2519
+ # If paying by `afterpay_clearpay`, this sub-hash contains details about the AfterpayClearpay payment method options to pass to the order's PaymentIntent.
2520
+ sig {
2521
+ returns(T.nilable(::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::AfterpayClearpay))
2522
+ }
2523
+ attr_accessor :afterpay_clearpay
2524
+ # If paying by `alipay`, this sub-hash contains details about the Alipay payment method options to pass to the order's PaymentIntent.
2525
+ sig {
2526
+ returns(T.nilable(::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::Alipay))
2527
+ }
2528
+ attr_accessor :alipay
2529
+ # If paying by `bancontact`, this sub-hash contains details about the Bancontact payment method options to pass to the order's PaymentIntent.
2530
+ sig {
2531
+ returns(T.nilable(::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::Bancontact))
2532
+ }
2533
+ attr_accessor :bancontact
2534
+ # If paying by `card`, this sub-hash contains details about the Card payment method options to pass to the order's PaymentIntent.
2535
+ sig {
2536
+ returns(T.nilable(::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::Card))
2537
+ }
2538
+ attr_accessor :card
2539
+ # If paying by `customer_balance`, this sub-hash contains details about the Customer Balance payment method options to pass to the order's PaymentIntent.
2540
+ sig {
2541
+ returns(T.nilable(::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::CustomerBalance))
2542
+ }
2543
+ attr_accessor :customer_balance
2544
+ # If paying by `ideal`, this sub-hash contains details about the iDEAL payment method options to pass to the order's PaymentIntent.
2545
+ sig {
2546
+ returns(T.nilable(::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::Ideal))
2547
+ }
2548
+ attr_accessor :ideal
2549
+ # If paying by `klarna`, this sub-hash contains details about the Klarna payment method options to pass to the order's PaymentIntent.
2550
+ sig {
2551
+ returns(T.nilable(::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::Klarna))
2552
+ }
2553
+ attr_accessor :klarna
2554
+ # If paying by `link`, this sub-hash contains details about the Link payment method options to pass to the order's PaymentIntent.
2555
+ sig {
2556
+ returns(T.nilable(::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::Link))
2557
+ }
2558
+ attr_accessor :link
2559
+ # If paying by `oxxo`, this sub-hash contains details about the OXXO payment method options to pass to the order's PaymentIntent.
2560
+ sig {
2561
+ returns(T.nilable(::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::Oxxo))
2562
+ }
2563
+ attr_accessor :oxxo
2564
+ # If paying by `p24`, this sub-hash contains details about the P24 payment method options to pass to the order's PaymentIntent.
2565
+ sig {
2566
+ returns(T.nilable(::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::P24))
2567
+ }
2568
+ attr_accessor :p24
2569
+ # If paying by `paypal`, this sub-hash contains details about the PayPal payment method options to pass to the order's PaymentIntent.
2570
+ sig {
2571
+ returns(T.nilable(::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::Paypal))
2572
+ }
2573
+ attr_accessor :paypal
2574
+ # If paying by `sepa_debit`, this sub-hash contains details about the SEPA Debit payment method options to pass to the order's PaymentIntent.
2575
+ sig {
2576
+ returns(T.nilable(::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::SepaDebit))
2577
+ }
2578
+ attr_accessor :sepa_debit
2579
+ # If paying by `sofort`, this sub-hash contains details about the Sofort payment method options to pass to the order's PaymentIntent.
2580
+ sig {
2581
+ returns(T.nilable(::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::Sofort))
2582
+ }
2583
+ attr_accessor :sofort
2584
+ # If paying by `wechat_pay`, this sub-hash contains details about the WeChat Pay payment method options to pass to the order's PaymentIntent.
2585
+ sig {
2586
+ returns(T.nilable(::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::WechatPay))
2587
+ }
2588
+ attr_accessor :wechat_pay
2589
+ sig {
2590
+ params(acss_debit: T.nilable(::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::AcssDebit), afterpay_clearpay: T.nilable(::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::AfterpayClearpay), alipay: T.nilable(::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::Alipay), bancontact: T.nilable(::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::Bancontact), card: T.nilable(::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::Card), customer_balance: T.nilable(::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::CustomerBalance), ideal: T.nilable(::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::Ideal), klarna: T.nilable(::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::Klarna), link: T.nilable(::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::Link), oxxo: T.nilable(::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::Oxxo), p24: T.nilable(::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::P24), paypal: T.nilable(::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::Paypal), sepa_debit: T.nilable(::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::SepaDebit), sofort: T.nilable(::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::Sofort), wechat_pay: T.nilable(::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions::WechatPay)).void
2591
+ }
2592
+ def initialize(
2593
+ acss_debit: nil,
2594
+ afterpay_clearpay: nil,
2595
+ alipay: nil,
2596
+ bancontact: nil,
2597
+ card: nil,
2598
+ customer_balance: nil,
2599
+ ideal: nil,
2600
+ klarna: nil,
2601
+ link: nil,
2602
+ oxxo: nil,
2603
+ p24: nil,
2604
+ paypal: nil,
2605
+ sepa_debit: nil,
2606
+ sofort: nil,
2607
+ wechat_pay: nil
2608
+ ); end
2609
+ end
2610
+ class TransferData < Stripe::RequestParams
2611
+ # The amount that will be transferred automatically when the order is paid. If no amount is set, the full amount is transferred. There cannot be any line items with recurring prices when using this field.
2612
+ sig { returns(Integer) }
2613
+ attr_accessor :amount
2614
+ # ID of the Connected account receiving the transfer.
2615
+ sig { returns(String) }
2616
+ attr_accessor :destination
2617
+ sig { params(amount: Integer, destination: String).void }
2618
+ def initialize(amount: nil, destination: nil); end
2619
+ end
2620
+ # 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.
2621
+ sig { returns(T.nilable(Integer)) }
2622
+ attr_accessor :application_fee_amount
2623
+ # PaymentMethod-specific configuration to provide to the order's PaymentIntent.
2624
+ sig { returns(::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions) }
2625
+ attr_accessor :payment_method_options
2626
+ # The list of [payment method types](https://stripe.com/docs/payments/payment-methods/overview) to provide to the order's PaymentIntent. Do not include this attribute if you prefer to manage your payment methods from the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods).
2627
+ sig { returns(T::Array[String]) }
2628
+ attr_accessor :payment_method_types
2629
+ # The URL to redirect the customer to after they authenticate their payment.
2630
+ sig { returns(T.nilable(String)) }
2631
+ attr_accessor :return_url
2632
+ # For non-card charges, you can use this value as the complete description that appears on your customers' statements. Must contain at least one letter, maximum 22 characters.
2633
+ sig { returns(String) }
2634
+ attr_accessor :statement_descriptor
2635
+ # Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.
2636
+ sig { returns(String) }
2637
+ attr_accessor :statement_descriptor_suffix
2638
+ # Provides configuration for completing a transfer for the order after it is paid.
2639
+ sig { returns(T.nilable(::Stripe::Order::UpdateParams::Payment::Settings::TransferData)) }
2640
+ attr_accessor :transfer_data
2641
+ sig {
2642
+ params(application_fee_amount: T.nilable(Integer), payment_method_options: ::Stripe::Order::UpdateParams::Payment::Settings::PaymentMethodOptions, payment_method_types: T::Array[String], return_url: T.nilable(String), statement_descriptor: String, statement_descriptor_suffix: String, transfer_data: T.nilable(::Stripe::Order::UpdateParams::Payment::Settings::TransferData)).void
2643
+ }
2644
+ def initialize(
2645
+ application_fee_amount: nil,
2646
+ payment_method_options: nil,
2647
+ payment_method_types: nil,
2648
+ return_url: nil,
2649
+ statement_descriptor: nil,
2650
+ statement_descriptor_suffix: nil,
2651
+ transfer_data: nil
2652
+ ); end
2653
+ end
2654
+ # Settings describing how the order should configure generated PaymentIntents.
2655
+ sig { returns(::Stripe::Order::UpdateParams::Payment::Settings) }
2656
+ attr_accessor :settings
2657
+ sig { params(settings: ::Stripe::Order::UpdateParams::Payment::Settings).void }
2658
+ def initialize(settings: nil); end
2659
+ end
2660
+ class ShippingCost < Stripe::RequestParams
2661
+ class ShippingRateData < Stripe::RequestParams
2662
+ class DeliveryEstimate < Stripe::RequestParams
2663
+ class Maximum < Stripe::RequestParams
2664
+ # A unit of time.
2665
+ sig { returns(String) }
2666
+ attr_accessor :unit
2667
+ # Must be greater than 0.
2668
+ sig { returns(Integer) }
2669
+ attr_accessor :value
2670
+ sig { params(unit: String, value: Integer).void }
2671
+ def initialize(unit: nil, value: nil); end
2672
+ end
2673
+ class Minimum < Stripe::RequestParams
2674
+ # A unit of time.
2675
+ sig { returns(String) }
2676
+ attr_accessor :unit
2677
+ # Must be greater than 0.
2678
+ sig { returns(Integer) }
2679
+ attr_accessor :value
2680
+ sig { params(unit: String, value: Integer).void }
2681
+ def initialize(unit: nil, value: nil); end
2682
+ end
2683
+ # The upper bound of the estimated range. If empty, represents no upper bound i.e., infinite.
2684
+ sig {
2685
+ returns(::Stripe::Order::UpdateParams::ShippingCost::ShippingRateData::DeliveryEstimate::Maximum)
2686
+ }
2687
+ attr_accessor :maximum
2688
+ # The lower bound of the estimated range. If empty, represents no lower bound.
2689
+ sig {
2690
+ returns(::Stripe::Order::UpdateParams::ShippingCost::ShippingRateData::DeliveryEstimate::Minimum)
2691
+ }
2692
+ attr_accessor :minimum
2693
+ sig {
2694
+ params(maximum: ::Stripe::Order::UpdateParams::ShippingCost::ShippingRateData::DeliveryEstimate::Maximum, minimum: ::Stripe::Order::UpdateParams::ShippingCost::ShippingRateData::DeliveryEstimate::Minimum).void
2695
+ }
2696
+ def initialize(maximum: nil, minimum: nil); end
2697
+ end
2698
+ class FixedAmount < Stripe::RequestParams
2699
+ class CurrencyOptions < Stripe::RequestParams
2700
+ # A non-negative integer in cents representing how much to charge.
2701
+ sig { returns(Integer) }
2702
+ attr_accessor :amount
2703
+ # Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`.
2704
+ sig { returns(String) }
2705
+ attr_accessor :tax_behavior
2706
+ sig { params(amount: Integer, tax_behavior: String).void }
2707
+ def initialize(amount: nil, tax_behavior: nil); end
2708
+ end
2709
+ # A non-negative integer in cents representing how much to charge.
2710
+ sig { returns(Integer) }
2711
+ attr_accessor :amount
2712
+ # 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).
2713
+ sig { returns(String) }
2714
+ attr_accessor :currency
2715
+ # 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).
2716
+ sig {
2717
+ returns(T::Hash[String, ::Stripe::Order::UpdateParams::ShippingCost::ShippingRateData::FixedAmount::CurrencyOptions])
2718
+ }
2719
+ attr_accessor :currency_options
2720
+ sig {
2721
+ params(amount: Integer, currency: String, currency_options: T::Hash[String, ::Stripe::Order::UpdateParams::ShippingCost::ShippingRateData::FixedAmount::CurrencyOptions]).void
2722
+ }
2723
+ def initialize(amount: nil, currency: nil, currency_options: nil); end
2724
+ end
2725
+ # The estimated range for how long shipping will take, meant to be displayable to the customer. This will appear on CheckoutSessions.
2726
+ sig {
2727
+ returns(::Stripe::Order::UpdateParams::ShippingCost::ShippingRateData::DeliveryEstimate)
2728
+ }
2729
+ attr_accessor :delivery_estimate
2730
+ # The name of the shipping rate, meant to be displayable to the customer. This will appear on CheckoutSessions.
2731
+ sig { returns(String) }
2732
+ attr_accessor :display_name
2733
+ # Describes a fixed amount to charge for shipping. Must be present if type is `fixed_amount`.
2734
+ sig {
2735
+ returns(::Stripe::Order::UpdateParams::ShippingCost::ShippingRateData::FixedAmount)
2736
+ }
2737
+ attr_accessor :fixed_amount
2738
+ # 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`.
2739
+ sig { returns(T::Hash[String, String]) }
2740
+ attr_accessor :metadata
2741
+ # Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`.
2742
+ sig { returns(String) }
2743
+ attr_accessor :tax_behavior
2744
+ # A [tax code](https://stripe.com/docs/tax/tax-categories) ID. The Shipping tax code is `txcd_92010001`.
2745
+ sig { returns(String) }
2746
+ attr_accessor :tax_code
2747
+ # The type of calculation to use on the shipping rate.
2748
+ sig { returns(String) }
2749
+ attr_accessor :type
2750
+ sig {
2751
+ params(delivery_estimate: ::Stripe::Order::UpdateParams::ShippingCost::ShippingRateData::DeliveryEstimate, display_name: String, fixed_amount: ::Stripe::Order::UpdateParams::ShippingCost::ShippingRateData::FixedAmount, metadata: T::Hash[String, String], tax_behavior: String, tax_code: String, type: String).void
2752
+ }
2753
+ def initialize(
2754
+ delivery_estimate: nil,
2755
+ display_name: nil,
2756
+ fixed_amount: nil,
2757
+ metadata: nil,
2758
+ tax_behavior: nil,
2759
+ tax_code: nil,
2760
+ type: nil
2761
+ ); end
2762
+ end
2763
+ # The ID of the shipping rate to use for this order.
2764
+ sig { returns(String) }
2765
+ attr_accessor :shipping_rate
2766
+ # Parameters to create a new ad-hoc shipping rate for this order.
2767
+ sig { returns(::Stripe::Order::UpdateParams::ShippingCost::ShippingRateData) }
2768
+ attr_accessor :shipping_rate_data
2769
+ sig {
2770
+ params(shipping_rate: String, shipping_rate_data: ::Stripe::Order::UpdateParams::ShippingCost::ShippingRateData).void
2771
+ }
2772
+ def initialize(shipping_rate: nil, shipping_rate_data: nil); end
2773
+ end
2774
+ class ShippingDetails < Stripe::RequestParams
2775
+ class Address < Stripe::RequestParams
2776
+ # City, district, suburb, town, or village.
2777
+ sig { returns(String) }
2778
+ attr_accessor :city
2779
+ # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
2780
+ sig { returns(String) }
2781
+ attr_accessor :country
2782
+ # Address line 1 (e.g., street, PO Box, or company name).
2783
+ sig { returns(String) }
2784
+ attr_accessor :line1
2785
+ # Address line 2 (e.g., apartment, suite, unit, or building).
2786
+ sig { returns(String) }
2787
+ attr_accessor :line2
2788
+ # ZIP or postal code.
2789
+ sig { returns(String) }
2790
+ attr_accessor :postal_code
2791
+ # State/province as an [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) subdivision code, without country prefix. Example: "NY" or "TX".
2792
+ sig { returns(String) }
2793
+ attr_accessor :state
2794
+ sig {
2795
+ params(city: String, country: String, line1: String, line2: String, postal_code: String, state: String).void
2796
+ }
2797
+ def initialize(
2798
+ city: nil,
2799
+ country: nil,
2800
+ line1: nil,
2801
+ line2: nil,
2802
+ postal_code: nil,
2803
+ state: nil
2804
+ ); end
2805
+ end
2806
+ # The shipping address for the order.
2807
+ sig { returns(::Stripe::Order::UpdateParams::ShippingDetails::Address) }
2808
+ attr_accessor :address
2809
+ # The name of the recipient of the order.
2810
+ sig { returns(String) }
2811
+ attr_accessor :name
2812
+ # The phone number (including extension) for the recipient of the order.
2813
+ sig { returns(T.nilable(String)) }
2814
+ attr_accessor :phone
2815
+ sig {
2816
+ params(address: ::Stripe::Order::UpdateParams::ShippingDetails::Address, name: String, phone: T.nilable(String)).void
2817
+ }
2818
+ def initialize(address: nil, name: nil, phone: nil); end
2819
+ end
2820
+ class TaxDetails < Stripe::RequestParams
2821
+ class TaxId < Stripe::RequestParams
2822
+ # Type of the tax ID, one of `ad_nrt`, `ae_trn`, `al_tin`, `am_tin`, `ao_tin`, `ar_cuit`, `au_abn`, `au_arn`, `ba_tin`, `bb_tin`, `bg_uic`, `bh_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `bs_tin`, `by_tin`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `cd_nif`, `ch_uid`, `ch_vat`, `cl_tin`, `cn_tin`, `co_nit`, `cr_tin`, `de_stn`, `do_rcn`, `ec_ruc`, `eg_tin`, `es_cif`, `eu_oss_vat`, `eu_vat`, `gb_vat`, `ge_vat`, `gn_nif`, `hk_br`, `hr_oib`, `hu_tin`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kh_tin`, `kr_brn`, `kz_bin`, `li_uid`, `li_vat`, `ma_vat`, `md_vat`, `me_pib`, `mk_vat`, `mr_nif`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `ng_tin`, `no_vat`, `no_voec`, `np_pan`, `nz_gst`, `om_vat`, `pe_ruc`, `ph_tin`, `ro_tin`, `rs_pib`, `ru_inn`, `ru_kpp`, `sa_vat`, `sg_gst`, `sg_uen`, `si_tin`, `sn_ninea`, `sr_fin`, `sv_nit`, `th_vat`, `tj_tin`, `tr_tin`, `tw_vat`, `tz_vat`, `ua_vat`, `ug_tin`, `us_ein`, `uy_ruc`, `uz_tin`, `uz_vat`, `ve_rif`, `vn_tin`, `za_vat`, `zm_tin`, or `zw_tin`
2823
+ sig { returns(String) }
2824
+ attr_accessor :type
2825
+ # Value of the tax ID.
2826
+ sig { returns(String) }
2827
+ attr_accessor :value
2828
+ sig { params(type: String, value: String).void }
2829
+ def initialize(type: nil, value: nil); end
2830
+ end
2831
+ # The purchaser's tax exemption status. One of `none`, `exempt`, or `reverse`.
2832
+ sig { returns(T.nilable(String)) }
2833
+ attr_accessor :tax_exempt
2834
+ # The purchaser's tax IDs to be used for this order.
2835
+ sig { returns(T::Array[::Stripe::Order::UpdateParams::TaxDetails::TaxId]) }
2836
+ attr_accessor :tax_ids
2837
+ sig {
2838
+ params(tax_exempt: T.nilable(String), tax_ids: T::Array[::Stripe::Order::UpdateParams::TaxDetails::TaxId]).void
2839
+ }
2840
+ def initialize(tax_exempt: nil, tax_ids: nil); end
2841
+ end
2842
+ # Settings for automatic tax calculation for this order.
2843
+ sig { returns(::Stripe::Order::UpdateParams::AutomaticTax) }
2844
+ attr_accessor :automatic_tax
2845
+ # Billing details for the customer. If a customer is provided, this will be automatically populated with values from that customer if override values are not provided.
2846
+ sig { returns(T.nilable(::Stripe::Order::UpdateParams::BillingDetails)) }
2847
+ attr_accessor :billing_details
2848
+ # The credits to apply to the order, only `gift_card` currently supported. Pass the empty string `""` to unset this field.
2849
+ sig { returns(T.nilable(T::Array[::Stripe::Order::UpdateParams::Credit])) }
2850
+ attr_accessor :credits
2851
+ # 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).
2852
+ sig { returns(String) }
2853
+ attr_accessor :currency
2854
+ # The customer associated with this order.
2855
+ sig { returns(String) }
2856
+ attr_accessor :customer
2857
+ # An arbitrary string attached to the object. Often useful for displaying to users.
2858
+ sig { returns(T.nilable(String)) }
2859
+ attr_accessor :description
2860
+ # The coupons, promotion codes, and/or discounts to apply to the order. Pass the empty string `""` to unset this field.
2861
+ sig { returns(T.nilable(T::Array[::Stripe::Order::UpdateParams::Discount])) }
2862
+ attr_accessor :discounts
2863
+ # Specifies which fields in the response should be expanded.
2864
+ sig { returns(T::Array[String]) }
2865
+ attr_accessor :expand
2866
+ # The IP address of the purchaser for this order.
2867
+ sig { returns(String) }
2868
+ attr_accessor :ip_address
2869
+ # A list of line items the customer is ordering. Each line item includes information about the product, the quantity, and the resulting cost.
2870
+ sig { returns(T::Array[::Stripe::Order::UpdateParams::LineItem]) }
2871
+ attr_accessor :line_items
2872
+ # 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`.
2873
+ sig { returns(T.nilable(T::Hash[String, String])) }
2874
+ attr_accessor :metadata
2875
+ # Payment information associated with the order, including payment settings.
2876
+ sig { returns(::Stripe::Order::UpdateParams::Payment) }
2877
+ attr_accessor :payment
2878
+ # Settings for the customer cost of shipping for this order.
2879
+ sig { returns(T.nilable(::Stripe::Order::UpdateParams::ShippingCost)) }
2880
+ attr_accessor :shipping_cost
2881
+ # Shipping details for the order.
2882
+ sig { returns(T.nilable(::Stripe::Order::UpdateParams::ShippingDetails)) }
2883
+ attr_accessor :shipping_details
2884
+ # Additional tax details about the purchaser to be used for this order.
2885
+ sig { returns(::Stripe::Order::UpdateParams::TaxDetails) }
2886
+ attr_accessor :tax_details
2887
+ sig {
2888
+ params(automatic_tax: ::Stripe::Order::UpdateParams::AutomaticTax, billing_details: T.nilable(::Stripe::Order::UpdateParams::BillingDetails), credits: T.nilable(T::Array[::Stripe::Order::UpdateParams::Credit]), currency: String, customer: String, description: T.nilable(String), discounts: T.nilable(T::Array[::Stripe::Order::UpdateParams::Discount]), expand: T::Array[String], ip_address: String, line_items: T::Array[::Stripe::Order::UpdateParams::LineItem], metadata: T.nilable(T::Hash[String, String]), payment: ::Stripe::Order::UpdateParams::Payment, shipping_cost: T.nilable(::Stripe::Order::UpdateParams::ShippingCost), shipping_details: T.nilable(::Stripe::Order::UpdateParams::ShippingDetails), tax_details: ::Stripe::Order::UpdateParams::TaxDetails).void
2889
+ }
2890
+ def initialize(
2891
+ automatic_tax: nil,
2892
+ billing_details: nil,
2893
+ credits: nil,
2894
+ currency: nil,
2895
+ customer: nil,
2896
+ description: nil,
2897
+ discounts: nil,
2898
+ expand: nil,
2899
+ ip_address: nil,
2900
+ line_items: nil,
2901
+ metadata: nil,
2902
+ payment: nil,
2903
+ shipping_cost: nil,
2904
+ shipping_details: nil,
2905
+ tax_details: nil
2906
+ ); end
2907
+ end
2908
+ class ListLineItemsParams < Stripe::RequestParams
2909
+ # 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.
2910
+ sig { returns(String) }
2911
+ attr_accessor :ending_before
2912
+ # Specifies which fields in the response should be expanded.
2913
+ sig { returns(T::Array[String]) }
2914
+ attr_accessor :expand
2915
+ # A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
2916
+ sig { returns(Integer) }
2917
+ attr_accessor :limit
2918
+ # 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.
2919
+ sig { returns(String) }
2920
+ attr_accessor :starting_after
2921
+ sig {
2922
+ params(ending_before: String, expand: T::Array[String], limit: Integer, starting_after: String).void
2923
+ }
2924
+ def initialize(ending_before: nil, expand: nil, limit: nil, starting_after: nil); end
2925
+ end
2926
+ class CancelParams < Stripe::RequestParams
2927
+ # Specifies which fields in the response should be expanded.
2928
+ sig { returns(T::Array[String]) }
2929
+ attr_accessor :expand
2930
+ sig { params(expand: T::Array[String]).void }
2931
+ def initialize(expand: nil); end
2932
+ end
2933
+ class ReopenParams < Stripe::RequestParams
2934
+ # Specifies which fields in the response should be expanded.
2935
+ sig { returns(T::Array[String]) }
2936
+ attr_accessor :expand
2937
+ sig { params(expand: T::Array[String]).void }
2938
+ def initialize(expand: nil); end
2939
+ end
2940
+ class SubmitParams < Stripe::RequestParams
2941
+ # Specifies which fields in the response should be expanded.
2942
+ sig { returns(T::Array[String]) }
2943
+ attr_accessor :expand
2944
+ # `expected_total` should always be set to the order's `amount_total` field. If they don't match, submitting the order will fail. This helps detect race conditions where something else concurrently modifies the order.
2945
+ sig { returns(Integer) }
2946
+ attr_accessor :expected_total
2947
+ sig { params(expand: T::Array[String], expected_total: Integer).void }
2948
+ def initialize(expand: nil, expected_total: nil); end
2949
+ end
2950
+ # Cancels the order as well as the payment intent if one is attached.
2951
+ sig {
2952
+ params(params: T.any(::Stripe::Order::CancelParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::Order)
2953
+ }
2954
+ def cancel(params = {}, opts = {}); end
2955
+
2956
+ # Cancels the order as well as the payment intent if one is attached.
2957
+ sig {
2958
+ params(id: String, params: T.any(::Stripe::Order::CancelParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::Order)
2959
+ }
2960
+ def self.cancel(id, params = {}, opts = {}); end
2961
+
2962
+ # Creates a new open order object.
2963
+ sig {
2964
+ params(params: T.any(::Stripe::Order::CreateParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::Order)
2965
+ }
2966
+ def self.create(params = {}, opts = {}); end
2967
+
2968
+ # Returns a list of your orders. The orders are returned sorted by creation date, with the most recently created orders appearing first.
2969
+ sig {
2970
+ params(params: T.any(::Stripe::Order::ListParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::ListObject)
2971
+ }
2972
+ def self.list(params = {}, opts = {}); end
2973
+
2974
+ # When retrieving an order, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
2975
+ sig {
2976
+ params(params: T.any(::Stripe::Order::ListLineItemsParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::ListObject)
2977
+ }
2978
+ def list_line_items(params = {}, opts = {}); end
2979
+
2980
+ # When retrieving an order, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
2981
+ sig {
2982
+ params(id: String, params: T.any(::Stripe::Order::ListLineItemsParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::ListObject)
2983
+ }
2984
+ def self.list_line_items(id, params = {}, opts = {}); end
2985
+
2986
+ # Reopens a submitted order.
2987
+ sig {
2988
+ params(params: T.any(::Stripe::Order::ReopenParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::Order)
2989
+ }
2990
+ def reopen(params = {}, opts = {}); end
2991
+
2992
+ # Reopens a submitted order.
2993
+ sig {
2994
+ params(id: String, params: T.any(::Stripe::Order::ReopenParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::Order)
2995
+ }
2996
+ def self.reopen(id, params = {}, opts = {}); end
2997
+
2998
+ # Submitting an Order transitions the status to processing and creates a PaymentIntent object so the order can be paid. If the Order has an amount_total of 0, no PaymentIntent object will be created. Once the order is submitted, its contents cannot be changed, unless the [reopen](https://stripe.com/docs/api#reopen_order) method is called.
2999
+ sig {
3000
+ params(params: T.any(::Stripe::Order::SubmitParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::Order)
3001
+ }
3002
+ def submit(params = {}, opts = {}); end
3003
+
3004
+ # Submitting an Order transitions the status to processing and creates a PaymentIntent object so the order can be paid. If the Order has an amount_total of 0, no PaymentIntent object will be created. Once the order is submitted, its contents cannot be changed, unless the [reopen](https://stripe.com/docs/api#reopen_order) method is called.
3005
+ sig {
3006
+ params(id: String, params: T.any(::Stripe::Order::SubmitParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::Order)
3007
+ }
3008
+ def self.submit(id, params = {}, opts = {}); end
3009
+
3010
+ # Updates the specific order by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
3011
+ sig {
3012
+ params(id: String, params: T.any(::Stripe::Order::UpdateParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::Order)
3013
+ }
3014
+ def self.update(id, params = {}, opts = {}); end
3015
+ end
3016
+ end