stripe 15.4.0.pre.beta.1 → 15.4.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 (603) hide show
  1. checksums.yaml +4 -4
  2. data/API_VERSION +1 -1
  3. data/CHANGELOG.md +686 -1593
  4. data/OPENAPI_VERSION +1 -1
  5. data/README.md +1 -1
  6. data/VERSION +1 -1
  7. data/lib/stripe/api_requestor.rb +0 -28
  8. data/lib/stripe/api_version.rb +2 -1
  9. data/lib/stripe/errors.rb +0 -54
  10. data/lib/stripe/event_types.rb +0 -98
  11. data/lib/stripe/object_types.rb +0 -50
  12. data/lib/stripe/resources/account.rb +6 -658
  13. data/lib/stripe/resources/account_link.rb +3 -1
  14. data/lib/stripe/resources/account_session.rb +52 -256
  15. data/lib/stripe/resources/billing/credit_balance_summary.rb +0 -2
  16. data/lib/stripe/resources/billing/credit_balance_transaction.rb +0 -4
  17. data/lib/stripe/resources/billing/credit_grant.rb +1 -11
  18. data/lib/stripe/resources/billing_portal/configuration.rb +46 -2
  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 +7 -1543
  23. data/lib/stripe/resources/checkout/session.rb +24 -320
  24. data/lib/stripe/resources/confirmation_token.rb +3 -173
  25. data/lib/stripe/resources/coupon.rb +1 -30
  26. data/lib/stripe/resources/credit_note.rb +0 -6
  27. data/lib/stripe/resources/credit_note_line_item.rb +0 -9
  28. data/lib/stripe/resources/customer.rb +1 -3
  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/dispute.rb +1 -3
  34. data/lib/stripe/resources/event.rb +14 -57
  35. data/lib/stripe/resources/financial_connections/account.rb +1 -22
  36. data/lib/stripe/resources/financial_connections/session.rb +2 -62
  37. data/lib/stripe/resources/identity/verification_session.rb +0 -10
  38. data/lib/stripe/resources/invoice.rb +40 -1071
  39. data/lib/stripe/resources/invoice_item.rb +3 -79
  40. data/lib/stripe/resources/invoice_line_item.rb +1 -55
  41. data/lib/stripe/resources/invoice_payment.rb +53 -2
  42. data/lib/stripe/resources/issuing/cardholder.rb +1 -2
  43. data/lib/stripe/resources/issuing/transaction.rb +0 -6
  44. data/lib/stripe/resources/line_item.rb +0 -37
  45. data/lib/stripe/resources/mandate.rb +0 -24
  46. data/lib/stripe/resources/payment_intent.rb +297 -5243
  47. data/lib/stripe/resources/payment_link.rb +83 -5
  48. data/lib/stripe/resources/payment_method.rb +5 -196
  49. data/lib/stripe/resources/payment_method_configuration.rb +0 -295
  50. data/lib/stripe/resources/payout.rb +0 -6
  51. data/lib/stripe/resources/price.rb +0 -30
  52. data/lib/stripe/resources/promotion_code.rb +0 -10
  53. data/lib/stripe/resources/quote.rb +8 -2039
  54. data/lib/stripe/resources/radar/value_list.rb +2 -2
  55. data/lib/stripe/resources/refund.rb +1 -10
  56. data/lib/stripe/resources/review.rb +2 -2
  57. data/lib/stripe/resources/setup_attempt.rb +1 -22
  58. data/lib/stripe/resources/setup_intent.rb +9 -578
  59. data/lib/stripe/resources/source.rb +0 -29
  60. data/lib/stripe/resources/subscription.rb +11 -290
  61. data/lib/stripe/resources/subscription_item.rb +5 -86
  62. data/lib/stripe/resources/subscription_schedule.rb +45 -1010
  63. data/lib/stripe/resources/tax/registration.rb +408 -30
  64. data/lib/stripe/resources/tax_id.rb +2 -12
  65. data/lib/stripe/resources/terminal/configuration.rb +196 -0
  66. data/lib/stripe/resources/terminal/reader.rb +0 -8
  67. data/lib/stripe/resources/transfer.rb +0 -6
  68. data/lib/stripe/resources/treasury/financial_account.rb +3 -22
  69. data/lib/stripe/resources/treasury/financial_account_features.rb +0 -2
  70. data/lib/stripe/resources/treasury/outbound_transfer.rb +0 -37
  71. data/lib/stripe/resources/treasury/received_credit.rb +1 -38
  72. data/lib/stripe/resources/treasury/received_debit.rb +1 -40
  73. data/lib/stripe/resources.rb +0 -104
  74. data/lib/stripe/services/account_link_service.rb +3 -1
  75. data/lib/stripe/services/account_service.rb +4 -565
  76. data/lib/stripe/services/account_session_service.rb +35 -226
  77. data/lib/stripe/services/billing/credit_balance_summary_service.rb +1 -4
  78. data/lib/stripe/services/billing/credit_balance_transaction_service.rb +0 -4
  79. data/lib/stripe/services/billing/credit_grant_service.rb +1 -9
  80. data/lib/stripe/services/billing_portal/configuration_service.rb +36 -2
  81. data/lib/stripe/services/billing_portal/session_service.rb +0 -4
  82. data/lib/stripe/services/charge_service.rb +0 -1418
  83. data/lib/stripe/services/checkout/session_service.rb +16 -241
  84. data/lib/stripe/services/coupon_service.rb +1 -17
  85. data/lib/stripe/services/credit_note_service.rb +0 -4
  86. data/lib/stripe/services/customer_session_service.rb +1 -4
  87. data/lib/stripe/services/financial_connections/account_service.rb +2 -7
  88. data/lib/stripe/services/financial_connections/session_service.rb +2 -34
  89. data/lib/stripe/services/financial_connections_service.rb +1 -2
  90. data/lib/stripe/services/identity/verification_session_service.rb +0 -8
  91. data/lib/stripe/services/invoice_item_service.rb +3 -75
  92. data/lib/stripe/services/invoice_line_item_service.rb +1 -33
  93. data/lib/stripe/services/invoice_payment_service.rb +83 -0
  94. data/lib/stripe/services/invoice_service.rb +40 -1022
  95. data/lib/stripe/services/issuing/cardholder_service.rb +1 -2
  96. data/lib/stripe/services/issuing/transaction_service.rb +0 -4
  97. data/lib/stripe/services/issuing_service.rb +1 -5
  98. data/lib/stripe/services/payment_intent_service.rb +399 -4882
  99. data/lib/stripe/services/payment_link_service.rb +81 -5
  100. data/lib/stripe/services/payment_method_configuration_service.rb +0 -210
  101. data/lib/stripe/services/payment_method_service.rb +2 -121
  102. data/lib/stripe/services/payout_service.rb +0 -4
  103. data/lib/stripe/services/price_service.rb +0 -19
  104. data/lib/stripe/services/promotion_code_service.rb +0 -8
  105. data/lib/stripe/services/quote_service.rb +9 -1724
  106. data/lib/stripe/services/radar/value_list_service.rb +1 -1
  107. data/lib/stripe/services/setup_intent_service.rb +9 -538
  108. data/lib/stripe/services/subscription_item_service.rb +5 -77
  109. data/lib/stripe/services/subscription_schedule_service.rb +45 -914
  110. data/lib/stripe/services/subscription_service.rb +11 -251
  111. data/lib/stripe/services/tax/registration_service.rb +360 -30
  112. data/lib/stripe/services/tax_id_service.rb +2 -8
  113. data/lib/stripe/services/tax_service.rb +1 -3
  114. data/lib/stripe/services/terminal/configuration_service.rb +152 -0
  115. data/lib/stripe/services/terminal_service.rb +1 -2
  116. data/lib/stripe/services/test_helpers/confirmation_token_service.rb +0 -97
  117. data/lib/stripe/services/test_helpers/treasury/received_credit_service.rb +1 -25
  118. data/lib/stripe/services/test_helpers/treasury/received_debit_service.rb +1 -25
  119. data/lib/stripe/services/transfer_service.rb +0 -4
  120. data/lib/stripe/services/treasury/financial_account_features_service.rb +1 -4
  121. data/lib/stripe/services/treasury/financial_account_service.rb +2 -16
  122. data/lib/stripe/services/treasury/outbound_transfer_service.rb +0 -24
  123. data/lib/stripe/services/v1_services.rb +2 -11
  124. data/lib/stripe/services/v2/core_service.rb +1 -4
  125. data/lib/stripe/services/v2_services.rb +1 -4
  126. data/lib/stripe/services.rb +1 -53
  127. data/lib/stripe/stripe_configuration.rb +1 -3
  128. data/lib/stripe/stripe_object.rb +1 -1
  129. data/lib/stripe/util.rb +1 -7
  130. data/lib/stripe/version.rb +1 -1
  131. data/lib/stripe.rb +0 -53
  132. data/rbi/stripe/resources/account.rbi +4995 -0
  133. data/rbi/stripe/resources/account_link.rbi +76 -0
  134. data/rbi/stripe/resources/account_session.rbi +1074 -0
  135. data/rbi/stripe/resources/apple_pay_domain.rbi +88 -0
  136. data/rbi/stripe/resources/application.rbi +20 -0
  137. data/rbi/stripe/resources/application_fee.rbi +118 -0
  138. data/rbi/stripe/resources/application_fee_refund.rbi +37 -0
  139. data/rbi/stripe/resources/apps/secret.rbi +195 -0
  140. data/rbi/stripe/resources/balance.rbi +235 -0
  141. data/rbi/stripe/resources/balance_transaction.rbi +147 -0
  142. data/rbi/stripe/resources/bank_account.rbi +127 -0
  143. data/rbi/stripe/resources/billing/alert.rbi +201 -0
  144. data/rbi/stripe/resources/billing/alert_triggered.rbi +28 -0
  145. data/rbi/stripe/resources/billing/credit_balance_summary.rbi +63 -0
  146. data/rbi/stripe/resources/billing/credit_balance_transaction.rbi +147 -0
  147. data/rbi/stripe/resources/billing/credit_grant.rbi +291 -0
  148. data/rbi/stripe/resources/billing/meter.rbi +226 -0
  149. data/rbi/stripe/resources/billing/meter_event.rbi +64 -0
  150. data/rbi/stripe/resources/billing/meter_event_adjustment.rbi +64 -0
  151. data/rbi/stripe/resources/billing/meter_event_summary.rbi +35 -0
  152. data/rbi/stripe/resources/billing_portal/configuration.rbi +703 -0
  153. data/rbi/stripe/resources/billing_portal/session.rbi +345 -0
  154. data/rbi/stripe/resources/capability.rbi +125 -0
  155. data/rbi/stripe/resources/card.rbi +125 -0
  156. data/rbi/stripe/resources/cash_balance.rbi +32 -0
  157. data/rbi/stripe/resources/charge.rbi +2089 -0
  158. data/rbi/stripe/resources/checkout/session.rbi +4095 -0
  159. data/rbi/stripe/resources/climate/order.rbi +245 -0
  160. data/rbi/stripe/resources/climate/product.rbi +75 -0
  161. data/rbi/stripe/resources/climate/supplier.rbi +72 -0
  162. data/rbi/stripe/resources/confirmation_token.rbi +1818 -0
  163. data/rbi/stripe/resources/connect_collection_transfer.rbi +26 -0
  164. data/rbi/stripe/resources/country_spec.rbi +85 -0
  165. data/rbi/stripe/resources/coupon.rbi +250 -0
  166. data/rbi/stripe/resources/credit_note.rbi +752 -0
  167. data/rbi/stripe/resources/credit_note_line_item.rbi +101 -0
  168. data/rbi/stripe/resources/customer.rbi +1005 -0
  169. data/rbi/stripe/resources/customer_balance_transaction.rbi +56 -0
  170. data/rbi/stripe/resources/customer_cash_balance_transaction.rbi +151 -0
  171. data/rbi/stripe/resources/customer_session.rbi +200 -0
  172. data/rbi/stripe/resources/discount.rbi +53 -0
  173. data/rbi/stripe/resources/dispute.rbi +761 -0
  174. data/rbi/stripe/resources/entitlements/active_entitlement.rbi +58 -0
  175. data/rbi/stripe/resources/entitlements/active_entitlement_summary.rbi +23 -0
  176. data/rbi/stripe/resources/entitlements/feature.rbi +117 -0
  177. data/rbi/stripe/resources/ephemeral_key.rbi +44 -0
  178. data/rbi/stripe/resources/event.rbi +137 -0
  179. data/rbi/stripe/resources/exchange_rate.rbi +66 -0
  180. data/rbi/stripe/resources/file.rbi +143 -0
  181. data/rbi/stripe/resources/file_link.rbi +141 -0
  182. data/rbi/stripe/resources/financial_connections/account.rbi +339 -0
  183. data/rbi/stripe/resources/financial_connections/account_owner.rbi +35 -0
  184. data/rbi/stripe/resources/financial_connections/account_ownership.rbi +23 -0
  185. data/rbi/stripe/resources/financial_connections/session.rbi +123 -0
  186. data/rbi/stripe/resources/financial_connections/transaction.rbi +124 -0
  187. data/rbi/stripe/resources/forwarding/request.rbi +216 -0
  188. data/rbi/stripe/resources/funding_instructions.rbi +437 -0
  189. data/rbi/stripe/resources/identity/verification_report.rbi +360 -0
  190. data/rbi/stripe/resources/identity/verification_session.rbi +564 -0
  191. data/rbi/stripe/resources/invoice.rbi +3858 -0
  192. data/rbi/stripe/resources/invoice_item.rbi +470 -0
  193. data/rbi/stripe/resources/invoice_line_item.rbi +432 -0
  194. data/rbi/stripe/resources/invoice_payment.rbi +121 -0
  195. data/rbi/stripe/resources/invoice_rendering_template.rbi +104 -0
  196. data/rbi/stripe/resources/issuing/authorization.rbi +1283 -0
  197. data/rbi/stripe/resources/issuing/card.rbi +741 -0
  198. data/rbi/stripe/resources/issuing/cardholder.rbi +744 -0
  199. data/rbi/stripe/resources/issuing/dispute.rbi +913 -0
  200. data/rbi/stripe/resources/issuing/personalization_design.rbi +338 -0
  201. data/rbi/stripe/resources/issuing/physical_bundle.rbi +79 -0
  202. data/rbi/stripe/resources/issuing/token.rbi +226 -0
  203. data/rbi/stripe/resources/issuing/transaction.rbi +1061 -0
  204. data/rbi/stripe/resources/line_item.rbi +72 -0
  205. data/rbi/stripe/resources/login_link.rbi +19 -0
  206. data/rbi/stripe/resources/mandate.rbi +191 -0
  207. data/rbi/stripe/resources/payment_intent.rbi +9997 -0
  208. data/rbi/stripe/resources/payment_link.rbi +1893 -0
  209. data/rbi/stripe/resources/payment_method.rbi +1770 -0
  210. data/rbi/stripe/resources/payment_method_configuration.rbi +3550 -0
  211. data/rbi/stripe/resources/payment_method_domain.rbi +228 -0
  212. data/rbi/stripe/resources/payout.rbi +300 -0
  213. data/rbi/stripe/resources/person.rbi +401 -0
  214. data/rbi/stripe/resources/plan.rbi +371 -0
  215. data/rbi/stripe/resources/price.rbi +694 -0
  216. data/rbi/stripe/resources/product.rbi +555 -0
  217. data/rbi/stripe/resources/product_feature.rbi +26 -0
  218. data/rbi/stripe/resources/promotion_code.rbi +261 -0
  219. data/rbi/stripe/resources/quote.rbi +1145 -0
  220. data/rbi/stripe/resources/radar/early_fraud_warning.rbi +98 -0
  221. data/rbi/stripe/resources/radar/value_list.rbi +168 -0
  222. data/rbi/stripe/resources/radar/value_list_item.rbi +129 -0
  223. data/rbi/stripe/resources/refund.rbi +523 -0
  224. data/rbi/stripe/resources/reporting/report_run.rbi +191 -0
  225. data/rbi/stripe/resources/reporting/report_type.rbi +57 -0
  226. data/rbi/stripe/resources/reserve_transaction.rbi +23 -0
  227. data/rbi/stripe/resources/reversal.rbi +51 -0
  228. data/rbi/stripe/resources/review.rbi +154 -0
  229. data/rbi/stripe/resources/setup_attempt.rbi +477 -0
  230. data/rbi/stripe/resources/setup_intent.rbi +3978 -0
  231. data/rbi/stripe/resources/shipping_rate.rbi +305 -0
  232. data/rbi/stripe/resources/sigma/scheduled_query_run.rbi +75 -0
  233. data/rbi/stripe/resources/source.rbi +1496 -0
  234. data/rbi/stripe/resources/source_mandate_notification.rbi +77 -0
  235. data/rbi/stripe/resources/source_transaction.rbi +127 -0
  236. data/rbi/stripe/resources/subscription.rbi +2080 -0
  237. data/rbi/stripe/resources/subscription_item.rbi +404 -0
  238. data/rbi/stripe/resources/subscription_schedule.rbi +1673 -0
  239. data/rbi/stripe/resources/tax/calculation.rbi +478 -0
  240. data/rbi/stripe/resources/tax/calculation_line_item.rbi +91 -0
  241. data/rbi/stripe/resources/tax/registration.rbi +3216 -0
  242. data/rbi/stripe/resources/tax/settings.rbi +141 -0
  243. data/rbi/stripe/resources/tax/transaction.rbi +351 -0
  244. data/rbi/stripe/resources/tax/transaction_line_item.rbi +54 -0
  245. data/rbi/stripe/resources/tax_code.rbi +44 -0
  246. data/rbi/stripe/resources/tax_deducted_at_source.rbi +23 -0
  247. data/rbi/stripe/resources/tax_id.rbi +165 -0
  248. data/rbi/stripe/resources/tax_rate.rbi +239 -0
  249. data/rbi/stripe/resources/terminal/configuration.rbi +1595 -0
  250. data/rbi/stripe/resources/terminal/connection_token.rbi +37 -0
  251. data/rbi/stripe/resources/terminal/location.rbi +222 -0
  252. data/rbi/stripe/resources/terminal/reader.rbi +994 -0
  253. data/rbi/stripe/resources/test_helpers/test_clock.rbi +132 -0
  254. data/rbi/stripe/resources/token.rbi +1283 -0
  255. data/rbi/stripe/resources/topup.rbi +222 -0
  256. data/rbi/stripe/resources/transfer.rbi +199 -0
  257. data/rbi/stripe/resources/treasury/credit_reversal.rbi +119 -0
  258. data/rbi/stripe/resources/treasury/debit_reversal.rbi +131 -0
  259. data/rbi/stripe/resources/treasury/financial_account.rbi +869 -0
  260. data/rbi/stripe/resources/treasury/financial_account_features.rbi +260 -0
  261. data/rbi/stripe/resources/treasury/inbound_transfer.rbi +295 -0
  262. data/rbi/stripe/resources/treasury/outbound_payment.rbi +592 -0
  263. data/rbi/stripe/resources/treasury/outbound_transfer.rbi +431 -0
  264. data/rbi/stripe/resources/treasury/received_credit.rbi +302 -0
  265. data/rbi/stripe/resources/treasury/received_debit.rbi +256 -0
  266. data/rbi/stripe/resources/treasury/transaction.rbi +215 -0
  267. data/rbi/stripe/resources/treasury/transaction_entry.rbi +192 -0
  268. data/rbi/stripe/resources/v2/amount.rbi +14 -0
  269. data/rbi/stripe/resources/v2/billing/meter_event.rbi +37 -0
  270. data/rbi/stripe/resources/v2/billing/meter_event_adjustment.rbi +41 -0
  271. data/rbi/stripe/resources/v2/billing/meter_event_session.rbi +31 -0
  272. data/rbi/stripe/resources/v2/event.rbi +48 -0
  273. data/rbi/stripe/resources/v2/event_destination.rbi +91 -0
  274. data/rbi/stripe/resources/webhook_endpoint.rbi +168 -0
  275. data/rbi/stripe/services/account_capability_service.rbi +51 -0
  276. data/{lib/stripe/services/external_account_service.rb → rbi/stripe/services/account_external_account_service.rbi} +122 -135
  277. data/rbi/stripe/services/account_link_service.rbi +60 -0
  278. data/rbi/stripe/services/account_login_link_service.rbi +22 -0
  279. data/rbi/stripe/services/account_person_service.rbi +1011 -0
  280. data/rbi/stripe/services/account_service.rbi +4281 -0
  281. data/rbi/stripe/services/account_session_service.rbi +685 -0
  282. data/rbi/stripe/services/apple_pay_domain_service.rbi +76 -0
  283. data/rbi/stripe/services/application_fee_refund_service.rbi +93 -0
  284. data/rbi/stripe/services/application_fee_service.rbi +78 -0
  285. data/rbi/stripe/services/apps/secret_service.rbi +151 -0
  286. data/rbi/stripe/services/apps_service.rbi +9 -0
  287. data/rbi/stripe/services/balance_service.rbi +21 -0
  288. data/rbi/stripe/services/balance_transaction_service.rbi +93 -0
  289. data/rbi/stripe/services/billing/alert_service.rbi +152 -0
  290. data/rbi/stripe/services/billing/credit_balance_summary_service.rbi +68 -0
  291. data/rbi/stripe/services/billing/credit_balance_transaction_service.rbi +59 -0
  292. data/rbi/stripe/services/billing/credit_grant_service.rbi +211 -0
  293. data/rbi/stripe/services/billing/meter_event_adjustment_service.rbi +42 -0
  294. data/rbi/stripe/services/billing/meter_event_service.rbi +42 -0
  295. data/rbi/stripe/services/billing/meter_event_summary_service.rbi +54 -0
  296. data/rbi/stripe/services/billing/meter_service.rbi +163 -0
  297. data/rbi/stripe/services/billing_portal/configuration_service.rbi +555 -0
  298. data/rbi/stripe/services/billing_portal/session_service.rbi +204 -0
  299. data/rbi/stripe/services/billing_portal_service.rbi +10 -0
  300. data/rbi/stripe/services/billing_service.rbi +15 -0
  301. data/rbi/stripe/services/charge_service.rbi +448 -0
  302. data/rbi/stripe/services/checkout/session_line_item_service.rbi +33 -0
  303. data/rbi/stripe/services/checkout/session_service.rbi +2690 -0
  304. data/rbi/stripe/services/checkout_service.rbi +9 -0
  305. data/rbi/stripe/services/climate/order_service.rbi +142 -0
  306. data/rbi/stripe/services/climate/product_service.rbi +46 -0
  307. data/{lib/stripe/services/financial_connections/institution_service.rb → rbi/stripe/services/climate/supplier_service.rbi} +25 -36
  308. data/rbi/stripe/services/climate_service.rbi +11 -0
  309. data/rbi/stripe/services/confirmation_token_service.rbi +20 -0
  310. data/rbi/stripe/services/country_spec_service.rbi +44 -0
  311. data/rbi/stripe/services/coupon_service.rbi +194 -0
  312. data/{lib/stripe/services/quote_preview_invoice_service.rb → rbi/stripe/services/credit_note_line_item_service.rbi} +16 -20
  313. data/rbi/stripe/services/credit_note_preview_lines_service.rbi +167 -0
  314. data/rbi/stripe/services/credit_note_service.rbi +415 -0
  315. data/rbi/stripe/services/customer_balance_transaction_service.rbi +92 -0
  316. data/rbi/stripe/services/customer_cash_balance_service.rbi +45 -0
  317. data/rbi/stripe/services/customer_cash_balance_transaction_service.rbi +44 -0
  318. data/rbi/stripe/services/customer_funding_instructions_service.rbi +59 -0
  319. data/rbi/stripe/services/customer_payment_method_service.rbi +57 -0
  320. data/rbi/stripe/services/customer_payment_source_service.rbi +232 -0
  321. data/rbi/stripe/services/customer_service.rbi +647 -0
  322. data/rbi/stripe/services/customer_session_service.rbi +116 -0
  323. data/rbi/stripe/services/customer_tax_id_service.rbi +70 -0
  324. data/rbi/stripe/services/dispute_service.rbi +424 -0
  325. data/rbi/stripe/services/entitlements/active_entitlement_service.rbi +55 -0
  326. data/rbi/stripe/services/entitlements/feature_service.rbi +107 -0
  327. data/rbi/stripe/services/entitlements_service.rbi +10 -0
  328. data/rbi/stripe/services/ephemeral_key_service.rbi +53 -0
  329. data/rbi/stripe/services/event_service.rbi +83 -0
  330. data/rbi/stripe/services/exchange_rate_service.rbi +44 -0
  331. data/rbi/stripe/services/file_link_service.rbi +124 -0
  332. data/rbi/stripe/services/file_service.rbi +116 -0
  333. data/rbi/stripe/services/financial_connections/account_owner_service.rbi +42 -0
  334. data/rbi/stripe/services/financial_connections/account_service.rbi +133 -0
  335. data/rbi/stripe/services/financial_connections/session_service.rbi +88 -0
  336. data/rbi/stripe/services/financial_connections/transaction_service.rbi +92 -0
  337. data/rbi/stripe/services/financial_connections_service.rbi +11 -0
  338. data/rbi/stripe/services/forwarding/request_service.rbi +134 -0
  339. data/rbi/stripe/services/forwarding_service.rbi +9 -0
  340. data/rbi/stripe/services/identity/verification_report_service.rbi +87 -0
  341. data/rbi/stripe/services/identity/verification_session_service.rbi +339 -0
  342. data/rbi/stripe/services/identity_service.rbi +10 -0
  343. data/rbi/stripe/services/invoice_item_service.rbi +366 -0
  344. data/rbi/stripe/services/invoice_line_item_service.rbi +259 -0
  345. data/rbi/stripe/services/invoice_payment_service.rbi +71 -0
  346. data/rbi/stripe/services/invoice_rendering_template_service.rbi +82 -0
  347. data/rbi/stripe/services/invoice_service.rbi +3027 -0
  348. data/rbi/stripe/services/issuing/authorization_service.rbi +146 -0
  349. data/rbi/stripe/services/issuing/card_service.rbi +495 -0
  350. data/rbi/stripe/services/issuing/cardholder_service.rbi +587 -0
  351. data/rbi/stripe/services/issuing/dispute_service.rbi +707 -0
  352. data/rbi/stripe/services/issuing/personalization_design_service.rbi +243 -0
  353. data/rbi/stripe/services/issuing/physical_bundle_service.rbi +59 -0
  354. data/rbi/stripe/services/issuing/token_service.rbi +99 -0
  355. data/rbi/stripe/services/issuing/transaction_service.rbi +105 -0
  356. data/rbi/stripe/services/issuing_service.rbi +16 -0
  357. data/rbi/stripe/services/mandate_service.rbi +20 -0
  358. data/rbi/stripe/services/payment_intent_service.rbi +7994 -0
  359. data/{lib/stripe/services/payment_intent_amount_details_line_item_service.rb → rbi/stripe/services/payment_link_line_item_service.rbi} +16 -20
  360. data/rbi/stripe/services/payment_link_service.rbi +1441 -0
  361. data/rbi/stripe/services/payment_method_configuration_service.rbi +2487 -0
  362. data/rbi/stripe/services/payment_method_domain_service.rbi +112 -0
  363. data/rbi/stripe/services/payment_method_service.rbi +781 -0
  364. data/rbi/stripe/services/payout_service.rbi +205 -0
  365. data/rbi/stripe/services/plan_service.rbi +282 -0
  366. data/rbi/stripe/services/price_service.rbi +546 -0
  367. data/rbi/stripe/services/product_feature_service.rbi +67 -0
  368. data/rbi/stripe/services/product_service.rbi +477 -0
  369. data/rbi/stripe/services/promotion_code_service.rbi +214 -0
  370. data/rbi/stripe/services/quote_computed_upfront_line_items_service.rbi +31 -0
  371. data/{lib/stripe/services/order_line_item_service.rb → rbi/stripe/services/quote_line_item_service.rbi} +16 -20
  372. data/rbi/stripe/services/quote_service.rbi +699 -0
  373. data/rbi/stripe/services/radar/early_fraud_warning_service.rbi +85 -0
  374. data/rbi/stripe/services/radar/value_list_item_service.rbi +109 -0
  375. data/rbi/stripe/services/radar/value_list_service.rbi +141 -0
  376. data/rbi/stripe/services/radar_service.rbi +11 -0
  377. data/rbi/stripe/services/refund_service.rbi +185 -0
  378. data/rbi/stripe/services/reporting/report_run_service.rbi +135 -0
  379. data/rbi/stripe/services/reporting/report_type_service.rbi +35 -0
  380. data/rbi/stripe/services/reporting_service.rbi +10 -0
  381. data/rbi/stripe/services/review_service.rbi +84 -0
  382. data/rbi/stripe/services/setup_attempt_service.rbi +65 -0
  383. data/rbi/stripe/services/setup_intent_service.rbi +3709 -0
  384. data/rbi/stripe/services/shipping_rate_service.rbi +241 -0
  385. data/rbi/stripe/services/sigma/scheduled_query_run_service.rbi +46 -0
  386. data/rbi/stripe/services/sigma_service.rbi +9 -0
  387. data/rbi/stripe/services/source_service.rbi +663 -0
  388. data/{lib/stripe/services/quote_line_service.rb → rbi/stripe/services/source_transaction_service.rbi} +16 -20
  389. data/rbi/stripe/services/subscription_item_service.rbi +350 -0
  390. data/rbi/stripe/services/subscription_schedule_service.rbi +1333 -0
  391. data/rbi/stripe/services/subscription_service.rbi +1684 -0
  392. data/{lib/stripe/services/financial_connections/account_inferred_balance_service.rb → rbi/stripe/services/tax/calculation_line_item_service.rbi} +17 -21
  393. data/rbi/stripe/services/tax/calculation_service.rbi +234 -0
  394. data/rbi/stripe/services/tax/registration_service.rbi +2278 -0
  395. data/rbi/stripe/services/tax/settings_service.rbi +93 -0
  396. data/{lib/stripe/services/privacy/redaction_job_validation_error_service.rb → rbi/stripe/services/tax/transaction_line_item_service.rbi} +17 -21
  397. data/rbi/stripe/services/tax/transaction_service.rbi +146 -0
  398. data/rbi/stripe/services/tax_code_service.rbi +44 -0
  399. data/rbi/stripe/services/tax_id_service.rbi +110 -0
  400. data/rbi/stripe/services/tax_rate_service.rbi +185 -0
  401. data/rbi/stripe/services/tax_service.rbi +12 -0
  402. data/rbi/stripe/services/terminal/configuration_service.rbi +1286 -0
  403. data/rbi/stripe/services/terminal/connection_token_service.rbi +25 -0
  404. data/rbi/stripe/services/terminal/location_service.rbi +182 -0
  405. data/rbi/stripe/services/terminal/reader_service.rbi +540 -0
  406. data/rbi/stripe/services/terminal_service.rbi +12 -0
  407. data/rbi/stripe/services/test_helpers/confirmation_token_service.rbi +746 -0
  408. data/rbi/stripe/services/test_helpers/customer_service.rbi +33 -0
  409. data/rbi/stripe/services/test_helpers/issuing/authorization_service.rbi +848 -0
  410. data/rbi/stripe/services/test_helpers/issuing/card_service.rbi +76 -0
  411. data/rbi/stripe/services/test_helpers/issuing/personalization_design_service.rbi +69 -0
  412. data/rbi/stripe/services/test_helpers/issuing/transaction_service.rbi +711 -0
  413. data/rbi/stripe/services/test_helpers/issuing_service.rbi +14 -0
  414. data/rbi/stripe/services/test_helpers/refund_service.rbi +22 -0
  415. data/rbi/stripe/services/test_helpers/terminal/reader_service.rbi +93 -0
  416. data/rbi/stripe/services/test_helpers/terminal_service.rbi +11 -0
  417. data/rbi/stripe/services/test_helpers/test_clock_service.rbi +90 -0
  418. data/rbi/stripe/services/test_helpers/treasury/inbound_transfer_service.rbi +64 -0
  419. data/rbi/stripe/services/test_helpers/treasury/outbound_payment_service.rbi +125 -0
  420. data/rbi/stripe/services/test_helpers/treasury/outbound_transfer_service.rbi +125 -0
  421. data/rbi/stripe/services/test_helpers/treasury/received_credit_service.rbi +87 -0
  422. data/rbi/stripe/services/test_helpers/treasury/received_debit_service.rbi +87 -0
  423. data/rbi/stripe/services/test_helpers/treasury_service.rbi +15 -0
  424. data/rbi/stripe/services/test_helpers_service.rbi +15 -0
  425. data/rbi/stripe/services/token_service.rbi +1257 -0
  426. data/rbi/stripe/services/topup_service.rbi +176 -0
  427. data/rbi/stripe/services/transfer_reversal_service.rbi +101 -0
  428. data/rbi/stripe/services/transfer_service.rbi +152 -0
  429. data/rbi/stripe/services/treasury/credit_reversal_service.rbi +84 -0
  430. data/rbi/stripe/services/treasury/debit_reversal_service.rbi +88 -0
  431. data/rbi/stripe/services/treasury/financial_account_features_service.rbi +198 -0
  432. data/rbi/stripe/services/treasury/financial_account_service.rbi +566 -0
  433. data/rbi/stripe/services/treasury/inbound_transfer_service.rbi +117 -0
  434. data/rbi/stripe/services/treasury/outbound_payment_service.rbi +304 -0
  435. data/rbi/stripe/services/treasury/outbound_transfer_service.rbi +157 -0
  436. data/rbi/stripe/services/treasury/received_credit_service.rbi +72 -0
  437. data/rbi/stripe/services/treasury/received_debit_service.rbi +59 -0
  438. data/rbi/stripe/services/treasury/transaction_entry_service.rbi +111 -0
  439. data/rbi/stripe/services/treasury/transaction_service.rbi +122 -0
  440. data/rbi/stripe/services/treasury_service.rbi +18 -0
  441. data/rbi/stripe/services/v1_services.rbi +77 -0
  442. data/rbi/stripe/services/v2/billing/meter_event_adjustment_service.rbi +39 -0
  443. data/rbi/stripe/services/v2/billing/meter_event_service.rbi +42 -0
  444. data/rbi/stripe/services/v2/billing/meter_event_session_service.rbi +18 -0
  445. data/rbi/stripe/services/v2/billing/meter_event_stream_service.rbi +55 -0
  446. data/rbi/stripe/services/v2/billing_service.rbi +14 -0
  447. data/rbi/stripe/services/v2/core/event_destination_service.rbi +192 -0
  448. data/rbi/stripe/services/v2/core/event_service.rbi +36 -0
  449. data/rbi/stripe/services/v2/core_service.rbi +12 -0
  450. data/rbi/stripe/services/v2_services.rbi +10 -0
  451. data/rbi/stripe/services/webhook_endpoint_service.rbi +129 -0
  452. data/stripe.gemspec +1 -4
  453. metadata +325 -162
  454. data/lib/stripe/events/v2_core_account_closed_event.rb +0 -21
  455. data/lib/stripe/events/v2_core_account_created_event.rb +0 -21
  456. data/lib/stripe/events/v2_core_account_including_configuration_customer_capability_status_updated_event.rb +0 -23
  457. data/lib/stripe/events/v2_core_account_including_configuration_customer_updated_event.rb +0 -21
  458. data/lib/stripe/events/v2_core_account_including_configuration_merchant_capability_status_updated_event.rb +0 -23
  459. data/lib/stripe/events/v2_core_account_including_configuration_merchant_updated_event.rb +0 -21
  460. data/lib/stripe/events/v2_core_account_including_configuration_recipient_capability_status_updated_event.rb +0 -23
  461. data/lib/stripe/events/v2_core_account_including_configuration_recipient_updated_event.rb +0 -21
  462. data/lib/stripe/events/v2_core_account_including_defaults_updated_event.rb +0 -21
  463. data/lib/stripe/events/v2_core_account_including_identity_updated_event.rb +0 -21
  464. data/lib/stripe/events/v2_core_account_including_requirements_updated_event.rb +0 -21
  465. data/lib/stripe/events/v2_core_account_link_completed_event.rb +0 -13
  466. data/lib/stripe/events/v2_core_account_person_created_event.rb +0 -23
  467. data/lib/stripe/events/v2_core_account_person_deleted_event.rb +0 -23
  468. data/lib/stripe/events/v2_core_account_person_updated_event.rb +0 -23
  469. data/lib/stripe/events/v2_core_account_updated_event.rb +0 -21
  470. data/lib/stripe/events/v2_money_management_adjustment_created_event.rb +0 -21
  471. data/lib/stripe/events/v2_money_management_financial_account_created_event.rb +0 -21
  472. data/lib/stripe/events/v2_money_management_financial_account_updated_event.rb +0 -21
  473. data/lib/stripe/events/v2_money_management_financial_address_activated_event.rb +0 -21
  474. data/lib/stripe/events/v2_money_management_financial_address_failed_event.rb +0 -21
  475. data/lib/stripe/events/v2_money_management_inbound_transfer_available_event.rb +0 -23
  476. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_failed_event.rb +0 -21
  477. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_processing_event.rb +0 -21
  478. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_queued_event.rb +0 -21
  479. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_returned_event.rb +0 -21
  480. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_succeeded_event.rb +0 -21
  481. data/lib/stripe/events/v2_money_management_outbound_payment_canceled_event.rb +0 -21
  482. data/lib/stripe/events/v2_money_management_outbound_payment_created_event.rb +0 -21
  483. data/lib/stripe/events/v2_money_management_outbound_payment_failed_event.rb +0 -21
  484. data/lib/stripe/events/v2_money_management_outbound_payment_posted_event.rb +0 -21
  485. data/lib/stripe/events/v2_money_management_outbound_payment_returned_event.rb +0 -21
  486. data/lib/stripe/events/v2_money_management_outbound_payment_updated_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_outbound_transfer_updated_event.rb +0 -21
  493. data/lib/stripe/events/v2_money_management_received_credit_available_event.rb +0 -23
  494. data/lib/stripe/events/v2_money_management_received_credit_failed_event.rb +0 -21
  495. data/lib/stripe/events/v2_money_management_received_credit_returned_event.rb +0 -21
  496. data/lib/stripe/events/v2_money_management_received_credit_succeeded_event.rb +0 -21
  497. data/lib/stripe/events/v2_money_management_received_debit_canceled_event.rb +0 -21
  498. data/lib/stripe/events/v2_money_management_received_debit_failed_event.rb +0 -21
  499. data/lib/stripe/events/v2_money_management_received_debit_pending_event.rb +0 -21
  500. data/lib/stripe/events/v2_money_management_received_debit_succeeded_event.rb +0 -21
  501. data/lib/stripe/events/v2_money_management_received_debit_updated_event.rb +0 -21
  502. data/lib/stripe/events/v2_money_management_transaction_created_event.rb +0 -21
  503. data/lib/stripe/events/v2_money_management_transaction_updated_event.rb +0 -21
  504. data/lib/stripe/events/v2_off_session_payment_requires_capture_event.rb +0 -21
  505. data/lib/stripe/events/v2_payments_off_session_payment_authorization_attempt_failed_event.rb +0 -21
  506. data/lib/stripe/events/v2_payments_off_session_payment_authorization_attempt_started_event.rb +0 -21
  507. data/lib/stripe/events/v2_payments_off_session_payment_canceled_event.rb +0 -21
  508. data/lib/stripe/events/v2_payments_off_session_payment_created_event.rb +0 -21
  509. data/lib/stripe/events/v2_payments_off_session_payment_failed_event.rb +0 -21
  510. data/lib/stripe/events/v2_payments_off_session_payment_succeeded_event.rb +0 -21
  511. data/lib/stripe/resources/account_notice.rb +0 -123
  512. data/lib/stripe/resources/balance_settings.rb +0 -105
  513. data/lib/stripe/resources/capital/financing_offer.rb +0 -179
  514. data/lib/stripe/resources/capital/financing_summary.rb +0 -55
  515. data/lib/stripe/resources/capital/financing_transaction.rb +0 -114
  516. data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +0 -27
  517. data/lib/stripe/resources/financial_connections/institution.rb +0 -92
  518. data/lib/stripe/resources/fx_quote.rb +0 -184
  519. data/lib/stripe/resources/issuing/credit_underwriting_record.rb +0 -602
  520. data/lib/stripe/resources/issuing/dispute_settlement_detail.rb +0 -82
  521. data/lib/stripe/resources/issuing/fraud_liability_debit.rb +0 -86
  522. data/lib/stripe/resources/issuing/settlement.rb +0 -53
  523. data/lib/stripe/resources/margin.rb +0 -115
  524. data/lib/stripe/resources/order.rb +0 -2958
  525. data/lib/stripe/resources/payment_attempt_record.rb +0 -1099
  526. data/lib/stripe/resources/payment_intent_amount_details_line_item.rb +0 -72
  527. data/lib/stripe/resources/payment_record.rb +0 -1628
  528. data/lib/stripe/resources/privacy/redaction_job.rb +0 -298
  529. data/lib/stripe/resources/privacy/redaction_job_validation_error.rb +0 -33
  530. data/lib/stripe/resources/quote_line.rb +0 -274
  531. data/lib/stripe/resources/quote_preview_invoice.rb +0 -663
  532. data/lib/stripe/resources/quote_preview_subscription_schedule.rb +0 -371
  533. data/lib/stripe/resources/tax/association.rb +0 -66
  534. data/lib/stripe/resources/tax/form.rb +0 -211
  535. data/lib/stripe/resources/terminal/reader_collected_data.rb +0 -31
  536. data/lib/stripe/resources/v2/core/account.rb +0 -1755
  537. data/lib/stripe/resources/v2/core/account_link.rb +0 -56
  538. data/lib/stripe/resources/v2/core/person.rb +0 -276
  539. data/lib/stripe/resources/v2/core/vault/gb_bank_account.rb +0 -74
  540. data/lib/stripe/resources/v2/core/vault/us_bank_account.rb +0 -39
  541. data/lib/stripe/resources/v2/financial_address_credit_simulation.rb +0 -20
  542. data/lib/stripe/resources/v2/financial_address_generated_microdeposits.rb +0 -22
  543. data/lib/stripe/resources/v2/money_management/adjustment.rb +0 -51
  544. data/lib/stripe/resources/v2/money_management/financial_account.rb +0 -58
  545. data/lib/stripe/resources/v2/money_management/financial_address.rb +0 -68
  546. data/lib/stripe/resources/v2/money_management/inbound_transfer.rb +0 -94
  547. data/lib/stripe/resources/v2/money_management/outbound_payment.rb +0 -129
  548. data/lib/stripe/resources/v2/money_management/outbound_payment_quote.rb +0 -82
  549. data/lib/stripe/resources/v2/money_management/outbound_setup_intent.rb +0 -45
  550. data/lib/stripe/resources/v2/money_management/outbound_transfer.rb +0 -117
  551. data/lib/stripe/resources/v2/money_management/payout_method.rb +0 -75
  552. data/lib/stripe/resources/v2/money_management/payout_methods_bank_account_spec.rb +0 -49
  553. data/lib/stripe/resources/v2/money_management/received_credit.rb +0 -122
  554. data/lib/stripe/resources/v2/money_management/received_debit.rb +0 -84
  555. data/lib/stripe/resources/v2/money_management/transaction.rb +0 -78
  556. data/lib/stripe/resources/v2/money_management/transaction_entry.rb +0 -68
  557. data/lib/stripe/resources/v2/payments/off_session_payment.rb +0 -72
  558. data/lib/stripe/services/account_notice_service.rb +0 -101
  559. data/lib/stripe/services/balance_settings_service.rb +0 -96
  560. data/lib/stripe/services/capital/financing_offer_service.rb +0 -112
  561. data/lib/stripe/services/capital/financing_summary_service.rb +0 -28
  562. data/lib/stripe/services/capital/financing_transaction_service.rb +0 -79
  563. data/lib/stripe/services/capital_service.rb +0 -15
  564. data/lib/stripe/services/fx_quote_service.rb +0 -123
  565. data/lib/stripe/services/issuing/credit_underwriting_record_service.rb +0 -504
  566. data/lib/stripe/services/issuing/dispute_settlement_detail_service.rb +0 -66
  567. data/lib/stripe/services/issuing/fraud_liability_debit_service.rb +0 -83
  568. data/lib/stripe/services/margin_service.rb +0 -119
  569. data/lib/stripe/services/order_service.rb +0 -2388
  570. data/lib/stripe/services/payment_attempt_record_service.rb +0 -49
  571. data/lib/stripe/services/payment_record_service.rb +0 -542
  572. data/lib/stripe/services/privacy/redaction_job_service.rb +0 -240
  573. data/lib/stripe/services/privacy_service.rb +0 -13
  574. data/lib/stripe/services/quote_preview_subscription_schedule_service.rb +0 -35
  575. data/lib/stripe/services/tax/association_service.rb +0 -31
  576. data/lib/stripe/services/tax/form_service.rb +0 -100
  577. data/lib/stripe/services/terminal/reader_collected_data_service.rb +0 -28
  578. data/lib/stripe/services/v2/core/account_link_service.rb +0 -76
  579. data/lib/stripe/services/v2/core/account_service.rb +0 -4170
  580. data/lib/stripe/services/v2/core/accounts/person_service.rb +0 -1045
  581. data/lib/stripe/services/v2/core/vault/gb_bank_account_service.rb +0 -130
  582. data/lib/stripe/services/v2/core/vault/us_bank_account_service.rb +0 -107
  583. data/lib/stripe/services/v2/core/vault_service.rb +0 -18
  584. data/lib/stripe/services/v2/money_management/adjustment_service.rb +0 -74
  585. data/lib/stripe/services/v2/money_management/financial_account_service.rb +0 -43
  586. data/lib/stripe/services/v2/money_management/financial_address_service.rb +0 -82
  587. data/lib/stripe/services/v2/money_management/inbound_transfer_service.rb +0 -125
  588. data/lib/stripe/services/v2/money_management/outbound_payment_quote_service.rb +0 -95
  589. data/lib/stripe/services/v2/money_management/outbound_payment_service.rb +0 -199
  590. data/lib/stripe/services/v2/money_management/outbound_setup_intent_service.rb +0 -235
  591. data/lib/stripe/services/v2/money_management/outbound_transfer_service.rb +0 -172
  592. data/lib/stripe/services/v2/money_management/payout_method_service.rb +0 -90
  593. data/lib/stripe/services/v2/money_management/payout_methods_bank_account_spec_service.rb +0 -32
  594. data/lib/stripe/services/v2/money_management/received_credit_service.rb +0 -70
  595. data/lib/stripe/services/v2/money_management/received_debit_service.rb +0 -43
  596. data/lib/stripe/services/v2/money_management/transaction_entry_service.rb +0 -69
  597. data/lib/stripe/services/v2/money_management/transaction_service.rb +0 -73
  598. data/lib/stripe/services/v2/money_management_service.rb +0 -31
  599. data/lib/stripe/services/v2/payment_service.rb +0 -15
  600. data/lib/stripe/services/v2/payments/off_session_payment_service.rb +0 -137
  601. data/lib/stripe/services/v2/test_helper_service.rb +0 -15
  602. data/lib/stripe/services/v2/test_helpers/financial_address_service.rb +0 -49
  603. data/rbi/stripe.rbi +0 -193855
