stripe 15.2.0.pre.beta.1 → 15.2.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 (648) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +718 -1556
  3. data/CONTRIBUTING.md +25 -0
  4. data/OPENAPI_VERSION +1 -1
  5. data/README.md +10 -7
  6. data/VERSION +1 -1
  7. data/lib/stripe/api_requestor.rb +0 -28
  8. data/lib/stripe/api_version.rb +1 -1
  9. data/lib/stripe/errors.rb +0 -54
  10. data/lib/stripe/event_types.rb +0 -89
  11. data/lib/stripe/object_types.rb +0 -52
  12. data/lib/stripe/resources/account.rb +32 -657
  13. data/lib/stripe/resources/account_session.rb +59 -253
  14. data/lib/stripe/resources/apple_pay_domain.rb +1 -2
  15. data/lib/stripe/resources/balance.rb +42 -0
  16. data/lib/stripe/resources/balance_transaction.rb +2 -0
  17. data/lib/stripe/resources/bank_account.rb +2 -2
  18. data/lib/stripe/resources/billing/credit_balance_summary.rb +0 -2
  19. data/lib/stripe/resources/billing/credit_balance_transaction.rb +0 -4
  20. data/lib/stripe/resources/billing/credit_grant.rb +0 -10
  21. data/lib/stripe/resources/billing_portal/session.rb +1 -7
  22. data/lib/stripe/resources/capability.rb +1 -1
  23. data/lib/stripe/resources/card.rb +0 -2
  24. data/lib/stripe/resources/cash_balance.rb +0 -2
  25. data/lib/stripe/resources/charge.rb +13 -1475
  26. data/lib/stripe/resources/checkout/session.rb +21 -333
  27. data/lib/stripe/resources/confirmation_token.rb +33 -263
  28. data/lib/stripe/resources/country_spec.rb +1 -1
  29. data/lib/stripe/resources/coupon.rb +2 -32
  30. data/lib/stripe/resources/credit_note.rb +10 -17
  31. data/lib/stripe/resources/credit_note_line_item.rb +0 -9
  32. data/lib/stripe/resources/customer.rb +2 -6
  33. data/lib/stripe/resources/customer_balance_transaction.rb +0 -2
  34. data/lib/stripe/resources/customer_cash_balance_transaction.rb +0 -2
  35. data/lib/stripe/resources/customer_session.rb +4 -9
  36. data/lib/stripe/resources/discount.rb +0 -2
  37. data/lib/stripe/resources/dispute.rb +2 -2
  38. data/lib/stripe/resources/event.rb +1 -32
  39. data/lib/stripe/resources/file.rb +1 -1
  40. data/lib/stripe/resources/financial_connections/account.rb +1 -20
  41. data/lib/stripe/resources/financial_connections/session.rb +2 -62
  42. data/lib/stripe/resources/identity/verification_report.rb +6 -0
  43. data/lib/stripe/resources/identity/verification_session.rb +17 -21
  44. data/lib/stripe/resources/invoice.rb +79 -1106
  45. data/lib/stripe/resources/invoice_item.rb +4 -81
  46. data/lib/stripe/resources/invoice_line_item.rb +2 -56
  47. data/lib/stripe/resources/invoice_payment.rb +62 -4
  48. data/lib/stripe/resources/issuing/authorization.rb +8 -8
  49. data/lib/stripe/resources/issuing/card.rb +1 -1
  50. data/lib/stripe/resources/issuing/cardholder.rb +1 -2
  51. data/lib/stripe/resources/issuing/dispute.rb +3 -3
  52. data/lib/stripe/resources/issuing/transaction.rb +0 -6
  53. data/lib/stripe/resources/line_item.rb +0 -37
  54. data/lib/stripe/resources/mandate.rb +0 -24
  55. data/lib/stripe/resources/payment_intent.rb +1912 -6840
  56. data/lib/stripe/resources/payment_method.rb +47 -301
  57. data/lib/stripe/resources/payment_method_configuration.rb +112 -112
  58. data/lib/stripe/resources/payment_method_domain.rb +2 -2
  59. data/lib/stripe/resources/payout.rb +4 -10
  60. data/lib/stripe/resources/person.rb +2 -2
  61. data/lib/stripe/resources/plan.rb +2 -3
  62. data/lib/stripe/resources/price.rb +1 -31
  63. data/lib/stripe/resources/product.rb +1 -61
  64. data/lib/stripe/resources/promotion_code.rb +0 -10
  65. data/lib/stripe/resources/quote.rb +6 -2046
  66. data/lib/stripe/resources/radar/value_list.rb +1 -2
  67. data/lib/stripe/resources/radar/value_list_item.rb +1 -2
  68. data/lib/stripe/resources/refund.rb +6 -10
  69. data/lib/stripe/resources/reversal.rb +1 -1
  70. data/lib/stripe/resources/review.rb +1 -1
  71. data/lib/stripe/resources/setup_attempt.rb +0 -21
  72. data/lib/stripe/resources/setup_intent.rb +120 -877
  73. data/lib/stripe/resources/source.rb +1 -30
  74. data/lib/stripe/resources/subscription.rb +97 -326
  75. data/lib/stripe/resources/subscription_item.rb +32 -80
  76. data/lib/stripe/resources/subscription_schedule.rb +127 -1015
  77. data/lib/stripe/resources/tax/calculation.rb +4 -0
  78. data/lib/stripe/resources/tax/calculation_line_item.rb +2 -0
  79. data/lib/stripe/resources/tax/registration.rb +1 -1
  80. data/lib/stripe/resources/tax_id.rb +3 -14
  81. data/lib/stripe/resources/tax_rate.rb +2 -2
  82. data/lib/stripe/resources/terminal/configuration.rb +1 -2
  83. data/lib/stripe/resources/terminal/location.rb +2 -3
  84. data/lib/stripe/resources/terminal/reader.rb +8 -142
  85. data/lib/stripe/resources/test_helpers/test_clock.rb +1 -2
  86. data/lib/stripe/resources/token.rb +2 -2
  87. data/lib/stripe/resources/transfer.rb +1 -7
  88. data/lib/stripe/resources/treasury/financial_account.rb +3 -22
  89. data/lib/stripe/resources/treasury/financial_account_features.rb +0 -2
  90. data/lib/stripe/resources/treasury/outbound_transfer.rb +0 -37
  91. data/lib/stripe/resources/treasury/received_credit.rb +1 -38
  92. data/lib/stripe/resources/treasury/received_debit.rb +1 -40
  93. data/lib/stripe/resources/webhook_endpoint.rb +1 -2
  94. data/lib/stripe/resources.rb +0 -99
  95. data/lib/stripe/services/account_external_account_service.rb +2 -3
  96. data/lib/stripe/services/account_login_link_service.rb +1 -1
  97. data/lib/stripe/services/account_person_service.rb +1 -2
  98. data/lib/stripe/services/account_service.rb +23 -559
  99. data/lib/stripe/services/account_session_service.rb +29 -229
  100. data/lib/stripe/services/apple_pay_domain_service.rb +1 -2
  101. data/lib/stripe/services/balance_service.rb +1 -1
  102. data/lib/stripe/services/billing/credit_balance_summary_service.rb +1 -4
  103. data/lib/stripe/services/billing/credit_balance_transaction_service.rb +0 -4
  104. data/lib/stripe/services/billing/credit_grant_service.rb +0 -8
  105. data/lib/stripe/services/billing_portal/session_service.rb +0 -4
  106. data/lib/stripe/services/charge_service.rb +4 -1354
  107. data/lib/stripe/services/checkout/session_service.rb +13 -250
  108. data/lib/stripe/services/coupon_service.rb +2 -19
  109. data/lib/stripe/services/credit_note_service.rb +7 -12
  110. data/lib/stripe/services/customer_balance_transaction_service.rb +3 -3
  111. data/lib/stripe/services/customer_cash_balance_transaction_service.rb +2 -2
  112. data/lib/stripe/services/customer_payment_source_service.rb +1 -1
  113. data/lib/stripe/services/customer_service.rb +3 -5
  114. data/lib/stripe/services/customer_session_service.rb +1 -4
  115. data/lib/stripe/services/customer_tax_id_service.rb +1 -2
  116. data/lib/stripe/services/dispute_service.rb +1 -1
  117. data/lib/stripe/services/file_service.rb +1 -1
  118. data/lib/stripe/services/financial_connections/account_service.rb +2 -7
  119. data/lib/stripe/services/financial_connections/session_service.rb +2 -34
  120. data/lib/stripe/services/financial_connections_service.rb +1 -2
  121. data/lib/stripe/services/identity/verification_session_service.rb +5 -13
  122. data/lib/stripe/services/invoice_item_service.rb +3 -76
  123. data/lib/stripe/services/invoice_line_item_service.rb +1 -33
  124. data/lib/stripe/services/invoice_payment_service.rb +83 -0
  125. data/lib/stripe/services/invoice_service.rb +74 -1049
  126. data/lib/stripe/services/issuing/authorization_service.rb +4 -4
  127. data/lib/stripe/services/issuing/card_service.rb +1 -1
  128. data/lib/stripe/services/issuing/cardholder_service.rb +1 -2
  129. data/lib/stripe/services/issuing/dispute_service.rb +2 -2
  130. data/lib/stripe/services/issuing/transaction_service.rb +0 -4
  131. data/lib/stripe/services/issuing_service.rb +1 -5
  132. data/lib/stripe/services/payment_intent_service.rb +439 -4928
  133. data/lib/stripe/services/payment_method_configuration_service.rb +82 -82
  134. data/lib/stripe/services/payment_method_domain_service.rb +1 -1
  135. data/lib/stripe/services/payment_method_service.rb +44 -226
  136. data/lib/stripe/services/payout_service.rb +2 -6
  137. data/lib/stripe/services/plan_service.rb +2 -3
  138. data/lib/stripe/services/price_service.rb +2 -21
  139. data/lib/stripe/services/product_feature_service.rb +1 -2
  140. data/lib/stripe/services/product_service.rb +2 -41
  141. data/lib/stripe/services/promotion_code_service.rb +1 -9
  142. data/lib/stripe/services/quote_service.rb +7 -1730
  143. data/lib/stripe/services/radar/early_fraud_warning_service.rb +1 -1
  144. data/lib/stripe/services/radar/value_list_item_service.rb +1 -2
  145. data/lib/stripe/services/radar/value_list_service.rb +1 -2
  146. data/lib/stripe/services/setup_intent_service.rb +119 -836
  147. data/lib/stripe/services/source_service.rb +1 -1
  148. data/lib/stripe/services/subscription_item_service.rb +27 -73
  149. data/lib/stripe/services/subscription_schedule_service.rb +101 -916
  150. data/lib/stripe/services/subscription_service.rb +85 -282
  151. data/lib/stripe/services/tax/calculation_service.rb +4 -0
  152. data/lib/stripe/services/tax/registration_service.rb +1 -1
  153. data/lib/stripe/services/tax_id_service.rb +3 -10
  154. data/lib/stripe/services/tax_service.rb +1 -3
  155. data/lib/stripe/services/terminal/configuration_service.rb +1 -2
  156. data/lib/stripe/services/terminal/location_service.rb +2 -3
  157. data/lib/stripe/services/terminal/reader_service.rb +5 -81
  158. data/lib/stripe/services/terminal_service.rb +1 -2
  159. data/lib/stripe/services/test_helpers/confirmation_token_service.rb +33 -190
  160. data/lib/stripe/services/test_helpers/test_clock_service.rb +1 -2
  161. data/lib/stripe/services/test_helpers/treasury/received_credit_service.rb +1 -25
  162. data/lib/stripe/services/test_helpers/treasury/received_debit_service.rb +1 -25
  163. data/lib/stripe/services/token_service.rb +1 -1
  164. data/lib/stripe/services/transfer_service.rb +1 -5
  165. data/lib/stripe/services/treasury/financial_account_features_service.rb +1 -4
  166. data/lib/stripe/services/treasury/financial_account_service.rb +2 -16
  167. data/lib/stripe/services/treasury/outbound_transfer_service.rb +0 -24
  168. data/lib/stripe/services/v1_services.rb +2 -12
  169. data/lib/stripe/services/v2/billing/meter_event_session_service.rb +1 -2
  170. data/lib/stripe/services/v2/core/event_destination_service.rb +4 -10
  171. data/lib/stripe/services/v2/core/event_service.rb +1 -2
  172. data/lib/stripe/services/v2/core_service.rb +1 -4
  173. data/lib/stripe/services/v2_services.rb +2 -4
  174. data/lib/stripe/services/webhook_endpoint_service.rb +1 -2
  175. data/lib/stripe/services.rb +1 -54
  176. data/lib/stripe/stripe_configuration.rb +1 -3
  177. data/lib/stripe/stripe_object.rb +1 -1
  178. data/lib/stripe/util.rb +1 -7
  179. data/lib/stripe/version.rb +1 -1
  180. data/lib/stripe.rb +0 -53
  181. data/rbi/stripe/resources/account.rbi +4926 -0
  182. data/rbi/stripe/resources/account_link.rbi +74 -0
  183. data/rbi/stripe/resources/account_session.rbi +1013 -0
  184. data/rbi/stripe/resources/apple_pay_domain.rbi +88 -0
  185. data/rbi/stripe/resources/application.rbi +20 -0
  186. data/rbi/stripe/resources/application_fee.rbi +118 -0
  187. data/rbi/stripe/resources/application_fee_refund.rbi +37 -0
  188. data/rbi/stripe/resources/apps/secret.rbi +195 -0
  189. data/rbi/stripe/resources/balance.rbi +235 -0
  190. data/rbi/stripe/resources/balance_transaction.rbi +147 -0
  191. data/rbi/stripe/resources/bank_account.rbi +127 -0
  192. data/rbi/stripe/resources/billing/alert.rbi +201 -0
  193. data/rbi/stripe/resources/billing/alert_triggered.rbi +28 -0
  194. data/rbi/stripe/resources/billing/credit_balance_summary.rbi +63 -0
  195. data/rbi/stripe/resources/billing/credit_balance_transaction.rbi +147 -0
  196. data/rbi/stripe/resources/billing/credit_grant.rbi +291 -0
  197. data/rbi/stripe/resources/billing/meter.rbi +226 -0
  198. data/rbi/stripe/resources/billing/meter_event.rbi +64 -0
  199. data/rbi/stripe/resources/billing/meter_event_adjustment.rbi +64 -0
  200. data/rbi/stripe/resources/billing/meter_event_summary.rbi +35 -0
  201. data/rbi/stripe/resources/billing_portal/configuration.rbi +645 -0
  202. data/rbi/stripe/resources/billing_portal/session.rbi +345 -0
  203. data/rbi/stripe/resources/capability.rbi +125 -0
  204. data/rbi/stripe/resources/card.rbi +125 -0
  205. data/rbi/stripe/resources/cash_balance.rbi +32 -0
  206. data/rbi/stripe/resources/charge.rbi +2069 -0
  207. data/rbi/stripe/resources/checkout/session.rbi +4004 -0
  208. data/rbi/stripe/resources/climate/order.rbi +245 -0
  209. data/rbi/stripe/resources/climate/product.rbi +75 -0
  210. data/rbi/stripe/resources/climate/supplier.rbi +72 -0
  211. data/rbi/stripe/resources/confirmation_token.rbi +1807 -0
  212. data/rbi/stripe/resources/connect_collection_transfer.rbi +26 -0
  213. data/rbi/stripe/resources/country_spec.rbi +85 -0
  214. data/rbi/stripe/resources/coupon.rbi +250 -0
  215. data/rbi/stripe/resources/credit_note.rbi +752 -0
  216. data/rbi/stripe/resources/credit_note_line_item.rbi +101 -0
  217. data/rbi/stripe/resources/customer.rbi +1005 -0
  218. data/rbi/stripe/resources/customer_balance_transaction.rbi +56 -0
  219. data/rbi/stripe/resources/customer_cash_balance_transaction.rbi +151 -0
  220. data/rbi/stripe/resources/customer_session.rbi +200 -0
  221. data/rbi/stripe/resources/discount.rbi +53 -0
  222. data/rbi/stripe/resources/dispute.rbi +761 -0
  223. data/rbi/stripe/resources/entitlements/active_entitlement.rbi +58 -0
  224. data/rbi/stripe/resources/entitlements/active_entitlement_summary.rbi +23 -0
  225. data/rbi/stripe/resources/entitlements/feature.rbi +117 -0
  226. data/rbi/stripe/resources/ephemeral_key.rbi +44 -0
  227. data/rbi/stripe/resources/event.rbi +149 -0
  228. data/rbi/stripe/resources/exchange_rate.rbi +66 -0
  229. data/rbi/stripe/resources/file.rbi +143 -0
  230. data/rbi/stripe/resources/file_link.rbi +141 -0
  231. data/rbi/stripe/resources/financial_connections/account.rbi +339 -0
  232. data/rbi/stripe/resources/financial_connections/account_owner.rbi +35 -0
  233. data/rbi/stripe/resources/financial_connections/account_ownership.rbi +23 -0
  234. data/rbi/stripe/resources/financial_connections/session.rbi +123 -0
  235. data/rbi/stripe/resources/financial_connections/transaction.rbi +124 -0
  236. data/rbi/stripe/resources/forwarding/request.rbi +216 -0
  237. data/rbi/stripe/resources/funding_instructions.rbi +437 -0
  238. data/rbi/stripe/resources/identity/verification_report.rbi +360 -0
  239. data/rbi/stripe/resources/identity/verification_session.rbi +526 -0
  240. data/rbi/stripe/resources/invoice.rbi +3812 -0
  241. data/rbi/stripe/resources/invoice_item.rbi +473 -0
  242. data/rbi/stripe/resources/invoice_line_item.rbi +432 -0
  243. data/rbi/stripe/resources/invoice_payment.rbi +121 -0
  244. data/rbi/stripe/resources/invoice_rendering_template.rbi +104 -0
  245. data/rbi/stripe/resources/issuing/authorization.rbi +1283 -0
  246. data/rbi/stripe/resources/issuing/card.rbi +741 -0
  247. data/rbi/stripe/resources/issuing/cardholder.rbi +744 -0
  248. data/rbi/stripe/resources/issuing/dispute.rbi +913 -0
  249. data/rbi/stripe/resources/issuing/personalization_design.rbi +338 -0
  250. data/rbi/stripe/resources/issuing/physical_bundle.rbi +79 -0
  251. data/rbi/stripe/resources/issuing/token.rbi +226 -0
  252. data/rbi/stripe/resources/issuing/transaction.rbi +1061 -0
  253. data/rbi/stripe/resources/line_item.rbi +72 -0
  254. data/rbi/stripe/resources/login_link.rbi +19 -0
  255. data/rbi/stripe/resources/mandate.rbi +187 -0
  256. data/rbi/stripe/resources/payment_intent.rbi +9647 -0
  257. data/rbi/stripe/resources/payment_link.rbi +1801 -0
  258. data/rbi/stripe/resources/payment_method.rbi +1761 -0
  259. data/rbi/stripe/resources/payment_method_configuration.rbi +3550 -0
  260. data/rbi/stripe/resources/payment_method_domain.rbi +228 -0
  261. data/rbi/stripe/resources/payout.rbi +300 -0
  262. data/rbi/stripe/resources/person.rbi +401 -0
  263. data/rbi/stripe/resources/plan.rbi +371 -0
  264. data/rbi/stripe/resources/price.rbi +694 -0
  265. data/rbi/stripe/resources/product.rbi +555 -0
  266. data/rbi/stripe/resources/product_feature.rbi +26 -0
  267. data/rbi/stripe/resources/promotion_code.rbi +261 -0
  268. data/rbi/stripe/resources/quote.rbi +1126 -0
  269. data/rbi/stripe/resources/radar/early_fraud_warning.rbi +98 -0
  270. data/rbi/stripe/resources/radar/value_list.rbi +168 -0
  271. data/rbi/stripe/resources/radar/value_list_item.rbi +129 -0
  272. data/rbi/stripe/resources/refund.rbi +523 -0
  273. data/rbi/stripe/resources/reporting/report_run.rbi +191 -0
  274. data/rbi/stripe/resources/reporting/report_type.rbi +57 -0
  275. data/rbi/stripe/resources/reserve_transaction.rbi +23 -0
  276. data/rbi/stripe/resources/reversal.rbi +51 -0
  277. data/rbi/stripe/resources/review.rbi +154 -0
  278. data/rbi/stripe/resources/setup_attempt.rbi +477 -0
  279. data/rbi/stripe/resources/setup_intent.rbi +3655 -0
  280. data/rbi/stripe/resources/shipping_rate.rbi +305 -0
  281. data/rbi/stripe/resources/sigma/scheduled_query_run.rbi +75 -0
  282. data/rbi/stripe/resources/source.rbi +1496 -0
  283. data/rbi/stripe/resources/source_mandate_notification.rbi +77 -0
  284. data/rbi/stripe/resources/source_transaction.rbi +127 -0
  285. data/rbi/stripe/resources/subscription.rbi +2027 -0
  286. data/rbi/stripe/resources/subscription_item.rbi +404 -0
  287. data/rbi/stripe/resources/subscription_schedule.rbi +1623 -0
  288. data/rbi/stripe/resources/tax/calculation.rbi +478 -0
  289. data/rbi/stripe/resources/tax/calculation_line_item.rbi +91 -0
  290. data/rbi/stripe/resources/tax/registration.rbi +2713 -0
  291. data/rbi/stripe/resources/tax/settings.rbi +141 -0
  292. data/rbi/stripe/resources/tax/transaction.rbi +351 -0
  293. data/rbi/stripe/resources/tax/transaction_line_item.rbi +54 -0
  294. data/rbi/stripe/resources/tax_code.rbi +44 -0
  295. data/rbi/stripe/resources/tax_deducted_at_source.rbi +23 -0
  296. data/rbi/stripe/resources/tax_id.rbi +165 -0
  297. data/rbi/stripe/resources/tax_rate.rbi +239 -0
  298. data/rbi/stripe/resources/terminal/configuration.rbi +1386 -0
  299. data/rbi/stripe/resources/terminal/connection_token.rbi +37 -0
  300. data/rbi/stripe/resources/terminal/location.rbi +222 -0
  301. data/rbi/stripe/resources/terminal/reader.rbi +847 -0
  302. data/rbi/stripe/resources/test_helpers/test_clock.rbi +132 -0
  303. data/rbi/stripe/resources/token.rbi +1283 -0
  304. data/rbi/stripe/resources/topup.rbi +222 -0
  305. data/rbi/stripe/resources/transfer.rbi +199 -0
  306. data/rbi/stripe/resources/treasury/credit_reversal.rbi +119 -0
  307. data/rbi/stripe/resources/treasury/debit_reversal.rbi +131 -0
  308. data/rbi/stripe/resources/treasury/financial_account.rbi +865 -0
  309. data/rbi/stripe/resources/treasury/financial_account_features.rbi +260 -0
  310. data/rbi/stripe/resources/treasury/inbound_transfer.rbi +295 -0
  311. data/rbi/stripe/resources/treasury/outbound_payment.rbi +592 -0
  312. data/rbi/stripe/resources/treasury/outbound_transfer.rbi +431 -0
  313. data/rbi/stripe/resources/treasury/received_credit.rbi +302 -0
  314. data/rbi/stripe/resources/treasury/received_debit.rbi +256 -0
  315. data/rbi/stripe/resources/treasury/transaction.rbi +215 -0
  316. data/rbi/stripe/resources/treasury/transaction_entry.rbi +192 -0
  317. data/rbi/stripe/resources/v2/amount.rbi +14 -0
  318. data/rbi/stripe/resources/v2/billing/meter_event.rbi +37 -0
  319. data/rbi/stripe/resources/v2/billing/meter_event_adjustment.rbi +41 -0
  320. data/rbi/stripe/resources/v2/billing/meter_event_session.rbi +31 -0
  321. data/rbi/stripe/resources/v2/event.rbi +48 -0
  322. data/rbi/stripe/resources/v2/event_destination.rbi +91 -0
  323. data/rbi/stripe/resources/webhook_endpoint.rbi +168 -0
  324. data/rbi/stripe/services/account_capability_service.rbi +51 -0
  325. data/{lib/stripe/services/external_account_service.rb → rbi/stripe/services/account_external_account_service.rbi} +124 -138
  326. data/rbi/stripe/services/account_link_service.rbi +58 -0
  327. data/rbi/stripe/services/account_login_link_service.rbi +22 -0
  328. data/rbi/stripe/services/account_person_service.rbi +1011 -0
  329. data/rbi/stripe/services/account_service.rbi +4213 -0
  330. data/rbi/stripe/services/account_session_service.rbi +646 -0
  331. data/rbi/stripe/services/apple_pay_domain_service.rbi +76 -0
  332. data/rbi/stripe/services/application_fee_refund_service.rbi +93 -0
  333. data/rbi/stripe/services/application_fee_service.rbi +78 -0
  334. data/rbi/stripe/services/apps/secret_service.rbi +151 -0
  335. data/rbi/stripe/services/apps_service.rbi +9 -0
  336. data/rbi/stripe/services/balance_service.rbi +21 -0
  337. data/rbi/stripe/services/balance_transaction_service.rbi +93 -0
  338. data/rbi/stripe/services/billing/alert_service.rbi +152 -0
  339. data/rbi/stripe/services/billing/credit_balance_summary_service.rbi +68 -0
  340. data/rbi/stripe/services/billing/credit_balance_transaction_service.rbi +59 -0
  341. data/rbi/stripe/services/billing/credit_grant_service.rbi +211 -0
  342. data/rbi/stripe/services/billing/meter_event_adjustment_service.rbi +42 -0
  343. data/rbi/stripe/services/billing/meter_event_service.rbi +42 -0
  344. data/rbi/stripe/services/billing/meter_event_summary_service.rbi +54 -0
  345. data/rbi/stripe/services/billing/meter_service.rbi +163 -0
  346. data/rbi/stripe/services/billing_portal/configuration_service.rbi +511 -0
  347. data/rbi/stripe/services/billing_portal/session_service.rbi +204 -0
  348. data/rbi/stripe/services/billing_portal_service.rbi +10 -0
  349. data/rbi/stripe/services/billing_service.rbi +15 -0
  350. data/rbi/stripe/services/charge_service.rbi +448 -0
  351. data/rbi/stripe/services/checkout/session_line_item_service.rbi +33 -0
  352. data/rbi/stripe/services/checkout/session_service.rbi +2614 -0
  353. data/rbi/stripe/services/checkout_service.rbi +9 -0
  354. data/rbi/stripe/services/climate/order_service.rbi +142 -0
  355. data/rbi/stripe/services/climate/product_service.rbi +46 -0
  356. data/{lib/stripe/services/financial_connections/institution_service.rb → rbi/stripe/services/climate/supplier_service.rbi} +25 -36
  357. data/rbi/stripe/services/climate_service.rbi +11 -0
  358. data/rbi/stripe/services/confirmation_token_service.rbi +20 -0
  359. data/rbi/stripe/services/country_spec_service.rbi +44 -0
  360. data/rbi/stripe/services/coupon_service.rbi +194 -0
  361. data/{lib/stripe/services/quote_preview_invoice_service.rb → rbi/stripe/services/credit_note_line_item_service.rbi} +16 -20
  362. data/rbi/stripe/services/credit_note_preview_lines_service.rbi +167 -0
  363. data/rbi/stripe/services/credit_note_service.rbi +415 -0
  364. data/rbi/stripe/services/customer_balance_transaction_service.rbi +92 -0
  365. data/rbi/stripe/services/customer_cash_balance_service.rbi +45 -0
  366. data/rbi/stripe/services/customer_cash_balance_transaction_service.rbi +44 -0
  367. data/rbi/stripe/services/customer_funding_instructions_service.rbi +59 -0
  368. data/rbi/stripe/services/customer_payment_method_service.rbi +57 -0
  369. data/rbi/stripe/services/customer_payment_source_service.rbi +232 -0
  370. data/rbi/stripe/services/customer_service.rbi +647 -0
  371. data/rbi/stripe/services/customer_session_service.rbi +116 -0
  372. data/rbi/stripe/services/customer_tax_id_service.rbi +70 -0
  373. data/rbi/stripe/services/dispute_service.rbi +424 -0
  374. data/rbi/stripe/services/entitlements/active_entitlement_service.rbi +55 -0
  375. data/rbi/stripe/services/entitlements/feature_service.rbi +107 -0
  376. data/rbi/stripe/services/entitlements_service.rbi +10 -0
  377. data/rbi/stripe/services/ephemeral_key_service.rbi +53 -0
  378. data/rbi/stripe/services/event_service.rbi +83 -0
  379. data/rbi/stripe/services/exchange_rate_service.rbi +44 -0
  380. data/rbi/stripe/services/file_link_service.rbi +124 -0
  381. data/rbi/stripe/services/file_service.rbi +116 -0
  382. data/rbi/stripe/services/financial_connections/account_owner_service.rbi +42 -0
  383. data/rbi/stripe/services/financial_connections/account_service.rbi +133 -0
  384. data/rbi/stripe/services/financial_connections/session_service.rbi +88 -0
  385. data/rbi/stripe/services/financial_connections/transaction_service.rbi +92 -0
  386. data/rbi/stripe/services/financial_connections_service.rbi +11 -0
  387. data/rbi/stripe/services/forwarding/request_service.rbi +134 -0
  388. data/rbi/stripe/services/forwarding_service.rbi +9 -0
  389. data/rbi/stripe/services/identity/verification_report_service.rbi +87 -0
  390. data/rbi/stripe/services/identity/verification_session_service.rbi +323 -0
  391. data/rbi/stripe/services/identity_service.rbi +10 -0
  392. data/rbi/stripe/services/invoice_item_service.rbi +366 -0
  393. data/rbi/stripe/services/invoice_line_item_service.rbi +259 -0
  394. data/rbi/stripe/services/invoice_payment_service.rbi +71 -0
  395. data/rbi/stripe/services/invoice_rendering_template_service.rbi +82 -0
  396. data/rbi/stripe/services/invoice_service.rbi +2981 -0
  397. data/rbi/stripe/services/issuing/authorization_service.rbi +146 -0
  398. data/rbi/stripe/services/issuing/card_service.rbi +495 -0
  399. data/rbi/stripe/services/issuing/cardholder_service.rbi +587 -0
  400. data/rbi/stripe/services/issuing/dispute_service.rbi +707 -0
  401. data/rbi/stripe/services/issuing/personalization_design_service.rbi +243 -0
  402. data/rbi/stripe/services/issuing/physical_bundle_service.rbi +59 -0
  403. data/rbi/stripe/services/issuing/token_service.rbi +99 -0
  404. data/rbi/stripe/services/issuing/transaction_service.rbi +105 -0
  405. data/rbi/stripe/services/issuing_service.rbi +16 -0
  406. data/rbi/stripe/services/mandate_service.rbi +20 -0
  407. data/rbi/stripe/services/payment_intent_service.rbi +7659 -0
  408. data/{lib/stripe/services/payment_intent_amount_details_line_item_service.rb → rbi/stripe/services/payment_link_line_item_service.rbi} +16 -20
  409. data/rbi/stripe/services/payment_link_service.rbi +1352 -0
  410. data/rbi/stripe/services/payment_method_configuration_service.rbi +2487 -0
  411. data/rbi/stripe/services/payment_method_domain_service.rbi +112 -0
  412. data/rbi/stripe/services/payment_method_service.rbi +776 -0
  413. data/rbi/stripe/services/payout_service.rbi +205 -0
  414. data/rbi/stripe/services/plan_service.rbi +282 -0
  415. data/rbi/stripe/services/price_service.rbi +546 -0
  416. data/rbi/stripe/services/product_feature_service.rbi +67 -0
  417. data/rbi/stripe/services/product_service.rbi +477 -0
  418. data/rbi/stripe/services/promotion_code_service.rbi +214 -0
  419. data/rbi/stripe/services/quote_computed_upfront_line_items_service.rbi +31 -0
  420. data/{lib/stripe/services/order_line_item_service.rb → rbi/stripe/services/quote_line_item_service.rbi} +16 -20
  421. data/rbi/stripe/services/quote_service.rbi +686 -0
  422. data/rbi/stripe/services/radar/early_fraud_warning_service.rbi +85 -0
  423. data/rbi/stripe/services/radar/value_list_item_service.rbi +109 -0
  424. data/rbi/stripe/services/radar/value_list_service.rbi +141 -0
  425. data/rbi/stripe/services/radar_service.rbi +11 -0
  426. data/rbi/stripe/services/refund_service.rbi +185 -0
  427. data/rbi/stripe/services/reporting/report_run_service.rbi +135 -0
  428. data/rbi/stripe/services/reporting/report_type_service.rbi +35 -0
  429. data/rbi/stripe/services/reporting_service.rbi +10 -0
  430. data/rbi/stripe/services/review_service.rbi +84 -0
  431. data/rbi/stripe/services/setup_attempt_service.rbi +65 -0
  432. data/rbi/stripe/services/setup_intent_service.rbi +3391 -0
  433. data/rbi/stripe/services/shipping_rate_service.rbi +241 -0
  434. data/rbi/stripe/services/sigma/scheduled_query_run_service.rbi +46 -0
  435. data/rbi/stripe/services/sigma_service.rbi +9 -0
  436. data/rbi/stripe/services/source_service.rbi +663 -0
  437. data/{lib/stripe/services/quote_line_service.rb → rbi/stripe/services/source_transaction_service.rbi} +16 -20
  438. data/rbi/stripe/services/subscription_item_service.rbi +350 -0
  439. data/rbi/stripe/services/subscription_schedule_service.rbi +1290 -0
  440. data/rbi/stripe/services/subscription_service.rbi +1648 -0
  441. data/{lib/stripe/services/financial_connections/account_inferred_balance_service.rb → rbi/stripe/services/tax/calculation_line_item_service.rbi} +17 -21
  442. data/rbi/stripe/services/tax/calculation_service.rbi +234 -0
  443. data/rbi/stripe/services/tax/registration_service.rbi +1845 -0
  444. data/rbi/stripe/services/tax/settings_service.rbi +93 -0
  445. data/{lib/stripe/services/privacy/redaction_job_validation_error_service.rb → rbi/stripe/services/tax/transaction_line_item_service.rbi} +17 -21
  446. data/rbi/stripe/services/tax/transaction_service.rbi +146 -0
  447. data/rbi/stripe/services/tax_code_service.rbi +44 -0
  448. data/rbi/stripe/services/tax_id_service.rbi +110 -0
  449. data/rbi/stripe/services/tax_rate_service.rbi +185 -0
  450. data/rbi/stripe/services/tax_service.rbi +12 -0
  451. data/rbi/stripe/services/terminal/configuration_service.rbi +1118 -0
  452. data/rbi/stripe/services/terminal/connection_token_service.rbi +25 -0
  453. data/rbi/stripe/services/terminal/location_service.rbi +182 -0
  454. data/rbi/stripe/services/terminal/reader_service.rbi +455 -0
  455. data/rbi/stripe/services/terminal_service.rbi +12 -0
  456. data/rbi/stripe/services/test_helpers/confirmation_token_service.rbi +739 -0
  457. data/rbi/stripe/services/test_helpers/customer_service.rbi +33 -0
  458. data/rbi/stripe/services/test_helpers/issuing/authorization_service.rbi +848 -0
  459. data/rbi/stripe/services/test_helpers/issuing/card_service.rbi +76 -0
  460. data/rbi/stripe/services/test_helpers/issuing/personalization_design_service.rbi +69 -0
  461. data/rbi/stripe/services/test_helpers/issuing/transaction_service.rbi +711 -0
  462. data/rbi/stripe/services/test_helpers/issuing_service.rbi +14 -0
  463. data/rbi/stripe/services/test_helpers/refund_service.rbi +22 -0
  464. data/rbi/stripe/services/test_helpers/terminal/reader_service.rbi +93 -0
  465. data/rbi/stripe/services/test_helpers/terminal_service.rbi +11 -0
  466. data/rbi/stripe/services/test_helpers/test_clock_service.rbi +90 -0
  467. data/rbi/stripe/services/test_helpers/treasury/inbound_transfer_service.rbi +64 -0
  468. data/rbi/stripe/services/test_helpers/treasury/outbound_payment_service.rbi +125 -0
  469. data/rbi/stripe/services/test_helpers/treasury/outbound_transfer_service.rbi +125 -0
  470. data/rbi/stripe/services/test_helpers/treasury/received_credit_service.rbi +87 -0
  471. data/rbi/stripe/services/test_helpers/treasury/received_debit_service.rbi +87 -0
  472. data/rbi/stripe/services/test_helpers/treasury_service.rbi +15 -0
  473. data/rbi/stripe/services/test_helpers_service.rbi +15 -0
  474. data/rbi/stripe/services/token_service.rbi +1257 -0
  475. data/rbi/stripe/services/topup_service.rbi +176 -0
  476. data/rbi/stripe/services/transfer_reversal_service.rbi +101 -0
  477. data/rbi/stripe/services/transfer_service.rbi +152 -0
  478. data/rbi/stripe/services/treasury/credit_reversal_service.rbi +84 -0
  479. data/rbi/stripe/services/treasury/debit_reversal_service.rbi +88 -0
  480. data/rbi/stripe/services/treasury/financial_account_features_service.rbi +198 -0
  481. data/rbi/stripe/services/treasury/financial_account_service.rbi +562 -0
  482. data/rbi/stripe/services/treasury/inbound_transfer_service.rbi +117 -0
  483. data/rbi/stripe/services/treasury/outbound_payment_service.rbi +304 -0
  484. data/rbi/stripe/services/treasury/outbound_transfer_service.rbi +157 -0
  485. data/rbi/stripe/services/treasury/received_credit_service.rbi +72 -0
  486. data/rbi/stripe/services/treasury/received_debit_service.rbi +59 -0
  487. data/rbi/stripe/services/treasury/transaction_entry_service.rbi +111 -0
  488. data/rbi/stripe/services/treasury/transaction_service.rbi +122 -0
  489. data/rbi/stripe/services/treasury_service.rbi +18 -0
  490. data/rbi/stripe/services/v1_services.rbi +77 -0
  491. data/rbi/stripe/services/v2/billing/meter_event_adjustment_service.rbi +39 -0
  492. data/rbi/stripe/services/v2/billing/meter_event_service.rbi +42 -0
  493. data/rbi/stripe/services/v2/billing/meter_event_session_service.rbi +18 -0
  494. data/rbi/stripe/services/v2/billing/meter_event_stream_service.rbi +55 -0
  495. data/rbi/stripe/services/v2/billing_service.rbi +14 -0
  496. data/rbi/stripe/services/v2/core/event_destination_service.rbi +192 -0
  497. data/rbi/stripe/services/v2/core/event_service.rbi +36 -0
  498. data/rbi/stripe/services/v2/core_service.rbi +12 -0
  499. data/rbi/stripe/services/v2_services.rbi +10 -0
  500. data/rbi/stripe/services/webhook_endpoint_service.rbi +129 -0
  501. data/stripe.gemspec +1 -4
  502. metadata +326 -158
  503. data/lib/stripe/events/v2_core_account_closed_event.rb +0 -21
  504. data/lib/stripe/events/v2_core_account_created_event.rb +0 -21
  505. data/lib/stripe/events/v2_core_account_including_configuration_customer_capability_status_updated_event.rb +0 -23
  506. data/lib/stripe/events/v2_core_account_including_configuration_customer_updated_event.rb +0 -21
  507. data/lib/stripe/events/v2_core_account_including_configuration_merchant_capability_status_updated_event.rb +0 -23
  508. data/lib/stripe/events/v2_core_account_including_configuration_merchant_updated_event.rb +0 -21
  509. data/lib/stripe/events/v2_core_account_including_configuration_recipient_capability_status_updated_event.rb +0 -23
  510. data/lib/stripe/events/v2_core_account_including_configuration_recipient_updated_event.rb +0 -21
  511. data/lib/stripe/events/v2_core_account_including_defaults_updated_event.rb +0 -21
  512. data/lib/stripe/events/v2_core_account_including_identity_updated_event.rb +0 -21
  513. data/lib/stripe/events/v2_core_account_including_requirements_updated_event.rb +0 -21
  514. data/lib/stripe/events/v2_core_account_link_completed_event.rb +0 -13
  515. data/lib/stripe/events/v2_core_account_person_created_event.rb +0 -23
  516. data/lib/stripe/events/v2_core_account_person_deleted_event.rb +0 -23
  517. data/lib/stripe/events/v2_core_account_person_updated_event.rb +0 -23
  518. data/lib/stripe/events/v2_core_account_updated_event.rb +0 -21
  519. data/lib/stripe/events/v2_money_management_adjustment_created_event.rb +0 -21
  520. data/lib/stripe/events/v2_money_management_financial_account_created_event.rb +0 -21
  521. data/lib/stripe/events/v2_money_management_financial_account_updated_event.rb +0 -21
  522. data/lib/stripe/events/v2_money_management_financial_address_activated_event.rb +0 -21
  523. data/lib/stripe/events/v2_money_management_financial_address_failed_event.rb +0 -21
  524. data/lib/stripe/events/v2_money_management_inbound_transfer_available_event.rb +0 -23
  525. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_failed_event.rb +0 -21
  526. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_processing_event.rb +0 -21
  527. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_queued_event.rb +0 -21
  528. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_returned_event.rb +0 -21
  529. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_succeeded_event.rb +0 -21
  530. data/lib/stripe/events/v2_money_management_outbound_payment_canceled_event.rb +0 -21
  531. data/lib/stripe/events/v2_money_management_outbound_payment_created_event.rb +0 -21
  532. data/lib/stripe/events/v2_money_management_outbound_payment_failed_event.rb +0 -21
  533. data/lib/stripe/events/v2_money_management_outbound_payment_posted_event.rb +0 -21
  534. data/lib/stripe/events/v2_money_management_outbound_payment_returned_event.rb +0 -21
  535. data/lib/stripe/events/v2_money_management_outbound_payment_updated_event.rb +0 -21
  536. data/lib/stripe/events/v2_money_management_outbound_transfer_canceled_event.rb +0 -21
  537. data/lib/stripe/events/v2_money_management_outbound_transfer_created_event.rb +0 -21
  538. data/lib/stripe/events/v2_money_management_outbound_transfer_failed_event.rb +0 -21
  539. data/lib/stripe/events/v2_money_management_outbound_transfer_posted_event.rb +0 -21
  540. data/lib/stripe/events/v2_money_management_outbound_transfer_returned_event.rb +0 -21
  541. data/lib/stripe/events/v2_money_management_outbound_transfer_updated_event.rb +0 -21
  542. data/lib/stripe/events/v2_money_management_received_credit_available_event.rb +0 -23
  543. data/lib/stripe/events/v2_money_management_received_credit_failed_event.rb +0 -21
  544. data/lib/stripe/events/v2_money_management_received_credit_returned_event.rb +0 -21
  545. data/lib/stripe/events/v2_money_management_received_credit_succeeded_event.rb +0 -21
  546. data/lib/stripe/events/v2_money_management_received_debit_canceled_event.rb +0 -21
  547. data/lib/stripe/events/v2_money_management_received_debit_failed_event.rb +0 -21
  548. data/lib/stripe/events/v2_money_management_received_debit_pending_event.rb +0 -21
  549. data/lib/stripe/events/v2_money_management_received_debit_succeeded_event.rb +0 -21
  550. data/lib/stripe/events/v2_money_management_received_debit_updated_event.rb +0 -21
  551. data/lib/stripe/events/v2_money_management_transaction_created_event.rb +0 -21
  552. data/lib/stripe/events/v2_money_management_transaction_updated_event.rb +0 -21
  553. data/lib/stripe/resources/account_notice.rb +0 -123
  554. data/lib/stripe/resources/balance_settings.rb +0 -105
  555. data/lib/stripe/resources/billing/meter_error_report.rb +0 -59
  556. data/lib/stripe/resources/capital/financing_offer.rb +0 -179
  557. data/lib/stripe/resources/capital/financing_summary.rb +0 -55
  558. data/lib/stripe/resources/capital/financing_transaction.rb +0 -114
  559. data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +0 -27
  560. data/lib/stripe/resources/financial_connections/institution.rb +0 -90
  561. data/lib/stripe/resources/fx_quote.rb +0 -184
  562. data/lib/stripe/resources/gift_cards/card.rb +0 -208
  563. data/lib/stripe/resources/gift_cards/transaction.rb +0 -272
  564. data/lib/stripe/resources/issuing/credit_underwriting_record.rb +0 -602
  565. data/lib/stripe/resources/issuing/dispute_settlement_detail.rb +0 -82
  566. data/lib/stripe/resources/issuing/fraud_liability_debit.rb +0 -86
  567. data/lib/stripe/resources/issuing/settlement.rb +0 -53
  568. data/lib/stripe/resources/margin.rb +0 -115
  569. data/lib/stripe/resources/order.rb +0 -2859
  570. data/lib/stripe/resources/payment_attempt_record.rb +0 -1078
  571. data/lib/stripe/resources/payment_intent_amount_details_line_item.rb +0 -65
  572. data/lib/stripe/resources/payment_record.rb +0 -1607
  573. data/lib/stripe/resources/privacy/redaction_job.rb +0 -275
  574. data/lib/stripe/resources/privacy/redaction_job_validation_error.rb +0 -25
  575. data/lib/stripe/resources/quote_line.rb +0 -274
  576. data/lib/stripe/resources/quote_preview_invoice.rb +0 -663
  577. data/lib/stripe/resources/quote_preview_subscription_schedule.rb +0 -339
  578. data/lib/stripe/resources/tax/association.rb +0 -89
  579. data/lib/stripe/resources/tax/form.rb +0 -211
  580. data/lib/stripe/resources/terminal/reader_collected_data.rb +0 -31
  581. data/lib/stripe/resources/v2/core/account.rb +0 -1746
  582. data/lib/stripe/resources/v2/core/account_link.rb +0 -56
  583. data/lib/stripe/resources/v2/core/person.rb +0 -276
  584. data/lib/stripe/resources/v2/core/vault/gb_bank_account.rb +0 -74
  585. data/lib/stripe/resources/v2/core/vault/us_bank_account.rb +0 -39
  586. data/lib/stripe/resources/v2/financial_address_credit_simulation.rb +0 -20
  587. data/lib/stripe/resources/v2/financial_address_generated_microdeposits.rb +0 -22
  588. data/lib/stripe/resources/v2/money_management/adjustment.rb +0 -51
  589. data/lib/stripe/resources/v2/money_management/financial_account.rb +0 -58
  590. data/lib/stripe/resources/v2/money_management/financial_address.rb +0 -68
  591. data/lib/stripe/resources/v2/money_management/inbound_transfer.rb +0 -94
  592. data/lib/stripe/resources/v2/money_management/outbound_payment.rb +0 -129
  593. data/lib/stripe/resources/v2/money_management/outbound_payment_quote.rb +0 -82
  594. data/lib/stripe/resources/v2/money_management/outbound_setup_intent.rb +0 -45
  595. data/lib/stripe/resources/v2/money_management/outbound_transfer.rb +0 -117
  596. data/lib/stripe/resources/v2/money_management/payout_method.rb +0 -75
  597. data/lib/stripe/resources/v2/money_management/payout_methods_bank_account_spec.rb +0 -49
  598. data/lib/stripe/resources/v2/money_management/received_credit.rb +0 -136
  599. data/lib/stripe/resources/v2/money_management/received_debit.rb +0 -108
  600. data/lib/stripe/resources/v2/money_management/transaction.rb +0 -78
  601. data/lib/stripe/resources/v2/money_management/transaction_entry.rb +0 -68
  602. data/lib/stripe/services/account_notice_service.rb +0 -101
  603. data/lib/stripe/services/balance_settings_service.rb +0 -96
  604. data/lib/stripe/services/capital/financing_offer_service.rb +0 -112
  605. data/lib/stripe/services/capital/financing_summary_service.rb +0 -28
  606. data/lib/stripe/services/capital/financing_transaction_service.rb +0 -79
  607. data/lib/stripe/services/capital_service.rb +0 -15
  608. data/lib/stripe/services/fx_quote_service.rb +0 -123
  609. data/lib/stripe/services/gift_cards/card_service.rb +0 -170
  610. data/lib/stripe/services/gift_cards/transaction_service.rb +0 -209
  611. data/lib/stripe/services/gift_cards_service.rb +0 -14
  612. data/lib/stripe/services/issuing/credit_underwriting_record_service.rb +0 -504
  613. data/lib/stripe/services/issuing/dispute_settlement_detail_service.rb +0 -66
  614. data/lib/stripe/services/issuing/fraud_liability_debit_service.rb +0 -83
  615. data/lib/stripe/services/margin_service.rb +0 -119
  616. data/lib/stripe/services/order_service.rb +0 -2268
  617. data/lib/stripe/services/payment_attempt_record_service.rb +0 -49
  618. data/lib/stripe/services/payment_record_service.rb +0 -542
  619. data/lib/stripe/services/privacy/redaction_job_service.rb +0 -231
  620. data/lib/stripe/services/privacy_service.rb +0 -13
  621. data/lib/stripe/services/quote_preview_subscription_schedule_service.rb +0 -35
  622. data/lib/stripe/services/tax/association_service.rb +0 -31
  623. data/lib/stripe/services/tax/form_service.rb +0 -100
  624. data/lib/stripe/services/terminal/reader_collected_data_service.rb +0 -28
  625. data/lib/stripe/services/v2/core/account_link_service.rb +0 -76
  626. data/lib/stripe/services/v2/core/account_service.rb +0 -4138
  627. data/lib/stripe/services/v2/core/accounts/person_service.rb +0 -1048
  628. data/lib/stripe/services/v2/core/vault/gb_bank_account_service.rb +0 -135
  629. data/lib/stripe/services/v2/core/vault/us_bank_account_service.rb +0 -109
  630. data/lib/stripe/services/v2/core/vault_service.rb +0 -18
  631. data/lib/stripe/services/v2/money_management/adjustment_service.rb +0 -75
  632. data/lib/stripe/services/v2/money_management/financial_account_service.rb +0 -44
  633. data/lib/stripe/services/v2/money_management/financial_address_service.rb +0 -81
  634. data/lib/stripe/services/v2/money_management/inbound_transfer_service.rb +0 -126
  635. data/lib/stripe/services/v2/money_management/outbound_payment_quote_service.rb +0 -96
  636. data/lib/stripe/services/v2/money_management/outbound_payment_service.rb +0 -202
  637. data/lib/stripe/services/v2/money_management/outbound_setup_intent_service.rb +0 -237
  638. data/lib/stripe/services/v2/money_management/outbound_transfer_service.rb +0 -174
  639. data/lib/stripe/services/v2/money_management/payout_method_service.rb +0 -95
  640. data/lib/stripe/services/v2/money_management/payout_methods_bank_account_spec_service.rb +0 -32
  641. data/lib/stripe/services/v2/money_management/received_credit_service.rb +0 -71
  642. data/lib/stripe/services/v2/money_management/received_debit_service.rb +0 -44
  643. data/lib/stripe/services/v2/money_management/transaction_entry_service.rb +0 -70
  644. data/lib/stripe/services/v2/money_management/transaction_service.rb +0 -74
  645. data/lib/stripe/services/v2/money_management_service.rb +0 -31
  646. data/lib/stripe/services/v2/test_helper_service.rb +0 -15
  647. data/lib/stripe/services/v2/test_helpers/financial_address_service.rb +0 -50
  648. data/rbi/stripe.rbi +0 -191867
