stripe 18.3.0 → 18.4.0.pre.alpha.1

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 (791) hide show
  1. checksums.yaml +4 -4
  2. data/lib/stripe/api_requestor.rb +37 -1
  3. data/lib/stripe/api_version.rb +1 -2
  4. data/lib/stripe/errors.rb +66 -0
  5. data/lib/stripe/event_types.rb +512 -0
  6. data/lib/stripe/events/v2_billing_cadence_billed_event.rb +61 -0
  7. data/lib/stripe/events/v2_billing_cadence_canceled_event.rb +44 -0
  8. data/lib/stripe/events/v2_billing_cadence_created_event.rb +61 -0
  9. data/lib/stripe/events/v2_billing_license_fee_created_event.rb +44 -0
  10. data/lib/stripe/events/v2_billing_license_fee_updated_event.rb +44 -0
  11. data/lib/stripe/events/v2_billing_license_fee_version_created_event.rb +61 -0
  12. data/lib/stripe/events/v2_billing_licensed_item_created_event.rb +44 -0
  13. data/lib/stripe/events/v2_billing_licensed_item_updated_event.rb +44 -0
  14. data/lib/stripe/events/v2_billing_metered_item_created_event.rb +44 -0
  15. data/lib/stripe/events/v2_billing_metered_item_updated_event.rb +44 -0
  16. data/lib/stripe/events/v2_billing_pricing_plan_component_created_event.rb +61 -0
  17. data/lib/stripe/events/v2_billing_pricing_plan_component_updated_event.rb +61 -0
  18. data/lib/stripe/events/v2_billing_pricing_plan_created_event.rb +44 -0
  19. data/lib/stripe/events/v2_billing_pricing_plan_subscription_collection_awaiting_customer_action_event.rb +44 -0
  20. data/lib/stripe/events/v2_billing_pricing_plan_subscription_collection_current_event.rb +44 -0
  21. data/lib/stripe/events/v2_billing_pricing_plan_subscription_collection_past_due_event.rb +44 -0
  22. data/lib/stripe/events/v2_billing_pricing_plan_subscription_collection_paused_event.rb +44 -0
  23. data/lib/stripe/events/v2_billing_pricing_plan_subscription_collection_unpaid_event.rb +44 -0
  24. data/lib/stripe/events/v2_billing_pricing_plan_subscription_servicing_activated_event.rb +44 -0
  25. data/lib/stripe/events/v2_billing_pricing_plan_subscription_servicing_canceled_event.rb +44 -0
  26. data/lib/stripe/events/v2_billing_pricing_plan_subscription_servicing_paused_event.rb +44 -0
  27. data/lib/stripe/events/v2_billing_pricing_plan_updated_event.rb +44 -0
  28. data/lib/stripe/events/v2_billing_pricing_plan_version_created_event.rb +61 -0
  29. data/lib/stripe/events/v2_billing_rate_card_created_event.rb +61 -0
  30. data/lib/stripe/events/v2_billing_rate_card_rate_created_event.rb +67 -0
  31. data/lib/stripe/events/v2_billing_rate_card_subscription_activated_event.rb +44 -0
  32. data/lib/stripe/events/v2_billing_rate_card_subscription_canceled_event.rb +44 -0
  33. data/lib/stripe/events/v2_billing_rate_card_subscription_collection_awaiting_customer_action_event.rb +44 -0
  34. data/lib/stripe/events/v2_billing_rate_card_subscription_collection_current_event.rb +44 -0
  35. data/lib/stripe/events/v2_billing_rate_card_subscription_collection_past_due_event.rb +44 -0
  36. data/lib/stripe/events/v2_billing_rate_card_subscription_collection_paused_event.rb +44 -0
  37. data/lib/stripe/events/v2_billing_rate_card_subscription_collection_unpaid_event.rb +44 -0
  38. data/lib/stripe/events/v2_billing_rate_card_subscription_servicing_activated_event.rb +44 -0
  39. data/lib/stripe/events/v2_billing_rate_card_subscription_servicing_canceled_event.rb +44 -0
  40. data/lib/stripe/events/v2_billing_rate_card_subscription_servicing_paused_event.rb +44 -0
  41. data/lib/stripe/events/v2_billing_rate_card_updated_event.rb +44 -0
  42. data/lib/stripe/events/v2_billing_rate_card_version_created_event.rb +61 -0
  43. data/lib/stripe/events/v2_core_account_including_configuration_card_creator_capability_status_updated_event.rb +63 -0
  44. data/lib/stripe/events/v2_core_account_including_configuration_card_creator_updated_event.rb +44 -0
  45. data/lib/stripe/events/v2_core_account_including_configuration_storer_capability_status_updated_event.rb +63 -0
  46. data/lib/stripe/events/v2_core_account_including_configuration_storer_updated_event.rb +44 -0
  47. data/lib/stripe/events/v2_core_claimable_sandbox_claimed_event.rb +44 -0
  48. data/lib/stripe/events/v2_core_claimable_sandbox_created_event.rb +44 -0
  49. data/lib/stripe/events/v2_core_claimable_sandbox_expired_event.rb +44 -0
  50. data/lib/stripe/events/v2_core_claimable_sandbox_expiring_event.rb +44 -0
  51. data/lib/stripe/events/v2_core_claimable_sandbox_sandbox_details_owner_account_updated_event.rb +44 -0
  52. data/lib/stripe/events/v2_core_health_api_error_firing_event.rb +86 -0
  53. data/lib/stripe/events/v2_core_health_api_error_resolved_event.rb +86 -0
  54. data/lib/stripe/events/v2_core_health_api_latency_firing_event.rb +84 -0
  55. data/lib/stripe/events/v2_core_health_api_latency_resolved_event.rb +84 -0
  56. data/lib/stripe/events/v2_core_health_authorization_rate_drop_firing_event.rb +80 -0
  57. data/lib/stripe/events/v2_core_health_authorization_rate_drop_resolved_event.rb +80 -0
  58. data/lib/stripe/events/v2_core_health_event_generation_failure_resolved_event.rb +78 -0
  59. data/lib/stripe/events/v2_core_health_fraud_rate_increased_event.rb +78 -0
  60. data/lib/stripe/events/v2_core_health_issuing_authorization_request_errors_firing_event.rb +91 -0
  61. data/lib/stripe/events/v2_core_health_issuing_authorization_request_errors_resolved_event.rb +93 -0
  62. data/lib/stripe/events/v2_core_health_issuing_authorization_request_timeout_firing_event.rb +93 -0
  63. data/lib/stripe/events/v2_core_health_issuing_authorization_request_timeout_resolved_event.rb +93 -0
  64. data/lib/stripe/events/v2_core_health_payment_method_error_firing_event.rb +82 -0
  65. data/lib/stripe/events/v2_core_health_payment_method_error_resolved_event.rb +82 -0
  66. data/lib/stripe/events/v2_core_health_sepa_debit_delayed_firing_event.rb +58 -0
  67. data/lib/stripe/events/v2_core_health_sepa_debit_delayed_resolved_event.rb +60 -0
  68. data/lib/stripe/events/v2_core_health_traffic_volume_drop_firing_event.rb +62 -0
  69. data/lib/stripe/events/v2_core_health_traffic_volume_drop_resolved_event.rb +62 -0
  70. data/lib/stripe/events/v2_core_health_webhook_latency_firing_event.rb +58 -0
  71. data/lib/stripe/events/v2_core_health_webhook_latency_resolved_event.rb +58 -0
  72. data/lib/stripe/events/v2_iam_api_key_created_event.rb +20 -0
  73. data/lib/stripe/events/v2_iam_api_key_default_secret_revealed_event.rb +20 -0
  74. data/lib/stripe/events/v2_iam_api_key_expired_event.rb +20 -0
  75. data/lib/stripe/events/v2_iam_api_key_permissions_updated_event.rb +20 -0
  76. data/lib/stripe/events/v2_iam_api_key_rotated_event.rb +38 -0
  77. data/lib/stripe/events/v2_iam_api_key_updated_event.rb +20 -0
  78. data/lib/stripe/events/v2_money_management_adjustment_created_event.rb +44 -0
  79. data/lib/stripe/events/v2_money_management_financial_account_created_event.rb +44 -0
  80. data/lib/stripe/events/v2_money_management_financial_account_updated_event.rb +44 -0
  81. data/lib/stripe/events/v2_money_management_financial_address_activated_event.rb +44 -0
  82. data/lib/stripe/events/v2_money_management_financial_address_failed_event.rb +44 -0
  83. data/lib/stripe/events/v2_money_management_inbound_transfer_available_event.rb +61 -0
  84. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_failed_event.rb +44 -0
  85. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_processing_event.rb +44 -0
  86. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_queued_event.rb +44 -0
  87. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_returned_event.rb +44 -0
  88. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_succeeded_event.rb +44 -0
  89. data/lib/stripe/events/v2_money_management_outbound_payment_canceled_event.rb +44 -0
  90. data/lib/stripe/events/v2_money_management_outbound_payment_created_event.rb +44 -0
  91. data/lib/stripe/events/v2_money_management_outbound_payment_failed_event.rb +44 -0
  92. data/lib/stripe/events/v2_money_management_outbound_payment_posted_event.rb +44 -0
  93. data/lib/stripe/events/v2_money_management_outbound_payment_returned_event.rb +44 -0
  94. data/lib/stripe/events/v2_money_management_outbound_payment_updated_event.rb +44 -0
  95. data/lib/stripe/events/v2_money_management_outbound_transfer_canceled_event.rb +44 -0
  96. data/lib/stripe/events/v2_money_management_outbound_transfer_created_event.rb +44 -0
  97. data/lib/stripe/events/v2_money_management_outbound_transfer_failed_event.rb +44 -0
  98. data/lib/stripe/events/v2_money_management_outbound_transfer_posted_event.rb +44 -0
  99. data/lib/stripe/events/v2_money_management_outbound_transfer_returned_event.rb +44 -0
  100. data/lib/stripe/events/v2_money_management_outbound_transfer_updated_event.rb +44 -0
  101. data/lib/stripe/events/v2_money_management_payout_method_created_event.rb +44 -0
  102. data/lib/stripe/events/v2_money_management_payout_method_updated_event.rb +44 -0
  103. data/lib/stripe/events/v2_money_management_received_credit_available_event.rb +61 -0
  104. data/lib/stripe/events/v2_money_management_received_credit_failed_event.rb +44 -0
  105. data/lib/stripe/events/v2_money_management_received_credit_returned_event.rb +44 -0
  106. data/lib/stripe/events/v2_money_management_received_credit_succeeded_event.rb +44 -0
  107. data/lib/stripe/events/v2_money_management_received_debit_canceled_event.rb +44 -0
  108. data/lib/stripe/events/v2_money_management_received_debit_failed_event.rb +44 -0
  109. data/lib/stripe/events/v2_money_management_received_debit_pending_event.rb +44 -0
  110. data/lib/stripe/events/v2_money_management_received_debit_succeeded_event.rb +44 -0
  111. data/lib/stripe/events/v2_money_management_received_debit_updated_event.rb +44 -0
  112. data/lib/stripe/events/v2_money_management_recipient_verification_created_event.rb +44 -0
  113. data/lib/stripe/events/v2_money_management_recipient_verification_updated_event.rb +44 -0
  114. data/lib/stripe/events/v2_money_management_transaction_created_event.rb +61 -0
  115. data/lib/stripe/events/v2_money_management_transaction_updated_event.rb +44 -0
  116. data/lib/stripe/events/v2_payments_off_session_payment_attempt_failed_event.rb +44 -0
  117. data/lib/stripe/events/v2_payments_off_session_payment_attempt_started_event.rb +46 -0
  118. data/lib/stripe/events/v2_payments_off_session_payment_authorization_attempt_failed_event.rb +46 -0
  119. data/lib/stripe/events/v2_payments_off_session_payment_authorization_attempt_started_event.rb +48 -0
  120. data/lib/stripe/events/v2_payments_off_session_payment_canceled_event.rb +44 -0
  121. data/lib/stripe/events/v2_payments_off_session_payment_created_event.rb +44 -0
  122. data/lib/stripe/events/v2_payments_off_session_payment_failed_event.rb +44 -0
  123. data/lib/stripe/events/v2_payments_off_session_payment_requires_capture_event.rb +44 -0
  124. data/lib/stripe/events/v2_payments_off_session_payment_succeeded_event.rb +44 -0
  125. data/lib/stripe/events/v2_payments_settlement_allocation_intent_canceled_event.rb +44 -0
  126. data/lib/stripe/events/v2_payments_settlement_allocation_intent_created_event.rb +44 -0
  127. data/lib/stripe/events/v2_payments_settlement_allocation_intent_errored_event.rb +65 -0
  128. data/lib/stripe/events/v2_payments_settlement_allocation_intent_funds_not_received_event.rb +44 -0
  129. data/lib/stripe/events/v2_payments_settlement_allocation_intent_matched_event.rb +44 -0
  130. data/lib/stripe/events/v2_payments_settlement_allocation_intent_not_found_event.rb +38 -0
  131. data/lib/stripe/events/v2_payments_settlement_allocation_intent_settled_event.rb +44 -0
  132. data/lib/stripe/events/v2_payments_settlement_allocation_intent_split_canceled_event.rb +61 -0
  133. data/lib/stripe/events/v2_payments_settlement_allocation_intent_split_created_event.rb +61 -0
  134. data/lib/stripe/events/v2_payments_settlement_allocation_intent_split_settled_event.rb +61 -0
  135. data/lib/stripe/events/v2_payments_settlement_allocation_intent_submitted_event.rb +44 -0
  136. data/lib/stripe/events/v2_reporting_report_run_created_event.rb +44 -0
  137. data/lib/stripe/events/v2_reporting_report_run_failed_event.rb +44 -0
  138. data/lib/stripe/events/v2_reporting_report_run_succeeded_event.rb +44 -0
  139. data/lib/stripe/events/v2_reporting_report_run_updated_event.rb +44 -0
  140. data/lib/stripe/object_types.rb +95 -0
  141. data/lib/stripe/params/account_create_params.rb +381 -1
  142. data/lib/stripe/params/account_notice_list_params.rb +25 -0
  143. data/lib/stripe/params/account_notice_retrieve_params.rb +13 -0
  144. data/lib/stripe/params/account_notice_update_params.rb +36 -0
  145. data/lib/stripe/params/account_person_create_params.rb +32 -0
  146. data/lib/stripe/params/account_person_update_params.rb +32 -0
  147. data/lib/stripe/params/account_session_create_params.rb +243 -1
  148. data/lib/stripe/params/account_update_params.rb +343 -0
  149. data/lib/stripe/params/balance_transfer_create_params.rb +66 -0
  150. data/lib/stripe/params/billing/alert_create_params.rb +121 -1
  151. data/lib/stripe/params/billing/alert_list_params.rb +4 -0
  152. data/lib/stripe/params/billing/analytics/meter_usage_retrieve_params.rb +69 -0
  153. data/lib/stripe/params/billing/credit_balance_summary_retrieve_params.rb +13 -1
  154. data/lib/stripe/params/billing/credit_grant_create_params.rb +29 -2
  155. data/lib/stripe/params/billing/meter_create_params.rb +4 -0
  156. data/lib/stripe/params/billing/meter_event_summary_list_params.rb +8 -0
  157. data/lib/stripe/params/capital/financing_offer_create_params.rb +37 -0
  158. data/lib/stripe/params/capital/financing_offer_list_params.rb +58 -0
  159. data/lib/stripe/params/capital/financing_offer_mark_delivered_params.rb +15 -0
  160. data/lib/stripe/params/capital/financing_offer_refill_params.rb +37 -0
  161. data/lib/stripe/params/capital/financing_offer_retrieve_params.rb +15 -0
  162. data/lib/stripe/params/capital/financing_summary_retrieve_params.rb +15 -0
  163. data/lib/stripe/params/capital/financing_transaction_list_params.rb +45 -0
  164. data/lib/stripe/params/capital/financing_transaction_retrieve_params.rb +15 -0
  165. data/lib/stripe/params/charge_capture_params.rb +1648 -0
  166. data/lib/stripe/params/charge_update_params.rb +1648 -0
  167. data/lib/stripe/params/checkout/session_create_params.rb +224 -4
  168. data/lib/stripe/params/checkout/session_update_params.rb +156 -1
  169. data/lib/stripe/params/confirmation_token_create_params.rb +77 -0
  170. data/lib/stripe/params/coupon_create_params.rb +47 -1
  171. data/lib/stripe/params/customer_session_create_params.rb +32 -1
  172. data/lib/stripe/params/delegated_checkout/requested_session_confirm_params.rb +138 -0
  173. data/lib/stripe/params/delegated_checkout/requested_session_create_params.rb +205 -0
  174. data/lib/stripe/params/delegated_checkout/requested_session_expire_params.rb +15 -0
  175. data/lib/stripe/params/delegated_checkout/requested_session_retrieve_params.rb +15 -0
  176. data/lib/stripe/params/delegated_checkout/requested_session_update_params.rb +209 -0
  177. data/lib/stripe/params/dispute_update_params.rb +10 -1
  178. data/lib/stripe/params/external_account_create_params.rb +134 -0
  179. data/lib/stripe/params/external_account_delete_params.rb +6 -0
  180. data/lib/stripe/params/external_account_list_params.rb +25 -0
  181. data/lib/stripe/params/external_account_retrieve_params.rb +13 -0
  182. data/lib/stripe/params/external_account_update_params.rb +91 -0
  183. data/lib/stripe/params/financial_connections/account_inferred_balance_list_params.rb +24 -0
  184. data/lib/stripe/params/financial_connections/authorization_retrieve_params.rb +15 -0
  185. data/lib/stripe/params/financial_connections/institution_list_params.rb +24 -0
  186. data/lib/stripe/params/financial_connections/institution_retrieve_params.rb +15 -0
  187. data/lib/stripe/params/financial_connections/session_create_params.rb +46 -1
  188. data/lib/stripe/params/fr_meal_vouchers_onboarding_create_params.rb +25 -0
  189. data/lib/stripe/params/fr_meal_vouchers_onboarding_list_params.rb +22 -0
  190. data/lib/stripe/params/fr_meal_vouchers_onboarding_retrieve_params.rb +13 -0
  191. data/lib/stripe/params/fr_meal_vouchers_onboarding_update_params.rb +16 -0
  192. data/lib/stripe/params/fx_quote_create_params.rb +73 -0
  193. data/lib/stripe/params/fx_quote_list_params.rb +22 -0
  194. data/lib/stripe/params/fx_quote_retrieve_params.rb +13 -0
  195. data/lib/stripe/params/identity/blocklist_entry_create_params.rb +29 -0
  196. data/lib/stripe/params/identity/blocklist_entry_disable_params.rb +15 -0
  197. data/lib/stripe/params/identity/blocklist_entry_list_params.rb +62 -0
  198. data/lib/stripe/params/identity/blocklist_entry_retrieve_params.rb +15 -0
  199. data/lib/stripe/params/identity/verification_report_list_params.rb +4 -0
  200. data/lib/stripe/params/invoice_add_lines_params.rb +48 -1
  201. data/lib/stripe/params/invoice_attach_payment_params.rb +43 -1
  202. data/lib/stripe/params/invoice_create_params.rb +107 -2
  203. data/lib/stripe/params/invoice_create_preview_params.rb +1357 -9
  204. data/lib/stripe/params/invoice_detach_payment_params.rb +16 -0
  205. data/lib/stripe/params/invoice_item_create_params.rb +33 -1
  206. data/lib/stripe/params/invoice_item_update_params.rb +33 -1
  207. data/lib/stripe/params/invoice_line_item_update_params.rb +48 -1
  208. data/lib/stripe/params/invoice_list_params.rb +4 -0
  209. data/lib/stripe/params/invoice_update_lines_params.rb +48 -1
  210. data/lib/stripe/params/invoice_update_params.rb +107 -2
  211. data/lib/stripe/params/issuing/card_list_params.rb +34 -1
  212. data/lib/stripe/params/issuing/cardholder_create_params.rb +2 -1
  213. data/lib/stripe/params/issuing/credit_underwriting_record_correct_params.rb +163 -0
  214. data/lib/stripe/params/issuing/credit_underwriting_record_create_from_application_params.rb +50 -0
  215. data/lib/stripe/params/issuing/credit_underwriting_record_create_from_proactive_review_params.rb +128 -0
  216. data/lib/stripe/params/issuing/credit_underwriting_record_list_params.rb +24 -0
  217. data/lib/stripe/params/issuing/credit_underwriting_record_report_decision_params.rb +86 -0
  218. data/lib/stripe/params/issuing/credit_underwriting_record_retrieve_params.rb +15 -0
  219. data/lib/stripe/params/issuing/dispute_settlement_detail_list_params.rb +33 -0
  220. data/lib/stripe/params/issuing/dispute_settlement_detail_retrieve_params.rb +15 -0
  221. data/lib/stripe/params/issuing/fraud_liability_debit_list_params.rb +44 -0
  222. data/lib/stripe/params/issuing/fraud_liability_debit_retrieve_params.rb +15 -0
  223. data/lib/stripe/params/issuing/program_create_params.rb +21 -0
  224. data/lib/stripe/params/issuing/program_list_params.rb +24 -0
  225. data/lib/stripe/params/issuing/program_retrieve_params.rb +15 -0
  226. data/lib/stripe/params/issuing/program_update_params.rb +21 -0
  227. data/lib/stripe/params/issuing/transaction_list_params.rb +4 -0
  228. data/lib/stripe/params/mandate_list_params.rb +39 -0
  229. data/lib/stripe/params/margin_create_params.rb +25 -0
  230. data/lib/stripe/params/margin_list_params.rb +25 -0
  231. data/lib/stripe/params/margin_retrieve_params.rb +13 -0
  232. data/lib/stripe/params/margin_update_params.rb +22 -0
  233. data/lib/stripe/params/order_create_params.rb +2061 -0
  234. data/lib/stripe/params/order_list_params.rb +25 -0
  235. data/lib/stripe/params/order_retrieve_params.rb +13 -0
  236. data/lib/stripe/params/order_submit_params.rb +16 -0
  237. data/lib/stripe/params/order_update_params.rb +2065 -0
  238. data/lib/stripe/params/payment_intent_capture_params.rb +1627 -1
  239. data/lib/stripe/params/payment_intent_confirm_params.rb +3124 -126
  240. data/lib/stripe/params/payment_intent_create_params.rb +3141 -130
  241. data/lib/stripe/params/payment_intent_decrement_authorization_params.rb +73 -0
  242. data/lib/stripe/params/payment_intent_increment_authorization_params.rb +21 -0
  243. data/lib/stripe/params/payment_intent_trigger_action_params.rb +27 -0
  244. data/lib/stripe/params/payment_intent_update_params.rb +3187 -162
  245. data/lib/stripe/params/payment_link_create_params.rb +15 -0
  246. data/lib/stripe/params/payment_method_check_balance_params.rb +13 -0
  247. data/lib/stripe/params/payment_method_configuration_create_params.rb +105 -0
  248. data/lib/stripe/params/payment_method_configuration_update_params.rb +105 -0
  249. data/lib/stripe/params/payment_method_create_params.rb +77 -0
  250. data/lib/stripe/params/plan_create_params.rb +15 -0
  251. data/lib/stripe/params/price_create_params.rb +15 -0
  252. data/lib/stripe/params/price_update_params.rb +19 -0
  253. data/lib/stripe/params/privacy/redaction_job_cancel_params.rb +15 -0
  254. data/lib/stripe/params/privacy/redaction_job_create_params.rb +67 -0
  255. data/lib/stripe/params/privacy/redaction_job_list_params.rb +27 -0
  256. data/lib/stripe/params/privacy/redaction_job_retrieve_params.rb +15 -0
  257. data/lib/stripe/params/privacy/redaction_job_run_params.rb +15 -0
  258. data/lib/stripe/params/privacy/redaction_job_update_params.rb +18 -0
  259. data/lib/stripe/params/privacy/redaction_job_validate_params.rb +15 -0
  260. data/lib/stripe/params/privacy/redaction_job_validation_error_list_params.rb +24 -0
  261. data/lib/stripe/params/product_catalog/trial_offer_create_params.rb +63 -0
  262. data/lib/stripe/params/product_create_params.rb +16 -0
  263. data/lib/stripe/params/product_update_params.rb +16 -0
  264. data/lib/stripe/params/quote_create_params.rb +1217 -3
  265. data/lib/stripe/params/quote_line_list_params.rb +22 -0
  266. data/lib/stripe/params/quote_list_lines_params.rb +22 -0
  267. data/lib/stripe/params/quote_list_params.rb +4 -0
  268. data/lib/stripe/params/quote_list_preview_invoice_lines_params.rb +22 -0
  269. data/lib/stripe/params/quote_mark_draft_params.rb +13 -0
  270. data/lib/stripe/params/quote_mark_stale_params.rb +16 -0
  271. data/lib/stripe/params/quote_preview_invoice_list_params.rb +22 -0
  272. data/lib/stripe/params/quote_preview_subscription_schedule_list_params.rb +22 -0
  273. data/lib/stripe/params/quote_reestimate_params.rb +13 -0
  274. data/lib/stripe/params/quote_update_params.rb +1225 -4
  275. data/lib/stripe/params/radar/account_evaluation_create_params.rb +81 -0
  276. data/lib/stripe/params/radar/account_evaluation_retrieve_params.rb +15 -0
  277. data/lib/stripe/params/radar/account_evaluation_update_params.rb +41 -0
  278. data/lib/stripe/params/reserve/hold_list_params.rb +53 -0
  279. data/lib/stripe/params/reserve/hold_retrieve_params.rb +15 -0
  280. data/lib/stripe/params/reserve/plan_retrieve_params.rb +15 -0
  281. data/lib/stripe/params/reserve/release_list_params.rb +41 -0
  282. data/lib/stripe/params/reserve/release_retrieve_params.rb +15 -0
  283. data/lib/stripe/params/setup_intent_confirm_params.rb +187 -3
  284. data/lib/stripe/params/setup_intent_create_params.rb +187 -3
  285. data/lib/stripe/params/setup_intent_update_params.rb +188 -4
  286. data/lib/stripe/params/shared_payment/granted_token_create_params.rb +47 -0
  287. data/lib/stripe/params/shared_payment/granted_token_retrieve_params.rb +15 -0
  288. data/lib/stripe/params/shared_payment/granted_token_revoke_params.rb +15 -0
  289. data/lib/stripe/params/subscription_attach_cadence_params.rb +16 -0
  290. data/lib/stripe/params/subscription_create_params.rb +374 -5
  291. data/lib/stripe/params/subscription_item_create_params.rb +114 -2
  292. data/lib/stripe/params/subscription_item_update_params.rb +97 -1
  293. data/lib/stripe/params/subscription_list_params.rb +4 -0
  294. data/lib/stripe/params/subscription_pause_params.rb +33 -0
  295. data/lib/stripe/params/subscription_schedule_amend_params.rb +805 -0
  296. data/lib/stripe/params/subscription_schedule_create_params.rb +335 -5
  297. data/lib/stripe/params/subscription_schedule_update_params.rb +335 -5
  298. data/lib/stripe/params/subscription_update_params.rb +357 -4
  299. data/lib/stripe/params/tax/calculation_create_params.rb +4 -0
  300. data/lib/stripe/params/tax/form_list_params.rb +51 -0
  301. data/lib/stripe/params/tax/form_pdf_params.rb +15 -0
  302. data/lib/stripe/params/tax/form_retrieve_params.rb +15 -0
  303. data/lib/stripe/params/tax/location_create_params.rb +54 -0
  304. data/lib/stripe/params/tax/location_list_params.rb +27 -0
  305. data/lib/stripe/params/tax/location_retrieve_params.rb +15 -0
  306. data/lib/stripe/params/terminal/configuration_create_params.rb +13 -0
  307. data/lib/stripe/params/terminal/configuration_update_params.rb +13 -0
  308. data/lib/stripe/params/terminal/reader_collected_data_retrieve_params.rb +15 -0
  309. data/lib/stripe/params/test_helpers/capital/financing_offer_create_params.rb +39 -0
  310. data/lib/stripe/params/test_helpers/capital/financing_offer_refill_params.rb +39 -0
  311. data/lib/stripe/params/test_helpers/confirmation_token_create_params.rb +77 -0
  312. data/lib/stripe/params/test_helpers/shared_payment/granted_token_create_params.rb +49 -0
  313. data/lib/stripe/params/test_helpers/shared_payment/granted_token_revoke_params.rb +17 -0
  314. data/lib/stripe/params/test_helpers/treasury/received_credit_create_params.rb +25 -1
  315. data/lib/stripe/params/test_helpers/treasury/received_debit_create_params.rb +25 -1
  316. data/lib/stripe/params/token_create_params.rb +64 -0
  317. data/lib/stripe/params/transfer_create_params.rb +8 -0
  318. data/lib/stripe/params/treasury/financial_account_create_params.rb +8 -1
  319. data/lib/stripe/params/treasury/financial_account_features_update_params.rb +4 -1
  320. data/lib/stripe/params/treasury/financial_account_update_features_params.rb +4 -1
  321. data/lib/stripe/params/treasury/financial_account_update_params.rb +8 -1
  322. data/lib/stripe/params/treasury/outbound_transfer_create_params.rb +24 -0
  323. data/lib/stripe/params/treasury/received_credit_create_params.rb +25 -1
  324. data/lib/stripe/params/treasury/received_debit_create_params.rb +25 -1
  325. data/lib/stripe/params/v2/billing/bill_setting_create_params.rb +74 -0
  326. data/lib/stripe/params/v2/billing/bill_setting_list_params.rb +21 -0
  327. data/lib/stripe/params/v2/billing/bill_setting_retrieve_params.rb +10 -0
  328. data/lib/stripe/params/v2/billing/bill_setting_update_params.rb +80 -0
  329. data/lib/stripe/params/v2/billing/bill_settings/version_list_params.rb +19 -0
  330. data/lib/stripe/params/v2/billing/bill_settings/version_retrieve_params.rb +12 -0
  331. data/lib/stripe/params/v2/billing/cadence_cancel_params.rb +17 -0
  332. data/lib/stripe/params/v2/billing/cadence_create_params.rb +257 -0
  333. data/lib/stripe/params/v2/billing/cadence_list_params.rb +43 -0
  334. data/lib/stripe/params/v2/billing/cadence_retrieve_params.rb +17 -0
  335. data/lib/stripe/params/v2/billing/cadence_update_params.rb +78 -0
  336. data/lib/stripe/params/v2/billing/collection_setting_create_params.rb +223 -0
  337. data/lib/stripe/params/v2/billing/collection_setting_list_params.rb +21 -0
  338. data/lib/stripe/params/v2/billing/collection_setting_retrieve_params.rb +10 -0
  339. data/lib/stripe/params/v2/billing/collection_setting_update_params.rb +229 -0
  340. data/lib/stripe/params/v2/billing/collection_settings/version_list_params.rb +19 -0
  341. data/lib/stripe/params/v2/billing/collection_settings/version_retrieve_params.rb +12 -0
  342. data/lib/stripe/params/v2/billing/custom_pricing_unit_create_params.rb +26 -0
  343. data/lib/stripe/params/v2/billing/custom_pricing_unit_list_params.rb +24 -0
  344. data/lib/stripe/params/v2/billing/custom_pricing_unit_retrieve_params.rb +10 -0
  345. data/lib/stripe/params/v2/billing/custom_pricing_unit_update_params.rb +26 -0
  346. data/lib/stripe/params/v2/billing/intent_cancel_params.rb +10 -0
  347. data/lib/stripe/params/v2/billing/intent_commit_params.rb +17 -0
  348. data/lib/stripe/params/v2/billing/intent_create_params.rb +425 -0
  349. data/lib/stripe/params/v2/billing/intent_list_params.rb +17 -0
  350. data/lib/stripe/params/v2/billing/intent_release_reservation_params.rb +10 -0
  351. data/lib/stripe/params/v2/billing/intent_reserve_params.rb +10 -0
  352. data/lib/stripe/params/v2/billing/intent_retrieve_params.rb +10 -0
  353. data/lib/stripe/params/v2/billing/intents/action_list_params.rb +19 -0
  354. data/lib/stripe/params/v2/billing/intents/action_retrieve_params.rb +12 -0
  355. data/lib/stripe/params/v2/billing/license_fee_create_params.rb +103 -0
  356. data/lib/stripe/params/v2/billing/license_fee_list_params.rb +24 -0
  357. data/lib/stripe/params/v2/billing/license_fee_retrieve_params.rb +10 -0
  358. data/lib/stripe/params/v2/billing/license_fee_subscription_retrieve_params.rb +10 -0
  359. data/lib/stripe/params/v2/billing/license_fee_update_params.rb +84 -0
  360. data/lib/stripe/params/v2/billing/license_fees/version_list_params.rb +19 -0
  361. data/lib/stripe/params/v2/billing/license_fees/version_retrieve_params.rb +12 -0
  362. data/lib/stripe/params/v2/billing/licensed_item_create_params.rb +48 -0
  363. data/lib/stripe/params/v2/billing/licensed_item_list_params.rb +21 -0
  364. data/lib/stripe/params/v2/billing/licensed_item_retrieve_params.rb +10 -0
  365. data/lib/stripe/params/v2/billing/licensed_item_update_params.rb +48 -0
  366. data/lib/stripe/params/v2/billing/metered_item_create_params.rb +73 -0
  367. data/lib/stripe/params/v2/billing/metered_item_list_params.rb +21 -0
  368. data/lib/stripe/params/v2/billing/metered_item_retrieve_params.rb +10 -0
  369. data/lib/stripe/params/v2/billing/metered_item_update_params.rb +50 -0
  370. data/lib/stripe/params/v2/billing/pricing_plan_create_params.rb +39 -0
  371. data/lib/stripe/params/v2/billing/pricing_plan_list_params.rb +24 -0
  372. data/lib/stripe/params/v2/billing/pricing_plan_retrieve_params.rb +10 -0
  373. data/lib/stripe/params/v2/billing/pricing_plan_subscription_list_params.rb +50 -0
  374. data/lib/stripe/params/v2/billing/pricing_plan_subscription_retrieve_params.rb +10 -0
  375. data/lib/stripe/params/v2/billing/pricing_plan_subscription_update_params.rb +20 -0
  376. data/lib/stripe/params/v2/billing/pricing_plan_subscriptions/component_retrieve_params.rb +12 -0
  377. data/lib/stripe/params/v2/billing/pricing_plan_update_params.rb +39 -0
  378. data/lib/stripe/params/v2/billing/pricing_plans/component_create_params.rb +73 -0
  379. data/lib/stripe/params/v2/billing/pricing_plans/component_delete_params.rb +12 -0
  380. data/lib/stripe/params/v2/billing/pricing_plans/component_list_params.rb +27 -0
  381. data/lib/stripe/params/v2/billing/pricing_plans/component_retrieve_params.rb +12 -0
  382. data/lib/stripe/params/v2/billing/pricing_plans/component_update_params.rb +22 -0
  383. data/lib/stripe/params/v2/billing/pricing_plans/version_list_params.rb +19 -0
  384. data/lib/stripe/params/v2/billing/pricing_plans/version_retrieve_params.rb +12 -0
  385. data/lib/stripe/params/v2/billing/profile_create_params.rb +37 -0
  386. data/lib/stripe/params/v2/billing/profile_list_params.rb +40 -0
  387. data/lib/stripe/params/v2/billing/profile_retrieve_params.rb +10 -0
  388. data/lib/stripe/params/v2/billing/profile_update_params.rb +35 -0
  389. data/lib/stripe/params/v2/billing/rate_card_create_params.rb +49 -0
  390. data/lib/stripe/params/v2/billing/rate_card_list_params.rb +24 -0
  391. data/lib/stripe/params/v2/billing/rate_card_retrieve_params.rb +10 -0
  392. data/lib/stripe/params/v2/billing/rate_card_subscription_cancel_params.rb +10 -0
  393. data/lib/stripe/params/v2/billing/rate_card_subscription_create_params.rb +26 -0
  394. data/lib/stripe/params/v2/billing/rate_card_subscription_list_params.rb +51 -0
  395. data/lib/stripe/params/v2/billing/rate_card_subscription_retrieve_params.rb +10 -0
  396. data/lib/stripe/params/v2/billing/rate_card_subscription_update_params.rb +17 -0
  397. data/lib/stripe/params/v2/billing/rate_card_update_params.rb +38 -0
  398. data/lib/stripe/params/v2/billing/rate_cards/rate_create_params.rb +91 -0
  399. data/lib/stripe/params/v2/billing/rate_cards/rate_delete_params.rb +12 -0
  400. data/lib/stripe/params/v2/billing/rate_cards/rate_list_params.rb +25 -0
  401. data/lib/stripe/params/v2/billing/rate_cards/rate_retrieve_params.rb +12 -0
  402. data/lib/stripe/params/v2/billing/rate_cards/version_list_params.rb +19 -0
  403. data/lib/stripe/params/v2/billing/rate_cards/version_retrieve_params.rb +12 -0
  404. data/lib/stripe/params/v2/billing/service_action_create_params.rb +278 -0
  405. data/lib/stripe/params/v2/billing/service_action_retrieve_params.rb +10 -0
  406. data/lib/stripe/params/v2/billing/service_action_update_params.rb +40 -0
  407. data/lib/stripe/params/v2/core/account_create_params.rb +959 -28
  408. data/lib/stripe/params/v2/core/account_token_create_params.rb +251 -25
  409. data/lib/stripe/params/v2/core/account_update_params.rb +938 -28
  410. data/lib/stripe/params/v2/core/claimable_sandbox_create_params.rb +36 -0
  411. data/lib/stripe/params/v2/core/claimable_sandbox_retrieve_params.rb +10 -0
  412. data/lib/stripe/params/v2/core/event_list_params.rb +4 -1
  413. data/lib/stripe/params/v2/core/event_retrieve_params.rb +8 -1
  414. data/lib/stripe/params/v2/core/vault/gb_bank_account_acknowledge_confirmation_of_payee_params.rb +12 -0
  415. data/lib/stripe/params/v2/core/vault/gb_bank_account_archive_params.rb +12 -0
  416. data/lib/stripe/params/v2/core/vault/gb_bank_account_create_params.rb +50 -0
  417. data/lib/stripe/params/v2/core/vault/gb_bank_account_initiate_confirmation_of_payee_params.rb +22 -0
  418. data/lib/stripe/params/v2/core/vault/gb_bank_account_list_params.rb +19 -0
  419. data/lib/stripe/params/v2/core/vault/gb_bank_account_retrieve_params.rb +12 -0
  420. data/lib/stripe/params/v2/core/vault/us_bank_account_archive_params.rb +12 -0
  421. data/lib/stripe/params/v2/core/vault/us_bank_account_confirm_microdeposits_params.rb +22 -0
  422. data/lib/stripe/params/v2/core/vault/us_bank_account_create_params.rb +33 -0
  423. data/lib/stripe/params/v2/core/vault/us_bank_account_list_params.rb +22 -0
  424. data/lib/stripe/params/v2/core/vault/us_bank_account_retrieve_params.rb +12 -0
  425. data/lib/stripe/params/v2/core/vault/us_bank_account_send_microdeposits_params.rb +12 -0
  426. data/lib/stripe/params/v2/core/vault/us_bank_account_update_params.rb +22 -0
  427. data/lib/stripe/params/v2/iam/api_key_create_params.rb +51 -0
  428. data/lib/stripe/params/v2/iam/api_key_expire_params.rb +10 -0
  429. data/lib/stripe/params/v2/iam/api_key_list_params.rb +20 -0
  430. data/lib/stripe/params/v2/iam/api_key_retrieve_params.rb +10 -0
  431. data/lib/stripe/params/v2/iam/api_key_rotate_params.rb +46 -0
  432. data/lib/stripe/params/v2/iam/api_key_update_params.rb +20 -0
  433. data/lib/stripe/params/v2/money_management/adjustment_list_params.rb +48 -0
  434. data/lib/stripe/params/v2/money_management/adjustment_retrieve_params.rb +10 -0
  435. data/lib/stripe/params/v2/money_management/currency_conversion_create_params.rb +68 -0
  436. data/lib/stripe/params/v2/money_management/currency_conversion_list_params.rb +20 -0
  437. data/lib/stripe/params/v2/money_management/currency_conversion_retrieve_params.rb +10 -0
  438. data/lib/stripe/params/v2/money_management/financial_account_close_params.rb +28 -0
  439. data/lib/stripe/params/v2/money_management/financial_account_create_params.rb +34 -0
  440. data/lib/stripe/params/v2/money_management/financial_account_list_params.rb +23 -0
  441. data/lib/stripe/params/v2/money_management/financial_account_retrieve_params.rb +10 -0
  442. data/lib/stripe/params/v2/money_management/financial_account_update_params.rb +20 -0
  443. data/lib/stripe/params/v2/money_management/financial_address_create_params.rb +31 -0
  444. data/lib/stripe/params/v2/money_management/financial_address_list_params.rb +23 -0
  445. data/lib/stripe/params/v2/money_management/financial_address_retrieve_params.rb +17 -0
  446. data/lib/stripe/params/v2/money_management/inbound_transfer_create_params.rb +62 -0
  447. data/lib/stripe/params/v2/money_management/inbound_transfer_list_params.rb +44 -0
  448. data/lib/stripe/params/v2/money_management/inbound_transfer_retrieve_params.rb +10 -0
  449. data/lib/stripe/params/v2/money_management/outbound_payment_cancel_params.rb +10 -0
  450. data/lib/stripe/params/v2/money_management/outbound_payment_create_params.rb +134 -0
  451. data/lib/stripe/params/v2/money_management/outbound_payment_list_params.rb +52 -0
  452. data/lib/stripe/params/v2/money_management/outbound_payment_quote_create_params.rb +82 -0
  453. data/lib/stripe/params/v2/money_management/outbound_payment_quote_retrieve_params.rb +10 -0
  454. data/lib/stripe/params/v2/money_management/outbound_payment_retrieve_params.rb +10 -0
  455. data/lib/stripe/params/v2/money_management/outbound_setup_intent_cancel_params.rb +10 -0
  456. data/lib/stripe/params/v2/money_management/outbound_setup_intent_create_params.rb +103 -0
  457. data/lib/stripe/params/v2/money_management/outbound_setup_intent_list_params.rb +17 -0
  458. data/lib/stripe/params/v2/money_management/outbound_setup_intent_retrieve_params.rb +10 -0
  459. data/lib/stripe/params/v2/money_management/outbound_setup_intent_update_params.rb +80 -0
  460. data/lib/stripe/params/v2/money_management/outbound_transfer_cancel_params.rb +10 -0
  461. data/lib/stripe/params/v2/money_management/outbound_transfer_create_params.rb +93 -0
  462. data/lib/stripe/params/v2/money_management/outbound_transfer_list_params.rb +48 -0
  463. data/lib/stripe/params/v2/money_management/outbound_transfer_retrieve_params.rb +10 -0
  464. data/lib/stripe/params/v2/money_management/payout_method_archive_params.rb +10 -0
  465. data/lib/stripe/params/v2/money_management/payout_method_list_params.rb +31 -0
  466. data/lib/stripe/params/v2/money_management/payout_method_retrieve_params.rb +10 -0
  467. data/lib/stripe/params/v2/money_management/payout_method_unarchive_params.rb +10 -0
  468. data/lib/stripe/params/v2/money_management/payout_methods_bank_account_spec_retrieve_params.rb +17 -0
  469. data/lib/stripe/params/v2/money_management/received_credit_list_params.rb +44 -0
  470. data/lib/stripe/params/v2/money_management/received_credit_retrieve_params.rb +10 -0
  471. data/lib/stripe/params/v2/money_management/received_debit_list_params.rb +17 -0
  472. data/lib/stripe/params/v2/money_management/received_debit_retrieve_params.rb +10 -0
  473. data/lib/stripe/params/v2/money_management/recipient_verification_acknowledge_params.rb +10 -0
  474. data/lib/stripe/params/v2/money_management/recipient_verification_create_params.rb +20 -0
  475. data/lib/stripe/params/v2/money_management/recipient_verification_retrieve_params.rb +10 -0
  476. data/lib/stripe/params/v2/money_management/transaction_entry_list_params.rb +43 -0
  477. data/lib/stripe/params/v2/money_management/transaction_entry_retrieve_params.rb +10 -0
  478. data/lib/stripe/params/v2/money_management/transaction_list_params.rb +47 -0
  479. data/lib/stripe/params/v2/money_management/transaction_retrieve_params.rb +10 -0
  480. data/lib/stripe/params/v2/payments/off_session_payment_cancel_params.rb +10 -0
  481. data/lib/stripe/params/v2/payments/off_session_payment_capture_params.rb +57 -0
  482. data/lib/stripe/params/v2/payments/off_session_payment_create_params.rb +161 -0
  483. data/lib/stripe/params/v2/payments/off_session_payment_list_params.rb +17 -0
  484. data/lib/stripe/params/v2/payments/off_session_payment_retrieve_params.rb +10 -0
  485. data/lib/stripe/params/v2/payments/settlement_allocation_intent_cancel_params.rb +10 -0
  486. data/lib/stripe/params/v2/payments/settlement_allocation_intent_create_params.rb +46 -0
  487. data/lib/stripe/params/v2/payments/settlement_allocation_intent_retrieve_params.rb +10 -0
  488. data/lib/stripe/params/v2/payments/settlement_allocation_intent_submit_params.rb +10 -0
  489. data/lib/stripe/params/v2/payments/settlement_allocation_intent_update_params.rb +31 -0
  490. data/lib/stripe/params/v2/payments/settlement_allocation_intents/split_cancel_params.rb +12 -0
  491. data/lib/stripe/params/v2/payments/settlement_allocation_intents/split_create_params.rb +39 -0
  492. data/lib/stripe/params/v2/payments/settlement_allocation_intents/split_retrieve_params.rb +12 -0
  493. data/lib/stripe/params/v2/reporting/report_retrieve_params.rb +10 -0
  494. data/lib/stripe/params/v2/reporting/report_run_create_params.rb +33 -0
  495. data/lib/stripe/params/v2/reporting/report_run_retrieve_params.rb +10 -0
  496. data/lib/stripe/params/v2/tax/manual_rule_create_params.rb +94 -0
  497. data/lib/stripe/params/v2/tax/manual_rule_deactivate_params.rb +10 -0
  498. data/lib/stripe/params/v2/tax/manual_rule_list_params.rb +17 -0
  499. data/lib/stripe/params/v2/tax/manual_rule_retrieve_params.rb +10 -0
  500. data/lib/stripe/params/v2/tax/manual_rule_update_params.rb +94 -0
  501. data/lib/stripe/params/v2/test_helpers/financial_address_credit_params.rb +34 -0
  502. data/lib/stripe/params/v2/test_helpers/financial_address_generate_microdeposits_params.rb +10 -0
  503. data/lib/stripe/params/v2/test_helpers/money_management_recipient_verifications_params.rb +24 -0
  504. data/lib/stripe/params.rb +282 -0
  505. data/lib/stripe/resources/account.rb +227 -1
  506. data/lib/stripe/resources/account_notice.rb +94 -0
  507. data/lib/stripe/resources/account_session.rb +135 -0
  508. data/lib/stripe/resources/application_fee.rb +2 -0
  509. data/lib/stripe/resources/balance.rb +83 -0
  510. data/lib/stripe/resources/balance_transfer.rb +139 -0
  511. data/lib/stripe/resources/billing/alert.rb +105 -1
  512. data/lib/stripe/resources/billing/alert_triggered.rb +6 -0
  513. data/lib/stripe/resources/billing/analytics/meter_usage.rb +33 -0
  514. data/lib/stripe/resources/billing/analytics/meter_usage_row.rb +40 -0
  515. data/lib/stripe/resources/billing/credit_balance_summary.rb +84 -2
  516. data/lib/stripe/resources/billing/credit_balance_transaction.rb +84 -2
  517. data/lib/stripe/resources/billing/credit_grant.rb +58 -2
  518. data/lib/stripe/resources/billing/meter.rb +2 -0
  519. data/lib/stripe/resources/billing/meter_event_summary.rb +2 -0
  520. data/lib/stripe/resources/capital/financing_offer.rb +183 -0
  521. data/lib/stripe/resources/capital/financing_summary.rb +82 -0
  522. data/lib/stripe/resources/capital/financing_transaction.rb +99 -0
  523. data/lib/stripe/resources/card.rb +20 -1
  524. data/lib/stripe/resources/charge.rb +233 -1
  525. data/lib/stripe/resources/checkout/session.rb +196 -4
  526. data/lib/stripe/resources/confirmation_token.rb +151 -0
  527. data/lib/stripe/resources/coupon.rb +60 -1
  528. data/lib/stripe/resources/credit_note_line_item.rb +18 -0
  529. data/lib/stripe/resources/customer_session.rb +36 -0
  530. data/lib/stripe/resources/delegated_checkout/requested_session.rb +509 -0
  531. data/lib/stripe/resources/discount.rb +20 -1
  532. data/lib/stripe/resources/dispute.rb +22 -0
  533. data/lib/stripe/resources/event.rb +64 -1
  534. data/lib/stripe/resources/financial_connections/account.rb +57 -0
  535. data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +35 -0
  536. data/lib/stripe/resources/financial_connections/authorization.rb +82 -0
  537. data/lib/stripe/resources/financial_connections/institution.rb +127 -0
  538. data/lib/stripe/resources/financial_connections/session.rb +103 -1
  539. data/lib/stripe/resources/fr_meal_vouchers_onboarding.rb +143 -0
  540. data/lib/stripe/resources/fx_quote.rb +147 -0
  541. data/lib/stripe/resources/identity/blocklist_entry.rb +116 -0
  542. data/lib/stripe/resources/identity/verification_report.rb +4 -0
  543. data/lib/stripe/resources/invoice.rb +188 -1
  544. data/lib/stripe/resources/invoice_item.rb +108 -2
  545. data/lib/stripe/resources/invoice_line_item.rb +147 -1
  546. data/lib/stripe/resources/issuing/card.rb +4 -0
  547. data/lib/stripe/resources/issuing/credit_underwriting_record.rb +263 -0
  548. data/lib/stripe/resources/issuing/dispute_settlement_detail.rb +71 -0
  549. data/lib/stripe/resources/issuing/fraud_liability_debit.rb +51 -0
  550. data/lib/stripe/resources/issuing/program.rb +69 -0
  551. data/lib/stripe/resources/issuing/settlement.rb +61 -0
  552. data/lib/stripe/resources/issuing/transaction.rb +2 -0
  553. data/lib/stripe/resources/line_item.rb +42 -0
  554. data/lib/stripe/resources/mandate.rb +43 -0
  555. data/lib/stripe/resources/margin.rb +64 -0
  556. data/lib/stripe/resources/order.rb +927 -0
  557. data/lib/stripe/resources/payment_attempt_record.rb +181 -1
  558. data/lib/stripe/resources/payment_intent.rb +1625 -9
  559. data/lib/stripe/resources/payment_method.rb +173 -0
  560. data/lib/stripe/resources/payment_method_balance.rb +68 -0
  561. data/lib/stripe/resources/payment_method_configuration.rb +170 -0
  562. data/lib/stripe/resources/payment_record.rb +181 -1
  563. data/lib/stripe/resources/person.rb +36 -0
  564. data/lib/stripe/resources/plan.rb +2 -0
  565. data/lib/stripe/resources/price.rb +22 -0
  566. data/lib/stripe/resources/privacy/redaction_job.rb +187 -0
  567. data/lib/stripe/resources/privacy/redaction_job_validation_error.rb +49 -0
  568. data/lib/stripe/resources/product_catalog/trial_offer.rb +103 -0
  569. data/lib/stripe/resources/quote.rb +806 -2
  570. data/lib/stripe/resources/quote_line.rb +527 -0
  571. data/lib/stripe/resources/quote_preview_invoice.rb +1200 -0
  572. data/lib/stripe/resources/quote_preview_subscription_schedule.rb +826 -0
  573. data/lib/stripe/resources/radar/account_evaluation.rb +145 -0
  574. data/lib/stripe/resources/refund.rb +18 -0
  575. data/lib/stripe/resources/reserve/hold.rb +74 -0
  576. data/lib/stripe/resources/reserve/plan.rb +78 -0
  577. data/lib/stripe/resources/reserve/release.rb +77 -0
  578. data/lib/stripe/resources/setup_attempt.rb +48 -0
  579. data/lib/stripe/resources/setup_intent.rb +128 -1
  580. data/lib/stripe/resources/shared_payment/granted_token.rb +126 -0
  581. data/lib/stripe/resources/source.rb +38 -0
  582. data/lib/stripe/resources/subscription.rb +269 -0
  583. data/lib/stripe/resources/subscription_item.rb +43 -1
  584. data/lib/stripe/resources/subscription_schedule.rb +290 -3
  585. data/lib/stripe/resources/tax/calculation_line_item.rb +2 -0
  586. data/lib/stripe/resources/tax/form.rb +264 -0
  587. data/lib/stripe/resources/tax/location.rb +72 -0
  588. data/lib/stripe/resources/tax/registration.rb +128 -0
  589. data/lib/stripe/resources/tax_code.rb +15 -1
  590. data/lib/stripe/resources/terminal/configuration.rb +16 -0
  591. data/lib/stripe/resources/terminal/reader.rb +8 -0
  592. data/lib/stripe/resources/terminal/reader_collected_data.rb +47 -0
  593. data/lib/stripe/resources/transfer.rb +6 -0
  594. data/lib/stripe/resources/transit_balance.rb +45 -0
  595. data/lib/stripe/resources/treasury/financial_account.rb +2 -0
  596. data/lib/stripe/resources/treasury/financial_account_features.rb +2 -0
  597. data/lib/stripe/resources/treasury/outbound_transfer.rb +30 -0
  598. data/lib/stripe/resources/treasury/received_credit.rb +30 -0
  599. data/lib/stripe/resources/treasury/received_debit.rb +32 -0
  600. data/lib/stripe/resources/v2/billing/bill_setting.rb +102 -0
  601. data/lib/stripe/resources/v2/billing/bill_setting_version.rb +90 -0
  602. data/lib/stripe/resources/v2/billing/cadence.rb +655 -0
  603. data/lib/stripe/resources/v2/billing/collection_setting.rb +274 -0
  604. data/lib/stripe/resources/v2/billing/collection_setting_version.rb +262 -0
  605. data/lib/stripe/resources/v2/billing/custom_pricing_unit.rb +43 -0
  606. data/lib/stripe/resources/v2/billing/intent.rb +86 -0
  607. data/lib/stripe/resources/v2/billing/intent_action.rb +483 -0
  608. data/lib/stripe/resources/v2/billing/license_fee.rb +104 -0
  609. data/lib/stripe/resources/v2/billing/license_fee_subscription.rb +44 -0
  610. data/lib/stripe/resources/v2/billing/license_fee_version.rb +80 -0
  611. data/lib/stripe/resources/v2/billing/licensed_item.rb +60 -0
  612. data/lib/stripe/resources/v2/billing/metered_item.rb +85 -0
  613. data/lib/stripe/resources/v2/billing/pricing_plan.rb +51 -0
  614. data/lib/stripe/resources/v2/billing/pricing_plan_component.rb +94 -0
  615. data/lib/stripe/resources/v2/billing/pricing_plan_subscription.rb +94 -0
  616. data/lib/stripe/resources/v2/billing/pricing_plan_subscription_components.rb +49 -0
  617. data/lib/stripe/resources/v2/billing/pricing_plan_version.rb +38 -0
  618. data/lib/stripe/resources/v2/billing/profile.rb +46 -0
  619. data/lib/stripe/resources/v2/billing/rate_card.rb +61 -0
  620. data/lib/stripe/resources/v2/billing/rate_card_rate.rb +110 -0
  621. data/lib/stripe/resources/v2/billing/rate_card_subscription.rb +94 -0
  622. data/lib/stripe/resources/v2/billing/rate_card_version.rb +34 -0
  623. data/lib/stripe/resources/v2/billing/service_action.rb +274 -0
  624. data/lib/stripe/resources/v2/core/account.rb +1688 -80
  625. data/lib/stripe/resources/v2/core/claimable_sandbox.rb +105 -0
  626. data/lib/stripe/resources/v2/core/event.rb +50 -1
  627. data/lib/stripe/resources/v2/core/vault/gb_bank_account.rb +134 -0
  628. data/lib/stripe/resources/v2/core/vault/us_bank_account.rb +103 -0
  629. data/lib/stripe/resources/v2/financial_address_credit_simulation.rb +28 -0
  630. data/lib/stripe/resources/v2/financial_address_generated_microdeposits.rb +44 -0
  631. data/lib/stripe/resources/v2/iam/api_key.rb +129 -0
  632. data/lib/stripe/resources/v2/money_management/adjustment.rb +82 -0
  633. data/lib/stripe/resources/v2/money_management/currency_conversion.rb +94 -0
  634. data/lib/stripe/resources/v2/money_management/financial_account.rb +223 -0
  635. data/lib/stripe/resources/v2/money_management/financial_address.rb +132 -0
  636. data/lib/stripe/resources/v2/money_management/inbound_transfer.rb +197 -0
  637. data/lib/stripe/resources/v2/money_management/outbound_payment.rb +347 -0
  638. data/lib/stripe/resources/v2/money_management/outbound_payment_quote.rb +204 -0
  639. data/lib/stripe/resources/v2/money_management/outbound_setup_intent.rb +69 -0
  640. data/lib/stripe/resources/v2/money_management/outbound_transfer.rb +242 -0
  641. data/lib/stripe/resources/v2/money_management/payout_method.rb +157 -0
  642. data/lib/stripe/resources/v2/money_management/payout_methods_bank_account_spec.rb +81 -0
  643. data/lib/stripe/resources/v2/money_management/received_credit.rb +280 -0
  644. data/lib/stripe/resources/v2/money_management/received_debit.rb +208 -0
  645. data/lib/stripe/resources/v2/money_management/recipient_verification.rb +83 -0
  646. data/lib/stripe/resources/v2/money_management/transaction.rb +180 -0
  647. data/lib/stripe/resources/v2/money_management/transaction_entry.rb +153 -0
  648. data/lib/stripe/resources/v2/payments/off_session_payment.rb +186 -0
  649. data/lib/stripe/resources/v2/payments/settlement_allocation_intent.rb +92 -0
  650. data/lib/stripe/resources/v2/payments/settlement_allocation_intent_split.rb +78 -0
  651. data/lib/stripe/resources/v2/reporting/report.rb +116 -0
  652. data/lib/stripe/resources/v2/reporting/report_run.rb +128 -0
  653. data/lib/stripe/resources/v2/tax/manual_rule.rb +115 -0
  654. data/lib/stripe/resources.rb +223 -0
  655. data/lib/stripe/services/account_notice_service.rb +39 -0
  656. data/lib/stripe/services/balance_transfer_service.rb +17 -0
  657. data/lib/stripe/services/billing/analytics/meter_usage_service.rb +21 -0
  658. data/lib/stripe/services/billing/analytics_service.rb +15 -0
  659. data/lib/stripe/services/billing_service.rb +2 -1
  660. data/lib/stripe/services/capital/financing_offer_service.rb +42 -0
  661. data/lib/stripe/services/capital/financing_summary_service.rb +19 -0
  662. data/lib/stripe/services/capital/financing_transaction_service.rb +31 -0
  663. data/lib/stripe/services/capital_service.rb +15 -0
  664. data/lib/stripe/services/delegated_checkout/requested_session_service.rb +63 -0
  665. data/lib/stripe/services/delegated_checkout_service.rb +13 -0
  666. data/lib/stripe/services/external_account_service.rb +68 -0
  667. data/lib/stripe/services/financial_connections/account_inferred_balance_service.rb +19 -0
  668. data/lib/stripe/services/financial_connections/account_service.rb +3 -1
  669. data/lib/stripe/services/financial_connections/authorization_service.rb +19 -0
  670. data/lib/stripe/services/financial_connections/institution_service.rb +30 -0
  671. data/lib/stripe/services/financial_connections_service.rb +3 -1
  672. data/lib/stripe/services/fr_meal_vouchers_onboarding_service.rb +50 -0
  673. data/lib/stripe/services/fx_quote_service.rb +27 -0
  674. data/lib/stripe/services/identity/blocklist_entry_service.rb +71 -0
  675. data/lib/stripe/services/identity_service.rb +2 -1
  676. data/lib/stripe/services/invoice_service.rb +11 -0
  677. data/lib/stripe/services/issuing/credit_underwriting_record_service.rb +74 -0
  678. data/lib/stripe/services/issuing/dispute_settlement_detail_service.rb +30 -0
  679. data/lib/stripe/services/issuing/fraud_liability_debit_service.rb +30 -0
  680. data/lib/stripe/services/issuing/program_service.rb +52 -0
  681. data/lib/stripe/services/issuing_service.rb +6 -1
  682. data/lib/stripe/services/mandate_service.rb +5 -0
  683. data/lib/stripe/services/margin_service.rb +50 -0
  684. data/lib/stripe/services/order_service.rb +49 -0
  685. data/lib/stripe/services/payment_intent_service.rb +37 -0
  686. data/lib/stripe/services/payment_method_service.rb +11 -0
  687. data/lib/stripe/services/privacy/redaction_job_service.rb +104 -0
  688. data/lib/stripe/services/privacy/redaction_job_validation_error_service.rb +19 -0
  689. data/lib/stripe/services/privacy_service.rb +13 -0
  690. data/lib/stripe/services/product_catalog/trial_offer_service.rb +19 -0
  691. data/lib/stripe/services/product_catalog_service.rb +13 -0
  692. data/lib/stripe/services/quote_line_service.rb +17 -0
  693. data/lib/stripe/services/quote_preview_invoice_service.rb +17 -0
  694. data/lib/stripe/services/quote_preview_subscription_schedule_service.rb +17 -0
  695. data/lib/stripe/services/quote_service.rb +49 -1
  696. data/lib/stripe/services/radar/account_evaluation_service.rb +41 -0
  697. data/lib/stripe/services/radar_service.rb +2 -1
  698. data/lib/stripe/services/reserve/hold_service.rb +30 -0
  699. data/lib/stripe/services/reserve/plan_service.rb +19 -0
  700. data/lib/stripe/services/reserve/release_service.rb +30 -0
  701. data/lib/stripe/services/reserve_service.rb +15 -0
  702. data/lib/stripe/services/shared_payment/granted_token_service.rb +19 -0
  703. data/lib/stripe/services/shared_payment_service.rb +13 -0
  704. data/lib/stripe/services/subscription_schedule_service.rb +11 -0
  705. data/lib/stripe/services/subscription_service.rb +22 -0
  706. data/lib/stripe/services/tax/form_service.rb +37 -0
  707. data/lib/stripe/services/tax/location_service.rb +45 -0
  708. data/lib/stripe/services/tax_service.rb +3 -1
  709. data/lib/stripe/services/terminal/reader_collected_data_service.rb +19 -0
  710. data/lib/stripe/services/terminal_service.rb +2 -1
  711. data/lib/stripe/services/test_helpers/capital/financing_offer_service.rb +32 -0
  712. data/lib/stripe/services/test_helpers/capital_service.rb +15 -0
  713. data/lib/stripe/services/test_helpers/shared_payment/granted_token_service.rb +32 -0
  714. data/lib/stripe/services/test_helpers/shared_payment_service.rb +15 -0
  715. data/lib/stripe/services/test_helpers_service.rb +3 -1
  716. data/lib/stripe/services/v1_services.rb +14 -1
  717. data/lib/stripe/services/v2/billing/bill_setting_service.rb +61 -0
  718. data/lib/stripe/services/v2/billing/bill_settings/version_service.rb +34 -0
  719. data/lib/stripe/services/v2/billing/cadence_service.rb +65 -0
  720. data/lib/stripe/services/v2/billing/collection_setting_service.rb +61 -0
  721. data/lib/stripe/services/v2/billing/collection_settings/version_service.rb +34 -0
  722. data/lib/stripe/services/v2/billing/custom_pricing_unit_service.rb +54 -0
  723. data/lib/stripe/services/v2/billing/intent_service.rb +94 -0
  724. data/lib/stripe/services/v2/billing/intents/action_service.rb +34 -0
  725. data/lib/stripe/services/v2/billing/license_fee_service.rb +61 -0
  726. data/lib/stripe/services/v2/billing/license_fee_subscription_service.rb +21 -0
  727. data/lib/stripe/services/v2/billing/license_fees/version_service.rb +34 -0
  728. data/lib/stripe/services/v2/billing/licensed_item_service.rb +54 -0
  729. data/lib/stripe/services/v2/billing/metered_item_service.rb +54 -0
  730. data/lib/stripe/services/v2/billing/pricing_plan_service.rb +62 -0
  731. data/lib/stripe/services/v2/billing/pricing_plan_subscription_service.rb +51 -0
  732. data/lib/stripe/services/v2/billing/pricing_plan_subscriptions/component_service.rb +23 -0
  733. data/lib/stripe/services/v2/billing/pricing_plans/component_service.rb +67 -0
  734. data/lib/stripe/services/v2/billing/pricing_plans/version_service.rb +34 -0
  735. data/lib/stripe/services/v2/billing/profile_service.rb +54 -0
  736. data/lib/stripe/services/v2/billing/rate_card_service.rb +62 -0
  737. data/lib/stripe/services/v2/billing/rate_card_subscription_service.rb +65 -0
  738. data/lib/stripe/services/v2/billing/rate_cards/rate_service.rb +57 -0
  739. data/lib/stripe/services/v2/billing/rate_cards/version_service.rb +34 -0
  740. data/lib/stripe/services/v2/billing/service_action_service.rb +43 -0
  741. data/lib/stripe/services/v2/billing_service.rb +18 -1
  742. data/lib/stripe/services/v2/core/account_link_service.rb +2 -0
  743. data/lib/stripe/services/v2/core/account_service.rb +10 -0
  744. data/lib/stripe/services/v2/core/account_token_service.rb +4 -0
  745. data/lib/stripe/services/v2/core/accounts/person_service.rb +10 -0
  746. data/lib/stripe/services/v2/core/accounts/person_token_service.rb +4 -0
  747. data/lib/stripe/services/v2/core/claimable_sandbox_service.rb +35 -0
  748. data/lib/stripe/services/v2/core/vault/gb_bank_account_service.rb +85 -0
  749. data/lib/stripe/services/v2/core/vault/us_bank_account_service.rb +101 -0
  750. data/lib/stripe/services/v2/core/vault_service.rb +18 -0
  751. data/lib/stripe/services/v2/core_service.rb +3 -1
  752. data/lib/stripe/services/v2/iam/api_key_service.rb +76 -0
  753. data/lib/stripe/services/v2/iam_service.rb +15 -0
  754. data/lib/stripe/services/v2/money_management/adjustment_service.rb +32 -0
  755. data/lib/stripe/services/v2/money_management/currency_conversion_service.rb +45 -0
  756. data/lib/stripe/services/v2/money_management/financial_account_service.rb +70 -0
  757. data/lib/stripe/services/v2/money_management/financial_address_service.rb +46 -0
  758. data/lib/stripe/services/v2/money_management/inbound_transfer_service.rb +45 -0
  759. data/lib/stripe/services/v2/money_management/outbound_payment_quote_service.rb +34 -0
  760. data/lib/stripe/services/v2/money_management/outbound_payment_service.rb +62 -0
  761. data/lib/stripe/services/v2/money_management/outbound_setup_intent_service.rb +75 -0
  762. data/lib/stripe/services/v2/money_management/outbound_transfer_service.rb +60 -0
  763. data/lib/stripe/services/v2/money_management/payout_method_service.rb +65 -0
  764. data/lib/stripe/services/v2/money_management/payout_methods_bank_account_spec_service.rb +23 -0
  765. data/lib/stripe/services/v2/money_management/received_credit_service.rb +32 -0
  766. data/lib/stripe/services/v2/money_management/received_debit_service.rb +32 -0
  767. data/lib/stripe/services/v2/money_management/recipient_verification_service.rb +43 -0
  768. data/lib/stripe/services/v2/money_management/transaction_entry_service.rb +32 -0
  769. data/lib/stripe/services/v2/money_management/transaction_service.rb +32 -0
  770. data/lib/stripe/services/v2/money_management_service.rb +35 -0
  771. data/lib/stripe/services/v2/payment_service.rb +17 -0
  772. data/lib/stripe/services/v2/payments/off_session_payment_service.rb +65 -0
  773. data/lib/stripe/services/v2/payments/settlement_allocation_intent_service.rb +72 -0
  774. data/lib/stripe/services/v2/payments/settlement_allocation_intents/split_service.rb +45 -0
  775. data/lib/stripe/services/v2/reporting/report_run_service.rb +38 -0
  776. data/lib/stripe/services/v2/reporting/report_service.rb +23 -0
  777. data/lib/stripe/services/v2/reporting_service.rb +16 -0
  778. data/lib/stripe/services/v2/tax/manual_rule_service.rb +65 -0
  779. data/lib/stripe/services/v2/tax_service.rb +15 -0
  780. data/lib/stripe/services/v2/test_helper_service.rb +16 -0
  781. data/lib/stripe/services/v2/test_helpers/financial_address_service.rb +36 -0
  782. data/lib/stripe/services/v2/test_helpers/money_management_service.rb +21 -0
  783. data/lib/stripe/services/v2_services.rb +7 -1
  784. data/lib/stripe/services.rb +104 -0
  785. data/lib/stripe/stripe_configuration.rb +3 -1
  786. data/lib/stripe/stripe_object.rb +1 -1
  787. data/lib/stripe/util.rb +16 -4
  788. data/lib/stripe/version.rb +1 -1
  789. data/lib/stripe.rb +53 -0
  790. data/rbi/stripe.rbi +147289 -62508
  791. metadata +612 -3
