stripe 13.3.0 → 13.4.0.pre.beta.1

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