@@ -26,7 +26,7 @@ module Stripe
26
26
  # Stripe applies any customer credit on the account before determining the
27
27
  # amount due for the invoice (i.e., the amount that will be actually
28
28
  # charged). If the amount due for the invoice is less than Stripe's [minimum allowed charge
29
- # per currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts), the
29
+ # per currency](https://docs.stripe.com/docs/currencies#minimum-and-maximum-charge-amounts), the
30
30
  # invoice is automatically marked paid, and we add the amount due to the
31
31
  # customer's credit balance which is applied to the next invoice.
32
32
  #
@@ -49,25 +49,6 @@ module Stripe
49
49
 
50
50
  nested_resource_class_methods :line, operations: %i[list]
51
51
 
52
- class AmountsDue < Stripe::StripeObject
53
- # Incremental amount due for this payment in cents (or local equivalent).
54
- attr_reader :amount
55
- # The amount in cents (or local equivalent) that was paid for this payment.
56
- attr_reader :amount_paid
57
- # The difference between the payment’s amount and amount_paid, in cents (or local equivalent).
58
- attr_reader :amount_remaining
59
- # Number of days from when invoice is finalized until the payment is due.
60
- attr_reader :days_until_due
61
- # An arbitrary string attached to the object. Often useful for displaying to users.
62
- attr_reader :description
63
- # Date on which a payment plan’s payment is due.
64
- attr_reader :due_date
65
- # Timestamp when the payment was paid.
66
- attr_reader :paid_at
67
- # The status of the payment, one of `open`, `paid`, or `past_due`
68
- attr_reader :status
69
- end
70
-
71
52
  class AutomaticTax < Stripe::StripeObject
