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