stripe 13.5.0 → 14.0.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 (641) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +33 -3
  3. data/Gemfile +4 -0
  4. data/OPENAPI_VERSION +1 -1
  5. data/README.md +29 -0
  6. data/VERSION +1 -1
  7. data/lib/stripe/api_operations/request.rb +1 -0
  8. data/lib/stripe/api_requestor.rb +3 -0
  9. data/lib/stripe/api_version.rb +1 -1
  10. data/lib/stripe/errors.rb +0 -7
  11. data/lib/stripe/object_types.rb +8 -2
  12. data/lib/stripe/request_params.rb +24 -0
  13. data/lib/stripe/resources/account.rb +4634 -0
  14. data/lib/stripe/resources/account_link.rb +54 -0
  15. data/lib/stripe/resources/account_session.rb +739 -0
  16. data/lib/stripe/resources/apple_pay_domain.rb +54 -0
  17. data/lib/stripe/resources/application.rb +20 -0
  18. data/lib/stripe/resources/application_fee.rb +87 -0
  19. data/lib/stripe/resources/application_fee_refund.rb +17 -0
  20. data/lib/stripe/resources/apps/secret.rb +141 -0
  21. data/lib/stripe/resources/balance.rb +122 -0
  22. data/lib/stripe/resources/balance_transaction.rb +103 -0
  23. data/lib/stripe/resources/bank_account.rb +84 -2
  24. data/lib/stripe/resources/billing/alert.rb +135 -0
  25. data/lib/stripe/resources/billing/alert_triggered.rb +26 -0
  26. data/lib/stripe/resources/billing/credit_balance_summary.rb +40 -0
  27. data/lib/stripe/resources/billing/credit_balance_transaction.rb +107 -0
  28. data/lib/stripe/resources/billing/credit_grant.rb +217 -0
  29. data/lib/stripe/resources/billing/meter.rb +169 -0
  30. data/lib/stripe/resources/billing/meter_event.rb +35 -0
  31. data/lib/stripe/resources/billing/meter_event_adjustment.rb +43 -0
  32. data/lib/stripe/resources/billing/meter_event_summary.rb +15 -0
  33. data/lib/stripe/resources/billing_portal/configuration.rb +553 -0
  34. data/lib/stripe/resources/billing_portal/session.rb +271 -0
  35. data/lib/stripe/resources/capability.rb +84 -0
  36. data/lib/stripe/resources/card.rb +77 -0
  37. data/lib/stripe/resources/cash_balance.rb +17 -0
  38. data/lib/stripe/resources/charge.rb +1612 -0
  39. data/lib/stripe/resources/checkout/session.rb +3530 -6
  40. data/lib/stripe/resources/climate/order.rb +167 -0
  41. data/lib/stripe/resources/climate/product.rb +47 -0
  42. data/lib/stripe/resources/climate/supplier.rb +45 -0
  43. data/lib/stripe/resources/confirmation_token.rb +1448 -0
  44. data/lib/stripe/resources/connect_collection_transfer.rb +24 -0
  45. data/lib/stripe/resources/country_spec.rb +54 -0
  46. data/lib/stripe/resources/coupon.rb +189 -0
  47. data/lib/stripe/resources/credit_note.rb +639 -0
  48. data/lib/stripe/resources/credit_note_line_item.rb +67 -0
  49. data/lib/stripe/resources/customer.rb +824 -0
  50. data/lib/stripe/resources/customer_balance_transaction.rb +29 -0
  51. data/lib/stripe/resources/customer_cash_balance_transaction.rb +109 -0
  52. data/lib/stripe/resources/customer_session.rb +159 -0
  53. data/lib/stripe/resources/discount.rb +29 -0
  54. data/lib/stripe/resources/dispute.rb +610 -0
  55. data/lib/stripe/resources/entitlements/active_entitlement.rb +37 -0
  56. data/lib/stripe/resources/entitlements/active_entitlement_summary.rb +23 -0
  57. data/lib/stripe/resources/entitlements/feature.rb +81 -0
  58. data/lib/stripe/resources/ephemeral_key.rb +21 -0
  59. data/lib/stripe/resources/event.rb +90 -0
  60. data/lib/stripe/resources/exchange_rate.rb +24 -0
  61. data/lib/stripe/resources/file.rb +102 -0
  62. data/lib/stripe/resources/file_link.rb +103 -0
  63. data/lib/stripe/resources/financial_connections/account.rb +237 -0
  64. data/lib/stripe/resources/financial_connections/account_owner.rb +17 -0
  65. data/lib/stripe/resources/financial_connections/account_ownership.rb +9 -0
  66. data/lib/stripe/resources/financial_connections/session.rb +95 -0
  67. data/lib/stripe/resources/financial_connections/transaction.rb +92 -0
  68. data/lib/stripe/resources/forwarding/request.rb +156 -0
  69. data/lib/stripe/resources/funding_instructions.rb +308 -0
  70. data/lib/stripe/resources/identity/verification_report.rb +257 -0
  71. data/lib/stripe/resources/identity/verification_session.rb +352 -0
  72. data/lib/stripe/resources/invoice.rb +3204 -21
  73. data/lib/stripe/resources/invoice_item.rb +400 -0
  74. data/lib/stripe/resources/invoice_line_item.rb +350 -0
  75. data/lib/stripe/resources/invoice_payment.rb +105 -0
  76. data/lib/stripe/resources/invoice_rendering_template.rb +55 -0
  77. data/lib/stripe/resources/issuing/authorization.rb +1104 -0
  78. data/lib/stripe/resources/issuing/card.rb +657 -0
  79. data/lib/stripe/resources/issuing/cardholder.rb +648 -0
  80. data/lib/stripe/resources/issuing/dispute.rb +781 -0
  81. data/lib/stripe/resources/issuing/personalization_design.rb +276 -0
  82. data/lib/stripe/resources/issuing/physical_bundle.rb +54 -0
  83. data/lib/stripe/resources/issuing/token.rb +166 -0
  84. data/lib/stripe/resources/issuing/transaction.rb +912 -0
  85. data/lib/stripe/resources/line_item.rb +47 -0
  86. data/lib/stripe/resources/login_link.rb +7 -0
  87. data/lib/stripe/resources/mandate.rb +142 -0
  88. data/lib/stripe/resources/payment_intent.rb +8650 -0
  89. data/lib/stripe/resources/payment_link.rb +1632 -0
  90. data/lib/stripe/resources/payment_method.rb +1542 -0
  91. data/lib/stripe/resources/payment_method_configuration.rb +2776 -0
  92. data/lib/stripe/resources/payment_method_domain.rb +150 -6
  93. data/lib/stripe/resources/payout.rb +209 -0
  94. data/lib/stripe/resources/person.rb +264 -1
  95. data/lib/stripe/resources/plan.rb +302 -0
  96. data/lib/stripe/resources/price.rb +605 -1
  97. data/lib/stripe/resources/product.rb +472 -0
  98. data/lib/stripe/resources/product_feature.rb +12 -0
  99. data/lib/stripe/resources/promotion_code.rb +212 -0
  100. data/lib/stripe/resources/quote.rb +917 -0
  101. data/lib/stripe/resources/radar/early_fraud_warning.rb +68 -0
  102. data/lib/stripe/resources/radar/value_list.rb +116 -0
  103. data/lib/stripe/resources/radar/value_list_item.rb +86 -0
  104. data/lib/stripe/resources/refund.rb +392 -0
  105. data/lib/stripe/resources/reporting/report_run.rb +141 -0
  106. data/lib/stripe/resources/reporting/report_type.rb +27 -0
  107. data/lib/stripe/resources/reserve_transaction.rb +22 -0
  108. data/lib/stripe/resources/reversal.rb +21 -0
  109. data/lib/stripe/resources/review.rb +99 -0
  110. data/lib/stripe/resources/setup_attempt.rb +368 -0
  111. data/lib/stripe/resources/setup_intent.rb +3473 -0
  112. data/lib/stripe/resources/shipping_rate.rb +250 -0
  113. data/lib/stripe/resources/sigma/scheduled_query_run.rb +45 -0
  114. data/lib/stripe/resources/source.rb +1198 -0
  115. data/lib/stripe/resources/source_mandate_notification.rb +66 -0
  116. data/lib/stripe/resources/source_transaction.rb +85 -0
  117. data/lib/stripe/resources/subscription.rb +1686 -0
  118. data/lib/stripe/resources/subscription_item.rb +313 -5
  119. data/lib/stripe/resources/subscription_schedule.rb +1281 -0
  120. data/lib/stripe/resources/tax/calculation.rb +378 -0
  121. data/lib/stripe/resources/tax/calculation_line_item.rb +56 -0
  122. data/lib/stripe/resources/tax/registration.rb +2373 -0
  123. data/lib/stripe/resources/tax/settings.rb +117 -0
  124. data/lib/stripe/resources/tax/transaction.rb +258 -0
  125. data/lib/stripe/resources/tax/transaction_line_item.rb +31 -0
  126. data/lib/stripe/resources/tax_code.rb +26 -0
  127. data/lib/stripe/resources/tax_deducted_at_source.rb +22 -0
  128. data/lib/stripe/resources/tax_id.rb +112 -0
  129. data/lib/stripe/resources/tax_rate.rb +191 -0
  130. data/lib/stripe/resources/terminal/configuration.rb +1260 -0
  131. data/lib/stripe/resources/terminal/connection_token.rb +18 -0
  132. data/lib/stripe/resources/terminal/location.rb +166 -0
  133. data/lib/stripe/resources/terminal/reader.rb +427 -0
  134. data/lib/stripe/resources/test_helpers/test_clock.rb +77 -0
  135. data/lib/stripe/resources/token.rb +1159 -0
  136. data/lib/stripe/resources/topup.rb +165 -0
  137. data/lib/stripe/resources/transfer.rb +144 -0
  138. data/lib/stripe/resources/treasury/credit_reversal.rb +83 -0
  139. data/lib/stripe/resources/treasury/debit_reversal.rb +94 -0
  140. data/lib/stripe/resources/treasury/financial_account.rb +725 -1
  141. data/lib/stripe/resources/treasury/financial_account_features.rb +189 -0
  142. data/lib/stripe/resources/treasury/inbound_transfer.rb +226 -0
  143. data/lib/stripe/resources/treasury/outbound_payment.rb +486 -0
  144. data/lib/stripe/resources/treasury/outbound_transfer.rb +341 -0
  145. data/lib/stripe/resources/treasury/received_credit.rb +237 -0
  146. data/lib/stripe/resources/treasury/received_debit.rb +196 -0
  147. data/lib/stripe/resources/treasury/transaction.rb +167 -0
  148. data/lib/stripe/resources/treasury/transaction_entry.rb +148 -0
  149. data/lib/stripe/resources/v2/amount.rb +9 -0
  150. data/lib/stripe/resources/v2/billing/meter_event.rb +18 -0
  151. data/lib/stripe/resources/v2/billing/meter_event_adjustment.rb +21 -0
  152. data/lib/stripe/resources/v2/billing/meter_event_session.rb +14 -0
  153. data/lib/stripe/resources/v2/event.rb +28 -0
  154. data/lib/stripe/resources/v2/event_destination.rb +60 -0
  155. data/lib/stripe/resources/webhook_endpoint.rb +113 -0
  156. data/lib/stripe/resources.rb +8 -2
  157. data/lib/stripe/services/account_capability_service.rb +32 -0
  158. data/lib/stripe/services/account_external_account_service.rb +250 -0
  159. data/lib/stripe/services/account_link_service.rb +46 -0
  160. data/lib/stripe/services/account_login_link_service.rb +9 -0
  161. data/lib/stripe/services/account_person_service.rb +875 -0
  162. data/lib/stripe/services/account_service.rb +4000 -0
  163. data/lib/stripe/services/account_session_service.rb +484 -0
  164. data/lib/stripe/services/apple_pay_domain_service.rb +51 -0
  165. data/lib/stripe/services/application_fee_refund_service.rb +54 -0
  166. data/lib/stripe/services/application_fee_service.rb +57 -0
  167. data/lib/stripe/services/apps/secret_service.rb +116 -0
  168. data/lib/stripe/services/balance_service.rb +9 -0
  169. data/lib/stripe/services/balance_transaction_service.rb +69 -0
  170. data/lib/stripe/services/billing/alert_service.rb +113 -0
  171. data/lib/stripe/services/billing/credit_balance_summary_service.rb +48 -0
  172. data/lib/stripe/services/billing/credit_balance_transaction_service.rb +40 -0
  173. data/lib/stripe/services/billing/credit_grant_service.rb +166 -0
  174. data/lib/stripe/services/billing/meter_event_adjustment_service.rb +26 -0
  175. data/lib/stripe/services/billing/meter_event_service.rb +21 -0
  176. data/lib/stripe/services/billing/meter_event_summary_service.rb +39 -0
  177. data/lib/stripe/services/billing/meter_service.rb +130 -0
  178. data/lib/stripe/services/billing_portal/configuration_service.rb +444 -0
  179. data/lib/stripe/services/billing_portal/session_service.rb +173 -0
  180. data/lib/stripe/services/charge_service.rb +402 -0
  181. data/lib/stripe/services/checkout/session_line_item_service.rb +18 -0
  182. data/lib/stripe/services/checkout/session_service.rb +2399 -5
  183. data/lib/stripe/services/climate/order_service.rb +102 -0
  184. data/lib/stripe/services/climate/product_service.rb +27 -0
  185. data/lib/stripe/services/climate/supplier_service.rb +27 -0
  186. data/lib/stripe/services/confirmation_token_service.rb +9 -0
  187. data/lib/stripe/services/country_spec_service.rb +27 -0
  188. data/lib/stripe/services/coupon_service.rb +152 -0
  189. data/lib/stripe/services/credit_note_line_item_service.rb +18 -0
  190. data/lib/stripe/services/credit_note_preview_lines_service.rb +152 -0
  191. data/lib/stripe/services/credit_note_service.rb +365 -0
  192. data/lib/stripe/services/customer_balance_transaction_service.rb +63 -0
  193. data/lib/stripe/services/customer_cash_balance_service.rb +29 -0
  194. data/lib/stripe/services/customer_cash_balance_transaction_service.rb +27 -0
  195. data/lib/stripe/services/customer_funding_instructions_service.rb +42 -0
  196. data/lib/stripe/services/customer_payment_method_service.rb +40 -0
  197. data/lib/stripe/services/customer_payment_source_service.rb +179 -0
  198. data/lib/stripe/services/customer_service.rb +577 -0
  199. data/lib/stripe/services/customer_session_service.rb +96 -0
  200. data/lib/stripe/services/customer_tax_id_service.rb +45 -0
  201. data/lib/stripe/services/dispute_service.rb +374 -0
  202. data/lib/stripe/services/entitlements/active_entitlement_service.rb +36 -0
  203. data/lib/stripe/services/entitlements/feature_service.rb +76 -0
  204. data/lib/stripe/services/ephemeral_key_service.rb +36 -0
  205. data/lib/stripe/services/event_service.rb +65 -0
  206. data/lib/stripe/services/exchange_rate_service.rb +27 -0
  207. data/lib/stripe/services/file_link_service.rb +94 -0
  208. data/lib/stripe/services/file_service.rb +89 -0
  209. data/lib/stripe/services/financial_connections/account_owner_service.rb +27 -0
  210. data/lib/stripe/services/financial_connections/account_service.rb +96 -0
  211. data/lib/stripe/services/financial_connections/session_service.rb +68 -0
  212. data/lib/stripe/services/financial_connections/transaction_service.rb +70 -0
  213. data/lib/stripe/services/forwarding/request_service.rb +106 -0
  214. data/lib/stripe/services/identity/verification_report_service.rb +65 -0
  215. data/lib/stripe/services/identity/verification_session_service.rb +231 -0
  216. data/lib/stripe/services/invoice_item_service.rb +334 -0
  217. data/lib/stripe/services/invoice_line_item_service.rb +221 -0
  218. data/lib/stripe/services/invoice_payment_service.rb +83 -0
  219. data/lib/stripe/services/invoice_rendering_template_service.rb +51 -0
  220. data/lib/stripe/services/invoice_service.rb +2648 -19
  221. data/lib/stripe/services/issuing/authorization_service.rb +104 -0
  222. data/lib/stripe/services/issuing/card_service.rb +455 -0
  223. data/lib/stripe/services/issuing/cardholder_service.rb +525 -0
  224. data/lib/stripe/services/issuing/dispute_service.rb +633 -0
  225. data/lib/stripe/services/issuing/personalization_design_service.rb +193 -0
  226. data/lib/stripe/services/issuing/physical_bundle_service.rb +40 -0
  227. data/lib/stripe/services/issuing/token_service.rb +73 -0
  228. data/lib/stripe/services/issuing/transaction_service.rb +77 -0
  229. data/lib/stripe/services/mandate_service.rb +9 -0
  230. data/lib/stripe/services/payment_intent_service.rb +7054 -0
  231. data/lib/stripe/services/payment_link_line_item_service.rb +18 -0
  232. data/lib/stripe/services/payment_link_service.rb +1276 -0
  233. data/lib/stripe/services/payment_method_configuration_service.rb +2004 -0
  234. data/lib/stripe/services/payment_method_domain_service.rb +79 -3
  235. data/lib/stripe/services/payment_method_service.rb +808 -0
  236. data/lib/stripe/services/payout_service.rb +159 -0
  237. data/lib/stripe/services/plan_service.rb +249 -0
  238. data/lib/stripe/services/price_service.rb +494 -1
  239. data/lib/stripe/services/product_feature_service.rb +42 -0
  240. data/lib/stripe/services/product_service.rb +425 -0
  241. data/lib/stripe/services/promotion_code_service.rb +178 -0
  242. data/lib/stripe/services/quote_computed_upfront_line_items_service.rb +18 -0
  243. data/lib/stripe/services/quote_line_item_service.rb +18 -0
  244. data/lib/stripe/services/quote_service.rb +611 -0
  245. data/lib/stripe/services/radar/early_fraud_warning_service.rb +61 -0
  246. data/lib/stripe/services/radar/value_list_item_service.rb +79 -0
  247. data/lib/stripe/services/radar/value_list_service.rb +103 -0
  248. data/lib/stripe/services/refund_service.rb +137 -0
  249. data/lib/stripe/services/reporting/report_run_service.rb +106 -0
  250. data/lib/stripe/services/reporting/report_type_service.rb +18 -0
  251. data/lib/stripe/services/review_service.rb +56 -0
  252. data/lib/stripe/services/setup_attempt_service.rb +51 -0
  253. data/lib/stripe/services/setup_intent_service.rb +3163 -0
  254. data/lib/stripe/services/shipping_rate_service.rb +200 -0
  255. data/lib/stripe/services/sigma/scheduled_query_run_service.rb +27 -0
  256. data/lib/stripe/services/source_service.rb +601 -0
  257. data/lib/stripe/services/source_transaction_service.rb +18 -0
  258. data/lib/stripe/services/subscription_item_service.rb +282 -5
  259. data/lib/stripe/services/subscription_schedule_service.rb +1062 -0
  260. data/lib/stripe/services/subscription_service.rb +1412 -0
  261. data/lib/stripe/services/tax/calculation_line_item_service.rb +18 -0
  262. data/lib/stripe/services/tax/calculation_service.rb +205 -0
  263. data/lib/stripe/services/tax/registration_service.rb +1564 -0
  264. data/lib/stripe/services/tax/settings_service.rb +74 -0
  265. data/lib/stripe/services/tax/transaction_line_item_service.rb +18 -0
  266. data/lib/stripe/services/tax/transaction_service.rb +111 -0
  267. data/lib/stripe/services/tax_code_service.rb +27 -0
  268. data/lib/stripe/services/tax_id_service.rb +79 -0
  269. data/lib/stripe/services/tax_rate_service.rb +155 -0
  270. data/lib/stripe/services/terminal/configuration_service.rb +997 -0
  271. data/lib/stripe/services/terminal/connection_token_service.rb +12 -0
  272. data/lib/stripe/services/terminal/location_service.rb +144 -0
  273. data/lib/stripe/services/terminal/reader_service.rb +266 -0
  274. data/lib/stripe/services/test_helpers/confirmation_token_service.rb +642 -0
  275. data/lib/stripe/services/test_helpers/customer_service.rb +18 -0
  276. data/lib/stripe/services/test_helpers/issuing/authorization_service.rb +745 -0
  277. data/lib/stripe/services/test_helpers/issuing/card_service.rb +45 -0
  278. data/lib/stripe/services/test_helpers/issuing/personalization_design_service.rb +41 -0
  279. data/lib/stripe/services/test_helpers/issuing/transaction_service.rb +632 -0
  280. data/lib/stripe/services/test_helpers/refund_service.rb +9 -0
  281. data/lib/stripe/services/test_helpers/terminal/reader_service.rb +44 -0
  282. data/lib/stripe/services/test_helpers/test_clock_service.rb +57 -0
  283. data/lib/stripe/services/test_helpers/treasury/inbound_transfer_service.rb +38 -0
  284. data/lib/stripe/services/test_helpers/treasury/outbound_payment_service.rb +87 -0
  285. data/lib/stripe/services/test_helpers/treasury/outbound_transfer_service.rb +87 -0
  286. data/lib/stripe/services/test_helpers/treasury/received_credit_service.rb +60 -0
  287. data/lib/stripe/services/test_helpers/treasury/received_debit_service.rb +60 -0
  288. data/lib/stripe/services/token_service.rb +1140 -0
  289. data/lib/stripe/services/topup_service.rb +142 -0
  290. data/lib/stripe/services/transfer_reversal_service.rb +66 -0
  291. data/lib/stripe/services/transfer_service.rb +119 -0
  292. data/lib/stripe/services/treasury/credit_reversal_service.rb +59 -0
  293. data/lib/stripe/services/treasury/debit_reversal_service.rb +63 -0
  294. data/lib/stripe/services/treasury/financial_account_features_service.rb +166 -0
  295. data/lib/stripe/services/treasury/financial_account_service.rb +485 -1
  296. data/lib/stripe/services/treasury/inbound_transfer_service.rb +88 -0
  297. data/lib/stripe/services/treasury/outbound_payment_service.rb +258 -0
  298. data/lib/stripe/services/treasury/outbound_transfer_service.rb +124 -0
  299. data/lib/stripe/services/treasury/received_credit_service.rb +52 -0
  300. data/lib/stripe/services/treasury/received_debit_service.rb +40 -0
  301. data/lib/stripe/services/treasury/transaction_entry_service.rb +87 -0
  302. data/lib/stripe/services/treasury/transaction_service.rb +95 -0
  303. data/lib/stripe/services/v1_services.rb +2 -1
  304. data/lib/stripe/services/v2/billing/meter_event_adjustment_service.rb +23 -0
  305. data/lib/stripe/services/v2/billing/meter_event_service.rb +25 -0
  306. data/lib/stripe/services/v2/billing/meter_event_session_service.rb +3 -0
  307. data/lib/stripe/services/v2/billing/meter_event_stream_service.rb +33 -0
  308. data/lib/stripe/services/v2/core/event_destination_service.rb +143 -0
  309. data/lib/stripe/services/v2/core/event_service.rb +15 -0
  310. data/lib/stripe/services/webhook_endpoint_service.rb +96 -0
  311. data/lib/stripe/services.rb +1 -3
  312. data/lib/stripe/stripe_client.rb +2 -1
  313. data/lib/stripe/stripe_object.rb +5 -0
  314. data/lib/stripe/version.rb +1 -1
  315. data/lib/stripe.rb +1 -0
  316. data/rbi/stripe/resources/account.rbi +4840 -0
  317. data/rbi/stripe/resources/account_link.rbi +74 -0
  318. data/rbi/stripe/resources/account_session.rbi +894 -0
  319. data/rbi/stripe/resources/apple_pay_domain.rbi +90 -0
  320. data/rbi/stripe/resources/application.rbi +20 -0
  321. data/rbi/stripe/resources/application_fee.rbi +118 -0
  322. data/rbi/stripe/resources/application_fee_refund.rbi +37 -0
  323. data/rbi/stripe/resources/apps/secret.rbi +195 -0
  324. data/rbi/stripe/resources/balance.rbi +180 -0
  325. data/rbi/stripe/resources/balance_transaction.rbi +144 -0
  326. data/rbi/stripe/resources/bank_account.rbi +127 -0
  327. data/rbi/stripe/resources/billing/alert.rbi +201 -0
  328. data/rbi/stripe/resources/billing/alert_triggered.rbi +28 -0
  329. data/rbi/stripe/resources/billing/credit_balance_summary.rbi +63 -0
  330. data/rbi/stripe/resources/billing/credit_balance_transaction.rbi +147 -0
  331. data/rbi/stripe/resources/billing/credit_grant.rbi +291 -0
  332. data/rbi/stripe/resources/billing/meter.rbi +226 -0
  333. data/rbi/stripe/resources/billing/meter_event.rbi +64 -0
  334. data/rbi/stripe/resources/billing/meter_event_adjustment.rbi +64 -0
  335. data/rbi/stripe/resources/billing/meter_event_summary.rbi +35 -0
  336. data/rbi/stripe/resources/billing_portal/configuration.rbi +645 -0
  337. data/rbi/stripe/resources/billing_portal/session.rbi +345 -0
  338. data/rbi/stripe/resources/capability.rbi +125 -0
  339. data/rbi/stripe/resources/card.rbi +125 -0
  340. data/rbi/stripe/resources/cash_balance.rbi +32 -0
  341. data/rbi/stripe/resources/charge.rbi +2054 -0
  342. data/rbi/stripe/resources/checkout/session.rbi +3951 -0
  343. data/rbi/stripe/resources/climate/order.rbi +245 -0
  344. data/rbi/stripe/resources/climate/product.rbi +75 -0
  345. data/rbi/stripe/resources/climate/supplier.rbi +72 -0
  346. data/rbi/stripe/resources/confirmation_token.rbi +1793 -0
  347. data/rbi/stripe/resources/connect_collection_transfer.rbi +26 -0
  348. data/rbi/stripe/resources/country_spec.rbi +85 -0
  349. data/rbi/stripe/resources/coupon.rbi +252 -0
  350. data/rbi/stripe/resources/credit_note.rbi +747 -0
  351. data/rbi/stripe/resources/credit_note_line_item.rbi +101 -0
  352. data/rbi/stripe/resources/customer.rbi +1009 -0
  353. data/rbi/stripe/resources/customer_balance_transaction.rbi +56 -0
  354. data/rbi/stripe/resources/customer_cash_balance_transaction.rbi +151 -0
  355. data/rbi/stripe/resources/customer_session.rbi +200 -0
  356. data/rbi/stripe/resources/discount.rbi +53 -0
  357. data/rbi/stripe/resources/dispute.rbi +761 -0
  358. data/rbi/stripe/resources/entitlements/active_entitlement.rbi +58 -0
  359. data/rbi/stripe/resources/entitlements/active_entitlement_summary.rbi +23 -0
  360. data/rbi/stripe/resources/entitlements/feature.rbi +117 -0
  361. data/rbi/stripe/resources/ephemeral_key.rbi +44 -0
  362. data/rbi/stripe/resources/event.rbi +146 -0
  363. data/rbi/stripe/resources/exchange_rate.rbi +66 -0
  364. data/rbi/stripe/resources/file.rbi +143 -0
  365. data/rbi/stripe/resources/file_link.rbi +141 -0
  366. data/rbi/stripe/resources/financial_connections/account.rbi +339 -0
  367. data/rbi/stripe/resources/financial_connections/account_owner.rbi +35 -0
  368. data/rbi/stripe/resources/financial_connections/account_ownership.rbi +23 -0
  369. data/rbi/stripe/resources/financial_connections/session.rbi +123 -0
  370. data/rbi/stripe/resources/financial_connections/transaction.rbi +124 -0
  371. data/rbi/stripe/resources/forwarding/request.rbi +216 -0
  372. data/rbi/stripe/resources/funding_instructions.rbi +437 -0
  373. data/rbi/stripe/resources/identity/verification_report.rbi +351 -0
  374. data/rbi/stripe/resources/identity/verification_session.rbi +517 -0
  375. data/rbi/stripe/resources/invoice.rbi +3733 -0
  376. data/rbi/stripe/resources/invoice_item.rbi +475 -0
  377. data/rbi/stripe/resources/invoice_line_item.rbi +432 -0
  378. data/rbi/stripe/resources/invoice_payment.rbi +114 -0
  379. data/rbi/stripe/resources/invoice_rendering_template.rbi +104 -0
  380. data/rbi/stripe/resources/issuing/authorization.rbi +1283 -0
  381. data/rbi/stripe/resources/issuing/card.rbi +741 -0
  382. data/rbi/stripe/resources/issuing/cardholder.rbi +744 -0
  383. data/rbi/stripe/resources/issuing/dispute.rbi +913 -0
  384. data/rbi/stripe/resources/issuing/personalization_design.rbi +338 -0
  385. data/rbi/stripe/resources/issuing/physical_bundle.rbi +79 -0
  386. data/rbi/stripe/resources/issuing/token.rbi +226 -0
  387. data/rbi/stripe/resources/issuing/transaction.rbi +1061 -0
  388. data/rbi/stripe/resources/line_item.rbi +72 -0
  389. data/rbi/stripe/resources/login_link.rbi +18 -0
  390. data/rbi/stripe/resources/mandate.rbi +187 -0
  391. data/rbi/stripe/resources/payment_intent.rbi +9731 -0
  392. data/rbi/stripe/resources/payment_link.rbi +1801 -0
  393. data/rbi/stripe/resources/payment_method.rbi +1822 -0
  394. data/rbi/stripe/resources/payment_method_configuration.rbi +3154 -0
  395. data/rbi/stripe/resources/payment_method_domain.rbi +212 -0
  396. data/rbi/stripe/resources/payout.rbi +300 -0
  397. data/rbi/stripe/resources/person.rbi +371 -0
  398. data/rbi/stripe/resources/plan.rbi +373 -0
  399. data/rbi/stripe/resources/price.rbi +694 -0
  400. data/rbi/stripe/resources/product.rbi +557 -0
  401. data/rbi/stripe/resources/product_feature.rbi +26 -0
  402. data/rbi/stripe/resources/promotion_code.rbi +261 -0
  403. data/rbi/stripe/resources/quote.rbi +1123 -0
  404. data/rbi/stripe/resources/radar/early_fraud_warning.rbi +98 -0
  405. data/rbi/stripe/resources/radar/value_list.rbi +170 -0
  406. data/rbi/stripe/resources/radar/value_list_item.rbi +131 -0
  407. data/rbi/stripe/resources/refund.rbi +516 -0
  408. data/rbi/stripe/resources/reporting/report_run.rbi +191 -0
  409. data/rbi/stripe/resources/reporting/report_type.rbi +57 -0
  410. data/rbi/stripe/resources/reserve_transaction.rbi +23 -0
  411. data/rbi/stripe/resources/reversal.rbi +51 -0
  412. data/rbi/stripe/resources/review.rbi +154 -0
  413. data/rbi/stripe/resources/setup_attempt.rbi +477 -0
  414. data/rbi/stripe/resources/setup_intent.rbi +3860 -0
  415. data/rbi/stripe/resources/shipping_rate.rbi +305 -0
  416. data/rbi/stripe/resources/sigma/scheduled_query_run.rbi +75 -0
  417. data/rbi/stripe/resources/source.rbi +1496 -0
  418. data/rbi/stripe/resources/source_mandate_notification.rbi +77 -0
  419. data/rbi/stripe/resources/source_transaction.rbi +127 -0
  420. data/rbi/stripe/resources/subscription.rbi +1964 -0
  421. data/rbi/stripe/resources/subscription_item.rbi +370 -0
  422. data/rbi/stripe/resources/subscription_schedule.rbi +1495 -0
  423. data/rbi/stripe/resources/tax/calculation.rbi +474 -0
  424. data/rbi/stripe/resources/tax/calculation_line_item.rbi +88 -0
  425. data/rbi/stripe/resources/tax/registration.rbi +2485 -0
  426. data/rbi/stripe/resources/tax/settings.rbi +141 -0
  427. data/rbi/stripe/resources/tax/transaction.rbi +351 -0
  428. data/rbi/stripe/resources/tax/transaction_line_item.rbi +54 -0
  429. data/rbi/stripe/resources/tax_code.rbi +44 -0
  430. data/rbi/stripe/resources/tax_deducted_at_source.rbi +23 -0
  431. data/rbi/stripe/resources/tax_id.rbi +167 -0
  432. data/rbi/stripe/resources/tax_rate.rbi +239 -0
  433. data/rbi/stripe/resources/terminal/configuration.rbi +1388 -0
  434. data/rbi/stripe/resources/terminal/connection_token.rbi +37 -0
  435. data/rbi/stripe/resources/terminal/location.rbi +224 -0
  436. data/rbi/stripe/resources/terminal/reader.rbi +587 -0
  437. data/rbi/stripe/resources/test_helpers/test_clock.rbi +134 -0
  438. data/rbi/stripe/resources/token.rbi +1217 -0
  439. data/rbi/stripe/resources/topup.rbi +222 -0
  440. data/rbi/stripe/resources/transfer.rbi +199 -0
  441. data/rbi/stripe/resources/treasury/credit_reversal.rbi +119 -0
  442. data/rbi/stripe/resources/treasury/debit_reversal.rbi +131 -0
  443. data/rbi/stripe/resources/treasury/financial_account.rbi +865 -0
  444. data/rbi/stripe/resources/treasury/financial_account_features.rbi +260 -0
  445. data/rbi/stripe/resources/treasury/inbound_transfer.rbi +295 -0
  446. data/rbi/stripe/resources/treasury/outbound_payment.rbi +592 -0
  447. data/rbi/stripe/resources/treasury/outbound_transfer.rbi +431 -0
  448. data/rbi/stripe/resources/treasury/received_credit.rbi +302 -0
  449. data/rbi/stripe/resources/treasury/received_debit.rbi +256 -0
  450. data/rbi/stripe/resources/treasury/transaction.rbi +215 -0
  451. data/rbi/stripe/resources/treasury/transaction_entry.rbi +192 -0
  452. data/rbi/stripe/resources/v2/amount.rbi +14 -0
  453. data/rbi/stripe/resources/v2/billing/meter_event.rbi +37 -0
  454. data/rbi/stripe/resources/v2/billing/meter_event_adjustment.rbi +41 -0
  455. data/rbi/stripe/resources/v2/billing/meter_event_session.rbi +31 -0
  456. data/rbi/stripe/resources/v2/event.rbi +48 -0
  457. data/rbi/stripe/resources/v2/event_destination.rbi +91 -0
  458. data/rbi/stripe/resources/webhook_endpoint.rbi +170 -0
  459. data/rbi/stripe/services/account_capability_service.rbi +51 -0
  460. data/rbi/stripe/services/account_external_account_service.rbi +306 -0
  461. data/rbi/stripe/services/account_link_service.rbi +58 -0
  462. data/rbi/stripe/services/account_login_link_service.rbi +22 -0
  463. data/rbi/stripe/services/account_person_service.rbi +923 -0
  464. data/rbi/stripe/services/account_service.rbi +4143 -0
  465. data/rbi/stripe/services/account_session_service.rbi +572 -0
  466. data/rbi/stripe/services/apple_pay_domain_service.rbi +78 -0
  467. data/rbi/stripe/services/application_fee_refund_service.rbi +93 -0
  468. data/rbi/stripe/services/application_fee_service.rbi +78 -0
  469. data/rbi/stripe/services/apps/secret_service.rbi +151 -0
  470. data/rbi/stripe/services/apps_service.rbi +9 -0
  471. data/rbi/stripe/services/balance_service.rbi +21 -0
  472. data/rbi/stripe/services/balance_transaction_service.rbi +93 -0
  473. data/rbi/stripe/services/billing/alert_service.rbi +152 -0
  474. data/rbi/stripe/services/billing/credit_balance_summary_service.rbi +68 -0
  475. data/rbi/stripe/services/billing/credit_balance_transaction_service.rbi +59 -0
  476. data/rbi/stripe/services/billing/credit_grant_service.rbi +211 -0
  477. data/rbi/stripe/services/billing/meter_event_adjustment_service.rbi +42 -0
  478. data/rbi/stripe/services/billing/meter_event_service.rbi +42 -0
  479. data/rbi/stripe/services/billing/meter_event_summary_service.rbi +54 -0
  480. data/rbi/stripe/services/billing/meter_service.rbi +163 -0
  481. data/rbi/stripe/services/billing_portal/configuration_service.rbi +511 -0
  482. data/rbi/stripe/services/billing_portal/session_service.rbi +204 -0
  483. data/rbi/stripe/services/billing_portal_service.rbi +10 -0
  484. data/rbi/stripe/services/billing_service.rbi +15 -0
  485. data/rbi/stripe/services/charge_service.rbi +448 -0
  486. data/rbi/stripe/services/checkout/session_line_item_service.rbi +33 -0
  487. data/rbi/stripe/services/checkout/session_service.rbi +2585 -0
  488. data/rbi/stripe/services/checkout_service.rbi +9 -0
  489. data/rbi/stripe/services/climate/order_service.rbi +142 -0
  490. data/rbi/stripe/services/climate/product_service.rbi +46 -0
  491. data/rbi/stripe/services/climate/supplier_service.rbi +46 -0
  492. data/rbi/stripe/services/climate_service.rbi +11 -0
  493. data/rbi/stripe/services/confirmation_token_service.rbi +20 -0
  494. data/rbi/stripe/services/country_spec_service.rbi +44 -0
  495. data/rbi/stripe/services/coupon_service.rbi +196 -0
  496. data/rbi/stripe/services/credit_note_line_item_service.rbi +31 -0
  497. data/rbi/stripe/services/credit_note_preview_lines_service.rbi +167 -0
  498. data/rbi/stripe/services/credit_note_service.rbi +416 -0
  499. data/rbi/stripe/services/customer_balance_transaction_service.rbi +92 -0
  500. data/rbi/stripe/services/customer_cash_balance_service.rbi +45 -0
  501. data/rbi/stripe/services/customer_cash_balance_transaction_service.rbi +44 -0
  502. data/rbi/stripe/services/customer_funding_instructions_service.rbi +59 -0
  503. data/rbi/stripe/services/customer_payment_method_service.rbi +57 -0
  504. data/rbi/stripe/services/customer_payment_source_service.rbi +232 -0
  505. data/rbi/stripe/services/customer_service.rbi +651 -0
  506. data/rbi/stripe/services/customer_session_service.rbi +116 -0
  507. data/rbi/stripe/services/customer_tax_id_service.rbi +72 -0
  508. data/rbi/stripe/services/dispute_service.rbi +424 -0
  509. data/rbi/stripe/services/entitlements/active_entitlement_service.rbi +55 -0
  510. data/rbi/stripe/services/entitlements/feature_service.rbi +107 -0
  511. data/rbi/stripe/services/entitlements_service.rbi +10 -0
  512. data/rbi/stripe/services/ephemeral_key_service.rbi +53 -0
  513. data/rbi/stripe/services/event_service.rbi +83 -0
  514. data/rbi/stripe/services/exchange_rate_service.rbi +44 -0
  515. data/rbi/stripe/services/file_link_service.rbi +124 -0
  516. data/rbi/stripe/services/file_service.rbi +116 -0
  517. data/rbi/stripe/services/financial_connections/account_owner_service.rbi +42 -0
  518. data/rbi/stripe/services/financial_connections/account_service.rbi +133 -0
  519. data/rbi/stripe/services/financial_connections/session_service.rbi +88 -0
  520. data/rbi/stripe/services/financial_connections/transaction_service.rbi +92 -0
  521. data/rbi/stripe/services/financial_connections_service.rbi +11 -0
  522. data/rbi/stripe/services/forwarding/request_service.rbi +134 -0
  523. data/rbi/stripe/services/forwarding_service.rbi +9 -0
  524. data/rbi/stripe/services/identity/verification_report_service.rbi +87 -0
  525. data/rbi/stripe/services/identity/verification_session_service.rbi +323 -0
  526. data/rbi/stripe/services/identity_service.rbi +10 -0
  527. data/rbi/stripe/services/invoice_item_service.rbi +368 -0
  528. data/rbi/stripe/services/invoice_line_item_service.rbi +259 -0
  529. data/rbi/stripe/services/invoice_payment_service.rbi +71 -0
  530. data/rbi/stripe/services/invoice_rendering_template_service.rbi +82 -0
  531. data/rbi/stripe/services/invoice_service.rbi +2920 -0
  532. data/rbi/stripe/services/issuing/authorization_service.rbi +146 -0
  533. data/rbi/stripe/services/issuing/card_service.rbi +495 -0
  534. data/rbi/stripe/services/issuing/cardholder_service.rbi +587 -0
  535. data/rbi/stripe/services/issuing/dispute_service.rbi +707 -0
  536. data/rbi/stripe/services/issuing/personalization_design_service.rbi +243 -0
  537. data/rbi/stripe/services/issuing/physical_bundle_service.rbi +59 -0
  538. data/rbi/stripe/services/issuing/token_service.rbi +99 -0
  539. data/rbi/stripe/services/issuing/transaction_service.rbi +105 -0
  540. data/rbi/stripe/services/issuing_service.rbi +16 -0
  541. data/rbi/stripe/services/mandate_service.rbi +20 -0
  542. data/rbi/stripe/services/payment_intent_service.rbi +7759 -0
  543. data/rbi/stripe/services/payment_link_line_item_service.rbi +31 -0
  544. data/rbi/stripe/services/payment_link_service.rbi +1352 -0
  545. data/rbi/stripe/services/payment_method_configuration_service.rbi +2211 -0
  546. data/rbi/stripe/services/payment_method_domain_service.rbi +112 -0
  547. data/rbi/stripe/services/payment_method_service.rbi +840 -0
  548. data/rbi/stripe/services/payout_service.rbi +205 -0
  549. data/rbi/stripe/services/plan_service.rbi +284 -0
  550. data/rbi/stripe/services/price_service.rbi +546 -0
  551. data/rbi/stripe/services/product_feature_service.rbi +69 -0
  552. data/rbi/stripe/services/product_service.rbi +479 -0
  553. data/rbi/stripe/services/promotion_code_service.rbi +214 -0
  554. data/rbi/stripe/services/quote_computed_upfront_line_items_service.rbi +31 -0
  555. data/rbi/stripe/services/quote_line_item_service.rbi +31 -0
  556. data/rbi/stripe/services/quote_service.rbi +686 -0
  557. data/rbi/stripe/services/radar/early_fraud_warning_service.rbi +85 -0
  558. data/rbi/stripe/services/radar/value_list_item_service.rbi +111 -0
  559. data/rbi/stripe/services/radar/value_list_service.rbi +143 -0
  560. data/rbi/stripe/services/radar_service.rbi +11 -0
  561. data/rbi/stripe/services/refund_service.rbi +185 -0
  562. data/rbi/stripe/services/reporting/report_run_service.rbi +135 -0
  563. data/rbi/stripe/services/reporting/report_type_service.rbi +35 -0
  564. data/rbi/stripe/services/reporting_service.rbi +10 -0
  565. data/rbi/stripe/services/review_service.rbi +84 -0
  566. data/rbi/stripe/services/setup_attempt_service.rbi +65 -0
  567. data/rbi/stripe/services/setup_intent_service.rbi +3596 -0
  568. data/rbi/stripe/services/shipping_rate_service.rbi +241 -0
  569. data/rbi/stripe/services/sigma/scheduled_query_run_service.rbi +46 -0
  570. data/rbi/stripe/services/sigma_service.rbi +9 -0
  571. data/rbi/stripe/services/source_service.rbi +663 -0
  572. data/rbi/stripe/services/source_transaction_service.rbi +31 -0
  573. data/rbi/stripe/services/subscription_item_service.rbi +324 -0
  574. data/rbi/stripe/services/subscription_schedule_service.rbi +1192 -0
  575. data/rbi/stripe/services/subscription_service.rbi +1596 -0
  576. data/rbi/stripe/services/tax/calculation_line_item_service.rbi +33 -0
  577. data/rbi/stripe/services/tax/calculation_service.rbi +230 -0
  578. data/rbi/stripe/services/tax/registration_service.rbi +1689 -0
  579. data/rbi/stripe/services/tax/settings_service.rbi +93 -0
  580. data/rbi/stripe/services/tax/transaction_line_item_service.rbi +33 -0
  581. data/rbi/stripe/services/tax/transaction_service.rbi +146 -0
  582. data/rbi/stripe/services/tax_code_service.rbi +44 -0
  583. data/rbi/stripe/services/tax_id_service.rbi +112 -0
  584. data/rbi/stripe/services/tax_rate_service.rbi +185 -0
  585. data/rbi/stripe/services/tax_service.rbi +12 -0
  586. data/rbi/stripe/services/terminal/configuration_service.rbi +1120 -0
  587. data/rbi/stripe/services/terminal/connection_token_service.rbi +25 -0
  588. data/rbi/stripe/services/terminal/location_service.rbi +184 -0
  589. data/rbi/stripe/services/terminal/reader_service.rbi +344 -0
  590. data/rbi/stripe/services/terminal_service.rbi +12 -0
  591. data/rbi/stripe/services/test_helpers/confirmation_token_service.rbi +746 -0
  592. data/rbi/stripe/services/test_helpers/customer_service.rbi +33 -0
  593. data/rbi/stripe/services/test_helpers/issuing/authorization_service.rbi +848 -0
  594. data/rbi/stripe/services/test_helpers/issuing/card_service.rbi +76 -0
  595. data/rbi/stripe/services/test_helpers/issuing/personalization_design_service.rbi +69 -0
  596. data/rbi/stripe/services/test_helpers/issuing/transaction_service.rbi +711 -0
  597. data/rbi/stripe/services/test_helpers/issuing_service.rbi +14 -0
  598. data/rbi/stripe/services/test_helpers/refund_service.rbi +22 -0
  599. data/rbi/stripe/services/test_helpers/terminal/reader_service.rbi +62 -0
  600. data/rbi/stripe/services/test_helpers/terminal_service.rbi +11 -0
  601. data/rbi/stripe/services/test_helpers/test_clock_service.rbi +92 -0
  602. data/rbi/stripe/services/test_helpers/treasury/inbound_transfer_service.rbi +64 -0
  603. data/rbi/stripe/services/test_helpers/treasury/outbound_payment_service.rbi +125 -0
  604. data/rbi/stripe/services/test_helpers/treasury/outbound_transfer_service.rbi +125 -0
  605. data/rbi/stripe/services/test_helpers/treasury/received_credit_service.rbi +87 -0
  606. data/rbi/stripe/services/test_helpers/treasury/received_debit_service.rbi +87 -0
  607. data/rbi/stripe/services/test_helpers/treasury_service.rbi +15 -0
  608. data/rbi/stripe/services/test_helpers_service.rbi +15 -0
  609. data/rbi/stripe/services/token_service.rbi +1189 -0
  610. data/rbi/stripe/services/topup_service.rbi +176 -0
  611. data/rbi/stripe/services/transfer_reversal_service.rbi +101 -0
  612. data/rbi/stripe/services/transfer_service.rbi +152 -0
  613. data/rbi/stripe/services/treasury/credit_reversal_service.rbi +84 -0
  614. data/rbi/stripe/services/treasury/debit_reversal_service.rbi +88 -0
  615. data/rbi/stripe/services/treasury/financial_account_features_service.rbi +198 -0
  616. data/rbi/stripe/services/treasury/financial_account_service.rbi +562 -0
  617. data/rbi/stripe/services/treasury/inbound_transfer_service.rbi +117 -0
  618. data/rbi/stripe/services/treasury/outbound_payment_service.rbi +304 -0
  619. data/rbi/stripe/services/treasury/outbound_transfer_service.rbi +157 -0
  620. data/rbi/stripe/services/treasury/received_credit_service.rbi +72 -0
  621. data/rbi/stripe/services/treasury/received_debit_service.rbi +59 -0
  622. data/rbi/stripe/services/treasury/transaction_entry_service.rbi +111 -0
  623. data/rbi/stripe/services/treasury/transaction_service.rbi +122 -0
  624. data/rbi/stripe/services/treasury_service.rbi +18 -0
  625. data/rbi/stripe/services/v1_services.rbi +77 -0
  626. data/rbi/stripe/services/v2/billing/meter_event_adjustment_service.rbi +39 -0
  627. data/rbi/stripe/services/v2/billing/meter_event_service.rbi +42 -0
  628. data/rbi/stripe/services/v2/billing/meter_event_session_service.rbi +20 -0
  629. data/rbi/stripe/services/v2/billing/meter_event_stream_service.rbi +55 -0
  630. data/rbi/stripe/services/v2/billing_service.rbi +14 -0
  631. data/rbi/stripe/services/v2/core/event_destination_service.rbi +200 -0
  632. data/rbi/stripe/services/v2/core/event_service.rbi +36 -0
  633. data/rbi/stripe/services/v2/core_service.rbi +12 -0
  634. data/rbi/stripe/services/v2_services.rbi +10 -0
  635. data/rbi/stripe/services/webhook_endpoint_service.rbi +131 -0
  636. metadata +333 -7
  637. data/lib/stripe/resources/usage_record.rb +0 -17
  638. data/lib/stripe/resources/usage_record_summary.rb +0 -12
  639. data/lib/stripe/services/invoice_upcoming_lines_service.rb +0 -17
  640. data/lib/stripe/services/subscription_item_usage_record_service.rb +0 -23
  641. data/lib/stripe/services/subscription_item_usage_record_summary_service.rb +0 -19