72
53
  class Liability < Stripe::StripeObject
73
54
  # The connected account being referenced when `type` is `account`.
@@ -240,17 +221,9 @@ module Stripe
240
221
  end
241
222
 
242
223
  class SubscriptionDetails < Stripe::StripeObject
243
- class PauseCollection < Stripe::StripeObject
244
- # The payment collection behavior for this subscription while paused. One of `keep_as_draft`, `mark_uncollectible`, or `void`.
245
- attr_reader :behavior
246
- # The time after which the subscription will resume collecting payments.
247
- attr_reader :resumes_at
248
- end
249
224
  # Set of [key-value pairs](https://stripe.com/docs/api/metadata) defined as subscription metadata when an invoice is created. Becomes an immutable snapshot of the subscription metadata at the time of invoice finalization.
250
225
  # *Note: This attribute is populated only for invoices created on or after June 29, 2023.*
251
226
  attr_reader :metadata
252
- # If specified, payment collection for this subscription will be paused. Note that the subscription status will be unchanged and will not be updated to `paused`. Learn more about [pausing collection](https://stripe.com/docs/billing/subscriptions/pause-payment).
253
- attr_reader :pause_collection
254
227
  # The subscription that generated this invoice
255
228
  attr_reader :subscription
256
229
  # Only set for upcoming invoices that preview prorations. The time used to calculate prorations.
@@ -310,7 +283,6 @@ module Stripe
310
283
  attr_reader :funding_type
311
284
  end
312
285
 
313
- class IdBankTransfer < Stripe::StripeObject; end
314
286
  class Konbini < Stripe::StripeObject; end
315
287
  class SepaDebit < Stripe::StripeObject; end
316
288
 
@@ -319,8 +291,6 @@ module Stripe
319
291
  class Filters < Stripe::StripeObject
320
292
  # The account subcategories to use to filter for possible accounts to link. Valid subcategories are `checking` and `savings`.
321
293
  attr_reader :account_subcategories
322
- # The institution to use to filter for possible accounts to link.
323
- attr_reader :institution
324
294
  end
325
295
  # Attribute for field filters