@@ -27,16 +27,44 @@ module Stripe
27
27
  end
28
28
 
29
29
  class Discount < ::Stripe::RequestParams
30
+ class DiscountEnd < ::Stripe::RequestParams
31
+ class Duration < ::Stripe::RequestParams
32
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
33
+ attr_accessor :interval
34
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
35
+ attr_accessor :interval_count
36
+
37
+ def initialize(interval: nil, interval_count: nil)
38
+ @interval = interval
39
+ @interval_count = interval_count
40
+ end
41
+ end
42
+ # Time span for the redeemed discount.
43
+ attr_accessor :duration
44
+ # A precise Unix timestamp for the discount to end. Must be in the future.
45
+ attr_accessor :timestamp
46
+ # The type of calculation made to determine when the discount ends.
47
+ attr_accessor :type
48
+
49
+ def initialize(duration: nil, timestamp: nil, type: nil)
50
+ @duration = duration
51
+ @timestamp = timestamp
52
+ @type = type
53
+ end
54
+ end
30
55
  # ID of the coupon to create a new discount for.
31
56
  attr_accessor :coupon
32
57
  # ID of an existing discount on the object (or one of its ancestors) to reuse.
33
58
  attr_accessor :discount
59
+ # Details to determine how long the discount should be applied for.
60
+ attr_accessor :discount_end
34
61
  # ID of the promotion code to create a new discount for.
