stripe 13.5.0 → 13.6.0.pre.beta.1

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