326
296
  attr_reader :filters
@@ -342,8 +312,6 @@ module Stripe
342
312
  attr_reader :card
343
313
  # If paying by `customer_balance`, this sub-hash contains details about the Bank transfer payment method options to pass to the invoice’s PaymentIntent.
344
314
  attr_reader :customer_balance
345
- # If paying by `id_bank_transfer`, this sub-hash contains details about the Indonesia bank transfer payment method options to pass to the invoice’s PaymentIntent.
346
- attr_reader :id_bank_transfer
347
315
  # If paying by `konbini`, this sub-hash contains details about the Konbini payment method options to pass to the invoice’s PaymentIntent.
348
316
  attr_reader :konbini
349
317
  # If paying by `sepa_debit`, this sub-hash contains details about the SEPA Direct Debit payment method options to pass to the invoice’s PaymentIntent.
@@ -457,13 +425,6 @@ module Stripe
457
425
  attr_reader :discount
458
426
  end
459
427
 
460
- class TotalMarginAmount < Stripe::StripeObject
461
- # The amount, in cents (or local equivalent), of the reduction in line item amount.
462
- attr_reader :amount
463
- # The margin that was applied to get this margin amount.
464
- attr_reader :margin
465
- end
466
-
467
428
  class TotalPretaxCreditAmount < Stripe::StripeObject
468
429
  # The amount, in cents (or local equivalent), of the pretax credit amount.
469
430
  attr_reader :amount
@@ -471,8 +432,6 @@ module Stripe
471
432
  attr_reader :credit_balance_transaction
472
433
  # The discount that was applied to get this pretax credit amount.
473
434
  attr_reader :discount
474
- # The margin that was applied to get this pretax credit amount.
475
- attr_reader :margin
476
435
  # Type of the pretax credit amount referenced.
477
436
  attr_reader :type
478
437
  end
@@ -496,28 +455,9 @@ module Stripe
496
455
  attr_reader :type
497
456
  end
498
457
 
499
- class DeleteParams < Stripe::RequestParams
500
- end
458
+ class DeleteParams < Stripe::RequestParams; end
501
459
 
502
460
  class UpdateParams < Stripe::RequestParams
503
- class AmountsDue < Stripe::RequestParams
504
- # The amount in cents (or local equivalent).
505
- attr_accessor :amount
506
- # Number of days from when invoice is finalized until the payment is due.
507
- attr_accessor :days_until_due
508
- # An arbitrary string attached to the object. Often useful for displaying to users.
509
- attr_accessor :description
510
- # Date on which a payment plan’s payment is due.
511
- attr_accessor :due_date
512
-
513
- def initialize(amount: nil, days_until_due: nil, description: nil, due_date: nil)
514
- @amount = amount
515
- @days_until_due = days_until_due
516
- @description = description
517
- @due_date = due_date
518
- end
519
- end
520
-
521
461
  class AutomaticTax < Stripe::RequestParams
522
462
  class Liability < Stripe::RequestParams
523
463
  # The connected account being referenced when `type` is `account`.
@@ -554,44 +494,16 @@ module Stripe
554
494
  end
555
495
 
556
496
  class Discount < Stripe::RequestParams
557
- class DiscountEnd < Stripe::RequestParams
558
- class Duration < Stripe::RequestParams
559
- # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
560
- attr_accessor :interval
561
- # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
562
- attr_accessor :interval_count
563
-
564
- def initialize(interval: nil, interval_count: nil)
565
- @interval = interval
566
- @interval_count = interval_count
567
- end
568
- end
569
- # Time span for the redeemed discount.
570
- attr_accessor :duration
571
- # A precise Unix timestamp for the discount to end. Must be in the future.
572
- attr_accessor :timestamp
573
- # The type of calculation made to determine when the discount ends.
574
- attr_accessor :type
575
-
576
- def initialize(duration: nil, timestamp: nil, type: nil)
577
- @duration = duration
578
- @timestamp = timestamp
579
- @type = type
580
- end
581
- end
582
497
  # ID of the coupon to create a new discount for.
583
498
  attr_accessor :coupon
584
499
  # ID of an existing discount on the object (or one of its ancestors) to reuse.
585
500
  attr_accessor :discount
586
- # Details to determine how long the discount should be applied for.
587
- attr_accessor :discount_end
588
501
  # ID of the promotion code to create a new discount for.
589
502
  attr_accessor :promotion_code
590
503
 
591
- def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
504
+ def initialize(coupon: nil, discount: nil, promotion_code: nil)
592
505
  @coupon = coupon
593
506
  @discount = discount
594
- @discount_end = discount_end
595
507
  @promotion_code = promotion_code
596
508
  end
597
509
  end
@@ -711,26 +623,17 @@ module Stripe
711
623
  end
712
624
  end
713
625
 
714
- class IdBankTransfer < Stripe::RequestParams
715
- end
716
-
717
- class Konbini < Stripe::RequestParams
718
- end
719
-
720
- class SepaDebit < Stripe::RequestParams
721
- end
626
+ class Konbini < Stripe::RequestParams; end
627
+ class SepaDebit < Stripe::RequestParams; end
722
628
 
723
629
  class UsBankAccount < Stripe::RequestParams
724
630
  class FinancialConnections < Stripe::RequestParams
725
631
  class Filters < Stripe::RequestParams
726
632
  # The account subcategories to use to filter for selectable accounts. Valid subcategories are `checking` and `savings`.
727
633
  attr_accessor :account_subcategories
728
- # ID of the institution to use to filter for selectable accounts.
729
- attr_accessor :institution
730
634
 
731
- def initialize(account_subcategories: nil, institution: nil)
635
+ def initialize(account_subcategories: nil)
732
636
  @account_subcategories = account_subcategories
733
- @institution = institution
734
637
  end
735
638
  end
736
639
  # Provide filters for the linked accounts that the customer can select for the payment method.
@@ -764,8 +667,6 @@ module Stripe
764
667
  attr_accessor :card
765
668
  # If paying by `customer_balance`, this sub-hash contains details about the Bank transfer payment method options to pass to the invoice’s PaymentIntent.
766
669
  attr_accessor :customer_balance
767
- # If paying by `id_bank_transfer`, this sub-hash contains details about the Indonesia bank transfer payment method options to pass to the invoice’s PaymentIntent.
768
- attr_accessor :id_bank_transfer
769
670
  # If paying by `konbini`, this sub-hash contains details about the Konbini payment method options to pass to the invoice’s PaymentIntent.
770
671
  attr_accessor :konbini
771
672
  # If paying by `sepa_debit`, this sub-hash contains details about the SEPA Direct Debit payment method options to pass to the invoice’s PaymentIntent.
@@ -778,7 +679,6 @@ module Stripe
778
679
  bancontact: nil,
779
680
  card: nil,
780
681
  customer_balance: nil,
781
- id_bank_transfer: nil,
782
682
  konbini: nil,
783
683
  sepa_debit: nil,
784
684
  us_bank_account: nil
@@ -787,7 +687,6 @@ module Stripe
787
687
  @bancontact = bancontact
788
688
  @card = card
789
689
  @customer_balance = customer_balance
790
- @id_bank_transfer = id_bank_transfer
791
690
  @konbini = konbini
792
691
  @sepa_debit = sepa_debit
793
692
  @us_bank_account = us_bank_account
@@ -999,8 +898,6 @@ module Stripe
999
898
  end
1000
899
  # The account tax IDs associated with the invoice. Only editable when the invoice is a draft.
1001
900
  attr_accessor :account_tax_ids
1002
- # List of expected payments and corresponding due dates. Valid only for invoices where `collection_method=send_invoice`.
1003
- attr_accessor :amounts_due
1004
901
  # A fee in cents (or local equivalent) that will be applied to the invoice and transferred to the application owner's Stripe account. The request must be made with an OAuth key or the Stripe-Account header in order to take an application fee. For more information, see the application fees [documentation](https://stripe.com/docs/billing/invoices/connect#collecting-fees).
1005
902
  attr_accessor :application_fee_amount
1006
903
  # Controls whether Stripe performs [automatic collection](https://stripe.com/docs/invoicing/integration/automatic-advancement-collection) of the invoice.
@@ -1015,8 +912,6 @@ module Stripe
1015
912
  attr_accessor :custom_fields
1016
913
  # The number of days from which the invoice is created until it is due. Only valid for invoices where `collection_method=send_invoice`. This field can only be updated on `draft` invoices.
1017
914
  attr_accessor :days_until_due
1018
- # The ids of the margins to apply to the invoice. Can be overridden by line item `margins`.
1019
- attr_accessor :default_margins
1020
915
  # ID of the default payment method for the invoice. It must belong to the customer associated with the invoice. If not set, defaults to the subscription's default payment method, if any, or to the default payment method in the customer's invoice settings.
1021
916
  attr_accessor :default_payment_method
1022
917
  # ID of the default payment source for the invoice. It must belong to the customer associated with the invoice and be in a chargeable state. If not set, defaults to the subscription's default source, if any, or to the customer's default source.
@@ -1058,7 +953,6 @@ module Stripe
1058
953
 
1059
954
  def initialize(
1060
955
  account_tax_ids: nil,
1061
- amounts_due: nil,
1062
956
  application_fee_amount: nil,
1063
957
  auto_advance: nil,
1064
958
  automatic_tax: nil,
@@ -1066,7 +960,6 @@ module Stripe
1066
960
  collection_method: nil,
1067
961
  custom_fields: nil,
1068
962
  days_until_due: nil,
1069
- default_margins: nil,
1070
963
  default_payment_method: nil,
1071
964
  default_source: nil,
1072
965
  default_tax_rates: nil,
@@ -1088,7 +981,6 @@ module Stripe
1088
981
  transfer_data: nil
1089
982
  )
1090
983
  @account_tax_ids = account_tax_ids
1091
- @amounts_due = amounts_due
1092
984
  @application_fee_amount = application_fee_amount
1093
985
  @auto_advance = auto_advance
1094
986
  @automatic_tax = automatic_tax
@@ -1096,7 +988,6 @@ module Stripe
1096
988
  @collection_method = collection_method
1097
989
  @custom_fields = custom_fields
1098
990
  @days_until_due = days_until_due
1099
- @default_margins = default_margins
1100
991
  @default_payment_method = default_payment_method
1101
992
  @default_source = default_source
1102
993
  @default_tax_rates = default_tax_rates
@@ -1161,8 +1052,6 @@ module Stripe
1161
1052
  attr_accessor :created
1162
1053
  # Only return invoices for the customer specified by this customer ID.
1163
1054
  attr_accessor :customer
1164
- # Only return invoices for the account specified by this account ID.
1165
- attr_accessor :customer_account
1166
1055
  # Attribute for param field due_date
1167
1056
  attr_accessor :due_date
1168
1057
  # 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.
@@ -1182,7 +1071,6 @@ module Stripe
1182
1071
  collection_method: nil,
1183
1072
  created: nil,
1184
1073
  customer: nil,
1185
- customer_account: nil,
1186
1074
  due_date: nil,
1187
1075
  ending_before: nil,
1188
1076
  expand: nil,
@@ -1194,7 +1082,6 @@ module Stripe
1194
1082
  @collection_method = collection_method
1195
1083
  @created = created
1196
1084
  @customer = customer
1197
- @customer_account = customer_account
1198
1085
  @due_date = due_date
1199
1086
  @ending_before = ending_before
1200
1087
  @expand = expand
@@ -1206,24 +1093,6 @@ module Stripe
1206
1093
  end
1207
1094
 
1208
1095
  class CreateParams < Stripe::RequestParams
1209
- class AmountsDue < Stripe::RequestParams
1210
- # The amount in cents (or local equivalent).
1211
- attr_accessor :amount
1212
- # Number of days from when invoice is finalized until the payment is due.
1213
- attr_accessor :days_until_due
1214
- # An arbitrary string attached to the object. Often useful for displaying to users.
1215
- attr_accessor :description
1216
- # Date on which a payment plan’s payment is due.
1217
- attr_accessor :due_date
1218
-
1219
- def initialize(amount: nil, days_until_due: nil, description: nil, due_date: nil)
1220
- @amount = amount
1221
- @days_until_due = days_until_due
1222
- @description = description
1223
- @due_date = due_date
1224
- end
1225
- end
1226
-
1227
1096
  class AutomaticTax < Stripe::RequestParams
1228
1097
  class Liability < Stripe::RequestParams
1229
1098
  # The connected account being referenced when `type` is `account`.
@@ -1260,44 +1129,16 @@ module Stripe
1260
1129
  end
1261
1130
 
1262
1131
  class Discount < Stripe::RequestParams
1263
- class DiscountEnd < Stripe::RequestParams
1264
- class Duration < Stripe::RequestParams
1265
- # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
1266
- attr_accessor :interval
1267
- # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
1268
- attr_accessor :interval_count
1269
-
1270
- def initialize(interval: nil, interval_count: nil)
1271
- @interval = interval
1272
- @interval_count = interval_count
1273
- end
1274
- end
1275
- # Time span for the redeemed discount.
1276
- attr_accessor :duration
1277
- # A precise Unix timestamp for the discount to end. Must be in the future.
1278
- attr_accessor :timestamp
1279
- # The type of calculation made to determine when the discount ends.
1280
- attr_accessor :type
1281
-
1282
- def initialize(duration: nil, timestamp: nil, type: nil)
1283
- @duration = duration
1284
- @timestamp = timestamp
1285
- @type = type
1286
- end
1287
- end
1288
1132
  # ID of the coupon to create a new discount for.
1289
1133
  attr_accessor :coupon
1290
1134
  # ID of an existing discount on the object (or one of its ancestors) to reuse.
1291
1135
  attr_accessor :discount
1292
- # Details to determine how long the discount should be applied for.
1293
- attr_accessor :discount_end
1294
1136
  # ID of the promotion code to create a new discount for.
1295
1137
  attr_accessor :promotion_code
1296
1138
 
1297
- def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
1139
+ def initialize(coupon: nil, discount: nil, promotion_code: nil)
1298
1140
  @coupon = coupon
1299
1141
  @discount = discount
1300
- @discount_end = discount_end
1301
1142
  @promotion_code = promotion_code
1302
1143
  end
1303
1144
  end
@@ -1429,26 +1270,17 @@ module Stripe
1429
1270
  end
1430
1271
  end
1431
1272
 
1432
- class IdBankTransfer < Stripe::RequestParams
1433
- end
1434
-
1435
- class Konbini < Stripe::RequestParams
1436
- end
1437
-
1438
- class SepaDebit < Stripe::RequestParams
1439
- end
1273
+ class Konbini < Stripe::RequestParams; end
1274
+ class SepaDebit < Stripe::RequestParams; end
1440
1275
 
1441
1276
  class UsBankAccount < Stripe::RequestParams
1442
1277
  class FinancialConnections < Stripe::RequestParams
1443
1278
  class Filters < Stripe::RequestParams
1444
1279
  # The account subcategories to use to filter for selectable accounts. Valid subcategories are `checking` and `savings`.
1445
1280
  attr_accessor :account_subcategories
1446
- # ID of the institution to use to filter for selectable accounts.
1447
- attr_accessor :institution
1448
1281
 
1449
- def initialize(account_subcategories: nil, institution: nil)
1282
+ def initialize(account_subcategories: nil)
1450
1283
  @account_subcategories = account_subcategories
1451
- @institution = institution
1452
1284
  end
1453
1285
  end
1454
1286
  # Provide filters for the linked accounts that the customer can select for the payment method.
@@ -1482,8 +1314,6 @@ module Stripe
1482
1314
  attr_accessor :card
1483
1315
  # If paying by `customer_balance`, this sub-hash contains details about the Bank transfer payment method options to pass to the invoice’s PaymentIntent.
1484
1316
  attr_accessor :customer_balance
1485
- # If paying by `id_bank_transfer`, this sub-hash contains details about the Indonesia bank transfer payment method options to pass to the invoice’s PaymentIntent.
1486
- attr_accessor :id_bank_transfer
1487
1317
  # If paying by `konbini`, this sub-hash contains details about the Konbini payment method options to pass to the invoice’s PaymentIntent.
1488
1318
  attr_accessor :konbini
1489
1319
  # If paying by `sepa_debit`, this sub-hash contains details about the SEPA Direct Debit payment method options to pass to the invoice’s PaymentIntent.
@@ -1496,7 +1326,6 @@ module Stripe
1496
1326
  bancontact: nil,
1497
1327
  card: nil,
1498
1328
  customer_balance: nil,
1499
- id_bank_transfer: nil,
1500
1329
  konbini: nil,
1501
1330
  sepa_debit: nil,
1502
1331
  us_bank_account: nil
@@ -1505,7 +1334,6 @@ module Stripe
1505
1334
  @bancontact = bancontact
1506
1335
  @card = card
1507
1336
  @customer_balance = customer_balance
1508
- @id_bank_transfer = id_bank_transfer
1509
1337
  @konbini = konbini
1510
1338
  @sepa_debit = sepa_debit
1511
1339
  @us_bank_account = us_bank_account
@@ -1717,8 +1545,6 @@ module Stripe
1717
1545
  end
1718
1546
  # The account tax IDs associated with the invoice. Only editable when the invoice is a draft.
1719
1547
  attr_accessor :account_tax_ids
1720
- # List of expected payments and corresponding due dates. Valid only for invoices where `collection_method=send_invoice`.
1721
- attr_accessor :amounts_due
1722
1548
  # A fee in cents (or local equivalent) that will be applied to the invoice and transferred to the application owner's Stripe account. The request must be made with an OAuth key or the Stripe-Account header in order to take an application fee. For more information, see the application fees [documentation](https://stripe.com/docs/billing/invoices/connect#collecting-fees).
1723
1549
  attr_accessor :application_fee_amount
1724
1550
  # Controls whether Stripe performs [automatic collection](https://stripe.com/docs/invoicing/integration/automatic-advancement-collection) of the invoice. If `false`, the invoice's state doesn't automatically advance without an explicit action.
@@ -1735,12 +1561,8 @@ module Stripe
1735
1561
  attr_accessor :custom_fields
1736
1562
  # The ID of the customer who will be billed.
1737
1563
  attr_accessor :customer
1738
- # The ID of the account who will be billed.
1739
- attr_accessor :customer_account
1740
1564
  # The number of days from when the invoice is created until it is due. Valid only for invoices where `collection_method=send_invoice`.
1741
1565
  attr_accessor :days_until_due
1742
- # The ids of the margins to apply to the invoice. Can be overridden by line item `margins`.
1743
- attr_accessor :default_margins
1744
1566
  # ID of the default payment method for the invoice. It must belong to the customer associated with the invoice. If not set, defaults to the subscription's default payment method, if any, or to the default payment method in the customer's invoice settings.
