stripe 15.3.0.pre.beta.1 → 15.3.0

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 (600) hide show
  1. checksums.yaml +4 -4
  2. data/API_VERSION +1 -0
  3. data/CHANGELOG.md +683 -1581
  4. data/OPENAPI_VERSION +1 -1
  5. data/README.md +14 -50
  6. data/VERSION +1 -1
  7. data/lib/stripe/api_requestor.rb +0 -28
  8. data/lib/stripe/api_version.rb +2 -1
  9. data/lib/stripe/errors.rb +0 -54
  10. data/lib/stripe/event_types.rb +0 -98
  11. data/lib/stripe/events/v2_core_event_destination_ping_event.rb +1 -1
  12. data/lib/stripe/object_types.rb +0 -50
  13. data/lib/stripe/resources/account.rb +82 -650
  14. data/lib/stripe/resources/account_session.rb +80 -335
  15. data/lib/stripe/resources/billing/credit_balance_summary.rb +0 -2
  16. data/lib/stripe/resources/billing/credit_balance_transaction.rb +0 -4
  17. data/lib/stripe/resources/billing/credit_grant.rb +0 -10
  18. data/lib/stripe/resources/billing_portal/session.rb +2 -8
  19. data/lib/stripe/resources/card.rb +0 -2
  20. data/lib/stripe/resources/cash_balance.rb +0 -2
  21. data/lib/stripe/resources/charge.rb +28 -1553
  22. data/lib/stripe/resources/checkout/session.rb +55 -333
  23. data/lib/stripe/resources/confirmation_token.rb +19 -181
  24. data/lib/stripe/resources/coupon.rb +1 -30
  25. data/lib/stripe/resources/credit_note.rb +9 -15
  26. data/lib/stripe/resources/credit_note_line_item.rb +0 -9
  27. data/lib/stripe/resources/customer.rb +0 -2
  28. data/lib/stripe/resources/customer_balance_transaction.rb +0 -2
  29. data/lib/stripe/resources/customer_cash_balance_transaction.rb +0 -2
  30. data/lib/stripe/resources/customer_session.rb +3 -8
  31. data/lib/stripe/resources/discount.rb +0 -2
  32. data/lib/stripe/resources/event.rb +1 -32
  33. data/lib/stripe/resources/financial_connections/account.rb +1 -22
  34. data/lib/stripe/resources/financial_connections/session.rb +2 -62
  35. data/lib/stripe/resources/identity/verification_session.rb +34 -10
  36. data/lib/stripe/resources/invoice.rb +33 -1062
  37. data/lib/stripe/resources/invoice_item.rb +3 -82
  38. data/lib/stripe/resources/invoice_line_item.rb +1 -55
  39. data/lib/stripe/resources/invoice_payment.rb +53 -2
  40. data/lib/stripe/resources/issuing/cardholder.rb +1 -2
  41. data/lib/stripe/resources/issuing/transaction.rb +0 -6
  42. data/lib/stripe/resources/line_item.rb +0 -37
  43. data/lib/stripe/resources/mandate.rb +3 -24
  44. data/lib/stripe/resources/payment_intent.rb +875 -5512
  45. data/lib/stripe/resources/payment_method.rb +18 -201
  46. data/lib/stripe/resources/payment_method_configuration.rb +0 -295
  47. data/lib/stripe/resources/payout.rb +0 -6
  48. data/lib/stripe/resources/price.rb +0 -30
  49. data/lib/stripe/resources/promotion_code.rb +0 -10
  50. data/lib/stripe/resources/quote.rb +16 -2033
  51. data/lib/stripe/resources/refund.rb +0 -9
  52. data/lib/stripe/resources/setup_attempt.rb +1 -22
  53. data/lib/stripe/resources/setup_intent.rb +294 -581
  54. data/lib/stripe/resources/source.rb +0 -29
  55. data/lib/stripe/resources/subscription.rb +36 -298
  56. data/lib/stripe/resources/subscription_item.rb +3 -84
  57. data/lib/stripe/resources/subscription_schedule.rb +27 -1008
  58. data/lib/stripe/resources/tax/registration.rb +20 -0
  59. data/lib/stripe/resources/tax_id.rb +2 -12
  60. data/lib/stripe/resources/terminal/configuration.rb +1 -0
  61. data/lib/stripe/resources/terminal/reader.rb +10 -18
  62. data/lib/stripe/resources/token.rb +1 -1
  63. data/lib/stripe/resources/transfer.rb +0 -6
  64. data/lib/stripe/resources/treasury/financial_account.rb +8 -23
  65. data/lib/stripe/resources/treasury/financial_account_features.rb +0 -2
  66. data/lib/stripe/resources/treasury/outbound_transfer.rb +0 -37
  67. data/lib/stripe/resources/treasury/received_credit.rb +1 -38
  68. data/lib/stripe/resources/treasury/received_debit.rb +1 -40
  69. data/lib/stripe/resources.rb +0 -104
  70. data/lib/stripe/services/account_service.rb +76 -559
  71. data/lib/stripe/services/account_session_service.rb +49 -274
  72. data/lib/stripe/services/billing/credit_balance_summary_service.rb +1 -4
  73. data/lib/stripe/services/billing/credit_balance_transaction_service.rb +0 -4
  74. data/lib/stripe/services/billing/credit_grant_service.rb +0 -8
  75. data/lib/stripe/services/billing_portal/session_service.rb +1 -5
  76. data/lib/stripe/services/charge_service.rb +0 -1418
  77. data/lib/stripe/services/checkout/session_service.rb +55 -250
  78. data/lib/stripe/services/coupon_service.rb +1 -17
  79. data/lib/stripe/services/credit_note_preview_lines_service.rb +3 -3
  80. data/lib/stripe/services/credit_note_service.rb +6 -10
  81. data/lib/stripe/services/customer_session_service.rb +2 -5
  82. data/lib/stripe/services/financial_connections/account_service.rb +2 -7
  83. data/lib/stripe/services/financial_connections/session_service.rb +2 -34
  84. data/lib/stripe/services/financial_connections_service.rb +1 -2
  85. data/lib/stripe/services/identity/verification_session_service.rb +16 -8
  86. data/lib/stripe/services/invoice_item_service.rb +2 -74
  87. data/lib/stripe/services/invoice_line_item_service.rb +1 -33
  88. data/lib/stripe/services/invoice_payment_service.rb +83 -0
  89. data/lib/stripe/services/invoice_service.rb +33 -1013
  90. data/lib/stripe/services/issuing/cardholder_service.rb +1 -2
  91. data/lib/stripe/services/issuing/transaction_service.rb +0 -4
  92. data/lib/stripe/services/issuing_service.rb +1 -5
  93. data/lib/stripe/services/payment_intent_service.rb +650 -4832
  94. data/lib/stripe/services/payment_method_configuration_service.rb +0 -210
  95. data/lib/stripe/services/payment_method_service.rb +6 -120
  96. data/lib/stripe/services/payout_service.rb +0 -4
  97. data/lib/stripe/services/price_service.rb +0 -19
  98. data/lib/stripe/services/promotion_code_service.rb +0 -8
  99. data/lib/stripe/services/quote_service.rb +13 -1719
  100. data/lib/stripe/services/setup_intent_service.rb +284 -540
  101. data/lib/stripe/services/subscription_item_service.rb +3 -75
  102. data/lib/stripe/services/subscription_schedule_service.rb +19 -911
  103. data/lib/stripe/services/subscription_service.rb +30 -253
  104. data/lib/stripe/services/tax/registration_service.rb +13 -0
  105. data/lib/stripe/services/tax_id_service.rb +2 -8
  106. data/lib/stripe/services/tax_service.rb +1 -3
  107. data/lib/stripe/services/terminal/reader_service.rb +4 -4
  108. data/lib/stripe/services/terminal_service.rb +1 -2
  109. data/lib/stripe/services/test_helpers/confirmation_token_service.rb +6 -98
  110. data/lib/stripe/services/test_helpers/treasury/received_credit_service.rb +1 -25
  111. data/lib/stripe/services/test_helpers/treasury/received_debit_service.rb +1 -25
  112. data/lib/stripe/services/token_service.rb +1 -1
  113. data/lib/stripe/services/transfer_service.rb +0 -4
  114. data/lib/stripe/services/treasury/financial_account_features_service.rb +1 -4
  115. data/lib/stripe/services/treasury/financial_account_service.rb +7 -17
  116. data/lib/stripe/services/treasury/outbound_transfer_service.rb +0 -24
  117. data/lib/stripe/services/v1_services.rb +2 -11
  118. data/lib/stripe/services/v2/billing_service.rb +2 -2
  119. data/lib/stripe/services/v2/core/event_destination_service.rb +16 -16
  120. data/lib/stripe/services/v2/core_service.rb +1 -4
  121. data/lib/stripe/services/v2_services.rb +2 -5
  122. data/lib/stripe/services.rb +1 -53
  123. data/lib/stripe/stripe_configuration.rb +1 -3
  124. data/lib/stripe/stripe_object.rb +1 -1
  125. data/lib/stripe/util.rb +1 -7
  126. data/lib/stripe/version.rb +1 -1
  127. data/lib/stripe/webhook.rb +1 -1
  128. data/lib/stripe.rb +0 -53
  129. data/rbi/stripe/resources/account.rbi +4995 -0
  130. data/rbi/stripe/resources/account_link.rbi +74 -0
  131. data/rbi/stripe/resources/account_session.rbi +1013 -0
  132. data/rbi/stripe/resources/apple_pay_domain.rbi +88 -0
  133. data/rbi/stripe/resources/application.rbi +20 -0
  134. data/rbi/stripe/resources/application_fee.rbi +118 -0
  135. data/rbi/stripe/resources/application_fee_refund.rbi +37 -0
  136. data/rbi/stripe/resources/apps/secret.rbi +195 -0
  137. data/rbi/stripe/resources/balance.rbi +235 -0
  138. data/rbi/stripe/resources/balance_transaction.rbi +147 -0
  139. data/rbi/stripe/resources/bank_account.rbi +127 -0
  140. data/rbi/stripe/resources/billing/alert.rbi +201 -0
  141. data/rbi/stripe/resources/billing/alert_triggered.rbi +28 -0
  142. data/rbi/stripe/resources/billing/credit_balance_summary.rbi +63 -0
  143. data/rbi/stripe/resources/billing/credit_balance_transaction.rbi +147 -0
  144. data/rbi/stripe/resources/billing/credit_grant.rbi +291 -0
  145. data/rbi/stripe/resources/billing/meter.rbi +226 -0
  146. data/rbi/stripe/resources/billing/meter_event.rbi +64 -0
  147. data/rbi/stripe/resources/billing/meter_event_adjustment.rbi +64 -0
  148. data/rbi/stripe/resources/billing/meter_event_summary.rbi +35 -0
  149. data/rbi/stripe/resources/billing_portal/configuration.rbi +645 -0
  150. data/rbi/stripe/resources/billing_portal/session.rbi +345 -0
  151. data/rbi/stripe/resources/capability.rbi +125 -0
  152. data/rbi/stripe/resources/card.rbi +125 -0
  153. data/rbi/stripe/resources/cash_balance.rbi +32 -0
  154. data/rbi/stripe/resources/charge.rbi +2086 -0
  155. data/rbi/stripe/resources/checkout/session.rbi +4060 -0
  156. data/rbi/stripe/resources/climate/order.rbi +245 -0
  157. data/rbi/stripe/resources/climate/product.rbi +75 -0
  158. data/rbi/stripe/resources/climate/supplier.rbi +72 -0
  159. data/rbi/stripe/resources/confirmation_token.rbi +1818 -0
  160. data/rbi/stripe/resources/connect_collection_transfer.rbi +26 -0
  161. data/rbi/stripe/resources/country_spec.rbi +85 -0
  162. data/rbi/stripe/resources/coupon.rbi +250 -0
  163. data/rbi/stripe/resources/credit_note.rbi +752 -0
  164. data/rbi/stripe/resources/credit_note_line_item.rbi +101 -0
  165. data/rbi/stripe/resources/customer.rbi +1005 -0
  166. data/rbi/stripe/resources/customer_balance_transaction.rbi +56 -0
  167. data/rbi/stripe/resources/customer_cash_balance_transaction.rbi +151 -0
  168. data/rbi/stripe/resources/customer_session.rbi +200 -0
  169. data/rbi/stripe/resources/discount.rbi +53 -0
  170. data/rbi/stripe/resources/dispute.rbi +761 -0
  171. data/rbi/stripe/resources/entitlements/active_entitlement.rbi +58 -0
  172. data/rbi/stripe/resources/entitlements/active_entitlement_summary.rbi +23 -0
  173. data/rbi/stripe/resources/entitlements/feature.rbi +117 -0
  174. data/rbi/stripe/resources/ephemeral_key.rbi +44 -0
  175. data/rbi/stripe/resources/event.rbi +149 -0
  176. data/rbi/stripe/resources/exchange_rate.rbi +66 -0
  177. data/rbi/stripe/resources/file.rbi +143 -0
  178. data/rbi/stripe/resources/file_link.rbi +141 -0
  179. data/rbi/stripe/resources/financial_connections/account.rbi +339 -0
  180. data/rbi/stripe/resources/financial_connections/account_owner.rbi +35 -0
  181. data/rbi/stripe/resources/financial_connections/account_ownership.rbi +23 -0
  182. data/rbi/stripe/resources/financial_connections/session.rbi +123 -0
  183. data/rbi/stripe/resources/financial_connections/transaction.rbi +124 -0
  184. data/rbi/stripe/resources/forwarding/request.rbi +216 -0
  185. data/rbi/stripe/resources/funding_instructions.rbi +437 -0
  186. data/rbi/stripe/resources/identity/verification_report.rbi +360 -0
  187. data/rbi/stripe/resources/identity/verification_session.rbi +564 -0
  188. data/rbi/stripe/resources/invoice.rbi +3842 -0
  189. data/rbi/stripe/resources/invoice_item.rbi +470 -0
  190. data/rbi/stripe/resources/invoice_line_item.rbi +432 -0
  191. data/rbi/stripe/resources/invoice_payment.rbi +121 -0
  192. data/rbi/stripe/resources/invoice_rendering_template.rbi +104 -0
  193. data/rbi/stripe/resources/issuing/authorization.rbi +1283 -0
  194. data/rbi/stripe/resources/issuing/card.rbi +741 -0
  195. data/rbi/stripe/resources/issuing/cardholder.rbi +744 -0
  196. data/rbi/stripe/resources/issuing/dispute.rbi +913 -0
  197. data/rbi/stripe/resources/issuing/personalization_design.rbi +338 -0
  198. data/rbi/stripe/resources/issuing/physical_bundle.rbi +79 -0
  199. data/rbi/stripe/resources/issuing/token.rbi +226 -0
  200. data/rbi/stripe/resources/issuing/transaction.rbi +1061 -0
  201. data/rbi/stripe/resources/line_item.rbi +72 -0
  202. data/rbi/stripe/resources/login_link.rbi +19 -0
  203. data/rbi/stripe/resources/mandate.rbi +191 -0
  204. data/rbi/stripe/resources/payment_intent.rbi +9987 -0
  205. data/rbi/stripe/resources/payment_link.rbi +1801 -0
  206. data/rbi/stripe/resources/payment_method.rbi +1770 -0
  207. data/rbi/stripe/resources/payment_method_configuration.rbi +3550 -0
  208. data/rbi/stripe/resources/payment_method_domain.rbi +228 -0
  209. data/rbi/stripe/resources/payout.rbi +300 -0
  210. data/rbi/stripe/resources/person.rbi +401 -0
  211. data/rbi/stripe/resources/plan.rbi +371 -0
  212. data/rbi/stripe/resources/price.rbi +694 -0
  213. data/rbi/stripe/resources/product.rbi +555 -0
  214. data/rbi/stripe/resources/product_feature.rbi +26 -0
  215. data/rbi/stripe/resources/promotion_code.rbi +261 -0
  216. data/rbi/stripe/resources/quote.rbi +1145 -0
  217. data/rbi/stripe/resources/radar/early_fraud_warning.rbi +98 -0
  218. data/rbi/stripe/resources/radar/value_list.rbi +168 -0
  219. data/rbi/stripe/resources/radar/value_list_item.rbi +129 -0
  220. data/rbi/stripe/resources/refund.rbi +523 -0
  221. data/rbi/stripe/resources/reporting/report_run.rbi +191 -0
  222. data/rbi/stripe/resources/reporting/report_type.rbi +57 -0
  223. data/rbi/stripe/resources/reserve_transaction.rbi +23 -0
  224. data/rbi/stripe/resources/reversal.rbi +51 -0
  225. data/rbi/stripe/resources/review.rbi +154 -0
  226. data/rbi/stripe/resources/setup_attempt.rbi +477 -0
  227. data/rbi/stripe/resources/setup_intent.rbi +3978 -0
  228. data/rbi/stripe/resources/shipping_rate.rbi +305 -0
  229. data/rbi/stripe/resources/sigma/scheduled_query_run.rbi +75 -0
  230. data/rbi/stripe/resources/source.rbi +1496 -0
  231. data/rbi/stripe/resources/source_mandate_notification.rbi +77 -0
  232. data/rbi/stripe/resources/source_transaction.rbi +127 -0
  233. data/rbi/stripe/resources/subscription.rbi +2080 -0
  234. data/rbi/stripe/resources/subscription_item.rbi +404 -0
  235. data/rbi/stripe/resources/subscription_schedule.rbi +1645 -0
  236. data/rbi/stripe/resources/tax/calculation.rbi +478 -0
  237. data/rbi/stripe/resources/tax/calculation_line_item.rbi +91 -0
  238. data/rbi/stripe/resources/tax/registration.rbi +2732 -0
  239. data/rbi/stripe/resources/tax/settings.rbi +141 -0
  240. data/rbi/stripe/resources/tax/transaction.rbi +351 -0
  241. data/rbi/stripe/resources/tax/transaction_line_item.rbi +54 -0
  242. data/rbi/stripe/resources/tax_code.rbi +44 -0
  243. data/rbi/stripe/resources/tax_deducted_at_source.rbi +23 -0
  244. data/rbi/stripe/resources/tax_id.rbi +165 -0
  245. data/rbi/stripe/resources/tax_rate.rbi +239 -0
  246. data/rbi/stripe/resources/terminal/configuration.rbi +1387 -0
  247. data/rbi/stripe/resources/terminal/connection_token.rbi +37 -0
  248. data/rbi/stripe/resources/terminal/location.rbi +222 -0
  249. data/rbi/stripe/resources/terminal/reader.rbi +994 -0
  250. data/rbi/stripe/resources/test_helpers/test_clock.rbi +132 -0
  251. data/rbi/stripe/resources/token.rbi +1283 -0
  252. data/rbi/stripe/resources/topup.rbi +222 -0
  253. data/rbi/stripe/resources/transfer.rbi +199 -0
  254. data/rbi/stripe/resources/treasury/credit_reversal.rbi +119 -0
  255. data/rbi/stripe/resources/treasury/debit_reversal.rbi +131 -0
  256. data/rbi/stripe/resources/treasury/financial_account.rbi +869 -0
  257. data/rbi/stripe/resources/treasury/financial_account_features.rbi +260 -0
  258. data/rbi/stripe/resources/treasury/inbound_transfer.rbi +295 -0
  259. data/rbi/stripe/resources/treasury/outbound_payment.rbi +592 -0
  260. data/rbi/stripe/resources/treasury/outbound_transfer.rbi +431 -0
  261. data/rbi/stripe/resources/treasury/received_credit.rbi +302 -0
  262. data/rbi/stripe/resources/treasury/received_debit.rbi +256 -0
  263. data/rbi/stripe/resources/treasury/transaction.rbi +215 -0
  264. data/rbi/stripe/resources/treasury/transaction_entry.rbi +192 -0
  265. data/rbi/stripe/resources/v2/amount.rbi +14 -0
  266. data/rbi/stripe/resources/v2/billing/meter_event.rbi +37 -0
  267. data/rbi/stripe/resources/v2/billing/meter_event_adjustment.rbi +41 -0
  268. data/rbi/stripe/resources/v2/billing/meter_event_session.rbi +31 -0
  269. data/rbi/stripe/resources/v2/event.rbi +48 -0
  270. data/rbi/stripe/resources/v2/event_destination.rbi +91 -0
  271. data/rbi/stripe/resources/webhook_endpoint.rbi +168 -0
  272. data/rbi/stripe/services/account_capability_service.rbi +51 -0
  273. data/{lib/stripe/services/external_account_service.rb → rbi/stripe/services/account_external_account_service.rbi} +122 -135
  274. data/rbi/stripe/services/account_link_service.rbi +58 -0
  275. data/rbi/stripe/services/account_login_link_service.rbi +22 -0
  276. data/rbi/stripe/services/account_person_service.rbi +1011 -0
  277. data/rbi/stripe/services/account_service.rbi +4281 -0
  278. data/rbi/stripe/services/account_session_service.rbi +646 -0
  279. data/rbi/stripe/services/apple_pay_domain_service.rbi +76 -0
  280. data/rbi/stripe/services/application_fee_refund_service.rbi +93 -0
  281. data/rbi/stripe/services/application_fee_service.rbi +78 -0
  282. data/rbi/stripe/services/apps/secret_service.rbi +151 -0
  283. data/rbi/stripe/services/apps_service.rbi +9 -0
  284. data/rbi/stripe/services/balance_service.rbi +21 -0
  285. data/rbi/stripe/services/balance_transaction_service.rbi +93 -0
  286. data/rbi/stripe/services/billing/alert_service.rbi +152 -0
  287. data/rbi/stripe/services/billing/credit_balance_summary_service.rbi +68 -0
  288. data/rbi/stripe/services/billing/credit_balance_transaction_service.rbi +59 -0
  289. data/rbi/stripe/services/billing/credit_grant_service.rbi +211 -0
  290. data/rbi/stripe/services/billing/meter_event_adjustment_service.rbi +42 -0
  291. data/rbi/stripe/services/billing/meter_event_service.rbi +42 -0
  292. data/rbi/stripe/services/billing/meter_event_summary_service.rbi +54 -0
  293. data/rbi/stripe/services/billing/meter_service.rbi +163 -0
  294. data/rbi/stripe/services/billing_portal/configuration_service.rbi +511 -0
  295. data/rbi/stripe/services/billing_portal/session_service.rbi +204 -0
  296. data/rbi/stripe/services/billing_portal_service.rbi +10 -0
  297. data/rbi/stripe/services/billing_service.rbi +15 -0
  298. data/rbi/stripe/services/charge_service.rbi +448 -0
  299. data/rbi/stripe/services/checkout/session_line_item_service.rbi +33 -0
  300. data/rbi/stripe/services/checkout/session_service.rbi +2670 -0
  301. data/rbi/stripe/services/checkout_service.rbi +9 -0
  302. data/rbi/stripe/services/climate/order_service.rbi +142 -0
  303. data/rbi/stripe/services/climate/product_service.rbi +46 -0
  304. data/{lib/stripe/services/financial_connections/institution_service.rb → rbi/stripe/services/climate/supplier_service.rbi} +25 -36
  305. data/rbi/stripe/services/climate_service.rbi +11 -0
  306. data/rbi/stripe/services/confirmation_token_service.rbi +20 -0
  307. data/rbi/stripe/services/country_spec_service.rbi +44 -0
  308. data/rbi/stripe/services/coupon_service.rbi +194 -0
  309. data/{lib/stripe/services/quote_preview_invoice_service.rb → rbi/stripe/services/credit_note_line_item_service.rbi} +16 -20
  310. data/rbi/stripe/services/credit_note_preview_lines_service.rbi +167 -0
  311. data/rbi/stripe/services/credit_note_service.rbi +415 -0
  312. data/rbi/stripe/services/customer_balance_transaction_service.rbi +92 -0
  313. data/rbi/stripe/services/customer_cash_balance_service.rbi +45 -0
  314. data/rbi/stripe/services/customer_cash_balance_transaction_service.rbi +44 -0
  315. data/rbi/stripe/services/customer_funding_instructions_service.rbi +59 -0
  316. data/rbi/stripe/services/customer_payment_method_service.rbi +57 -0
  317. data/rbi/stripe/services/customer_payment_source_service.rbi +232 -0
  318. data/rbi/stripe/services/customer_service.rbi +647 -0
  319. data/rbi/stripe/services/customer_session_service.rbi +116 -0
  320. data/rbi/stripe/services/customer_tax_id_service.rbi +70 -0
  321. data/rbi/stripe/services/dispute_service.rbi +424 -0
  322. data/rbi/stripe/services/entitlements/active_entitlement_service.rbi +55 -0
  323. data/rbi/stripe/services/entitlements/feature_service.rbi +107 -0
  324. data/rbi/stripe/services/entitlements_service.rbi +10 -0
  325. data/rbi/stripe/services/ephemeral_key_service.rbi +53 -0
  326. data/rbi/stripe/services/event_service.rbi +83 -0
  327. data/rbi/stripe/services/exchange_rate_service.rbi +44 -0
  328. data/rbi/stripe/services/file_link_service.rbi +124 -0
  329. data/rbi/stripe/services/file_service.rbi +116 -0
  330. data/rbi/stripe/services/financial_connections/account_owner_service.rbi +42 -0
  331. data/rbi/stripe/services/financial_connections/account_service.rbi +133 -0
  332. data/rbi/stripe/services/financial_connections/session_service.rbi +88 -0
  333. data/rbi/stripe/services/financial_connections/transaction_service.rbi +92 -0
  334. data/rbi/stripe/services/financial_connections_service.rbi +11 -0
  335. data/rbi/stripe/services/forwarding/request_service.rbi +134 -0
  336. data/rbi/stripe/services/forwarding_service.rbi +9 -0
  337. data/rbi/stripe/services/identity/verification_report_service.rbi +87 -0
  338. data/rbi/stripe/services/identity/verification_session_service.rbi +339 -0
  339. data/rbi/stripe/services/identity_service.rbi +10 -0
  340. data/rbi/stripe/services/invoice_item_service.rbi +366 -0
  341. data/rbi/stripe/services/invoice_line_item_service.rbi +259 -0
  342. data/rbi/stripe/services/invoice_payment_service.rbi +71 -0
  343. data/rbi/stripe/services/invoice_rendering_template_service.rbi +82 -0
  344. data/rbi/stripe/services/invoice_service.rbi +3011 -0
  345. data/rbi/stripe/services/issuing/authorization_service.rbi +146 -0
  346. data/rbi/stripe/services/issuing/card_service.rbi +495 -0
  347. data/rbi/stripe/services/issuing/cardholder_service.rbi +587 -0
  348. data/rbi/stripe/services/issuing/dispute_service.rbi +707 -0
  349. data/rbi/stripe/services/issuing/personalization_design_service.rbi +243 -0
  350. data/rbi/stripe/services/issuing/physical_bundle_service.rbi +59 -0
  351. data/rbi/stripe/services/issuing/token_service.rbi +99 -0
  352. data/rbi/stripe/services/issuing/transaction_service.rbi +105 -0
  353. data/rbi/stripe/services/issuing_service.rbi +16 -0
  354. data/rbi/stripe/services/mandate_service.rbi +20 -0
  355. data/rbi/stripe/services/payment_intent_service.rbi +7989 -0
  356. data/{lib/stripe/services/payment_intent_amount_details_line_item_service.rb → rbi/stripe/services/payment_link_line_item_service.rbi} +16 -20
  357. data/rbi/stripe/services/payment_link_service.rbi +1352 -0
  358. data/rbi/stripe/services/payment_method_configuration_service.rbi +2487 -0
  359. data/rbi/stripe/services/payment_method_domain_service.rbi +112 -0
  360. data/rbi/stripe/services/payment_method_service.rbi +781 -0
  361. data/rbi/stripe/services/payout_service.rbi +205 -0
  362. data/rbi/stripe/services/plan_service.rbi +282 -0
  363. data/rbi/stripe/services/price_service.rbi +546 -0
  364. data/rbi/stripe/services/product_feature_service.rbi +67 -0
  365. data/rbi/stripe/services/product_service.rbi +477 -0
  366. data/rbi/stripe/services/promotion_code_service.rbi +214 -0
  367. data/rbi/stripe/services/quote_computed_upfront_line_items_service.rbi +31 -0
  368. data/{lib/stripe/services/order_line_item_service.rb → rbi/stripe/services/quote_line_item_service.rbi} +16 -20
  369. data/rbi/stripe/services/quote_service.rbi +699 -0
  370. data/rbi/stripe/services/radar/early_fraud_warning_service.rbi +85 -0
  371. data/rbi/stripe/services/radar/value_list_item_service.rbi +109 -0
  372. data/rbi/stripe/services/radar/value_list_service.rbi +141 -0
  373. data/rbi/stripe/services/radar_service.rbi +11 -0
  374. data/rbi/stripe/services/refund_service.rbi +185 -0
  375. data/rbi/stripe/services/reporting/report_run_service.rbi +135 -0
  376. data/rbi/stripe/services/reporting/report_type_service.rbi +35 -0
  377. data/rbi/stripe/services/reporting_service.rbi +10 -0
  378. data/rbi/stripe/services/review_service.rbi +84 -0
  379. data/rbi/stripe/services/setup_attempt_service.rbi +65 -0
  380. data/rbi/stripe/services/setup_intent_service.rbi +3709 -0
  381. data/rbi/stripe/services/shipping_rate_service.rbi +241 -0
  382. data/rbi/stripe/services/sigma/scheduled_query_run_service.rbi +46 -0
  383. data/rbi/stripe/services/sigma_service.rbi +9 -0
  384. data/rbi/stripe/services/source_service.rbi +663 -0
  385. data/{lib/stripe/services/quote_line_service.rb → rbi/stripe/services/source_transaction_service.rbi} +16 -20
  386. data/rbi/stripe/services/subscription_item_service.rbi +350 -0
  387. data/rbi/stripe/services/subscription_schedule_service.rbi +1301 -0
  388. data/rbi/stripe/services/subscription_service.rbi +1684 -0
  389. data/{lib/stripe/services/financial_connections/account_inferred_balance_service.rb → rbi/stripe/services/tax/calculation_line_item_service.rbi} +17 -21
  390. data/rbi/stripe/services/tax/calculation_service.rbi +234 -0
  391. data/rbi/stripe/services/tax/registration_service.rbi +1858 -0
  392. data/rbi/stripe/services/tax/settings_service.rbi +93 -0
  393. data/{lib/stripe/services/privacy/redaction_job_validation_error_service.rb → rbi/stripe/services/tax/transaction_line_item_service.rbi} +17 -21
  394. data/rbi/stripe/services/tax/transaction_service.rbi +146 -0
  395. data/rbi/stripe/services/tax_code_service.rbi +44 -0
  396. data/rbi/stripe/services/tax_id_service.rbi +110 -0
  397. data/rbi/stripe/services/tax_rate_service.rbi +185 -0
  398. data/rbi/stripe/services/tax_service.rbi +12 -0
  399. data/rbi/stripe/services/terminal/configuration_service.rbi +1118 -0
  400. data/rbi/stripe/services/terminal/connection_token_service.rbi +25 -0
  401. data/rbi/stripe/services/terminal/location_service.rbi +182 -0
  402. data/rbi/stripe/services/terminal/reader_service.rbi +540 -0
  403. data/rbi/stripe/services/terminal_service.rbi +12 -0
  404. data/rbi/stripe/services/test_helpers/confirmation_token_service.rbi +746 -0
  405. data/rbi/stripe/services/test_helpers/customer_service.rbi +33 -0
  406. data/rbi/stripe/services/test_helpers/issuing/authorization_service.rbi +848 -0
  407. data/rbi/stripe/services/test_helpers/issuing/card_service.rbi +76 -0
  408. data/rbi/stripe/services/test_helpers/issuing/personalization_design_service.rbi +69 -0
  409. data/rbi/stripe/services/test_helpers/issuing/transaction_service.rbi +711 -0
  410. data/rbi/stripe/services/test_helpers/issuing_service.rbi +14 -0
  411. data/rbi/stripe/services/test_helpers/refund_service.rbi +22 -0
  412. data/rbi/stripe/services/test_helpers/terminal/reader_service.rbi +93 -0
  413. data/rbi/stripe/services/test_helpers/terminal_service.rbi +11 -0
  414. data/rbi/stripe/services/test_helpers/test_clock_service.rbi +90 -0
  415. data/rbi/stripe/services/test_helpers/treasury/inbound_transfer_service.rbi +64 -0
  416. data/rbi/stripe/services/test_helpers/treasury/outbound_payment_service.rbi +125 -0
  417. data/rbi/stripe/services/test_helpers/treasury/outbound_transfer_service.rbi +125 -0
  418. data/rbi/stripe/services/test_helpers/treasury/received_credit_service.rbi +87 -0
  419. data/rbi/stripe/services/test_helpers/treasury/received_debit_service.rbi +87 -0
  420. data/rbi/stripe/services/test_helpers/treasury_service.rbi +15 -0
  421. data/rbi/stripe/services/test_helpers_service.rbi +15 -0
  422. data/rbi/stripe/services/token_service.rbi +1257 -0
  423. data/rbi/stripe/services/topup_service.rbi +176 -0
  424. data/rbi/stripe/services/transfer_reversal_service.rbi +101 -0
  425. data/rbi/stripe/services/transfer_service.rbi +152 -0
  426. data/rbi/stripe/services/treasury/credit_reversal_service.rbi +84 -0
  427. data/rbi/stripe/services/treasury/debit_reversal_service.rbi +88 -0
  428. data/rbi/stripe/services/treasury/financial_account_features_service.rbi +198 -0
  429. data/rbi/stripe/services/treasury/financial_account_service.rbi +566 -0
  430. data/rbi/stripe/services/treasury/inbound_transfer_service.rbi +117 -0
  431. data/rbi/stripe/services/treasury/outbound_payment_service.rbi +304 -0
  432. data/rbi/stripe/services/treasury/outbound_transfer_service.rbi +157 -0
  433. data/rbi/stripe/services/treasury/received_credit_service.rbi +72 -0
  434. data/rbi/stripe/services/treasury/received_debit_service.rbi +59 -0
  435. data/rbi/stripe/services/treasury/transaction_entry_service.rbi +111 -0
  436. data/rbi/stripe/services/treasury/transaction_service.rbi +122 -0
  437. data/rbi/stripe/services/treasury_service.rbi +18 -0
  438. data/rbi/stripe/services/v1_services.rbi +77 -0
  439. data/rbi/stripe/services/v2/billing/meter_event_adjustment_service.rbi +39 -0
  440. data/rbi/stripe/services/v2/billing/meter_event_service.rbi +42 -0
  441. data/rbi/stripe/services/v2/billing/meter_event_session_service.rbi +18 -0
  442. data/rbi/stripe/services/v2/billing/meter_event_stream_service.rbi +55 -0
  443. data/rbi/stripe/services/v2/billing_service.rbi +14 -0
  444. data/rbi/stripe/services/v2/core/event_destination_service.rbi +192 -0
  445. data/rbi/stripe/services/v2/core/event_service.rbi +36 -0
  446. data/rbi/stripe/services/v2/core_service.rbi +12 -0
  447. data/rbi/stripe/services/v2_services.rbi +10 -0
  448. data/rbi/stripe/services/webhook_endpoint_service.rbi +129 -0
  449. data/stripe.gemspec +1 -4
  450. metadata +326 -162
  451. data/lib/stripe/events/v2_core_account_closed_event.rb +0 -21
  452. data/lib/stripe/events/v2_core_account_created_event.rb +0 -21
  453. data/lib/stripe/events/v2_core_account_including_configuration_customer_capability_status_updated_event.rb +0 -23
  454. data/lib/stripe/events/v2_core_account_including_configuration_customer_updated_event.rb +0 -21
  455. data/lib/stripe/events/v2_core_account_including_configuration_merchant_capability_status_updated_event.rb +0 -23
  456. data/lib/stripe/events/v2_core_account_including_configuration_merchant_updated_event.rb +0 -21
  457. data/lib/stripe/events/v2_core_account_including_configuration_recipient_capability_status_updated_event.rb +0 -23
  458. data/lib/stripe/events/v2_core_account_including_configuration_recipient_updated_event.rb +0 -21
  459. data/lib/stripe/events/v2_core_account_including_defaults_updated_event.rb +0 -21
  460. data/lib/stripe/events/v2_core_account_including_identity_updated_event.rb +0 -21
  461. data/lib/stripe/events/v2_core_account_including_requirements_updated_event.rb +0 -21
  462. data/lib/stripe/events/v2_core_account_link_completed_event.rb +0 -13
  463. data/lib/stripe/events/v2_core_account_person_created_event.rb +0 -23
  464. data/lib/stripe/events/v2_core_account_person_deleted_event.rb +0 -23
  465. data/lib/stripe/events/v2_core_account_person_updated_event.rb +0 -23
  466. data/lib/stripe/events/v2_core_account_updated_event.rb +0 -21
  467. data/lib/stripe/events/v2_money_management_adjustment_created_event.rb +0 -21
  468. data/lib/stripe/events/v2_money_management_financial_account_created_event.rb +0 -21
  469. data/lib/stripe/events/v2_money_management_financial_account_updated_event.rb +0 -21
  470. data/lib/stripe/events/v2_money_management_financial_address_activated_event.rb +0 -21
  471. data/lib/stripe/events/v2_money_management_financial_address_failed_event.rb +0 -21
  472. data/lib/stripe/events/v2_money_management_inbound_transfer_available_event.rb +0 -23
  473. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_failed_event.rb +0 -21
  474. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_processing_event.rb +0 -21
  475. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_queued_event.rb +0 -21
  476. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_returned_event.rb +0 -21
  477. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_succeeded_event.rb +0 -21
  478. data/lib/stripe/events/v2_money_management_outbound_payment_canceled_event.rb +0 -21
  479. data/lib/stripe/events/v2_money_management_outbound_payment_created_event.rb +0 -21
  480. data/lib/stripe/events/v2_money_management_outbound_payment_failed_event.rb +0 -21
  481. data/lib/stripe/events/v2_money_management_outbound_payment_posted_event.rb +0 -21
  482. data/lib/stripe/events/v2_money_management_outbound_payment_returned_event.rb +0 -21
  483. data/lib/stripe/events/v2_money_management_outbound_payment_updated_event.rb +0 -21
  484. data/lib/stripe/events/v2_money_management_outbound_transfer_canceled_event.rb +0 -21
  485. data/lib/stripe/events/v2_money_management_outbound_transfer_created_event.rb +0 -21
  486. data/lib/stripe/events/v2_money_management_outbound_transfer_failed_event.rb +0 -21
  487. data/lib/stripe/events/v2_money_management_outbound_transfer_posted_event.rb +0 -21
  488. data/lib/stripe/events/v2_money_management_outbound_transfer_returned_event.rb +0 -21
  489. data/lib/stripe/events/v2_money_management_outbound_transfer_updated_event.rb +0 -21
  490. data/lib/stripe/events/v2_money_management_received_credit_available_event.rb +0 -23
  491. data/lib/stripe/events/v2_money_management_received_credit_failed_event.rb +0 -21
  492. data/lib/stripe/events/v2_money_management_received_credit_returned_event.rb +0 -21
  493. data/lib/stripe/events/v2_money_management_received_credit_succeeded_event.rb +0 -21
  494. data/lib/stripe/events/v2_money_management_received_debit_canceled_event.rb +0 -21
  495. data/lib/stripe/events/v2_money_management_received_debit_failed_event.rb +0 -21
  496. data/lib/stripe/events/v2_money_management_received_debit_pending_event.rb +0 -21
  497. data/lib/stripe/events/v2_money_management_received_debit_succeeded_event.rb +0 -21
  498. data/lib/stripe/events/v2_money_management_received_debit_updated_event.rb +0 -21
  499. data/lib/stripe/events/v2_money_management_transaction_created_event.rb +0 -21
  500. data/lib/stripe/events/v2_money_management_transaction_updated_event.rb +0 -21
  501. data/lib/stripe/events/v2_off_session_payment_requires_capture_event.rb +0 -21
  502. data/lib/stripe/events/v2_payments_off_session_payment_authorization_attempt_failed_event.rb +0 -21
  503. data/lib/stripe/events/v2_payments_off_session_payment_authorization_attempt_started_event.rb +0 -21
  504. data/lib/stripe/events/v2_payments_off_session_payment_canceled_event.rb +0 -21
  505. data/lib/stripe/events/v2_payments_off_session_payment_created_event.rb +0 -21
  506. data/lib/stripe/events/v2_payments_off_session_payment_failed_event.rb +0 -21
  507. data/lib/stripe/events/v2_payments_off_session_payment_succeeded_event.rb +0 -21
  508. data/lib/stripe/resources/account_notice.rb +0 -123
  509. data/lib/stripe/resources/balance_settings.rb +0 -105
  510. data/lib/stripe/resources/capital/financing_offer.rb +0 -179
  511. data/lib/stripe/resources/capital/financing_summary.rb +0 -55
  512. data/lib/stripe/resources/capital/financing_transaction.rb +0 -114
  513. data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +0 -27
  514. data/lib/stripe/resources/financial_connections/institution.rb +0 -92
  515. data/lib/stripe/resources/fx_quote.rb +0 -184
  516. data/lib/stripe/resources/issuing/credit_underwriting_record.rb +0 -602
  517. data/lib/stripe/resources/issuing/dispute_settlement_detail.rb +0 -82
  518. data/lib/stripe/resources/issuing/fraud_liability_debit.rb +0 -86
  519. data/lib/stripe/resources/issuing/settlement.rb +0 -53
  520. data/lib/stripe/resources/margin.rb +0 -115
  521. data/lib/stripe/resources/order.rb +0 -2806
  522. data/lib/stripe/resources/payment_attempt_record.rb +0 -1086
  523. data/lib/stripe/resources/payment_intent_amount_details_line_item.rb +0 -72
  524. data/lib/stripe/resources/payment_record.rb +0 -1615
  525. data/lib/stripe/resources/privacy/redaction_job.rb +0 -298
  526. data/lib/stripe/resources/privacy/redaction_job_validation_error.rb +0 -33
  527. data/lib/stripe/resources/quote_line.rb +0 -274
  528. data/lib/stripe/resources/quote_preview_invoice.rb +0 -663
  529. data/lib/stripe/resources/quote_preview_subscription_schedule.rb +0 -364
  530. data/lib/stripe/resources/tax/association.rb +0 -66
  531. data/lib/stripe/resources/tax/form.rb +0 -211
  532. data/lib/stripe/resources/terminal/reader_collected_data.rb +0 -31
  533. data/lib/stripe/resources/v2/core/account.rb +0 -1746
  534. data/lib/stripe/resources/v2/core/account_link.rb +0 -56
  535. data/lib/stripe/resources/v2/core/person.rb +0 -276
  536. data/lib/stripe/resources/v2/core/vault/gb_bank_account.rb +0 -74
  537. data/lib/stripe/resources/v2/core/vault/us_bank_account.rb +0 -39
  538. data/lib/stripe/resources/v2/financial_address_credit_simulation.rb +0 -20
  539. data/lib/stripe/resources/v2/financial_address_generated_microdeposits.rb +0 -22
  540. data/lib/stripe/resources/v2/money_management/adjustment.rb +0 -51
  541. data/lib/stripe/resources/v2/money_management/financial_account.rb +0 -58
  542. data/lib/stripe/resources/v2/money_management/financial_address.rb +0 -68
  543. data/lib/stripe/resources/v2/money_management/inbound_transfer.rb +0 -94
  544. data/lib/stripe/resources/v2/money_management/outbound_payment.rb +0 -129
  545. data/lib/stripe/resources/v2/money_management/outbound_payment_quote.rb +0 -82
  546. data/lib/stripe/resources/v2/money_management/outbound_setup_intent.rb +0 -45
  547. data/lib/stripe/resources/v2/money_management/outbound_transfer.rb +0 -117
  548. data/lib/stripe/resources/v2/money_management/payout_method.rb +0 -75
  549. data/lib/stripe/resources/v2/money_management/payout_methods_bank_account_spec.rb +0 -49
  550. data/lib/stripe/resources/v2/money_management/received_credit.rb +0 -116
  551. data/lib/stripe/resources/v2/money_management/received_debit.rb +0 -84
  552. data/lib/stripe/resources/v2/money_management/transaction.rb +0 -78
  553. data/lib/stripe/resources/v2/money_management/transaction_entry.rb +0 -68
  554. data/lib/stripe/resources/v2/payments/off_session_payment.rb +0 -74
  555. data/lib/stripe/services/account_notice_service.rb +0 -101
  556. data/lib/stripe/services/balance_settings_service.rb +0 -96
  557. data/lib/stripe/services/capital/financing_offer_service.rb +0 -112
  558. data/lib/stripe/services/capital/financing_summary_service.rb +0 -28
  559. data/lib/stripe/services/capital/financing_transaction_service.rb +0 -79
  560. data/lib/stripe/services/capital_service.rb +0 -15
  561. data/lib/stripe/services/fx_quote_service.rb +0 -123
  562. data/lib/stripe/services/issuing/credit_underwriting_record_service.rb +0 -504
  563. data/lib/stripe/services/issuing/dispute_settlement_detail_service.rb +0 -66
  564. data/lib/stripe/services/issuing/fraud_liability_debit_service.rb +0 -83
  565. data/lib/stripe/services/margin_service.rb +0 -119
  566. data/lib/stripe/services/order_service.rb +0 -2236
  567. data/lib/stripe/services/payment_attempt_record_service.rb +0 -49
  568. data/lib/stripe/services/payment_record_service.rb +0 -542
  569. data/lib/stripe/services/privacy/redaction_job_service.rb +0 -240
  570. data/lib/stripe/services/privacy_service.rb +0 -13
  571. data/lib/stripe/services/quote_preview_subscription_schedule_service.rb +0 -35
  572. data/lib/stripe/services/tax/association_service.rb +0 -31
  573. data/lib/stripe/services/tax/form_service.rb +0 -100
  574. data/lib/stripe/services/terminal/reader_collected_data_service.rb +0 -28
  575. data/lib/stripe/services/v2/core/account_link_service.rb +0 -76
  576. data/lib/stripe/services/v2/core/account_service.rb +0 -4138
  577. data/lib/stripe/services/v2/core/accounts/person_service.rb +0 -1046
  578. data/lib/stripe/services/v2/core/vault/gb_bank_account_service.rb +0 -131
  579. data/lib/stripe/services/v2/core/vault/us_bank_account_service.rb +0 -107
  580. data/lib/stripe/services/v2/core/vault_service.rb +0 -18
  581. data/lib/stripe/services/v2/money_management/adjustment_service.rb +0 -74
  582. data/lib/stripe/services/v2/money_management/financial_account_service.rb +0 -43
  583. data/lib/stripe/services/v2/money_management/financial_address_service.rb +0 -81
  584. data/lib/stripe/services/v2/money_management/inbound_transfer_service.rb +0 -125
  585. data/lib/stripe/services/v2/money_management/outbound_payment_quote_service.rb +0 -95
  586. data/lib/stripe/services/v2/money_management/outbound_payment_service.rb +0 -200
  587. data/lib/stripe/services/v2/money_management/outbound_setup_intent_service.rb +0 -235
  588. data/lib/stripe/services/v2/money_management/outbound_transfer_service.rb +0 -172
  589. data/lib/stripe/services/v2/money_management/payout_method_service.rb +0 -91
  590. data/lib/stripe/services/v2/money_management/payout_methods_bank_account_spec_service.rb +0 -32
  591. data/lib/stripe/services/v2/money_management/received_credit_service.rb +0 -70
  592. data/lib/stripe/services/v2/money_management/received_debit_service.rb +0 -43
  593. data/lib/stripe/services/v2/money_management/transaction_entry_service.rb +0 -69
  594. data/lib/stripe/services/v2/money_management/transaction_service.rb +0 -73
  595. data/lib/stripe/services/v2/money_management_service.rb +0 -31
  596. data/lib/stripe/services/v2/payment_service.rb +0 -15
  597. data/lib/stripe/services/v2/payments/off_session_payment_service.rb +0 -138
  598. data/lib/stripe/services/v2/test_helper_service.rb +0 -15
  599. data/lib/stripe/services/v2/test_helpers/financial_address_service.rb +0 -49
  600. data/rbi/stripe.rbi +0 -191639