35
62
  attr_accessor :promotion_code
36
63
 
37
- def initialize(coupon: nil, discount: nil, promotion_code: nil)
64
+ def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
38
65
  @coupon = coupon
39
66
  @discount = discount
67
+ @discount_end = discount_end
40
68
  @promotion_code = promotion_code
41
69
  end
42
70
  end
@@ -76,18 +104,730 @@ module Stripe
76
104
  end
77
105
  end
78
106
 
107
+ class Line < ::Stripe::RequestParams
108
+ class Action < ::Stripe::RequestParams
109
+ class AddDiscount < ::Stripe::RequestParams
110
+ class DiscountEnd < ::Stripe::RequestParams
111
+ # The type of calculation made to determine when the discount ends.
112
+ attr_accessor :type
113
+
114
+ def initialize(type: nil)
115
+ @type = type
116
+ end
117
+ end
118
+
119
+ class Settings < ::Stripe::RequestParams
120
+ class ServicePeriodAnchorConfig < ::Stripe::RequestParams
121
+ class Custom < ::Stripe::RequestParams
122
+ # The day of the month the anchor should be. Ranges from 1 to 31.
123
+ attr_accessor :day_of_month
124
+ # The hour of the day the anchor should be. Ranges from 0 to 23.
125
+ attr_accessor :hour
126
+ # The minute of the hour the anchor should be. Ranges from 0 to 59.
127
+ attr_accessor :minute
128
+ # The month to start full cycle periods. Ranges from 1 to 12.
129
+ attr_accessor :month
130
+ # The second of the minute the anchor should be. Ranges from 0 to 59.
131
+ attr_accessor :second
132
+
133
+ def initialize(day_of_month: nil, hour: nil, minute: nil, month: nil, second: nil)
134
+ @day_of_month = day_of_month
135
+ @hour = hour
136
+ @minute = minute
137
+ @month = month
138
+ @second = second
139
+ end
140
+ end
141
+ # Anchor the service period to a custom date. Type must be `custom` to specify.
142
+ attr_accessor :custom
143
+ # The type of service period anchor config. Defaults to `inherit` if omitted.
144
+ attr_accessor :type
145
+
146
+ def initialize(custom: nil, type: nil)
147
+ @custom = custom
148
+ @type = type
149
+ end
150
+ end
151
+ # Configures service period cycle anchoring.
152
+ attr_accessor :service_period_anchor_config
153
+ # The start date of the discount's service period when applying a coupon or promotion code with a service period duration. Defaults to `line_start` if omitted.
154
+ attr_accessor :start_date
155
+
156
+ def initialize(service_period_anchor_config: nil, start_date: nil)
157
+ @service_period_anchor_config = service_period_anchor_config
158
+ @start_date = start_date
159
+ end
160
+ end
161
+ # The coupon code to redeem.
162
+ attr_accessor :coupon
163
+ # An ID of an existing discount for a coupon that was already redeemed.
164
+ attr_accessor :discount
165
+ # Details to determine how long the discount should be applied for.
166
+ attr_accessor :discount_end
167
+ # The index, starting at 0, at which to position the new discount. When not supplied, Stripe defaults to appending the discount to the end of the `discounts` array.
168
+ attr_accessor :index
169
+ # The promotion code to redeem.
170
+ attr_accessor :promotion_code
171
+ # Settings for discount application including service period anchoring.
172
+ attr_accessor :settings
173
+
174
+ def initialize(
175
+ coupon: nil,
176
+ discount: nil,
177
+ discount_end: nil,
178
+ index: nil,
179
+ promotion_code: nil,
180
+ settings: nil
181
+ )
182
+ @coupon = coupon
183
+ @discount = discount
184
+ @discount_end = discount_end
185
+ @index = index
186
+ @promotion_code = promotion_code
187
+ @settings = settings
188
+ end
189
+ end
190
+
191
+ class AddItem < ::Stripe::RequestParams
192
+ class Discount < ::Stripe::RequestParams
193
+ class DiscountEnd < ::Stripe::RequestParams
194
+ class Duration < ::Stripe::RequestParams
195
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
196
+ attr_accessor :interval
197
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
198
+ attr_accessor :interval_count
199
+
200
+ def initialize(interval: nil, interval_count: nil)
201
+ @interval = interval
202
+ @interval_count = interval_count
203
+ end
204
+ end
205
+ # Time span for the redeemed discount.
206
+ attr_accessor :duration
207
+ # A precise Unix timestamp for the discount to end. Must be in the future.
208
+ attr_accessor :timestamp
209
+ # The type of calculation made to determine when the discount ends.
210
+ attr_accessor :type
211
+
212
+ def initialize(duration: nil, timestamp: nil, type: nil)
213
+ @duration = duration
214
+ @timestamp = timestamp
215
+ @type = type
216
+ end
217
+ end
218
+
219
+ class Settings < ::Stripe::RequestParams
220
+ class ServicePeriodAnchorConfig < ::Stripe::RequestParams
221
+ class Custom < ::Stripe::RequestParams
222
+ # The day of the month the anchor should be. Ranges from 1 to 31.
223
+ attr_accessor :day_of_month
224
+ # The hour of the day the anchor should be. Ranges from 0 to 23.
225
+ attr_accessor :hour
226
+ # The minute of the hour the anchor should be. Ranges from 0 to 59.
227
+ attr_accessor :minute
228
+ # The month to start full cycle periods. Ranges from 1 to 12.
229
+ attr_accessor :month
230
+ # The second of the minute the anchor should be. Ranges from 0 to 59.
231
+ attr_accessor :second
232
+
233
+ def initialize(day_of_month: nil, hour: nil, minute: nil, month: nil, second: nil)
234
+ @day_of_month = day_of_month
235
+ @hour = hour
236
+ @minute = minute
237
+ @month = month
238
+ @second = second
239
+ end
240
+ end
241
+ # Anchor the service period to a custom date. Type must be `custom` to specify.
242
+ attr_accessor :custom
243
+ # The type of service period anchor config. Defaults to `inherit` if omitted.
244
+ attr_accessor :type
245
+
246
+ def initialize(custom: nil, type: nil)
247
+ @custom = custom
248
+ @type = type
249
+ end
250
+ end
251
+ # Configures service period cycle anchoring.
252
+ attr_accessor :service_period_anchor_config
253
+ # The start date of the discount's service period when applying a coupon or promotion code with a service period duration. Defaults to `line_start` if omitted.
254
+ attr_accessor :start_date
255
+
256
+ def initialize(service_period_anchor_config: nil, start_date: nil)
257
+ @service_period_anchor_config = service_period_anchor_config
258
+ @start_date = start_date
259
+ end
260
+ end
261
+ # ID of the coupon to create a new discount for.
262
+ attr_accessor :coupon
263
+ # ID of an existing discount on the object (or one of its ancestors) to reuse.
264
+ attr_accessor :discount
265
+ # Details to determine how long the discount should be applied for.
266
+ attr_accessor :discount_end
267
+ # ID of the promotion code to create a new discount for.
268
+ attr_accessor :promotion_code
269
+ # Settings for discount application including service period anchoring.
270
+ attr_accessor :settings
271
+
272
+ def initialize(
273
+ coupon: nil,
274
+ discount: nil,
275
+ discount_end: nil,
276
+ promotion_code: nil,
277
+ settings: nil
278
+ )
279
+ @coupon = coupon
280
+ @discount = discount
281
+ @discount_end = discount_end
282
+ @promotion_code = promotion_code
283
+ @settings = settings
284
+ end
285
+ end
286
+
287
+ class Trial < ::Stripe::RequestParams
288
+ # List of price IDs which, if present on the subscription following a paid trial, constitute opting-in to the paid trial. Currently only supports at most 1 price ID.
289
+ attr_accessor :converts_to
290
+ # Determines the type of trial for this item.
291
+ attr_accessor :type
292
+
293
+ def initialize(converts_to: nil, type: nil)
294
+ @converts_to = converts_to
295
+ @type = type
296
+ end
297
+ end
298
+ # The discounts applied to the item. Subscription item discounts are applied before subscription discounts.
299
+ attr_accessor :discounts
300
+ # Set of [key-value pairs](https://docs.stripe.com/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`.
301
+ attr_accessor :metadata
302
+ # The ID of the price object.
303
+ attr_accessor :price
304
+ # Quantity for this item.
305
+ attr_accessor :quantity
306
+ # The tax rates that apply to this subscription item. When set, the `default_tax_rates` on the subscription do not apply to this `subscription_item`.
307
+ attr_accessor :tax_rates
308
+ # Options that configure the trial on the subscription item.
309
+ attr_accessor :trial
310
+ # The ID of the trial offer to apply to the configuration item.
311
+ attr_accessor :trial_offer
312
+
313
+ def initialize(
314
+ discounts: nil,
315
+ metadata: nil,
316
+ price: nil,
317
+ quantity: nil,
318
+ tax_rates: nil,
319
+ trial: nil,
320
+ trial_offer: nil
321
+ )
322
+ @discounts = discounts
323
+ @metadata = metadata
324
+ @price = price
325
+ @quantity = quantity
326
+ @tax_rates = tax_rates
327
+ @trial = trial
328
+ @trial_offer = trial_offer
329
+ end
330
+ end
331
+
332
+ class RemoveDiscount < ::Stripe::RequestParams
333
+ # The coupon code to remove from the `discounts` array.
334
+ attr_accessor :coupon
335
+ # The ID of a discount to remove from the `discounts` array.
336
+ attr_accessor :discount
337
+ # The ID of a promotion code to remove from the `discounts` array.
338
+ attr_accessor :promotion_code
339
+
340
+ def initialize(coupon: nil, discount: nil, promotion_code: nil)
341
+ @coupon = coupon
342
+ @discount = discount
343
+ @promotion_code = promotion_code
344
+ end
345
+ end
346
+
347
+ class RemoveItem < ::Stripe::RequestParams
348
+ # ID of a price to remove.
349
+ attr_accessor :price
350
+
351
+ def initialize(price: nil)
352
+ @price = price
353
+ end
354
+ end
355
+
356
+ class SetDiscount < ::Stripe::RequestParams
357
+ class Settings < ::Stripe::RequestParams
358
+ class ServicePeriodAnchorConfig < ::Stripe::RequestParams
359
+ class Custom < ::Stripe::RequestParams
360
+ # The day of the month the anchor should be. Ranges from 1 to 31.
361
+ attr_accessor :day_of_month
362
+ # The hour of the day the anchor should be. Ranges from 0 to 23.
363
+ attr_accessor :hour
364
+ # The minute of the hour the anchor should be. Ranges from 0 to 59.
365
+ attr_accessor :minute
366
+ # The month to start full cycle periods. Ranges from 1 to 12.
367
+ attr_accessor :month
368
+ # The second of the minute the anchor should be. Ranges from 0 to 59.
369
+ attr_accessor :second
370
+
371
+ def initialize(day_of_month: nil, hour: nil, minute: nil, month: nil, second: nil)
372
+ @day_of_month = day_of_month
373
+ @hour = hour
374
+ @minute = minute
375
+ @month = month
376
+ @second = second
377
+ end
378
+ end
379
+ # Anchor the service period to a custom date. Type must be `custom` to specify.
380
+ attr_accessor :custom
381
+ # The type of service period anchor config. Defaults to `inherit` if omitted.
382
+ attr_accessor :type
383
+
384
+ def initialize(custom: nil, type: nil)
385
+ @custom = custom
386
+ @type = type
387
+ end
388
+ end
389
+ # Configures service period cycle anchoring.
390
+ attr_accessor :service_period_anchor_config
391
+ # The start date of the discount's service period when applying a coupon or promotion code with a service period duration. Defaults to `line_start` if omitted.
392
+ attr_accessor :start_date
393
+
394
+ def initialize(service_period_anchor_config: nil, start_date: nil)
395
+ @service_period_anchor_config = service_period_anchor_config
396
+ @start_date = start_date
397
+ end
398
+ end
399
+ # The coupon code to replace the `discounts` array with.
400
+ attr_accessor :coupon
401
+ # An ID of an existing discount to replace the `discounts` array with.
402
+ attr_accessor :discount
403
+ # An ID of an existing promotion code to replace the `discounts` array with.
404
+ attr_accessor :promotion_code
405
+ # Settings for discount application including service period anchoring.
406
+ attr_accessor :settings
407
+
408
+ def initialize(coupon: nil, discount: nil, promotion_code: nil, settings: nil)
409
+ @coupon = coupon
410
+ @discount = discount
411
+ @promotion_code = promotion_code
412
+ @settings = settings
413
+ end
414
+ end
415
+
416
+ class SetItem < ::Stripe::RequestParams
417
+ class Discount < ::Stripe::RequestParams
418
+ class DiscountEnd < ::Stripe::RequestParams
419
+ class Duration < ::Stripe::RequestParams
420
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
421
+ attr_accessor :interval
422
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
423
+ attr_accessor :interval_count
424
+
425
+ def initialize(interval: nil, interval_count: nil)
426
+ @interval = interval
427
+ @interval_count = interval_count
428
+ end
429
+ end
430
+ # Time span for the redeemed discount.
431
+ attr_accessor :duration
432
+ # A precise Unix timestamp for the discount to end. Must be in the future.
433
+ attr_accessor :timestamp
434
+ # The type of calculation made to determine when the discount ends.
435
+ attr_accessor :type
436
+
437
+ def initialize(duration: nil, timestamp: nil, type: nil)
438
+ @duration = duration
439
+ @timestamp = timestamp
440
+ @type = type
441
+ end
442
+ end
443
+
444
+ class Settings < ::Stripe::RequestParams
445
+ class ServicePeriodAnchorConfig < ::Stripe::RequestParams
446
+ class Custom < ::Stripe::RequestParams
447
+ # The day of the month the anchor should be. Ranges from 1 to 31.
448
+ attr_accessor :day_of_month
449
+ # The hour of the day the anchor should be. Ranges from 0 to 23.
450
+ attr_accessor :hour
451
+ # The minute of the hour the anchor should be. Ranges from 0 to 59.
452
+ attr_accessor :minute
453
+ # The month to start full cycle periods. Ranges from 1 to 12.
454
+ attr_accessor :month
455
+ # The second of the minute the anchor should be. Ranges from 0 to 59.
456
+ attr_accessor :second
457
+
458
+ def initialize(day_of_month: nil, hour: nil, minute: nil, month: nil, second: nil)
459
+ @day_of_month = day_of_month
460
+ @hour = hour
461
+ @minute = minute
462
+ @month = month
463
+ @second = second
464
+ end
465
+ end
466
+ # Anchor the service period to a custom date. Type must be `custom` to specify.
467
+ attr_accessor :custom
468
+ # The type of service period anchor config. Defaults to `inherit` if omitted.
469
+ attr_accessor :type
470
+
471
+ def initialize(custom: nil, type: nil)
472
+ @custom = custom
473
+ @type = type
474
+ end
475
+ end
476
+ # Configures service period cycle anchoring.
477
+ attr_accessor :service_period_anchor_config
478
+ # The start date of the discount's service period when applying a coupon or promotion code with a service period duration. Defaults to `line_start` if omitted.
479
+ attr_accessor :start_date
480
+
481
+ def initialize(service_period_anchor_config: nil, start_date: nil)
482
+ @service_period_anchor_config = service_period_anchor_config
483
+ @start_date = start_date
484
+ end
485
+ end
486
+ # ID of the coupon to create a new discount for.
487
+ attr_accessor :coupon
488
+ # ID of an existing discount on the object (or one of its ancestors) to reuse.
489
+ attr_accessor :discount
490
+ # Details to determine how long the discount should be applied for.
491
+ attr_accessor :discount_end
492
+ # ID of the promotion code to create a new discount for.
493
+ attr_accessor :promotion_code
494
+ # Settings for discount application including service period anchoring.
495
+ attr_accessor :settings
496
+
497
+ def initialize(
498
+ coupon: nil,
499
+ discount: nil,
500
+ discount_end: nil,
501
+ promotion_code: nil,
502
+ settings: nil
503
+ )
504
+ @coupon = coupon
505
+ @discount = discount
506
+ @discount_end = discount_end
507
+ @promotion_code = promotion_code
508
+ @settings = settings
509
+ end
510
+ end
511
+
512
+ class Trial < ::Stripe::RequestParams
513
+ # List of price IDs which, if present on the subscription following a paid trial, constitute opting-in to the paid trial. Currently only supports at most 1 price ID.
514
+ attr_accessor :converts_to
515
+ # Determines the type of trial for this item.
516
+ attr_accessor :type
517
+
518
+ def initialize(converts_to: nil, type: nil)
519
+ @converts_to = converts_to
520
+ @type = type
521
+ end
522
+ end
523
+ # If an item with the `price` already exists, passing this will override the `discounts` array on the subscription item that matches that price. Otherwise, the `items` array is cleared and a single new item is added with the supplied `discounts`.
524
+ attr_accessor :discounts
525
+ # If an item with the `price` already exists, passing this will override the `metadata` on the subscription item that matches that price. Otherwise, the `items` array is cleared and a single new item is added with the supplied `metadata`.
526
+ attr_accessor :metadata
527
+ # The ID of the price object.
528
+ attr_accessor :price
529
+ # If an item with the `price` already exists, passing this will override the quantity on the subscription item that matches that price. Otherwise, the `items` array is cleared and a single new item is added with the supplied `quantity`.
530
+ attr_accessor :quantity
531
+ # If an item with the `price` already exists, passing this will override the `tax_rates` array on the subscription item that matches that price. Otherwise, the `items` array is cleared and a single new item is added with the supplied `tax_rates`.
532
+ attr_accessor :tax_rates
533
+ # If an item with the `price` already exists, passing this will override the `trial` configuration on the subscription item that matches that price. Otherwise, the `items` array is cleared and a single new item is added with the supplied `trial`.
534
+ attr_accessor :trial
535
+ # The ID of the trial offer to apply to the configuration item.
536
+ attr_accessor :trial_offer
537
+
538
+ def initialize(
539
+ discounts: nil,
540
+ metadata: nil,
541
+ price: nil,
542
+ quantity: nil,
543
+ tax_rates: nil,
544
+ trial: nil,
545
+ trial_offer: nil
546
+ )
547
+ @discounts = discounts
548
+ @metadata = metadata
549
+ @price = price
550
+ @quantity = quantity
551
+ @tax_rates = tax_rates
552
+ @trial = trial
553
+ @trial_offer = trial_offer
554
+ end
555
+ end
556
+ # Details for the `add_discount` type.
557
+ attr_accessor :add_discount
558
+ # Details for the `add_item` type.
559
+ attr_accessor :add_item
560
+ # Details for the `add_metadata` type: specify a hash of key-value pairs.
561
+ attr_accessor :add_metadata
562
+ # Details for the `remove_discount` type.
563
+ attr_accessor :remove_discount
564
+ # Details for the `remove_item` type.
565
+ attr_accessor :remove_item
566
+ # Details for the `remove_metadata` type: specify an array of metadata keys.
567
+ attr_accessor :remove_metadata
568
+ # Details for the `set_discounts` type.
569
+ attr_accessor :set_discounts
570
+ # Details for the `set_items` type.
571
+ attr_accessor :set_items
572
+ # Details for the `set_metadata` type: specify an array of key-value pairs.
573
+ attr_accessor :set_metadata
574
+ # The type of action the quote line performs.
575
+ attr_accessor :type
576
+
577
+ def initialize(
578
+ add_discount: nil,
579
+ add_item: nil,
580
+ add_metadata: nil,
581
+ remove_discount: nil,
582
+ remove_item: nil,
583
+ remove_metadata: nil,
584
+ set_discounts: nil,
585
+ set_items: nil,
586
+ set_metadata: nil,
587
+ type: nil
588
+ )
589
+ @add_discount = add_discount
590
+ @add_item = add_item
591
+ @add_metadata = add_metadata
592
+ @remove_discount = remove_discount
593
+ @remove_item = remove_item
594
+ @remove_metadata = remove_metadata
595
+ @set_discounts = set_discounts
596
+ @set_items = set_items
597
+ @set_metadata = set_metadata
598
+ @type = type
599
+ end
600
+ end
601
+
602
+ class AppliesTo < ::Stripe::RequestParams
603
+ # A custom string that identifies a new subscription schedule being created upon quote acceptance. All quote lines with the same `new_reference` field will be applied to the creation of a new subscription schedule.
604
+ attr_accessor :new_reference
605
+ # The ID of the schedule the line applies to.
606
+ attr_accessor :subscription_schedule
607
+ # Describes whether the quote line is affecting a new schedule or an existing schedule.
608
+ attr_accessor :type
609
+
610
+ def initialize(new_reference: nil, subscription_schedule: nil, type: nil)
611
+ @new_reference = new_reference
612
+ @subscription_schedule = subscription_schedule
613
+ @type = type
614
+ end
615
+ end
616
+
617
+ class CancelSubscriptionSchedule < ::Stripe::RequestParams
618
+ # Timestamp helper to cancel the underlying schedule on the accompanying line's start date. Must be set to `line_starts_at`.
619
+ attr_accessor :cancel_at
620
+ # If the subscription schedule is `active`, indicates if a final invoice will be generated that contains any un-invoiced metered usage and new/pending proration invoice items. Boolean that defaults to `true`.
621
+ attr_accessor :invoice_now
622
+ # If the subscription schedule is `active`, indicates if the cancellation should be prorated. Boolean that defaults to `true`.
623
+ attr_accessor :prorate
624
+
625
+ def initialize(cancel_at: nil, invoice_now: nil, prorate: nil)
626
+ @cancel_at = cancel_at
627
+ @invoice_now = invoice_now
628
+ @prorate = prorate
629
+ end
630
+ end
631
+
632
+ class EndsAt < ::Stripe::RequestParams
633
+ class DiscountEnd < ::Stripe::RequestParams
634
+ # The ID of a specific discount.
635
+ attr_accessor :discount
636
+
637
+ def initialize(discount: nil)
638
+ @discount = discount
639
+ end
640
+ end
641
+
642
+ class Duration < ::Stripe::RequestParams
643
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
644
+ attr_accessor :interval
645
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
646
+ attr_accessor :interval_count
647
+
648
+ def initialize(interval: nil, interval_count: nil)
649
+ @interval = interval
650
+ @interval_count = interval_count
651
+ end
652
+ end
653
+ # Use the `end` time of a given discount.
654
+ attr_accessor :discount_end
655
+ # Time span for the quote line starting from the `starts_at` date.
656
+ attr_accessor :duration
657
+ # A precise Unix timestamp.
658
+ attr_accessor :timestamp
659
+ # Select a way to pass in `ends_at`.
660
+ attr_accessor :type
661
+
662
+ def initialize(discount_end: nil, duration: nil, timestamp: nil, type: nil)
663
+ @discount_end = discount_end
664
+ @duration = duration
665
+ @timestamp = timestamp
666
+ @type = type
667
+ end
668
+ end
669
+
670
+ class SetPauseCollection < ::Stripe::RequestParams
671
+ class Set < ::Stripe::RequestParams
672
+ # The payment collection behavior for this subscription while paused. One of `keep_as_draft`, `mark_uncollectible`, or `void`.
673
+ attr_accessor :behavior
674
+
675
+ def initialize(behavior: nil)
676
+ @behavior = behavior
677
+ end
678
+ end
679
+ # Details of the pause_collection behavior to apply to the amendment.
680
+ attr_accessor :set
681
+ # Determines the type of the pause_collection amendment.
682
+ attr_accessor :type
683
+
684
+ def initialize(set: nil, type: nil)
685
+ @set = set
686
+ @type = type
687
+ end
688
+ end
689
+
690
+ class StartsAt < ::Stripe::RequestParams
691
+ class DiscountEnd < ::Stripe::RequestParams
692
+ # The ID of a specific discount.
693
+ attr_accessor :discount
694
+
695
+ def initialize(discount: nil)
696
+ @discount = discount
697
+ end
698
+ end
699
+
700
+ class LineEndsAt < ::Stripe::RequestParams
701
+ # The position of the previous quote line in the `lines` array after which this line should begin. Indexes start from 0 and must be less than the index of the current line in the array.
702
+ attr_accessor :index
703
+
704
+ def initialize(index: nil)
705
+ @index = index
706
+ end
707
+ end
708
+ # Use the `end` time of a given discount.
709
+ attr_accessor :discount_end
710
+ # The timestamp the given line ends at.
711
+ attr_accessor :line_ends_at
712
+ # A precise Unix timestamp.
713
+ attr_accessor :timestamp
714
+ # Select a way to pass in `starts_at`.
715
+ attr_accessor :type
716
+
717
+ def initialize(discount_end: nil, line_ends_at: nil, timestamp: nil, type: nil)
718
+ @discount_end = discount_end
719
+ @line_ends_at = line_ends_at
720
+ @timestamp = timestamp
721
+ @type = type
722
+ end
723
+ end
724
+
725
+ class TrialSettings < ::Stripe::RequestParams
726
+ class EndBehavior < ::Stripe::RequestParams
727
+ # Configure how an opt-in following a paid trial is billed when using `billing_behavior: prorate_up_front`.
728
+ attr_accessor :prorate_up_front
729
+
730
+ def initialize(prorate_up_front: nil)
731
+ @prorate_up_front = prorate_up_front
732
+ end
733
+ end
734
+ # Defines how the subscription should behave when a trial ends.
735
+ attr_accessor :end_behavior
736
+
737
+ def initialize(end_behavior: nil)
738
+ @end_behavior = end_behavior
739
+ end
740
+ end
741
+ # An array of operations the quote line performs.
742
+ attr_accessor :actions
743
+ # Details to identify the subscription schedule the quote line applies to.
744
+ attr_accessor :applies_to
745
+ # For point-in-time quote lines (having no `ends_at` timestamp), this attribute lets you set or remove whether the subscription's billing cycle anchor is reset at the Quote Line `starts_at` timestamp.For time-span based quote lines (having both `starts_at` and `ends_at`), the only valid value is `automatic`, which removes any previously configured billing cycle anchor resets during the window of time spanning the quote line.
746
+ attr_accessor :billing_cycle_anchor
747
+ # A point-in-time operation that cancels an existing subscription schedule at the line's starts_at timestamp. Currently only compatible with `quote_acceptance_date` for `starts_at`. When using cancel_subscription_schedule, the subscription schedule on the quote remains unalterable, except for modifications to the metadata, collection_method or invoice_settings.
748
+ attr_accessor :cancel_subscription_schedule
749
+ # Configures how the quote handles billing for line transitions.
750
+ attr_accessor :effective_at
751
+ # Details to identify the end of the time range modified by the proposed change. If not supplied, the quote line is considered a point-in-time operation that only affects the exact timestamp at `starts_at`, and a restricted set of attributes is supported on the quote line.
752
+ attr_accessor :ends_at
753
+ # Changes to how Stripe handles prorations during the quote line's time span. Affects if and how prorations are created when a future phase starts.
754
+ attr_accessor :proration_behavior
755
+ # Defines how to pause collection for the underlying subscription throughout the duration of the amendment.
756
+ attr_accessor :set_pause_collection
757
+ # Timestamp helper to end the underlying schedule early, based on the acompanying line's start or end date.
758
+ attr_accessor :set_schedule_end
759
+ # Details to identify the earliest timestamp where the proposed change should take effect.
760
+ attr_accessor :starts_at
761
+ # Settings related to subscription trials.
762
+ attr_accessor :trial_settings
763
+
764
+ def initialize(
765
+ actions: nil,
766
+ applies_to: nil,
767
+ billing_cycle_anchor: nil,
768
+ cancel_subscription_schedule: nil,
769
+ effective_at: nil,
770
+ ends_at: nil,
771
+ proration_behavior: nil,
772
+ set_pause_collection: nil,
773
+ set_schedule_end: nil,
774
+ starts_at: nil,
775
+ trial_settings: nil
776
+ )
777
+ @actions = actions
778
+ @applies_to = applies_to
779
+ @billing_cycle_anchor = billing_cycle_anchor
780
+ @cancel_subscription_schedule = cancel_subscription_schedule
781
+ @effective_at = effective_at
782
+ @ends_at = ends_at
783
+ @proration_behavior = proration_behavior
784
+ @set_pause_collection = set_pause_collection
785
+ @set_schedule_end = set_schedule_end
786
+ @starts_at = starts_at
787
+ @trial_settings = trial_settings
788
+ end
789
+ end
790
+
79
791
  class LineItem < ::Stripe::RequestParams