1745
1567
  attr_accessor :default_payment_method
1746
1568
  # ID of the default payment source for the invoice. It must belong to the customer associated with the invoice and be in a chargeable state. If not set, defaults to the subscription's default source, if any, or to the customer's default source.
@@ -1788,7 +1610,6 @@ module Stripe
1788
1610
 
1789
1611
  def initialize(
1790
1612
  account_tax_ids: nil,
1791
- amounts_due: nil,
1792
1613
  application_fee_amount: nil,
1793
1614
  auto_advance: nil,
1794
1615
  automatic_tax: nil,
@@ -1797,9 +1618,7 @@ module Stripe
1797
1618
  currency: nil,
1798
1619
  custom_fields: nil,
1799
1620
  customer: nil,
1800
- customer_account: nil,
1801
1621
  days_until_due: nil,
1802
- default_margins: nil,
1803
1622
  default_payment_method: nil,
1804
1623
  default_source: nil,
1805
1624
  default_tax_rates: nil,
@@ -1824,7 +1643,6 @@ module Stripe
1824
1643
  transfer_data: nil
1825
1644
  )
1826
1645
  @account_tax_ids = account_tax_ids
1827
- @amounts_due = amounts_due
1828
1646
  @application_fee_amount = application_fee_amount
1829
1647
  @auto_advance = auto_advance
1830
1648
  @automatic_tax = automatic_tax
@@ -1833,9 +1651,7 @@ module Stripe
1833
1651
  @currency = currency
1834
1652
  @custom_fields = custom_fields
1835
1653
  @customer = customer
1836
- @customer_account = customer_account
1837
1654
  @days_until_due = days_until_due
1838
- @default_margins = default_margins
1839
1655
  @default_payment_method = default_payment_method
1840
1656
  @default_source = default_source
1841
1657
  @default_tax_rates = default_tax_rates
@@ -1882,44 +1698,16 @@ module Stripe
1882
1698
  class AddLinesParams < Stripe::RequestParams
1883
1699
  class Line < Stripe::RequestParams
1884
1700
  class Discount < Stripe::RequestParams
1885
- class DiscountEnd < Stripe::RequestParams
1886
- class Duration < Stripe::RequestParams
1887
- # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
1888
- attr_accessor :interval
1889
- # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
1890
- attr_accessor :interval_count
1891
-
1892
- def initialize(interval: nil, interval_count: nil)
1893
- @interval = interval
1894
- @interval_count = interval_count
1895
- end
1896
- end
1897
- # Time span for the redeemed discount.
1898
- attr_accessor :duration
1899
- # A precise Unix timestamp for the discount to end. Must be in the future.
1900
- attr_accessor :timestamp
1901
- # The type of calculation made to determine when the discount ends.
1902
- attr_accessor :type
1903
-
1904
- def initialize(duration: nil, timestamp: nil, type: nil)
1905
- @duration = duration
1906
- @timestamp = timestamp
1907
- @type = type
1908
- end
1909
- end
1910
1701
  # ID of the coupon to create a new discount for.
1911
1702
  attr_accessor :coupon
1912
1703
  # ID of an existing discount on the object (or one of its ancestors) to reuse.
1913
1704
  attr_accessor :discount
1914
- # Details to determine how long the discount should be applied for.
1915
- attr_accessor :discount_end
1916
1705
  # ID of the promotion code to create a new discount for.
1917
1706
  attr_accessor :promotion_code
1918
1707
 
1919
- def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
1708
+ def initialize(coupon: nil, discount: nil, promotion_code: nil)
1920
1709
  @coupon = coupon
1921
1710
  @discount = discount
1922
- @discount_end = discount_end
1923
1711
  @promotion_code = promotion_code
1924
1712
  end
1925
1713
  end
@@ -2072,8 +1860,6 @@ module Stripe
2072
1860
  attr_accessor :discounts
2073
1861
  # ID of an unassigned invoice item to assign to this invoice. If not provided, a new item will be created.
2074
1862
  attr_accessor :invoice_item
2075
- # The IDs of the margins to apply to the line item. When set, the `default_margins` on the invoice do not apply to this line item.
2076
- attr_accessor :margins
2077
1863
  # 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`.
2078
1864
  attr_accessor :metadata
2079
1865
  # The period associated with this invoice item. When set to different values, the period will be rendered on the invoice. If you have [Stripe Revenue Recognition](https://stripe.com/docs/revenue-recognition) enabled, the period will be used to recognize and defer revenue. See the [Revenue Recognition documentation](https://stripe.com/docs/revenue-recognition/methodology/subscriptions-and-invoicing) for details.
@@ -2095,7 +1881,6 @@ module Stripe
2095
1881
  discountable: nil,
2096
1882
  discounts: nil,
2097
1883
  invoice_item: nil,
2098
- margins: nil,
2099
1884
  metadata: nil,
2100
1885
  period: nil,
2101
1886
  price_data: nil,
@@ -2109,7 +1894,6 @@ module Stripe
2109
1894
  @discountable = discountable
2110
1895
  @discounts = discounts
2111
1896
  @invoice_item = invoice_item
2112
- @margins = margins
2113
1897
  @metadata = metadata
2114
1898
  @period = period
2115
1899
  @price_data = price_data
@@ -2134,59 +1918,14 @@ module Stripe
2134
1918
  end
2135
1919
 
2136
1920
  class AttachPaymentParams < Stripe::RequestParams
2137
- class PaymentRecordData < Stripe::RequestParams
2138
- # The amount that was paid out of band.
2139
- attr_accessor :amount
2140
- # The currency that was paid out of band.
2141
- attr_accessor :currency
2142
- # 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`.
2143
- attr_accessor :metadata
2144
- # The type of money movement for this out of band payment record.
2145
- attr_accessor :money_movement_type
2146
- # The timestamp when this out of band payment was paid.
2147
- attr_accessor :paid_at
2148
- # The reference for this out of band payment record.
2149
- attr_accessor :payment_reference
2150
-
2151
- def initialize(
2152
- amount: nil,
2153
- currency: nil,
2154
- metadata: nil,
2155
- money_movement_type: nil,
2156
- paid_at: nil,
2157
- payment_reference: nil
2158
- )
2159
- @amount = amount
2160
- @currency = currency
2161
- @metadata = metadata
2162
- @money_movement_type = money_movement_type
2163
- @paid_at = paid_at
2164
- @payment_reference = payment_reference
2165
- end
2166
- end
2167
- # The portion of the `amount` on the PaymentIntent or out of band payment to apply to this invoice. It defaults to the entire amount.
2168
- attr_accessor :amount_requested
2169
1921
  # Specifies which fields in the response should be expanded.
2170
1922
  attr_accessor :expand
2171
1923
  # The ID of the PaymentIntent to attach to the invoice.
2172
1924
  attr_accessor :payment_intent
2173
- # The ID of the PaymentRecord to attach to the invoice.
2174
- attr_accessor :payment_record
2175
- # The PaymentRecord data for attaching an out of band payment to the invoice.
2176
- attr_accessor :payment_record_data
2177
1925
 
2178
- def initialize(
2179
- amount_requested: nil,
2180
- expand: nil,
2181
- payment_intent: nil,
2182
- payment_record: nil,
2183
- payment_record_data: nil
2184
- )
2185
- @amount_requested = amount_requested
1926
+ def initialize(expand: nil, payment_intent: nil)
2186
1927
  @expand = expand
2187
1928
  @payment_intent = payment_intent
2188
- @payment_record = payment_record
2189
- @payment_record_data = payment_record_data
2190
1929
  end
2191
1930
  end
2192
1931
 
@@ -2286,44 +2025,16 @@ module Stripe
2286
2025
  class UpdateLinesParams < Stripe::RequestParams
2287
2026
  class Line < Stripe::RequestParams
2288
2027
  class Discount < Stripe::RequestParams
2289
- class DiscountEnd < Stripe::RequestParams
2290
- class Duration < Stripe::RequestParams
2291
- # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
2292
- attr_accessor :interval
2293
- # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
2294
- attr_accessor :interval_count
2295
-
2296
- def initialize(interval: nil, interval_count: nil)
2297
- @interval = interval
2298
- @interval_count = interval_count
2299
- end
2300
- end
2301
- # Time span for the redeemed discount.
2302
- attr_accessor :duration
2303
- # A precise Unix timestamp for the discount to end. Must be in the future.
2304
- attr_accessor :timestamp
2305
- # The type of calculation made to determine when the discount ends.
2306
- attr_accessor :type
2307
-
2308
- def initialize(duration: nil, timestamp: nil, type: nil)
2309
- @duration = duration
2310
- @timestamp = timestamp
2311
- @type = type
2312
- end
2313
- end
2314
2028
  # ID of the coupon to create a new discount for.
2315
2029
  attr_accessor :coupon
2316
2030
  # ID of an existing discount on the object (or one of its ancestors) to reuse.
2317
2031
  attr_accessor :discount
2318
- # Details to determine how long the discount should be applied for.
2319
- attr_accessor :discount_end
2320
2032
  # ID of the promotion code to create a new discount for.
2321
2033
  attr_accessor :promotion_code
2322
2034
 
2323
- def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
2035
+ def initialize(coupon: nil, discount: nil, promotion_code: nil)
2324
2036
  @coupon = coupon
2325
2037
  @discount = discount
2326
- @discount_end = discount_end
2327
2038
  @promotion_code = promotion_code
2328
2039
  end
2329
2040
  end
@@ -2476,8 +2187,6 @@ module Stripe
2476
2187
  attr_accessor :discounts
2477
2188
  # ID of an existing line item on the invoice.
2478
2189
  attr_accessor :id
2479
- # The IDs of the margins to apply to the line item. When set, the `default_margins` on the invoice do not apply to this line item.
2480
- attr_accessor :margins
2481
2190
  # 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`. For [type=subscription](https://stripe.com/docs/api/invoices/line_item#invoice_line_item_object-type) line items, the incoming metadata specified on the request is directly used to set this value, in contrast to [type=invoiceitem](api/invoices/line_item#invoice_line_item_object-type) line items, where any existing metadata on the invoice line is merged with the incoming data.
2482
2191
  attr_accessor :metadata
2483
2192
  # The period associated with this invoice item. When set to different values, the period will be rendered on the invoice. If you have [Stripe Revenue Recognition](https://stripe.com/docs/revenue-recognition) enabled, the period will be used to recognize and defer revenue. See the [Revenue Recognition documentation](https://stripe.com/docs/revenue-recognition/methodology/subscriptions-and-invoicing) for details.
@@ -2499,7 +2208,6 @@ module Stripe
2499
2208
  discountable: nil,
2500
2209
  discounts: nil,
2501
2210
  id: nil,
2502
- margins: nil,
2503
2211
  metadata: nil,
2504
2212
  period: nil,
2505
2213
  price_data: nil,
@@ -2513,7 +2221,6 @@ module Stripe
2513
2221
  @discountable = discountable
2514
2222
  @discounts = discounts
2515
2223
  @id = id
2516
- @margins = margins
2517
2224
  @metadata = metadata
2518
2225
  @period = period
2519
2226
  @price_data = price_data
@@ -2688,88 +2395,32 @@ module Stripe
2688
2395
  end
2689
2396
 
2690
2397
  class Discount < Stripe::RequestParams
2691
- class DiscountEnd < Stripe::RequestParams
2692
- class Duration < Stripe::RequestParams
2693
- # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
2694
- attr_accessor :interval
2695
- # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
2696
- attr_accessor :interval_count
2697
-
2698
- def initialize(interval: nil, interval_count: nil)
2699
- @interval = interval
2700
- @interval_count = interval_count
2701
- end
2702
- end
2703
- # Time span for the redeemed discount.
2704
- attr_accessor :duration
2705
- # A precise Unix timestamp for the discount to end. Must be in the future.
2706
- attr_accessor :timestamp
2707
- # The type of calculation made to determine when the discount ends.
2708
- attr_accessor :type
2709
-
2710
- def initialize(duration: nil, timestamp: nil, type: nil)
2711
- @duration = duration
2712
- @timestamp = timestamp
2713
- @type = type
2714
- end
2715
- end
2716
2398
  # ID of the coupon to create a new discount for.
2717
2399
  attr_accessor :coupon
2718
2400
  # ID of an existing discount on the object (or one of its ancestors) to reuse.
2719
2401
  attr_accessor :discount
2720
- # Details to determine how long the discount should be applied for.
2721
- attr_accessor :discount_end
2722
2402
  # ID of the promotion code to create a new discount for.
2723
2403
  attr_accessor :promotion_code
2724
2404
 
2725
- def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
2405
+ def initialize(coupon: nil, discount: nil, promotion_code: nil)
2726
2406
  @coupon = coupon
2727
2407
  @discount = discount
2728
- @discount_end = discount_end
2729
2408
  @promotion_code = promotion_code
2730
2409
  end
2731
2410
  end
2732
2411
 
2733
2412
  class InvoiceItem < Stripe::RequestParams
2734
2413
  class Discount < Stripe::RequestParams
2735
- class DiscountEnd < Stripe::RequestParams
2736
- class Duration < Stripe::RequestParams
2737
- # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
2738
- attr_accessor :interval
2739
- # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
2740
- attr_accessor :interval_count
2741
-
2742
- def initialize(interval: nil, interval_count: nil)
2743
- @interval = interval
2744
- @interval_count = interval_count
2745
- end
2746
- end
2747
- # Time span for the redeemed discount.
2748
- attr_accessor :duration
2749
- # A precise Unix timestamp for the discount to end. Must be in the future.
2750
- attr_accessor :timestamp
2751
- # The type of calculation made to determine when the discount ends.
2752
- attr_accessor :type
2753
-
2754
- def initialize(duration: nil, timestamp: nil, type: nil)
2755
- @duration = duration
2756
- @timestamp = timestamp
2757
- @type = type
2758
- end
2759
- end
2760
2414
  # ID of the coupon to create a new discount for.
2761
2415
  attr_accessor :coupon
2762
2416
  # ID of an existing discount on the object (or one of its ancestors) to reuse.
2763
2417
  attr_accessor :discount
2764
- # Details to determine how long the discount should be applied for.
2765
- attr_accessor :discount_end
2766
2418
  # ID of the promotion code to create a new discount for.
2767
2419
  attr_accessor :promotion_code
2768
2420
 
2769
- def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
2421
+ def initialize(coupon: nil, discount: nil, promotion_code: nil)
2770
2422
  @coupon = coupon
2771
2423
  @discount = discount
2772
- @discount_end = discount_end
2773
2424
  @promotion_code = promotion_code
2774
2425
  end
2775
2426
  end
@@ -2895,499 +2546,19 @@ module Stripe
2895
2546
  end
2896
2547
 
2897
2548
  class ScheduleDetails < Stripe::RequestParams