@@ -3,14 +3,10 @@
3
3
 
4
4
  module Stripe
5
5
  class QuoteService < StripeService
6
- attr_reader :preview_invoices, :preview_subscription_schedules, :lines, :line_items, :computed_upfront_line_items
6
+ attr_reader :line_items, :computed_upfront_line_items
7
7
 
8
8
  def initialize(requestor)
9
9
  super
10
- @preview_invoices = Stripe::QuotePreviewInvoiceService.new(@requestor)
11
- @preview_subscription_schedules = Stripe::QuotePreviewSubscriptionScheduleService
12
- .new(@requestor)
13
- @lines = Stripe::QuoteLineService.new(@requestor)
14
10
  @line_items = Stripe::QuoteLineItemService.new(@requestor)
15
11
  @computed_upfront_line_items = Stripe::QuoteComputedUpfrontLineItemsService.new(@requestor)
16
12
  end
@@ -18,14 +14,10 @@ module Stripe
18
14
  class ListParams < Stripe::RequestParams
19
15
  # The ID of the customer whose quotes will be retrieved.
20
16
  attr_accessor :customer
21
- # The ID of the account whose quotes will be retrieved.
22
- attr_accessor :customer_account
23
17
  # 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.
24
18
  attr_accessor :ending_before
25
19
  # Specifies which fields in the response should be expanded.