@@ -15,6 +15,1287 @@ module Stripe
15
15
  "subscription_schedule"
16
16
  end
17
17
 
18
+ class CurrentPhase < Stripe::StripeObject
19
+ # The end of this phase of the subscription schedule.
20
+ attr_reader :end_date
21
+ # The start of this phase of the subscription schedule.
22
+ attr_reader :start_date
23
+ end
24
+
25
+ class DefaultSettings < Stripe::StripeObject
26
+ class AutomaticTax < Stripe::StripeObject
27
+ class Liability < Stripe::StripeObject
28
+ # The connected account being referenced when `type` is `account`.
29
+ attr_reader :account
30
+ # Type of the account referenced.
31
+ attr_reader :type
32
+ end
33
+ # If Stripe disabled automatic tax, this enum describes why.
34
+ attr_reader :disabled_reason
35
+ # Whether Stripe automatically computes tax on invoices created during this phase.
36
+ attr_reader :enabled
37
+ # 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.
38
+ attr_reader :liability
39
+ end
40
+
41
+ class InvoiceSettings < Stripe::StripeObject
42
+ class Issuer < Stripe::StripeObject
43
+ # The connected account being referenced when `type` is `account`.
44
+ attr_reader :account
45
+ # Type of the account referenced.
46
+ attr_reader :type
47
+ end
48
+ # The account tax IDs associated with the subscription schedule. Will be set on invoices generated by the subscription schedule.
49
+ attr_reader :account_tax_ids
50
+ # 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`.
51
+ attr_reader :days_until_due
52
+ # Attribute for field issuer
53
+ attr_reader :issuer
54
+ end
55
+
56
+ class TransferData < Stripe::StripeObject
57
+ # 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.
58
+ attr_reader :amount_percent
59
+ # The account where funds from the payment will be transferred to upon payment success.
60
+ attr_reader :destination
61
+ end
62
+ # 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 during this phase of the schedule.
63
+ attr_reader :application_fee_percent
64
+ # Attribute for field automatic_tax
65
+ attr_reader :automatic_tax
66
+ # Possible values are `phase_start` or `automatic`. If `phase_start` then billing cycle anchor of the subscription is set to the start of the phase when entering the phase. If `automatic` then the billing cycle anchor is automatically modified as needed when entering the phase. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle).
67
+ attr_reader :billing_cycle_anchor
68
+ # 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`.
69
+ attr_reader :collection_method
70
+ # ID of the default payment method for the subscription schedule. If not set, invoices will use the default payment method in the customer's invoice settings.
71
+ attr_reader :default_payment_method
72
+ # 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.
73
+ attr_reader :description
74
+ # Attribute for field invoice_settings
75
+ attr_reader :invoice_settings
76
+ # The account (if any) the charge was made on behalf of for charges associated with the schedule's subscription. See the Connect documentation for details.
77
+ attr_reader :on_behalf_of
78
+ # The account (if any) the associated subscription's payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the subscription's invoices.
79
+ attr_reader :transfer_data
80
+ end
81
+
82
+ class Phase < Stripe::StripeObject
83
+ class AddInvoiceItem < Stripe::StripeObject
84
+ class Discount < Stripe::StripeObject
85
+ # ID of the coupon to create a new discount for.
86
+ attr_reader :coupon
87
+ # ID of an existing discount on the object (or one of its ancestors) to reuse.
88
+ attr_reader :discount
89
+ # ID of the promotion code to create a new discount for.
90
+ attr_reader :promotion_code
91
+ end
92
+ # The stackable discounts that will be applied to the item.
93
+ attr_reader :discounts
94
+ # ID of the price used to generate the invoice item.
95
+ attr_reader :price
96
+ # The quantity of the invoice item.
97
+ attr_reader :quantity
98
+ # The tax rates which apply to the item. When set, the `default_tax_rates` do not apply to this item.
99
+ attr_reader :tax_rates
100
+ end
101
+
102
+ class AutomaticTax < Stripe::StripeObject
103
+ class Liability < Stripe::StripeObject
104
+ # The connected account being referenced when `type` is `account`.
105
+ attr_reader :account
106
+ # Type of the account referenced.
107
+ attr_reader :type
108
+ end
109
+ # If Stripe disabled automatic tax, this enum describes why.
110
+ attr_reader :disabled_reason
111
+ # Whether Stripe automatically computes tax on invoices created during this phase.
112
+ attr_reader :enabled
113
+ # 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.
114
+ attr_reader :liability
115
+ end
116
+
117
+ class Discount < Stripe::StripeObject
118
+ # ID of the coupon to create a new discount for.
119
+ attr_reader :coupon
120
+ # ID of an existing discount on the object (or one of its ancestors) to reuse.
121
+ attr_reader :discount
122
+ # ID of the promotion code to create a new discount for.
123
+ attr_reader :promotion_code
124
+ end
125
+
126
+ class InvoiceSettings < Stripe::StripeObject
127
+ class Issuer < Stripe::StripeObject
128
+ # The connected account being referenced when `type` is `account`.
129
+ attr_reader :account
130
+ # Type of the account referenced.
131
+ attr_reader :type
132
+ end
133
+ # 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.
134
+ attr_reader :account_tax_ids
135
+ # 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`.
136
+ attr_reader :days_until_due
137
+ # The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.
138
+ attr_reader :issuer
139
+ end
140
+
141
+ class Item < Stripe::StripeObject
142
+ class Discount < Stripe::StripeObject
143
+ # ID of the coupon to create a new discount for.
144
+ attr_reader :coupon
145
+ # ID of an existing discount on the object (or one of its ancestors) to reuse.
146
+ attr_reader :discount
147
+ # ID of the promotion code to create a new discount for.
148
+ attr_reader :promotion_code
149
+ end
150
+ # The discounts applied to the subscription item. Subscription item discounts are applied before subscription discounts. Use `expand[]=discounts` to expand each discount.
151
+ attr_reader :discounts
152
+ # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an item. Metadata on this item will update the underlying subscription item's `metadata` when the phase is entered.
153
+ attr_reader :metadata
154
+ # ID of the plan to which the customer should be subscribed.
155
+ attr_reader :plan
156
+ # ID of the price to which the customer should be subscribed.
157
+ attr_reader :price
158
+ # Quantity of the plan to which the customer should be subscribed.
159
+ attr_reader :quantity
160
+ # The tax rates which apply to this `phase_item`. When set, the `default_tax_rates` on the phase do not apply to this `phase_item`.
161
+ attr_reader :tax_rates
162
+ end
163
+
164
+ class TransferData < Stripe::StripeObject
165
+ # 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.
166
+ attr_reader :amount_percent
167
+ # The account where funds from the payment will be transferred to upon payment success.
168
+ attr_reader :destination
169
+ end
170
+ # A list of prices and quantities that will generate invoice items appended to the next invoice for this phase.
171
+ attr_reader :add_invoice_items
172
+ # 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 during this phase of the schedule.
173
+ attr_reader :application_fee_percent
174
+ # Attribute for field automatic_tax
175
+ attr_reader :automatic_tax
176
+ # Possible values are `phase_start` or `automatic`. If `phase_start` then billing cycle anchor of the subscription is set to the start of the phase when entering the phase. If `automatic` then the billing cycle anchor is automatically modified as needed when entering the phase. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle).
177
+ attr_reader :billing_cycle_anchor
178
+ # 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`.
179
+ attr_reader :collection_method
180
+ # 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).
181
+ attr_reader :currency
182
+ # 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.
183
+ attr_reader :default_payment_method
184
+ # The default tax rates to apply to the subscription during this phase of the subscription schedule.
185
+ attr_reader :default_tax_rates
186
+ # 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.
187
+ attr_reader :description
188
+ # The stackable discounts that will be applied to the subscription on this phase. Subscription item discounts are applied before subscription discounts.
189
+ attr_reader :discounts
190
+ # The end of this phase of the subscription schedule.
191
+ attr_reader :end_date
192
+ # The invoice settings applicable during this phase.
193
+ attr_reader :invoice_settings
194
+ # Subscription items to configure the subscription to during this phase of the subscription schedule.
195
+ attr_reader :items
196
+ # 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. Updating the underlying subscription's `metadata` directly will not affect the current phase's `metadata`.
197
+ attr_reader :metadata
198
+ # The account (if any) the charge was made on behalf of for charges associated with the schedule's subscription. See the Connect documentation for details.
199
+ attr_reader :on_behalf_of
200
+ # If the subscription schedule will prorate when transitioning to this phase. Possible values are `create_prorations` and `none`.
201
+ attr_reader :proration_behavior
202
+ # The start of this phase of the subscription schedule.
203
+ attr_reader :start_date
204
+ # The account (if any) the associated subscription's payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the subscription's invoices.
205
+ attr_reader :transfer_data
206
+ # When the trial ends within the phase.
207
+ attr_reader :trial_end
208
+ end
209
+
210
+ class ListParams < Stripe::RequestParams
211
+ class CanceledAt < Stripe::RequestParams
212
+ # Minimum value to filter by (exclusive)
213
+ attr_accessor :gt
214
+ # Minimum value to filter by (inclusive)
215
+ attr_accessor :gte
216
+ # Maximum value to filter by (exclusive)
217
+ attr_accessor :lt
218
+ # Maximum value to filter by (inclusive)
219
+ attr_accessor :lte
220
+
221
+ def initialize(gt: nil, gte: nil, lt: nil, lte: nil)
222
+ @gt = gt
223
+ @gte = gte
224
+ @lt = lt
225
+ @lte = lte
226
+ end
227
+ end
228
+
229
+ class CompletedAt < Stripe::RequestParams
230
+ # Minimum value to filter by (exclusive)
231
+ attr_accessor :gt
232
+ # Minimum value to filter by (inclusive)
233
+ attr_accessor :gte
234
+ # Maximum value to filter by (exclusive)
235
+ attr_accessor :lt
236
+ # Maximum value to filter by (inclusive)
237
+ attr_accessor :lte
238
+
239
+ def initialize(gt: nil, gte: nil, lt: nil, lte: nil)
240
+ @gt = gt
241
+ @gte = gte
242
+ @lt = lt
243
+ @lte = lte
244
+ end
245
+ end
246
+
247
+ class Created < Stripe::RequestParams
248
+ # Minimum value to filter by (exclusive)
249
+ attr_accessor :gt
250
+ # Minimum value to filter by (inclusive)
251
+ attr_accessor :gte
252
+ # Maximum value to filter by (exclusive)
253
+ attr_accessor :lt
254
+ # Maximum value to filter by (inclusive)
255
+ attr_accessor :lte
256
+
257
+ def initialize(gt: nil, gte: nil, lt: nil, lte: nil)
258
+ @gt = gt
259
+ @gte = gte
260
+ @lt = lt
261
+ @lte = lte
262
+ end
263
+ end
264
+
265
+ class ReleasedAt < Stripe::RequestParams
266
+ # Minimum value to filter by (exclusive)
267
+ attr_accessor :gt
268
+ # Minimum value to filter by (inclusive)
269
+ attr_accessor :gte
270
+ # Maximum value to filter by (exclusive)
271
+ attr_accessor :lt
272
+ # Maximum value to filter by (inclusive)
273
+ attr_accessor :lte
274
+
275
+ def initialize(gt: nil, gte: nil, lt: nil, lte: nil)
276
+ @gt = gt
277
+ @gte = gte
278
+ @lt = lt
279
+ @lte = lte
280
+ end
281
+ end
282
+ # Only return subscription schedules that were created canceled the given date interval.
283
+ attr_accessor :canceled_at
284
+ # Only return subscription schedules that completed during the given date interval.
285
+ attr_accessor :completed_at
286
+ # Only return subscription schedules that were created during the given date interval.
287
+ attr_accessor :created
288
+ # Only return subscription schedules for the given customer.
289
+ attr_accessor :customer
290
+ # 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.
291
+ attr_accessor :ending_before
292
+ # Specifies which fields in the response should be expanded.
293
+ attr_accessor :expand
294
+ # A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
295
+ attr_accessor :limit
296
+ # Only return subscription schedules that were released during the given date interval.
297
+ attr_accessor :released_at
298
+ # Only return subscription schedules that have not started yet.
299
+ attr_accessor :scheduled
300
+ # 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.
301
+ attr_accessor :starting_after
302
+
303
+ def initialize(
304
+ canceled_at: nil,
305
+ completed_at: nil,
306
+ created: nil,
307
+ customer: nil,
308
+ ending_before: nil,
309
+ expand: nil,
310
+ limit: nil,
311
+ released_at: nil,
312
+ scheduled: nil,
313
+ starting_after: nil
314
+ )
315
+ @canceled_at = canceled_at
316
+ @completed_at = completed_at
317
+ @created = created
318
+ @customer = customer
319
+ @ending_before = ending_before
320
+ @expand = expand
321
+ @limit = limit
322
+ @released_at = released_at
323
+ @scheduled = scheduled
324
+ @starting_after = starting_after
325
+ end
326
+ end
327
+
328
+ class CreateParams < Stripe::RequestParams
329
+ class DefaultSettings < Stripe::RequestParams
330
+ class AutomaticTax < Stripe::RequestParams
331
+ class Liability < Stripe::RequestParams
332
+ # The connected account being referenced when `type` is `account`.
333
+ attr_accessor :account
334
+ # Type of the account referenced in the request.
335
+ attr_accessor :type
336
+
337
+ def initialize(account: nil, type: nil)
338
+ @account = account
339
+ @type = type
340
+ end
341
+ end
342
+ # Enabled automatic tax calculation which will automatically compute tax rates on all invoices generated by the subscription.
343
+ attr_accessor :enabled
344
+ # 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.
345
+ attr_accessor :liability
346
+
347
+ def initialize(enabled: nil, liability: nil)
348
+ @enabled = enabled
349
+ @liability = liability
350
+ end
351
+ end
352
+
353
+ class InvoiceSettings < Stripe::RequestParams
354
+ class Issuer < Stripe::RequestParams
355
+ # The connected account being referenced when `type` is `account`.
356
+ attr_accessor :account
357
+ # Type of the account referenced in the request.
358
+ attr_accessor :type
359
+
360
+ def initialize(account: nil, type: nil)
361
+ @account = account
362
+ @type = type
363
+ end
364
+ end
365
+ # The account tax IDs associated with the subscription schedule. Will be set on invoices generated by the subscription schedule.
366
+ attr_accessor :account_tax_ids
367
+ # 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`.
368
+ attr_accessor :days_until_due
369
+ # The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.
370
+ attr_accessor :issuer
371
+
372
+ def initialize(account_tax_ids: nil, days_until_due: nil, issuer: nil)
373
+ @account_tax_ids = account_tax_ids
374
+ @days_until_due = days_until_due
375
+ @issuer = issuer
376
+ end
377
+ end
378
+
379
+ class TransferData < Stripe::RequestParams
380
+ # 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.
381
+ attr_accessor :amount_percent
382
+ # ID of an existing, connected Stripe account.
383
+ attr_accessor :destination
384
+
385
+ def initialize(amount_percent: nil, destination: nil)
386
+ @amount_percent = amount_percent
387
+ @destination = destination
388
+ end
389
+ end
390
+ # 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).
391
+ attr_accessor :application_fee_percent
392
+ # Default settings for automatic tax computation.
393
+ attr_accessor :automatic_tax
394
+ # 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).
395
+ attr_accessor :billing_cycle_anchor
396
+ # 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.
397
+ attr_accessor :collection_method
398
+ # 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.
399
+ attr_accessor :default_payment_method
400
+ # 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.
401
+ attr_accessor :description
402
+ # All invoices will be billed using the specified settings.
403
+ attr_accessor :invoice_settings
404
+ # The account on behalf of which to charge, for each of the associated subscription's invoices.
405
+ attr_accessor :on_behalf_of
406
+ # The data with which to automatically create a Transfer for each of the associated subscription's invoices.
407
+ attr_accessor :transfer_data
408
+
409
+ def initialize(
410
+ application_fee_percent: nil,
411
+ automatic_tax: nil,
412
+ billing_cycle_anchor: nil,
413
+ collection_method: nil,
414
+ default_payment_method: nil,
415
+ description: nil,
416
+ invoice_settings: nil,
417
+ on_behalf_of: nil,
418
+ transfer_data: nil
419
+ )
420
+ @application_fee_percent = application_fee_percent
421
+ @automatic_tax = automatic_tax
422
+ @billing_cycle_anchor = billing_cycle_anchor
423
+ @collection_method = collection_method
424
+ @default_payment_method = default_payment_method
425
+ @description = description
426
+ @invoice_settings = invoice_settings
427
+ @on_behalf_of = on_behalf_of
428
+ @transfer_data = transfer_data
429
+ end
430
+ end
431
+
432
+ class Phase < Stripe::RequestParams
433
+ class AddInvoiceItem < Stripe::RequestParams
434
+ class Discount < Stripe::RequestParams
435
+ # ID of the coupon to create a new discount for.
436
+ attr_accessor :coupon
437
+ # ID of an existing discount on the object (or one of its ancestors) to reuse.
438
+ attr_accessor :discount
439
+ # ID of the promotion code to create a new discount for.
440
+ attr_accessor :promotion_code
441
+
442
+ def initialize(coupon: nil, discount: nil, promotion_code: nil)
443
+ @coupon = coupon
444
+ @discount = discount
445
+ @promotion_code = promotion_code
446
+ end
447
+ end
448
+
449
+ class PriceData < Stripe::RequestParams
450
+ # 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).
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
+ attr_accessor :product
454
+ # 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.
455
+ attr_accessor :tax_behavior
456
+ # 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.
457
+ attr_accessor :unit_amount
458
+ # 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.
459
+ attr_accessor :unit_amount_decimal
460
+
461
+ def initialize(
462
+ currency: nil,
463
+ product: nil,
464
+ tax_behavior: nil,
465
+ unit_amount: nil,
466
+ unit_amount_decimal: nil
467
+ )
468
+ @currency = currency
469
+ @product = product
470
+ @tax_behavior = tax_behavior
471
+ @unit_amount = unit_amount
472
+ @unit_amount_decimal = unit_amount_decimal
473
+ end
474
+ end
475
+ # The coupons to redeem into discounts for the item.
476
+ attr_accessor :discounts
477
+ # The ID of the price object. One of `price` or `price_data` is required.
478
+ attr_accessor :price
479
+ # Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required.
480
+ attr_accessor :price_data
481
+ # Quantity for this item. Defaults to 1.
482
+ attr_accessor :quantity
483
+ # The tax rates which apply to the item. When set, the `default_tax_rates` do not apply to this item.
484
+ attr_accessor :tax_rates
485
+
486
+ def initialize(discounts: nil, price: nil, price_data: nil, quantity: nil, tax_rates: nil)
487
+ @discounts = discounts
488
+ @price = price
489
+ @price_data = price_data
490
+ @quantity = quantity
491
+ @tax_rates = tax_rates
492
+ end
493
+ end
494
+
495
+ class AutomaticTax < Stripe::RequestParams
496
+ class Liability < Stripe::RequestParams
497
+ # The connected account being referenced when `type` is `account`.
498
+ attr_accessor :account
499
+ # Type of the account referenced in the request.
500
+ attr_accessor :type
501
+
502
+ def initialize(account: nil, type: nil)
503
+ @account = account
504
+ @type = type
505
+ end
506
+ end
507
+ # Enabled automatic tax calculation which will automatically compute tax rates on all invoices generated by the subscription.
508
+ attr_accessor :enabled
509
+ # 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.
510
+ attr_accessor :liability
511
+
512
+ def initialize(enabled: nil, liability: nil)
513
+ @enabled = enabled
514
+ @liability = liability
515
+ end
516
+ end
517
+
518
+ class Discount < Stripe::RequestParams
519
+ # ID of the coupon to create a new discount for.
520
+ attr_accessor :coupon
521
+ # ID of an existing discount on the object (or one of its ancestors) to reuse.
522
+ attr_accessor :discount
523
+ # ID of the promotion code to create a new discount for.
524
+ attr_accessor :promotion_code
525
+
526
+ def initialize(coupon: nil, discount: nil, promotion_code: nil)
527
+ @coupon = coupon
528
+ @discount = discount
529
+ @promotion_code = promotion_code
530
+ end
531
+ end
532
+
533
+ class InvoiceSettings < Stripe::RequestParams
534
+ class Issuer < Stripe::RequestParams
535
+ # The connected account being referenced when `type` is `account`.
536
+ attr_accessor :account
537
+ # Type of the account referenced in the request.
538
+ attr_accessor :type
539
+
540
+ def initialize(account: nil, type: nil)
541
+ @account = account
542
+ @type = type
543
+ end
544
+ end
545
+ # 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.
546
+ attr_accessor :account_tax_ids
547
+ # 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`.
548
+ attr_accessor :days_until_due
549
+ # The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.
550
+ attr_accessor :issuer
551
+
552
+ def initialize(account_tax_ids: nil, days_until_due: nil, issuer: nil)
553
+ @account_tax_ids = account_tax_ids
554
+ @days_until_due = days_until_due
555
+ @issuer = issuer
556
+ end
557
+ end
558
+
559
+ class Item < Stripe::RequestParams
560
+ class Discount < Stripe::RequestParams
561
+ # ID of the coupon to create a new discount for.
562
+ attr_accessor :coupon
563
+ # ID of an existing discount on the object (or one of its ancestors) to reuse.
564
+ attr_accessor :discount
565
+ # ID of the promotion code to create a new discount for.
566
+ attr_accessor :promotion_code
567
+
568
+ def initialize(coupon: nil, discount: nil, promotion_code: nil)
569
+ @coupon = coupon
570
+ @discount = discount
571
+ @promotion_code = promotion_code
572
+ end
573
+ end
574
+
575
+ class PriceData < Stripe::RequestParams
576
+ class Recurring < Stripe::RequestParams
577
+ # Specifies billing frequency. Either `day`, `week`, `month` or `year`.
578
+ attr_accessor :interval
579
+ # 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).
580
+ attr_accessor :interval_count
581
+
582
+ def initialize(interval: nil, interval_count: nil)
583
+ @interval = interval
584
+ @interval_count = interval_count
585
+ end
586
+ end
587
+ # 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).
588
+ attr_accessor :currency
589
+ # The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to.
590
+ attr_accessor :product
591
+ # The recurring components of a price such as `interval` and `interval_count`.
592
+ attr_accessor :recurring
593
+ # 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.
594
+ attr_accessor :tax_behavior
595
+ # A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge.
596
+ attr_accessor :unit_amount
597
+ # 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.
598
+ attr_accessor :unit_amount_decimal
599
+
600
+ def initialize(
601
+ currency: nil,
602
+ product: nil,
603
+ recurring: nil,
604
+ tax_behavior: nil,
605
+ unit_amount: nil,
606
+ unit_amount_decimal: nil
607
+ )
608
+ @currency = currency
609
+ @product = product
610
+ @recurring = recurring
611
+ @tax_behavior = tax_behavior
612
+ @unit_amount = unit_amount
613
+ @unit_amount_decimal = unit_amount_decimal
614
+ end
615
+ end
616
+ # The coupons to redeem into discounts for the subscription item.
617
+ attr_accessor :discounts
618
+ # 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`.
619
+ attr_accessor :metadata
620
+ # The plan ID to subscribe to. You may specify the same ID in `plan` and `price`.
621
+ attr_accessor :plan
622
+ # The ID of the price object.
623
+ attr_accessor :price
624
+ # Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline.
625
+ attr_accessor :price_data
626
+ # Quantity for the given price. Can be set only if the price's `usage_type` is `licensed` and not `metered`.
627
+ attr_accessor :quantity
628
+ # 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.
629
+ attr_accessor :tax_rates
630
+
631
+ def initialize(
632
+ discounts: nil,
633
+ metadata: nil,
634
+ plan: nil,
635
+ price: nil,
636
+ price_data: nil,
637
+ quantity: nil,
638
+ tax_rates: nil
639
+ )
640
+ @discounts = discounts
641
+ @metadata = metadata
642
+ @plan = plan
643
+ @price = price
644
+ @price_data = price_data
645
+ @quantity = quantity
646
+ @tax_rates = tax_rates
647
+ end
648
+ end
649
+
650
+ class TransferData < Stripe::RequestParams
651
+ # 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.
652
+ attr_accessor :amount_percent
653
+ # ID of an existing, connected Stripe account.
654
+ attr_accessor :destination
655
+
656
+ def initialize(amount_percent: nil, destination: nil)
657
+ @amount_percent = amount_percent
658
+ @destination = destination
659
+ end
660
+ end
661
+ # 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.
662
+ attr_accessor :add_invoice_items
663
+ # 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).
664
+ attr_accessor :application_fee_percent
665
+ # Automatic tax settings for this phase.
666
+ attr_accessor :automatic_tax
667
+ # 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).
668
+ attr_accessor :billing_cycle_anchor
669
+ # 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.
670
+ attr_accessor :collection_method
671
+ # 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).
672
+ attr_accessor :currency
673
+ # 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.
674
+ attr_accessor :default_payment_method
675
+ # 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.
676
+ attr_accessor :default_tax_rates
677
+ # 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.
678
+ attr_accessor :description
679
+ # 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.
680
+ attr_accessor :discounts
681
+ # The date at which this phase of the subscription schedule ends. If set, `iterations` must not be set.
682
+ attr_accessor :end_date
683
+ # All invoices will be billed using the specified settings.
684
+ attr_accessor :invoice_settings
685
+ # List of configuration items, each with an attached price, to apply during this phase of the subscription schedule.
686
+ attr_accessor :items
687
+ # 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.
688
+ attr_accessor :iterations
689
+ # 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`.
690
+ attr_accessor :metadata
691
+ # The account on behalf of which to charge, for each of the associated subscription's invoices.
692
+ attr_accessor :on_behalf_of
693
+ # Whether the subscription schedule will create [prorations](https://stripe.com/docs/billing/subscriptions/prorations) when transitioning to this phase. The default value is `create_prorations`. This setting controls prorations when a phase is started asynchronously and it is persisted as a field on the phase. It's different from the request-level [proration_behavior](https://stripe.com/docs/api/subscription_schedules/update#update_subscription_schedule-proration_behavior) parameter which controls what happens if the update request affects the billing configuration of the current phase.
694
+ attr_accessor :proration_behavior
695
+ # The data with which to automatically create a Transfer for each of the associated subscription's invoices.
696
+ attr_accessor :transfer_data
697
+ # If set to true the entire phase is counted as a trial and the customer will not be charged for any fees.
698
+ attr_accessor :trial
699
+ # 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`
700
+ attr_accessor :trial_end
701
+
702
+ def initialize(
703
+ add_invoice_items: nil,
704
+ application_fee_percent: nil,
705
+ automatic_tax: nil,
706
+ billing_cycle_anchor: nil,
707
+ collection_method: nil,
708
+ currency: nil,
709
+ default_payment_method: nil,
710
+ default_tax_rates: nil,
711
+ description: nil,
712
+ discounts: nil,
713
+ end_date: nil,
714
+ invoice_settings: nil,
715
+ items: nil,
716
+ iterations: nil,
717
+ metadata: nil,
718
+ on_behalf_of: nil,
719
+ proration_behavior: nil,
720
+ transfer_data: nil,
721
+ trial: nil,
722
+ trial_end: nil
723
+ )
724
+ @add_invoice_items = add_invoice_items
725
+ @application_fee_percent = application_fee_percent
726
+ @automatic_tax = automatic_tax
727
+ @billing_cycle_anchor = billing_cycle_anchor
728
+ @collection_method = collection_method
729
+ @currency = currency
730
+ @default_payment_method = default_payment_method
731
+ @default_tax_rates = default_tax_rates
732
+ @description = description
733
+ @discounts = discounts
734
+ @end_date = end_date
735
+ @invoice_settings = invoice_settings
736
+ @items = items
737
+ @iterations = iterations
738
+ @metadata = metadata
739
+ @on_behalf_of = on_behalf_of
740
+ @proration_behavior = proration_behavior
741
+ @transfer_data = transfer_data
742
+ @trial = trial
743
+ @trial_end = trial_end
744
+ end
745
+ end
746
+ # The identifier of the customer to create the subscription schedule for.
747
+ attr_accessor :customer
748
+ # Object representing the subscription schedule's default settings.
749
+ attr_accessor :default_settings
750
+ # 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.
751
+ attr_accessor :end_behavior
752
+ # Specifies which fields in the response should be expanded.
753
+ attr_accessor :expand
754
+ # 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.
755
+ attr_accessor :from_subscription
756
+ # 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`.
757
+ attr_accessor :metadata
758
+ # 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.
759
+ attr_accessor :phases
760
+ # 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.
761
+ attr_accessor :start_date
762
+
763
+ def initialize(
764
+ customer: nil,
765
+ default_settings: nil,
766
+ end_behavior: nil,
767
+ expand: nil,
768
+ from_subscription: nil,
769
+ metadata: nil,
770
+ phases: nil,
771
+ start_date: nil
772
+ )
773
+ @customer = customer
774
+ @default_settings = default_settings
775
+ @end_behavior = end_behavior
776
+ @expand = expand
777
+ @from_subscription = from_subscription
778
+ @metadata = metadata
779
+ @phases = phases
780
+ @start_date = start_date
781
+ end
782
+ end
783
+
784
+ class UpdateParams < Stripe::RequestParams
785
+ class DefaultSettings < Stripe::RequestParams
786
+ class AutomaticTax < Stripe::RequestParams
787
+ class Liability < Stripe::RequestParams
788
+ # The connected account being referenced when `type` is `account`.
789
+ attr_accessor :account
790
+ # Type of the account referenced in the request.
791
+ attr_accessor :type
792
+
793
+ def initialize(account: nil, type: nil)
794
+ @account = account
795
+ @type = type
796
+ end
797
+ end
798
+ # Enabled automatic tax calculation which will automatically compute tax rates on all invoices generated by the subscription.
799
+ attr_accessor :enabled
800
+ # 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.
801
+ attr_accessor :liability
802
+
803
+ def initialize(enabled: nil, liability: nil)
804
+ @enabled = enabled
805
+ @liability = liability
806
+ end
807
+ end
808
+
809
+ class InvoiceSettings < Stripe::RequestParams
810
+ class Issuer < Stripe::RequestParams
811
+ # The connected account being referenced when `type` is `account`.
812
+ attr_accessor :account
813
+ # Type of the account referenced in the request.
814
+ attr_accessor :type
815
+
816
+ def initialize(account: nil, type: nil)
817
+ @account = account
818
+ @type = type
819
+ end
820
+ end
821
+ # The account tax IDs associated with the subscription schedule. Will be set on invoices generated by the subscription schedule.
822
+ attr_accessor :account_tax_ids
823
+ # 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`.
824
+ attr_accessor :days_until_due
825
+ # The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.
826
+ attr_accessor :issuer
827
+
828
+ def initialize(account_tax_ids: nil, days_until_due: nil, issuer: nil)
829
+ @account_tax_ids = account_tax_ids
830
+ @days_until_due = days_until_due
831
+ @issuer = issuer
832
+ end
833
+ end
834
+
835
+ class TransferData < Stripe::RequestParams
836
+ # 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.
837
+ attr_accessor :amount_percent
838
+ # ID of an existing, connected Stripe account.
839
+ attr_accessor :destination
840
+
841
+ def initialize(amount_percent: nil, destination: nil)
842
+ @amount_percent = amount_percent
843
+ @destination = destination
844
+ end
845
+ end
846
+ # 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).
847
+ attr_accessor :application_fee_percent
848
+ # Default settings for automatic tax computation.
849
+ attr_accessor :automatic_tax
850
+ # 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).
851
+ attr_accessor :billing_cycle_anchor
852
+ # 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.
853
+ attr_accessor :collection_method
854
+ # 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.
855
+ attr_accessor :default_payment_method
856
+ # 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.
857
+ attr_accessor :description
858
+ # All invoices will be billed using the specified settings.
859
+ attr_accessor :invoice_settings
860
+ # The account on behalf of which to charge, for each of the associated subscription's invoices.
861
+ attr_accessor :on_behalf_of
862
+ # The data with which to automatically create a Transfer for each of the associated subscription's invoices.
863
+ attr_accessor :transfer_data
864
+
865
+ def initialize(
866
+ application_fee_percent: nil,
867
+ automatic_tax: nil,
868
+ billing_cycle_anchor: nil,
869
+ collection_method: nil,
870
+ default_payment_method: nil,
871
+ description: nil,
872
+ invoice_settings: nil,
873
+ on_behalf_of: nil,
874
+ transfer_data: nil
875
+ )
876
+ @application_fee_percent = application_fee_percent
877
+ @automatic_tax = automatic_tax
878
+ @billing_cycle_anchor = billing_cycle_anchor
879
+ @collection_method = collection_method
880
+ @default_payment_method = default_payment_method
881
+ @description = description
882
+ @invoice_settings = invoice_settings
883
+ @on_behalf_of = on_behalf_of
884
+ @transfer_data = transfer_data
885
+ end
886
+ end
887
+
888
+ class Phase < Stripe::RequestParams
889
+ class AddInvoiceItem < Stripe::RequestParams
890
+ class Discount < Stripe::RequestParams
891
+ # ID of the coupon to create a new discount for.
892
+ attr_accessor :coupon
893
+ # ID of an existing discount on the object (or one of its ancestors) to reuse.
894
+ attr_accessor :discount
895
+ # ID of the promotion code to create a new discount for.
896
+ attr_accessor :promotion_code
897
+
898
+ def initialize(coupon: nil, discount: nil, promotion_code: nil)
899
+ @coupon = coupon
900
+ @discount = discount
901
+ @promotion_code = promotion_code
902
+ end
903
+ end
904
+
905
+ class PriceData < Stripe::RequestParams
906
+ # 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).
907
+ attr_accessor :currency
908
+ # The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to.
909
+ attr_accessor :product
910
+ # 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.
911
+ attr_accessor :tax_behavior
912
+ # 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.
913
+ attr_accessor :unit_amount
914
+ # 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.
915
+ attr_accessor :unit_amount_decimal
916
+
917
+ def initialize(
918
+ currency: nil,
919
+ product: nil,
920
+ tax_behavior: nil,
921
+ unit_amount: nil,
922
+ unit_amount_decimal: nil
923
+ )
924
+ @currency = currency
925
+ @product = product
926
+ @tax_behavior = tax_behavior
927
+ @unit_amount = unit_amount
928
+ @unit_amount_decimal = unit_amount_decimal
929
+ end
930
+ end
931
+ # The coupons to redeem into discounts for the item.
932
+ attr_accessor :discounts
933
+ # The ID of the price object. One of `price` or `price_data` is required.
934
+ attr_accessor :price
935
+ # Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required.
936
+ attr_accessor :price_data
937
+ # Quantity for this item. Defaults to 1.
938
+ attr_accessor :quantity
939
+ # The tax rates which apply to the item. When set, the `default_tax_rates` do not apply to this item.
940
+ attr_accessor :tax_rates
941
+
942
+ def initialize(discounts: nil, price: nil, price_data: nil, quantity: nil, tax_rates: nil)
943
+ @discounts = discounts
944
+ @price = price
945
+ @price_data = price_data
946
+ @quantity = quantity
947
+ @tax_rates = tax_rates
948
+ end
949
+ end
950
+
951
+ class AutomaticTax < Stripe::RequestParams
952
+ class Liability < Stripe::RequestParams
953
+ # The connected account being referenced when `type` is `account`.
954
+ attr_accessor :account
955
+ # Type of the account referenced in the request.
956
+ attr_accessor :type
957
+
958
+ def initialize(account: nil, type: nil)
959
+ @account = account
960
+ @type = type
961
+ end
962
+ end
963
+ # Enabled automatic tax calculation which will automatically compute tax rates on all invoices generated by the subscription.
964
+ attr_accessor :enabled
965
+ # 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.
966
+ attr_accessor :liability
967
+
968
+ def initialize(enabled: nil, liability: nil)
969
+ @enabled = enabled
970
+ @liability = liability
971
+ end
972
+ end
973
+
974
+ class Discount < Stripe::RequestParams
975
+ # ID of the coupon to create a new discount for.
976
+ attr_accessor :coupon
977
+ # ID of an existing discount on the object (or one of its ancestors) to reuse.
978
+ attr_accessor :discount
979
+ # ID of the promotion code to create a new discount for.
980
+ attr_accessor :promotion_code
981
+
982
+ def initialize(coupon: nil, discount: nil, promotion_code: nil)
983
+ @coupon = coupon
984
+ @discount = discount
985
+ @promotion_code = promotion_code
986
+ end
987
+ end
988
+
989
+ class InvoiceSettings < Stripe::RequestParams
990
+ class Issuer < Stripe::RequestParams
991
+ # The connected account being referenced when `type` is `account`.
992
+ attr_accessor :account
993
+ # Type of the account referenced in the request.
994
+ attr_accessor :type
995
+
996
+ def initialize(account: nil, type: nil)
997
+ @account = account
998
+ @type = type
999
+ end
1000
+ end
1001
+ # 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.
1002
+ attr_accessor :account_tax_ids
1003
+ # 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`.
1004
+ attr_accessor :days_until_due
1005
+ # The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.
1006
+ attr_accessor :issuer
1007
+
1008
+ def initialize(account_tax_ids: nil, days_until_due: nil, issuer: nil)
1009
+ @account_tax_ids = account_tax_ids
1010
+ @days_until_due = days_until_due
1011
+ @issuer = issuer
1012
+ end
1013
+ end
1014
+
1015
+ class Item < Stripe::RequestParams
1016
+ class Discount < Stripe::RequestParams
1017
+ # ID of the coupon to create a new discount for.
1018
+ attr_accessor :coupon
1019
+ # ID of an existing discount on the object (or one of its ancestors) to reuse.
1020
+ attr_accessor :discount
1021
+ # ID of the promotion code to create a new discount for.
1022
+ attr_accessor :promotion_code
1023
+
1024
+ def initialize(coupon: nil, discount: nil, promotion_code: nil)
1025
+ @coupon = coupon
1026
+ @discount = discount
1027
+ @promotion_code = promotion_code
1028
+ end
1029
+ end
1030
+
1031
+ class PriceData < Stripe::RequestParams
1032
+ class Recurring < Stripe::RequestParams
1033
+ # Specifies billing frequency. Either `day`, `week`, `month` or `year`.
1034
+ attr_accessor :interval
1035
+ # 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).
1036
+ attr_accessor :interval_count
1037
+
1038
+ def initialize(interval: nil, interval_count: nil)
1039
+ @interval = interval
1040
+ @interval_count = interval_count
1041
+ end
1042
+ end
1043
+ # 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).
1044
+ attr_accessor :currency
1045
+ # The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to.
1046
+ attr_accessor :product
1047
+ # The recurring components of a price such as `interval` and `interval_count`.
1048
+ attr_accessor :recurring
1049
+ # 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.
1050
+ attr_accessor :tax_behavior
1051
+ # A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge.
1052
+ attr_accessor :unit_amount
1053
+ # 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.
1054
+ attr_accessor :unit_amount_decimal
1055
+
1056
+ def initialize(
1057
+ currency: nil,
1058
+ product: nil,
1059
+ recurring: nil,
1060
+ tax_behavior: nil,
1061
+ unit_amount: nil,
1062
+ unit_amount_decimal: nil
1063
+ )
1064
+ @currency = currency
1065
+ @product = product
1066
+ @recurring = recurring
1067
+ @tax_behavior = tax_behavior
1068
+ @unit_amount = unit_amount
1069
+ @unit_amount_decimal = unit_amount_decimal
1070
+ end
1071
+ end
1072
+ # The coupons to redeem into discounts for the subscription item.
1073
+ attr_accessor :discounts
1074
+ # 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`.
1075
+ attr_accessor :metadata
1076
+ # The plan ID to subscribe to. You may specify the same ID in `plan` and `price`.
1077
+ attr_accessor :plan
1078
+ # The ID of the price object.
1079
+ attr_accessor :price
1080
+ # Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline.
1081
+ attr_accessor :price_data
1082
+ # Quantity for the given price. Can be set only if the price's `usage_type` is `licensed` and not `metered`.
1083
+ attr_accessor :quantity
1084
+ # 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.
1085
+ attr_accessor :tax_rates
1086
+
1087
+ def initialize(
1088
+ discounts: nil,
1089
+ metadata: nil,
1090
+ plan: nil,
1091
+ price: nil,
1092
+ price_data: nil,
1093
+ quantity: nil,
1094
+ tax_rates: nil
1095
+ )
1096
+ @discounts = discounts
1097
+ @metadata = metadata
1098
+ @plan = plan
1099
+ @price = price
1100
+ @price_data = price_data
1101
+ @quantity = quantity
1102
+ @tax_rates = tax_rates
1103
+ end
1104
+ end
1105
+
1106
+ class TransferData < Stripe::RequestParams
1107
+ # 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.
1108
+ attr_accessor :amount_percent
1109
+ # ID of an existing, connected Stripe account.
1110
+ attr_accessor :destination
1111
+
1112
+ def initialize(amount_percent: nil, destination: nil)
1113
+ @amount_percent = amount_percent
1114
+ @destination = destination
1115
+ end
1116
+ end
1117
+ # 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.
1118
+ attr_accessor :add_invoice_items
1119
+ # 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).
1120
+ attr_accessor :application_fee_percent
1121
+ # Automatic tax settings for this phase.
1122
+ attr_accessor :automatic_tax
1123
+ # 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).
1124
+ attr_accessor :billing_cycle_anchor
1125
+ # 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.
1126
+ attr_accessor :collection_method
1127
+ # 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).
1128
+ attr_accessor :currency
1129
+ # 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.
1130
+ attr_accessor :default_payment_method
1131
+ # 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.
1132
+ attr_accessor :default_tax_rates
1133
+ # 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.
1134
+ attr_accessor :description
1135
+ # 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.
1136
+ attr_accessor :discounts
1137
+ # The date at which this phase of the subscription schedule ends. If set, `iterations` must not be set.
1138
+ attr_accessor :end_date
1139
+ # All invoices will be billed using the specified settings.
1140
+ attr_accessor :invoice_settings
1141
+ # List of configuration items, each with an attached price, to apply during this phase of the subscription schedule.
1142
+ attr_accessor :items
1143
+ # 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.
1144
+ attr_accessor :iterations
1145
+ # 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`.
1146
+ attr_accessor :metadata
1147
+ # The account on behalf of which to charge, for each of the associated subscription's invoices.
1148
+ attr_accessor :on_behalf_of
1149
+ # Whether the subscription schedule will create [prorations](https://stripe.com/docs/billing/subscriptions/prorations) when transitioning to this phase. The default value is `create_prorations`. This setting controls prorations when a phase is started asynchronously and it is persisted as a field on the phase. It's different from the request-level [proration_behavior](https://stripe.com/docs/api/subscription_schedules/update#update_subscription_schedule-proration_behavior) parameter which controls what happens if the update request affects the billing configuration of the current phase.
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
+ attr_accessor :start_date
1153
+ # The data with which to automatically create a Transfer for each of the associated subscription's invoices.
1154
+ attr_accessor :transfer_data
1155
+ # If set to true the entire phase is counted as a trial and the customer will not be charged for any fees.
1156
+ attr_accessor :trial
1157
+ # 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`
1158
+ attr_accessor :trial_end
1159
+
1160
+ def initialize(
1161
+ add_invoice_items: nil,
1162
+ application_fee_percent: nil,
1163
+ automatic_tax: nil,
1164
+ billing_cycle_anchor: nil,
1165
+ collection_method: nil,
1166
+ currency: nil,
1167
+ default_payment_method: nil,
1168
+ default_tax_rates: nil,
1169
+ description: nil,
1170
+ discounts: nil,
1171
+ end_date: nil,
1172
+ invoice_settings: nil,
1173
+ items: nil,
1174
+ iterations: nil,
1175
+ metadata: nil,
1176
+ on_behalf_of: nil,
1177
+ proration_behavior: nil,
1178
+ start_date: nil,
1179
+ transfer_data: nil,
1180
+ trial: nil,
1181
+ trial_end: nil
1182
+ )
1183
+ @add_invoice_items = add_invoice_items
1184
+ @application_fee_percent = application_fee_percent
1185
+ @automatic_tax = automatic_tax
1186
+ @billing_cycle_anchor = billing_cycle_anchor
1187
+ @collection_method = collection_method
1188
+ @currency = currency
1189
+ @default_payment_method = default_payment_method
1190
+ @default_tax_rates = default_tax_rates
1191
+ @description = description
1192
+ @discounts = discounts
1193
+ @end_date = end_date
1194
+ @invoice_settings = invoice_settings
1195
+ @items = items
1196
+ @iterations = iterations
1197
+ @metadata = metadata
1198
+ @on_behalf_of = on_behalf_of
1199
+ @proration_behavior = proration_behavior
1200
+ @start_date = start_date
1201
+ @transfer_data = transfer_data
1202
+ @trial = trial
1203
+ @trial_end = trial_end
1204
+ end
1205
+ end
1206
+ # Object representing the subscription schedule's default settings.
1207
+ attr_accessor :default_settings
1208
+ # 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.
1209
+ attr_accessor :end_behavior
1210
+ # Specifies which fields in the response should be expanded.
1211
+ attr_accessor :expand
1212
+ # 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`.
1213
+ attr_accessor :metadata
1214
+ # 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.
1215
+ attr_accessor :phases
1216
+ # If the update changes the current phase, indicates whether the changes should be prorated. The default value is `create_prorations`.
1217
+ attr_accessor :proration_behavior
1218
+
1219
+ def initialize(
1220
+ default_settings: nil,
1221
+ end_behavior: nil,
1222
+ expand: nil,
1223
+ metadata: nil,
1224
+ phases: nil,
1225
+ proration_behavior: nil
1226
+ )
1227
+ @default_settings = default_settings
1228
+ @end_behavior = end_behavior
1229
+ @expand = expand
1230
+ @metadata = metadata
1231
+ @phases = phases
1232
+ @proration_behavior = proration_behavior
1233
+ end
1234
+ end
1235
+
1236
+ class CancelParams < Stripe::RequestParams
1237
+ # Specifies which fields in the response should be expanded.
1238
+ attr_accessor :expand
1239
+ # 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`.
1240
+ attr_accessor :invoice_now
1241
+ # If the subscription schedule is `active`, indicates if the cancellation should be prorated. Defaults to `true`.
1242
+ attr_accessor :prorate
1243
+
1244
+ def initialize(expand: nil, invoice_now: nil, prorate: nil)
1245
+ @expand = expand
1246
+ @invoice_now = invoice_now
1247
+ @prorate = prorate
1248
+ end
1249
+ end
1250
+
1251
+ class ReleaseParams < Stripe::RequestParams
1252
+ # Specifies which fields in the response should be expanded.
1253
+ attr_accessor :expand
1254
+ # Keep any cancellation on the subscription that the schedule has set
1255
+ attr_accessor :preserve_cancel_date
1256
+
1257
+ def initialize(expand: nil, preserve_cancel_date: nil)
1258
+ @expand = expand
1259
+ @preserve_cancel_date = preserve_cancel_date
1260
+ end
1261
+ end
1262
+ # ID of the Connect Application that created the schedule.
1263
+ attr_reader :application
1264
+ # Time at which the subscription schedule was canceled. Measured in seconds since the Unix epoch.
1265
+ attr_reader :canceled_at
1266
+ # Time at which the subscription schedule was completed. Measured in seconds since the Unix epoch.
1267
+ attr_reader :completed_at
1268
+ # Time at which the object was created. Measured in seconds since the Unix epoch.
1269
+ attr_reader :created
1270
+ # Object representing the start and end dates for the current phase of the subscription schedule, if it is `active`.
1271
+ attr_reader :current_phase
1272
+ # ID of the customer who owns the subscription schedule.
1273
+ attr_reader :customer
1274
+ # Attribute for field default_settings
1275
+ attr_reader :default_settings
1276
+ # 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.
1277
+ attr_reader :end_behavior
1278
+ # Unique identifier for the object.
1279
+ attr_reader :id
1280
+ # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
1281
+ attr_reader :livemode
1282
+ # 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.
1283
+ attr_reader :metadata
1284
+ # String representing the object's type. Objects of the same type share the same value.
1285
+ attr_reader :object
1286
+ # Configuration for the subscription schedule's phases.
1287
+ attr_reader :phases
1288
+ # Time at which the subscription schedule was released. Measured in seconds since the Unix epoch.
1289
+ attr_reader :released_at
1290
+ # ID of the subscription once managed by the subscription schedule (if it is released).
1291
+ attr_reader :released_subscription
1292
+ # The present status of the subscription schedule. Possible values are `not_started`, `active`, `completed`, `released`, and `canceled`. You can read more about the different states in our [behavior guide](https://stripe.com/docs/billing/subscriptions/subscription-schedules).
1293
+ attr_reader :status
1294
+ # ID of the subscription managed by the subscription schedule.
1295
+ attr_reader :subscription
1296
+ # ID of the test clock this subscription schedule belongs to.
1297
+ attr_reader :test_clock
1298
+
18
1299
  # 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.
19
1300
  def cancel(params = {}, opts = {})
20
1301
  request_stripe_object(