2898
- class Amendment < Stripe::RequestParams
2899
- class AmendmentEnd < Stripe::RequestParams
2900
- class DiscountEnd < Stripe::RequestParams
2901
- # The ID of a specific discount.
2902
- attr_accessor :discount
2903
-
2904
- def initialize(discount: nil)
2905
- @discount = discount
2906
- end
2907
- end
2908
-
2909
- class Duration < Stripe::RequestParams
2910
- # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
2911
- attr_accessor :interval
2912
- # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
2913
- attr_accessor :interval_count
2914
-
2915
- def initialize(interval: nil, interval_count: nil)
2916
- @interval = interval
2917
- @interval_count = interval_count
2918
- end
2919
- end
2920
- # Use the `end` time of a given discount.
2921
- attr_accessor :discount_end
2922
- # Time span for the amendment starting from the `amendment_start`.
2923
- attr_accessor :duration
2924
- # A precise Unix timestamp for the amendment to end. Must be after the `amendment_start`.
2925
- attr_accessor :timestamp
2926
- # Select one of three ways to pass the `amendment_end`.
2927
- attr_accessor :type
2928
-
2929
- def initialize(discount_end: nil, duration: nil, timestamp: nil, type: nil)
2930
- @discount_end = discount_end
2931
- @duration = duration
2932
- @timestamp = timestamp
2933
- @type = type
2934
- end
2935
- end
2936
-
2937
- class AmendmentStart < Stripe::RequestParams
2938
- class AmendmentEnd < Stripe::RequestParams
2939
- # The position of the previous amendment in the `amendments` array after which this amendment should begin. Indexes start from 0 and must be less than the index of the current amendment in the array.
2940
- attr_accessor :index
2941
-
2942
- def initialize(index: nil)
2943
- @index = index
2944
- end
2945
- end
2946
-
2947
- class DiscountEnd < Stripe::RequestParams
2948
- # The ID of a specific discount.
2949
- attr_accessor :discount
2950
-
2951
- def initialize(discount: nil)
2952
- @discount = discount
2953
- end
2954
- end
2955
- # Details of another amendment in the same array, immediately after which this amendment should begin.
2956
- attr_accessor :amendment_end
2957
- # Use the `end` time of a given discount.
2958
- attr_accessor :discount_end
2959
- # A precise Unix timestamp for the amendment to start.
2960
- attr_accessor :timestamp
2961
- # Select one of three ways to pass the `amendment_start`.
2962
- attr_accessor :type
2963
-
2964
- def initialize(amendment_end: nil, discount_end: nil, timestamp: nil, type: nil)
2965
- @amendment_end = amendment_end
2966
- @discount_end = discount_end
2967
- @timestamp = timestamp
2968
- @type = type
2969
- end
2970
- end
2971
-
2972
- class DiscountAction < Stripe::RequestParams
2973
- class Add < Stripe::RequestParams
2974
- class DiscountEnd < Stripe::RequestParams
2975
- # The type of calculation made to determine when the discount ends.
2976
- attr_accessor :type
2977
-
2978
- def initialize(type: nil)
2979
- @type = type
2980
- end
2981
- end
2982
- # The coupon code to redeem.
2983
- attr_accessor :coupon
2984
- # An ID of an existing discount for a coupon that was already redeemed.
2985
- attr_accessor :discount
2986
- # Details to determine how long the discount should be applied for.
2987
- attr_accessor :discount_end
2988
- # 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.
2989
- attr_accessor :index
2990
- # The promotion code to redeem.
2991
- attr_accessor :promotion_code
2992
-
2993
- def initialize(
2994
- coupon: nil,
2995
- discount: nil,
2996
- discount_end: nil,
2997
- index: nil,
2998
- promotion_code: nil
2999
- )
3000
- @coupon = coupon
3001
- @discount = discount
3002
- @discount_end = discount_end
3003
- @index = index
3004
- @promotion_code = promotion_code
3005
- end
3006
- end
3007
-
3008
- class Remove < Stripe::RequestParams
3009
- # The coupon code to remove from the `discounts` array.
3010
- attr_accessor :coupon
3011
- # The ID of a discount to remove from the `discounts` array.
3012
- attr_accessor :discount
3013
- # The ID of a promotion code to remove from the `discounts` array.
3014
- attr_accessor :promotion_code
3015
-
3016
- def initialize(coupon: nil, discount: nil, promotion_code: nil)
3017
- @coupon = coupon
3018
- @discount = discount
3019
- @promotion_code = promotion_code
3020
- end
3021
- end
3022
-
3023
- class Set < Stripe::RequestParams
3024
- # The coupon code to replace the `discounts` array with.
3025
- attr_accessor :coupon
3026
- # An ID of an existing discount to replace the `discounts` array with.
3027
- attr_accessor :discount
3028
- # An ID of an existing promotion code to replace the `discounts` array with.
3029
- attr_accessor :promotion_code
3030
-
3031
- def initialize(coupon: nil, discount: nil, promotion_code: nil)
3032
- @coupon = coupon
3033
- @discount = discount
3034
- @promotion_code = promotion_code
3035
- end
3036
- end
3037
- # Details of the discount to add.
3038
- attr_accessor :add
3039
- # Details of the discount to remove.
3040
- attr_accessor :remove
3041
- # Details of the discount to replace the existing discounts with.
3042
- attr_accessor :set
3043
- # Determines the type of discount action.
3044
- attr_accessor :type
3045
-
3046
- def initialize(add: nil, remove: nil, set: nil, type: nil)
3047
- @add = add
3048
- @remove = remove
3049
- @set = set
3050
- @type = type
3051
- end
3052
- end
3053
-
3054
- class ItemAction < Stripe::RequestParams
3055
- class Add < Stripe::RequestParams
3056
- class Discount < Stripe::RequestParams
3057
- class DiscountEnd < Stripe::RequestParams
3058
- class Duration < Stripe::RequestParams
3059
- # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
3060
- attr_accessor :interval
3061
- # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
3062
- attr_accessor :interval_count
3063
-
3064
- def initialize(interval: nil, interval_count: nil)
3065
- @interval = interval
3066
- @interval_count = interval_count
3067
- end
3068
- end
3069
- # Time span for the redeemed discount.
3070
- attr_accessor :duration
3071
- # A precise Unix timestamp for the discount to end. Must be in the future.
3072
- attr_accessor :timestamp
3073
- # The type of calculation made to determine when the discount ends.
3074
- attr_accessor :type
3075
-
3076
- def initialize(duration: nil, timestamp: nil, type: nil)
3077
- @duration = duration
3078
- @timestamp = timestamp
3079
- @type = type
3080
- end
3081
- end
3082
- # ID of the coupon to create a new discount for.
3083
- attr_accessor :coupon
3084
- # ID of an existing discount on the object (or one of its ancestors) to reuse.
3085
- attr_accessor :discount
3086
- # Details to determine how long the discount should be applied for.
3087
- attr_accessor :discount_end
3088
- # ID of the promotion code to create a new discount for.
3089
- attr_accessor :promotion_code
3090
-
3091
- def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
3092
- @coupon = coupon
3093
- @discount = discount
3094
- @discount_end = discount_end
3095
- @promotion_code = promotion_code
3096
- end
3097
- end
3098
-
3099
- class Trial < Stripe::RequestParams
3100
- # 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.
3101
- attr_accessor :converts_to
3102
- # Determines the type of trial for this item.
3103
- attr_accessor :type
3104
-
3105
- def initialize(converts_to: nil, type: nil)
3106
- @converts_to = converts_to
3107
- @type = type
3108
- end
3109
- end
3110
- # The discounts applied to the item. Subscription item discounts are applied before subscription discounts.
3111
- attr_accessor :discounts
3112
- # 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`.
3113
- attr_accessor :metadata
3114
- # The ID of the price object.
3115
- attr_accessor :price
3116
- # Quantity for this item.
3117
- attr_accessor :quantity
3118
- # 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`.
3119
- attr_accessor :tax_rates
3120
- # Options that configure the trial on the subscription item.
3121
- attr_accessor :trial
3122
-
3123
- def initialize(
3124
- discounts: nil,
3125
- metadata: nil,
3126
- price: nil,
3127
- quantity: nil,
3128
- tax_rates: nil,
3129
- trial: nil
3130
- )
3131
- @discounts = discounts
3132
- @metadata = metadata
3133
- @price = price
3134
- @quantity = quantity
3135
- @tax_rates = tax_rates
3136
- @trial = trial
3137
- end
3138
- end
3139
-
3140
- class Remove < Stripe::RequestParams
3141
- # ID of a price to remove.
3142
- attr_accessor :price
3143
-
3144
- def initialize(price: nil)
3145
- @price = price
3146
- end
3147
- end
3148
-
3149
- class Set < Stripe::RequestParams
3150
- class Discount < Stripe::RequestParams
3151
- class DiscountEnd < Stripe::RequestParams
3152
- class Duration < Stripe::RequestParams
3153
- # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
3154
- attr_accessor :interval
3155
- # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
3156
- attr_accessor :interval_count
3157
-
3158
- def initialize(interval: nil, interval_count: nil)
3159
- @interval = interval
3160
- @interval_count = interval_count
3161
- end
3162
- end
3163
- # Time span for the redeemed discount.
3164
- attr_accessor :duration
3165
- # A precise Unix timestamp for the discount to end. Must be in the future.
3166
- attr_accessor :timestamp
3167
- # The type of calculation made to determine when the discount ends.
3168
- attr_accessor :type
3169
-
3170
- def initialize(duration: nil, timestamp: nil, type: nil)
3171
- @duration = duration
3172
- @timestamp = timestamp
3173
- @type = type
3174
- end
3175
- end
3176
- # ID of the coupon to create a new discount for.
3177
- attr_accessor :coupon
3178
- # ID of an existing discount on the object (or one of its ancestors) to reuse.
3179
- attr_accessor :discount
3180
- # Details to determine how long the discount should be applied for.
3181
- attr_accessor :discount_end
3182
- # ID of the promotion code to create a new discount for.
3183
- attr_accessor :promotion_code
3184
-
3185
- def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
3186
- @coupon = coupon
3187
- @discount = discount
3188
- @discount_end = discount_end
3189
- @promotion_code = promotion_code
3190
- end
3191
- end
3192
-
3193
- class Trial < Stripe::RequestParams
3194
- # 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.
3195
- attr_accessor :converts_to
3196
- # Determines the type of trial for this item.
3197
- attr_accessor :type
3198
-
3199
- def initialize(converts_to: nil, type: nil)
3200
- @converts_to = converts_to
3201
- @type = type
3202
- end
3203
- end
3204
- # 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`.
3205
- attr_accessor :discounts
3206
- # 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`.
3207
- attr_accessor :metadata
3208
- # The ID of the price object.
3209
- attr_accessor :price
3210
- # 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`.
3211
- attr_accessor :quantity
3212
- # 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`.
3213
- attr_accessor :tax_rates
3214
- # 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`.
3215
- attr_accessor :trial
3216
-
3217
- def initialize(
3218
- discounts: nil,
3219
- metadata: nil,
3220
- price: nil,
3221
- quantity: nil,
3222
- tax_rates: nil,
3223
- trial: nil
3224
- )
3225
- @discounts = discounts
3226
- @metadata = metadata
3227
- @price = price
3228
- @quantity = quantity
3229
- @tax_rates = tax_rates
3230
- @trial = trial
3231
- end
3232
- end
3233
- # Details of the subscription item to add. If an item with the same `price` exists, it will be replaced by this new item. Otherwise, it adds the new item.
3234
- attr_accessor :add
3235
- # Details of the subscription item to remove.
3236
- attr_accessor :remove
3237
- # Details of the subscription item to replace the existing items with. If an item with the `set[price]` already exists, the `items` array is not cleared. Instead, all of the other `set` properties that are passed in this request will replace the existing values for the configuration item.
3238
- attr_accessor :set
3239
- # Determines the type of item action.
3240
- attr_accessor :type
3241
-
3242
- def initialize(add: nil, remove: nil, set: nil, type: nil)
3243
- @add = add
3244
- @remove = remove
3245
- @set = set
3246
- @type = type
3247
- end
3248
- end
3249
-
3250
- class MetadataAction < Stripe::RequestParams
3251
- # Key-value pairs to add to schedule phase metadata. These values will merge with existing schedule phase metadata.
3252
- attr_accessor :add
3253
- # Keys to remove from schedule phase metadata.
3254
- attr_accessor :remove
3255
- # Key-value pairs to set as schedule phase metadata. Existing schedule phase metadata will be overwritten.
3256
- attr_accessor :set
3257
- # Select one of three ways to update phase-level `metadata` on subscription schedules.
3258
- attr_accessor :type
3259
-
3260
- def initialize(add: nil, remove: nil, set: nil, type: nil)
3261
- @add = add
3262
- @remove = remove
3263
- @set = set
3264
- @type = type
3265
- end
3266
- end
3267
-
3268
- class SetPauseCollection < Stripe::RequestParams
3269
- class Set < Stripe::RequestParams
3270
- # The payment collection behavior for this subscription while paused. One of `keep_as_draft`, `mark_uncollectible`, or `void`.
3271
- attr_accessor :behavior
3272
-
3273
- def initialize(behavior: nil)
3274
- @behavior = behavior
3275
- end
3276
- end
3277
- # Details of the pause_collection behavior to apply to the amendment.
3278
- attr_accessor :set
3279
- # Determines the type of the pause_collection amendment.
3280
- attr_accessor :type
3281
-
3282
- def initialize(set: nil, type: nil)
3283
- @set = set
3284
- @type = type
3285
- end
3286
- end
3287
-
3288
- class TrialSettings < Stripe::RequestParams
3289
- class EndBehavior < Stripe::RequestParams
3290
- # Configure how an opt-in following a paid trial is billed when using `billing_behavior: prorate_up_front`.
3291
- attr_accessor :prorate_up_front
3292
-
3293
- def initialize(prorate_up_front: nil)
3294
- @prorate_up_front = prorate_up_front
3295
- end
3296
- end
3297
- # Defines how the subscription should behave when a trial ends.
3298
- attr_accessor :end_behavior
3299
-
3300
- def initialize(end_behavior: nil)
3301
- @end_behavior = end_behavior
3302
- end
3303
- end
3304
- # Details to identify the end of the time range modified by the proposed change. If not supplied, the amendment is considered a point-in-time operation that only affects the exact timestamp at `amendment_start`, and a restricted set of attributes is supported on the amendment.
3305
- attr_accessor :amendment_end
3306
- # Details to identify the earliest timestamp where the proposed change should take effect.
3307
- attr_accessor :amendment_start
3308
- # For point-in-time amendments (having no `amendment_end`), this attribute lets you set or remove whether the subscription's billing cycle anchor is reset at the `amendment_start` timestamp.For time-span based amendments (having both `amendment_start` and `amendment_end`), the only value valid is `automatic`, which removes any previously configured billing cycle anchor resets scheduled to occur during the window of time spanned by the amendment.
3309
- attr_accessor :billing_cycle_anchor
3310
- # Changes to the coupons being redeemed or discounts being applied during the amendment time span.
3311
- attr_accessor :discount_actions
3312
- # Changes to the subscription items during the amendment time span.
3313
- attr_accessor :item_actions
3314
- # Instructions for how to modify phase metadata
3315
- attr_accessor :metadata_actions
3316
- # Changes to how Stripe handles prorations during the amendment time span. Affects if and how prorations are created when a future phase starts. In cases where the amendment changes the currently active phase, it is used to determine whether or how to prorate now, at the time of the request. Also supported as a point-in-time operation when `amendment_end` is `null`.
3317
- attr_accessor :proration_behavior
3318
- # Defines how to pause collection for the underlying subscription throughout the duration of the amendment.
3319
- attr_accessor :set_pause_collection
3320
- # Ends the subscription schedule early as dictated by either the accompanying amendment's start or end.
3321
- attr_accessor :set_schedule_end
3322
- # Settings related to subscription trials.
3323
- attr_accessor :trial_settings
3324
-
3325
- def initialize(
3326
- amendment_end: nil,
3327
- amendment_start: nil,
3328
- billing_cycle_anchor: nil,
3329
- discount_actions: nil,
3330
- item_actions: nil,
3331
- metadata_actions: nil,
3332
- proration_behavior: nil,
3333
- set_pause_collection: nil,
3334
- set_schedule_end: nil,
3335
- trial_settings: nil
3336
- )
3337
- @amendment_end = amendment_end
3338
- @amendment_start = amendment_start
3339
- @billing_cycle_anchor = billing_cycle_anchor
3340
- @discount_actions = discount_actions
3341
- @item_actions = item_actions
3342
- @metadata_actions = metadata_actions
3343
- @proration_behavior = proration_behavior
3344
- @set_pause_collection = set_pause_collection
3345
- @set_schedule_end = set_schedule_end
3346
- @trial_settings = trial_settings
3347
- end
3348
- end
3349
-
3350
2549
  class Phase < Stripe::RequestParams
3351
2550
  class AddInvoiceItem < Stripe::RequestParams
3352
2551
  class Discount < Stripe::RequestParams
3353
- class DiscountEnd < Stripe::RequestParams
3354
- class Duration < Stripe::RequestParams
3355
- # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
3356
- attr_accessor :interval
3357
- # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
3358
- attr_accessor :interval_count
3359
-
3360
- def initialize(interval: nil, interval_count: nil)
3361
- @interval = interval
3362
- @interval_count = interval_count
3363
- end
3364
- end
3365
- # Time span for the redeemed discount.
3366
- attr_accessor :duration
3367
- # A precise Unix timestamp for the discount to end. Must be in the future.
3368
- attr_accessor :timestamp
3369
- # The type of calculation made to determine when the discount ends.
3370
- attr_accessor :type
3371
-
3372
- def initialize(duration: nil, timestamp: nil, type: nil)
3373
- @duration = duration
3374
- @timestamp = timestamp
3375
- @type = type
3376
- end
3377
- end
3378
2552
  # ID of the coupon to create a new discount for.
3379
2553
  attr_accessor :coupon
3380
2554
  # ID of an existing discount on the object (or one of its ancestors) to reuse.
3381
2555
  attr_accessor :discount
3382
- # Details to determine how long the discount should be applied for.
3383
- attr_accessor :discount_end
3384
2556
  # ID of the promotion code to create a new discount for.
3385
2557
  attr_accessor :promotion_code
3386
2558
 
3387
- def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
2559
+ def initialize(coupon: nil, discount: nil, promotion_code: nil)
3388
2560
  @coupon = coupon
3389
2561
  @discount = discount
3390
- @discount_end = discount_end
3391
2562
  @promotion_code = promotion_code
3392
2563
  end
3393
2564
  end
@@ -3467,45 +2638,29 @@ module Stripe
3467
2638
  end
3468
2639
  end
3469
2640
 
3470
- class Discount < Stripe::RequestParams
3471
- class DiscountEnd < Stripe::RequestParams
3472
- class Duration < Stripe::RequestParams
3473
- # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
3474
- attr_accessor :interval
3475
- # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
3476
- attr_accessor :interval_count
2641
+ class BillingThresholds < Stripe::RequestParams
2642
+ # Monetary threshold that triggers the subscription to advance to a new billing period
2643
+ attr_accessor :amount_gte
2644
+ # Indicates if the `billing_cycle_anchor` should be reset when a threshold is reached. If true, `billing_cycle_anchor` will be updated to the date/time the threshold was last reached; otherwise, the value will remain unchanged.
2645
+ attr_accessor :reset_billing_cycle_anchor
3477
2646
 
3478
- def initialize(interval: nil, interval_count: nil)
3479
- @interval = interval
3480
- @interval_count = interval_count
3481
- end
3482
- end
3483
- # Time span for the redeemed discount.
3484
- attr_accessor :duration
3485
- # A precise Unix timestamp for the discount to end. Must be in the future.
3486
- attr_accessor :timestamp
3487
- # The type of calculation made to determine when the discount ends.
3488
- attr_accessor :type
3489
-
3490
- def initialize(duration: nil, timestamp: nil, type: nil)
3491
- @duration = duration
3492
- @timestamp = timestamp
3493
- @type = type
3494
- end
2647
+ def initialize(amount_gte: nil, reset_billing_cycle_anchor: nil)
2648
+ @amount_gte = amount_gte
2649
+ @reset_billing_cycle_anchor = reset_billing_cycle_anchor
3495
2650
  end
2651
+ end
2652
+
2653
+ class Discount < Stripe::RequestParams
3496
2654
  # ID of the coupon to create a new discount for.
3497
2655
  attr_accessor :coupon
3498
2656
  # ID of an existing discount on the object (or one of its ancestors) to reuse.
3499
2657
  attr_accessor :discount
3500
- # Details to determine how long the discount should be applied for.
3501
- attr_accessor :discount_end
3502
2658
  # ID of the promotion code to create a new discount for.
3503
2659
  attr_accessor :promotion_code
3504
2660
 
3505
- def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
2661
+ def initialize(coupon: nil, discount: nil, promotion_code: nil)
3506
2662
  @coupon = coupon
3507
2663
  @discount = discount
3508
- @discount_end = discount_end
3509
2664
  @promotion_code = promotion_code
3510
2665
  end
3511
2666
  end
@@ -3537,45 +2692,26 @@ module Stripe
3537
2692
  end
3538
2693
 
3539
2694
  class Item < Stripe::RequestParams
3540
- class Discount < Stripe::RequestParams
3541
- class DiscountEnd < Stripe::RequestParams
3542
- class Duration < Stripe::RequestParams
3543
- # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
3544
- attr_accessor :interval
3545
- # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
3546
- attr_accessor :interval_count
3547
-
3548
- def initialize(interval: nil, interval_count: nil)
3549
- @interval = interval
3550
- @interval_count = interval_count
3551
- end
3552
- end
3553
- # Time span for the redeemed discount.
3554
- attr_accessor :duration
3555
- # A precise Unix timestamp for the discount to end. Must be in the future.
3556
- attr_accessor :timestamp
3557
- # The type of calculation made to determine when the discount ends.
3558
- attr_accessor :type
2695
+ class BillingThresholds < Stripe::RequestParams
2696
+ # Number of units that meets the billing threshold to advance the subscription to a new billing period (e.g., it takes 10 $5 units to meet a $50 [monetary threshold](https://stripe.com/docs/api/subscriptions/update#update_subscription-billing_thresholds-amount_gte))
2697
+ attr_accessor :usage_gte
3559
2698
 