26
20
  attr_accessor :expand
27
- # The subscription which the quote updates.
28
- attr_accessor :from_subscription
29
21
  # A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
30
22
  attr_accessor :limit
31
23
  # 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.
@@ -37,20 +29,16 @@ module Stripe
37
29
 
38
30
  def initialize(
39
31
  customer: nil,
40
- customer_account: nil,
41
32
  ending_before: nil,
42
33
  expand: nil,
43
- from_subscription: nil,
44
34
  limit: nil,
45
35
  starting_after: nil,
46
36
  status: nil,
47
37
  test_clock: nil
48
38
  )
49
39
  @customer = customer
50
- @customer_account = customer_account
51
40
  @ending_before = ending_before
52
41
  @expand = expand
53
- @from_subscription = from_subscription
54
42
  @limit = limit
55
43
  @starting_after = starting_after
56
44
  @status = status
@@ -83,44 +71,16 @@ module Stripe
83
71
  end
84
72
 
85
73
  class Discount < Stripe::RequestParams
86
- class DiscountEnd < Stripe::RequestParams
87
- class Duration < Stripe::RequestParams
88
- # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
89
- attr_accessor :interval
90
- # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
91
- attr_accessor :interval_count
92
-
93
- def initialize(interval: nil, interval_count: nil)
94
- @interval = interval
95
- @interval_count = interval_count
96
- end
97
- end
98
- # Time span for the redeemed discount.
99
- attr_accessor :duration
100
- # A precise Unix timestamp for the discount to end. Must be in the future.
101
- attr_accessor :timestamp
102
- # The type of calculation made to determine when the discount ends.
103
- attr_accessor :type
104
-
105
- def initialize(duration: nil, timestamp: nil, type: nil)
106
- @duration = duration
107
- @timestamp = timestamp
108
- @type = type
109
- end
110
- end
111
74
  # ID of the coupon to create a new discount for.