80
792
  class Discount < ::Stripe::RequestParams
793
+ class DiscountEnd < ::Stripe::RequestParams
794
+ class Duration < ::Stripe::RequestParams
795
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
796
+ attr_accessor :interval
797
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
798
+ attr_accessor :interval_count
799
+
800
+ def initialize(interval: nil, interval_count: nil)
801
+ @interval = interval
802
+ @interval_count = interval_count
803
+ end
804
+ end
805
+ # Time span for the redeemed discount.
806
+ attr_accessor :duration
807
+ # A precise Unix timestamp for the discount to end. Must be in the future.
808
+ attr_accessor :timestamp
809
+ # The type of calculation made to determine when the discount ends.
810
+ attr_accessor :type
811
+
812
+ def initialize(duration: nil, timestamp: nil, type: nil)
813
+ @duration = duration
814
+ @timestamp = timestamp
815
+ @type = type
816
+ end
817
+ end
81
818
  # ID of the coupon to create a new discount for.
82
819
  attr_accessor :coupon
83
820
  # ID of an existing discount on the object (or one of its ancestors) to reuse.
84
821
  attr_accessor :discount
822
+ # Details to determine how long the discount should be applied for.
823
+ attr_accessor :discount_end
85
824
  # ID of the promotion code to create a new discount for.