3560
- def initialize(duration: nil, timestamp: nil, type: nil)
3561
- @duration = duration
3562
- @timestamp = timestamp
3563
- @type = type
3564
- end
2699
+ def initialize(usage_gte: nil)
2700
+ @usage_gte = usage_gte
3565
2701
  end
2702
+ end
2703
+
2704
+ class Discount < Stripe::RequestParams
3566
2705
  # ID of the coupon to create a new discount for.
3567
2706
  attr_accessor :coupon
3568
2707
  # ID of an existing discount on the object (or one of its ancestors) to reuse.
3569
2708
  attr_accessor :discount
3570
- # Details to determine how long the discount should be applied for.
3571
- attr_accessor :discount_end
3572
2709
  # ID of the promotion code to create a new discount for.
3573
2710
  attr_accessor :promotion_code
3574
2711
 
3575
- def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
2712
+ def initialize(coupon: nil, discount: nil, promotion_code: nil)
3576
2713
  @coupon = coupon
3577
2714
  @discount = discount
3578
- @discount_end = discount_end
3579
2715
  @promotion_code = promotion_code
3580
2716
  end
3581
2717
  end
@@ -3621,18 +2757,8 @@ module Stripe
3621
2757
  @unit_amount_decimal = unit_amount_decimal
3622
2758
  end
3623
2759
  end
3624
-
3625
- class Trial < Stripe::RequestParams
3626
- # 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.
3627
- attr_accessor :converts_to
3628
- # Determines the type of trial for this item.
3629
- attr_accessor :type
3630
-
3631
- def initialize(converts_to: nil, type: nil)
3632
- @converts_to = converts_to
3633
- @type = type
3634
- end
3635
- end
2760
+ # Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds.
2761
+ attr_accessor :billing_thresholds
3636
2762
  # The coupons to redeem into discounts for the subscription item.
3637
2763
  attr_accessor :discounts
3638
2764
  # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to a configuration item. Metadata on a configuration item will update the underlying subscription item's `metadata` when the phase is entered, adding new keys and replacing existing keys. Individual keys in the subscription item's `metadata` can be unset by posting an empty value to them in the configuration item's `metadata`. To unset all keys in the subscription item's `metadata`, update the subscription item directly or unset every key individually from the configuration item's `metadata`.
@@ -3647,19 +2773,18 @@ module Stripe
3647
2773
  attr_accessor :quantity
3648
2774
  # A list of [Tax Rate](https://stripe.com/docs/api/tax_rates) ids. These Tax Rates will override the [`default_tax_rates`](https://stripe.com/docs/api/subscriptions/create#create_subscription-default_tax_rates) on the Subscription. When updating, pass an empty string to remove previously-defined tax rates.
3649
2775
  attr_accessor :tax_rates
3650
- # Options that configure the trial on the subscription item.
3651
- attr_accessor :trial
3652
2776
 
3653
2777
  def initialize(
2778
+ billing_thresholds: nil,
3654
2779
  discounts: nil,
3655
2780
  metadata: nil,
3656
2781
  plan: nil,
3657
2782
  price: nil,
3658
2783
  price_data: nil,
3659
2784
  quantity: nil,
3660
- tax_rates: nil,
3661
- trial: nil
2785
+ tax_rates: nil
3662
2786
  )
2787
+ @billing_thresholds = billing_thresholds
3663
2788
  @discounts = discounts
3664
2789
  @metadata = metadata
3665
2790
  @plan = plan
@@ -3667,16 +2792,6 @@ module Stripe
3667
2792
  @price_data = price_data
3668
2793
  @quantity = quantity
3669
2794
  @tax_rates = tax_rates
3670
- @trial = trial
3671
- end
3672
- end
3673
-
3674
- class PauseCollection < Stripe::RequestParams
3675
- # The payment collection behavior for this subscription while paused. One of `keep_as_draft`, `mark_uncollectible`, or `void`.
3676
- attr_accessor :behavior
3677
-
3678
- def initialize(behavior: nil)
3679
- @behavior = behavior
3680
2795
  end
3681
2796
  end
3682
2797
 
@@ -3691,23 +2806,6 @@ module Stripe
3691
2806
  @destination = destination
3692
2807
  end
3693
2808
  end
3694
-
3695
- class TrialSettings < Stripe::RequestParams
3696
- class EndBehavior < Stripe::RequestParams
3697
- # Configure how an opt-in following a paid trial is billed when using `billing_behavior: prorate_up_front`.
3698
- attr_accessor :prorate_up_front
3699
-
3700
- def initialize(prorate_up_front: nil)
3701
- @prorate_up_front = prorate_up_front
3702
- end
3703
- end
3704
- # Defines how the subscription should behave when a trial ends.
3705
- attr_accessor :end_behavior
3706
-
3707
- def initialize(end_behavior: nil)
3708
- @end_behavior = end_behavior
3709
- end
3710
- end
3711
2809
  # A list of prices and quantities that will generate invoice items appended to the next invoice for this phase. You may pass up to 20 items.
3712
2810
  attr_accessor :add_invoice_items
3713
2811
  # 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. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions).
@@ -3716,6 +2814,8 @@ module Stripe
3716
2814
  attr_accessor :automatic_tax
3717
2815
  # Can be set to `phase_start` to set the anchor to the start of the phase or `automatic` to automatically change it if needed. Cannot be set to `phase_start` if this phase specifies a trial. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle).
3718
2816
  attr_accessor :billing_cycle_anchor
2817
+ # Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds.
2818
+ attr_accessor :billing_thresholds
3719
2819
  # Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay the underlying subscription at the end of each billing cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically` on creation.
3720
2820
  attr_accessor :collection_method
3721
2821
  # Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
@@ -3740,9 +2840,7 @@ module Stripe
3740
2840
  attr_accessor :metadata
3741
2841
  # The account on behalf of which to charge, for each of the associated subscription's invoices.
3742
2842
  attr_accessor :on_behalf_of
3743
- # If specified, payment collection for this subscription will be paused. Note that the subscription status will be unchanged and will not be updated to `paused`. Learn more about [pausing collection](https://stripe.com/docs/billing/subscriptions/pause-payment).
3744
- attr_accessor :pause_collection
3745
- # Whether the subscription schedule will create [prorations](https://stripe.com/docs/billing/subscriptions/prorations) when transitioning to this phase. The default value is `create_prorations`. This setting controls prorations when a phase is started asynchronously and it is persisted as a field on the phase. It's different from the request-level [proration_behavior](https://stripe.com/docs/api/subscription_schedules/update#update_subscription_schedule-proration_behavior) parameter which controls what happens if the update request affects the billing configuration of the current phase.
2843
+ # Controls whether the subscription schedule should create [prorations](https://stripe.com/docs/billing/subscriptions/prorations) when transitioning to this phase if there is a difference in billing configuration. It's different from the request-level [proration_behavior](https://stripe.com/docs/api/subscription_schedules/update#update_subscription_schedule-proration_behavior) parameter which controls what happens if the update request affects the billing configuration (item price, quantity, etc.) of the current phase.
3746
2844
  attr_accessor :proration_behavior
3747
2845
  # The date at which this phase of the subscription schedule starts or `now`. Must be set on the first phase.
3748
2846
  attr_accessor :start_date
@@ -3750,18 +2848,15 @@ module Stripe
3750
2848
  attr_accessor :transfer_data
3751
2849
  # If set to true the entire phase is counted as a trial and the customer will not be charged for any fees.
3752
2850
  attr_accessor :trial
3753
- # Specify trial behavior when crossing phase boundaries
3754
- attr_accessor :trial_continuation
3755
2851
  # Sets the phase to trialing from the start date to this date. Must be before the phase end date, can not be combined with `trial`
3756
2852
  attr_accessor :trial_end
3757
- # Settings related to subscription trials.
3758
- attr_accessor :trial_settings
3759
2853
 
3760
2854
  def initialize(
3761
2855
  add_invoice_items: nil,
3762
2856
  application_fee_percent: nil,
3763
2857
  automatic_tax: nil,
3764
2858
  billing_cycle_anchor: nil,
2859
+ billing_thresholds: nil,
3765
2860
  collection_method: nil,
3766
2861
  currency: nil,
3767
2862
  default_payment_method: nil,
@@ -3774,19 +2869,17 @@ module Stripe
3774
2869
  iterations: nil,
3775
2870
  metadata: nil,
3776
2871
  on_behalf_of: nil,
3777
- pause_collection: nil,
3778
2872
  proration_behavior: nil,
3779
2873
  start_date: nil,
3780
2874
  transfer_data: nil,
3781
2875
  trial: nil,
3782
- trial_continuation: nil,
3783
- trial_end: nil,
3784
- trial_settings: nil
2876
+ trial_end: nil
3785
2877
  )
3786
2878
  @add_invoice_items = add_invoice_items
3787
2879
  @application_fee_percent = application_fee_percent
3788
2880
  @automatic_tax = automatic_tax
3789
2881
  @billing_cycle_anchor = billing_cycle_anchor
2882
+ @billing_thresholds = billing_thresholds
3790
2883
  @collection_method = collection_method
3791
2884
  @currency = currency
3792
2885
  @default_payment_method = default_payment_method
@@ -3799,140 +2892,49 @@ module Stripe
3799
2892
  @iterations = iterations
3800
2893
  @metadata = metadata
3801
2894
  @on_behalf_of = on_behalf_of
3802
- @pause_collection = pause_collection
3803
2895
  @proration_behavior = proration_behavior
3804
2896
  @start_date = start_date
3805
2897
  @transfer_data = transfer_data
3806
2898
  @trial = trial
3807
- @trial_continuation = trial_continuation
3808
2899
  @trial_end = trial_end
3809
- @trial_settings = trial_settings
3810
2900
  end
3811
2901
  end
3812
-
3813
- class Prebilling < Stripe::RequestParams
3814
- class BillUntil < Stripe::RequestParams
3815
- class AmendmentEnd < Stripe::RequestParams
3816
- # The position of the amendment in the `amendments` array at which prebilling should end. Indexes start from 0 and must be less than the total number of supplied amendments.
3817
- attr_accessor :index
3818
-
3819
- def initialize(index: nil)
3820
- @index = index
3821
- end
3822
- end
3823
-
3824
- class Duration < Stripe::RequestParams
3825
- # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
3826
- attr_accessor :interval
3827
- # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
3828
- attr_accessor :interval_count
3829
-
3830
- def initialize(interval: nil, interval_count: nil)
3831
- @interval = interval
3832
- @interval_count = interval_count
3833
- end
3834
- end
3835
- # End the prebilled period when a specified amendment ends.
3836
- attr_accessor :amendment_end
3837
- # Time span for prebilling, starting from `bill_from`.
3838
- attr_accessor :duration
3839
- # End the prebilled period at a precise integer timestamp, starting from the Unix epoch.
3840
- attr_accessor :timestamp
3841
- # Select one of several ways to pass the `bill_until` value.
3842
- attr_accessor :type
3843
-
3844
- def initialize(amendment_end: nil, duration: nil, timestamp: nil, type: nil)
3845
- @amendment_end = amendment_end
3846
- @duration = duration
3847
- @timestamp = timestamp
3848
- @type = type
3849
- end
3850
- end
3851
- # The end of the prebilled time period.
3852
- attr_accessor :bill_until
3853
- # This is used to determine the number of billing cycles to prebill.
3854
- attr_accessor :iterations
3855
-
3856
- def initialize(bill_until: nil, iterations: nil)
3857
- @bill_until = bill_until
3858
- @iterations = iterations
3859
- end
3860
- end
3861
- # Changes to apply to the phases of the subscription schedule, in the order provided.
3862
- attr_accessor :amendments
3863
- # 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.
3864
- attr_accessor :billing_behavior
3865
- # Configure billing_mode to opt in improved credit proration behavior.When the schedule creates a subscription, the subscription's `billing_mode` will be set to the same value as the schedule's `billing_mode`.
3866
- attr_accessor :billing_mode
3867
2902
  # Behavior of the subscription schedule and underlying subscription when it ends. Possible values are `release` or `cancel` with the default being `release`. `release` will end the subscription schedule and keep the underlying subscription running. `cancel` will end the subscription schedule and cancel the underlying subscription.
3868
2903
  attr_accessor :end_behavior
3869
2904
  # List representing phases of the subscription schedule. Each phase can be customized to have different durations, plans, and coupons. If there are multiple phases, the `end_date` of one phase will always equal the `start_date` of the next phase.
3870
2905
  attr_accessor :phases
3871
- # Provide any time periods to bill in advance.
3872
- attr_accessor :prebilling
3873
2906
  # In cases where the `schedule_details` params update the currently active phase, specifies if and how to prorate at the time of the request.
3874
2907
  attr_accessor :proration_behavior
3875
2908
 
3876
- def initialize(
3877
- amendments: nil,
3878
- billing_behavior: nil,
3879
- billing_mode: nil,
3880
- end_behavior: nil,
3881
- phases: nil,
3882
- prebilling: nil,
3883
- proration_behavior: nil
3884
- )
3885
- @amendments = amendments
3886
- @billing_behavior = billing_behavior
3887
- @billing_mode = billing_mode
2909
+ def initialize(end_behavior: nil, phases: nil, proration_behavior: nil)
3888
2910
  @end_behavior = end_behavior
3889
2911
  @phases = phases
3890
- @prebilling = prebilling
3891
2912
  @proration_behavior = proration_behavior
3892
2913
  end
3893
2914
  end
3894
2915
 
3895
2916
  class SubscriptionDetails < Stripe::RequestParams
3896
2917
  class Item < Stripe::RequestParams
3897
- class Discount < Stripe::RequestParams
3898
- class DiscountEnd < Stripe::RequestParams
3899
- class Duration < Stripe::RequestParams
3900
- # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
3901
- attr_accessor :interval
3902
- # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
3903
- attr_accessor :interval_count
2918
+ class BillingThresholds < Stripe::RequestParams
2919
+ # Number of units that meets the billing threshold to advance the subscription to a new billing period (e.g., it takes 10 $5 units to meet a $50 [monetary threshold](https://stripe.com/docs/api/subscriptions/update#update_subscription-billing_thresholds-amount_gte))
2920
+ attr_accessor :usage_gte
3904
2921
 
3905
- def initialize(interval: nil, interval_count: nil)
3906
- @interval = interval
3907
- @interval_count = interval_count
3908
- end
3909
- end
3910
- # Time span for the redeemed discount.
3911
- attr_accessor :duration
3912
- # A precise Unix timestamp for the discount to end. Must be in the future.
3913
- attr_accessor :timestamp
3914
- # The type of calculation made to determine when the discount ends.
3915
- attr_accessor :type
3916
-
3917
- def initialize(duration: nil, timestamp: nil, type: nil)
3918
- @duration = duration
3919
- @timestamp = timestamp
3920
- @type = type
3921
- end
2922
+ def initialize(usage_gte: nil)
2923
+ @usage_gte = usage_gte
3922
2924
  end
2925
+ end
2926
+
2927
+ class Discount < Stripe::RequestParams
3923
2928
  # ID of the coupon to create a new discount for.
3924
2929
  attr_accessor :coupon
3925
2930
  # ID of an existing discount on the object (or one of its ancestors) to reuse.
3926
2931
  attr_accessor :discount
3927
- # Details to determine how long the discount should be applied for.
3928
- attr_accessor :discount_end
3929
2932
  # ID of the promotion code to create a new discount for.
3930
2933
  attr_accessor :promotion_code
3931
2934
 
3932
- def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
2935
+ def initialize(coupon: nil, discount: nil, promotion_code: nil)
3933
2936
  @coupon = coupon
3934
2937
  @discount = discount
3935
- @discount_end = discount_end
3936
2938
  @promotion_code = promotion_code
3937
2939
  end
3938
2940
  end
@@ -3978,6 +2980,8 @@ module Stripe
3978
2980
  @unit_amount_decimal = unit_amount_decimal
3979
2981
  end
3980
2982
  end
2983
+ # Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds.
2984
+ attr_accessor :billing_thresholds
3981
2985
  # Delete all usage for a given subscription item. You must pass this when deleting a usage records subscription item. `clear_usage` has no effect if the plan has a billing meter attached.
3982
2986
  attr_accessor :clear_usage
3983
2987
  # A flag that, if set to `true`, will delete the specified item.
@@ -4000,6 +3004,7 @@ module Stripe
4000
3004
  attr_accessor :tax_rates
4001
3005
 
4002
3006
  def initialize(
3007
+ billing_thresholds: nil,
4003
3008
  clear_usage: nil,
4004
3009
  deleted: nil,
4005
3010
  discounts: nil,
@@ -4011,6 +3016,7 @@ module Stripe
4011
3016
  quantity: nil,
4012
3017
  tax_rates: nil
4013
3018
  )
3019
+ @billing_thresholds = billing_thresholds
4014
3020
  @clear_usage = clear_usage
4015
3021
  @deleted = deleted
4016
3022
  @discounts = discounts
@@ -4023,22 +3029,11 @@ module Stripe
4023
3029
  @tax_rates = tax_rates
4024
3030
  end
4025
3031
  end
4026
-
4027
- class Prebilling < Stripe::RequestParams
4028
- # This is used to determine the number of billing cycles to prebill.
4029
- attr_accessor :iterations
4030
-
4031
- def initialize(iterations: nil)
4032
- @iterations = iterations
4033
- end
4034
- end
4035
3032
  # For new subscriptions, a future timestamp to anchor the subscription's [billing cycle](https://stripe.com/docs/subscriptions/billing-cycle). This is used to determine the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices. For existing subscriptions, the value can only be set to `now` or `unchanged`.
4036
3033
  attr_accessor :billing_cycle_anchor
4037
- # Configure billing_mode in each subscription to opt in improved credit proration behavior.
4038
- attr_accessor :billing_mode
4039
3034
  # A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled using `proration_behavior`. If set during a future period, this will always cause a proration for that period.
4040
3035
  attr_accessor :cancel_at
4041
- # Indicate whether this subscription should cancel at the end of the current period (`current_period_end`). Defaults to `false`.
3036
+ # Indicate whether this subscription should cancel at the end of the current period (`current_period_end`). Defaults to `false`. This param will be removed in a future API version. Please use `cancel_at` instead.
4042
3037
  attr_accessor :cancel_at_period_end