112
75
  attr_accessor :coupon
113
76
  # ID of an existing discount on the object (or one of its ancestors) to reuse.
114
77
  attr_accessor :discount
115
- # Details to determine how long the discount should be applied for.
116
- attr_accessor :discount_end
117
78
  # ID of the promotion code to create a new discount for.
118
79
  attr_accessor :promotion_code
119
80
 
120
- def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
81
+ def initialize(coupon: nil, discount: nil, promotion_code: nil)
121
82
  @coupon = coupon
122
83
  @discount = discount
123
- @discount_end = discount_end
124
84
  @promotion_code = promotion_code
125
85
  end
126
86
  end
@@ -160,522 +120,18 @@ module Stripe
160
120
  end
161
121
  end
162
122
 
163
- class Line < Stripe::RequestParams
164
- class Action < Stripe::RequestParams
165
- class AddDiscount < Stripe::RequestParams
166
- class DiscountEnd < Stripe::RequestParams
167
- # The type of calculation made to determine when the discount ends.
168
- attr_accessor :type
169
-
170
- def initialize(type: nil)
171
- @type = type
172
- end
173
- end
174
- # The coupon code to redeem.
175
- attr_accessor :coupon
176
- # An ID of an existing discount for a coupon that was already redeemed.
177
- attr_accessor :discount
178
- # Details to determine how long the discount should be applied for.
179
- attr_accessor :discount_end
180
- # The index, starting at 0, at which to position the new discount. When not supplied, Stripe defaults to appending the discount to the end of the `discounts` array.
181
- attr_accessor :index
182
- # The promotion code to redeem.
183
- attr_accessor :promotion_code
184
-
185
- def initialize(
186
- coupon: nil,
187
- discount: nil,
188
- discount_end: nil,
189
- index: nil,
190
- promotion_code: nil
191
- )
192
- @coupon = coupon
193
- @discount = discount
194
- @discount_end = discount_end
195
- @index = index
196
- @promotion_code = promotion_code
197
- end
198
- end
199
-
200
- class AddItem < Stripe::RequestParams
201
- class Discount < Stripe::RequestParams
202
- class DiscountEnd < Stripe::RequestParams
203
- class Duration < Stripe::RequestParams
204
- # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
205
- attr_accessor :interval
206
- # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
207
- attr_accessor :interval_count
208
-
209
- def initialize(interval: nil, interval_count: nil)
210
- @interval = interval
211
- @interval_count = interval_count
212
- end
213
- end
214
- # Time span for the redeemed discount.
215
- attr_accessor :duration
216
- # A precise Unix timestamp for the discount to end. Must be in the future.
217
- attr_accessor :timestamp
218
- # The type of calculation made to determine when the discount ends.
219
- attr_accessor :type
220
-
221
- def initialize(duration: nil, timestamp: nil, type: nil)
222
- @duration = duration
223
- @timestamp = timestamp
224
- @type = type
225
- end
226
- end
227
- # ID of the coupon to create a new discount for.
228
- attr_accessor :coupon
229
- # ID of an existing discount on the object (or one of its ancestors) to reuse.
230
- attr_accessor :discount
231
- # Details to determine how long the discount should be applied for.
232
- attr_accessor :discount_end
233
- # ID of the promotion code to create a new discount for.
234
- attr_accessor :promotion_code
235
-
236
- def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
237
- @coupon = coupon
238
- @discount = discount
239
- @discount_end = discount_end
240
- @promotion_code = promotion_code
241
- end
242
- end
243
-
244
- class Trial < Stripe::RequestParams
245
- # List of price IDs which, if present on the subscription following a paid trial, constitute opting-in to the paid trial. Currently only supports at most 1 price ID.
246
- attr_accessor :converts_to
247
- # Determines the type of trial for this item.
248
- attr_accessor :type
249
-
250
- def initialize(converts_to: nil, type: nil)
251
- @converts_to = converts_to
252
- @type = type
253
- end
254
- end
255
- # The discounts applied to the item. Subscription item discounts are applied before subscription discounts.
256
- attr_accessor :discounts
257
- # 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`.
258
- attr_accessor :metadata
259
- # The ID of the price object.
260
- attr_accessor :price
261
- # Quantity for this item.
262
- attr_accessor :quantity
263
- # The tax rates that apply to this subscription item. When set, the `default_tax_rates` on the subscription do not apply to this `subscription_item`.
264
- attr_accessor :tax_rates
265
- # Options that configure the trial on the subscription item.
266
- attr_accessor :trial
267
-
268
- def initialize(
269
- discounts: nil,
270
- metadata: nil,
271
- price: nil,
272
- quantity: nil,
273
- tax_rates: nil,
274
- trial: nil
275
- )
276
- @discounts = discounts
277
- @metadata = metadata
278
- @price = price
279
- @quantity = quantity
280
- @tax_rates = tax_rates
281
- @trial = trial
282
- end
283
- end
284
-
285
- class RemoveDiscount < Stripe::RequestParams
286
- # The coupon code to remove from the `discounts` array.
287
- attr_accessor :coupon
288
- # The ID of a discount to remove from the `discounts` array.
289
- attr_accessor :discount
290
- # The ID of a promotion code to remove from the `discounts` array.
291
- attr_accessor :promotion_code
292
-
293
- def initialize(coupon: nil, discount: nil, promotion_code: nil)
294
- @coupon = coupon
295
- @discount = discount
296
- @promotion_code = promotion_code
297
- end
298
- end
299
-
300
- class RemoveItem < Stripe::RequestParams
301
- # ID of a price to remove.
302
- attr_accessor :price
303
-
304
- def initialize(price: nil)
305
- @price = price
306
- end
307
- end
308
-
309
- class SetDiscount < Stripe::RequestParams
310
- # The coupon code to replace the `discounts` array with.
311
- attr_accessor :coupon
312
- # An ID of an existing discount to replace the `discounts` array with.
313
- attr_accessor :discount
314
- # An ID of an existing promotion code to replace the `discounts` array with.
315
- attr_accessor :promotion_code
316
-
317
- def initialize(coupon: nil, discount: nil, promotion_code: nil)
318
- @coupon = coupon
319
- @discount = discount
320
- @promotion_code = promotion_code
321
- end
322
- end
323
-
324
- class SetItem < Stripe::RequestParams
325
- class Discount < Stripe::RequestParams
326
- class DiscountEnd < Stripe::RequestParams
327
- class Duration < Stripe::RequestParams
328
- # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
329
- attr_accessor :interval
330
- # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
331
- attr_accessor :interval_count
332
-
333
- def initialize(interval: nil, interval_count: nil)
334
- @interval = interval
335
- @interval_count = interval_count
336
- end
337
- end
338
- # Time span for the redeemed discount.
339
- attr_accessor :duration
340
- # A precise Unix timestamp for the discount to end. Must be in the future.
341
- attr_accessor :timestamp
342
- # The type of calculation made to determine when the discount ends.
343
- attr_accessor :type
344
-
345
- def initialize(duration: nil, timestamp: nil, type: nil)
346
- @duration = duration
347
- @timestamp = timestamp
348
- @type = type
349
- end
350
- end
351
- # ID of the coupon to create a new discount for.
352
- attr_accessor :coupon
353
- # ID of an existing discount on the object (or one of its ancestors) to reuse.
354
- attr_accessor :discount
355
- # Details to determine how long the discount should be applied for.
356
- attr_accessor :discount_end
357
- # ID of the promotion code to create a new discount for.
358
- attr_accessor :promotion_code
359
-
360
- def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
361
- @coupon = coupon
362
- @discount = discount
363
- @discount_end = discount_end
364
- @promotion_code = promotion_code
365
- end
366
- end
367
-
368
- class Trial < Stripe::RequestParams
369
- # List of price IDs which, if present on the subscription following a paid trial, constitute opting-in to the paid trial. Currently only supports at most 1 price ID.
370
- attr_accessor :converts_to
371
- # Determines the type of trial for this item.
372
- attr_accessor :type
373
-
374
- def initialize(converts_to: nil, type: nil)
375
- @converts_to = converts_to
376
- @type = type
377
- end
378
- end
379
- # If an item with the `price` already exists, passing this will override the `discounts` array on the subscription item that matches that price. Otherwise, the `items` array is cleared and a single new item is added with the supplied `discounts`.
380
- attr_accessor :discounts
381
- # If an item with the `price` already exists, passing this will override the `metadata` on the subscription item that matches that price. Otherwise, the `items` array is cleared and a single new item is added with the supplied `metadata`.
382
- attr_accessor :metadata
383
- # The ID of the price object.
384
- attr_accessor :price
385
- # If an item with the `price` already exists, passing this will override the quantity on the subscription item that matches that price. Otherwise, the `items` array is cleared and a single new item is added with the supplied `quantity`.
386
- attr_accessor :quantity
387
- # If an item with the `price` already exists, passing this will override the `tax_rates` array on the subscription item that matches that price. Otherwise, the `items` array is cleared and a single new item is added with the supplied `tax_rates`.
388
- attr_accessor :tax_rates
389
- # If an item with the `price` already exists, passing this will override the `trial` configuration on the subscription item that matches that price. Otherwise, the `items` array is cleared and a single new item is added with the supplied `trial`.
390
- attr_accessor :trial
391
-
392
- def initialize(
393
- discounts: nil,
394
- metadata: nil,
395
- price: nil,
396
- quantity: nil,
397
- tax_rates: nil,
398
- trial: nil
399
- )
400
- @discounts = discounts
401
- @metadata = metadata
402
- @price = price
403
- @quantity = quantity
404
- @tax_rates = tax_rates
405
- @trial = trial
406
- end
407
- end
408
- # Details for the `add_discount` type.
409
- attr_accessor :add_discount
410
- # Details for the `add_item` type.
411
- attr_accessor :add_item
412
- # Details for the `add_metadata` type: specify a hash of key-value pairs.
413
- attr_accessor :add_metadata
414
- # Details for the `remove_discount` type.
415
- attr_accessor :remove_discount
416
- # Details for the `remove_item` type.
417
- attr_accessor :remove_item
418
- # Details for the `remove_metadata` type: specify an array of metadata keys.
419
- attr_accessor :remove_metadata
420
- # Details for the `set_discounts` type.
421
- attr_accessor :set_discounts
422
- # Details for the `set_items` type.
423
- attr_accessor :set_items
424
- # Details for the `set_metadata` type: specify an array of key-value pairs.
425
- attr_accessor :set_metadata
426
- # The type of action the quote line performs.
427
- attr_accessor :type
428
-
429
- def initialize(
430
- add_discount: nil,
431
- add_item: nil,
432
- add_metadata: nil,
433
- remove_discount: nil,
434
- remove_item: nil,
435
- remove_metadata: nil,
436
- set_discounts: nil,
437
- set_items: nil,
438
- set_metadata: nil,
439
- type: nil
440
- )
441
- @add_discount = add_discount
442
- @add_item = add_item
443
- @add_metadata = add_metadata
444
- @remove_discount = remove_discount
445
- @remove_item = remove_item
446
- @remove_metadata = remove_metadata
447
- @set_discounts = set_discounts
448
- @set_items = set_items
449
- @set_metadata = set_metadata
450
- @type = type
451
- end
452
- end
453
-
454
- class AppliesTo < Stripe::RequestParams
455
- # A custom string that identifies a new subscription schedule being created upon quote acceptance. All quote lines with the same `new_reference` field will be applied to the creation of a new subscription schedule.
456
- attr_accessor :new_reference
457
- # The ID of the schedule the line applies to.
458
- attr_accessor :subscription_schedule
459
- # Describes whether the quote line is affecting a new schedule or an existing schedule.
460
- attr_accessor :type
461
-
462
- def initialize(new_reference: nil, subscription_schedule: nil, type: nil)
463
- @new_reference = new_reference
464
- @subscription_schedule = subscription_schedule
465
- @type = type
466
- end
467
- end
468
-
469
- class CancelSubscriptionSchedule < Stripe::RequestParams
470
- # Timestamp helper to cancel the underlying schedule on the accompanying line's start date. Must be set to `line_starts_at`.
471
- attr_accessor :cancel_at
472
- # If the subscription schedule is `active`, indicates if a final invoice will be generated that contains any un-invoiced metered usage and new/pending proration invoice items. Boolean that defaults to `true`.
473
- attr_accessor :invoice_now
474
- # If the subscription schedule is `active`, indicates if the cancellation should be prorated. Boolean that defaults to `true`.
475
- attr_accessor :prorate
476
-
477
- def initialize(cancel_at: nil, invoice_now: nil, prorate: nil)
478
- @cancel_at = cancel_at
479
- @invoice_now = invoice_now
480
- @prorate = prorate
481
- end
482
- end
483
-
484
- class EndsAt < Stripe::RequestParams
485
- class DiscountEnd < Stripe::RequestParams
486
- # The ID of a specific discount.
487
- attr_accessor :discount
488
-
489
- def initialize(discount: nil)
490
- @discount = discount
491
- end
492
- end
493
-
494
- class Duration < Stripe::RequestParams
495
- # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
496
- attr_accessor :interval
497
- # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
498
- attr_accessor :interval_count
499
-
500
- def initialize(interval: nil, interval_count: nil)
501
- @interval = interval
502
- @interval_count = interval_count
503
- end
504
- end
505
- # Use the `end` time of a given discount.
506
- attr_accessor :discount_end
507
- # Time span for the quote line starting from the `starts_at` date.
508
- attr_accessor :duration
509
- # A precise Unix timestamp.
510
- attr_accessor :timestamp
511
- # Select a way to pass in `ends_at`.
512
- attr_accessor :type
513
-
514
- def initialize(discount_end: nil, duration: nil, timestamp: nil, type: nil)
515
- @discount_end = discount_end
516
- @duration = duration
517
- @timestamp = timestamp
518
- @type = type
519
- end
520
- end
521
-
522
- class SetPauseCollection < Stripe::RequestParams
523
- class Set < Stripe::RequestParams
524
- # The payment collection behavior for this subscription while paused. One of `keep_as_draft`, `mark_uncollectible`, or `void`.
525
- attr_accessor :behavior
526
-
527
- def initialize(behavior: nil)
528
- @behavior = behavior
529
- end
530
- end
531
- # Details of the pause_collection behavior to apply to the amendment.
532
- attr_accessor :set
533
- # Determines the type of the pause_collection amendment.
534
- attr_accessor :type
535
-
536
- def initialize(set: nil, type: nil)
537
- @set = set
538
- @type = type
539
- end
540
- end
541
-
542
- class StartsAt < Stripe::RequestParams
543
- class DiscountEnd < Stripe::RequestParams
544
- # The ID of a specific discount.
545
- attr_accessor :discount
546
-
547
- def initialize(discount: nil)
548
- @discount = discount
549
- end
550
- end
551
-
552
- class LineEndsAt < Stripe::RequestParams
553
- # The position of the previous quote line in the `lines` array after which this line should begin. Indexes start from 0 and must be less than the index of the current line in the array.
554
- attr_accessor :index
555
-
556
- def initialize(index: nil)
557
- @index = index
558
- end
559
- end
560
- # Use the `end` time of a given discount.
561
- attr_accessor :discount_end
562
- # The timestamp the given line ends at.
563
- attr_accessor :line_ends_at
564
- # A precise Unix timestamp.
565
- attr_accessor :timestamp
566
- # Select a way to pass in `starts_at`.
567
- attr_accessor :type
568
-
569
- def initialize(discount_end: nil, line_ends_at: nil, timestamp: nil, type: nil)
570
- @discount_end = discount_end
571
- @line_ends_at = line_ends_at
572
- @timestamp = timestamp
573
- @type = type
574
- end
575
- end
576
-
577
- class TrialSettings < Stripe::RequestParams
578
- class EndBehavior < Stripe::RequestParams
579
- # Configure how an opt-in following a paid trial is billed when using `billing_behavior: prorate_up_front`.
580
- attr_accessor :prorate_up_front
581
-
582
- def initialize(prorate_up_front: nil)
583
- @prorate_up_front = prorate_up_front
584
- end
585
- end
586
- # Defines how the subscription should behave when a trial ends.
587
- attr_accessor :end_behavior
588
-
589
- def initialize(end_behavior: nil)
590
- @end_behavior = end_behavior
591
- end
592
- end
593
- # An array of operations the quote line performs.
594
- attr_accessor :actions
595
- # Details to identify the subscription schedule the quote line applies to.
596
- attr_accessor :applies_to
597
- # For point-in-time quote lines (having no `ends_at` timestamp), this attribute lets you set or remove whether the subscription's billing cycle anchor is reset at the Quote Line `starts_at` timestamp.For time-span based quote lines (having both `starts_at` and `ends_at`), the only valid value is `automatic`, which removes any previously configured billing cycle anchor resets during the window of time spanning the quote line.
598
- attr_accessor :billing_cycle_anchor
599
- # A point-in-time operation that cancels an existing subscription schedule at the line's starts_at timestamp. Currently only compatible with `quote_acceptance_date` for `starts_at`. When using cancel_subscription_schedule, the subscription schedule on the quote remains unalterable, except for modifications to the metadata, collection_method or invoice_settings.
600
- attr_accessor :cancel_subscription_schedule
601
- # Details to identify the end of the time range modified by the proposed change. If not supplied, the quote line is considered a point-in-time operation that only affects the exact timestamp at `starts_at`, and a restricted set of attributes is supported on the quote line.
602
- attr_accessor :ends_at
603
- # Changes to how Stripe handles prorations during the quote line's time span. Affects if and how prorations are created when a future phase starts.
604
- attr_accessor :proration_behavior
605
- # Defines how to pause collection for the underlying subscription throughout the duration of the amendment.
606
- attr_accessor :set_pause_collection
607
- # Timestamp helper to end the underlying schedule early, based on the acompanying line's start or end date.
608
- attr_accessor :set_schedule_end
609
- # Details to identify the earliest timestamp where the proposed change should take effect.
610
- attr_accessor :starts_at
611
- # Settings related to subscription trials.
612
- attr_accessor :trial_settings
613
-
614
- def initialize(
615
- actions: nil,
616
- applies_to: nil,
617
- billing_cycle_anchor: nil,
618
- cancel_subscription_schedule: nil,
619
- ends_at: nil,
620
- proration_behavior: nil,
621
- set_pause_collection: nil,
622
- set_schedule_end: nil,
623
- starts_at: nil,
624
- trial_settings: nil
625
- )
626
- @actions = actions
627
- @applies_to = applies_to
628
- @billing_cycle_anchor = billing_cycle_anchor
629
- @cancel_subscription_schedule = cancel_subscription_schedule
630
- @ends_at = ends_at
631
- @proration_behavior = proration_behavior
632
- @set_pause_collection = set_pause_collection
633
- @set_schedule_end = set_schedule_end
634
- @starts_at = starts_at
635
- @trial_settings = trial_settings
636
- end
637
- end
638
-
639
123
  class LineItem < Stripe::RequestParams