86
825
  attr_accessor :promotion_code
87
826
 
88
- def initialize(coupon: nil, discount: nil, promotion_code: nil)
827
+ def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
89
828
  @coupon = coupon
90
829
  @discount = discount
830
+ @discount_end = discount_end
91
831
  @promotion_code = promotion_code
92
832
  end
93
833
  end
@@ -154,6 +894,84 @@ module Stripe
154
894
  end
155
895
 
156
896
  class SubscriptionData < ::Stripe::RequestParams
897
+ class BillOnAcceptance < ::Stripe::RequestParams
898
+ class BillFrom < ::Stripe::RequestParams
899
+ class LineStartsAt < ::Stripe::RequestParams
900
+ # The ID of a quote line.
901
+ attr_accessor :id
902
+ # The position of the previous quote line in the `lines` array after which this line should begin. Indexes start from 0 and must be less than the index of the current line in the array.
903
+ attr_accessor :index
904
+
905
+ def initialize(id: nil, index: nil)
906
+ @id = id
907
+ @index = index
908
+ end
909
+ end
910
+ # Details of a Quote line to start the bill period from.
911
+ attr_accessor :line_starts_at
912
+ # A precise Unix timestamp.
913
+ attr_accessor :timestamp
914
+ # The type of method to specify the `bill_from` time.
915
+ attr_accessor :type
916
+
917
+ def initialize(line_starts_at: nil, timestamp: nil, type: nil)
918
+ @line_starts_at = line_starts_at
919
+ @timestamp = timestamp
920
+ @type = type
921
+ end
922
+ end
923
+
924
+ class BillUntil < ::Stripe::RequestParams
925
+ class Duration < ::Stripe::RequestParams
926
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
927
+ attr_accessor :interval
928
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
929
+ attr_accessor :interval_count
930
+
931
+ def initialize(interval: nil, interval_count: nil)
932
+ @interval = interval
933
+ @interval_count = interval_count
934
+ end
935
+ end
936
+
937
+ class LineEndsAt < ::Stripe::RequestParams
938
+ # The ID of a quote line.
939
+ attr_accessor :id
940
+ # The position of the previous quote line in the `lines` array after which this line should begin. Indexes start from 0 and must be less than the index of the current line in the array.
941
+ attr_accessor :index
942
+
943
+ def initialize(id: nil, index: nil)
944
+ @id = id
945
+ @index = index
946
+ end
947
+ end
948
+ # Details of the duration over which to bill.
949
+ attr_accessor :duration
950
+ # Details of a Quote line item from which to bill until.
951
+ attr_accessor :line_ends_at
952
+ # A precise Unix timestamp.
953
+ attr_accessor :timestamp
954
+ # The type of method to specify the `bill_until` time.
955
+ attr_accessor :type
956
+
957
+ def initialize(duration: nil, line_ends_at: nil, timestamp: nil, type: nil)
958
+ @duration = duration
959
+ @line_ends_at = line_ends_at
960
+ @timestamp = timestamp
961
+ @type = type
962
+ end
963
+ end
964
+ # The start of the period to bill from when the Quote is accepted.
965
+ attr_accessor :bill_from
966
+ # The end of the period to bill until when the Quote is accepted.
967
+ attr_accessor :bill_until
968
+
969
+ def initialize(bill_from: nil, bill_until: nil)
970
+ @bill_from = bill_from
971
+ @bill_until = bill_until
972
+ end
973
+ end
974
+
157
975
  class BillingMode < ::Stripe::RequestParams