4043
3038
  # This simulates the subscription being canceled or expired immediately.
4044
3039
  attr_accessor :cancel_now
@@ -4046,8 +3041,6 @@ module Stripe
4046
3041
  attr_accessor :default_tax_rates
4047
3042
  # A list of up to 20 subscription items, each with an attached price.
4048
3043
  attr_accessor :items
4049
- # The pre-billing to apply to the subscription as a preview.
4050
- attr_accessor :prebilling
4051
3044
  # Determines how to handle [prorations](https://stripe.com/docs/billing/subscriptions/prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`.
4052
3045
  attr_accessor :proration_behavior
4053
3046
  # If previewing an update to a subscription, and doing proration, `subscription_details.proration_date` forces the proration to be calculated as though the update was done at the specified time. The time given must be within the current subscription period and within the current phase of the schedule backing this subscription, if the schedule exists. If set, `subscription`, and one of `subscription_details.items`, or `subscription_details.trial_end` are required. Also, `subscription_details.proration_behavior` cannot be set to 'none'.
@@ -4061,13 +3054,11 @@ module Stripe
4061
3054
 
4062
3055
  def initialize(
4063
3056
  billing_cycle_anchor: nil,
4064
- billing_mode: nil,
4065
3057
  cancel_at: nil,
4066
3058
  cancel_at_period_end: nil,
4067
3059
  cancel_now: nil,
4068
3060
  default_tax_rates: nil,
4069
3061
  items: nil,
4070
- prebilling: nil,
4071
3062
  proration_behavior: nil,
4072
3063
  proration_date: nil,
4073
3064
  resume_at: nil,
@@ -4075,13 +3066,11 @@ module Stripe
4075
3066
  trial_end: nil
4076
3067
  )
4077
3068
  @billing_cycle_anchor = billing_cycle_anchor
4078
- @billing_mode = billing_mode
4079
3069
  @cancel_at = cancel_at
4080
3070
  @cancel_at_period_end = cancel_at_period_end
4081
3071
  @cancel_now = cancel_now
4082
3072
  @default_tax_rates = default_tax_rates
4083
3073
  @items = items
4084
- @prebilling = prebilling
4085
3074
  @proration_behavior = proration_behavior
4086
3075
  @proration_date = proration_date
4087
3076
  @resume_at = resume_at
@@ -4095,8 +3084,6 @@ module Stripe
4095
3084
  attr_accessor :currency
4096
3085
  # The identifier of the customer whose upcoming invoice you'd like to retrieve. If `automatic_tax` is enabled then one of `customer`, `customer_details`, `subscription`, or `schedule` must be set.
4097
3086
  attr_accessor :customer
4098
- # The identifier of the account whose upcoming invoice you'd like to retrieve. If `automatic_tax` is enabled then one of `customer`, `customer_account`, `customer_details`, `subscription`, or `schedule` must be set.
4099
- attr_accessor :customer_account
4100
3087
  # Details about the customer you want to invoice or overrides for an existing customer. If `automatic_tax` is enabled then one of `customer`, `customer_details`, `subscription`, or `schedule` must be set.
4101
3088
  attr_accessor :customer_details
4102
3089
  # The coupons to redeem into discounts for the invoice preview. If not specified, inherits the discount from the subscription or customer. This works for both coupons directly applied to an invoice and coupons applied to a subscription. Pass an empty string to avoid inheriting any discounts.
@@ -4124,7 +3111,6 @@ module Stripe
4124
3111
  automatic_tax: nil,
4125
3112
  currency: nil,
4126
3113
  customer: nil,
4127
- customer_account: nil,
4128
3114
  customer_details: nil,
4129
3115
  discounts: nil,
4130
3116
  expand: nil,
@@ -4140,7 +3126,6 @@ module Stripe
4140
3126
  @automatic_tax = automatic_tax
4141
3127
  @currency = currency
4142
3128
  @customer = customer
4143
- @customer_account = customer_account
4144
3129
  @customer_details = customer_details
4145
3130
  @discounts = discounts
4146
3131
  @expand = expand
@@ -4170,8 +3155,6 @@ module Stripe
4170
3155
  attr_reader :amount_remaining
4171
3156
  # This is the sum of all the shipping amounts.
4172
3157
  attr_reader :amount_shipping
4173
- # List of expected payments and corresponding due dates. This value will be null for invoices where collection_method=charge_automatically.
4174
- attr_reader :amounts_due
4175
3158
  # ID of the Connect Application that created the invoice.
4176
3159
  attr_reader :application
4177
3160
  # Number of payment attempts made for this invoice, from the perspective of the payment retry schedule. Any payment attempt counts as the first attempt, and subsequently only automatic retries increment the attempt count. In other words, manual payment attempts after the first attempt do not affect the retry schedule. If a failure is returned with a non-retryable return code, the invoice can no longer be retried unless a new payment method is obtained. Retries will continue to be scheduled, and attempt_count will continue to increment, but retries will only be executed if a new payment method is obtained.
@@ -4206,8 +3189,6 @@ module Stripe
4206
3189
  attr_reader :custom_fields
4207
3190
  # The ID of the customer who will be billed.
4208
3191
  attr_reader :customer
4209
- # The ID of the account who will be billed.
4210
- attr_reader :customer_account
4211
3192
  # The customer's address. Until the invoice is finalized, this field will equal `customer.address`. Once the invoice is finalized, this field will no longer be updated.
4212
3193
  attr_reader :customer_address
4213
3194
  # The customer's email. Until the invoice is finalized, this field will equal `customer.email`. Once the invoice is finalized, this field will no longer be updated.
@@ -4222,8 +3203,6 @@ module Stripe
4222
3203
  attr_reader :customer_tax_exempt
4223
3204
  # The customer's tax IDs. Until the invoice is finalized, this field will contain the same tax IDs as `customer.tax_ids`. Once the invoice is finalized, this field will no longer be updated.
4224
3205
  attr_reader :customer_tax_ids
4225
- # The margins applied to the invoice. Can be overridden by line item `margins`. Use `expand[]=default_margins` to expand each margin.
4226
- attr_reader :default_margins
4227
3206
  # ID of the default payment method for the invoice. It must belong to the customer associated with the invoice. If not set, defaults to the subscription's default payment method, if any, or to the default payment method in the customer's invoice settings.
4228
3207
  attr_reader :default_payment_method
4229
3208
  # ID of the default payment source for the invoice. It must belong to the customer associated with the invoice and be in a chargeable state. If not set, defaults to the subscription's default source, if any, or to the customer's default source.
@@ -4246,7 +3225,7 @@ module Stripe
4246
3225
  attr_reader :from_invoice
4247
3226
  # The URL for the hosted invoice page, which allows customers to view and pay an invoice. If the invoice has not been finalized yet, this will be null.
4248
3227
  attr_reader :hosted_invoice_url
4249
- # Unique identifier for the object. This property is always present unless the invoice is an upcoming invoice. See [Retrieve an upcoming invoice](https://stripe.com/docs/api/invoices/upcoming) for more details.
3228
+ # Unique identifier for the object. For preview invoices created using the [create preview](https://stripe.com/docs/api/invoices/create_preview) endpoint, this id will be prefixed with `upcoming_in`.
4250
3229
  attr_reader :id
4251
3230
  # The link to download the PDF for the invoice. If the invoice has not been finalized yet, this will be null.
4252
3231
  attr_reader :invoice_pdf
@@ -4314,8 +3293,6 @@ module Stripe
4314
3293
  attr_reader :total_discount_amounts
4315
3294
  # The integer amount in cents (or local equivalent) representing the total amount of the invoice including all discounts but excluding all tax.
4316
3295
  attr_reader :total_excluding_tax
4317
- # The aggregate amounts calculated per margin across all line items.
4318
- attr_reader :total_margin_amounts
4319
3296
  # Contains pretax credit amounts (ex: discount, credit grants, etc) that apply to this invoice. This is a combined list of total_pretax_credit_amounts across all invoice line items.
4320
3297
  attr_reader :total_pretax_credit_amounts
4321
3298
  # The aggregate tax information of all line items.
@@ -4347,9 +3324,6 @@ module Stripe
4347
3324
 
4348
3325
  # Attaches a PaymentIntent or an Out of Band Payment to the invoice, adding it to the list of payments.
4349
3326
  #
4350
- # For Out of Band Payment, the payment is credited to the invoice immediately, increasing the amount_paid
4351
- # of the invoice and subsequently transitioning the status of the invoice to paid if necessary.
4352
- #
4353
3327
  # For the PaymentIntent, when the PaymentIntent's status changes to succeeded, the payment is credited
4354
3328
  # to the invoice, increasing its amount_paid. When the invoice is fully paid, the
4355
3329
  # invoice's status becomes paid.
@@ -4357,7 +3331,7 @@ module Stripe
4357
3331
  # If the PaymentIntent's status is already succeeded when it's attached, it's
4358
3332
  # credited to the invoice immediately.
4359
3333
  #
4360
- # See: [Create an invoice payment](https://stripe.com/docs/invoicing/payments/create) to learn more.
3334
+ # See: [Partial payments](https://docs.stripe.com/docs/invoicing/partial-payments) to learn more.
4361
3335
  def attach_payment(params = {}, opts = {})
4362
3336
  request_stripe_object(
4363
3337
  method: :post,
@@ -4369,9 +3343,6 @@ module Stripe
4369
3343
 
4370
3344
  # Attaches a PaymentIntent or an Out of Band Payment to the invoice, adding it to the list of payments.
4371
3345
  #
4372
- # For Out of Band Payment, the payment is credited to the invoice immediately, increasing the amount_paid
4373
- # of the invoice and subsequently transitioning the status of the invoice to paid if necessary.
4374
- #
4375
3346
  # For the PaymentIntent, when the PaymentIntent's status changes to succeeded, the payment is credited
4376
3347
  # to the invoice, increasing its amount_paid. When the invoice is fully paid, the
4377
3348
  # invoice's status becomes paid.
@@ -4379,7 +3350,7 @@ module Stripe
4379
3350
  # If the PaymentIntent's status is already succeeded when it's attached, it's
4380
3351
  # credited to the invoice immediately.
4381
3352
  #
4382
- # See: [Create an invoice payment](https://stripe.com/docs/invoicing/payments/create) to learn more.
3353
+ # See: [Partial payments](https://docs.stripe.com/docs/invoicing/partial-payments) to learn more.
4383
3354
  def self.attach_payment(invoice, params = {}, opts = {})
4384
3355
  request_stripe_object(
4385
3356
  method: :post,
@@ -4389,16 +3360,18 @@ module Stripe
4389
3360
  )
4390
3361
  end
4391
3362
 
4392
- # This endpoint creates a draft invoice for a given customer. The invoice remains a draft until you [finalize the invoice, which allows you to [pay](#pay_invoice) or <a href="#send_invoice">send](https://stripe.com/docs/api#finalize_invoice) the invoice to your customers.
3363
+ # This endpoint creates a draft invoice for a given customer. The invoice remains a draft until you [finalize the invoice, which allows you to [pay](#pay_invoice) or <a href="#send_invoice">send](https://docs.stripe.com/api#finalize_invoice) the invoice to your customers.
4393
3364
  def self.create(params = {}, opts = {})
4394
3365
  request_stripe_object(method: :post, path: "/v1/invoices", params: params, opts: opts)
4395
3366
  end
4396
3367
 
4397
3368
  # At any time, you can preview the upcoming invoice for a subscription or subscription schedule. This will show you all the charges that are pending, including subscription renewal charges, invoice item charges, etc. It will also show you any discounts that are applicable to the invoice.
4398
3369
  #
4399
- # Note that when you are viewing an upcoming invoice, you are simply viewing a preview the invoice has not yet been created. As such, the upcoming invoice will not show up in invoice listing calls, and you cannot use the API to pay or edit the invoice. If you want to change the amount that your customer will be billed, you can add, remove, or update pending invoice items, or update the customer's discount.
3370
+ # You can also preview the effects of creating or updating a subscription or subscription schedule, including a preview of any prorations that will take place. To ensure that the actual proration is calculated exactly the same as the previewed proration, you should pass the subscription_details.proration_date parameter when doing the actual subscription update.
4400
3371
  #
4401
- # You can preview the effects of updating a subscription, including a preview of what proration will take place. To ensure that the actual proration is calculated exactly the same as the previewed proration, you should pass the subscription_details.proration_date parameter when doing the actual subscription update. The recommended way to get only the prorations being previewed is to consider only proration line items where period[start] is equal to the subscription_details.proration_date value passed in the request.
3372
+ # The recommended way to get only the prorations being previewed on the invoice is to consider line items where parent.subscription_item_details.proration is true.
3373
+ #
3374
+ # Note that when you are viewing an upcoming invoice, you are simply viewing a preview – the invoice has not yet been created. As such, the upcoming invoice will not show up in invoice listing calls, and you cannot use the API to pay or edit the invoice. If you want to change the amount that your customer will be billed, you can add, remove, or update pending invoice items, or update the customer's discount.
4402
3375
  #
4403
3376
  # Note: Currency conversion calculations use the latest exchange rates. Exchange rates may vary between the time of the preview and the time of the actual invoice creation. [Learn more](https://docs.stripe.com/currencies/conversions)
4404
3377
  def self.create_preview(params = {}, opts = {})
@@ -4410,7 +3383,7 @@ module Stripe
4410
3383
  )
4411
3384
  end
4412
3385
 
4413
- # Permanently deletes a one-off invoice draft. This cannot be undone. Attempts to delete invoices that are no longer in a draft state will fail; once an invoice has been finalized or if an invoice is for a subscription, it must be [voided](https://stripe.com/docs/api#void_invoice).
3386
+ # Permanently deletes a one-off invoice draft. This cannot be undone. Attempts to delete invoices that are no longer in a draft state will fail; once an invoice has been finalized or if an invoice is for a subscription, it must be [voided](https://docs.stripe.com/api#void_invoice).
4414
3387
  def self.delete(invoice, params = {}, opts = {})
4415
3388
  request_stripe_object(
4416
3389
  method: :delete,
@@ -4420,7 +3393,7 @@ module Stripe
4420
3393
  )
4421
3394
  end
4422
3395
 
4423
- # Permanently deletes a one-off invoice draft. This cannot be undone. Attempts to delete invoices that are no longer in a draft state will fail; once an invoice has been finalized or if an invoice is for a subscription, it must be [voided](https://stripe.com/docs/api#void_invoice).
3396
+ # Permanently deletes a one-off invoice draft. This cannot be undone. Attempts to delete invoices that are no longer in a draft state will fail; once an invoice has been finalized or if an invoice is for a subscription, it must be [voided](https://docs.stripe.com/api#void_invoice).
4424
3397
  def delete(params = {}, opts = {})
4425
3398
  request_stripe_object(
4426
3399
  method: :delete,
@@ -4547,11 +3520,11 @@ module Stripe
4547
3520
  )
4548
3521
  end
4549
3522
 
4550
- # Draft invoices are fully editable. Once an invoice is [finalized](https://stripe.com/docs/billing/invoices/workflow#finalized),
3523
+ # Draft invoices are fully editable. Once an invoice is [finalized](https://docs.stripe.com/docs/billing/invoices/workflow#finalized),
4551
3524
  # monetary values, as well as collection_method, become uneditable.
4552
3525
  #
4553
3526
  # If you would like to stop the Stripe Billing engine from automatically finalizing, reattempting payments on,
4554
- # sending reminders for, or [automatically reconciling](https://stripe.com/docs/billing/invoices/reconciliation) invoices, pass
3527
+ # sending reminders for, or [automatically reconciling](https://docs.stripe.com/docs/billing/invoices/reconciliation) invoices, pass
4555
3528
  # auto_advance=false.
4556
3529
  def self.update(invoice, params = {}, opts = {})
4557
3530
  request_stripe_object(
@@ -4582,9 +3555,9 @@ module Stripe
4582
3555
  )
4583
3556
  end
4584
3557
 
4585
- # Mark a finalized invoice as void. This cannot be undone. Voiding an invoice is similar to [deletion](https://stripe.com/docs/api#delete_invoice), however it only applies to finalized invoices and maintains a papertrail where the invoice can still be found.
3558
+ # Mark a finalized invoice as void. This cannot be undone. Voiding an invoice is similar to [deletion](https://docs.stripe.com/api#delete_invoice), however it only applies to finalized invoices and maintains a papertrail where the invoice can still be found.
4586
3559
  #
4587
- # Consult with local regulations to determine whether and how an invoice might be amended, canceled, or voided in the jurisdiction you're doing business in. You might need to [issue another invoice or <a href="#create_credit_note">credit note](https://stripe.com/docs/api#create_invoice) instead. Stripe recommends that you consult with your legal counsel for advice specific to your business.
3560
+ # Consult with local regulations to determine whether and how an invoice might be amended, canceled, or voided in the jurisdiction you're doing business in. You might need to [issue another invoice or <a href="#create_credit_note">credit note](https://docs.stripe.com/api#create_invoice) instead. Stripe recommends that you consult with your legal counsel for advice specific to your business.
4588
3561
  def void_invoice(params = {}, opts = {})
4589
3562
  request_stripe_object(
4590
3563
  method: :post,
@@ -4594,9 +3567,9 @@ module Stripe
4594
3567
  )
4595
3568
  end
4596
3569
 
4597
- # Mark a finalized invoice as void. This cannot be undone. Voiding an invoice is similar to [deletion](https://stripe.com/docs/api#delete_invoice), however it only applies to finalized invoices and maintains a papertrail where the invoice can still be found.
3570
+ # Mark a finalized invoice as void. This cannot be undone. Voiding an invoice is similar to [deletion](https://docs.stripe.com/api#delete_invoice), however it only applies to finalized invoices and maintains a papertrail where the invoice can still be found.
4598
3571
  #
4599
- # Consult with local regulations to determine whether and how an invoice might be amended, canceled, or voided in the jurisdiction you're doing business in. You might need to [issue another invoice or <a href="#create_credit_note">credit note](https://stripe.com/docs/api#create_invoice) instead. Stripe recommends that you consult with your legal counsel for advice specific to your business.
3572
+ # Consult with local regulations to determine whether and how an invoice might be amended, canceled, or voided in the jurisdiction you're doing business in. You might need to [issue another invoice or <a href="#create_credit_note">credit note](https://docs.stripe.com/api#create_invoice) instead. Stripe recommends that you consult with your legal counsel for advice specific to your business.
4600
3573
  def self.void_invoice(invoice, params = {}, opts = {})
4601
3574
  request_stripe_object(
4602
3575
  method: :post,