640
124
  class Discount < Stripe::RequestParams
641
- class DiscountEnd < Stripe::RequestParams
642
- class Duration < Stripe::RequestParams
643
- # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
644
- attr_accessor :interval
645
- # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
646
- attr_accessor :interval_count
647
-
648
- def initialize(interval: nil, interval_count: nil)
649
- @interval = interval
650
- @interval_count = interval_count
651
- end
652
- end
653
- # Time span for the redeemed discount.
654
- attr_accessor :duration
655
- # A precise Unix timestamp for the discount to end. Must be in the future.
656
- attr_accessor :timestamp
657
- # The type of calculation made to determine when the discount ends.
658
- attr_accessor :type
659
-
660
- def initialize(duration: nil, timestamp: nil, type: nil)
661
- @duration = duration
662
- @timestamp = timestamp
663
- @type = type
664
- end
665
- end
666
125
  # ID of the coupon to create a new discount for.
667
126
  attr_accessor :coupon
668
127
  # ID of an existing discount on the object (or one of its ancestors) to reuse.
669
128
  attr_accessor :discount
670
- # Details to determine how long the discount should be applied for.
671
- attr_accessor :discount_end
672
129
  # ID of the promotion code to create a new discount for.
673
130
  attr_accessor :promotion_code
674
131
 
675
- def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
132
+ def initialize(coupon: nil, discount: nil, promotion_code: nil)
676
133
  @coupon = coupon
677
134
  @discount = discount
678
- @discount_end = discount_end
679
135
  @promotion_code = promotion_code
680
136
  end
681
137
  end
@@ -742,294 +198,40 @@ module Stripe
742
198
  end
743
199
 
744
200
  class SubscriptionData < Stripe::RequestParams
745
- class BillOnAcceptance < Stripe::RequestParams
746
- class BillFrom < Stripe::RequestParams
747
- class LineStartsAt < Stripe::RequestParams
748
- # The ID of a quote line.
749
- attr_accessor :id
750
- # The position of the previous quote line in the `lines` array after which this line should begin. Indexes start from 0 and must be less than the index of the current line in the array.
751
- attr_accessor :index
752
-
753
- def initialize(id: nil, index: nil)
754
- @id = id
755
- @index = index
756
- end
757
- end
758
- # Details of a Quote line to start the bill period from.
759
- attr_accessor :line_starts_at
760
- # A precise Unix timestamp.
761
- attr_accessor :timestamp
762
- # The type of method to specify the `bill_from` time.
763
- attr_accessor :type
764
-
765
- def initialize(line_starts_at: nil, timestamp: nil, type: nil)
766
- @line_starts_at = line_starts_at
767
- @timestamp = timestamp
768
- @type = type
769
- end
770
- end
771
-
772
- class BillUntil < Stripe::RequestParams
773
- class Duration < Stripe::RequestParams
774
- # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
775
- attr_accessor :interval
776
- # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
777
- attr_accessor :interval_count
778
-
779
- def initialize(interval: nil, interval_count: nil)
780
- @interval = interval
781
- @interval_count = interval_count
782
- end
783
- end
784
-
785
- class LineEndsAt < Stripe::RequestParams
786
- # The ID of a quote line.
787
- attr_accessor :id
788
- # The position of the previous quote line in the `lines` array after which this line should begin. Indexes start from 0 and must be less than the index of the current line in the array.
789
- attr_accessor :index
790
-
791
- def initialize(id: nil, index: nil)
792
- @id = id
793
- @index = index
794
- end
795
- end
796
- # Details of the duration over which to bill.
797
- attr_accessor :duration
798
- # Details of a Quote line item from which to bill until.
799
- attr_accessor :line_ends_at
800
- # A precise Unix timestamp.
801
- attr_accessor :timestamp
802
- # The type of method to specify the `bill_until` time.
803
- attr_accessor :type
804
-
805
- def initialize(duration: nil, line_ends_at: nil, timestamp: nil, type: nil)
806
- @duration = duration
807
- @line_ends_at = line_ends_at
808
- @timestamp = timestamp
809
- @type = type
810
- end
811
- end
812
- # The start of the period to bill from when the Quote is accepted.
813
- attr_accessor :bill_from
814
- # The end of the period to bill until when the Quote is accepted.
815
- attr_accessor :bill_until
816
-
817
- def initialize(bill_from: nil, bill_until: nil)
818
- @bill_from = bill_from
819
- @bill_until = bill_until
820
- end
821
- end
822
-
823
201
  class BillingMode < Stripe::RequestParams
824
- # Attribute for param field type
202
+ # Controls the calculation and orchestration of prorations and invoices for subscriptions.
825
203
  attr_accessor :type
826
204
 
827
205
  def initialize(type: nil)
828
206
  @type = type
829
207
  end
830
208
  end
831
-
832
- class Prebilling < Stripe::RequestParams
833
- # This is used to determine the number of billing cycles to prebill.
834
- attr_accessor :iterations
835
-
836
- def initialize(iterations: nil)
837
- @iterations = iterations
838
- end
839
- end
840
- # Describes the period to bill for upon accepting the quote.
841
- attr_accessor :bill_on_acceptance
842
- # Configures when the subscription schedule generates prorations for phase transitions. Possible values are `prorate_on_next_phase` or `prorate_up_front` with the default being `prorate_on_next_phase`. `prorate_on_next_phase` will apply phase changes and generate prorations at transition time. `prorate_up_front` will bill for all phases within the current billing cycle up front.
843
- attr_accessor :billing_behavior
844
- # When specified as `reset`, the subscription will always start a new billing period when the quote is accepted.
845
- attr_accessor :billing_cycle_anchor
846
209
  # Controls how prorations and invoices for subscriptions are calculated and orchestrated.
847
210
  attr_accessor :billing_mode
848
211
  # 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.
849
212
  attr_accessor :description
850
- # 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.
213
+ # When creating a new subscription, the date of which the subscription schedule will start after the quote is accepted. The `effective_date` is ignored if it is in the past when the quote is accepted.
851
214
  attr_accessor :effective_date
852
- # Behavior of the subscription schedule and underlying subscription when it ends.
853
- attr_accessor :end_behavior
854
- # The id of a subscription that the quote will update. By default, the quote will contain the state of the subscription (such as line items, collection method and billing thresholds) unless overridden.
855
- attr_accessor :from_subscription
856
215
  # 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
216
  attr_accessor :metadata
858
- # If specified, the invoicing for the given billing cycle iterations will be processed when the quote is accepted. Cannot be used with `effective_date`.
859
- attr_accessor :prebilling
860
- # Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations). When creating a subscription, valid values are `create_prorations` or `none`.
861
- #
862
- # When updating a subscription, valid values are `create_prorations`, `none`, or `always_invoice`.
863
- #
864
- # Passing `create_prorations` will cause proration invoice items to be created when applicable. These proration items will only be invoiced immediately under [certain conditions](https://stripe.com/docs/subscriptions/upgrading-downgrading#immediate-payment). In order to always invoice immediately for prorations, pass `always_invoice`.
865
- #
866
- # Prorations can be disabled by passing `none`.
867
- attr_accessor :proration_behavior
868
217
  # Integer representing the number of trial period days before the customer is charged for the first time.
869
218
  attr_accessor :trial_period_days
870
219
 
871
220
  def initialize(
872
- bill_on_acceptance: nil,
873
- billing_behavior: nil,
874
- billing_cycle_anchor: nil,
875
221
  billing_mode: nil,
876
222
  description: nil,
877
223
  effective_date: nil,
878
- end_behavior: nil,
879
- from_subscription: nil,
880
224
  metadata: nil,
881
- prebilling: nil,
882
- proration_behavior: nil,
883
225
  trial_period_days: nil
884
226
  )
885
- @bill_on_acceptance = bill_on_acceptance
886
- @billing_behavior = billing_behavior
887
- @billing_cycle_anchor = billing_cycle_anchor
888
227
  @billing_mode = billing_mode
889
228
  @description = description
890
229
  @effective_date = effective_date
891
- @end_behavior = end_behavior
892
- @from_subscription = from_subscription
893
230
  @metadata = metadata
894
- @prebilling = prebilling
895
- @proration_behavior = proration_behavior
896
231
  @trial_period_days = trial_period_days
897
232
  end
898
233
  end
899
234
 
900
- class SubscriptionDataOverride < Stripe::RequestParams
901
- class AppliesTo < Stripe::RequestParams
902
- # A custom string that identifies a new subscription schedule being created upon quote acceptance. All quote lines with the same `new_reference` field will be applied to the creation of a new subscription schedule.
903
- attr_accessor :new_reference
904
- # The ID of the schedule the line applies to.
905
- attr_accessor :subscription_schedule
906
- # Describes whether the quote line is affecting a new schedule or an existing schedule.
907
- attr_accessor :type
908
-
909
- def initialize(new_reference: nil, subscription_schedule: nil, type: nil)
910
- @new_reference = new_reference
911
- @subscription_schedule = subscription_schedule
912
- @type = type
913
- end
914
- end
915
-
916
- class BillOnAcceptance < Stripe::RequestParams
917
- class BillFrom < Stripe::RequestParams
918
- class LineStartsAt < Stripe::RequestParams
919
- # The ID of a quote line.
920
- attr_accessor :id
921
- # The position of the previous quote line in the `lines` array after which this line should begin. Indexes start from 0 and must be less than the index of the current line in the array.
922
- attr_accessor :index
923
-
924
- def initialize(id: nil, index: nil)
925
- @id = id
926
- @index = index
927
- end
928
- end
929
- # Details of a Quote line to start the bill period from.
930
- attr_accessor :line_starts_at
931
- # A precise Unix timestamp.
932
- attr_accessor :timestamp
933
- # The type of method to specify the `bill_from` time.
934
- attr_accessor :type
935
-
936
- def initialize(line_starts_at: nil, timestamp: nil, type: nil)
937
- @line_starts_at = line_starts_at
938
- @timestamp = timestamp
939
- @type = type
940
- end
941
- end
942
-
943
- class BillUntil < Stripe::RequestParams
944
- class Duration < Stripe::RequestParams
945
- # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
946
- attr_accessor :interval
947
- # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
948
- attr_accessor :interval_count
949
-
950
- def initialize(interval: nil, interval_count: nil)
951
- @interval = interval
952
- @interval_count = interval_count
953
- end
954
- end
955
-
956
- class LineEndsAt < Stripe::RequestParams
957
- # The ID of a quote line.
958
- attr_accessor :id
959
- # The position of the previous quote line in the `lines` array after which this line should begin. Indexes start from 0 and must be less than the index of the current line in the array.
960
- attr_accessor :index
961
-
962
- def initialize(id: nil, index: nil)
963
- @id = id
964
- @index = index
965
- end
966
- end
967
- # Details of the duration over which to bill.
968
- attr_accessor :duration
969
- # Details of a Quote line item from which to bill until.
970
- attr_accessor :line_ends_at
971
- # A precise Unix timestamp.
972
- attr_accessor :timestamp
973
- # The type of method to specify the `bill_until` time.
974
- attr_accessor :type
975
-
976
- def initialize(duration: nil, line_ends_at: nil, timestamp: nil, type: nil)
977
- @duration = duration
978
- @line_ends_at = line_ends_at
979
- @timestamp = timestamp
980
- @type = type
981
- end
982
- end
983
- # The start of the period to bill from when the Quote is accepted.
984
- attr_accessor :bill_from
985
- # The end of the period to bill until when the Quote is accepted.
986
- attr_accessor :bill_until
987
-
988
- def initialize(bill_from: nil, bill_until: nil)
989
- @bill_from = bill_from
990
- @bill_until = bill_until
991
- end
992
- end
993
- # Whether the override applies to an existing Subscription Schedule or a new Subscription Schedule.
994
- attr_accessor :applies_to
995
- # Describes the period to bill for upon accepting the quote.
996
- attr_accessor :bill_on_acceptance
997
- # Configures when the subscription schedule generates prorations for phase transitions. Possible values are `prorate_on_next_phase` or `prorate_up_front` with the default being `prorate_on_next_phase`. `prorate_on_next_phase` will apply phase changes and generate prorations at transition time. `prorate_up_front` will bill for all phases within the current billing cycle up front.
998
- attr_accessor :billing_behavior
999
- # The customer the Subscription Data override applies to. This is only relevant when `applies_to.type=new_reference`.
1000
- attr_accessor :customer
1001
- # 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.
1002
- attr_accessor :description
1003
- # Behavior of the subscription schedule and underlying subscription when it ends.
1004
- attr_accessor :end_behavior
1005
- # Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations). When creating a subscription, valid values are `create_prorations` or `none`.
1006
- #
1007
- # When updating a subscription, valid values are `create_prorations`, `none`, or `always_invoice`.
1008
- #
1009
- # Passing `create_prorations` will cause proration invoice items to be created when applicable. These proration items will only be invoiced immediately under [certain conditions](https://stripe.com/docs/subscriptions/upgrading-downgrading#immediate-payment). In order to always invoice immediately for prorations, pass `always_invoice`.
1010
- #
1011
- # Prorations can be disabled by passing `none`.
1012
- attr_accessor :proration_behavior
1013
-
1014
- def initialize(
1015
- applies_to: nil,
1016
- bill_on_acceptance: nil,
1017
- billing_behavior: nil,
1018
- customer: nil,
1019
- description: nil,
1020
- end_behavior: nil,
1021
- proration_behavior: nil
1022
- )
1023
- @applies_to = applies_to
1024
- @bill_on_acceptance = bill_on_acceptance
1025
- @billing_behavior = billing_behavior
1026
- @customer = customer
1027
- @description = description
1028
- @end_behavior = end_behavior
1029
- @proration_behavior = proration_behavior
1030
- end
1031
- end
1032
-
1033
235
  class TransferData < Stripe::RequestParams
