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
@@ -0,0 +1,1290 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ # typed: true
5
+ module Stripe
6
+ class SubscriptionScheduleService < StripeService
7
+ class ListParams < Stripe::RequestParams
8
+ class CanceledAt < Stripe::RequestParams
9
+ # Minimum value to filter by (exclusive)
10
+ sig { returns(T.nilable(Integer)) }
11
+ attr_accessor :gt
12
+ # Minimum value to filter by (inclusive)
13
+ sig { returns(T.nilable(Integer)) }
14
+ attr_accessor :gte
15
+ # Maximum value to filter by (exclusive)
16
+ sig { returns(T.nilable(Integer)) }
17
+ attr_accessor :lt
18
+ # Maximum value to filter by (inclusive)
19
+ sig { returns(T.nilable(Integer)) }
20
+ attr_accessor :lte
21
+ sig {
22
+ params(gt: T.nilable(Integer), gte: T.nilable(Integer), lt: T.nilable(Integer), lte: T.nilable(Integer)).void
23
+ }
24
+ def initialize(gt: nil, gte: nil, lt: nil, lte: nil); end
25
+ end
26
+ class CompletedAt < Stripe::RequestParams
27
+ # Minimum value to filter by (exclusive)
28
+ sig { returns(T.nilable(Integer)) }
29
+ attr_accessor :gt
30
+ # Minimum value to filter by (inclusive)
31
+ sig { returns(T.nilable(Integer)) }
32
+ attr_accessor :gte
33
+ # Maximum value to filter by (exclusive)
34
+ sig { returns(T.nilable(Integer)) }
35
+ attr_accessor :lt
36
+ # Maximum value to filter by (inclusive)
37
+ sig { returns(T.nilable(Integer)) }
38
+ attr_accessor :lte
39
+ sig {
40
+ params(gt: T.nilable(Integer), gte: T.nilable(Integer), lt: T.nilable(Integer), lte: T.nilable(Integer)).void
41
+ }
42
+ def initialize(gt: nil, gte: nil, lt: nil, lte: nil); end
43
+ end
44
+ class Created < Stripe::RequestParams
45
+ # Minimum value to filter by (exclusive)
46
+ sig { returns(T.nilable(Integer)) }
47
+ attr_accessor :gt
48
+ # Minimum value to filter by (inclusive)
49
+ sig { returns(T.nilable(Integer)) }
50
+ attr_accessor :gte
51
+ # Maximum value to filter by (exclusive)
52
+ sig { returns(T.nilable(Integer)) }
53
+ attr_accessor :lt
54
+ # Maximum value to filter by (inclusive)
55
+ sig { returns(T.nilable(Integer)) }
56
+ attr_accessor :lte
57
+ sig {
58
+ params(gt: T.nilable(Integer), gte: T.nilable(Integer), lt: T.nilable(Integer), lte: T.nilable(Integer)).void
59
+ }
60
+ def initialize(gt: nil, gte: nil, lt: nil, lte: nil); end
61
+ end
62
+ class ReleasedAt < Stripe::RequestParams
63
+ # Minimum value to filter by (exclusive)
64
+ sig { returns(T.nilable(Integer)) }
65
+ attr_accessor :gt
66
+ # Minimum value to filter by (inclusive)
67
+ sig { returns(T.nilable(Integer)) }
68
+ attr_accessor :gte
69
+ # Maximum value to filter by (exclusive)
70
+ sig { returns(T.nilable(Integer)) }
71
+ attr_accessor :lt
72
+ # Maximum value to filter by (inclusive)
73
+ sig { returns(T.nilable(Integer)) }
74
+ attr_accessor :lte
75
+ sig {
76
+ params(gt: T.nilable(Integer), gte: T.nilable(Integer), lt: T.nilable(Integer), lte: T.nilable(Integer)).void
77
+ }
78
+ def initialize(gt: nil, gte: nil, lt: nil, lte: nil); end
79
+ end
80
+ # Only return subscription schedules that were created canceled the given date interval.
81
+ sig {
82
+ returns(T.nilable(T.any(::Stripe::SubscriptionScheduleService::ListParams::CanceledAt, Integer)))
83
+ }
84
+ attr_accessor :canceled_at
85
+ # Only return subscription schedules that completed during the given date interval.
86
+ sig {
87
+ returns(T.nilable(T.any(::Stripe::SubscriptionScheduleService::ListParams::CompletedAt, Integer)))
88
+ }
89
+ attr_accessor :completed_at
90
+ # Only return subscription schedules that were created during the given date interval.
91
+ sig {
92
+ returns(T.nilable(T.any(::Stripe::SubscriptionScheduleService::ListParams::Created, Integer)))
93
+ }
94
+ attr_accessor :created
95
+ # Only return subscription schedules for the given customer.
96
+ sig { returns(T.nilable(String)) }
97
+ attr_accessor :customer
98
+ # 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.
99
+ sig { returns(T.nilable(String)) }
100
+ attr_accessor :ending_before
101
+ # Specifies which fields in the response should be expanded.
102
+ sig { returns(T.nilable(T::Array[String])) }
103
+ attr_accessor :expand
104
+ # A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
105
+ sig { returns(T.nilable(Integer)) }
106
+ attr_accessor :limit
107
+ # Only return subscription schedules that were released during the given date interval.
108
+ sig {
109
+ returns(T.nilable(T.any(::Stripe::SubscriptionScheduleService::ListParams::ReleasedAt, Integer)))
110
+ }
111
+ attr_accessor :released_at
112
+ # Only return subscription schedules that have not started yet.
113
+ sig { returns(T.nilable(T::Boolean)) }
114
+ attr_accessor :scheduled
115
+ # A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
116
+ sig { returns(T.nilable(String)) }
117
+ attr_accessor :starting_after
118
+ sig {
119
+ params(canceled_at: T.nilable(T.any(::Stripe::SubscriptionScheduleService::ListParams::CanceledAt, Integer)), completed_at: T.nilable(T.any(::Stripe::SubscriptionScheduleService::ListParams::CompletedAt, Integer)), created: T.nilable(T.any(::Stripe::SubscriptionScheduleService::ListParams::Created, Integer)), customer: T.nilable(String), ending_before: T.nilable(String), expand: T.nilable(T::Array[String]), limit: T.nilable(Integer), released_at: T.nilable(T.any(::Stripe::SubscriptionScheduleService::ListParams::ReleasedAt, Integer)), scheduled: T.nilable(T::Boolean), starting_after: T.nilable(String)).void
120
+ }
121
+ def initialize(
122
+ canceled_at: nil,
123
+ completed_at: nil,
124
+ created: nil,
125
+ customer: nil,
126
+ ending_before: nil,
127
+ expand: nil,
128
+ limit: nil,
129
+ released_at: nil,
130
+ scheduled: nil,
131
+ starting_after: nil
132
+ ); end
133
+ end
134
+ class CreateParams < Stripe::RequestParams
135
+ class DefaultSettings < Stripe::RequestParams
136
+ class AutomaticTax < Stripe::RequestParams
137
+ class Liability < Stripe::RequestParams
138
+ # The connected account being referenced when `type` is `account`.
139
+ sig { returns(T.nilable(String)) }
140
+ attr_accessor :account
141
+ # Type of the account referenced in the request.
142
+ sig { returns(String) }
143
+ attr_accessor :type
144
+ sig { params(account: T.nilable(String), type: String).void }
145
+ def initialize(account: nil, type: nil); end
146
+ end
147
+ # Enabled automatic tax calculation which will automatically compute tax rates on all invoices generated by the subscription.
148
+ sig { returns(T::Boolean) }
149
+ attr_accessor :enabled
150
+ # The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account.
151
+ sig {
152
+ returns(T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::DefaultSettings::AutomaticTax::Liability))
153
+ }
154
+ attr_accessor :liability
155
+ sig {
156
+ params(enabled: T::Boolean, liability: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::DefaultSettings::AutomaticTax::Liability)).void
157
+ }
158
+ def initialize(enabled: nil, liability: nil); end
159
+ end
160
+ class BillingThresholds < Stripe::RequestParams
161
+ # Monetary threshold that triggers the subscription to advance to a new billing period
162
+ sig { returns(T.nilable(Integer)) }
163
+ attr_accessor :amount_gte
164
+ # 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.
165
+ sig { returns(T.nilable(T::Boolean)) }
166
+ attr_accessor :reset_billing_cycle_anchor
167
+ sig {
168
+ params(amount_gte: T.nilable(Integer), reset_billing_cycle_anchor: T.nilable(T::Boolean)).void
169
+ }
170
+ def initialize(amount_gte: nil, reset_billing_cycle_anchor: nil); end
171
+ end
172
+ class InvoiceSettings < Stripe::RequestParams
173
+ class Issuer < Stripe::RequestParams
174
+ # The connected account being referenced when `type` is `account`.
175
+ sig { returns(T.nilable(String)) }
176
+ attr_accessor :account
177
+ # Type of the account referenced in the request.
178
+ sig { returns(String) }
179
+ attr_accessor :type
180
+ sig { params(account: T.nilable(String), type: String).void }
181
+ def initialize(account: nil, type: nil); end
182
+ end
183
+ # The account tax IDs associated with the subscription schedule. Will be set on invoices generated by the subscription schedule.
184
+ sig { returns(T.nilable(T.nilable(T.any(String, T::Array[String])))) }
185
+ attr_accessor :account_tax_ids
186
+ # Number of days within which a customer must pay invoices generated by this subscription schedule. This value will be `null` for subscription schedules where `collection_method=charge_automatically`.
187
+ sig { returns(T.nilable(Integer)) }
188
+ attr_accessor :days_until_due
189
+ # The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.
190
+ sig {
191
+ returns(T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::DefaultSettings::InvoiceSettings::Issuer))
192
+ }
193
+ attr_accessor :issuer
194
+ sig {
195
+ params(account_tax_ids: T.nilable(T.nilable(T.any(String, T::Array[String]))), days_until_due: T.nilable(Integer), issuer: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::DefaultSettings::InvoiceSettings::Issuer)).void
196
+ }
197
+ def initialize(account_tax_ids: nil, days_until_due: nil, issuer: nil); end
198
+ end
199
+ class TransferData < Stripe::RequestParams
200
+ # A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount is transferred to the destination.
201
+ sig { returns(T.nilable(Float)) }
202
+ attr_accessor :amount_percent
203
+ # ID of an existing, connected Stripe account.
204
+ sig { returns(String) }
205
+ attr_accessor :destination
206
+ sig { params(amount_percent: T.nilable(Float), destination: String).void }
207
+ def initialize(amount_percent: nil, destination: nil); end
208
+ end
209
+ # 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).
210
+ sig { returns(T.nilable(Float)) }
211
+ attr_accessor :application_fee_percent
212
+ # Default settings for automatic tax computation.
213
+ sig {
214
+ returns(T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::DefaultSettings::AutomaticTax))
215
+ }
216
+ attr_accessor :automatic_tax
217
+ # 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).
218
+ sig { returns(T.nilable(String)) }
219
+ attr_accessor :billing_cycle_anchor
220
+ # 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.
221
+ sig {
222
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::SubscriptionScheduleService::CreateParams::DefaultSettings::BillingThresholds))))
223
+ }
224
+ attr_accessor :billing_thresholds
225
+ # 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.
226
+ sig { returns(T.nilable(String)) }
227
+ attr_accessor :collection_method
228
+ # ID of the default payment method for the subscription schedule. It must belong to the customer associated with the subscription schedule. If not set, invoices will use the default payment method in the customer's invoice settings.
229
+ sig { returns(T.nilable(String)) }
230
+ attr_accessor :default_payment_method
231
+ # Subscription description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs.
232
+ sig { returns(T.nilable(T.nilable(String))) }
233
+ attr_accessor :description
234
+ # All invoices will be billed using the specified settings.
235
+ sig {
236
+ returns(T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::DefaultSettings::InvoiceSettings))
237
+ }
238
+ attr_accessor :invoice_settings
239
+ # The account on behalf of which to charge, for each of the associated subscription's invoices.
240
+ sig { returns(T.nilable(T.nilable(String))) }
241
+ attr_accessor :on_behalf_of
242
+ # The data with which to automatically create a Transfer for each of the associated subscription's invoices.
243
+ sig {
244
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::SubscriptionScheduleService::CreateParams::DefaultSettings::TransferData))))
245
+ }
246
+ attr_accessor :transfer_data
247
+ sig {
248
+ params(application_fee_percent: T.nilable(Float), automatic_tax: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::DefaultSettings::AutomaticTax), billing_cycle_anchor: T.nilable(String), billing_thresholds: T.nilable(T.nilable(T.any(String, ::Stripe::SubscriptionScheduleService::CreateParams::DefaultSettings::BillingThresholds))), collection_method: T.nilable(String), default_payment_method: T.nilable(String), description: T.nilable(T.nilable(String)), invoice_settings: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::DefaultSettings::InvoiceSettings), on_behalf_of: T.nilable(T.nilable(String)), transfer_data: T.nilable(T.nilable(T.any(String, ::Stripe::SubscriptionScheduleService::CreateParams::DefaultSettings::TransferData)))).void
249
+ }
250
+ def initialize(
251
+ application_fee_percent: nil,
252
+ automatic_tax: nil,
253
+ billing_cycle_anchor: nil,
254
+ billing_thresholds: nil,
255
+ collection_method: nil,
256
+ default_payment_method: nil,
257
+ description: nil,
258
+ invoice_settings: nil,
259
+ on_behalf_of: nil,
260
+ transfer_data: nil
261
+ ); end
262
+ end
263
+ class Phase < Stripe::RequestParams
264
+ class AddInvoiceItem < Stripe::RequestParams
265
+ class Discount < Stripe::RequestParams
266
+ # ID of the coupon to create a new discount for.
267
+ sig { returns(T.nilable(String)) }
268
+ attr_accessor :coupon
269
+ # ID of an existing discount on the object (or one of its ancestors) to reuse.
270
+ sig { returns(T.nilable(String)) }
271
+ attr_accessor :discount
272
+ # ID of the promotion code to create a new discount for.
273
+ sig { returns(T.nilable(String)) }
274
+ attr_accessor :promotion_code
275
+ sig {
276
+ params(coupon: T.nilable(String), discount: T.nilable(String), promotion_code: T.nilable(String)).void
277
+ }
278
+ def initialize(coupon: nil, discount: nil, promotion_code: nil); end
279
+ end
280
+ class PriceData < Stripe::RequestParams
281
+ # 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).
282
+ sig { returns(String) }
283
+ attr_accessor :currency
284
+ # The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to.
285
+ sig { returns(String) }
286
+ attr_accessor :product
287
+ # Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed.
288
+ sig { returns(T.nilable(String)) }
289
+ attr_accessor :tax_behavior
290
+ # A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge or a negative integer representing the amount to credit to the customer.
291
+ sig { returns(T.nilable(Integer)) }
292
+ attr_accessor :unit_amount
293
+ # Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set.
294
+ sig { returns(T.nilable(String)) }
295
+ attr_accessor :unit_amount_decimal
296
+ sig {
297
+ params(currency: String, product: String, tax_behavior: T.nilable(String), unit_amount: T.nilable(Integer), unit_amount_decimal: T.nilable(String)).void
298
+ }
299
+ def initialize(
300
+ currency: nil,
301
+ product: nil,
302
+ tax_behavior: nil,
303
+ unit_amount: nil,
304
+ unit_amount_decimal: nil
305
+ ); end
306
+ end
307
+ # The coupons to redeem into discounts for the item.
308
+ sig {
309
+ returns(T.nilable(T::Array[::Stripe::SubscriptionScheduleService::CreateParams::Phase::AddInvoiceItem::Discount]))
310
+ }
311
+ attr_accessor :discounts
312
+ # The ID of the price object. One of `price` or `price_data` is required.
313
+ sig { returns(T.nilable(String)) }
314
+ attr_accessor :price
315
+ # Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required.
316
+ sig {
317
+ returns(T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::AddInvoiceItem::PriceData))
318
+ }
319
+ attr_accessor :price_data
320
+ # Quantity for this item. Defaults to 1.
321
+ sig { returns(T.nilable(Integer)) }
322
+ attr_accessor :quantity
323
+ # The tax rates which apply to the item. When set, the `default_tax_rates` do not apply to this item.
324
+ sig { returns(T.nilable(T.nilable(T.any(String, T::Array[String])))) }
325
+ attr_accessor :tax_rates
326
+ sig {
327
+ params(discounts: T.nilable(T::Array[::Stripe::SubscriptionScheduleService::CreateParams::Phase::AddInvoiceItem::Discount]), price: T.nilable(String), price_data: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::AddInvoiceItem::PriceData), quantity: T.nilable(Integer), tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String])))).void
328
+ }
329
+ def initialize(
330
+ discounts: nil,
331
+ price: nil,
332
+ price_data: nil,
333
+ quantity: nil,
334
+ tax_rates: nil
335
+ ); end
336
+ end
337
+ class AutomaticTax < Stripe::RequestParams
338
+ class Liability < Stripe::RequestParams
339
+ # The connected account being referenced when `type` is `account`.
340
+ sig { returns(T.nilable(String)) }
341
+ attr_accessor :account
342
+ # Type of the account referenced in the request.
343
+ sig { returns(String) }
344
+ attr_accessor :type
345
+ sig { params(account: T.nilable(String), type: String).void }
346
+ def initialize(account: nil, type: nil); end
347
+ end
348
+ # Enabled automatic tax calculation which will automatically compute tax rates on all invoices generated by the subscription.
349
+ sig { returns(T::Boolean) }
350
+ attr_accessor :enabled
351
+ # The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account.
352
+ sig {
353
+ returns(T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::AutomaticTax::Liability))
354
+ }
355
+ attr_accessor :liability
356
+ sig {
357
+ params(enabled: T::Boolean, liability: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::AutomaticTax::Liability)).void
358
+ }
359
+ def initialize(enabled: nil, liability: nil); end
360
+ end
361
+ class BillingThresholds < Stripe::RequestParams
362
+ # Monetary threshold that triggers the subscription to advance to a new billing period
363
+ sig { returns(T.nilable(Integer)) }
364
+ attr_accessor :amount_gte
365
+ # 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.
366
+ sig { returns(T.nilable(T::Boolean)) }
367
+ attr_accessor :reset_billing_cycle_anchor
368
+ sig {
369
+ params(amount_gte: T.nilable(Integer), reset_billing_cycle_anchor: T.nilable(T::Boolean)).void
370
+ }
371
+ def initialize(amount_gte: nil, reset_billing_cycle_anchor: nil); end
372
+ end
373
+ class Discount < Stripe::RequestParams
374
+ # ID of the coupon to create a new discount for.
375
+ sig { returns(T.nilable(String)) }
376
+ attr_accessor :coupon
377
+ # ID of an existing discount on the object (or one of its ancestors) to reuse.
378
+ sig { returns(T.nilable(String)) }
379
+ attr_accessor :discount
380
+ # ID of the promotion code to create a new discount for.
381
+ sig { returns(T.nilable(String)) }
382
+ attr_accessor :promotion_code
383
+ sig {
384
+ params(coupon: T.nilable(String), discount: T.nilable(String), promotion_code: T.nilable(String)).void
385
+ }
386
+ def initialize(coupon: nil, discount: nil, promotion_code: nil); end
387
+ end
388
+ class InvoiceSettings < Stripe::RequestParams
389
+ class Issuer < Stripe::RequestParams
390
+ # The connected account being referenced when `type` is `account`.
391
+ sig { returns(T.nilable(String)) }
392
+ attr_accessor :account
393
+ # Type of the account referenced in the request.
394
+ sig { returns(String) }
395
+ attr_accessor :type
396
+ sig { params(account: T.nilable(String), type: String).void }
397
+ def initialize(account: nil, type: nil); end
398
+ end
399
+ # The account tax IDs associated with this phase of the subscription schedule. Will be set on invoices generated by this phase of the subscription schedule.
400
+ sig { returns(T.nilable(T.nilable(T.any(String, T::Array[String])))) }
401
+ attr_accessor :account_tax_ids
402
+ # Number of days within which a customer must pay invoices generated by this subscription schedule. This value will be `null` for subscription schedules where `billing=charge_automatically`.
403
+ sig { returns(T.nilable(Integer)) }
404
+ attr_accessor :days_until_due
405
+ # The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.
406
+ sig {
407
+ returns(T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::InvoiceSettings::Issuer))
408
+ }
409
+ attr_accessor :issuer
410
+ sig {
411
+ params(account_tax_ids: T.nilable(T.nilable(T.any(String, T::Array[String]))), days_until_due: T.nilable(Integer), issuer: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::InvoiceSettings::Issuer)).void
412
+ }
413
+ def initialize(account_tax_ids: nil, days_until_due: nil, issuer: nil); end
414
+ end
415
+ class Item < Stripe::RequestParams
416
+ class BillingThresholds < Stripe::RequestParams
417
+ # 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))
418
+ sig { returns(Integer) }
419
+ attr_accessor :usage_gte
420
+ sig { params(usage_gte: Integer).void }
421
+ def initialize(usage_gte: nil); end
422
+ end
423
+ class Discount < Stripe::RequestParams
424
+ # ID of the coupon to create a new discount for.
425
+ sig { returns(T.nilable(String)) }
426
+ attr_accessor :coupon
427
+ # ID of an existing discount on the object (or one of its ancestors) to reuse.
428
+ sig { returns(T.nilable(String)) }
429
+ attr_accessor :discount
430
+ # ID of the promotion code to create a new discount for.
431
+ sig { returns(T.nilable(String)) }
432
+ attr_accessor :promotion_code
433
+ sig {
434
+ params(coupon: T.nilable(String), discount: T.nilable(String), promotion_code: T.nilable(String)).void
435
+ }
436
+ def initialize(coupon: nil, discount: nil, promotion_code: nil); end
437
+ end
438
+ class PriceData < Stripe::RequestParams
439
+ class Recurring < Stripe::RequestParams
440
+ # Specifies billing frequency. Either `day`, `week`, `month` or `year`.
441
+ sig { returns(String) }
442
+ attr_accessor :interval
443
+ # The number of intervals between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of three years interval allowed (3 years, 36 months, or 156 weeks).
444
+ sig { returns(T.nilable(Integer)) }
445
+ attr_accessor :interval_count
446
+ sig { params(interval: String, interval_count: T.nilable(Integer)).void }
447
+ def initialize(interval: nil, interval_count: nil); end
448
+ end
449
+ # 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).
450
+ sig { returns(String) }
451
+ attr_accessor :currency
452
+ # The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to.
453
+ sig { returns(String) }
454
+ attr_accessor :product
455
+ # The recurring components of a price such as `interval` and `interval_count`.
456
+ sig {
457
+ returns(::Stripe::SubscriptionScheduleService::CreateParams::Phase::Item::PriceData::Recurring)
458
+ }
459
+ attr_accessor :recurring
460
+ # Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed.
461
+ sig { returns(T.nilable(String)) }
462
+ attr_accessor :tax_behavior
463
+ # A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge.
464
+ sig { returns(T.nilable(Integer)) }
465
+ attr_accessor :unit_amount
466
+ # Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set.
467
+ sig { returns(T.nilable(String)) }
468
+ attr_accessor :unit_amount_decimal
469
+ sig {
470
+ params(currency: String, product: String, recurring: ::Stripe::SubscriptionScheduleService::CreateParams::Phase::Item::PriceData::Recurring, tax_behavior: T.nilable(String), unit_amount: T.nilable(Integer), unit_amount_decimal: T.nilable(String)).void
471
+ }
472
+ def initialize(
473
+ currency: nil,
474
+ product: nil,
475
+ recurring: nil,
476
+ tax_behavior: nil,
477
+ unit_amount: nil,
478
+ unit_amount_decimal: nil
479
+ ); end
480
+ end
481
+ # 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.
482
+ sig {
483
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::SubscriptionScheduleService::CreateParams::Phase::Item::BillingThresholds))))
484
+ }
485
+ attr_accessor :billing_thresholds
486
+ # The coupons to redeem into discounts for the subscription item.
487
+ sig {
488
+ returns(T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SubscriptionScheduleService::CreateParams::Phase::Item::Discount]))))
489
+ }
490
+ attr_accessor :discounts
491
+ # 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`.
492
+ sig { returns(T.nilable(T::Hash[String, String])) }
493
+ attr_accessor :metadata
494
+ # The plan ID to subscribe to. You may specify the same ID in `plan` and `price`.
495
+ sig { returns(T.nilable(String)) }
496
+ attr_accessor :plan
497
+ # The ID of the price object.
498
+ sig { returns(T.nilable(String)) }
499
+ attr_accessor :price
500
+ # Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline.
501
+ sig {
502
+ returns(T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::Item::PriceData))
503
+ }
504
+ attr_accessor :price_data
505
+ # Quantity for the given price. Can be set only if the price's `usage_type` is `licensed` and not `metered`.
506
+ sig { returns(T.nilable(Integer)) }
507
+ attr_accessor :quantity
508
+ # 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.
509
+ sig { returns(T.nilable(T.nilable(T.any(String, T::Array[String])))) }
510
+ attr_accessor :tax_rates
511
+ sig {
512
+ params(billing_thresholds: T.nilable(T.nilable(T.any(String, ::Stripe::SubscriptionScheduleService::CreateParams::Phase::Item::BillingThresholds))), discounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SubscriptionScheduleService::CreateParams::Phase::Item::Discount]))), metadata: T.nilable(T::Hash[String, String]), plan: T.nilable(String), price: T.nilable(String), price_data: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::Item::PriceData), quantity: T.nilable(Integer), tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String])))).void
513
+ }
514
+ def initialize(
515
+ billing_thresholds: nil,
516
+ discounts: nil,
517
+ metadata: nil,
518
+ plan: nil,
519
+ price: nil,
520
+ price_data: nil,
521
+ quantity: nil,
522
+ tax_rates: nil
523
+ ); end
524
+ end
525
+ class TransferData < Stripe::RequestParams
526
+ # A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount is transferred to the destination.
527
+ sig { returns(T.nilable(Float)) }
528
+ attr_accessor :amount_percent
529
+ # ID of an existing, connected Stripe account.
530
+ sig { returns(String) }
531
+ attr_accessor :destination
532
+ sig { params(amount_percent: T.nilable(Float), destination: String).void }
533
+ def initialize(amount_percent: nil, destination: nil); end
534
+ end
535
+ # 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.
536
+ sig {
537
+ returns(T.nilable(T::Array[::Stripe::SubscriptionScheduleService::CreateParams::Phase::AddInvoiceItem]))
538
+ }
539
+ attr_accessor :add_invoice_items
540
+ # 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).
541
+ sig { returns(T.nilable(Float)) }
542
+ attr_accessor :application_fee_percent
543
+ # Automatic tax settings for this phase.
544
+ sig {
545
+ returns(T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::AutomaticTax))
546
+ }
547
+ attr_accessor :automatic_tax
548
+ # 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).
549
+ sig { returns(T.nilable(String)) }
550
+ attr_accessor :billing_cycle_anchor
551
+ # 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.
552
+ sig {
553
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::SubscriptionScheduleService::CreateParams::Phase::BillingThresholds))))
554
+ }
555
+ attr_accessor :billing_thresholds
556
+ # 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.
557
+ sig { returns(T.nilable(String)) }
558
+ attr_accessor :collection_method
559
+ # 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).
560
+ sig { returns(T.nilable(String)) }
561
+ attr_accessor :currency
562
+ # ID of the default payment method for the subscription schedule. It must belong to the customer associated with the subscription schedule. If not set, invoices will use the default payment method in the customer's invoice settings.
563
+ sig { returns(T.nilable(String)) }
564
+ attr_accessor :default_payment_method
565
+ # A list of [Tax Rate](https://stripe.com/docs/api/tax_rates) ids. These Tax Rates will set the Subscription's [`default_tax_rates`](https://stripe.com/docs/api/subscriptions/create#create_subscription-default_tax_rates), which means they will be the Invoice's [`default_tax_rates`](https://stripe.com/docs/api/invoices/create#create_invoice-default_tax_rates) for any Invoices issued by the Subscription during this Phase.
566
+ sig { returns(T.nilable(T.nilable(T.any(String, T::Array[String])))) }
567
+ attr_accessor :default_tax_rates
568
+ # Subscription description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs.
569
+ sig { returns(T.nilable(T.nilable(String))) }
570
+ attr_accessor :description
571
+ # The coupons to redeem into discounts for the schedule phase. If not specified, inherits the discount from the subscription's customer. Pass an empty string to avoid inheriting any discounts.
572
+ sig {
573
+ returns(T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SubscriptionScheduleService::CreateParams::Phase::Discount]))))
574
+ }
575
+ attr_accessor :discounts
576
+ # The date at which this phase of the subscription schedule ends. If set, `iterations` must not be set.
577
+ sig { returns(T.nilable(Integer)) }
578
+ attr_accessor :end_date
579
+ # All invoices will be billed using the specified settings.
580
+ sig {
581
+ returns(T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::InvoiceSettings))
582
+ }
583
+ attr_accessor :invoice_settings
584
+ # List of configuration items, each with an attached price, to apply during this phase of the subscription schedule.
585
+ sig { returns(T::Array[::Stripe::SubscriptionScheduleService::CreateParams::Phase::Item]) }
586
+ attr_accessor :items
587
+ # Integer representing the multiplier applied to the price interval. For example, `iterations=2` applied to a price with `interval=month` and `interval_count=3` results in a phase of duration `2 * 3 months = 6 months`. If set, `end_date` must not be set.
588
+ sig { returns(T.nilable(Integer)) }
589
+ attr_accessor :iterations
590
+ # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to a phase. Metadata on a schedule's phase will update the underlying subscription's `metadata` when the phase is entered, adding new keys and replacing existing keys in the subscription's `metadata`. Individual keys in the subscription's `metadata` can be unset by posting an empty value to them in the phase's `metadata`. To unset all keys in the subscription's `metadata`, update the subscription directly or unset every key individually from the phase's `metadata`.
591
+ sig { returns(T.nilable(T::Hash[String, String])) }
592
+ attr_accessor :metadata
593
+ # The account on behalf of which to charge, for each of the associated subscription's invoices.
594
+ sig { returns(T.nilable(String)) }
595
+ attr_accessor :on_behalf_of
596
+ # 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.
597
+ sig { returns(T.nilable(String)) }
598
+ attr_accessor :proration_behavior
599
+ # The data with which to automatically create a Transfer for each of the associated subscription's invoices.
600
+ sig {
601
+ returns(T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::TransferData))
602
+ }
603
+ attr_accessor :transfer_data
604
+ # If set to true the entire phase is counted as a trial and the customer will not be charged for any fees.
605
+ sig { returns(T.nilable(T::Boolean)) }
606
+ attr_accessor :trial
607
+ # 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`
608
+ sig { returns(T.nilable(Integer)) }
609
+ attr_accessor :trial_end
610
+ sig {
611
+ params(add_invoice_items: T.nilable(T::Array[::Stripe::SubscriptionScheduleService::CreateParams::Phase::AddInvoiceItem]), application_fee_percent: T.nilable(Float), automatic_tax: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::AutomaticTax), billing_cycle_anchor: T.nilable(String), billing_thresholds: T.nilable(T.nilable(T.any(String, ::Stripe::SubscriptionScheduleService::CreateParams::Phase::BillingThresholds))), collection_method: T.nilable(String), currency: T.nilable(String), default_payment_method: T.nilable(String), default_tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String]))), description: T.nilable(T.nilable(String)), discounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SubscriptionScheduleService::CreateParams::Phase::Discount]))), end_date: T.nilable(Integer), invoice_settings: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::InvoiceSettings), items: T::Array[::Stripe::SubscriptionScheduleService::CreateParams::Phase::Item], iterations: T.nilable(Integer), metadata: T.nilable(T::Hash[String, String]), on_behalf_of: T.nilable(String), proration_behavior: T.nilable(String), transfer_data: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::TransferData), trial: T.nilable(T::Boolean), trial_end: T.nilable(Integer)).void
612
+ }
613
+ def initialize(
614
+ add_invoice_items: nil,
615
+ application_fee_percent: nil,
616
+ automatic_tax: nil,
617
+ billing_cycle_anchor: nil,
618
+ billing_thresholds: nil,
619
+ collection_method: nil,
620
+ currency: nil,
621
+ default_payment_method: nil,
622
+ default_tax_rates: nil,
623
+ description: nil,
624
+ discounts: nil,
625
+ end_date: nil,
626
+ invoice_settings: nil,
627
+ items: nil,
628
+ iterations: nil,
629
+ metadata: nil,
630
+ on_behalf_of: nil,
631
+ proration_behavior: nil,
632
+ transfer_data: nil,
633
+ trial: nil,
634
+ trial_end: nil
635
+ ); end
636
+ end
637
+ # The identifier of the customer to create the subscription schedule for.
638
+ sig { returns(T.nilable(String)) }
639
+ attr_accessor :customer
640
+ # Object representing the subscription schedule's default settings.
641
+ sig {
642
+ returns(T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::DefaultSettings))
643
+ }
644
+ attr_accessor :default_settings
645
+ # 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.
646
+ sig { returns(T.nilable(String)) }
647
+ attr_accessor :end_behavior
648
+ # Specifies which fields in the response should be expanded.
649
+ sig { returns(T.nilable(T::Array[String])) }
650
+ attr_accessor :expand
651
+ # Migrate an existing subscription to be managed by a subscription schedule. If this parameter is set, a subscription schedule will be created using the subscription's item(s), set to auto-renew using the subscription's interval. When using this parameter, other parameters (such as phase values) cannot be set. To create a subscription schedule with other modifications, we recommend making two separate API calls.
652
+ sig { returns(T.nilable(String)) }
653
+ attr_accessor :from_subscription
654
+ # 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`.
655
+ sig { returns(T.nilable(T.nilable(T.any(String, T::Hash[String, String])))) }
656
+ attr_accessor :metadata
657
+ # 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.
658
+ sig {
659
+ returns(T.nilable(T::Array[::Stripe::SubscriptionScheduleService::CreateParams::Phase]))
660
+ }
661
+ attr_accessor :phases
662
+ # When the subscription schedule starts. We recommend using `now` so that it starts the subscription immediately. You can also use a Unix timestamp to backdate the subscription so that it starts on a past date, or set a future date for the subscription to start on.
663
+ sig { returns(T.nilable(T.any(Integer, String))) }
664
+ attr_accessor :start_date
665
+ sig {
666
+ params(customer: T.nilable(String), default_settings: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::DefaultSettings), end_behavior: T.nilable(String), expand: T.nilable(T::Array[String]), from_subscription: T.nilable(String), metadata: T.nilable(T.nilable(T.any(String, T::Hash[String, String]))), phases: T.nilable(T::Array[::Stripe::SubscriptionScheduleService::CreateParams::Phase]), start_date: T.nilable(T.any(Integer, String))).void
667
+ }
668
+ def initialize(
669
+ customer: nil,
670
+ default_settings: nil,
671
+ end_behavior: nil,
672
+ expand: nil,
673
+ from_subscription: nil,
674
+ metadata: nil,
675
+ phases: nil,
676
+ start_date: nil
677
+ ); end
678
+ end
679
+ class RetrieveParams < Stripe::RequestParams
680
+ # Specifies which fields in the response should be expanded.
681
+ sig { returns(T.nilable(T::Array[String])) }
682
+ attr_accessor :expand
683
+ sig { params(expand: T.nilable(T::Array[String])).void }
684
+ def initialize(expand: nil); end
685
+ end
686
+ class UpdateParams < Stripe::RequestParams
687
+ class DefaultSettings < Stripe::RequestParams
688
+ class AutomaticTax < Stripe::RequestParams
689
+ class Liability < Stripe::RequestParams
690
+ # The connected account being referenced when `type` is `account`.
691
+ sig { returns(T.nilable(String)) }
692
+ attr_accessor :account
693
+ # Type of the account referenced in the request.
694
+ sig { returns(String) }
695
+ attr_accessor :type
696
+ sig { params(account: T.nilable(String), type: String).void }
697
+ def initialize(account: nil, type: nil); end
698
+ end
699
+ # Enabled automatic tax calculation which will automatically compute tax rates on all invoices generated by the subscription.
700
+ sig { returns(T::Boolean) }
701
+ attr_accessor :enabled
702
+ # The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account.
703
+ sig {
704
+ returns(T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::DefaultSettings::AutomaticTax::Liability))
705
+ }
706
+ attr_accessor :liability
707
+ sig {
708
+ params(enabled: T::Boolean, liability: T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::DefaultSettings::AutomaticTax::Liability)).void
709
+ }
710
+ def initialize(enabled: nil, liability: nil); end
711
+ end
712
+ class BillingThresholds < Stripe::RequestParams
713
+ # Monetary threshold that triggers the subscription to advance to a new billing period
714
+ sig { returns(T.nilable(Integer)) }
715
+ attr_accessor :amount_gte
716
+ # 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.
717
+ sig { returns(T.nilable(T::Boolean)) }
718
+ attr_accessor :reset_billing_cycle_anchor
719
+ sig {
720
+ params(amount_gte: T.nilable(Integer), reset_billing_cycle_anchor: T.nilable(T::Boolean)).void
721
+ }
722
+ def initialize(amount_gte: nil, reset_billing_cycle_anchor: nil); end
723
+ end
724
+ class InvoiceSettings < Stripe::RequestParams
725
+ class Issuer < Stripe::RequestParams
726
+ # The connected account being referenced when `type` is `account`.
727
+ sig { returns(T.nilable(String)) }
728
+ attr_accessor :account
729
+ # Type of the account referenced in the request.
730
+ sig { returns(String) }
731
+ attr_accessor :type
732
+ sig { params(account: T.nilable(String), type: String).void }
733
+ def initialize(account: nil, type: nil); end
734
+ end
735
+ # The account tax IDs associated with the subscription schedule. Will be set on invoices generated by the subscription schedule.
736
+ sig { returns(T.nilable(T.nilable(T.any(String, T::Array[String])))) }
737
+ attr_accessor :account_tax_ids
738
+ # Number of days within which a customer must pay invoices generated by this subscription schedule. This value will be `null` for subscription schedules where `collection_method=charge_automatically`.
739
+ sig { returns(T.nilable(Integer)) }
740
+ attr_accessor :days_until_due
741
+ # The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.
742
+ sig {
743
+ returns(T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::DefaultSettings::InvoiceSettings::Issuer))
744
+ }
745
+ attr_accessor :issuer
746
+ sig {
747
+ params(account_tax_ids: T.nilable(T.nilable(T.any(String, T::Array[String]))), days_until_due: T.nilable(Integer), issuer: T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::DefaultSettings::InvoiceSettings::Issuer)).void
748
+ }
749
+ def initialize(account_tax_ids: nil, days_until_due: nil, issuer: nil); end
750
+ end
751
+ class TransferData < Stripe::RequestParams
752
+ # A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount is transferred to the destination.
753
+ sig { returns(T.nilable(Float)) }
754
+ attr_accessor :amount_percent
755
+ # ID of an existing, connected Stripe account.
756
+ sig { returns(String) }
757
+ attr_accessor :destination
758
+ sig { params(amount_percent: T.nilable(Float), destination: String).void }
759
+ def initialize(amount_percent: nil, destination: nil); end
760
+ end
761
+ # 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).
762
+ sig { returns(T.nilable(Float)) }
763
+ attr_accessor :application_fee_percent
764
+ # Default settings for automatic tax computation.
765
+ sig {
766
+ returns(T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::DefaultSettings::AutomaticTax))
767
+ }
768
+ attr_accessor :automatic_tax
769
+ # 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).
770
+ sig { returns(T.nilable(String)) }
771
+ attr_accessor :billing_cycle_anchor
772
+ # 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.
773
+ sig {
774
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::SubscriptionScheduleService::UpdateParams::DefaultSettings::BillingThresholds))))
775
+ }
776
+ attr_accessor :billing_thresholds
777
+ # 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.
778
+ sig { returns(T.nilable(String)) }
779
+ attr_accessor :collection_method
780
+ # ID of the default payment method for the subscription schedule. It must belong to the customer associated with the subscription schedule. If not set, invoices will use the default payment method in the customer's invoice settings.
781
+ sig { returns(T.nilable(String)) }
782
+ attr_accessor :default_payment_method
783
+ # Subscription description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs.
784
+ sig { returns(T.nilable(T.nilable(String))) }
785
+ attr_accessor :description
786
+ # All invoices will be billed using the specified settings.
787
+ sig {
788
+ returns(T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::DefaultSettings::InvoiceSettings))
789
+ }
790
+ attr_accessor :invoice_settings
791
+ # The account on behalf of which to charge, for each of the associated subscription's invoices.
792
+ sig { returns(T.nilable(T.nilable(String))) }
793
+ attr_accessor :on_behalf_of
794
+ # The data with which to automatically create a Transfer for each of the associated subscription's invoices.
795
+ sig {
796
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::SubscriptionScheduleService::UpdateParams::DefaultSettings::TransferData))))
797
+ }
798
+ attr_accessor :transfer_data
799
+ sig {
800
+ params(application_fee_percent: T.nilable(Float), automatic_tax: T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::DefaultSettings::AutomaticTax), billing_cycle_anchor: T.nilable(String), billing_thresholds: T.nilable(T.nilable(T.any(String, ::Stripe::SubscriptionScheduleService::UpdateParams::DefaultSettings::BillingThresholds))), collection_method: T.nilable(String), default_payment_method: T.nilable(String), description: T.nilable(T.nilable(String)), invoice_settings: T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::DefaultSettings::InvoiceSettings), on_behalf_of: T.nilable(T.nilable(String)), transfer_data: T.nilable(T.nilable(T.any(String, ::Stripe::SubscriptionScheduleService::UpdateParams::DefaultSettings::TransferData)))).void
801
+ }
802
+ def initialize(
803
+ application_fee_percent: nil,
804
+ automatic_tax: nil,
805
+ billing_cycle_anchor: nil,
806
+ billing_thresholds: nil,
807
+ collection_method: nil,
808
+ default_payment_method: nil,
809
+ description: nil,
810
+ invoice_settings: nil,
811
+ on_behalf_of: nil,
812
+ transfer_data: nil
813
+ ); end
814
+ end
815
+ class Phase < Stripe::RequestParams
816
+ class AddInvoiceItem < Stripe::RequestParams
817
+ class Discount < Stripe::RequestParams
818
+ # ID of the coupon to create a new discount for.
819
+ sig { returns(T.nilable(String)) }
820
+ attr_accessor :coupon
821
+ # ID of an existing discount on the object (or one of its ancestors) to reuse.
822
+ sig { returns(T.nilable(String)) }
823
+ attr_accessor :discount
824
+ # ID of the promotion code to create a new discount for.
825
+ sig { returns(T.nilable(String)) }
826
+ attr_accessor :promotion_code
827
+ sig {
828
+ params(coupon: T.nilable(String), discount: T.nilable(String), promotion_code: T.nilable(String)).void
829
+ }
830
+ def initialize(coupon: nil, discount: nil, promotion_code: nil); end
831
+ end
832
+ class PriceData < Stripe::RequestParams
833
+ # 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).
834
+ sig { returns(String) }
835
+ attr_accessor :currency
836
+ # The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to.
837
+ sig { returns(String) }
838
+ attr_accessor :product
839
+ # Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed.
840
+ sig { returns(T.nilable(String)) }
841
+ attr_accessor :tax_behavior
842
+ # A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge or a negative integer representing the amount to credit to the customer.
843
+ sig { returns(T.nilable(Integer)) }
844
+ attr_accessor :unit_amount
845
+ # Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set.
846
+ sig { returns(T.nilable(String)) }
847
+ attr_accessor :unit_amount_decimal
848
+ sig {
849
+ params(currency: String, product: String, tax_behavior: T.nilable(String), unit_amount: T.nilable(Integer), unit_amount_decimal: T.nilable(String)).void
850
+ }
851
+ def initialize(
852
+ currency: nil,
853
+ product: nil,
854
+ tax_behavior: nil,
855
+ unit_amount: nil,
856
+ unit_amount_decimal: nil
857
+ ); end
858
+ end
859
+ # The coupons to redeem into discounts for the item.
860
+ sig {
861
+ returns(T.nilable(T::Array[::Stripe::SubscriptionScheduleService::UpdateParams::Phase::AddInvoiceItem::Discount]))
862
+ }
863
+ attr_accessor :discounts
864
+ # The ID of the price object. One of `price` or `price_data` is required.
865
+ sig { returns(T.nilable(String)) }
866
+ attr_accessor :price
867
+ # Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required.
868
+ sig {
869
+ returns(T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::AddInvoiceItem::PriceData))
870
+ }
871
+ attr_accessor :price_data
872
+ # Quantity for this item. Defaults to 1.
873
+ sig { returns(T.nilable(Integer)) }
874
+ attr_accessor :quantity
875
+ # The tax rates which apply to the item. When set, the `default_tax_rates` do not apply to this item.
876
+ sig { returns(T.nilable(T.nilable(T.any(String, T::Array[String])))) }
877
+ attr_accessor :tax_rates
878
+ sig {
879
+ params(discounts: T.nilable(T::Array[::Stripe::SubscriptionScheduleService::UpdateParams::Phase::AddInvoiceItem::Discount]), price: T.nilable(String), price_data: T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::AddInvoiceItem::PriceData), quantity: T.nilable(Integer), tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String])))).void
880
+ }
881
+ def initialize(
882
+ discounts: nil,
883
+ price: nil,
884
+ price_data: nil,
885
+ quantity: nil,
886
+ tax_rates: nil
887
+ ); end
888
+ end
889
+ class AutomaticTax < Stripe::RequestParams
890
+ class Liability < Stripe::RequestParams
891
+ # The connected account being referenced when `type` is `account`.
892
+ sig { returns(T.nilable(String)) }
893
+ attr_accessor :account
894
+ # Type of the account referenced in the request.
895
+ sig { returns(String) }
896
+ attr_accessor :type
897
+ sig { params(account: T.nilable(String), type: String).void }
898
+ def initialize(account: nil, type: nil); end
899
+ end
900
+ # Enabled automatic tax calculation which will automatically compute tax rates on all invoices generated by the subscription.
901
+ sig { returns(T::Boolean) }
902
+ attr_accessor :enabled
903
+ # The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account.
904
+ sig {
905
+ returns(T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::AutomaticTax::Liability))
906
+ }
907
+ attr_accessor :liability
908
+ sig {
909
+ params(enabled: T::Boolean, liability: T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::AutomaticTax::Liability)).void
910
+ }
911
+ def initialize(enabled: nil, liability: nil); end
912
+ end
913
+ class BillingThresholds < Stripe::RequestParams
914
+ # Monetary threshold that triggers the subscription to advance to a new billing period
915
+ sig { returns(T.nilable(Integer)) }
916
+ attr_accessor :amount_gte
917
+ # 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.
918
+ sig { returns(T.nilable(T::Boolean)) }
919
+ attr_accessor :reset_billing_cycle_anchor
920
+ sig {
921
+ params(amount_gte: T.nilable(Integer), reset_billing_cycle_anchor: T.nilable(T::Boolean)).void
922
+ }
923
+ def initialize(amount_gte: nil, reset_billing_cycle_anchor: nil); end
924
+ end
925
+ class Discount < Stripe::RequestParams
926
+ # ID of the coupon to create a new discount for.
927
+ sig { returns(T.nilable(String)) }
928
+ attr_accessor :coupon
929
+ # ID of an existing discount on the object (or one of its ancestors) to reuse.
930
+ sig { returns(T.nilable(String)) }
931
+ attr_accessor :discount
932
+ # ID of the promotion code to create a new discount for.
933
+ sig { returns(T.nilable(String)) }
934
+ attr_accessor :promotion_code
935
+ sig {
936
+ params(coupon: T.nilable(String), discount: T.nilable(String), promotion_code: T.nilable(String)).void
937
+ }
938
+ def initialize(coupon: nil, discount: nil, promotion_code: nil); end
939
+ end
940
+ class InvoiceSettings < Stripe::RequestParams
941
+ class Issuer < Stripe::RequestParams
942
+ # The connected account being referenced when `type` is `account`.
943
+ sig { returns(T.nilable(String)) }
944
+ attr_accessor :account
945
+ # Type of the account referenced in the request.
946
+ sig { returns(String) }
947
+ attr_accessor :type
948
+ sig { params(account: T.nilable(String), type: String).void }
949
+ def initialize(account: nil, type: nil); end
950
+ end
951
+ # The account tax IDs associated with this phase of the subscription schedule. Will be set on invoices generated by this phase of the subscription schedule.
952
+ sig { returns(T.nilable(T.nilable(T.any(String, T::Array[String])))) }
953
+ attr_accessor :account_tax_ids
954
+ # Number of days within which a customer must pay invoices generated by this subscription schedule. This value will be `null` for subscription schedules where `billing=charge_automatically`.
955
+ sig { returns(T.nilable(Integer)) }
956
+ attr_accessor :days_until_due
957
+ # The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.
958
+ sig {
959
+ returns(T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::InvoiceSettings::Issuer))
960
+ }
961
+ attr_accessor :issuer
962
+ sig {
963
+ params(account_tax_ids: T.nilable(T.nilable(T.any(String, T::Array[String]))), days_until_due: T.nilable(Integer), issuer: T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::InvoiceSettings::Issuer)).void
964
+ }
965
+ def initialize(account_tax_ids: nil, days_until_due: nil, issuer: nil); end
966
+ end
967
+ class Item < Stripe::RequestParams
968
+ class BillingThresholds < Stripe::RequestParams
969
+ # 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))
970
+ sig { returns(Integer) }
971
+ attr_accessor :usage_gte
972
+ sig { params(usage_gte: Integer).void }
973
+ def initialize(usage_gte: nil); end
974
+ end
975
+ class Discount < Stripe::RequestParams
976
+ # ID of the coupon to create a new discount for.
977
+ sig { returns(T.nilable(String)) }
978
+ attr_accessor :coupon
979
+ # ID of an existing discount on the object (or one of its ancestors) to reuse.
980
+ sig { returns(T.nilable(String)) }
981
+ attr_accessor :discount
982
+ # ID of the promotion code to create a new discount for.
983
+ sig { returns(T.nilable(String)) }
984
+ attr_accessor :promotion_code
985
+ sig {
986
+ params(coupon: T.nilable(String), discount: T.nilable(String), promotion_code: T.nilable(String)).void
987
+ }
988
+ def initialize(coupon: nil, discount: nil, promotion_code: nil); end
989
+ end
990
+ class PriceData < Stripe::RequestParams
991
+ class Recurring < Stripe::RequestParams
992
+ # Specifies billing frequency. Either `day`, `week`, `month` or `year`.
993
+ sig { returns(String) }
994
+ attr_accessor :interval
995
+ # The number of intervals between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of three years interval allowed (3 years, 36 months, or 156 weeks).
996
+ sig { returns(T.nilable(Integer)) }
997
+ attr_accessor :interval_count
998
+ sig { params(interval: String, interval_count: T.nilable(Integer)).void }
999
+ def initialize(interval: nil, interval_count: nil); end
1000
+ end
1001
+ # 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).
1002
+ sig { returns(String) }
1003
+ attr_accessor :currency
1004
+ # The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to.
1005
+ sig { returns(String) }
1006
+ attr_accessor :product
1007
+ # The recurring components of a price such as `interval` and `interval_count`.
1008
+ sig {
1009
+ returns(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::Item::PriceData::Recurring)
1010
+ }
1011
+ attr_accessor :recurring
1012
+ # Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed.
1013
+ sig { returns(T.nilable(String)) }
1014
+ attr_accessor :tax_behavior
1015
+ # A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge.
1016
+ sig { returns(T.nilable(Integer)) }
1017
+ attr_accessor :unit_amount
1018
+ # Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set.
1019
+ sig { returns(T.nilable(String)) }
1020
+ attr_accessor :unit_amount_decimal
1021
+ sig {
1022
+ params(currency: String, product: String, recurring: ::Stripe::SubscriptionScheduleService::UpdateParams::Phase::Item::PriceData::Recurring, tax_behavior: T.nilable(String), unit_amount: T.nilable(Integer), unit_amount_decimal: T.nilable(String)).void
1023
+ }
1024
+ def initialize(
1025
+ currency: nil,
1026
+ product: nil,
1027
+ recurring: nil,
1028
+ tax_behavior: nil,
1029
+ unit_amount: nil,
1030
+ unit_amount_decimal: nil
1031
+ ); end
1032
+ end
1033
+ # 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.
1034
+ sig {
1035
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::SubscriptionScheduleService::UpdateParams::Phase::Item::BillingThresholds))))
1036
+ }
1037
+ attr_accessor :billing_thresholds
1038
+ # The coupons to redeem into discounts for the subscription item.
1039
+ sig {
1040
+ returns(T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SubscriptionScheduleService::UpdateParams::Phase::Item::Discount]))))
1041
+ }
1042
+ attr_accessor :discounts
1043
+ # 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`.
1044
+ sig { returns(T.nilable(T::Hash[String, String])) }
1045
+ attr_accessor :metadata
1046
+ # The plan ID to subscribe to. You may specify the same ID in `plan` and `price`.
1047
+ sig { returns(T.nilable(String)) }
1048
+ attr_accessor :plan
1049
+ # The ID of the price object.
1050
+ sig { returns(T.nilable(String)) }
1051
+ attr_accessor :price
1052
+ # Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline.
1053
+ sig {
1054
+ returns(T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::Item::PriceData))
1055
+ }
1056
+ attr_accessor :price_data
1057
+ # Quantity for the given price. Can be set only if the price's `usage_type` is `licensed` and not `metered`.
1058
+ sig { returns(T.nilable(Integer)) }
1059
+ attr_accessor :quantity
1060
+ # 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.
1061
+ sig { returns(T.nilable(T.nilable(T.any(String, T::Array[String])))) }
1062
+ attr_accessor :tax_rates
1063
+ sig {
1064
+ params(billing_thresholds: T.nilable(T.nilable(T.any(String, ::Stripe::SubscriptionScheduleService::UpdateParams::Phase::Item::BillingThresholds))), discounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SubscriptionScheduleService::UpdateParams::Phase::Item::Discount]))), metadata: T.nilable(T::Hash[String, String]), plan: T.nilable(String), price: T.nilable(String), price_data: T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::Item::PriceData), quantity: T.nilable(Integer), tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String])))).void
1065
+ }
1066
+ def initialize(
1067
+ billing_thresholds: nil,
1068
+ discounts: nil,
1069
+ metadata: nil,
1070
+ plan: nil,
1071
+ price: nil,
1072
+ price_data: nil,
1073
+ quantity: nil,
1074
+ tax_rates: nil
1075
+ ); end
1076
+ end
1077
+ class TransferData < Stripe::RequestParams
1078
+ # A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount is transferred to the destination.
1079
+ sig { returns(T.nilable(Float)) }
1080
+ attr_accessor :amount_percent
1081
+ # ID of an existing, connected Stripe account.
1082
+ sig { returns(String) }
1083
+ attr_accessor :destination
1084
+ sig { params(amount_percent: T.nilable(Float), destination: String).void }
1085
+ def initialize(amount_percent: nil, destination: nil); end
1086
+ end
1087
+ # 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.
1088
+ sig {
1089
+ returns(T.nilable(T::Array[::Stripe::SubscriptionScheduleService::UpdateParams::Phase::AddInvoiceItem]))
1090
+ }
1091
+ attr_accessor :add_invoice_items
1092
+ # 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).
1093
+ sig { returns(T.nilable(Float)) }
1094
+ attr_accessor :application_fee_percent
1095
+ # Automatic tax settings for this phase.
1096
+ sig {
1097
+ returns(T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::AutomaticTax))
1098
+ }
1099
+ attr_accessor :automatic_tax
1100
+ # 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).
1101
+ sig { returns(T.nilable(String)) }
1102
+ attr_accessor :billing_cycle_anchor
1103
+ # 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.
1104
+ sig {
1105
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::SubscriptionScheduleService::UpdateParams::Phase::BillingThresholds))))
1106
+ }
1107
+ attr_accessor :billing_thresholds
1108
+ # 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.
1109
+ sig { returns(T.nilable(String)) }
1110
+ attr_accessor :collection_method
1111
+ # 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).
1112
+ sig { returns(T.nilable(String)) }
1113
+ attr_accessor :currency
1114
+ # ID of the default payment method for the subscription schedule. It must belong to the customer associated with the subscription schedule. If not set, invoices will use the default payment method in the customer's invoice settings.
1115
+ sig { returns(T.nilable(String)) }
1116
+ attr_accessor :default_payment_method
1117
+ # A list of [Tax Rate](https://stripe.com/docs/api/tax_rates) ids. These Tax Rates will set the Subscription's [`default_tax_rates`](https://stripe.com/docs/api/subscriptions/create#create_subscription-default_tax_rates), which means they will be the Invoice's [`default_tax_rates`](https://stripe.com/docs/api/invoices/create#create_invoice-default_tax_rates) for any Invoices issued by the Subscription during this Phase.
1118
+ sig { returns(T.nilable(T.nilable(T.any(String, T::Array[String])))) }
1119
+ attr_accessor :default_tax_rates
1120
+ # Subscription description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs.
1121
+ sig { returns(T.nilable(T.nilable(String))) }
1122
+ attr_accessor :description
1123
+ # The coupons to redeem into discounts for the schedule phase. If not specified, inherits the discount from the subscription's customer. Pass an empty string to avoid inheriting any discounts.
1124
+ sig {
1125
+ returns(T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SubscriptionScheduleService::UpdateParams::Phase::Discount]))))
1126
+ }
1127
+ attr_accessor :discounts
1128
+ # The date at which this phase of the subscription schedule ends. If set, `iterations` must not be set.
1129
+ sig { returns(T.nilable(T.any(Integer, String))) }
1130
+ attr_accessor :end_date
1131
+ # All invoices will be billed using the specified settings.
1132
+ sig {
1133
+ returns(T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::InvoiceSettings))
1134
+ }
1135
+ attr_accessor :invoice_settings
1136
+ # List of configuration items, each with an attached price, to apply during this phase of the subscription schedule.
1137
+ sig { returns(T::Array[::Stripe::SubscriptionScheduleService::UpdateParams::Phase::Item]) }
1138
+ attr_accessor :items
1139
+ # Integer representing the multiplier applied to the price interval. For example, `iterations=2` applied to a price with `interval=month` and `interval_count=3` results in a phase of duration `2 * 3 months = 6 months`. If set, `end_date` must not be set.
1140
+ sig { returns(T.nilable(Integer)) }
1141
+ attr_accessor :iterations
1142
+ # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to a phase. Metadata on a schedule's phase will update the underlying subscription's `metadata` when the phase is entered, adding new keys and replacing existing keys in the subscription's `metadata`. Individual keys in the subscription's `metadata` can be unset by posting an empty value to them in the phase's `metadata`. To unset all keys in the subscription's `metadata`, update the subscription directly or unset every key individually from the phase's `metadata`.
1143
+ sig { returns(T.nilable(T::Hash[String, String])) }
1144
+ attr_accessor :metadata
1145
+ # The account on behalf of which to charge, for each of the associated subscription's invoices.
1146
+ sig { returns(T.nilable(String)) }
1147
+ attr_accessor :on_behalf_of
1148
+ # 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.
1149
+ sig { returns(T.nilable(String)) }
1150
+ attr_accessor :proration_behavior
1151
+ # The date at which this phase of the subscription schedule starts or `now`. Must be set on the first phase.
1152
+ sig { returns(T.nilable(T.any(Integer, String))) }
1153
+ attr_accessor :start_date
1154
+ # The data with which to automatically create a Transfer for each of the associated subscription's invoices.
1155
+ sig {
1156
+ returns(T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::TransferData))
1157
+ }
1158
+ attr_accessor :transfer_data
1159
+ # If set to true the entire phase is counted as a trial and the customer will not be charged for any fees.
1160
+ sig { returns(T.nilable(T::Boolean)) }
1161
+ attr_accessor :trial
1162
+ # 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`
1163
+ sig { returns(T.nilable(T.any(Integer, String))) }
1164
+ attr_accessor :trial_end
1165
+ sig {
1166
+ params(add_invoice_items: T.nilable(T::Array[::Stripe::SubscriptionScheduleService::UpdateParams::Phase::AddInvoiceItem]), application_fee_percent: T.nilable(Float), automatic_tax: T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::AutomaticTax), billing_cycle_anchor: T.nilable(String), billing_thresholds: T.nilable(T.nilable(T.any(String, ::Stripe::SubscriptionScheduleService::UpdateParams::Phase::BillingThresholds))), collection_method: T.nilable(String), currency: T.nilable(String), default_payment_method: T.nilable(String), default_tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String]))), description: T.nilable(T.nilable(String)), discounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SubscriptionScheduleService::UpdateParams::Phase::Discount]))), end_date: T.nilable(T.any(Integer, String)), invoice_settings: T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::InvoiceSettings), items: T::Array[::Stripe::SubscriptionScheduleService::UpdateParams::Phase::Item], iterations: T.nilable(Integer), metadata: T.nilable(T::Hash[String, String]), on_behalf_of: T.nilable(String), proration_behavior: T.nilable(String), start_date: T.nilable(T.any(Integer, String)), transfer_data: T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::TransferData), trial: T.nilable(T::Boolean), trial_end: T.nilable(T.any(Integer, String))).void
1167
+ }
1168
+ def initialize(
1169
+ add_invoice_items: nil,
1170
+ application_fee_percent: nil,
1171
+ automatic_tax: nil,
1172
+ billing_cycle_anchor: nil,
1173
+ billing_thresholds: nil,
1174
+ collection_method: nil,
1175
+ currency: nil,
1176
+ default_payment_method: nil,
1177
+ default_tax_rates: nil,
1178
+ description: nil,
1179
+ discounts: nil,
1180
+ end_date: nil,
1181
+ invoice_settings: nil,
1182
+ items: nil,
1183
+ iterations: nil,
1184
+ metadata: nil,
1185
+ on_behalf_of: nil,
1186
+ proration_behavior: nil,
1187
+ start_date: nil,
1188
+ transfer_data: nil,
1189
+ trial: nil,
1190
+ trial_end: nil
1191
+ ); end
1192
+ end
1193
+ # Object representing the subscription schedule's default settings.
1194
+ sig {
1195
+ returns(T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::DefaultSettings))
1196
+ }
1197
+ attr_accessor :default_settings
1198
+ # 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.
1199
+ sig { returns(T.nilable(String)) }
1200
+ attr_accessor :end_behavior
1201
+ # Specifies which fields in the response should be expanded.
1202
+ sig { returns(T.nilable(T::Array[String])) }
1203
+ attr_accessor :expand
1204
+ # 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`.
1205
+ sig { returns(T.nilable(T.nilable(T.any(String, T::Hash[String, String])))) }
1206
+ attr_accessor :metadata
1207
+ # 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. Note that past phases can be omitted.
1208
+ sig {
1209
+ returns(T.nilable(T::Array[::Stripe::SubscriptionScheduleService::UpdateParams::Phase]))
1210
+ }
1211
+ attr_accessor :phases
1212
+ # If the update changes the billing configuration (item price, quantity, etc.) of the current phase, indicates how prorations from this change should be handled. The default value is `create_prorations`.
1213
+ sig { returns(T.nilable(String)) }
1214
+ attr_accessor :proration_behavior
1215
+ sig {
1216
+ params(default_settings: T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::DefaultSettings), end_behavior: T.nilable(String), expand: T.nilable(T::Array[String]), metadata: T.nilable(T.nilable(T.any(String, T::Hash[String, String]))), phases: T.nilable(T::Array[::Stripe::SubscriptionScheduleService::UpdateParams::Phase]), proration_behavior: T.nilable(String)).void
1217
+ }
1218
+ def initialize(
1219
+ default_settings: nil,
1220
+ end_behavior: nil,
1221
+ expand: nil,
1222
+ metadata: nil,
1223
+ phases: nil,
1224
+ proration_behavior: nil
1225
+ ); end
1226
+ end
1227
+ class CancelParams < Stripe::RequestParams
1228
+ # Specifies which fields in the response should be expanded.
1229
+ sig { returns(T.nilable(T::Array[String])) }
1230
+ attr_accessor :expand
1231
+ # If the subscription schedule is `active`, indicates if a final invoice will be generated that contains any un-invoiced metered usage and new/pending proration invoice items. Defaults to `true`.
1232
+ sig { returns(T.nilable(T::Boolean)) }
1233
+ attr_accessor :invoice_now
1234
+ # If the subscription schedule is `active`, indicates if the cancellation should be prorated. Defaults to `true`.
1235
+ sig { returns(T.nilable(T::Boolean)) }
1236
+ attr_accessor :prorate
1237
+ sig {
1238
+ params(expand: T.nilable(T::Array[String]), invoice_now: T.nilable(T::Boolean), prorate: T.nilable(T::Boolean)).void
1239
+ }
1240
+ def initialize(expand: nil, invoice_now: nil, prorate: nil); end
1241
+ end
1242
+ class ReleaseParams < Stripe::RequestParams
1243
+ # Specifies which fields in the response should be expanded.
1244
+ sig { returns(T.nilable(T::Array[String])) }
1245
+ attr_accessor :expand
1246
+ # Keep any cancellation on the subscription that the schedule has set
1247
+ sig { returns(T.nilable(T::Boolean)) }
1248
+ attr_accessor :preserve_cancel_date
1249
+ sig {
1250
+ params(expand: T.nilable(T::Array[String]), preserve_cancel_date: T.nilable(T::Boolean)).void
1251
+ }
1252
+ def initialize(expand: nil, preserve_cancel_date: nil); end
1253
+ end
1254
+ # Cancels a subscription schedule and its associated subscription immediately (if the subscription schedule has an active subscription). A subscription schedule can only be canceled if its status is not_started or active.
1255
+ sig {
1256
+ params(schedule: String, params: T.any(::Stripe::SubscriptionScheduleService::CancelParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::SubscriptionSchedule)
1257
+ }
1258
+ def cancel(schedule, params = {}, opts = {}); end
1259
+
1260
+ # Creates a new subscription schedule object. Each customer can have up to 500 active or scheduled subscriptions.
1261
+ sig {
1262
+ params(params: T.any(::Stripe::SubscriptionScheduleService::CreateParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::SubscriptionSchedule)
1263
+ }
1264
+ def create(params = {}, opts = {}); end
1265
+
1266
+ # Retrieves the list of your subscription schedules.
1267
+ sig {
1268
+ params(params: T.any(::Stripe::SubscriptionScheduleService::ListParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::ListObject)
1269
+ }
1270
+ def list(params = {}, opts = {}); end
1271
+
1272
+ # Releases the subscription schedule immediately, which will stop scheduling of its phases, but leave any existing subscription in place. A schedule can only be released if its status is not_started or active. If the subscription schedule is currently associated with a subscription, releasing it will remove its subscription property and set the subscription's ID to the released_subscription property.
1273
+ sig {
1274
+ params(schedule: String, params: T.any(::Stripe::SubscriptionScheduleService::ReleaseParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::SubscriptionSchedule)
1275
+ }
1276
+ def release(schedule, params = {}, opts = {}); end
1277
+
1278
+ # Retrieves the details of an existing subscription schedule. You only need to supply the unique subscription schedule identifier that was returned upon subscription schedule creation.
1279
+ sig {
1280
+ params(schedule: String, params: T.any(::Stripe::SubscriptionScheduleService::RetrieveParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::SubscriptionSchedule)
1281
+ }
1282
+ def retrieve(schedule, params = {}, opts = {}); end
1283
+
1284
+ # Updates an existing subscription schedule.
1285
+ sig {
1286
+ params(schedule: String, params: T.any(::Stripe::SubscriptionScheduleService::UpdateParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::SubscriptionSchedule)
1287
+ }
1288
+ def update(schedule, params = {}, opts = {}); end
1289
+ end
1290
+ end