158
976
  class Flexible < ::Stripe::RequestParams
159
977
  # Controls how invoices and invoice items display proration amounts and discount amounts.
@@ -173,32 +991,416 @@ module Stripe
173
991
  @type = type
174
992
  end
175
993
  end
994
+
995
+ class BillingSchedule < ::Stripe::RequestParams
996
+ class AppliesTo < ::Stripe::RequestParams
997
+ # The ID of the price object.
998
+ attr_accessor :price
999
+ # Controls which subscription items the billing schedule applies to.
1000
+ attr_accessor :type
1001
+
1002
+ def initialize(price: nil, type: nil)
1003
+ @price = price
1004
+ @type = type
1005
+ end
1006
+ end
1007
+
1008
+ class BillFrom < ::Stripe::RequestParams
1009
+ class LineStartsAt < ::Stripe::RequestParams
1010
+ # The ID of a quote line.
1011
+ attr_accessor :id
1012
+ # The position of the previous quote line in the `lines` array after which this line should begin. Indexes start from 0 and must be less than the index of the current line in the array.
1013
+ attr_accessor :index
1014
+
1015
+ def initialize(id: nil, index: nil)
1016
+ @id = id
1017
+ @index = index
1018
+ end
1019
+ end
1020
+ # Details of a Quote line to start the bill period from.
1021
+ attr_accessor :line_starts_at
1022
+ # A precise Unix timestamp.
1023
+ attr_accessor :timestamp
1024
+ # The type of method to specify the `bill_from` time.
1025
+ attr_accessor :type
1026
+
1027
+ def initialize(line_starts_at: nil, timestamp: nil, type: nil)
1028
+ @line_starts_at = line_starts_at
1029
+ @timestamp = timestamp
1030
+ @type = type
1031
+ end
1032
+ end
1033
+
1034
+ class BillUntil < ::Stripe::RequestParams
1035
+ class Duration < ::Stripe::RequestParams
1036
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
1037
+ attr_accessor :interval
1038
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
1039
+ attr_accessor :interval_count
1040
+
1041
+ def initialize(interval: nil, interval_count: nil)
1042
+ @interval = interval
1043
+ @interval_count = interval_count
1044
+ end
1045
+ end
1046
+
1047
+ class LineEndsAt < ::Stripe::RequestParams
1048
+ # The ID of a quote line.
1049
+ attr_accessor :id
1050
+ # The position of the previous quote line in the `lines` array after which this line should begin. Indexes start from 0 and must be less than the index of the current line in the array.
1051
+ attr_accessor :index
1052
+
1053
+ def initialize(id: nil, index: nil)
1054
+ @id = id
1055
+ @index = index
1056
+ end
1057
+ end
1058
+ # Details of the duration over which to bill.
1059
+ attr_accessor :duration
1060
+ # Details of a Quote line item from which to bill until.
1061
+ attr_accessor :line_ends_at
1062
+ # A precise Unix timestamp.
1063
+ attr_accessor :timestamp
1064
+ # The type of method to specify the `bill_until` time.
1065
+ attr_accessor :type
1066
+
1067
+ def initialize(duration: nil, line_ends_at: nil, timestamp: nil, type: nil)
1068
+ @duration = duration
1069
+ @line_ends_at = line_ends_at
1070
+ @timestamp = timestamp
1071
+ @type = type
1072
+ end
1073
+ end
1074
+ # Configure billing schedule differently for individual subscription items.
1075
+ attr_accessor :applies_to
1076
+ # The start of the period to bill from when the Quote is accepted.
1077
+ attr_accessor :bill_from
1078
+ # The end of the period to bill until when the Quote is accepted.
1079
+ attr_accessor :bill_until
1080
+ # Specify a key for the billing schedule. Must be unique to this field, alphanumeric, and up to 200 characters. If not provided, a unique key will be generated.
1081
+ attr_accessor :key
1082
+
1083
+ def initialize(applies_to: nil, bill_from: nil, bill_until: nil, key: nil)
1084
+ @applies_to = applies_to
1085
+ @bill_from = bill_from
1086
+ @bill_until = bill_until
1087
+ @key = key
1088
+ end
1089
+ end
1090
+
1091
+ class Prebilling < ::Stripe::RequestParams
1092
+ # This is used to determine the number of billing cycles to prebill.
1093
+ attr_accessor :iterations
1094
+
1095
+ def initialize(iterations: nil)
1096
+ @iterations = iterations
1097
+ end
1098
+ end
1099
+ # Describes the period to bill for upon accepting the quote.
1100
+ attr_accessor :bill_on_acceptance
1101
+ # Configures when the subscription schedule generates prorations for phase transitions. Possible values are `prorate_on_next_phase` or `prorate_up_front` with the default being `prorate_on_next_phase`. `prorate_on_next_phase` will apply phase changes and generate prorations at transition time. `prorate_up_front` will bill for all phases within the current billing cycle up front.
1102
+ attr_accessor :billing_behavior
1103
+ # When specified as `reset`, the subscription will always start a new billing period when the quote is accepted.
1104
+ attr_accessor :billing_cycle_anchor
176
1105
  # Controls how prorations and invoices for subscriptions are calculated and orchestrated.