1034
236
  # 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.
1035
237
  attr_accessor :amount
@@ -1044,8 +246,6 @@ module Stripe
1044
246
  @destination = destination
1045
247
  end
1046
248
  end
1047
- # Set to true to allow quote lines to have `starts_at` in the past if collection is paused between `starts_at` and now.
1048
- attr_accessor :allow_backdated_lines
1049
249
  # 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.
1050
250
  attr_accessor :application_fee_amount
1051
251
  # 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.
@@ -1056,8 +256,6 @@ module Stripe
1056
256
  attr_accessor :collection_method
1057
257
  # The customer for which this quote belongs to. A customer is required before finalizing the quote. Once specified, it cannot be changed.
1058
258
  attr_accessor :customer
1059
- # The account for which this quote belongs to. A customer or account is required before finalizing the quote. Once specified, it cannot be changed.
1060
- attr_accessor :customer_account
1061
259
  # The tax rates that will apply to any line item that does not have `tax_rates` set.
1062
260
  attr_accessor :default_tax_rates
1063
261
  # 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.
@@ -1078,29 +276,23 @@ module Stripe
1078
276
  attr_accessor :invoice_settings
1079
277
  # 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.
1080
278
  attr_accessor :line_items
1081
- # A list of [quote lines](https://docs.stripe.com/api/quote_lines) on the quote. These lines describe changes, in the order provided, that will be used to create new subscription schedules or update existing subscription schedules when the quote is accepted.
1082
- attr_accessor :lines
1083
279
  # 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`.
1084
280
  attr_accessor :metadata
1085
281
  # The account on behalf of which to charge.
1086
282
  attr_accessor :on_behalf_of
1087
283
  # 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.
1088
284
  attr_accessor :subscription_data
1089
- # List representing overrides for `subscription_data` configurations for specific subscription schedules.
1090
- attr_accessor :subscription_data_overrides
1091
285
  # ID of the test clock to attach to the quote.
1092
286
  attr_accessor :test_clock
1093
287
  # The data with which to automatically create a Transfer for each of the invoices.
1094
288
  attr_accessor :transfer_data
1095
289
 
1096
290
  def initialize(
1097
- allow_backdated_lines: nil,
1098
291
  application_fee_amount: nil,
1099
292
  application_fee_percent: nil,
1100
293
  automatic_tax: nil,
1101
294
  collection_method: nil,
1102
295
  customer: nil,
1103
- customer_account: nil,
1104
296
  default_tax_rates: nil,
1105
297
  description: nil,
1106
298
  discounts: nil,
@@ -1111,21 +303,17 @@ module Stripe
1111
303
  header: nil,
1112
304
  invoice_settings: nil,
1113
305
  line_items: nil,
1114
- lines: nil,
1115
306
  metadata: nil,
1116
307
  on_behalf_of: nil,
1117
308
  subscription_data: nil,
1118
- subscription_data_overrides: nil,
1119
309
  test_clock: nil,
1120
310
  transfer_data: nil
1121
311
  )
1122
- @allow_backdated_lines = allow_backdated_lines
1123
312
  @application_fee_amount = application_fee_amount
1124
313
  @application_fee_percent = application_fee_percent
1125
314
  @automatic_tax = automatic_tax
1126
315
  @collection_method = collection_method
1127
316
  @customer = customer
1128
- @customer_account = customer_account
1129
317
  @default_tax_rates = default_tax_rates
1130
318
  @description = description
1131
319
  @discounts = discounts
@@ -1136,11 +324,9 @@ module Stripe
1136
324
  @header = header
1137
325
  @invoice_settings = invoice_settings
1138
326
  @line_items = line_items
1139
- @lines = lines
1140
327
  @metadata = metadata
1141
328
  @on_behalf_of = on_behalf_of
1142
329
  @subscription_data = subscription_data
1143
- @subscription_data_overrides = subscription_data_overrides
1144
330
  @test_clock = test_clock
1145
331
  @transfer_data = transfer_data
1146
332
  end
@@ -1180,44 +366,16 @@ module Stripe
1180
366
  end
1181
367
 
1182
368
  class Discount < Stripe::RequestParams
1183
- class DiscountEnd < Stripe::RequestParams
1184
- class Duration < Stripe::RequestParams
1185
- # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
1186
- attr_accessor :interval
1187
- # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
1188
- attr_accessor :interval_count
1189
-
1190
- def initialize(interval: nil, interval_count: nil)
1191
- @interval = interval
1192
- @interval_count = interval_count
1193
- end
1194
- end
1195
- # Time span for the redeemed discount.
1196
- attr_accessor :duration
1197
- # A precise Unix timestamp for the discount to end. Must be in the future.
1198
- attr_accessor :timestamp
1199
- # The type of calculation made to determine when the discount ends.
1200
- attr_accessor :type
1201
-
1202
- def initialize(duration: nil, timestamp: nil, type: nil)
1203
- @duration = duration
1204
- @timestamp = timestamp
1205
- @type = type
1206
- end
1207
- end
1208
369
  # ID of the coupon to create a new discount for.
1209
370
  attr_accessor :coupon
1210
371
  # ID of an existing discount on the object (or one of its ancestors) to reuse.
1211
372
  attr_accessor :discount
1212
- # Details to determine how long the discount should be applied for.
1213
- attr_accessor :discount_end
1214
373
  # ID of the promotion code to create a new discount for.
1215
374
  attr_accessor :promotion_code
1216
375
 
1217
- def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
376
+ def initialize(coupon: nil, discount: nil, promotion_code: nil)
1218
377
  @coupon = coupon
1219
378
  @discount = discount
1220
- @discount_end = discount_end
1221
379
  @promotion_code = promotion_code
1222
380
  end
1223
381
  end
@@ -1245,529 +403,18 @@ module Stripe
1245
403
  end
1246
404
  end
1247
405
 
