stripe 13.3.0 → 13.4.0.pre.beta.2

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