177
1106
  attr_accessor :billing_mode
1107
+ # Billing schedules that will be applied to the subscription or subscription schedule created when the quote is accepted.
1108
+ attr_accessor :billing_schedules
178
1109
  # The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs.
179
1110
  attr_accessor :description
180
- # When creating a new subscription, the date of which the subscription schedule will start after the quote is accepted. The `effective_date` is ignored if it is in the past when the quote is accepted.
1111
+ # When creating a new subscription, the date of which the subscription schedule will start after the quote is accepted. When updating a subscription, the date of which the subscription will be updated using a subscription schedule. The special value `current_period_end` can be provided to update a subscription at the end of its current period. The `effective_date` is ignored if it is in the past when the quote is accepted.
181
1112
  attr_accessor :effective_date
1113
+ # Behavior of the subscription schedule and underlying subscription when it ends.
1114
+ attr_accessor :end_behavior
1115
+ # The id of a subscription that the quote will update. By default, the quote will contain the state of the subscription (such as line items, collection method and billing thresholds) unless overridden.
1116
+ attr_accessor :from_subscription
182
1117
  # Set of [key-value pairs](https://docs.stripe.com/api/metadata) that will set metadata on the subscription or subscription schedule when the quote is accepted. If a recurring price is included in `line_items`, this field will be passed to the resulting subscription's `metadata` field. If `subscription_data.effective_date` is used, this field will be passed to the resulting subscription schedule's `phases.metadata` field. Unlike object-level metadata, this field is declarative. Updates will clear prior values.
183
1118
  attr_accessor :metadata