1248
- class Line < Stripe::RequestParams
1249
- class Action < Stripe::RequestParams
1250
- class AddDiscount < Stripe::RequestParams
1251
- class DiscountEnd < Stripe::RequestParams
1252
- # The type of calculation made to determine when the discount ends.
1253
- attr_accessor :type
1254
-
1255
- def initialize(type: nil)
1256
- @type = type
1257
- end
1258
- end
1259
- # The coupon code to redeem.
1260
- attr_accessor :coupon
1261
- # An ID of an existing discount for a coupon that was already redeemed.
1262
- attr_accessor :discount
1263
- # Details to determine how long the discount should be applied for.
1264
- attr_accessor :discount_end
1265
- # The index, starting at 0, at which to position the new discount. When not supplied, Stripe defaults to appending the discount to the end of the `discounts` array.
1266
- attr_accessor :index
1267
- # The promotion code to redeem.
1268
- attr_accessor :promotion_code
1269
-
1270
- def initialize(
1271
- coupon: nil,
1272
- discount: nil,
1273
- discount_end: nil,
1274
- index: nil,
1275
- promotion_code: nil
1276
- )
1277
- @coupon = coupon
1278
- @discount = discount
1279
- @discount_end = discount_end
1280
- @index = index
1281
- @promotion_code = promotion_code
1282
- end
1283
- end
1284
-
1285
- class AddItem < Stripe::RequestParams
1286
- class Discount < Stripe::RequestParams
1287
- class DiscountEnd < Stripe::RequestParams
1288
- class Duration < Stripe::RequestParams
1289
- # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
1290
- attr_accessor :interval
1291
- # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
1292
- attr_accessor :interval_count
1293
-
1294
- def initialize(interval: nil, interval_count: nil)
1295
- @interval = interval
1296
- @interval_count = interval_count
1297
- end
1298
- end
1299
- # Time span for the redeemed discount.
1300
- attr_accessor :duration
1301
- # A precise Unix timestamp for the discount to end. Must be in the future.
1302
- attr_accessor :timestamp
1303
- # The type of calculation made to determine when the discount ends.
1304
- attr_accessor :type
1305
-
1306
- def initialize(duration: nil, timestamp: nil, type: nil)
1307
- @duration = duration
1308
- @timestamp = timestamp
1309
- @type = type
1310
- end
1311
- end
1312
- # ID of the coupon to create a new discount for.
1313
- attr_accessor :coupon
1314
- # ID of an existing discount on the object (or one of its ancestors) to reuse.
1315
- attr_accessor :discount
1316
- # Details to determine how long the discount should be applied for.
1317
- attr_accessor :discount_end
1318
- # ID of the promotion code to create a new discount for.
1319
- attr_accessor :promotion_code
1320
-
1321
- def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
1322
- @coupon = coupon
1323
- @discount = discount
1324
- @discount_end = discount_end
1325
- @promotion_code = promotion_code
1326
- end
1327
- end
1328
-
1329
- class Trial < Stripe::RequestParams
1330
- # List of price IDs which, if present on the subscription following a paid trial, constitute opting-in to the paid trial. Currently only supports at most 1 price ID.
1331
- attr_accessor :converts_to
1332
- # Determines the type of trial for this item.
1333
- attr_accessor :type
1334
-
1335
- def initialize(converts_to: nil, type: nil)
1336
- @converts_to = converts_to
1337
- @type = type
1338
- end
1339
- end
1340
- # The discounts applied to the item. Subscription item discounts are applied before subscription discounts.
1341
- attr_accessor :discounts
1342
- # 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`.
1343
- attr_accessor :metadata
1344
- # The ID of the price object.
1345
- attr_accessor :price
1346
- # Quantity for this item.
1347
- attr_accessor :quantity
1348
- # The tax rates that apply to this subscription item. When set, the `default_tax_rates` on the subscription do not apply to this `subscription_item`.
1349
- attr_accessor :tax_rates
1350
- # Options that configure the trial on the subscription item.
1351
- attr_accessor :trial
1352
-
1353
- def initialize(
1354
- discounts: nil,
1355
- metadata: nil,
1356
- price: nil,
1357
- quantity: nil,
1358
- tax_rates: nil,
1359
- trial: nil
1360
- )
1361
- @discounts = discounts
1362
- @metadata = metadata
1363
- @price = price
1364
- @quantity = quantity
1365
- @tax_rates = tax_rates
1366
- @trial = trial
1367
- end
1368
- end
1369
-
1370
- class RemoveDiscount < Stripe::RequestParams
1371
- # The coupon code to remove from the `discounts` array.
1372
- attr_accessor :coupon
1373
- # The ID of a discount to remove from the `discounts` array.
1374
- attr_accessor :discount
1375
- # The ID of a promotion code to remove from the `discounts` array.
1376
- attr_accessor :promotion_code
1377
-
1378
- def initialize(coupon: nil, discount: nil, promotion_code: nil)
1379
- @coupon = coupon
1380
- @discount = discount
1381
- @promotion_code = promotion_code
1382
- end
1383
- end
1384
-
1385
- class RemoveItem < Stripe::RequestParams
1386
- # ID of a price to remove.
1387
- attr_accessor :price
1388
-
1389
- def initialize(price: nil)
1390
- @price = price
1391
- end
1392
- end
1393
-
1394
- class SetDiscount < Stripe::RequestParams
1395
- # The coupon code to replace the `discounts` array with.
1396
- attr_accessor :coupon
1397
- # An ID of an existing discount to replace the `discounts` array with.
1398
- attr_accessor :discount
1399
- # An ID of an existing promotion code to replace the `discounts` array with.
1400
- attr_accessor :promotion_code
1401
-
1402
- def initialize(coupon: nil, discount: nil, promotion_code: nil)
1403
- @coupon = coupon
1404
- @discount = discount
1405
- @promotion_code = promotion_code
1406
- end
1407
- end
1408
-
1409
- class SetItem < Stripe::RequestParams
1410
- class Discount < Stripe::RequestParams
1411
- class DiscountEnd < Stripe::RequestParams
1412
- class Duration < Stripe::RequestParams
1413
- # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
1414
- attr_accessor :interval
1415
- # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
1416
- attr_accessor :interval_count
1417
-
1418
- def initialize(interval: nil, interval_count: nil)
1419
- @interval = interval
1420
- @interval_count = interval_count
1421
- end
1422
- end
1423
- # Time span for the redeemed discount.
1424
- attr_accessor :duration
1425
- # A precise Unix timestamp for the discount to end. Must be in the future.
1426
- attr_accessor :timestamp
1427
- # The type of calculation made to determine when the discount ends.
1428
- attr_accessor :type
1429
-
1430
- def initialize(duration: nil, timestamp: nil, type: nil)
1431
- @duration = duration
1432
- @timestamp = timestamp
1433
- @type = type
1434
- end
1435
- end
1436
- # ID of the coupon to create a new discount for.
1437
- attr_accessor :coupon
1438
- # ID of an existing discount on the object (or one of its ancestors) to reuse.
1439
- attr_accessor :discount
1440
- # Details to determine how long the discount should be applied for.
1441
- attr_accessor :discount_end
1442
- # ID of the promotion code to create a new discount for.
1443
- attr_accessor :promotion_code
1444
-
1445
- def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
1446
- @coupon = coupon
1447
- @discount = discount
1448
- @discount_end = discount_end
1449
- @promotion_code = promotion_code
1450
- end
1451
- end
1452
-
1453
- class Trial < Stripe::RequestParams
1454
- # List of price IDs which, if present on the subscription following a paid trial, constitute opting-in to the paid trial. Currently only supports at most 1 price ID.
1455
- attr_accessor :converts_to
1456
- # Determines the type of trial for this item.
1457
- attr_accessor :type
1458
-
1459
- def initialize(converts_to: nil, type: nil)
1460
- @converts_to = converts_to
1461
- @type = type
1462
- end
1463
- end
1464
- # If an item with the `price` already exists, passing this will override the `discounts` array on the subscription item that matches that price. Otherwise, the `items` array is cleared and a single new item is added with the supplied `discounts`.
1465
- attr_accessor :discounts
1466
- # If an item with the `price` already exists, passing this will override the `metadata` on the subscription item that matches that price. Otherwise, the `items` array is cleared and a single new item is added with the supplied `metadata`.
1467
- attr_accessor :metadata
1468
- # The ID of the price object.
1469
- attr_accessor :price
1470
- # If an item with the `price` already exists, passing this will override the quantity on the subscription item that matches that price. Otherwise, the `items` array is cleared and a single new item is added with the supplied `quantity`.
1471
- attr_accessor :quantity
1472
- # If an item with the `price` already exists, passing this will override the `tax_rates` array on the subscription item that matches that price. Otherwise, the `items` array is cleared and a single new item is added with the supplied `tax_rates`.
1473
- attr_accessor :tax_rates
1474
- # If an item with the `price` already exists, passing this will override the `trial` configuration on the subscription item that matches that price. Otherwise, the `items` array is cleared and a single new item is added with the supplied `trial`.
1475
- attr_accessor :trial
1476
-
1477
- def initialize(
1478
- discounts: nil,
1479
- metadata: nil,
1480
- price: nil,
1481
- quantity: nil,
1482
- tax_rates: nil,
1483
- trial: nil
1484
- )
1485
- @discounts = discounts
1486
- @metadata = metadata
1487
- @price = price
1488
- @quantity = quantity
1489
- @tax_rates = tax_rates
1490
- @trial = trial
1491
- end
1492
- end
1493
- # Details for the `add_discount` type.
1494
- attr_accessor :add_discount
1495
- # Details for the `add_item` type.
1496
- attr_accessor :add_item
1497
- # Details for the `add_metadata` type: specify a hash of key-value pairs.
1498
- attr_accessor :add_metadata
1499
- # Details for the `remove_discount` type.
1500
- attr_accessor :remove_discount
1501
- # Details for the `remove_item` type.
1502
- attr_accessor :remove_item
1503
- # Details for the `remove_metadata` type: specify an array of metadata keys.
1504
- attr_accessor :remove_metadata
1505
- # Details for the `set_discounts` type.
1506
- attr_accessor :set_discounts
1507
- # Details for the `set_items` type.
1508
- attr_accessor :set_items
1509
- # Details for the `set_metadata` type: specify an array of key-value pairs.
1510
- attr_accessor :set_metadata
1511
- # The type of action the quote line performs.
1512
- attr_accessor :type
1513
-
1514
- def initialize(
1515
- add_discount: nil,
1516
- add_item: nil,
1517
- add_metadata: nil,
1518
- remove_discount: nil,
1519
- remove_item: nil,
1520
- remove_metadata: nil,
1521
- set_discounts: nil,
1522
- set_items: nil,
1523
- set_metadata: nil,
1524
- type: nil
1525
- )
1526
- @add_discount = add_discount
1527
- @add_item = add_item
1528
- @add_metadata = add_metadata
1529
- @remove_discount = remove_discount
1530
- @remove_item = remove_item
1531
- @remove_metadata = remove_metadata
1532
- @set_discounts = set_discounts
1533
- @set_items = set_items
1534
- @set_metadata = set_metadata
1535
- @type = type
1536
- end
1537
- end
1538
-
1539
- class AppliesTo < Stripe::RequestParams
1540
- # A custom string that identifies a new subscription schedule being created upon quote acceptance. All quote lines with the same `new_reference` field will be applied to the creation of a new subscription schedule.
1541
- attr_accessor :new_reference
1542
- # The ID of the schedule the line applies to.
1543
- attr_accessor :subscription_schedule
1544
- # Describes whether the quote line is affecting a new schedule or an existing schedule.
1545
- attr_accessor :type
1546
-
1547
- def initialize(new_reference: nil, subscription_schedule: nil, type: nil)
1548
- @new_reference = new_reference
1549
- @subscription_schedule = subscription_schedule
1550
- @type = type
1551
- end
1552
- end
1553
-
1554
- class CancelSubscriptionSchedule < Stripe::RequestParams
1555
- # Timestamp helper to cancel the underlying schedule on the accompanying line's start date. Must be set to `line_starts_at`.
1556
- attr_accessor :cancel_at
1557
- # If the subscription schedule is `active`, indicates if a final invoice will be generated that contains any un-invoiced metered usage and new/pending proration invoice items. Boolean that defaults to `true`.
1558
- attr_accessor :invoice_now
1559
- # If the subscription schedule is `active`, indicates if the cancellation should be prorated. Boolean that defaults to `true`.
1560
- attr_accessor :prorate
1561
-
1562
- def initialize(cancel_at: nil, invoice_now: nil, prorate: nil)
1563
- @cancel_at = cancel_at
1564
- @invoice_now = invoice_now
1565
- @prorate = prorate
1566
- end
1567
- end
1568
-
1569
- class EndsAt < Stripe::RequestParams
1570
- class DiscountEnd < Stripe::RequestParams
1571
- # The ID of a specific discount.
1572
- attr_accessor :discount
1573
-
1574
- def initialize(discount: nil)
1575
- @discount = discount
1576
- end
1577
- end
1578
-
1579
- class Duration < Stripe::RequestParams
1580
- # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
1581
- attr_accessor :interval
1582
- # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
1583
- attr_accessor :interval_count
1584
-
1585
- def initialize(interval: nil, interval_count: nil)
1586
- @interval = interval
1587
- @interval_count = interval_count
1588
- end
1589
- end
1590
- # Use the `end` time of a given discount.
1591
- attr_accessor :discount_end
1592
- # Time span for the quote line starting from the `starts_at` date.
1593
- attr_accessor :duration
1594
- # A precise Unix timestamp.
1595
- attr_accessor :timestamp
1596
- # Select a way to pass in `ends_at`.
1597
- attr_accessor :type
1598
-
1599
- def initialize(discount_end: nil, duration: nil, timestamp: nil, type: nil)
1600
- @discount_end = discount_end
1601
- @duration = duration
1602
- @timestamp = timestamp
1603
- @type = type
1604
- end
1605
- end
1606
-
1607
- class SetPauseCollection < Stripe::RequestParams
1608
- class Set < Stripe::RequestParams
1609
- # The payment collection behavior for this subscription while paused. One of `keep_as_draft`, `mark_uncollectible`, or `void`.
1610
- attr_accessor :behavior
1611
-
1612
- def initialize(behavior: nil)
1613
- @behavior = behavior
1614
- end
1615
- end
1616
- # Details of the pause_collection behavior to apply to the amendment.
1617
- attr_accessor :set
1618
- # Determines the type of the pause_collection amendment.
1619
- attr_accessor :type
1620
-
1621
- def initialize(set: nil, type: nil)
1622
- @set = set
1623
- @type = type
1624
- end
1625
- end
1626
-
1627
- class StartsAt < Stripe::RequestParams
1628
- class DiscountEnd < Stripe::RequestParams
1629
- # The ID of a specific discount.
1630
- attr_accessor :discount
1631
-
1632
- def initialize(discount: nil)
1633
- @discount = discount
1634
- end
1635
- end
1636
-
1637
- class LineEndsAt < Stripe::RequestParams
1638
- # The ID of a quote line.
1639
- attr_accessor :id
1640
- # The position of the previous quote line in the `lines` array after which this line should begin. Indexes start from 0 and must be less than the index of the current line in the array.
1641
- attr_accessor :index
1642
-
1643
- def initialize(id: nil, index: nil)
1644
- @id = id
1645
- @index = index
1646
- end
1647
- end
1648
- # Use the `end` time of a given discount.
1649
- attr_accessor :discount_end
1650
- # The timestamp the given line ends at.
1651
- attr_accessor :line_ends_at
1652
- # A precise Unix timestamp.
1653
- attr_accessor :timestamp
1654
- # Select a way to pass in `starts_at`.
1655
- attr_accessor :type
1656
-
1657
- def initialize(discount_end: nil, line_ends_at: nil, timestamp: nil, type: nil)
1658
- @discount_end = discount_end
1659
- @line_ends_at = line_ends_at
1660
- @timestamp = timestamp
1661
- @type = type
1662
- end
1663
- end
1664
-
1665
- class TrialSettings < Stripe::RequestParams
1666
- class EndBehavior < Stripe::RequestParams
1667
- # Configure how an opt-in following a paid trial is billed when using `billing_behavior: prorate_up_front`.
1668
- attr_accessor :prorate_up_front
1669
-
1670
- def initialize(prorate_up_front: nil)
1671
- @prorate_up_front = prorate_up_front
1672
- end
1673
- end
1674
- # Defines how the subscription should behave when a trial ends.
1675
- attr_accessor :end_behavior
1676
-
1677
- def initialize(end_behavior: nil)
1678
- @end_behavior = end_behavior
1679
- end
1680
- end
1681
- # An array of operations the quote line performs.
1682
- attr_accessor :actions
1683
- # Details to identify the subscription schedule the quote line applies to.
1684
- attr_accessor :applies_to
1685
- # For point-in-time quote lines (having no `ends_at` timestamp), this attribute lets you set or remove whether the subscription's billing cycle anchor is reset at the Quote Line `starts_at` timestamp.For time-span based quote lines (having both `starts_at` and `ends_at`), the only valid value is `automatic`, which removes any previously configured billing cycle anchor resets during the window of time spanning the quote line.
1686
- attr_accessor :billing_cycle_anchor
1687
- # A point-in-time operation that cancels an existing subscription schedule at the line's starts_at timestamp. Currently only compatible with `quote_acceptance_date` for `starts_at`. When using cancel_subscription_schedule, the subscription schedule on the quote remains unalterable, except for modifications to the metadata, collection_method or invoice_settings.
1688
- attr_accessor :cancel_subscription_schedule
1689
- # Details to identify the end of the time range modified by the proposed change. If not supplied, the quote line is considered a point-in-time operation that only affects the exact timestamp at `starts_at`, and a restricted set of attributes is supported on the quote line.
1690
- attr_accessor :ends_at
1691
- # The ID of an existing line on the quote.
1692
- attr_accessor :id
1693
- # Changes to how Stripe handles prorations during the quote line's time span. Affects if and how prorations are created when a future phase starts.
1694
- attr_accessor :proration_behavior
1695
- # Defines how to pause collection for the underlying subscription throughout the duration of the amendment.
1696
- attr_accessor :set_pause_collection
1697
- # Timestamp helper to end the underlying schedule early, based on the acompanying line's start or end date.
1698
- attr_accessor :set_schedule_end
1699
- # Details to identify the earliest timestamp where the proposed change should take effect.
1700
- attr_accessor :starts_at
1701
- # Settings related to subscription trials.
1702
- attr_accessor :trial_settings
1703
-
1704
- def initialize(
1705
- actions: nil,
1706
- applies_to: nil,
1707
- billing_cycle_anchor: nil,
1708
- cancel_subscription_schedule: nil,
1709
- ends_at: nil,
1710
- id: nil,
1711
- proration_behavior: nil,
1712
- set_pause_collection: nil,
1713
- set_schedule_end: nil,
1714
- starts_at: nil,
1715
- trial_settings: nil
1716
- )
1717
- @actions = actions
1718
- @applies_to = applies_to
1719
- @billing_cycle_anchor = billing_cycle_anchor
1720
- @cancel_subscription_schedule = cancel_subscription_schedule
1721
- @ends_at = ends_at
1722
- @id = id
1723
- @proration_behavior = proration_behavior
1724
- @set_pause_collection = set_pause_collection
1725
- @set_schedule_end = set_schedule_end
1726
- @starts_at = starts_at
1727
- @trial_settings = trial_settings
1728
- end
1729
- end
1730
-
1731
406
  class LineItem < Stripe::RequestParams
1732
407
  class Discount < Stripe::RequestParams
1733
- class DiscountEnd < Stripe::RequestParams
1734
- class Duration < Stripe::RequestParams
1735
- # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
1736
- attr_accessor :interval
1737
- # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
1738
- attr_accessor :interval_count
1739
-
1740
- def initialize(interval: nil, interval_count: nil)
1741
- @interval = interval
1742
- @interval_count = interval_count
1743
- end
1744
- end
1745
- # Time span for the redeemed discount.
1746
- attr_accessor :duration
1747
- # A precise Unix timestamp for the discount to end. Must be in the future.
1748
- attr_accessor :timestamp
1749
- # The type of calculation made to determine when the discount ends.
1750
- attr_accessor :type
1751
-
1752
- def initialize(duration: nil, timestamp: nil, type: nil)
1753
- @duration = duration
1754
- @timestamp = timestamp
1755
- @type = type
1756
- end
1757
- end
1758
408
  # ID of the coupon to create a new discount for.
1759
409
  attr_accessor :coupon
1760
410
  # ID of an existing discount on the object (or one of its ancestors) to reuse.
1761
411
  attr_accessor :discount
1762
- # Details to determine how long the discount should be applied for.
1763
- attr_accessor :discount_end
1764
412
  # ID of the promotion code to create a new discount for.
1765
413
  attr_accessor :promotion_code
1766
414
 
1767
- def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
415
+ def initialize(coupon: nil, discount: nil, promotion_code: nil)
1768
416
  @coupon = coupon
1769
417
  @discount = discount
1770
- @discount_end = discount_end
1771
418
  @promotion_code = promotion_code
1772
419
  end
1773
420
  end
@@ -1844,277 +491,23 @@ module Stripe
1844
491
  end
1845
492
 
1846
493
  class SubscriptionData < Stripe::RequestParams
1847
- class BillOnAcceptance < Stripe::RequestParams
1848
- class BillFrom < Stripe::RequestParams
1849
- class LineStartsAt < Stripe::RequestParams
1850
- # The ID of a quote line.
1851
- attr_accessor :id
1852
- # The position of the previous quote line in the `lines` array after which this line should begin. Indexes start from 0 and must be less than the index of the current line in the array.
1853
- attr_accessor :index
1854
-
1855
- def initialize(id: nil, index: nil)
1856
- @id = id
1857
- @index = index
1858
- end
1859
- end
1860
- # Details of a Quote line to start the bill period from.
1861
- attr_accessor :line_starts_at
1862
- # A precise Unix timestamp.
1863
- attr_accessor :timestamp
1864
- # The type of method to specify the `bill_from` time.
1865
- attr_accessor :type
1866
-
1867
- def initialize(line_starts_at: nil, timestamp: nil, type: nil)
1868
- @line_starts_at = line_starts_at
1869
- @timestamp = timestamp
1870
- @type = type
1871
- end
1872
- end
1873
-
1874
- class BillUntil < Stripe::RequestParams
1875
- class Duration < Stripe::RequestParams
1876
- # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
1877
- attr_accessor :interval
1878
- # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
1879
- attr_accessor :interval_count
1880
-
1881
- def initialize(interval: nil, interval_count: nil)
1882
- @interval = interval
1883
- @interval_count = interval_count
1884
- end
1885
- end
1886
-
1887
- class LineEndsAt < Stripe::RequestParams
1888
- # The ID of a quote line.
1889
- attr_accessor :id
1890
- # The position of the previous quote line in the `lines` array after which this line should begin. Indexes start from 0 and must be less than the index of the current line in the array.
1891
- attr_accessor :index
1892
-
1893
- def initialize(id: nil, index: nil)
1894
- @id = id
1895
- @index = index
1896
- end
1897
- end
1898
- # Details of the duration over which to bill.
1899
- attr_accessor :duration
1900
- # Details of a Quote line item from which to bill until.
1901
- attr_accessor :line_ends_at
1902
- # A precise Unix timestamp.
1903
- attr_accessor :timestamp
1904
- # The type of method to specify the `bill_until` time.
1905
- attr_accessor :type
1906
-
1907
- def initialize(duration: nil, line_ends_at: nil, timestamp: nil, type: nil)
1908
- @duration = duration
1909
- @line_ends_at = line_ends_at
1910
- @timestamp = timestamp
1911
- @type = type
1912
- end
1913
- end
1914
- # The start of the period to bill from when the Quote is accepted.
1915
- attr_accessor :bill_from
1916
- # The end of the period to bill until when the Quote is accepted.
1917
- attr_accessor :bill_until
1918
-
1919
- def initialize(bill_from: nil, bill_until: nil)
1920
- @bill_from = bill_from
1921
- @bill_until = bill_until
1922
- end
1923
- end
1924
-
1925
- class Prebilling < Stripe::RequestParams
1926
- # This is used to determine the number of billing cycles to prebill.
1927
- attr_accessor :iterations
1928
-
1929
- def initialize(iterations: nil)
1930
- @iterations = iterations
1931
- end
1932
- end
1933
- # Describes the period to bill for upon accepting the quote.
1934
- attr_accessor :bill_on_acceptance
1935
- # Configures when the subscription schedule generates prorations for phase transitions. Possible values are `prorate_on_next_phase` or `prorate_up_front` with the default being `prorate_on_next_phase`. `prorate_on_next_phase` will apply phase changes and generate prorations at transition time. `prorate_up_front` will bill for all phases within the current billing cycle up front.
1936
- attr_accessor :billing_behavior
1937
- # When specified as `reset`, the subscription will always start a new billing period when the quote is accepted.
1938
- attr_accessor :billing_cycle_anchor
1939
494
  # 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.
1940
495
  attr_accessor :description
