stripe 13.5.0 → 13.6.0.pre.beta.1

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