1119
+ # Configures how the subscription schedule handles billing for phase transitions when the quote is accepted.
1120
+ attr_accessor :phase_effective_at
1121
+ # If specified, the invoicing for the given billing cycle iterations will be processed when the quote is accepted. Cannot be used with `effective_date`.
1122
+ attr_accessor :prebilling
1123
+ # Determines how to handle [prorations](https://docs.stripe.com/subscriptions/billing-cycle#prorations). When creating a subscription, valid values are `create_prorations` or `none`.
1124
+ #
1125
+ # When updating a subscription, valid values are `create_prorations`, `none`, or `always_invoice`.
1126
+ #
1127
+ # Passing `create_prorations` will cause proration invoice items to be created when applicable. These proration items will only be invoiced immediately under [certain conditions](https://docs.stripe.com/subscriptions/upgrading-downgrading#immediate-payment). In order to always invoice immediately for prorations, pass `always_invoice`.
1128
+ #
1129
+ # Prorations can be disabled by passing `none`.
1130
+ attr_accessor :proration_behavior
184
1131
  # Integer representing the number of trial period days before the customer is charged for the first time.
185
1132
  attr_accessor :trial_period_days
186
1133
 
187
1134
  def initialize(
1135
+ bill_on_acceptance: nil,
1136
+ billing_behavior: nil,
1137
+ billing_cycle_anchor: nil,
188
1138
  billing_mode: nil,
1139
+ billing_schedules: nil,
189
1140
  description: nil,
190
1141
  effective_date: nil,
1142
+ end_behavior: nil,
1143
+ from_subscription: nil,
191
1144
  metadata: nil,
1145
+ phase_effective_at: nil,
1146
+ prebilling: nil,
1147
+ proration_behavior: nil,
192
1148
  trial_period_days: nil
193
1149
  )
1150
+ @bill_on_acceptance = bill_on_acceptance
1151
+ @billing_behavior = billing_behavior
1152
+ @billing_cycle_anchor = billing_cycle_anchor
194
1153
  @billing_mode = billing_mode
1154
+ @billing_schedules = billing_schedules
195
1155
  @description = description
196
1156
  @effective_date = effective_date
1157
+ @end_behavior = end_behavior
1158
+ @from_subscription = from_subscription
197
1159
  @metadata = metadata
1160
+ @phase_effective_at = phase_effective_at
1161
+ @prebilling = prebilling
1162
+ @proration_behavior = proration_behavior
198
1163
  @trial_period_days = trial_period_days
199
1164
  end
200
1165
  end
201
1166
 
1167
+ class SubscriptionDataOverride < ::Stripe::RequestParams
1168
+ class AppliesTo < ::Stripe::RequestParams
1169
+ # A custom string that identifies a new subscription schedule being created upon quote acceptance. All quote lines with the same `new_reference` field will be applied to the creation of a new subscription schedule.
1170
+ attr_accessor :new_reference
1171
+ # The ID of the schedule the line applies to.
1172
+ attr_accessor :subscription_schedule
1173
+ # Describes whether the quote line is affecting a new schedule or an existing schedule.
1174
+ attr_accessor :type
1175
+
1176
+ def initialize(new_reference: nil, subscription_schedule: nil, type: nil)
1177
+ @new_reference = new_reference
1178
+ @subscription_schedule = subscription_schedule
1179
+ @type = type
1180
+ end
1181
+ end
1182
+
1183
+ class BillOnAcceptance < ::Stripe::RequestParams
1184
+ class BillFrom < ::Stripe::RequestParams
1185
+ class LineStartsAt < ::Stripe::RequestParams
1186
+ # The ID of a quote line.
1187
+ attr_accessor :id
1188
+ # The position of the previous quote line in the `lines` array after which this line should begin. Indexes start from 0 and must be less than the index of the current line in the array.
1189
+ attr_accessor :index
1190
+
1191
+ def initialize(id: nil, index: nil)
1192
+ @id = id
1193
+ @index = index
1194
+ end
1195
+ end
1196
+ # Details of a Quote line to start the bill period from.
1197
+ attr_accessor :line_starts_at
1198
+ # A precise Unix timestamp.
1199
+ attr_accessor :timestamp
1200
+ # The type of method to specify the `bill_from` time.
1201
+ attr_accessor :type
1202
+
1203
+ def initialize(line_starts_at: nil, timestamp: nil, type: nil)
1204
+ @line_starts_at = line_starts_at
1205
+ @timestamp = timestamp
1206
+ @type = type
1207
+ end
1208
+ end
1209
+
1210
+ class BillUntil < ::Stripe::RequestParams
1211
+ class Duration < ::Stripe::RequestParams
1212
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
1213
+ attr_accessor :interval
1214
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
1215
+ attr_accessor :interval_count
1216
+
1217
+ def initialize(interval: nil, interval_count: nil)
1218
+ @interval = interval
1219
+ @interval_count = interval_count
1220
+ end
1221
+ end
1222
+
1223
+ class LineEndsAt < ::Stripe::RequestParams
1224
+ # The ID of a quote line.
1225
+ attr_accessor :id
1226
+ # The position of the previous quote line in the `lines` array after which this line should begin. Indexes start from 0 and must be less than the index of the current line in the array.
1227
+ attr_accessor :index
1228
+
1229
+ def initialize(id: nil, index: nil)
1230
+ @id = id
1231
+ @index = index
1232
+ end
1233
+ end
1234
+ # Details of the duration over which to bill.
1235
+ attr_accessor :duration
1236
+ # Details of a Quote line item from which to bill until.
1237
+ attr_accessor :line_ends_at
1238
+ # A precise Unix timestamp.
1239
+ attr_accessor :timestamp
1240
+ # The type of method to specify the `bill_until` time.
1241
+ attr_accessor :type
1242
+
1243
+ def initialize(duration: nil, line_ends_at: nil, timestamp: nil, type: nil)
1244
+ @duration = duration
1245
+ @line_ends_at = line_ends_at
1246
+ @timestamp = timestamp
1247
+ @type = type
1248
+ end
1249
+ end
1250
+ # The start of the period to bill from when the Quote is accepted.
1251
+ attr_accessor :bill_from
1252
+ # The end of the period to bill until when the Quote is accepted.
1253
+ attr_accessor :bill_until
1254
+
1255
+ def initialize(bill_from: nil, bill_until: nil)
1256
+ @bill_from = bill_from
1257
+ @bill_until = bill_until
1258
+ end
1259
+ end
1260
+
1261
+ class BillingSchedule < ::Stripe::RequestParams
1262
+ class AppliesTo < ::Stripe::RequestParams
1263
+ # The ID of the price object.
1264
+ attr_accessor :price
1265
+ # Controls which subscription items the billing schedule applies to.
1266
+ attr_accessor :type
1267
+
1268
+ def initialize(price: nil, type: nil)
1269
+ @price = price
1270
+ @type = type
1271
+ end
1272
+ end
1273
+
1274
+ class BillFrom < ::Stripe::RequestParams
1275
+ class LineStartsAt < ::Stripe::RequestParams
1276
+ # The ID of a quote line.
1277
+ attr_accessor :id
1278
+ # The position of the previous quote line in the `lines` array after which this line should begin. Indexes start from 0 and must be less than the index of the current line in the array.
1279
+ attr_accessor :index
1280
+
1281
+ def initialize(id: nil, index: nil)
1282
+ @id = id
1283
+ @index = index
1284
+ end
1285
+ end
1286
+ # Details of a Quote line to start the bill period from.
1287
+ attr_accessor :line_starts_at
1288
+ # A precise Unix timestamp.
1289
+ attr_accessor :timestamp
1290
+ # The type of method to specify the `bill_from` time.
1291
+ attr_accessor :type
1292
+
1293
+ def initialize(line_starts_at: nil, timestamp: nil, type: nil)
1294
+ @line_starts_at = line_starts_at
1295
+ @timestamp = timestamp
1296
+ @type = type
1297
+ end
1298
+ end
1299
+
1300
+ class BillUntil < ::Stripe::RequestParams
1301
+ class Duration < ::Stripe::RequestParams
1302
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
1303
+ attr_accessor :interval
1304
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
1305
+ attr_accessor :interval_count
1306
+
1307
+ def initialize(interval: nil, interval_count: nil)
1308
+ @interval = interval
1309
+ @interval_count = interval_count
1310
+ end
1311
+ end
1312
+
1313
+ class LineEndsAt < ::Stripe::RequestParams
1314
+ # The ID of a quote line.
1315
+ attr_accessor :id
1316
+ # The position of the previous quote line in the `lines` array after which this line should begin. Indexes start from 0 and must be less than the index of the current line in the array.
1317
+ attr_accessor :index
1318
+
1319
+ def initialize(id: nil, index: nil)
1320
+ @id = id
1321
+ @index = index
1322
+ end
1323
+ end
1324
+ # Details of the duration over which to bill.
1325
+ attr_accessor :duration
1326
+ # Details of a Quote line item from which to bill until.
1327
+ attr_accessor :line_ends_at
1328
+ # A precise Unix timestamp.
1329
+ attr_accessor :timestamp
1330
+ # The type of method to specify the `bill_until` time.
1331
+ attr_accessor :type
1332
+
1333
+ def initialize(duration: nil, line_ends_at: nil, timestamp: nil, type: nil)
1334
+ @duration = duration
1335
+ @line_ends_at = line_ends_at
1336
+ @timestamp = timestamp
1337
+ @type = type
1338
+ end
1339
+ end
1340
+ # Configure billing schedule differently for individual subscription items.
1341
+ attr_accessor :applies_to
1342
+ # The start of the period to bill from when the Quote is accepted.
1343
+ attr_accessor :bill_from
1344
+ # The end of the period to bill until when the Quote is accepted.
1345
+ attr_accessor :bill_until
1346
+ # Specify a key for the billing schedule. Must be unique to this field, alphanumeric, and up to 200 characters. If not provided, a unique key will be generated.
1347
+ attr_accessor :key
1348
+
1349
+ def initialize(applies_to: nil, bill_from: nil, bill_until: nil, key: nil)
1350
+ @applies_to = applies_to
1351
+ @bill_from = bill_from
1352
+ @bill_until = bill_until
1353
+ @key = key
1354
+ end
1355
+ end
1356
+ # Whether the override applies to an existing Subscription Schedule or a new Subscription Schedule.
1357
+ attr_accessor :applies_to
1358
+ # Describes the period to bill for upon accepting the quote.
1359
+ attr_accessor :bill_on_acceptance
1360
+ # Configures when the subscription schedule generates prorations for phase transitions. Possible values are `prorate_on_next_phase` or `prorate_up_front` with the default being `prorate_on_next_phase`. `prorate_on_next_phase` will apply phase changes and generate prorations at transition time. `prorate_up_front` will bill for all phases within the current billing cycle up front.
1361
+ attr_accessor :billing_behavior
1362
+ # Billing schedules that will be applied to the subscription or subscription schedule created when the quote is accepted.
1363
+ attr_accessor :billing_schedules
1364
+ # The customer the Subscription Data override applies to. This is only relevant when `applies_to.type=new_reference`.
1365
+ attr_accessor :customer
1366
+ # The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs.
1367
+ attr_accessor :description
1368
+ # Behavior of the subscription schedule and underlying subscription when it ends.
1369
+ attr_accessor :end_behavior
1370
+ # Configures how the subscription schedule handles billing for phase transitions when the quote is accepted.
1371
+ attr_accessor :phase_effective_at
1372
+ # Determines how to handle [prorations](https://docs.stripe.com/subscriptions/billing-cycle#prorations). When creating a subscription, valid values are `create_prorations` or `none`.
1373
+ #
1374
+ # When updating a subscription, valid values are `create_prorations`, `none`, or `always_invoice`.
1375
+ #
1376
+ # Passing `create_prorations` will cause proration invoice items to be created when applicable. These proration items will only be invoiced immediately under [certain conditions](https://docs.stripe.com/subscriptions/upgrading-downgrading#immediate-payment). In order to always invoice immediately for prorations, pass `always_invoice`.
1377
+ #
1378
+ # Prorations can be disabled by passing `none`.
1379
+ attr_accessor :proration_behavior
1380
+
1381
+ def initialize(
1382
+ applies_to: nil,
1383
+ bill_on_acceptance: nil,
1384
+ billing_behavior: nil,
1385
+ billing_schedules: nil,
1386
+ customer: nil,
1387
+ description: nil,
1388
+ end_behavior: nil,
1389
+ phase_effective_at: nil,
1390
+ proration_behavior: nil
1391
+ )
1392
+ @applies_to = applies_to
1393
+ @bill_on_acceptance = bill_on_acceptance
1394
+ @billing_behavior = billing_behavior
1395
+ @billing_schedules = billing_schedules
1396
+ @customer = customer
1397
+ @description = description
1398
+ @end_behavior = end_behavior
1399
+ @phase_effective_at = phase_effective_at
1400
+ @proration_behavior = proration_behavior
1401
+ end
1402
+ end
1403
+
202
1404
  class TransferData < ::Stripe::RequestParams
203
1405
  # The amount that will be transferred automatically when the invoice is paid. If no amount is set, the full amount is transferred. There cannot be any line items with recurring prices when using this field.
204
1406
  attr_accessor :amount
@@ -213,6 +1415,8 @@ module Stripe
213
1415
  @destination = destination
214
1416
  end
215
1417
  end
1418
+ # Set to true to allow quote lines to have `starts_at` in the past if collection is paused between `starts_at` and now.
1419
+ attr_accessor :allow_backdated_lines
216
1420
  # The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. There cannot be any line items with recurring prices when using this field.
217
1421
  attr_accessor :application_fee_amount
218
1422
  # A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. There must be at least 1 line item with a recurring price to use this field.
@@ -245,18 +1449,23 @@ module Stripe
245
1449
  attr_accessor :invoice_settings
246
1450
  # A list of line items the customer is being quoted for. Each line item includes information about the product, the quantity, and the resulting cost.
247
1451
  attr_accessor :line_items
1452
+ # A list of [quote lines](https://docs.stripe.com/api/quote_lines) on the quote. These lines describe changes, in the order provided, that will be used to create new subscription schedules or update existing subscription schedules when the quote is accepted.
1453
+ attr_accessor :lines
248
1454
  # Set of [key-value pairs](https://docs.stripe.com/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`.
249
1455
  attr_accessor :metadata
250
1456
  # The account on behalf of which to charge.
251
1457
  attr_accessor :on_behalf_of
252
1458
  # When creating a subscription or subscription schedule, the specified configuration data will be used. There must be at least one line item with a recurring price for a subscription or subscription schedule to be created. A subscription schedule is created if `subscription_data[effective_date]` is present and in the future, otherwise a subscription is created.
253
1459
  attr_accessor :subscription_data
1460
+ # List representing overrides for `subscription_data` configurations for specific subscription schedules.
1461
+ attr_accessor :subscription_data_overrides
254
1462
  # ID of the test clock to attach to the quote.
255
1463
  attr_accessor :test_clock
256
1464
  # The data with which to automatically create a Transfer for each of the invoices.
257
1465
  attr_accessor :transfer_data
258
1466
 
259
1467
  def initialize(
1468
+ allow_backdated_lines: nil,
260
1469
  application_fee_amount: nil,
261
1470
  application_fee_percent: nil,
262
1471
  automatic_tax: nil,
@@ -273,12 +1482,15 @@ module Stripe
273
1482
  header: nil,
274
1483
  invoice_settings: nil,
275
1484
  line_items: nil,
1485
+ lines: nil,
276
1486
  metadata: nil,
277
1487
  on_behalf_of: nil,
278
1488
  subscription_data: nil,
1489
+ subscription_data_overrides: nil,
279
1490
  test_clock: nil,
280
1491
  transfer_data: nil
281
1492
  )
1493
+ @allow_backdated_lines = allow_backdated_lines
282
1494
  @application_fee_amount = application_fee_amount
283
1495
  @application_fee_percent = application_fee_percent
284
1496
  @automatic_tax = automatic_tax
@@ -295,9 +1507,11 @@ module Stripe
295
1507
  @header = header
296
1508
  @invoice_settings = invoice_settings
297
1509
  @line_items = line_items
1510
+ @lines = lines
298
1511
  @metadata = metadata
299
1512
  @on_behalf_of = on_behalf_of
300
1513
  @subscription_data = subscription_data
1514
+ @subscription_data_overrides = subscription_data_overrides
301
1515
  @test_clock = test_clock
302
1516
  @transfer_data = transfer_data
303
1517
  end