1941
- # 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.
496
+ # When creating a new subscription, the date of which the subscription schedule will start after the quote is accepted. The `effective_date` is ignored if it is in the past when the quote is accepted.
1942
497
  attr_accessor :effective_date
1943
- # Behavior of the subscription schedule and underlying subscription when it ends.
1944
- attr_accessor :end_behavior
1945
498
  # 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.
1946
499
  attr_accessor :metadata
1947
- # If specified, the invoicing for the given billing cycle iterations will be processed when the quote is accepted. Cannot be used with `effective_date`.
1948
- attr_accessor :prebilling
1949
- # Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations). When creating a subscription, valid values are `create_prorations` or `none`.
1950
- #
1951
- # When updating a subscription, valid values are `create_prorations`, `none`, or `always_invoice`.
1952
- #
1953
- # Passing `create_prorations` will cause proration invoice items to be created when applicable. These proration items will only be invoiced immediately under [certain conditions](https://stripe.com/docs/subscriptions/upgrading-downgrading#immediate-payment). In order to always invoice immediately for prorations, pass `always_invoice`.
1954
- #
1955
- # Prorations can be disabled by passing `none`.
1956
- attr_accessor :proration_behavior
1957
500
  # Integer representing the number of trial period days before the customer is charged for the first time.
1958
501
  attr_accessor :trial_period_days
1959
502
 
1960
- def initialize(
1961
- bill_on_acceptance: nil,
1962
- billing_behavior: nil,
1963
- billing_cycle_anchor: nil,
1964
- description: nil,
1965
- effective_date: nil,
1966
- end_behavior: nil,
1967
- metadata: nil,
1968
- prebilling: nil,
1969
- proration_behavior: nil,
1970
- trial_period_days: nil
1971
- )
1972
- @bill_on_acceptance = bill_on_acceptance
1973
- @billing_behavior = billing_behavior
1974
- @billing_cycle_anchor = billing_cycle_anchor
503
+ def initialize(description: nil, effective_date: nil, metadata: nil, trial_period_days: nil)
1975
504
  @description = description
1976
505
  @effective_date = effective_date
1977
- @end_behavior = end_behavior
1978
506
  @metadata = metadata
1979
- @prebilling = prebilling
1980
- @proration_behavior = proration_behavior
1981
507
  @trial_period_days = trial_period_days
1982
508
  end
1983
509
  end
1984
510
 
1985
- class SubscriptionDataOverride < Stripe::RequestParams
1986
- class AppliesTo < Stripe::RequestParams
1987
- # A custom string that identifies a new subscription schedule being created upon quote acceptance. All quote lines with the same `new_reference` field will be applied to the creation of a new subscription schedule.
1988
- attr_accessor :new_reference
1989
- # The ID of the schedule the line applies to.
1990
- attr_accessor :subscription_schedule
1991
- # Describes whether the quote line is affecting a new schedule or an existing schedule.
1992
- attr_accessor :type
1993
-
1994
- def initialize(new_reference: nil, subscription_schedule: nil, type: nil)
1995
- @new_reference = new_reference
1996
- @subscription_schedule = subscription_schedule
1997
- @type = type
1998
- end
1999
- end
2000
-
2001
- class BillOnAcceptance < Stripe::RequestParams
2002
- class BillFrom < Stripe::RequestParams
2003
- class LineStartsAt < Stripe::RequestParams
2004
- # The ID of a quote line.
2005
- attr_accessor :id
2006
- # The position of the previous quote line in the `lines` array after which this line should begin. Indexes start from 0 and must be less than the index of the current line in the array.
2007
- attr_accessor :index
2008
-
2009
- def initialize(id: nil, index: nil)
2010
- @id = id
2011
- @index = index
2012
- end
2013
- end
2014
- # Details of a Quote line to start the bill period from.
2015
- attr_accessor :line_starts_at
2016
- # A precise Unix timestamp.
2017
- attr_accessor :timestamp
2018
- # The type of method to specify the `bill_from` time.
2019
- attr_accessor :type
2020
-
2021
- def initialize(line_starts_at: nil, timestamp: nil, type: nil)
2022
- @line_starts_at = line_starts_at
2023
- @timestamp = timestamp
2024
- @type = type
2025
- end
2026
- end
2027
-
2028
- class BillUntil < Stripe::RequestParams
2029
- class Duration < Stripe::RequestParams
2030
- # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
2031
- attr_accessor :interval
2032
- # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
2033
- attr_accessor :interval_count
2034
-
2035
- def initialize(interval: nil, interval_count: nil)
2036
- @interval = interval
2037
- @interval_count = interval_count
2038
- end
2039
- end
2040
-
2041
- class LineEndsAt < Stripe::RequestParams
2042
- # The ID of a quote line.
2043
- attr_accessor :id
2044
- # The position of the previous quote line in the `lines` array after which this line should begin. Indexes start from 0 and must be less than the index of the current line in the array.
2045
- attr_accessor :index
2046
-
2047
- def initialize(id: nil, index: nil)
2048
- @id = id
2049
- @index = index
2050
- end
2051
- end
2052
- # Details of the duration over which to bill.
2053
- attr_accessor :duration
2054
- # Details of a Quote line item from which to bill until.
2055
- attr_accessor :line_ends_at
2056
- # A precise Unix timestamp.
2057
- attr_accessor :timestamp
2058
- # The type of method to specify the `bill_until` time.
2059
- attr_accessor :type
2060
-
2061
- def initialize(duration: nil, line_ends_at: nil, timestamp: nil, type: nil)
2062
- @duration = duration
2063
- @line_ends_at = line_ends_at
2064
- @timestamp = timestamp
2065
- @type = type
2066
- end
2067
- end
2068
- # The start of the period to bill from when the Quote is accepted.
2069
- attr_accessor :bill_from
2070
- # The end of the period to bill until when the Quote is accepted.
2071
- attr_accessor :bill_until
2072
-
2073
- def initialize(bill_from: nil, bill_until: nil)
2074
- @bill_from = bill_from
2075
- @bill_until = bill_until
2076
- end
2077
- end
2078
- # Whether the override applies to an existing Subscription Schedule or a new Subscription Schedule.
2079
- attr_accessor :applies_to
2080
- # Describes the period to bill for upon accepting the quote.
2081
- attr_accessor :bill_on_acceptance
2082
- # Configures when the subscription schedule generates prorations for phase transitions. Possible values are `prorate_on_next_phase` or `prorate_up_front` with the default being `prorate_on_next_phase`. `prorate_on_next_phase` will apply phase changes and generate prorations at transition time. `prorate_up_front` will bill for all phases within the current billing cycle up front.
2083
- attr_accessor :billing_behavior
2084
- # The customer the Subscription Data override applies to.
2085
- attr_accessor :customer
2086
- # 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.
2087
- attr_accessor :description
2088
- # Behavior of the subscription schedule and underlying subscription when it ends.
2089
- attr_accessor :end_behavior
2090
- # Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations). When creating a subscription, valid values are `create_prorations` or `none`.
2091
- #
2092
- # When updating a subscription, valid values are `create_prorations`, `none`, or `always_invoice`.
2093
- #
2094
- # Passing `create_prorations` will cause proration invoice items to be created when applicable. These proration items will only be invoiced immediately under [certain conditions](https://stripe.com/docs/subscriptions/upgrading-downgrading#immediate-payment). In order to always invoice immediately for prorations, pass `always_invoice`.
2095
- #
2096
- # Prorations can be disabled by passing `none`.
2097
- attr_accessor :proration_behavior
2098
-
2099
- def initialize(
2100
- applies_to: nil,
2101
- bill_on_acceptance: nil,
2102
- billing_behavior: nil,
2103
- customer: nil,
2104
- description: nil,
2105
- end_behavior: nil,
2106
- proration_behavior: nil
2107
- )
2108
- @applies_to = applies_to
2109
- @bill_on_acceptance = bill_on_acceptance
2110
- @billing_behavior = billing_behavior
2111
- @customer = customer
2112
- @description = description
2113
- @end_behavior = end_behavior
2114
- @proration_behavior = proration_behavior
2115
- end
2116
- end
2117
-
2118
511
  class TransferData < Stripe::RequestParams
2119
512
  # 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.
2120
513
  attr_accessor :amount
@@ -2129,8 +522,6 @@ module Stripe
2129
522
  @destination = destination
2130
523
  end
2131
524
  end
2132
- # Set to true to allow quote lines to have `starts_at` in the past if collection is paused between `starts_at` and now.
2133
- attr_accessor :allow_backdated_lines
2134
525
  # 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.
2135
526
  attr_accessor :application_fee_amount
2136
527
  # 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.
@@ -2141,8 +532,6 @@ module Stripe
2141
532
  attr_accessor :collection_method
2142
533
  # The customer for which this quote belongs to. A customer is required before finalizing the quote. Once specified, it cannot be changed.
2143
534
  attr_accessor :customer
2144
- # The account for which this quote belongs to. A customer or account is required before finalizing the quote. Once specified, it cannot be changed.
2145
- attr_accessor :customer_account
2146
535
  # The tax rates that will apply to any line item that does not have `tax_rates` set.
2147
536
  attr_accessor :default_tax_rates
2148
537
  # A description that will be displayed on the quote PDF.
@@ -2161,27 +550,21 @@ module Stripe
2161
550
  attr_accessor :invoice_settings
2162
551
  # 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.
2163
552
  attr_accessor :line_items
2164
- # A list of [quote lines](https://docs.stripe.com/api/quote_lines) on the quote. These lines describe changes, in the order provided, that will be used to create new subscription schedules or update existing subscription schedules when the quote is accepted.
2165
- attr_accessor :lines
2166
553
  # 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`.
2167
554
  attr_accessor :metadata
2168
555
  # The account on behalf of which to charge.
2169
556
  attr_accessor :on_behalf_of
2170
557
  # 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.
2171
558
  attr_accessor :subscription_data
2172
- # List representing overrides for `subscription_data` configurations for specific subscription schedules.
2173
- attr_accessor :subscription_data_overrides
2174
559
  # The data with which to automatically create a Transfer for each of the invoices.
2175
560
  attr_accessor :transfer_data
2176
561
 
2177
562
  def initialize(
2178
- allow_backdated_lines: nil,
2179
563
  application_fee_amount: nil,
2180
564
  application_fee_percent: nil,
2181
565
  automatic_tax: nil,
2182
566
  collection_method: nil,
2183
567
  customer: nil,
2184
- customer_account: nil,
2185
568
  default_tax_rates: nil,
2186
569
  description: nil,
2187
570
  discounts: nil,
@@ -2191,20 +574,16 @@ module Stripe
2191
574
  header: nil,
2192
575
  invoice_settings: nil,
2193
576
  line_items: nil,
2194
- lines: nil,
2195
577
  metadata: nil,
2196
578
  on_behalf_of: nil,
2197
579
  subscription_data: nil,
2198
- subscription_data_overrides: nil,
2199
580
  transfer_data: nil
2200
581
  )
2201
- @allow_backdated_lines = allow_backdated_lines
2202
582
  @application_fee_amount = application_fee_amount
2203
583
  @application_fee_percent = application_fee_percent
2204
584
  @automatic_tax = automatic_tax
2205
585
  @collection_method = collection_method
2206
586
  @customer = customer
2207
- @customer_account = customer_account
2208
587
  @default_tax_rates = default_tax_rates
2209
588
  @description = description
2210
589
  @discounts = discounts
@@ -2214,11 +593,9 @@ module Stripe
2214
593
  @header = header
2215
594
  @invoice_settings = invoice_settings
2216
595
  @line_items = line_items
2217
- @lines = lines
2218
596
  @metadata = metadata
2219
597
  @on_behalf_of = on_behalf_of
2220
598
  @subscription_data = subscription_data
2221
- @subscription_data_overrides = subscription_data_overrides
2222
599
  @transfer_data = transfer_data
2223
600
  end
2224
601
  end
@@ -2253,36 +630,6 @@ module Stripe
2253
630
  end
2254
631
  end
2255
632
 
2256
- class MarkDraftParams < Stripe::RequestParams
2257
- # Specifies which fields in the response should be expanded.
2258
- attr_accessor :expand
2259
-
2260
- def initialize(expand: nil)
2261
- @expand = expand
2262
- end
2263
- end
2264
-
2265
- class MarkStaleParams < Stripe::RequestParams
2266
- # Specifies which fields in the response should be expanded.
2267
- attr_accessor :expand
2268
- # Reason the Quote is being marked stale.
2269
- attr_accessor :reason
2270
-
2271
- def initialize(expand: nil, reason: nil)
2272
- @expand = expand
2273
- @reason = reason
2274
- end
2275
- end
2276
-
2277
- class ReestimateParams < Stripe::RequestParams
2278
- # Specifies which fields in the response should be expanded.
2279
- attr_accessor :expand
2280
-
2281
- def initialize(expand: nil)
2282
- @expand = expand
2283
- end
2284
- end
2285
-
2286
633
  class PdfParams < Stripe::RequestParams
2287
634
  # Specifies which fields in the response should be expanded.
2288
635
  attr_accessor :expand
@@ -2292,24 +639,6 @@ module Stripe
2292
639
  end
2293
640
  end
2294
641
 
2295
- class ListPreviewInvoiceLinesParams < Stripe::RequestParams
2296
- # 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.
2297
- attr_accessor :ending_before
2298
- # Specifies which fields in the response should be expanded.
2299
- attr_accessor :expand
2300
- # A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
2301
- attr_accessor :limit
2302
- # 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.
2303
- attr_accessor :starting_after
2304
-
2305
- def initialize(ending_before: nil, expand: nil, limit: nil, starting_after: nil)
2306
- @ending_before = ending_before
2307
- @expand = expand
2308
- @limit = limit
2309
- @starting_after = starting_after
2310
- end
2311
- end
2312
-
2313
642
  # Accepts the specified quote.
2314
643
  def accept(quote, params = {}, opts = {})
2315
644
  request(
@@ -2353,39 +682,6 @@ module Stripe
2353
682
  request(method: :get, path: "/v1/quotes", params: params, opts: opts, base_address: :api)
2354
683
  end
2355
684
 
2356
- # Preview the invoice line items that would be generated by accepting the quote.
2357
- def list_preview_invoice_lines(quote, preview_invoice, params = {}, opts = {})
2358
- request(
2359
- method: :get,
2360
- path: format("/v1/quotes/%<quote>s/preview_invoices/%<preview_invoice>s/lines", { quote: CGI.escape(quote), preview_invoice: CGI.escape(preview_invoice) }),
2361
- params: params,
2362
- opts: opts,
2363
- base_address: :api
2364
- )
2365
- end
2366
-
2367
- # Converts a stale quote to draft.
2368
- def mark_draft(quote, params = {}, opts = {})
2369
- request(
2370
- method: :post,
2371
- path: format("/v1/quotes/%<quote>s/mark_draft", { quote: CGI.escape(quote) }),
2372
- params: params,
2373
- opts: opts,
2374
- base_address: :api
2375
- )
2376
- end
2377
-
2378
- # Converts a draft or open quote to stale.
2379
- def mark_stale(quote, params = {}, opts = {})
2380
- request(
2381
- method: :post,
2382
- path: format("/v1/quotes/%<quote>s/mark_stale", { quote: CGI.escape(quote) }),
2383
- params: params,
2384
- opts: opts,
2385
- base_address: :api
2386
- )
2387
- end
2388
-
2389
685
  # Download the PDF for a finalized quote. Explanation for special handling can be found [here](https://docs.stripe.com/quotes/overview#quote_pdf)
2390
686
  def pdf(quote, params = {}, opts = {}, &read_body_chunk_block)
2391
687
  opts = { api_base: APIRequestor.active_requestor.config.uploads_base }.merge(opts)
@@ -2399,17 +695,6 @@ module Stripe
2399
695
  )
2400
696
  end
2401
697
 
2402
- # Recompute the upcoming invoice estimate for the quote.
2403
- def reestimate(quote, params = {}, opts = {})
2404
- request(
2405
- method: :post,
2406
- path: format("/v1/quotes/%<quote>s/reestimate", { quote: CGI.escape(quote) }),
2407
- params: params,
2408
- opts: opts,
2409
- base_address: :api
2410
- )
2411
- end
2412
-
2413
698
  # Retrieves the quote with the given ID.
2414
699
  def retrieve(quote, params = {}, opts = {})
2415
700
  request(