@@ -0,0 +1,1145 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ # typed: true
5
+ module Stripe
6
+ # A Quote is a way to model prices that you'd like to provide to a customer.
7
+ # Once accepted, it will automatically create an invoice, subscription or subscription schedule.
8
+ class Quote < APIResource
9
+ class AutomaticTax < Stripe::StripeObject
10
+ class Liability < Stripe::StripeObject
11
+ # The connected account being referenced when `type` is `account`.
12
+ sig { returns(T.any(String, Stripe::Account)) }
13
+ attr_reader :account
14
+ # Type of the account referenced.
15
+ sig { returns(String) }
16
+ attr_reader :type
17
+ end
18
+ # Automatically calculate taxes
19
+ sig { returns(T::Boolean) }
20
+ attr_reader :enabled
21
+ # The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account.
22
+ sig { returns(T.nilable(Liability)) }
23
+ attr_reader :liability
24
+ # The tax provider powering automatic tax.
25
+ sig { returns(T.nilable(String)) }
26
+ attr_reader :provider
27
+ # The status of the most recent automated tax calculation for this quote.
28
+ sig { returns(T.nilable(String)) }
29
+ attr_reader :status
30
+ end
31
+ class Computed < Stripe::StripeObject
32
+ class Recurring < Stripe::StripeObject
33
+ class TotalDetails < Stripe::StripeObject
34
+ class Breakdown < Stripe::StripeObject
35
+ class Discount < Stripe::StripeObject
36
+ # The amount discounted.
37
+ sig { returns(Integer) }
38
+ attr_reader :amount
39
+ # A discount represents the actual application of a [coupon](https://stripe.com/docs/api#coupons) or [promotion code](https://stripe.com/docs/api#promotion_codes).
40
+ # It contains information about when the discount began, when it will end, and what it is applied to.
41
+ #
42
+ # Related guide: [Applying discounts to subscriptions](https://stripe.com/docs/billing/subscriptions/discounts)
43
+ sig { returns(Stripe::Discount) }
44
+ attr_reader :discount
45
+ end
46
+ class Tax < Stripe::StripeObject
47
+ # Amount of tax applied for this rate.
48
+ sig { returns(Integer) }
49
+ attr_reader :amount
50
+ # Tax rates can be applied to [invoices](/invoicing/taxes/tax-rates), [subscriptions](/billing/taxes/tax-rates) and [Checkout Sessions](/payments/checkout/use-manual-tax-rates) to collect tax.
51
+ #
52
+ # Related guide: [Tax rates](/billing/taxes/tax-rates)
53
+ sig { returns(Stripe::TaxRate) }
54
+ attr_reader :rate
55
+ # The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported.
56
+ sig { returns(T.nilable(String)) }
57
+ attr_reader :taxability_reason
58
+ # The amount on which tax is calculated, in cents (or local equivalent).
59
+ sig { returns(T.nilable(Integer)) }
60
+ attr_reader :taxable_amount
61
+ end
62
+ # The aggregated discounts.
63
+ sig { returns(T::Array[Discount]) }
64
+ attr_reader :discounts
65
+ # The aggregated tax amounts by rate.
66
+ sig { returns(T::Array[Tax]) }
67
+ attr_reader :taxes
68
+ end
69
+ # This is the sum of all the discounts.
70
+ sig { returns(Integer) }
71
+ attr_reader :amount_discount
72
+ # This is the sum of all the shipping amounts.
73
+ sig { returns(T.nilable(Integer)) }
74
+ attr_reader :amount_shipping
75
+ # This is the sum of all the tax amounts.
76
+ sig { returns(Integer) }
77
+ attr_reader :amount_tax
78
+ # Attribute for field breakdown
79
+ sig { returns(Breakdown) }
80
+ attr_reader :breakdown
81
+ end
82
+ # Total before any discounts or taxes are applied.
83
+ sig { returns(Integer) }
84
+ attr_reader :amount_subtotal
85
+ # Total after discounts and taxes are applied.
86
+ sig { returns(Integer) }
87
+ attr_reader :amount_total
88
+ # The frequency at which a subscription is billed. One of `day`, `week`, `month` or `year`.
89
+ sig { returns(String) }
90
+ attr_reader :interval
91
+ # The number of intervals (specified in the `interval` attribute) between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months.
92
+ sig { returns(Integer) }
93
+ attr_reader :interval_count
94
+ # Attribute for field total_details
95
+ sig { returns(TotalDetails) }
96
+ attr_reader :total_details
97
+ end
98
+ class Upfront < Stripe::StripeObject
99
+ class TotalDetails < Stripe::StripeObject
100
+ class Breakdown < Stripe::StripeObject
101
+ class Discount < Stripe::StripeObject
102
+ # The amount discounted.
103
+ sig { returns(Integer) }
104
+ attr_reader :amount
105
+ # A discount represents the actual application of a [coupon](https://stripe.com/docs/api#coupons) or [promotion code](https://stripe.com/docs/api#promotion_codes).
106
+ # It contains information about when the discount began, when it will end, and what it is applied to.
107
+ #
108
+ # Related guide: [Applying discounts to subscriptions](https://stripe.com/docs/billing/subscriptions/discounts)
109
+ sig { returns(Stripe::Discount) }
110
+ attr_reader :discount
111
+ end
112
+ class Tax < Stripe::StripeObject
113
+ # Amount of tax applied for this rate.
114
+ sig { returns(Integer) }
115
+ attr_reader :amount
116
+ # Tax rates can be applied to [invoices](/invoicing/taxes/tax-rates), [subscriptions](/billing/taxes/tax-rates) and [Checkout Sessions](/payments/checkout/use-manual-tax-rates) to collect tax.
117
+ #
118
+ # Related guide: [Tax rates](/billing/taxes/tax-rates)
119
+ sig { returns(Stripe::TaxRate) }
120
+ attr_reader :rate
121
+ # The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported.
122
+ sig { returns(T.nilable(String)) }
123
+ attr_reader :taxability_reason
124
+ # The amount on which tax is calculated, in cents (or local equivalent).
125
+ sig { returns(T.nilable(Integer)) }
126
+ attr_reader :taxable_amount
127
+ end
128
+ # The aggregated discounts.
129
+ sig { returns(T::Array[Discount]) }
130
+ attr_reader :discounts
131
+ # The aggregated tax amounts by rate.
132
+ sig { returns(T::Array[Tax]) }
133
+ attr_reader :taxes
134
+ end
135
+ # This is the sum of all the discounts.
136
+ sig { returns(Integer) }
137
+ attr_reader :amount_discount
138
+ # This is the sum of all the shipping amounts.
139
+ sig { returns(T.nilable(Integer)) }
140
+ attr_reader :amount_shipping
141
+ # This is the sum of all the tax amounts.
142
+ sig { returns(Integer) }
143
+ attr_reader :amount_tax
144
+ # Attribute for field breakdown
145
+ sig { returns(Breakdown) }
146
+ attr_reader :breakdown
147
+ end
148
+ # Total before any discounts or taxes are applied.
149
+ sig { returns(Integer) }
150
+ attr_reader :amount_subtotal
151
+ # Total after discounts and taxes are applied.
152
+ sig { returns(Integer) }
153
+ attr_reader :amount_total
154
+ # The line items that will appear on the next invoice after this quote is accepted. This does not include pending invoice items that exist on the customer but may still be included in the next invoice.
155
+ sig { returns(Stripe::ListObject) }
156
+ attr_reader :line_items
157
+ # Attribute for field total_details
158
+ sig { returns(TotalDetails) }
159
+ attr_reader :total_details
160
+ end
161
+ # The definitive totals and line items the customer will be charged on a recurring basis. Takes into account the line items with recurring prices and discounts with `duration=forever` coupons only. Defaults to `null` if no inputted line items with recurring prices.
162
+ sig { returns(T.nilable(Recurring)) }
163
+ attr_reader :recurring
164
+ # Attribute for field upfront
165
+ sig { returns(Upfront) }
166
+ attr_reader :upfront
167
+ end
168
+ class FromQuote < Stripe::StripeObject
169
+ # Whether this quote is a revision of a different quote.
170
+ sig { returns(T::Boolean) }
171
+ attr_reader :is_revision
172
+ # The quote that was cloned.
173
+ sig { returns(T.any(String, Stripe::Quote)) }
174
+ attr_reader :quote
175
+ end
176
+ class InvoiceSettings < Stripe::StripeObject
177
+ class Issuer < Stripe::StripeObject
178
+ # The connected account being referenced when `type` is `account`.
179
+ sig { returns(T.any(String, Stripe::Account)) }
180
+ attr_reader :account
181
+ # Type of the account referenced.
182
+ sig { returns(String) }
183
+ attr_reader :type
184
+ end
185
+ # Number of days within which a customer must pay invoices generated by this quote. This value will be `null` for quotes where `collection_method=charge_automatically`.
186
+ sig { returns(T.nilable(Integer)) }
187
+ attr_reader :days_until_due
188
+ # Attribute for field issuer
189
+ sig { returns(Issuer) }
190
+ attr_reader :issuer
191
+ end
192
+ class StatusTransitions < Stripe::StripeObject
193
+ # The time that the quote was accepted. Measured in seconds since Unix epoch.
194
+ sig { returns(T.nilable(Integer)) }
195
+ attr_reader :accepted_at
196
+ # The time that the quote was canceled. Measured in seconds since Unix epoch.
197
+ sig { returns(T.nilable(Integer)) }
198
+ attr_reader :canceled_at
199
+ # The time that the quote was finalized. Measured in seconds since Unix epoch.
200
+ sig { returns(T.nilable(Integer)) }
201
+ attr_reader :finalized_at
202
+ end
203
+ class SubscriptionData < Stripe::StripeObject
204
+ class BillingMode < Stripe::StripeObject
205
+ # Controls how prorations and invoices for subscriptions are calculated and orchestrated.
206
+ sig { returns(String) }
207
+ attr_reader :type
208
+ end
209
+ # The billing mode of the quote.
210
+ sig { returns(BillingMode) }
211
+ attr_reader :billing_mode
212
+ # The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs.
213
+ sig { returns(T.nilable(String)) }
214
+ attr_reader :description
215
+ # When creating a new subscription, the date of which the subscription schedule will start after the quote is accepted. This date is ignored if it is in the past when the quote is accepted. Measured in seconds since the Unix epoch.
216
+ sig { returns(T.nilable(Integer)) }
217
+ attr_reader :effective_date
218
+ # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that will set metadata on the subscription or subscription schedule when the quote is accepted. If a recurring price is included in `line_items`, this field will be passed to the resulting subscription's `metadata` field. If `subscription_data.effective_date` is used, this field will be passed to the resulting subscription schedule's `phases.metadata` field. Unlike object-level metadata, this field is declarative. Updates will clear prior values.
219
+ sig { returns(T.nilable(T::Hash[String, String])) }
220
+ attr_reader :metadata
221
+ # Integer representing the number of trial period days before the customer is charged for the first time.
222
+ sig { returns(T.nilable(Integer)) }
223
+ attr_reader :trial_period_days
224
+ end
225
+ class TotalDetails < Stripe::StripeObject
226
+ class Breakdown < Stripe::StripeObject
227
+ class Discount < Stripe::StripeObject
228
+ # The amount discounted.
229
+ sig { returns(Integer) }
230
+ attr_reader :amount
231
+ # A discount represents the actual application of a [coupon](https://stripe.com/docs/api#coupons) or [promotion code](https://stripe.com/docs/api#promotion_codes).
232
+ # It contains information about when the discount began, when it will end, and what it is applied to.
233
+ #
234
+ # Related guide: [Applying discounts to subscriptions](https://stripe.com/docs/billing/subscriptions/discounts)
235
+ sig { returns(Stripe::Discount) }
236
+ attr_reader :discount
237
+ end
238
+ class Tax < Stripe::StripeObject
239
+ # Amount of tax applied for this rate.
240
+ sig { returns(Integer) }
241
+ attr_reader :amount
242
+ # Tax rates can be applied to [invoices](/invoicing/taxes/tax-rates), [subscriptions](/billing/taxes/tax-rates) and [Checkout Sessions](/payments/checkout/use-manual-tax-rates) to collect tax.
243
+ #
244
+ # Related guide: [Tax rates](/billing/taxes/tax-rates)
245
+ sig { returns(Stripe::TaxRate) }
246
+ attr_reader :rate
247
+ # The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported.
248
+ sig { returns(T.nilable(String)) }
249
+ attr_reader :taxability_reason
250
+ # The amount on which tax is calculated, in cents (or local equivalent).
251
+ sig { returns(T.nilable(Integer)) }
252
+ attr_reader :taxable_amount
253
+ end
254
+ # The aggregated discounts.
255
+ sig { returns(T::Array[Discount]) }
256
+ attr_reader :discounts
257
+ # The aggregated tax amounts by rate.
258
+ sig { returns(T::Array[Tax]) }
259
+ attr_reader :taxes
260
+ end
261
+ # This is the sum of all the discounts.
262
+ sig { returns(Integer) }
263
+ attr_reader :amount_discount
264
+ # This is the sum of all the shipping amounts.
265
+ sig { returns(T.nilable(Integer)) }
266
+ attr_reader :amount_shipping
267
+ # This is the sum of all the tax amounts.
268
+ sig { returns(Integer) }
269
+ attr_reader :amount_tax
270
+ # Attribute for field breakdown
271
+ sig { returns(Breakdown) }
272
+ attr_reader :breakdown
273
+ end
274
+ class TransferData < Stripe::StripeObject
275
+ # The amount in cents (or local equivalent) that will be transferred to the destination account when the invoice is paid. By default, the entire amount is transferred to the destination.
276
+ sig { returns(T.nilable(Integer)) }
277
+ attr_reader :amount
278
+ # A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount will be transferred to the destination.
279
+ sig { returns(T.nilable(Float)) }
280
+ attr_reader :amount_percent
281
+ # The account where funds from the payment will be transferred to upon payment success.
282
+ sig { returns(T.any(String, Stripe::Account)) }
283
+ attr_reader :destination
284
+ end
285
+ # Total before any discounts or taxes are applied.
286
+ sig { returns(Integer) }
287
+ attr_reader :amount_subtotal
288
+ # Total after discounts and taxes are applied.
289
+ sig { returns(Integer) }
290
+ attr_reader :amount_total
291
+ # ID of the Connect Application that created the quote.
292
+ sig { returns(T.nilable(T.any(String, Stripe::Application))) }
293
+ attr_reader :application
294
+ # 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. Only applicable if there are no line items with recurring prices on the quote.
295
+ sig { returns(T.nilable(Integer)) }
296
+ attr_reader :application_fee_amount
297
+ # A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. Only applicable if there are line items with recurring prices on the quote.
298
+ sig { returns(T.nilable(Float)) }
299
+ attr_reader :application_fee_percent
300
+ # Attribute for field automatic_tax
301
+ sig { returns(AutomaticTax) }
302
+ attr_reader :automatic_tax
303
+ # Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay invoices at the end of the subscription cycle or on finalization using the default payment method attached to the subscription or customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`.
304
+ sig { returns(String) }
305
+ attr_reader :collection_method
306
+ # Attribute for field computed
307
+ sig { returns(Computed) }
308
+ attr_reader :computed
309
+ # Time at which the object was created. Measured in seconds since the Unix epoch.
310
+ sig { returns(Integer) }
311
+ attr_reader :created
312
+ # 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).
313
+ sig { returns(T.nilable(String)) }
314
+ attr_reader :currency
315
+ # The customer which this quote belongs to. A customer is required before finalizing the quote. Once specified, it cannot be changed.
316
+ sig { returns(T.nilable(T.any(String, Stripe::Customer))) }
317
+ attr_reader :customer
318
+ # The tax rates applied to this quote.
319
+ sig { returns(T::Array[T.any(String, Stripe::TaxRate)]) }
320
+ attr_reader :default_tax_rates
321
+ # A description that will be displayed on the quote PDF.
322
+ sig { returns(T.nilable(String)) }
323
+ attr_reader :description
324
+ # The discounts applied to this quote.
325
+ sig { returns(T::Array[T.any(String, Stripe::Discount)]) }
326
+ attr_reader :discounts
327
+ # The date on which the quote will be canceled if in `open` or `draft` status. Measured in seconds since the Unix epoch.
328
+ sig { returns(Integer) }
329
+ attr_reader :expires_at
330
+ # A footer that will be displayed on the quote PDF.
331
+ sig { returns(T.nilable(String)) }
332
+ attr_reader :footer
333
+ # Details of the quote that was cloned. See the [cloning documentation](https://stripe.com/docs/quotes/clone) for more details.
334
+ sig { returns(T.nilable(FromQuote)) }
335
+ attr_reader :from_quote
336
+ # A header that will be displayed on the quote PDF.
337
+ sig { returns(T.nilable(String)) }
338
+ attr_reader :header
339
+ # Unique identifier for the object.
340
+ sig { returns(String) }
341
+ attr_reader :id
342
+ # The invoice that was created from this quote.
343
+ sig { returns(T.nilable(T.any(String, Stripe::Invoice))) }
344
+ attr_reader :invoice
345
+ # Attribute for field invoice_settings
346
+ sig { returns(InvoiceSettings) }
347
+ attr_reader :invoice_settings
348
+ # A list of items the customer is being quoted for.
349
+ sig { returns(Stripe::ListObject) }
350
+ attr_reader :line_items
351
+ # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
352
+ sig { returns(T::Boolean) }
353
+ attr_reader :livemode
354
+ # 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.
355
+ sig { returns(T::Hash[String, String]) }
356
+ attr_reader :metadata
357
+ # A unique number that identifies this particular quote. This number is assigned once the quote is [finalized](https://stripe.com/docs/quotes/overview#finalize).
358
+ sig { returns(T.nilable(String)) }
359
+ attr_reader :number
360
+ # String representing the object's type. Objects of the same type share the same value.
361
+ sig { returns(String) }
362
+ attr_reader :object
363
+ # The account on behalf of which to charge. See the [Connect documentation](https://support.stripe.com/questions/sending-invoices-on-behalf-of-connected-accounts) for details.
364
+ sig { returns(T.nilable(T.any(String, Stripe::Account))) }
365
+ attr_reader :on_behalf_of
366
+ # The status of the quote.
367
+ sig { returns(String) }
368
+ attr_reader :status
369
+ # Attribute for field status_transitions
370
+ sig { returns(StatusTransitions) }
371
+ attr_reader :status_transitions
372
+ # The subscription that was created or updated from this quote.
373
+ sig { returns(T.nilable(T.any(String, Stripe::Subscription))) }
374
+ attr_reader :subscription
375
+ # Attribute for field subscription_data
376
+ sig { returns(SubscriptionData) }
377
+ attr_reader :subscription_data
378
+ # The subscription schedule that was created or updated from this quote.
379
+ sig { returns(T.nilable(T.any(String, Stripe::SubscriptionSchedule))) }
380
+ attr_reader :subscription_schedule
381
+ # ID of the test clock this quote belongs to.
382
+ sig { returns(T.nilable(T.any(String, Stripe::TestHelpers::TestClock))) }
383
+ attr_reader :test_clock
384
+ # Attribute for field total_details
385
+ sig { returns(TotalDetails) }
386
+ attr_reader :total_details
387
+ # The account (if any) the payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the invoices.
388
+ sig { returns(T.nilable(TransferData)) }
389
+ attr_reader :transfer_data
390
+ class ListParams < Stripe::RequestParams
391
+ # The ID of the customer whose quotes will be retrieved.
392
+ sig { returns(T.nilable(String)) }
393
+ attr_accessor :customer
394
+ # 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.
395
+ sig { returns(T.nilable(String)) }
396
+ attr_accessor :ending_before
397
+ # Specifies which fields in the response should be expanded.
398
+ sig { returns(T.nilable(T::Array[String])) }
399
+ attr_accessor :expand
400
+ # A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
401
+ sig { returns(T.nilable(Integer)) }
402
+ attr_accessor :limit
403
+ # 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.
404
+ sig { returns(T.nilable(String)) }
405
+ attr_accessor :starting_after
406
+ # The status of the quote.
407
+ sig { returns(T.nilable(String)) }
408
+ attr_accessor :status
409
+ # Provides a list of quotes that are associated with the specified test clock. The response will not include quotes with test clocks if this and the customer parameter is not set.
410
+ sig { returns(T.nilable(String)) }
411
+ attr_accessor :test_clock
412
+ sig {
413
+ params(customer: T.nilable(String), ending_before: T.nilable(String), expand: T.nilable(T::Array[String]), limit: T.nilable(Integer), starting_after: T.nilable(String), status: T.nilable(String), test_clock: T.nilable(String)).void
414
+ }
415
+ def initialize(
416
+ customer: nil,
417
+ ending_before: nil,
418
+ expand: nil,
419
+ limit: nil,
420
+ starting_after: nil,
421
+ status: nil,
422
+ test_clock: nil
423
+ ); end
424
+ end
425
+ class CreateParams < Stripe::RequestParams
426
+ class AutomaticTax < Stripe::RequestParams
427
+ class Liability < Stripe::RequestParams
428
+ # The connected account being referenced when `type` is `account`.
429
+ sig { returns(T.nilable(String)) }
430
+ attr_accessor :account
431
+ # Type of the account referenced in the request.
432
+ sig { returns(String) }
433
+ attr_accessor :type
434
+ sig { params(account: T.nilable(String), type: String).void }
435
+ def initialize(account: nil, type: nil); end
436
+ end
437
+ # Controls whether Stripe will automatically compute tax on the resulting invoices or subscriptions as well as the quote itself.
438
+ sig { returns(T::Boolean) }
439
+ attr_accessor :enabled
440
+ # The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account.
441
+ sig { returns(T.nilable(::Stripe::Quote::CreateParams::AutomaticTax::Liability)) }
442
+ attr_accessor :liability
443
+ sig {
444
+ params(enabled: T::Boolean, liability: T.nilable(::Stripe::Quote::CreateParams::AutomaticTax::Liability)).void
445
+ }
446
+ def initialize(enabled: nil, liability: nil); end
447
+ end
448
+ class Discount < Stripe::RequestParams
449
+ # ID of the coupon to create a new discount for.
450
+ sig { returns(T.nilable(String)) }
451
+ attr_accessor :coupon
452
+ # ID of an existing discount on the object (or one of its ancestors) to reuse.
453
+ sig { returns(T.nilable(String)) }
454
+ attr_accessor :discount
455
+ # ID of the promotion code to create a new discount for.
456
+ sig { returns(T.nilable(String)) }
457
+ attr_accessor :promotion_code
458
+ sig {
459
+ params(coupon: T.nilable(String), discount: T.nilable(String), promotion_code: T.nilable(String)).void
460
+ }
461
+ def initialize(coupon: nil, discount: nil, promotion_code: nil); end
462
+ end
463
+ class FromQuote < Stripe::RequestParams
464
+ # Whether this quote is a revision of the previous quote.
465
+ sig { returns(T.nilable(T::Boolean)) }
466
+ attr_accessor :is_revision
467
+ # The `id` of the quote that will be cloned.
468
+ sig { returns(String) }
469
+ attr_accessor :quote
470
+ sig { params(is_revision: T.nilable(T::Boolean), quote: String).void }
471
+ def initialize(is_revision: nil, quote: nil); end
472
+ end
473
+ class InvoiceSettings < Stripe::RequestParams
474
+ class Issuer < Stripe::RequestParams
475
+ # The connected account being referenced when `type` is `account`.
476
+ sig { returns(T.nilable(String)) }
477
+ attr_accessor :account
478
+ # Type of the account referenced in the request.
479
+ sig { returns(String) }
480
+ attr_accessor :type
481
+ sig { params(account: T.nilable(String), type: String).void }
482
+ def initialize(account: nil, type: nil); end
483
+ end
484
+ # Number of days within which a customer must pay the invoice generated by this quote. This value will be `null` for quotes where `collection_method=charge_automatically`.
485
+ sig { returns(T.nilable(Integer)) }
486
+ attr_accessor :days_until_due
487
+ # The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.
488
+ sig { returns(T.nilable(::Stripe::Quote::CreateParams::InvoiceSettings::Issuer)) }
489
+ attr_accessor :issuer
490
+ sig {
491
+ params(days_until_due: T.nilable(Integer), issuer: T.nilable(::Stripe::Quote::CreateParams::InvoiceSettings::Issuer)).void
492
+ }
493
+ def initialize(days_until_due: nil, issuer: nil); end
494
+ end
495
+ class LineItem < Stripe::RequestParams
496
+ class Discount < Stripe::RequestParams
497
+ # ID of the coupon to create a new discount for.
498
+ sig { returns(T.nilable(String)) }
499
+ attr_accessor :coupon
500
+ # ID of an existing discount on the object (or one of its ancestors) to reuse.
501
+ sig { returns(T.nilable(String)) }
502
+ attr_accessor :discount
503
+ # ID of the promotion code to create a new discount for.
504
+ sig { returns(T.nilable(String)) }
505
+ attr_accessor :promotion_code
506
+ sig {
507
+ params(coupon: T.nilable(String), discount: T.nilable(String), promotion_code: T.nilable(String)).void
508
+ }
509
+ def initialize(coupon: nil, discount: nil, promotion_code: nil); end
510
+ end
511
+ class PriceData < Stripe::RequestParams
512
+ class Recurring < Stripe::RequestParams
513
+ # Specifies billing frequency. Either `day`, `week`, `month` or `year`.
514
+ sig { returns(String) }
515
+ attr_accessor :interval
516
+ # The number of intervals between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of three years interval allowed (3 years, 36 months, or 156 weeks).
517
+ sig { returns(T.nilable(Integer)) }
518
+ attr_accessor :interval_count
519
+ sig { params(interval: String, interval_count: T.nilable(Integer)).void }
520
+ def initialize(interval: nil, interval_count: nil); end
521
+ end
522
+ # 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).
523
+ sig { returns(String) }
524
+ attr_accessor :currency
525
+ # The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to.
526
+ sig { returns(String) }
527
+ attr_accessor :product
528
+ # The recurring components of a price such as `interval` and `interval_count`.
529
+ sig { returns(T.nilable(::Stripe::Quote::CreateParams::LineItem::PriceData::Recurring)) }
530
+ attr_accessor :recurring
531
+ # 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.
532
+ sig { returns(T.nilable(String)) }
533
+ attr_accessor :tax_behavior
534
+ # A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge.
535
+ sig { returns(T.nilable(Integer)) }
536
+ attr_accessor :unit_amount
537
+ # 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.
538
+ sig { returns(T.nilable(String)) }
539
+ attr_accessor :unit_amount_decimal
540
+ sig {
541
+ params(currency: String, product: String, recurring: T.nilable(::Stripe::Quote::CreateParams::LineItem::PriceData::Recurring), tax_behavior: T.nilable(String), unit_amount: T.nilable(Integer), unit_amount_decimal: T.nilable(String)).void
542
+ }
543
+ def initialize(
544
+ currency: nil,
545
+ product: nil,
546
+ recurring: nil,
547
+ tax_behavior: nil,
548
+ unit_amount: nil,
549
+ unit_amount_decimal: nil
550
+ ); end
551
+ end
552
+ # The discounts applied to this line item.
553
+ sig {
554
+ returns(T.nilable(T.nilable(T.any(String, T::Array[::Stripe::Quote::CreateParams::LineItem::Discount]))))
555
+ }
556
+ attr_accessor :discounts
557
+ # The ID of the price object. One of `price` or `price_data` is required.
558
+ sig { returns(T.nilable(String)) }
559
+ attr_accessor :price
560
+ # Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required.
561
+ sig { returns(T.nilable(::Stripe::Quote::CreateParams::LineItem::PriceData)) }
562
+ attr_accessor :price_data
563
+ # The quantity of the line item.
564
+ sig { returns(T.nilable(Integer)) }
565
+ attr_accessor :quantity
566
+ # The tax rates which apply to the line item. When set, the `default_tax_rates` on the quote do not apply to this line item.
567
+ sig { returns(T.nilable(T.nilable(T.any(String, T::Array[String])))) }
568
+ attr_accessor :tax_rates
569
+ sig {
570
+ params(discounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::Quote::CreateParams::LineItem::Discount]))), price: T.nilable(String), price_data: T.nilable(::Stripe::Quote::CreateParams::LineItem::PriceData), quantity: T.nilable(Integer), tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String])))).void
571
+ }
572
+ def initialize(
573
+ discounts: nil,
574
+ price: nil,
575
+ price_data: nil,
576
+ quantity: nil,
577
+ tax_rates: nil
578
+ ); end
579
+ end
580
+ class SubscriptionData < Stripe::RequestParams
581
+ class BillingMode < Stripe::RequestParams
582
+ # Attribute for param field type
583
+ sig { returns(String) }
584
+ attr_accessor :type
585
+ sig { params(type: String).void }
586
+ def initialize(type: nil); end
587
+ end
588
+ # Controls how prorations and invoices for subscriptions are calculated and orchestrated.
589
+ sig { returns(T.nilable(::Stripe::Quote::CreateParams::SubscriptionData::BillingMode)) }
590
+ attr_accessor :billing_mode
591
+ # The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs.
592
+ sig { returns(T.nilable(String)) }
593
+ attr_accessor :description
594
+ # When creating a new subscription, the date of which the subscription schedule will start after the quote is accepted. The `effective_date` is ignored if it is in the past when the quote is accepted.
595
+ sig { returns(T.nilable(T.nilable(T.any(String, T.any(String, Integer))))) }
596
+ attr_accessor :effective_date
597
+ # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that will set metadata on the subscription or subscription schedule when the quote is accepted. If a recurring price is included in `line_items`, this field will be passed to the resulting subscription's `metadata` field. If `subscription_data.effective_date` is used, this field will be passed to the resulting subscription schedule's `phases.metadata` field. Unlike object-level metadata, this field is declarative. Updates will clear prior values.
598
+ sig { returns(T.nilable(T::Hash[String, String])) }
599
+ attr_accessor :metadata
600
+ # Integer representing the number of trial period days before the customer is charged for the first time.
601
+ sig { returns(T.nilable(T.nilable(T.any(String, Integer)))) }
602
+ attr_accessor :trial_period_days
603
+ sig {
604
+ params(billing_mode: T.nilable(::Stripe::Quote::CreateParams::SubscriptionData::BillingMode), description: T.nilable(String), effective_date: T.nilable(T.nilable(T.any(String, T.any(String, Integer)))), metadata: T.nilable(T::Hash[String, String]), trial_period_days: T.nilable(T.nilable(T.any(String, Integer)))).void
605
+ }
606
+ def initialize(
607
+ billing_mode: nil,
608
+ description: nil,
609
+ effective_date: nil,
610
+ metadata: nil,
611
+ trial_period_days: nil
612
+ ); end
613
+ end
614
+ class TransferData < Stripe::RequestParams
615
+ # The amount that will be transferred automatically when the invoice 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.
616
+ sig { returns(T.nilable(Integer)) }
617
+ attr_accessor :amount
618
+ # A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount is transferred to the destination. There must be at least 1 line item with a recurring price to use this field.
619
+ sig { returns(T.nilable(Float)) }
620
+ attr_accessor :amount_percent
621
+ # ID of an existing, connected Stripe account.
622
+ sig { returns(String) }
623
+ attr_accessor :destination
624
+ sig {
625
+ params(amount: T.nilable(Integer), amount_percent: T.nilable(Float), destination: String).void
626
+ }
627
+ def initialize(amount: nil, amount_percent: nil, destination: nil); end
628
+ end
629
+ # 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. There cannot be any line items with recurring prices when using this field.
630
+ sig { returns(T.nilable(T.nilable(T.any(String, Integer)))) }
631
+ attr_accessor :application_fee_amount
632
+ # A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. There must be at least 1 line item with a recurring price to use this field.
633
+ sig { returns(T.nilable(T.nilable(T.any(String, Float)))) }
634
+ attr_accessor :application_fee_percent
635
+ # Settings for automatic tax lookup for this quote and resulting invoices and subscriptions.
636
+ sig { returns(T.nilable(::Stripe::Quote::CreateParams::AutomaticTax)) }
637
+ attr_accessor :automatic_tax
638
+ # Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay invoices at the end of the subscription cycle or at invoice finalization using the default payment method attached to the subscription or customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`.
639
+ sig { returns(T.nilable(String)) }
640
+ attr_accessor :collection_method
641
+ # The customer for which this quote belongs to. A customer is required before finalizing the quote. Once specified, it cannot be changed.
642
+ sig { returns(T.nilable(String)) }
643
+ attr_accessor :customer
644
+ # The tax rates that will apply to any line item that does not have `tax_rates` set.
645
+ sig { returns(T.nilable(T.nilable(T.any(String, T::Array[String])))) }
646
+ attr_accessor :default_tax_rates
647
+ # A description that will be displayed on the quote PDF. If no value is passed, the default description configured in your [quote template settings](https://dashboard.stripe.com/settings/billing/quote) will be used.
648
+ sig { returns(T.nilable(T.nilable(String))) }
649
+ attr_accessor :description
650
+ # The discounts applied to the quote.
651
+ sig {
652
+ returns(T.nilable(T.nilable(T.any(String, T::Array[::Stripe::Quote::CreateParams::Discount]))))
653
+ }
654
+ attr_accessor :discounts
655
+ # Specifies which fields in the response should be expanded.
656
+ sig { returns(T.nilable(T::Array[String])) }
657
+ attr_accessor :expand
658
+ # A future timestamp on which the quote will be canceled if in `open` or `draft` status. Measured in seconds since the Unix epoch. If no value is passed, the default expiration date configured in your [quote template settings](https://dashboard.stripe.com/settings/billing/quote) will be used.
659
+ sig { returns(T.nilable(Integer)) }
660
+ attr_accessor :expires_at
661
+ # A footer that will be displayed on the quote PDF. If no value is passed, the default footer configured in your [quote template settings](https://dashboard.stripe.com/settings/billing/quote) will be used.
662
+ sig { returns(T.nilable(T.nilable(String))) }
663
+ attr_accessor :footer
664
+ # Clone an existing quote. The new quote will be created in `status=draft`. When using this parameter, you cannot specify any other parameters except for `expires_at`.
665
+ sig { returns(T.nilable(::Stripe::Quote::CreateParams::FromQuote)) }
666
+ attr_accessor :from_quote
667
+ # A header that will be displayed on the quote PDF. If no value is passed, the default header configured in your [quote template settings](https://dashboard.stripe.com/settings/billing/quote) will be used.
668
+ sig { returns(T.nilable(T.nilable(String))) }
669
+ attr_accessor :header
670
+ # All invoices will be billed using the specified settings.
671
+ sig { returns(T.nilable(::Stripe::Quote::CreateParams::InvoiceSettings)) }
672
+ attr_accessor :invoice_settings
673
+ # A list of line items the customer is being quoted for. Each line item includes information about the product, the quantity, and the resulting cost.
674
+ sig { returns(T.nilable(T::Array[::Stripe::Quote::CreateParams::LineItem])) }
675
+ attr_accessor :line_items
676
+ # 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`.
677
+ sig { returns(T.nilable(T::Hash[String, String])) }
678
+ attr_accessor :metadata
679
+ # The account on behalf of which to charge.
680
+ sig { returns(T.nilable(T.nilable(String))) }
681
+ attr_accessor :on_behalf_of
682
+ # When creating a subscription or subscription schedule, the specified configuration data will be used. There must be at least one line item with a recurring price for a subscription or subscription schedule to be created. A subscription schedule is created if `subscription_data[effective_date]` is present and in the future, otherwise a subscription is created.
683
+ sig { returns(T.nilable(::Stripe::Quote::CreateParams::SubscriptionData)) }
684
+ attr_accessor :subscription_data
685
+ # ID of the test clock to attach to the quote.
686
+ sig { returns(T.nilable(String)) }
687
+ attr_accessor :test_clock
688
+ # The data with which to automatically create a Transfer for each of the invoices.
689
+ sig {
690
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::Quote::CreateParams::TransferData))))
691
+ }
692
+ attr_accessor :transfer_data
693
+ sig {
694
+ params(application_fee_amount: T.nilable(T.nilable(T.any(String, Integer))), application_fee_percent: T.nilable(T.nilable(T.any(String, Float))), automatic_tax: T.nilable(::Stripe::Quote::CreateParams::AutomaticTax), collection_method: T.nilable(String), customer: T.nilable(String), default_tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String]))), description: T.nilable(T.nilable(String)), discounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::Quote::CreateParams::Discount]))), expand: T.nilable(T::Array[String]), expires_at: T.nilable(Integer), footer: T.nilable(T.nilable(String)), from_quote: T.nilable(::Stripe::Quote::CreateParams::FromQuote), header: T.nilable(T.nilable(String)), invoice_settings: T.nilable(::Stripe::Quote::CreateParams::InvoiceSettings), line_items: T.nilable(T::Array[::Stripe::Quote::CreateParams::LineItem]), metadata: T.nilable(T::Hash[String, String]), on_behalf_of: T.nilable(T.nilable(String)), subscription_data: T.nilable(::Stripe::Quote::CreateParams::SubscriptionData), test_clock: T.nilable(String), transfer_data: T.nilable(T.nilable(T.any(String, ::Stripe::Quote::CreateParams::TransferData)))).void
695
+ }
696
+ def initialize(
697
+ application_fee_amount: nil,
698
+ application_fee_percent: nil,
699
+ automatic_tax: nil,
700
+ collection_method: nil,
701
+ customer: nil,
702
+ default_tax_rates: nil,
703
+ description: nil,
704
+ discounts: nil,
705
+ expand: nil,
706
+ expires_at: nil,
707
+ footer: nil,
708
+ from_quote: nil,
709
+ header: nil,
710
+ invoice_settings: nil,
711
+ line_items: nil,
712
+ metadata: nil,
713
+ on_behalf_of: nil,
714
+ subscription_data: nil,
715
+ test_clock: nil,
716
+ transfer_data: nil
717
+ ); end
718
+ end
719
+ class UpdateParams < Stripe::RequestParams
720
+ class AutomaticTax < Stripe::RequestParams
721
+ class Liability < Stripe::RequestParams
722
+ # The connected account being referenced when `type` is `account`.
723
+ sig { returns(T.nilable(String)) }
724
+ attr_accessor :account
725
+ # Type of the account referenced in the request.
726
+ sig { returns(String) }
727
+ attr_accessor :type
728
+ sig { params(account: T.nilable(String), type: String).void }
729
+ def initialize(account: nil, type: nil); end
730
+ end
731
+ # Controls whether Stripe will automatically compute tax on the resulting invoices or subscriptions as well as the quote itself.
732
+ sig { returns(T::Boolean) }
733
+ attr_accessor :enabled
734
+ # The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account.
735
+ sig { returns(T.nilable(::Stripe::Quote::UpdateParams::AutomaticTax::Liability)) }
736
+ attr_accessor :liability
737
+ sig {
738
+ params(enabled: T::Boolean, liability: T.nilable(::Stripe::Quote::UpdateParams::AutomaticTax::Liability)).void
739
+ }
740
+ def initialize(enabled: nil, liability: nil); end
741
+ end
742
+ class Discount < Stripe::RequestParams
743
+ # ID of the coupon to create a new discount for.
744
+ sig { returns(T.nilable(String)) }
745
+ attr_accessor :coupon
746
+ # ID of an existing discount on the object (or one of its ancestors) to reuse.
747
+ sig { returns(T.nilable(String)) }
748
+ attr_accessor :discount
749
+ # ID of the promotion code to create a new discount for.
750
+ sig { returns(T.nilable(String)) }
751
+ attr_accessor :promotion_code
752
+ sig {
753
+ params(coupon: T.nilable(String), discount: T.nilable(String), promotion_code: T.nilable(String)).void
754
+ }
755
+ def initialize(coupon: nil, discount: nil, promotion_code: nil); end
756
+ end
757
+ class InvoiceSettings < Stripe::RequestParams
758
+ class Issuer < Stripe::RequestParams
759
+ # The connected account being referenced when `type` is `account`.
760
+ sig { returns(T.nilable(String)) }
761
+ attr_accessor :account
762
+ # Type of the account referenced in the request.
763
+ sig { returns(String) }
764
+ attr_accessor :type
765
+ sig { params(account: T.nilable(String), type: String).void }
766
+ def initialize(account: nil, type: nil); end
767
+ end
768
+ # Number of days within which a customer must pay the invoice generated by this quote. This value will be `null` for quotes where `collection_method=charge_automatically`.
769
+ sig { returns(T.nilable(Integer)) }
770
+ attr_accessor :days_until_due
771
+ # The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.
772
+ sig { returns(T.nilable(::Stripe::Quote::UpdateParams::InvoiceSettings::Issuer)) }
773
+ attr_accessor :issuer
774
+ sig {
775
+ params(days_until_due: T.nilable(Integer), issuer: T.nilable(::Stripe::Quote::UpdateParams::InvoiceSettings::Issuer)).void
776
+ }
777
+ def initialize(days_until_due: nil, issuer: nil); end
778
+ end
779
+ class LineItem < Stripe::RequestParams
780
+ class Discount < Stripe::RequestParams
781
+ # ID of the coupon to create a new discount for.
782
+ sig { returns(T.nilable(String)) }
783
+ attr_accessor :coupon
784
+ # ID of an existing discount on the object (or one of its ancestors) to reuse.
785
+ sig { returns(T.nilable(String)) }
786
+ attr_accessor :discount
787
+ # ID of the promotion code to create a new discount for.
788
+ sig { returns(T.nilable(String)) }
789
+ attr_accessor :promotion_code
790
+ sig {
791
+ params(coupon: T.nilable(String), discount: T.nilable(String), promotion_code: T.nilable(String)).void
792
+ }
793
+ def initialize(coupon: nil, discount: nil, promotion_code: nil); end
794
+ end
795
+ class PriceData < Stripe::RequestParams
796
+ class Recurring < Stripe::RequestParams
797
+ # Specifies billing frequency. Either `day`, `week`, `month` or `year`.
798
+ sig { returns(String) }
799
+ attr_accessor :interval
800
+ # The number of intervals between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of three years interval allowed (3 years, 36 months, or 156 weeks).
801
+ sig { returns(T.nilable(Integer)) }
802
+ attr_accessor :interval_count
803
+ sig { params(interval: String, interval_count: T.nilable(Integer)).void }
804
+ def initialize(interval: nil, interval_count: nil); end
805
+ end
806
+ # 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).
807
+ sig { returns(String) }
808
+ attr_accessor :currency
809
+ # The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to.
810
+ sig { returns(String) }
811
+ attr_accessor :product
812
+ # The recurring components of a price such as `interval` and `interval_count`.
813
+ sig { returns(T.nilable(::Stripe::Quote::UpdateParams::LineItem::PriceData::Recurring)) }
814
+ attr_accessor :recurring
815
+ # 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.
816
+ sig { returns(T.nilable(String)) }
817
+ attr_accessor :tax_behavior
818
+ # A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge.
819
+ sig { returns(T.nilable(Integer)) }
820
+ attr_accessor :unit_amount
821
+ # 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.
822
+ sig { returns(T.nilable(String)) }
823
+ attr_accessor :unit_amount_decimal
824
+ sig {
825
+ params(currency: String, product: String, recurring: T.nilable(::Stripe::Quote::UpdateParams::LineItem::PriceData::Recurring), tax_behavior: T.nilable(String), unit_amount: T.nilable(Integer), unit_amount_decimal: T.nilable(String)).void
826
+ }
827
+ def initialize(
828
+ currency: nil,
829
+ product: nil,
830
+ recurring: nil,
831
+ tax_behavior: nil,
832
+ unit_amount: nil,
833
+ unit_amount_decimal: nil
834
+ ); end
835
+ end
836
+ # The discounts applied to this line item.
837
+ sig {
838
+ returns(T.nilable(T.nilable(T.any(String, T::Array[::Stripe::Quote::UpdateParams::LineItem::Discount]))))
839
+ }
840
+ attr_accessor :discounts
841
+ # The ID of an existing line item on the quote.
842
+ sig { returns(T.nilable(String)) }
843
+ attr_accessor :id
844
+ # The ID of the price object. One of `price` or `price_data` is required.
845
+ sig { returns(T.nilable(String)) }
846
+ attr_accessor :price
847
+ # Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required.
848
+ sig { returns(T.nilable(::Stripe::Quote::UpdateParams::LineItem::PriceData)) }
849
+ attr_accessor :price_data
850
+ # The quantity of the line item.
851
+ sig { returns(T.nilable(Integer)) }
852
+ attr_accessor :quantity
853
+ # The tax rates which apply to the line item. When set, the `default_tax_rates` on the quote do not apply to this line item.
854
+ sig { returns(T.nilable(T.nilable(T.any(String, T::Array[String])))) }
855
+ attr_accessor :tax_rates
856
+ sig {
857
+ params(discounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::Quote::UpdateParams::LineItem::Discount]))), id: T.nilable(String), price: T.nilable(String), price_data: T.nilable(::Stripe::Quote::UpdateParams::LineItem::PriceData), quantity: T.nilable(Integer), tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String])))).void
858
+ }
859
+ def initialize(
860
+ discounts: nil,
861
+ id: nil,
862
+ price: nil,
863
+ price_data: nil,
864
+ quantity: nil,
865
+ tax_rates: nil
866
+ ); end
867
+ end
868
+ class SubscriptionData < Stripe::RequestParams
869
+ # The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs.
870
+ sig { returns(T.nilable(T.nilable(String))) }
871
+ attr_accessor :description
872
+ # When creating a new subscription, the date of which the subscription schedule will start after the quote is accepted. The `effective_date` is ignored if it is in the past when the quote is accepted.
873
+ sig { returns(T.nilable(T.nilable(T.any(String, T.any(String, Integer))))) }
874
+ attr_accessor :effective_date
875
+ # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that will set metadata on the subscription or subscription schedule when the quote is accepted. If a recurring price is included in `line_items`, this field will be passed to the resulting subscription's `metadata` field. If `subscription_data.effective_date` is used, this field will be passed to the resulting subscription schedule's `phases.metadata` field. Unlike object-level metadata, this field is declarative. Updates will clear prior values.
876
+ sig { returns(T.nilable(T::Hash[String, String])) }
877
+ attr_accessor :metadata
878
+ # Integer representing the number of trial period days before the customer is charged for the first time.
879
+ sig { returns(T.nilable(T.nilable(T.any(String, Integer)))) }
880
+ attr_accessor :trial_period_days
881
+ sig {
882
+ params(description: T.nilable(T.nilable(String)), effective_date: T.nilable(T.nilable(T.any(String, T.any(String, Integer)))), metadata: T.nilable(T::Hash[String, String]), trial_period_days: T.nilable(T.nilable(T.any(String, Integer)))).void
883
+ }
884
+ def initialize(
885
+ description: nil,
886
+ effective_date: nil,
887
+ metadata: nil,
888
+ trial_period_days: nil
889
+ ); end
890
+ end
891
+ class TransferData < Stripe::RequestParams
892
+ # The amount that will be transferred automatically when the invoice 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.
893
+ sig { returns(T.nilable(Integer)) }
894
+ attr_accessor :amount
895
+ # A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount is transferred to the destination. There must be at least 1 line item with a recurring price to use this field.
896
+ sig { returns(T.nilable(Float)) }
897
+ attr_accessor :amount_percent
898
+ # ID of an existing, connected Stripe account.
899
+ sig { returns(String) }
900
+ attr_accessor :destination
901
+ sig {
902
+ params(amount: T.nilable(Integer), amount_percent: T.nilable(Float), destination: String).void
903
+ }
904
+ def initialize(amount: nil, amount_percent: nil, destination: nil); end
905
+ end
906
+ # 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. There cannot be any line items with recurring prices when using this field.
907
+ sig { returns(T.nilable(T.nilable(T.any(String, Integer)))) }
908
+ attr_accessor :application_fee_amount
909
+ # A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. There must be at least 1 line item with a recurring price to use this field.
910
+ sig { returns(T.nilable(T.nilable(T.any(String, Float)))) }
911
+ attr_accessor :application_fee_percent
912
+ # Settings for automatic tax lookup for this quote and resulting invoices and subscriptions.
913
+ sig { returns(T.nilable(::Stripe::Quote::UpdateParams::AutomaticTax)) }
914
+ attr_accessor :automatic_tax
915
+ # Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay invoices at the end of the subscription cycle or at invoice finalization using the default payment method attached to the subscription or customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`.
916
+ sig { returns(T.nilable(String)) }
917
+ attr_accessor :collection_method
918
+ # The customer for which this quote belongs to. A customer is required before finalizing the quote. Once specified, it cannot be changed.
919
+ sig { returns(T.nilable(String)) }
920
+ attr_accessor :customer
921
+ # The tax rates that will apply to any line item that does not have `tax_rates` set.
922
+ sig { returns(T.nilable(T.nilable(T.any(String, T::Array[String])))) }
923
+ attr_accessor :default_tax_rates
924
+ # A description that will be displayed on the quote PDF.
925
+ sig { returns(T.nilable(T.nilable(String))) }
926
+ attr_accessor :description
927
+ # The discounts applied to the quote.
928
+ sig {
929
+ returns(T.nilable(T.nilable(T.any(String, T::Array[::Stripe::Quote::UpdateParams::Discount]))))
930
+ }
931
+ attr_accessor :discounts
932
+ # Specifies which fields in the response should be expanded.
933
+ sig { returns(T.nilable(T::Array[String])) }
934
+ attr_accessor :expand
935
+ # A future timestamp on which the quote will be canceled if in `open` or `draft` status. Measured in seconds since the Unix epoch.
936
+ sig { returns(T.nilable(Integer)) }
937
+ attr_accessor :expires_at
938
+ # A footer that will be displayed on the quote PDF.
939
+ sig { returns(T.nilable(T.nilable(String))) }
940
+ attr_accessor :footer
941
+ # A header that will be displayed on the quote PDF.
942
+ sig { returns(T.nilable(T.nilable(String))) }
943
+ attr_accessor :header
944
+ # All invoices will be billed using the specified settings.
945
+ sig { returns(T.nilable(::Stripe::Quote::UpdateParams::InvoiceSettings)) }
946
+ attr_accessor :invoice_settings
947
+ # A list of line items the customer is being quoted for. Each line item includes information about the product, the quantity, and the resulting cost.
948
+ sig { returns(T.nilable(T::Array[::Stripe::Quote::UpdateParams::LineItem])) }
949
+ attr_accessor :line_items
950
+ # 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`.
951
+ sig { returns(T.nilable(T::Hash[String, String])) }
952
+ attr_accessor :metadata
953
+ # The account on behalf of which to charge.
954
+ sig { returns(T.nilable(T.nilable(String))) }
955
+ attr_accessor :on_behalf_of
956
+ # When creating a subscription or subscription schedule, the specified configuration data will be used. There must be at least one line item with a recurring price for a subscription or subscription schedule to be created. A subscription schedule is created if `subscription_data[effective_date]` is present and in the future, otherwise a subscription is created.
957
+ sig { returns(T.nilable(::Stripe::Quote::UpdateParams::SubscriptionData)) }
958
+ attr_accessor :subscription_data
959
+ # The data with which to automatically create a Transfer for each of the invoices.
960
+ sig {
961
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::Quote::UpdateParams::TransferData))))
962
+ }
963
+ attr_accessor :transfer_data
964
+ sig {
965
+ params(application_fee_amount: T.nilable(T.nilable(T.any(String, Integer))), application_fee_percent: T.nilable(T.nilable(T.any(String, Float))), automatic_tax: T.nilable(::Stripe::Quote::UpdateParams::AutomaticTax), collection_method: T.nilable(String), customer: T.nilable(String), default_tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String]))), description: T.nilable(T.nilable(String)), discounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::Quote::UpdateParams::Discount]))), expand: T.nilable(T::Array[String]), expires_at: T.nilable(Integer), footer: T.nilable(T.nilable(String)), header: T.nilable(T.nilable(String)), invoice_settings: T.nilable(::Stripe::Quote::UpdateParams::InvoiceSettings), line_items: T.nilable(T::Array[::Stripe::Quote::UpdateParams::LineItem]), metadata: T.nilable(T::Hash[String, String]), on_behalf_of: T.nilable(T.nilable(String)), subscription_data: T.nilable(::Stripe::Quote::UpdateParams::SubscriptionData), transfer_data: T.nilable(T.nilable(T.any(String, ::Stripe::Quote::UpdateParams::TransferData)))).void
966
+ }
967
+ def initialize(
968
+ application_fee_amount: nil,
969
+ application_fee_percent: nil,
970
+ automatic_tax: nil,
971
+ collection_method: nil,
972
+ customer: nil,
973
+ default_tax_rates: nil,
974
+ description: nil,
975
+ discounts: nil,
976
+ expand: nil,
977
+ expires_at: nil,
978
+ footer: nil,
979
+ header: nil,
980
+ invoice_settings: nil,
981
+ line_items: nil,
982
+ metadata: nil,
983
+ on_behalf_of: nil,
984
+ subscription_data: nil,
985
+ transfer_data: nil
986
+ ); end
987
+ end
988
+ class ListComputedUpfrontLineItemsParams < Stripe::RequestParams
989
+ # 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.
990
+ sig { returns(T.nilable(String)) }
991
+ attr_accessor :ending_before
992
+ # Specifies which fields in the response should be expanded.
993
+ sig { returns(T.nilable(T::Array[String])) }
994
+ attr_accessor :expand
995
+ # A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
996
+ sig { returns(T.nilable(Integer)) }
997
+ attr_accessor :limit
998
+ # 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.
999
+ sig { returns(T.nilable(String)) }
1000
+ attr_accessor :starting_after
1001
+ sig {
1002
+ params(ending_before: T.nilable(String), expand: T.nilable(T::Array[String]), limit: T.nilable(Integer), starting_after: T.nilable(String)).void
1003
+ }
1004
+ def initialize(ending_before: nil, expand: nil, limit: nil, starting_after: nil); end
1005
+ end
1006
+ class ListLineItemsParams < Stripe::RequestParams
1007
+ # 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.
1008
+ sig { returns(T.nilable(String)) }
1009
+ attr_accessor :ending_before
1010
+ # Specifies which fields in the response should be expanded.
1011
+ sig { returns(T.nilable(T::Array[String])) }
1012
+ attr_accessor :expand
1013
+ # A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
1014
+ sig { returns(T.nilable(Integer)) }
1015
+ attr_accessor :limit
1016
+ # 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.
1017
+ sig { returns(T.nilable(String)) }
1018
+ attr_accessor :starting_after
1019
+ sig {
1020
+ params(ending_before: T.nilable(String), expand: T.nilable(T::Array[String]), limit: T.nilable(Integer), starting_after: T.nilable(String)).void
1021
+ }
1022
+ def initialize(ending_before: nil, expand: nil, limit: nil, starting_after: nil); end
1023
+ end
1024
+ class AcceptParams < Stripe::RequestParams
1025
+ # Specifies which fields in the response should be expanded.
1026
+ sig { returns(T.nilable(T::Array[String])) }
1027
+ attr_accessor :expand
1028
+ sig { params(expand: T.nilable(T::Array[String])).void }
1029
+ def initialize(expand: nil); end
1030
+ end
1031
+ class CancelParams < Stripe::RequestParams
1032
+ # Specifies which fields in the response should be expanded.
1033
+ sig { returns(T.nilable(T::Array[String])) }
1034
+ attr_accessor :expand
1035
+ sig { params(expand: T.nilable(T::Array[String])).void }
1036
+ def initialize(expand: nil); end
1037
+ end
1038
+ class FinalizeQuoteParams < Stripe::RequestParams
1039
+ # Specifies which fields in the response should be expanded.
1040
+ sig { returns(T.nilable(T::Array[String])) }
1041
+ attr_accessor :expand
1042
+ # A future timestamp on which the quote will be canceled if in `open` or `draft` status. Measured in seconds since the Unix epoch.
1043
+ sig { returns(T.nilable(Integer)) }
1044
+ attr_accessor :expires_at
1045
+ sig { params(expand: T.nilable(T::Array[String]), expires_at: T.nilable(Integer)).void }
1046
+ def initialize(expand: nil, expires_at: nil); end
1047
+ end
1048
+ class PdfParams < Stripe::RequestParams
1049
+ # Specifies which fields in the response should be expanded.
1050
+ sig { returns(T.nilable(T::Array[String])) }
1051
+ attr_accessor :expand
1052
+ sig { params(expand: T.nilable(T::Array[String])).void }
1053
+ def initialize(expand: nil); end
1054
+ end
1055
+ # Accepts the specified quote.
1056
+ sig {
1057
+ params(params: T.any(::Stripe::Quote::AcceptParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::Quote)
1058
+ }
1059
+ def accept(params = {}, opts = {}); end
1060
+
1061
+ # Accepts the specified quote.
1062
+ sig {
1063
+ params(quote: String, params: T.any(::Stripe::Quote::AcceptParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::Quote)
1064
+ }
1065
+ def self.accept(quote, params = {}, opts = {}); end
1066
+
1067
+ # Cancels the quote.
1068
+ sig {
1069
+ params(params: T.any(::Stripe::Quote::CancelParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::Quote)
1070
+ }
1071
+ def cancel(params = {}, opts = {}); end
1072
+
1073
+ # Cancels the quote.
1074
+ sig {
1075
+ params(quote: String, params: T.any(::Stripe::Quote::CancelParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::Quote)
1076
+ }
1077
+ def self.cancel(quote, params = {}, opts = {}); end
1078
+
1079
+ # A quote models prices and services for a customer. Default options for header, description, footer, and expires_at can be set in the dashboard via the [quote template](https://dashboard.stripe.com/settings/billing/quote).
1080
+ sig {
1081
+ params(params: T.any(::Stripe::Quote::CreateParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::Quote)
1082
+ }
1083
+ def self.create(params = {}, opts = {}); end
1084
+
1085
+ # Finalizes the quote.
1086
+ sig {
1087
+ params(params: T.any(::Stripe::Quote::FinalizeQuoteParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::Quote)
1088
+ }
1089
+ def finalize_quote(params = {}, opts = {}); end
1090
+
1091
+ # Finalizes the quote.
1092
+ sig {
1093
+ params(quote: String, params: T.any(::Stripe::Quote::FinalizeQuoteParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::Quote)
1094
+ }
1095
+ def self.finalize_quote(quote, params = {}, opts = {}); end
1096
+
1097
+ # Returns a list of your quotes.
1098
+ sig {
1099
+ params(params: T.any(::Stripe::Quote::ListParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::ListObject)
1100
+ }
1101
+ def self.list(params = {}, opts = {}); end
1102
+
1103
+ # When retrieving a quote, there is an includable [computed.upfront.line_items](https://stripe.com/docs/api/quotes/object#quote_object-computed-upfront-line_items) property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of upfront line items.
1104
+ sig {
1105
+ params(params: T.any(::Stripe::Quote::ListComputedUpfrontLineItemsParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::ListObject)
1106
+ }
1107
+ def list_computed_upfront_line_items(params = {}, opts = {}); end
1108
+
1109
+ # When retrieving a quote, there is an includable [computed.upfront.line_items](https://stripe.com/docs/api/quotes/object#quote_object-computed-upfront-line_items) property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of upfront line items.
1110
+ sig {
1111
+ params(quote: String, params: T.any(::Stripe::Quote::ListComputedUpfrontLineItemsParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::ListObject)
1112
+ }
1113
+ def self.list_computed_upfront_line_items(quote, params = {}, opts = {}); end
1114
+
1115
+ # When retrieving a quote, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
1116
+ sig {
1117
+ params(params: T.any(::Stripe::Quote::ListLineItemsParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::ListObject)
1118
+ }
1119
+ def list_line_items(params = {}, opts = {}); end
1120
+
1121
+ # When retrieving a quote, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
1122
+ sig {
1123
+ params(quote: String, params: T.any(::Stripe::Quote::ListLineItemsParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::ListObject)
1124
+ }
1125
+ def self.list_line_items(quote, params = {}, opts = {}); end
1126
+
1127
+ # Download the PDF for a finalized quote. Explanation for special handling can be found [here](https://docs.stripe.com/quotes/overview#quote_pdf)
1128
+ sig {
1129
+ params(params: T.any(::Stripe::Quote::PdfParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped, read_body_chunk_block: T.untyped).returns(T.untyped)
1130
+ }
1131
+ def pdf(params = {}, opts = {}, &read_body_chunk_block); end
1132
+
1133
+ # Download the PDF for a finalized quote. Explanation for special handling can be found [here](https://docs.stripe.com/quotes/overview#quote_pdf)
1134
+ sig {
1135
+ params(quote: String, params: T.any(::Stripe::Quote::PdfParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped, read_body_chunk_block: T.untyped).returns(T.untyped)
1136
+ }
1137
+ def self.pdf(quote, params = {}, opts = {}, &read_body_chunk_block); end
1138
+
1139
+ # A quote models prices and services for a customer.
1140
+ sig {
1141
+ params(quote: String, params: T.any(::Stripe::Quote::UpdateParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::Quote)
1142
+ }
1143
+ def self.update(quote, params = {}, opts = {}); end
1144
+ end
1145
+ end