stripe 18.0.0 → 18.1.0.pre.alpha.2

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 (750) hide show
  1. checksums.yaml +4 -4
  2. data/lib/stripe/api_requestor.rb +34 -0
  3. data/lib/stripe/api_version.rb +1 -2
  4. data/lib/stripe/errors.rb +63 -0
  5. data/lib/stripe/event_types.rb +493 -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_closed_event.rb +44 -0
  44. data/lib/stripe/events/v2_core_account_created_event.rb +44 -0
  45. data/lib/stripe/events/v2_core_account_including_configuration_card_creator_capability_status_updated_event.rb +63 -0
  46. data/lib/stripe/events/v2_core_account_including_configuration_card_creator_updated_event.rb +44 -0
  47. data/lib/stripe/events/v2_core_account_including_configuration_customer_capability_status_updated_event.rb +63 -0
  48. data/lib/stripe/events/v2_core_account_including_configuration_customer_updated_event.rb +44 -0
  49. data/lib/stripe/events/v2_core_account_including_configuration_merchant_capability_status_updated_event.rb +63 -0
  50. data/lib/stripe/events/v2_core_account_including_configuration_merchant_updated_event.rb +44 -0
  51. data/lib/stripe/events/v2_core_account_including_configuration_recipient_capability_status_updated_event.rb +63 -0
  52. data/lib/stripe/events/v2_core_account_including_configuration_recipient_updated_event.rb +44 -0
  53. data/lib/stripe/events/v2_core_account_including_configuration_storer_capability_status_updated_event.rb +63 -0
  54. data/lib/stripe/events/v2_core_account_including_configuration_storer_updated_event.rb +44 -0
  55. data/lib/stripe/events/v2_core_account_including_defaults_updated_event.rb +44 -0
  56. data/lib/stripe/events/v2_core_account_including_identity_updated_event.rb +44 -0
  57. data/lib/stripe/events/v2_core_account_including_requirements_updated_event.rb +44 -0
  58. data/lib/stripe/events/v2_core_account_link_returned_event.rb +42 -0
  59. data/lib/stripe/events/v2_core_account_person_created_event.rb +61 -0
  60. data/lib/stripe/events/v2_core_account_person_deleted_event.rb +61 -0
  61. data/lib/stripe/events/v2_core_account_person_updated_event.rb +61 -0
  62. data/lib/stripe/events/v2_core_account_updated_event.rb +44 -0
  63. data/lib/stripe/events/v2_core_claimable_sandbox_claimed_event.rb +44 -0
  64. data/lib/stripe/events/v2_core_claimable_sandbox_created_event.rb +44 -0
  65. data/lib/stripe/events/v2_core_claimable_sandbox_expired_event.rb +44 -0
  66. data/lib/stripe/events/v2_core_claimable_sandbox_expiring_event.rb +44 -0
  67. data/lib/stripe/events/v2_core_claimable_sandbox_sandbox_details_owner_account_updated_event.rb +44 -0
  68. data/lib/stripe/events/v2_core_health_api_error_firing_event.rb +68 -0
  69. data/lib/stripe/events/v2_core_health_api_error_resolved_event.rb +68 -0
  70. data/lib/stripe/events/v2_core_health_api_latency_firing_event.rb +66 -0
  71. data/lib/stripe/events/v2_core_health_api_latency_resolved_event.rb +66 -0
  72. data/lib/stripe/events/v2_core_health_authorization_rate_drop_firing_event.rb +80 -0
  73. data/lib/stripe/events/v2_core_health_authorization_rate_drop_resolved_event.rb +80 -0
  74. data/lib/stripe/events/v2_core_health_event_generation_failure_resolved_event.rb +78 -0
  75. data/lib/stripe/events/v2_core_health_fraud_rate_increased_event.rb +78 -0
  76. data/lib/stripe/events/v2_core_health_issuing_authorization_request_errors_firing_event.rb +91 -0
  77. data/lib/stripe/events/v2_core_health_issuing_authorization_request_errors_resolved_event.rb +93 -0
  78. data/lib/stripe/events/v2_core_health_issuing_authorization_request_timeout_firing_event.rb +93 -0
  79. data/lib/stripe/events/v2_core_health_issuing_authorization_request_timeout_resolved_event.rb +93 -0
  80. data/lib/stripe/events/v2_core_health_payment_method_error_firing_event.rb +64 -0
  81. data/lib/stripe/events/v2_core_health_payment_method_error_resolved_event.rb +64 -0
  82. data/lib/stripe/events/v2_core_health_traffic_volume_drop_firing_event.rb +62 -0
  83. data/lib/stripe/events/v2_core_health_traffic_volume_drop_resolved_event.rb +62 -0
  84. data/lib/stripe/events/v2_core_health_webhook_latency_firing_event.rb +58 -0
  85. data/lib/stripe/events/v2_core_health_webhook_latency_resolved_event.rb +58 -0
  86. data/lib/stripe/events/v2_money_management_adjustment_created_event.rb +44 -0
  87. data/lib/stripe/events/v2_money_management_financial_account_created_event.rb +44 -0
  88. data/lib/stripe/events/v2_money_management_financial_account_updated_event.rb +44 -0
  89. data/lib/stripe/events/v2_money_management_financial_address_activated_event.rb +44 -0
  90. data/lib/stripe/events/v2_money_management_financial_address_failed_event.rb +44 -0
  91. data/lib/stripe/events/v2_money_management_inbound_transfer_available_event.rb +61 -0
  92. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_failed_event.rb +44 -0
  93. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_processing_event.rb +44 -0
  94. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_queued_event.rb +44 -0
  95. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_returned_event.rb +44 -0
  96. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_succeeded_event.rb +44 -0
  97. data/lib/stripe/events/v2_money_management_outbound_payment_canceled_event.rb +44 -0
  98. data/lib/stripe/events/v2_money_management_outbound_payment_created_event.rb +44 -0
  99. data/lib/stripe/events/v2_money_management_outbound_payment_failed_event.rb +44 -0
  100. data/lib/stripe/events/v2_money_management_outbound_payment_posted_event.rb +44 -0
  101. data/lib/stripe/events/v2_money_management_outbound_payment_returned_event.rb +44 -0
  102. data/lib/stripe/events/v2_money_management_outbound_payment_updated_event.rb +44 -0
  103. data/lib/stripe/events/v2_money_management_outbound_transfer_canceled_event.rb +44 -0
  104. data/lib/stripe/events/v2_money_management_outbound_transfer_created_event.rb +44 -0
  105. data/lib/stripe/events/v2_money_management_outbound_transfer_failed_event.rb +44 -0
  106. data/lib/stripe/events/v2_money_management_outbound_transfer_posted_event.rb +44 -0
  107. data/lib/stripe/events/v2_money_management_outbound_transfer_returned_event.rb +44 -0
  108. data/lib/stripe/events/v2_money_management_outbound_transfer_updated_event.rb +44 -0
  109. data/lib/stripe/events/v2_money_management_payout_method_updated_event.rb +44 -0
  110. data/lib/stripe/events/v2_money_management_received_credit_available_event.rb +61 -0
  111. data/lib/stripe/events/v2_money_management_received_credit_failed_event.rb +44 -0
  112. data/lib/stripe/events/v2_money_management_received_credit_returned_event.rb +44 -0
  113. data/lib/stripe/events/v2_money_management_received_credit_succeeded_event.rb +44 -0
  114. data/lib/stripe/events/v2_money_management_received_debit_canceled_event.rb +44 -0
  115. data/lib/stripe/events/v2_money_management_received_debit_failed_event.rb +44 -0
  116. data/lib/stripe/events/v2_money_management_received_debit_pending_event.rb +44 -0
  117. data/lib/stripe/events/v2_money_management_received_debit_succeeded_event.rb +44 -0
  118. data/lib/stripe/events/v2_money_management_received_debit_updated_event.rb +44 -0
  119. data/lib/stripe/events/v2_money_management_recipient_verification_created_event.rb +44 -0
  120. data/lib/stripe/events/v2_money_management_recipient_verification_updated_event.rb +44 -0
  121. data/lib/stripe/events/v2_money_management_transaction_created_event.rb +61 -0
  122. data/lib/stripe/events/v2_money_management_transaction_updated_event.rb +44 -0
  123. data/lib/stripe/events/v2_payments_off_session_payment_attempt_failed_event.rb +44 -0
  124. data/lib/stripe/events/v2_payments_off_session_payment_attempt_started_event.rb +46 -0
  125. data/lib/stripe/events/v2_payments_off_session_payment_authorization_attempt_failed_event.rb +46 -0
  126. data/lib/stripe/events/v2_payments_off_session_payment_authorization_attempt_started_event.rb +48 -0
  127. data/lib/stripe/events/v2_payments_off_session_payment_canceled_event.rb +44 -0
  128. data/lib/stripe/events/v2_payments_off_session_payment_created_event.rb +44 -0
  129. data/lib/stripe/events/v2_payments_off_session_payment_failed_event.rb +44 -0
  130. data/lib/stripe/events/v2_payments_off_session_payment_requires_capture_event.rb +44 -0
  131. data/lib/stripe/events/v2_payments_off_session_payment_succeeded_event.rb +44 -0
  132. data/lib/stripe/events/v2_reporting_report_run_created_event.rb +44 -0
  133. data/lib/stripe/events/v2_reporting_report_run_failed_event.rb +44 -0
  134. data/lib/stripe/events/v2_reporting_report_run_succeeded_event.rb +44 -0
  135. data/lib/stripe/events/v2_reporting_report_run_updated_event.rb +44 -0
  136. data/lib/stripe/object_types.rb +87 -0
  137. data/lib/stripe/params/account_create_params.rb +349 -1
  138. data/lib/stripe/params/account_notice_list_params.rb +25 -0
  139. data/lib/stripe/params/account_notice_retrieve_params.rb +13 -0
  140. data/lib/stripe/params/account_notice_update_params.rb +36 -0
  141. data/lib/stripe/params/account_person_create_params.rb +32 -0
  142. data/lib/stripe/params/account_person_update_params.rb +32 -0
  143. data/lib/stripe/params/account_session_create_params.rb +226 -1
  144. data/lib/stripe/params/account_update_params.rb +311 -0
  145. data/lib/stripe/params/balance_transfer_create_params.rb +66 -0
  146. data/lib/stripe/params/billing/alert_create_params.rb +121 -1
  147. data/lib/stripe/params/billing/alert_list_params.rb +4 -0
  148. data/lib/stripe/params/billing/analytics/meter_usage_retrieve_params.rb +69 -0
  149. data/lib/stripe/params/billing/credit_balance_summary_retrieve_params.rb +17 -2
  150. data/lib/stripe/params/billing/credit_balance_transaction_list_params.rb +4 -0
  151. data/lib/stripe/params/billing/credit_grant_create_params.rb +33 -2
  152. data/lib/stripe/params/billing/credit_grant_list_params.rb +4 -0
  153. data/lib/stripe/params/billing/meter_create_params.rb +4 -0
  154. data/lib/stripe/params/billing/meter_event_summary_list_params.rb +8 -0
  155. data/lib/stripe/params/billing_portal/session_create_params.rb +4 -0
  156. data/lib/stripe/params/capital/financing_offer_create_params.rb +37 -0
  157. data/lib/stripe/params/capital/financing_offer_list_params.rb +58 -0
  158. data/lib/stripe/params/capital/financing_offer_mark_delivered_params.rb +15 -0
  159. data/lib/stripe/params/capital/financing_offer_refill_params.rb +37 -0
  160. data/lib/stripe/params/capital/financing_offer_retrieve_params.rb +15 -0
  161. data/lib/stripe/params/capital/financing_summary_retrieve_params.rb +15 -0
  162. data/lib/stripe/params/capital/financing_transaction_list_params.rb +45 -0
  163. data/lib/stripe/params/capital/financing_transaction_retrieve_params.rb +15 -0
  164. data/lib/stripe/params/charge_capture_params.rb +1648 -0
  165. data/lib/stripe/params/charge_update_params.rb +1648 -0
  166. data/lib/stripe/params/checkout/session_create_params.rb +273 -4
  167. data/lib/stripe/params/checkout/session_list_params.rb +4 -0
  168. data/lib/stripe/params/checkout/session_update_params.rb +288 -1
  169. data/lib/stripe/params/confirmation_token_create_params.rb +97 -0
  170. data/lib/stripe/params/coupon_create_params.rb +17 -1
  171. data/lib/stripe/params/credit_note_list_params.rb +4 -0
  172. data/lib/stripe/params/customer_session_create_params.rb +36 -2
  173. data/lib/stripe/params/delegated_checkout/requested_session_confirm_params.rb +55 -0
  174. data/lib/stripe/params/delegated_checkout/requested_session_create_params.rb +205 -0
  175. data/lib/stripe/params/delegated_checkout/requested_session_expire_params.rb +15 -0
  176. data/lib/stripe/params/delegated_checkout/requested_session_retrieve_params.rb +15 -0
  177. data/lib/stripe/params/delegated_checkout/requested_session_update_params.rb +209 -0
  178. data/lib/stripe/params/dispute_update_params.rb +10 -1
  179. data/lib/stripe/params/external_account_create_params.rb +134 -0
  180. data/lib/stripe/params/external_account_delete_params.rb +6 -0
  181. data/lib/stripe/params/external_account_list_params.rb +25 -0
  182. data/lib/stripe/params/external_account_retrieve_params.rb +13 -0
  183. data/lib/stripe/params/external_account_update_params.rb +91 -0
  184. data/lib/stripe/params/financial_connections/account_inferred_balance_list_params.rb +24 -0
  185. data/lib/stripe/params/financial_connections/account_list_params.rb +4 -1
  186. data/lib/stripe/params/financial_connections/institution_list_params.rb +24 -0
  187. data/lib/stripe/params/financial_connections/institution_retrieve_params.rb +15 -0
  188. data/lib/stripe/params/financial_connections/session_create_params.rb +34 -2
  189. data/lib/stripe/params/fx_quote_create_params.rb +73 -0
  190. data/lib/stripe/params/fx_quote_list_params.rb +22 -0
  191. data/lib/stripe/params/fx_quote_retrieve_params.rb +13 -0
  192. data/lib/stripe/params/identity/blocklist_entry_create_params.rb +29 -0
  193. data/lib/stripe/params/identity/blocklist_entry_disable_params.rb +15 -0
  194. data/lib/stripe/params/identity/blocklist_entry_list_params.rb +62 -0
  195. data/lib/stripe/params/identity/blocklist_entry_retrieve_params.rb +15 -0
  196. data/lib/stripe/params/identity/verification_report_list_params.rb +4 -0
  197. data/lib/stripe/params/identity/verification_session_create_params.rb +4 -0
  198. data/lib/stripe/params/identity/verification_session_list_params.rb +4 -0
  199. data/lib/stripe/params/invoice_add_lines_params.rb +33 -1
  200. data/lib/stripe/params/invoice_attach_payment_params.rb +43 -1
  201. data/lib/stripe/params/invoice_create_params.rb +112 -2
  202. data/lib/stripe/params/invoice_create_preview_params.rb +946 -10
  203. data/lib/stripe/params/invoice_item_create_params.rb +37 -1
  204. data/lib/stripe/params/invoice_item_list_params.rb +4 -0
  205. data/lib/stripe/params/invoice_item_update_params.rb +33 -1
  206. data/lib/stripe/params/invoice_line_item_update_params.rb +33 -1
  207. data/lib/stripe/params/invoice_list_params.rb +8 -0
  208. data/lib/stripe/params/invoice_update_lines_params.rb +33 -1
  209. data/lib/stripe/params/invoice_update_params.rb +108 -2
  210. data/lib/stripe/params/issuing/cardholder_create_params.rb +2 -1
  211. data/lib/stripe/params/issuing/credit_underwriting_record_correct_params.rb +163 -0
  212. data/lib/stripe/params/issuing/credit_underwriting_record_create_from_application_params.rb +50 -0
  213. data/lib/stripe/params/issuing/credit_underwriting_record_create_from_proactive_review_params.rb +128 -0
  214. data/lib/stripe/params/issuing/credit_underwriting_record_list_params.rb +24 -0
  215. data/lib/stripe/params/issuing/credit_underwriting_record_report_decision_params.rb +86 -0
  216. data/lib/stripe/params/issuing/credit_underwriting_record_retrieve_params.rb +15 -0
  217. data/lib/stripe/params/issuing/dispute_settlement_detail_list_params.rb +33 -0
  218. data/lib/stripe/params/issuing/dispute_settlement_detail_retrieve_params.rb +15 -0
  219. data/lib/stripe/params/issuing/fraud_liability_debit_list_params.rb +44 -0
  220. data/lib/stripe/params/issuing/fraud_liability_debit_retrieve_params.rb +15 -0
  221. data/lib/stripe/params/issuing/program_create_params.rb +21 -0
  222. data/lib/stripe/params/issuing/program_list_params.rb +24 -0
  223. data/lib/stripe/params/issuing/program_retrieve_params.rb +15 -0
  224. data/lib/stripe/params/issuing/program_update_params.rb +21 -0
  225. data/lib/stripe/params/issuing/transaction_list_params.rb +4 -0
  226. data/lib/stripe/params/mandate_list_params.rb +39 -0
  227. data/lib/stripe/params/margin_create_params.rb +25 -0
  228. data/lib/stripe/params/margin_list_params.rb +25 -0
  229. data/lib/stripe/params/margin_retrieve_params.rb +13 -0
  230. data/lib/stripe/params/margin_update_params.rb +22 -0
  231. data/lib/stripe/params/order_cancel_params.rb +13 -0
  232. data/lib/stripe/params/order_create_params.rb +2061 -0
  233. data/lib/stripe/params/order_line_item_list_params.rb +22 -0
  234. data/lib/stripe/params/order_list_line_items_params.rb +22 -0
  235. data/lib/stripe/params/order_list_params.rb +25 -0
  236. data/lib/stripe/params/order_reopen_params.rb +13 -0
  237. data/lib/stripe/params/order_retrieve_params.rb +13 -0
  238. data/lib/stripe/params/order_submit_params.rb +16 -0
  239. data/lib/stripe/params/order_update_params.rb +2065 -0
  240. data/lib/stripe/params/payment_intent_capture_params.rb +1627 -1
  241. data/lib/stripe/params/payment_intent_confirm_params.rb +3306 -238
  242. data/lib/stripe/params/payment_intent_create_params.rb +3160 -84
  243. data/lib/stripe/params/payment_intent_decrement_authorization_params.rb +73 -0
  244. data/lib/stripe/params/payment_intent_increment_authorization_params.rb +21 -0
  245. data/lib/stripe/params/payment_intent_list_params.rb +4 -0
  246. data/lib/stripe/params/payment_intent_trigger_action_params.rb +27 -0
  247. data/lib/stripe/params/payment_intent_update_params.rb +3192 -85
  248. data/lib/stripe/params/payment_method_attach_params.rb +4 -1
  249. data/lib/stripe/params/payment_method_check_balance_params.rb +13 -0
  250. data/lib/stripe/params/payment_method_configuration_create_params.rb +126 -0
  251. data/lib/stripe/params/payment_method_configuration_update_params.rb +126 -0
  252. data/lib/stripe/params/payment_method_create_params.rb +97 -0
  253. data/lib/stripe/params/payment_method_list_params.rb +8 -0
  254. data/lib/stripe/params/payment_method_update_params.rb +19 -0
  255. data/lib/stripe/params/price_update_params.rb +19 -0
  256. data/lib/stripe/params/privacy/redaction_job_cancel_params.rb +15 -0
  257. data/lib/stripe/params/privacy/redaction_job_create_params.rb +67 -0
  258. data/lib/stripe/params/privacy/redaction_job_list_params.rb +27 -0
  259. data/lib/stripe/params/privacy/redaction_job_retrieve_params.rb +15 -0
  260. data/lib/stripe/params/privacy/redaction_job_run_params.rb +15 -0
  261. data/lib/stripe/params/privacy/redaction_job_update_params.rb +18 -0
  262. data/lib/stripe/params/privacy/redaction_job_validate_params.rb +15 -0
  263. data/lib/stripe/params/privacy/redaction_job_validation_error_list_params.rb +24 -0
  264. data/lib/stripe/params/promotion_code_create_params.rb +4 -0
  265. data/lib/stripe/params/promotion_code_list_params.rb +4 -0
  266. data/lib/stripe/params/quote_create_params.rb +1025 -3
  267. data/lib/stripe/params/quote_line_list_params.rb +22 -0
  268. data/lib/stripe/params/quote_list_lines_params.rb +22 -0
  269. data/lib/stripe/params/quote_list_params.rb +8 -0
  270. data/lib/stripe/params/quote_list_preview_invoice_lines_params.rb +22 -0
  271. data/lib/stripe/params/quote_mark_draft_params.rb +13 -0
  272. data/lib/stripe/params/quote_mark_stale_params.rb +16 -0
  273. data/lib/stripe/params/quote_preview_invoice_list_params.rb +22 -0
  274. data/lib/stripe/params/quote_preview_subscription_schedule_list_params.rb +22 -0
  275. data/lib/stripe/params/quote_reestimate_params.rb +13 -0
  276. data/lib/stripe/params/quote_update_params.rb +1033 -4
  277. data/lib/stripe/params/radar/account_evaluation_create_params.rb +81 -0
  278. data/lib/stripe/params/radar/account_evaluation_retrieve_params.rb +15 -0
  279. data/lib/stripe/params/radar/account_evaluation_update_params.rb +18 -0
  280. data/lib/stripe/params/setup_intent_confirm_params.rb +254 -3
  281. data/lib/stripe/params/setup_intent_create_params.rb +260 -3
  282. data/lib/stripe/params/setup_intent_list_params.rb +4 -0
  283. data/lib/stripe/params/setup_intent_update_params.rb +261 -4
  284. data/lib/stripe/params/subscription_attach_cadence_params.rb +16 -0
  285. data/lib/stripe/params/subscription_create_params.rb +275 -5
  286. data/lib/stripe/params/subscription_item_create_params.rb +62 -2
  287. data/lib/stripe/params/subscription_item_update_params.rb +46 -2
  288. data/lib/stripe/params/subscription_list_params.rb +4 -0
  289. data/lib/stripe/params/subscription_schedule_amend_params.rb +609 -0
  290. data/lib/stripe/params/subscription_schedule_create_params.rb +237 -7
  291. data/lib/stripe/params/subscription_schedule_list_params.rb +4 -0
  292. data/lib/stripe/params/subscription_schedule_update_params.rb +233 -7
  293. data/lib/stripe/params/subscription_update_params.rb +255 -5
  294. data/lib/stripe/params/tax/form_list_params.rb +51 -0
  295. data/lib/stripe/params/tax/form_pdf_params.rb +15 -0
  296. data/lib/stripe/params/tax/form_retrieve_params.rb +15 -0
  297. data/lib/stripe/params/tax_id_create_params.rb +4 -1
  298. data/lib/stripe/params/tax_id_list_params.rb +4 -1
  299. data/lib/stripe/params/terminal/configuration_create_params.rb +13 -0
  300. data/lib/stripe/params/terminal/configuration_update_params.rb +13 -0
  301. data/lib/stripe/params/terminal/reader_collected_data_retrieve_params.rb +15 -0
  302. data/lib/stripe/params/test_helpers/capital/financing_offer_create_params.rb +39 -0
  303. data/lib/stripe/params/test_helpers/capital/financing_offer_refill_params.rb +39 -0
  304. data/lib/stripe/params/test_helpers/confirmation_token_create_params.rb +97 -0
  305. data/lib/stripe/params/test_helpers/treasury/received_credit_create_params.rb +25 -1
  306. data/lib/stripe/params/test_helpers/treasury/received_debit_create_params.rb +25 -1
  307. data/lib/stripe/params/token_create_params.rb +64 -0
  308. data/lib/stripe/params/transfer_create_params.rb +8 -0
  309. data/lib/stripe/params/treasury/financial_account_create_params.rb +8 -1
  310. data/lib/stripe/params/treasury/financial_account_features_update_params.rb +4 -1
  311. data/lib/stripe/params/treasury/financial_account_update_features_params.rb +4 -1
  312. data/lib/stripe/params/treasury/financial_account_update_params.rb +8 -1
  313. data/lib/stripe/params/treasury/outbound_transfer_create_params.rb +24 -0
  314. data/lib/stripe/params/treasury/received_credit_create_params.rb +25 -1
  315. data/lib/stripe/params/treasury/received_debit_create_params.rb +25 -1
  316. data/lib/stripe/params/v2/billing/bill_setting_create_params.rb +74 -0
  317. data/lib/stripe/params/v2/billing/bill_setting_list_params.rb +21 -0
  318. data/lib/stripe/params/v2/billing/bill_setting_retrieve_params.rb +10 -0
  319. data/lib/stripe/params/v2/billing/bill_setting_update_params.rb +80 -0
  320. data/lib/stripe/params/v2/billing/bill_settings/version_list_params.rb +19 -0
  321. data/lib/stripe/params/v2/billing/bill_settings/version_retrieve_params.rb +12 -0
  322. data/lib/stripe/params/v2/billing/cadence_cancel_params.rb +17 -0
  323. data/lib/stripe/params/v2/billing/cadence_create_params.rb +257 -0
  324. data/lib/stripe/params/v2/billing/cadence_list_params.rb +43 -0
  325. data/lib/stripe/params/v2/billing/cadence_retrieve_params.rb +17 -0
  326. data/lib/stripe/params/v2/billing/cadence_update_params.rb +78 -0
  327. data/lib/stripe/params/v2/billing/collection_setting_create_params.rb +223 -0
  328. data/lib/stripe/params/v2/billing/collection_setting_list_params.rb +21 -0
  329. data/lib/stripe/params/v2/billing/collection_setting_retrieve_params.rb +10 -0
  330. data/lib/stripe/params/v2/billing/collection_setting_update_params.rb +229 -0
  331. data/lib/stripe/params/v2/billing/collection_settings/version_list_params.rb +19 -0
  332. data/lib/stripe/params/v2/billing/collection_settings/version_retrieve_params.rb +12 -0
  333. data/lib/stripe/params/v2/billing/custom_pricing_unit_create_params.rb +26 -0
  334. data/lib/stripe/params/v2/billing/custom_pricing_unit_list_params.rb +24 -0
  335. data/lib/stripe/params/v2/billing/custom_pricing_unit_retrieve_params.rb +10 -0
  336. data/lib/stripe/params/v2/billing/custom_pricing_unit_update_params.rb +26 -0
  337. data/lib/stripe/params/v2/billing/intent_cancel_params.rb +10 -0
  338. data/lib/stripe/params/v2/billing/intent_commit_params.rb +17 -0
  339. data/lib/stripe/params/v2/billing/intent_create_params.rb +355 -0
  340. data/lib/stripe/params/v2/billing/intent_list_params.rb +17 -0
  341. data/lib/stripe/params/v2/billing/intent_release_reservation_params.rb +10 -0
  342. data/lib/stripe/params/v2/billing/intent_reserve_params.rb +10 -0
  343. data/lib/stripe/params/v2/billing/intent_retrieve_params.rb +10 -0
  344. data/lib/stripe/params/v2/billing/intents/action_list_params.rb +19 -0
  345. data/lib/stripe/params/v2/billing/intents/action_retrieve_params.rb +12 -0
  346. data/lib/stripe/params/v2/billing/license_fee_create_params.rb +103 -0
  347. data/lib/stripe/params/v2/billing/license_fee_list_params.rb +24 -0
  348. data/lib/stripe/params/v2/billing/license_fee_retrieve_params.rb +10 -0
  349. data/lib/stripe/params/v2/billing/license_fee_subscription_retrieve_params.rb +10 -0
  350. data/lib/stripe/params/v2/billing/license_fee_update_params.rb +84 -0
  351. data/lib/stripe/params/v2/billing/license_fees/version_list_params.rb +19 -0
  352. data/lib/stripe/params/v2/billing/license_fees/version_retrieve_params.rb +12 -0
  353. data/lib/stripe/params/v2/billing/licensed_item_create_params.rb +48 -0
  354. data/lib/stripe/params/v2/billing/licensed_item_list_params.rb +21 -0
  355. data/lib/stripe/params/v2/billing/licensed_item_retrieve_params.rb +10 -0
  356. data/lib/stripe/params/v2/billing/licensed_item_update_params.rb +48 -0
  357. data/lib/stripe/params/v2/billing/metered_item_create_params.rb +73 -0
  358. data/lib/stripe/params/v2/billing/metered_item_list_params.rb +21 -0
  359. data/lib/stripe/params/v2/billing/metered_item_retrieve_params.rb +10 -0
  360. data/lib/stripe/params/v2/billing/metered_item_update_params.rb +50 -0
  361. data/lib/stripe/params/v2/billing/pricing_plan_create_params.rb +39 -0
  362. data/lib/stripe/params/v2/billing/pricing_plan_list_params.rb +24 -0
  363. data/lib/stripe/params/v2/billing/pricing_plan_retrieve_params.rb +10 -0
  364. data/lib/stripe/params/v2/billing/pricing_plan_subscription_list_params.rb +50 -0
  365. data/lib/stripe/params/v2/billing/pricing_plan_subscription_retrieve_params.rb +10 -0
  366. data/lib/stripe/params/v2/billing/pricing_plan_subscription_update_params.rb +20 -0
  367. data/lib/stripe/params/v2/billing/pricing_plan_subscriptions/component_retrieve_params.rb +12 -0
  368. data/lib/stripe/params/v2/billing/pricing_plan_update_params.rb +39 -0
  369. data/lib/stripe/params/v2/billing/pricing_plans/component_create_params.rb +73 -0
  370. data/lib/stripe/params/v2/billing/pricing_plans/component_delete_params.rb +12 -0
  371. data/lib/stripe/params/v2/billing/pricing_plans/component_list_params.rb +27 -0
  372. data/lib/stripe/params/v2/billing/pricing_plans/component_retrieve_params.rb +12 -0
  373. data/lib/stripe/params/v2/billing/pricing_plans/component_update_params.rb +22 -0
  374. data/lib/stripe/params/v2/billing/pricing_plans/version_list_params.rb +19 -0
  375. data/lib/stripe/params/v2/billing/pricing_plans/version_retrieve_params.rb +12 -0
  376. data/lib/stripe/params/v2/billing/profile_create_params.rb +37 -0
  377. data/lib/stripe/params/v2/billing/profile_list_params.rb +40 -0
  378. data/lib/stripe/params/v2/billing/profile_retrieve_params.rb +10 -0
  379. data/lib/stripe/params/v2/billing/profile_update_params.rb +35 -0
  380. data/lib/stripe/params/v2/billing/rate_card_create_params.rb +49 -0
  381. data/lib/stripe/params/v2/billing/rate_card_list_params.rb +24 -0
  382. data/lib/stripe/params/v2/billing/rate_card_retrieve_params.rb +10 -0
  383. data/lib/stripe/params/v2/billing/rate_card_subscription_cancel_params.rb +10 -0
  384. data/lib/stripe/params/v2/billing/rate_card_subscription_create_params.rb +26 -0
  385. data/lib/stripe/params/v2/billing/rate_card_subscription_list_params.rb +51 -0
  386. data/lib/stripe/params/v2/billing/rate_card_subscription_retrieve_params.rb +10 -0
  387. data/lib/stripe/params/v2/billing/rate_card_subscription_update_params.rb +17 -0
  388. data/lib/stripe/params/v2/billing/rate_card_update_params.rb +38 -0
  389. data/lib/stripe/params/v2/billing/rate_cards/rate_create_params.rb +91 -0
  390. data/lib/stripe/params/v2/billing/rate_cards/rate_delete_params.rb +12 -0
  391. data/lib/stripe/params/v2/billing/rate_cards/rate_list_params.rb +25 -0
  392. data/lib/stripe/params/v2/billing/rate_cards/rate_retrieve_params.rb +12 -0
  393. data/lib/stripe/params/v2/billing/rate_cards/version_list_params.rb +19 -0
  394. data/lib/stripe/params/v2/billing/rate_cards/version_retrieve_params.rb +12 -0
  395. data/lib/stripe/params/v2/billing/service_action_create_params.rb +278 -0
  396. data/lib/stripe/params/v2/billing/service_action_retrieve_params.rb +10 -0
  397. data/lib/stripe/params/v2/billing/service_action_update_params.rb +40 -0
  398. data/lib/stripe/params/v2/core/account_close_params.rb +17 -0
  399. data/lib/stripe/params/v2/core/account_create_params.rb +3058 -0
  400. data/lib/stripe/params/v2/core/account_link_create_params.rb +101 -0
  401. data/lib/stripe/params/v2/core/account_list_params.rb +23 -0
  402. data/lib/stripe/params/v2/core/account_retrieve_params.rb +17 -0
  403. data/lib/stripe/params/v2/core/account_token_create_params.rb +1259 -0
  404. data/lib/stripe/params/v2/core/account_token_retrieve_params.rb +10 -0
  405. data/lib/stripe/params/v2/core/account_update_params.rb +3090 -0
  406. data/lib/stripe/params/v2/core/accounts/person_create_params.rb +497 -0
  407. data/lib/stripe/params/v2/core/accounts/person_delete_params.rb +12 -0
  408. data/lib/stripe/params/v2/core/accounts/person_list_params.rb +19 -0
  409. data/lib/stripe/params/v2/core/accounts/person_retrieve_params.rb +12 -0
  410. data/lib/stripe/params/v2/core/accounts/person_token_create_params.rb +487 -0
  411. data/lib/stripe/params/v2/core/accounts/person_token_retrieve_params.rb +12 -0
  412. data/lib/stripe/params/v2/core/accounts/person_update_params.rb +497 -0
  413. data/lib/stripe/params/v2/core/claimable_sandbox_create_params.rb +36 -0
  414. data/lib/stripe/params/v2/core/claimable_sandbox_retrieve_params.rb +10 -0
  415. data/lib/stripe/params/v2/core/vault/gb_bank_account_acknowledge_confirmation_of_payee_params.rb +12 -0
  416. data/lib/stripe/params/v2/core/vault/gb_bank_account_archive_params.rb +12 -0
  417. data/lib/stripe/params/v2/core/vault/gb_bank_account_create_params.rb +50 -0
  418. data/lib/stripe/params/v2/core/vault/gb_bank_account_initiate_confirmation_of_payee_params.rb +22 -0
  419. data/lib/stripe/params/v2/core/vault/gb_bank_account_list_params.rb +19 -0
  420. data/lib/stripe/params/v2/core/vault/gb_bank_account_retrieve_params.rb +12 -0
  421. data/lib/stripe/params/v2/core/vault/us_bank_account_archive_params.rb +12 -0
  422. data/lib/stripe/params/v2/core/vault/us_bank_account_confirm_microdeposits_params.rb +22 -0
  423. data/lib/stripe/params/v2/core/vault/us_bank_account_create_params.rb +33 -0
  424. data/lib/stripe/params/v2/core/vault/us_bank_account_list_params.rb +22 -0
  425. data/lib/stripe/params/v2/core/vault/us_bank_account_retrieve_params.rb +12 -0
  426. data/lib/stripe/params/v2/core/vault/us_bank_account_send_microdeposits_params.rb +12 -0
  427. data/lib/stripe/params/v2/core/vault/us_bank_account_update_params.rb +22 -0
  428. data/lib/stripe/params/v2/money_management/adjustment_list_params.rb +48 -0
  429. data/lib/stripe/params/v2/money_management/adjustment_retrieve_params.rb +10 -0
  430. data/lib/stripe/params/v2/money_management/currency_conversion_create_params.rb +68 -0
  431. data/lib/stripe/params/v2/money_management/currency_conversion_list_params.rb +20 -0
  432. data/lib/stripe/params/v2/money_management/currency_conversion_retrieve_params.rb +10 -0
  433. data/lib/stripe/params/v2/money_management/financial_account_close_params.rb +28 -0
  434. data/lib/stripe/params/v2/money_management/financial_account_create_params.rb +34 -0
  435. data/lib/stripe/params/v2/money_management/financial_account_list_params.rb +20 -0
  436. data/lib/stripe/params/v2/money_management/financial_account_retrieve_params.rb +10 -0
  437. data/lib/stripe/params/v2/money_management/financial_account_update_params.rb +20 -0
  438. data/lib/stripe/params/v2/money_management/financial_address_create_params.rb +31 -0
  439. data/lib/stripe/params/v2/money_management/financial_address_list_params.rb +23 -0
  440. data/lib/stripe/params/v2/money_management/financial_address_retrieve_params.rb +17 -0
  441. data/lib/stripe/params/v2/money_management/inbound_transfer_create_params.rb +62 -0
  442. data/lib/stripe/params/v2/money_management/inbound_transfer_list_params.rb +44 -0
  443. data/lib/stripe/params/v2/money_management/inbound_transfer_retrieve_params.rb +10 -0
  444. data/lib/stripe/params/v2/money_management/outbound_payment_cancel_params.rb +10 -0
  445. data/lib/stripe/params/v2/money_management/outbound_payment_create_params.rb +114 -0
  446. data/lib/stripe/params/v2/money_management/outbound_payment_list_params.rb +52 -0
  447. data/lib/stripe/params/v2/money_management/outbound_payment_quote_create_params.rb +79 -0
  448. data/lib/stripe/params/v2/money_management/outbound_payment_quote_retrieve_params.rb +10 -0
  449. data/lib/stripe/params/v2/money_management/outbound_payment_retrieve_params.rb +10 -0
  450. data/lib/stripe/params/v2/money_management/outbound_setup_intent_cancel_params.rb +10 -0
  451. data/lib/stripe/params/v2/money_management/outbound_setup_intent_create_params.rb +103 -0
  452. data/lib/stripe/params/v2/money_management/outbound_setup_intent_list_params.rb +17 -0
  453. data/lib/stripe/params/v2/money_management/outbound_setup_intent_retrieve_params.rb +10 -0
  454. data/lib/stripe/params/v2/money_management/outbound_setup_intent_update_params.rb +80 -0
  455. data/lib/stripe/params/v2/money_management/outbound_transfer_cancel_params.rb +10 -0
  456. data/lib/stripe/params/v2/money_management/outbound_transfer_create_params.rb +93 -0
  457. data/lib/stripe/params/v2/money_management/outbound_transfer_list_params.rb +48 -0
  458. data/lib/stripe/params/v2/money_management/outbound_transfer_retrieve_params.rb +10 -0
  459. data/lib/stripe/params/v2/money_management/payout_method_archive_params.rb +10 -0
  460. data/lib/stripe/params/v2/money_management/payout_method_list_params.rb +31 -0
  461. data/lib/stripe/params/v2/money_management/payout_method_retrieve_params.rb +10 -0
  462. data/lib/stripe/params/v2/money_management/payout_method_unarchive_params.rb +10 -0
  463. data/lib/stripe/params/v2/money_management/payout_methods_bank_account_spec_retrieve_params.rb +17 -0
  464. data/lib/stripe/params/v2/money_management/received_credit_list_params.rb +44 -0
  465. data/lib/stripe/params/v2/money_management/received_credit_retrieve_params.rb +10 -0
  466. data/lib/stripe/params/v2/money_management/received_debit_list_params.rb +17 -0
  467. data/lib/stripe/params/v2/money_management/received_debit_retrieve_params.rb +10 -0
  468. data/lib/stripe/params/v2/money_management/recipient_verification_acknowledge_params.rb +10 -0
  469. data/lib/stripe/params/v2/money_management/recipient_verification_create_params.rb +20 -0
  470. data/lib/stripe/params/v2/money_management/recipient_verification_retrieve_params.rb +10 -0
  471. data/lib/stripe/params/v2/money_management/transaction_entry_list_params.rb +43 -0
  472. data/lib/stripe/params/v2/money_management/transaction_entry_retrieve_params.rb +10 -0
  473. data/lib/stripe/params/v2/money_management/transaction_list_params.rb +47 -0
  474. data/lib/stripe/params/v2/money_management/transaction_retrieve_params.rb +10 -0
  475. data/lib/stripe/params/v2/payments/off_session_payment_cancel_params.rb +10 -0
  476. data/lib/stripe/params/v2/payments/off_session_payment_capture_params.rb +57 -0
  477. data/lib/stripe/params/v2/payments/off_session_payment_create_params.rb +161 -0
  478. data/lib/stripe/params/v2/payments/off_session_payment_list_params.rb +17 -0
  479. data/lib/stripe/params/v2/payments/off_session_payment_retrieve_params.rb +10 -0
  480. data/lib/stripe/params/v2/reporting/report_retrieve_params.rb +10 -0
  481. data/lib/stripe/params/v2/reporting/report_run_create_params.rb +33 -0
  482. data/lib/stripe/params/v2/reporting/report_run_retrieve_params.rb +10 -0
  483. data/lib/stripe/params/v2/test_helpers/financial_address_credit_params.rb +34 -0
  484. data/lib/stripe/params/v2/test_helpers/financial_address_generate_microdeposits_params.rb +10 -0
  485. data/lib/stripe/params/v2/test_helpers/money_management_recipient_verifications_params.rb +24 -0
  486. data/lib/stripe/params.rb +261 -0
  487. data/lib/stripe/resources/account.rb +184 -1
  488. data/lib/stripe/resources/account_notice.rb +94 -0
  489. data/lib/stripe/resources/account_session.rb +81 -0
  490. data/lib/stripe/resources/application_fee.rb +2 -0
  491. data/lib/stripe/resources/balance.rb +83 -0
  492. data/lib/stripe/resources/balance_transfer.rb +139 -0
  493. data/lib/stripe/resources/billing/alert.rb +105 -1
  494. data/lib/stripe/resources/billing/alert_triggered.rb +6 -0
  495. data/lib/stripe/resources/billing/analytics/meter_usage.rb +33 -0
  496. data/lib/stripe/resources/billing/analytics/meter_usage_row.rb +40 -0
  497. data/lib/stripe/resources/billing/credit_balance_summary.rb +86 -2
  498. data/lib/stripe/resources/billing/credit_balance_transaction.rb +84 -2
  499. data/lib/stripe/resources/billing/credit_grant.rb +60 -2
  500. data/lib/stripe/resources/billing/meter.rb +2 -0
  501. data/lib/stripe/resources/billing/meter_event_summary.rb +2 -0
  502. data/lib/stripe/resources/billing_portal/session.rb +2 -0
  503. data/lib/stripe/resources/capital/financing_offer.rb +183 -0
  504. data/lib/stripe/resources/capital/financing_summary.rb +79 -0
  505. data/lib/stripe/resources/capital/financing_transaction.rb +99 -0
  506. data/lib/stripe/resources/card.rb +20 -1
  507. data/lib/stripe/resources/cash_balance.rb +2 -0
  508. data/lib/stripe/resources/charge.rb +255 -1
  509. data/lib/stripe/resources/checkout/session.rb +246 -4
  510. data/lib/stripe/resources/confirmation_token.rb +173 -0
  511. data/lib/stripe/resources/coupon.rb +26 -1
  512. data/lib/stripe/resources/credit_note.rb +2 -0
  513. data/lib/stripe/resources/credit_note_line_item.rb +18 -0
  514. data/lib/stripe/resources/customer.rb +2 -0
  515. data/lib/stripe/resources/customer_balance_transaction.rb +2 -0
  516. data/lib/stripe/resources/customer_cash_balance_transaction.rb +2 -0
  517. data/lib/stripe/resources/customer_session.rb +38 -0
  518. data/lib/stripe/resources/delegated_checkout/requested_session.rb +434 -0
  519. data/lib/stripe/resources/discount.rb +4 -0
  520. data/lib/stripe/resources/dispute.rb +22 -0
  521. data/lib/stripe/resources/event.rb +64 -1
  522. data/lib/stripe/resources/financial_connections/account.rb +27 -0
  523. data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +35 -0
  524. data/lib/stripe/resources/financial_connections/institution.rb +127 -0
  525. data/lib/stripe/resources/financial_connections/session.rb +67 -1
  526. data/lib/stripe/resources/fx_quote.rb +147 -0
  527. data/lib/stripe/resources/identity/blocklist_entry.rb +116 -0
  528. data/lib/stripe/resources/identity/verification_report.rb +4 -0
  529. data/lib/stripe/resources/identity/verification_session.rb +2 -0
  530. data/lib/stripe/resources/invoice.rb +168 -1
  531. data/lib/stripe/resources/invoice_item.rb +110 -2
  532. data/lib/stripe/resources/invoice_line_item.rb +147 -1
  533. data/lib/stripe/resources/issuing/credit_underwriting_record.rb +263 -0
  534. data/lib/stripe/resources/issuing/dispute_settlement_detail.rb +71 -0
  535. data/lib/stripe/resources/issuing/fraud_liability_debit.rb +51 -0
  536. data/lib/stripe/resources/issuing/program.rb +69 -0
  537. data/lib/stripe/resources/issuing/settlement.rb +61 -0
  538. data/lib/stripe/resources/issuing/transaction.rb +2 -0
  539. data/lib/stripe/resources/line_item.rb +68 -1
  540. data/lib/stripe/resources/mandate.rb +71 -0
  541. data/lib/stripe/resources/margin.rb +64 -0
  542. data/lib/stripe/resources/order.rb +987 -0
  543. data/lib/stripe/resources/payment_attempt_record.rb +203 -1
  544. data/lib/stripe/resources/payment_intent.rb +793 -4
  545. data/lib/stripe/resources/payment_method.rb +195 -0
  546. data/lib/stripe/resources/payment_method_balance.rb +68 -0
  547. data/lib/stripe/resources/payment_method_configuration.rb +204 -0
  548. data/lib/stripe/resources/payment_record.rb +203 -1
  549. data/lib/stripe/resources/person.rb +36 -0
  550. data/lib/stripe/resources/price.rb +20 -0
  551. data/lib/stripe/resources/privacy/redaction_job.rb +187 -0
  552. data/lib/stripe/resources/privacy/redaction_job_validation_error.rb +49 -0
  553. data/lib/stripe/resources/promotion_code.rb +2 -0
  554. data/lib/stripe/resources/quote.rb +808 -2
  555. data/lib/stripe/resources/quote_line.rb +527 -0
  556. data/lib/stripe/resources/quote_preview_invoice.rb +1166 -0
  557. data/lib/stripe/resources/quote_preview_subscription_schedule.rb +826 -0
  558. data/lib/stripe/resources/radar/account_evaluation.rb +116 -0
  559. data/lib/stripe/resources/refund.rb +18 -0
  560. data/lib/stripe/resources/setup_attempt.rb +63 -0
  561. data/lib/stripe/resources/setup_intent.rb +172 -1
  562. data/lib/stripe/resources/source.rb +38 -0
  563. data/lib/stripe/resources/subscription.rb +251 -0
  564. data/lib/stripe/resources/subscription_item.rb +43 -1
  565. data/lib/stripe/resources/subscription_schedule.rb +292 -3
  566. data/lib/stripe/resources/tax/form.rb +264 -0
  567. data/lib/stripe/resources/tax_id.rb +4 -0
  568. data/lib/stripe/resources/terminal/configuration.rb +16 -0
  569. data/lib/stripe/resources/terminal/reader.rb +8 -0
  570. data/lib/stripe/resources/terminal/reader_collected_data.rb +47 -0
  571. data/lib/stripe/resources/transfer.rb +6 -0
  572. data/lib/stripe/resources/transit_balance.rb +45 -0
  573. data/lib/stripe/resources/treasury/financial_account.rb +2 -0
  574. data/lib/stripe/resources/treasury/financial_account_features.rb +2 -0
  575. data/lib/stripe/resources/treasury/outbound_transfer.rb +30 -0
  576. data/lib/stripe/resources/treasury/received_credit.rb +30 -0
  577. data/lib/stripe/resources/treasury/received_debit.rb +32 -0
  578. data/lib/stripe/resources/v2/billing/bill_setting.rb +102 -0
  579. data/lib/stripe/resources/v2/billing/bill_setting_version.rb +90 -0
  580. data/lib/stripe/resources/v2/billing/cadence.rb +655 -0
  581. data/lib/stripe/resources/v2/billing/collection_setting.rb +274 -0
  582. data/lib/stripe/resources/v2/billing/collection_setting_version.rb +262 -0
  583. data/lib/stripe/resources/v2/billing/custom_pricing_unit.rb +43 -0
  584. data/lib/stripe/resources/v2/billing/intent.rb +86 -0
  585. data/lib/stripe/resources/v2/billing/intent_action.rb +395 -0
  586. data/lib/stripe/resources/v2/billing/license_fee.rb +104 -0
  587. data/lib/stripe/resources/v2/billing/license_fee_subscription.rb +44 -0
  588. data/lib/stripe/resources/v2/billing/license_fee_version.rb +80 -0
  589. data/lib/stripe/resources/v2/billing/licensed_item.rb +60 -0
  590. data/lib/stripe/resources/v2/billing/metered_item.rb +85 -0
  591. data/lib/stripe/resources/v2/billing/pricing_plan.rb +51 -0
  592. data/lib/stripe/resources/v2/billing/pricing_plan_component.rb +94 -0
  593. data/lib/stripe/resources/v2/billing/pricing_plan_subscription.rb +94 -0
  594. data/lib/stripe/resources/v2/billing/pricing_plan_subscription_components.rb +49 -0
  595. data/lib/stripe/resources/v2/billing/pricing_plan_version.rb +38 -0
  596. data/lib/stripe/resources/v2/billing/profile.rb +46 -0
  597. data/lib/stripe/resources/v2/billing/rate_card.rb +61 -0
  598. data/lib/stripe/resources/v2/billing/rate_card_rate.rb +110 -0
  599. data/lib/stripe/resources/v2/billing/rate_card_subscription.rb +94 -0
  600. data/lib/stripe/resources/v2/billing/rate_card_version.rb +34 -0
  601. data/lib/stripe/resources/v2/billing/service_action.rb +274 -0
  602. data/lib/stripe/resources/v2/core/account.rb +5298 -0
  603. data/lib/stripe/resources/v2/core/account_link.rb +123 -0
  604. data/lib/stripe/resources/v2/core/account_person.rb +477 -0
  605. data/lib/stripe/resources/v2/core/account_person_token.rb +37 -0
  606. data/lib/stripe/resources/v2/core/account_token.rb +37 -0
  607. data/lib/stripe/resources/v2/core/claimable_sandbox.rb +105 -0
  608. data/lib/stripe/resources/v2/core/event.rb +2 -0
  609. data/lib/stripe/resources/v2/core/vault/gb_bank_account.rb +114 -0
  610. data/lib/stripe/resources/v2/core/vault/us_bank_account.rb +81 -0
  611. data/lib/stripe/resources/v2/financial_address_credit_simulation.rb +28 -0
  612. data/lib/stripe/resources/v2/financial_address_generated_microdeposits.rb +44 -0
  613. data/lib/stripe/resources/v2/money_management/adjustment.rb +82 -0
  614. data/lib/stripe/resources/v2/money_management/currency_conversion.rb +94 -0
  615. data/lib/stripe/resources/v2/money_management/financial_account.rb +188 -0
  616. data/lib/stripe/resources/v2/money_management/financial_address.rb +132 -0
  617. data/lib/stripe/resources/v2/money_management/inbound_transfer.rb +197 -0
  618. data/lib/stripe/resources/v2/money_management/outbound_payment.rb +263 -0
  619. data/lib/stripe/resources/v2/money_management/outbound_payment_quote.rb +202 -0
  620. data/lib/stripe/resources/v2/money_management/outbound_setup_intent.rb +69 -0
  621. data/lib/stripe/resources/v2/money_management/outbound_transfer.rb +242 -0
  622. data/lib/stripe/resources/v2/money_management/payout_method.rb +137 -0
  623. data/lib/stripe/resources/v2/money_management/payout_methods_bank_account_spec.rb +81 -0
  624. data/lib/stripe/resources/v2/money_management/received_credit.rb +262 -0
  625. data/lib/stripe/resources/v2/money_management/received_debit.rb +172 -0
  626. data/lib/stripe/resources/v2/money_management/recipient_verification.rb +83 -0
  627. data/lib/stripe/resources/v2/money_management/transaction.rb +180 -0
  628. data/lib/stripe/resources/v2/money_management/transaction_entry.rb +153 -0
  629. data/lib/stripe/resources/v2/payments/off_session_payment.rb +186 -0
  630. data/lib/stripe/resources/v2/reporting/report.rb +116 -0
  631. data/lib/stripe/resources/v2/reporting/report_run.rb +128 -0
  632. data/lib/stripe/resources.rb +212 -0
  633. data/lib/stripe/services/account_notice_service.rb +39 -0
  634. data/lib/stripe/services/balance_transfer_service.rb +17 -0
  635. data/lib/stripe/services/billing/analytics/meter_usage_service.rb +21 -0
  636. data/lib/stripe/services/billing/analytics_service.rb +15 -0
  637. data/lib/stripe/services/billing_service.rb +2 -1
  638. data/lib/stripe/services/capital/financing_offer_service.rb +42 -0
  639. data/lib/stripe/services/capital/financing_summary_service.rb +19 -0
  640. data/lib/stripe/services/capital/financing_transaction_service.rb +31 -0
  641. data/lib/stripe/services/capital_service.rb +15 -0
  642. data/lib/stripe/services/delegated_checkout/requested_session_service.rb +63 -0
  643. data/lib/stripe/services/delegated_checkout_service.rb +13 -0
  644. data/lib/stripe/services/external_account_service.rb +68 -0
  645. data/lib/stripe/services/financial_connections/account_inferred_balance_service.rb +19 -0
  646. data/lib/stripe/services/financial_connections/account_service.rb +3 -1
  647. data/lib/stripe/services/financial_connections/institution_service.rb +30 -0
  648. data/lib/stripe/services/financial_connections_service.rb +2 -1
  649. data/lib/stripe/services/fx_quote_service.rb +27 -0
  650. data/lib/stripe/services/identity/blocklist_entry_service.rb +71 -0
  651. data/lib/stripe/services/identity_service.rb +2 -1
  652. data/lib/stripe/services/issuing/credit_underwriting_record_service.rb +74 -0
  653. data/lib/stripe/services/issuing/dispute_settlement_detail_service.rb +30 -0
  654. data/lib/stripe/services/issuing/fraud_liability_debit_service.rb +30 -0
  655. data/lib/stripe/services/issuing/program_service.rb +52 -0
  656. data/lib/stripe/services/issuing_service.rb +6 -1
  657. data/lib/stripe/services/mandate_service.rb +5 -0
  658. data/lib/stripe/services/margin_service.rb +50 -0
  659. data/lib/stripe/services/order_line_item_service.rb +17 -0
  660. data/lib/stripe/services/order_service.rb +78 -0
  661. data/lib/stripe/services/payment_intent_service.rb +37 -0
  662. data/lib/stripe/services/payment_method_service.rb +11 -0
  663. data/lib/stripe/services/privacy/redaction_job_service.rb +104 -0
  664. data/lib/stripe/services/privacy/redaction_job_validation_error_service.rb +19 -0
  665. data/lib/stripe/services/privacy_service.rb +13 -0
  666. data/lib/stripe/services/quote_line_service.rb +17 -0
  667. data/lib/stripe/services/quote_preview_invoice_service.rb +17 -0
  668. data/lib/stripe/services/quote_preview_subscription_schedule_service.rb +17 -0
  669. data/lib/stripe/services/quote_service.rb +49 -1
  670. data/lib/stripe/services/radar/account_evaluation_service.rb +41 -0
  671. data/lib/stripe/services/radar_service.rb +2 -1
  672. data/lib/stripe/services/subscription_schedule_service.rb +11 -0
  673. data/lib/stripe/services/subscription_service.rb +11 -0
  674. data/lib/stripe/services/tax/form_service.rb +37 -0
  675. data/lib/stripe/services/tax_service.rb +2 -1
  676. data/lib/stripe/services/terminal/reader_collected_data_service.rb +19 -0
  677. data/lib/stripe/services/terminal_service.rb +2 -1
  678. data/lib/stripe/services/test_helpers/capital/financing_offer_service.rb +32 -0
  679. data/lib/stripe/services/test_helpers/capital_service.rb +15 -0
  680. data/lib/stripe/services/test_helpers_service.rb +2 -1
  681. data/lib/stripe/services/v1_services.rb +10 -1
  682. data/lib/stripe/services/v2/billing/bill_setting_service.rb +61 -0
  683. data/lib/stripe/services/v2/billing/bill_settings/version_service.rb +34 -0
  684. data/lib/stripe/services/v2/billing/cadence_service.rb +65 -0
  685. data/lib/stripe/services/v2/billing/collection_setting_service.rb +61 -0
  686. data/lib/stripe/services/v2/billing/collection_settings/version_service.rb +34 -0
  687. data/lib/stripe/services/v2/billing/custom_pricing_unit_service.rb +54 -0
  688. data/lib/stripe/services/v2/billing/intent_service.rb +94 -0
  689. data/lib/stripe/services/v2/billing/intents/action_service.rb +34 -0
  690. data/lib/stripe/services/v2/billing/license_fee_service.rb +61 -0
  691. data/lib/stripe/services/v2/billing/license_fee_subscription_service.rb +21 -0
  692. data/lib/stripe/services/v2/billing/license_fees/version_service.rb +34 -0
  693. data/lib/stripe/services/v2/billing/licensed_item_service.rb +54 -0
  694. data/lib/stripe/services/v2/billing/metered_item_service.rb +54 -0
  695. data/lib/stripe/services/v2/billing/pricing_plan_service.rb +62 -0
  696. data/lib/stripe/services/v2/billing/pricing_plan_subscription_service.rb +51 -0
  697. data/lib/stripe/services/v2/billing/pricing_plan_subscriptions/component_service.rb +23 -0
  698. data/lib/stripe/services/v2/billing/pricing_plans/component_service.rb +67 -0
  699. data/lib/stripe/services/v2/billing/pricing_plans/version_service.rb +34 -0
  700. data/lib/stripe/services/v2/billing/profile_service.rb +54 -0
  701. data/lib/stripe/services/v2/billing/rate_card_service.rb +62 -0
  702. data/lib/stripe/services/v2/billing/rate_card_subscription_service.rb +65 -0
  703. data/lib/stripe/services/v2/billing/rate_cards/rate_service.rb +57 -0
  704. data/lib/stripe/services/v2/billing/rate_cards/version_service.rb +34 -0
  705. data/lib/stripe/services/v2/billing/service_action_service.rb +43 -0
  706. data/lib/stripe/services/v2/billing_service.rb +18 -1
  707. data/lib/stripe/services/v2/core/account_link_service.rb +21 -0
  708. data/lib/stripe/services/v2/core/account_service.rb +77 -0
  709. data/lib/stripe/services/v2/core/account_token_service.rb +32 -0
  710. data/lib/stripe/services/v2/core/accounts/person_service.rb +67 -0
  711. data/lib/stripe/services/v2/core/accounts/person_token_service.rb +34 -0
  712. data/lib/stripe/services/v2/core/claimable_sandbox_service.rb +35 -0
  713. data/lib/stripe/services/v2/core/vault/gb_bank_account_service.rb +85 -0
  714. data/lib/stripe/services/v2/core/vault/us_bank_account_service.rb +101 -0
  715. data/lib/stripe/services/v2/core/vault_service.rb +18 -0
  716. data/lib/stripe/services/v2/core_service.rb +6 -1
  717. data/lib/stripe/services/v2/money_management/adjustment_service.rb +32 -0
  718. data/lib/stripe/services/v2/money_management/currency_conversion_service.rb +45 -0
  719. data/lib/stripe/services/v2/money_management/financial_account_service.rb +70 -0
  720. data/lib/stripe/services/v2/money_management/financial_address_service.rb +46 -0
  721. data/lib/stripe/services/v2/money_management/inbound_transfer_service.rb +45 -0
  722. data/lib/stripe/services/v2/money_management/outbound_payment_quote_service.rb +34 -0
  723. data/lib/stripe/services/v2/money_management/outbound_payment_service.rb +62 -0
  724. data/lib/stripe/services/v2/money_management/outbound_setup_intent_service.rb +73 -0
  725. data/lib/stripe/services/v2/money_management/outbound_transfer_service.rb +60 -0
  726. data/lib/stripe/services/v2/money_management/payout_method_service.rb +63 -0
  727. data/lib/stripe/services/v2/money_management/payout_methods_bank_account_spec_service.rb +23 -0
  728. data/lib/stripe/services/v2/money_management/received_credit_service.rb +32 -0
  729. data/lib/stripe/services/v2/money_management/received_debit_service.rb +32 -0
  730. data/lib/stripe/services/v2/money_management/recipient_verification_service.rb +43 -0
  731. data/lib/stripe/services/v2/money_management/transaction_entry_service.rb +32 -0
  732. data/lib/stripe/services/v2/money_management/transaction_service.rb +32 -0
  733. data/lib/stripe/services/v2/money_management_service.rb +35 -0
  734. data/lib/stripe/services/v2/payment_service.rb +15 -0
  735. data/lib/stripe/services/v2/payments/off_session_payment_service.rb +65 -0
  736. data/lib/stripe/services/v2/reporting/report_run_service.rb +38 -0
  737. data/lib/stripe/services/v2/reporting/report_service.rb +23 -0
  738. data/lib/stripe/services/v2/reporting_service.rb +16 -0
  739. data/lib/stripe/services/v2/test_helper_service.rb +16 -0
  740. data/lib/stripe/services/v2/test_helpers/financial_address_service.rb +36 -0
  741. data/lib/stripe/services/v2/test_helpers/money_management_service.rb +21 -0
  742. data/lib/stripe/services/v2_services.rb +5 -1
  743. data/lib/stripe/services.rb +91 -0
  744. data/lib/stripe/stripe_configuration.rb +3 -1
  745. data/lib/stripe/stripe_object.rb +1 -1
  746. data/lib/stripe/util.rb +7 -1
  747. data/lib/stripe/version.rb +1 -1
  748. data/lib/stripe.rb +53 -0
  749. data/rbi/stripe.rbi +177639 -83814
  750. metadata +568 -4
@@ -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,534 @@ 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
+ # The coupon code to redeem.
119
+ attr_accessor :coupon
120
+ # An ID of an existing discount for a coupon that was already redeemed.
121
+ attr_accessor :discount
122
+ # Details to determine how long the discount should be applied for.
123
+ attr_accessor :discount_end
124
+ # 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.
125
+ attr_accessor :index
126
+ # The promotion code to redeem.
127
+ attr_accessor :promotion_code
128
+
129
+ def initialize(
130
+ coupon: nil,
131
+ discount: nil,
132
+ discount_end: nil,
133
+ index: nil,
134
+ promotion_code: nil
135
+ )
136
+ @coupon = coupon
137
+ @discount = discount
138
+ @discount_end = discount_end
139
+ @index = index
140
+ @promotion_code = promotion_code
141
+ end
142
+ end
143
+
144
+ class AddItem < ::Stripe::RequestParams
145
+ class Discount < ::Stripe::RequestParams
146
+ class DiscountEnd < ::Stripe::RequestParams
147
+ class Duration < ::Stripe::RequestParams
148
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
149
+ attr_accessor :interval
150
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
151
+ attr_accessor :interval_count
152
+
153
+ def initialize(interval: nil, interval_count: nil)
154
+ @interval = interval
155
+ @interval_count = interval_count
156
+ end
157
+ end
158
+ # Time span for the redeemed discount.
159
+ attr_accessor :duration
160
+ # A precise Unix timestamp for the discount to end. Must be in the future.
161
+ attr_accessor :timestamp
162
+ # The type of calculation made to determine when the discount ends.
163
+ attr_accessor :type
164
+
165
+ def initialize(duration: nil, timestamp: nil, type: nil)
166
+ @duration = duration
167
+ @timestamp = timestamp
168
+ @type = type
169
+ end
170
+ end
171
+ # ID of the coupon to create a new discount for.
172
+ attr_accessor :coupon
173
+ # ID of an existing discount on the object (or one of its ancestors) to reuse.
174
+ attr_accessor :discount
175
+ # Details to determine how long the discount should be applied for.
176
+ attr_accessor :discount_end
177
+ # ID of the promotion code to create a new discount for.
178
+ attr_accessor :promotion_code
179
+
180
+ def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
181
+ @coupon = coupon
182
+ @discount = discount
183
+ @discount_end = discount_end
184
+ @promotion_code = promotion_code
185
+ end
186
+ end
187
+
188
+ class Trial < ::Stripe::RequestParams
189
+ # 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.
190
+ attr_accessor :converts_to
191
+ # Determines the type of trial for this item.
192
+ attr_accessor :type
193
+
194
+ def initialize(converts_to: nil, type: nil)
195
+ @converts_to = converts_to
196
+ @type = type
197
+ end
198
+ end
199
+ # The discounts applied to the item. Subscription item discounts are applied before subscription discounts.
200
+ attr_accessor :discounts
201
+ # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
202
+ attr_accessor :metadata
203
+ # The ID of the price object.
204
+ attr_accessor :price
205
+ # Quantity for this item.
206
+ attr_accessor :quantity
207
+ # 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`.
208
+ attr_accessor :tax_rates
209
+ # Options that configure the trial on the subscription item.
210
+ attr_accessor :trial
211
+ # The ID of the trial offer to apply to the configuration item.
212
+ attr_accessor :trial_offer
213
+
214
+ def initialize(
215
+ discounts: nil,
216
+ metadata: nil,
217
+ price: nil,
218
+ quantity: nil,
219
+ tax_rates: nil,
220
+ trial: nil,
221
+ trial_offer: nil
222
+ )
223
+ @discounts = discounts
224
+ @metadata = metadata
225
+ @price = price
226
+ @quantity = quantity
227
+ @tax_rates = tax_rates
228
+ @trial = trial
229
+ @trial_offer = trial_offer
230
+ end
231
+ end
232
+
233
+ class RemoveDiscount < ::Stripe::RequestParams
234
+ # The coupon code to remove from the `discounts` array.
235
+ attr_accessor :coupon
236
+ # The ID of a discount to remove from the `discounts` array.
237
+ attr_accessor :discount
238
+ # The ID of a promotion code to remove from the `discounts` array.
239
+ attr_accessor :promotion_code
240
+
241
+ def initialize(coupon: nil, discount: nil, promotion_code: nil)
242
+ @coupon = coupon
243
+ @discount = discount
244
+ @promotion_code = promotion_code
245
+ end
246
+ end
247
+
248
+ class RemoveItem < ::Stripe::RequestParams
249
+ # ID of a price to remove.
250
+ attr_accessor :price
251
+
252
+ def initialize(price: nil)
253
+ @price = price
254
+ end
255
+ end
256
+
257
+ class SetDiscount < ::Stripe::RequestParams
258
+ # The coupon code to replace the `discounts` array with.
259
+ attr_accessor :coupon
260
+ # An ID of an existing discount to replace the `discounts` array with.
261
+ attr_accessor :discount
262
+ # An ID of an existing promotion code to replace the `discounts` array with.
263
+ attr_accessor :promotion_code
264
+
265
+ def initialize(coupon: nil, discount: nil, promotion_code: nil)
266
+ @coupon = coupon
267
+ @discount = discount
268
+ @promotion_code = promotion_code
269
+ end
270
+ end
271
+
272
+ class SetItem < ::Stripe::RequestParams
273
+ class Discount < ::Stripe::RequestParams
274
+ class DiscountEnd < ::Stripe::RequestParams
275
+ class Duration < ::Stripe::RequestParams
276
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
277
+ attr_accessor :interval
278
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
279
+ attr_accessor :interval_count
280
+
281
+ def initialize(interval: nil, interval_count: nil)
282
+ @interval = interval
283
+ @interval_count = interval_count
284
+ end
285
+ end
286
+ # Time span for the redeemed discount.
287
+ attr_accessor :duration
288
+ # A precise Unix timestamp for the discount to end. Must be in the future.
289
+ attr_accessor :timestamp
290
+ # The type of calculation made to determine when the discount ends.
291
+ attr_accessor :type
292
+
293
+ def initialize(duration: nil, timestamp: nil, type: nil)
294
+ @duration = duration
295
+ @timestamp = timestamp
296
+ @type = type
297
+ end
298
+ end
299
+ # ID of the coupon to create a new discount for.
300
+ attr_accessor :coupon
301
+ # ID of an existing discount on the object (or one of its ancestors) to reuse.
302
+ attr_accessor :discount
303
+ # Details to determine how long the discount should be applied for.
304
+ attr_accessor :discount_end
305
+ # ID of the promotion code to create a new discount for.
306
+ attr_accessor :promotion_code
307
+
308
+ def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
309
+ @coupon = coupon
310
+ @discount = discount
311
+ @discount_end = discount_end
312
+ @promotion_code = promotion_code
313
+ end
314
+ end
315
+
316
+ class Trial < ::Stripe::RequestParams
317
+ # 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.
318
+ attr_accessor :converts_to
319
+ # Determines the type of trial for this item.
320
+ attr_accessor :type
321
+
322
+ def initialize(converts_to: nil, type: nil)
323
+ @converts_to = converts_to
324
+ @type = type
325
+ end
326
+ end
327
+ # 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`.
328
+ attr_accessor :discounts
329
+ # 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`.
330
+ attr_accessor :metadata
331
+ # The ID of the price object.
332
+ attr_accessor :price
333
+ # 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`.
334
+ attr_accessor :quantity
335
+ # 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`.
336
+ attr_accessor :tax_rates
337
+ # 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`.
338
+ attr_accessor :trial
339
+ # The ID of the trial offer to apply to the configuration item.
340
+ attr_accessor :trial_offer
341
+
342
+ def initialize(
343
+ discounts: nil,
344
+ metadata: nil,
345
+ price: nil,
346
+ quantity: nil,
347
+ tax_rates: nil,
348
+ trial: nil,
349
+ trial_offer: nil
350
+ )
351
+ @discounts = discounts
352
+ @metadata = metadata
353
+ @price = price
354
+ @quantity = quantity
355
+ @tax_rates = tax_rates
356
+ @trial = trial
357
+ @trial_offer = trial_offer
358
+ end
359
+ end
360
+ # Details for the `add_discount` type.
361
+ attr_accessor :add_discount
362
+ # Details for the `add_item` type.
363
+ attr_accessor :add_item
364
+ # Details for the `add_metadata` type: specify a hash of key-value pairs.
365
+ attr_accessor :add_metadata
366
+ # Details for the `remove_discount` type.
367
+ attr_accessor :remove_discount
368
+ # Details for the `remove_item` type.
369
+ attr_accessor :remove_item
370
+ # Details for the `remove_metadata` type: specify an array of metadata keys.
371
+ attr_accessor :remove_metadata
372
+ # Details for the `set_discounts` type.
373
+ attr_accessor :set_discounts
374
+ # Details for the `set_items` type.
375
+ attr_accessor :set_items
376
+ # Details for the `set_metadata` type: specify an array of key-value pairs.
377
+ attr_accessor :set_metadata
378
+ # The type of action the quote line performs.
379
+ attr_accessor :type
380
+
381
+ def initialize(
382
+ add_discount: nil,
383
+ add_item: nil,
384
+ add_metadata: nil,
385
+ remove_discount: nil,
386
+ remove_item: nil,
387
+ remove_metadata: nil,
388
+ set_discounts: nil,
389
+ set_items: nil,
390
+ set_metadata: nil,
391
+ type: nil
392
+ )
393
+ @add_discount = add_discount
394
+ @add_item = add_item
395
+ @add_metadata = add_metadata
396
+ @remove_discount = remove_discount
397
+ @remove_item = remove_item
398
+ @remove_metadata = remove_metadata
399
+ @set_discounts = set_discounts
400
+ @set_items = set_items
401
+ @set_metadata = set_metadata
402
+ @type = type
403
+ end
404
+ end
405
+
406
+ class AppliesTo < ::Stripe::RequestParams
407
+ # 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.
408
+ attr_accessor :new_reference
409
+ # The ID of the schedule the line applies to.
410
+ attr_accessor :subscription_schedule
411
+ # Describes whether the quote line is affecting a new schedule or an existing schedule.
412
+ attr_accessor :type
413
+
414
+ def initialize(new_reference: nil, subscription_schedule: nil, type: nil)
415
+ @new_reference = new_reference
416
+ @subscription_schedule = subscription_schedule
417
+ @type = type
418
+ end
419
+ end
420
+
421
+ class CancelSubscriptionSchedule < ::Stripe::RequestParams
422
+ # Timestamp helper to cancel the underlying schedule on the accompanying line's start date. Must be set to `line_starts_at`.
423
+ attr_accessor :cancel_at
424
+ # 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`.
425
+ attr_accessor :invoice_now
426
+ # If the subscription schedule is `active`, indicates if the cancellation should be prorated. Boolean that defaults to `true`.
427
+ attr_accessor :prorate
428
+
429
+ def initialize(cancel_at: nil, invoice_now: nil, prorate: nil)
430
+ @cancel_at = cancel_at
431
+ @invoice_now = invoice_now
432
+ @prorate = prorate
433
+ end
434
+ end
435
+
436
+ class EndsAt < ::Stripe::RequestParams
437
+ class DiscountEnd < ::Stripe::RequestParams
438
+ # The ID of a specific discount.
439
+ attr_accessor :discount
440
+
441
+ def initialize(discount: nil)
442
+ @discount = discount
443
+ end
444
+ end
445
+
446
+ class Duration < ::Stripe::RequestParams
447
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
448
+ attr_accessor :interval
449
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
450
+ attr_accessor :interval_count
451
+
452
+ def initialize(interval: nil, interval_count: nil)
453
+ @interval = interval
454
+ @interval_count = interval_count
455
+ end
456
+ end
457
+ # Use the `end` time of a given discount.
458
+ attr_accessor :discount_end
459
+ # Time span for the quote line starting from the `starts_at` date.
460
+ attr_accessor :duration
461
+ # A precise Unix timestamp.
462
+ attr_accessor :timestamp
463
+ # Select a way to pass in `ends_at`.
464
+ attr_accessor :type
465
+
466
+ def initialize(discount_end: nil, duration: nil, timestamp: nil, type: nil)
467
+ @discount_end = discount_end
468
+ @duration = duration
469
+ @timestamp = timestamp
470
+ @type = type
471
+ end
472
+ end
473
+
474
+ class SetPauseCollection < ::Stripe::RequestParams
475
+ class Set < ::Stripe::RequestParams
476
+ # The payment collection behavior for this subscription while paused. One of `keep_as_draft`, `mark_uncollectible`, or `void`.
477
+ attr_accessor :behavior
478
+
479
+ def initialize(behavior: nil)
480
+ @behavior = behavior
481
+ end
482
+ end
483
+ # Details of the pause_collection behavior to apply to the amendment.
484
+ attr_accessor :set
485
+ # Determines the type of the pause_collection amendment.
486
+ attr_accessor :type
487
+
488
+ def initialize(set: nil, type: nil)
489
+ @set = set
490
+ @type = type
491
+ end
492
+ end
493
+
494
+ class StartsAt < ::Stripe::RequestParams
495
+ class DiscountEnd < ::Stripe::RequestParams
496
+ # The ID of a specific discount.
497
+ attr_accessor :discount
498
+
499
+ def initialize(discount: nil)
500
+ @discount = discount
501
+ end
502
+ end
503
+
504
+ class LineEndsAt < ::Stripe::RequestParams
505
+ # 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.
506
+ attr_accessor :index
507
+
508
+ def initialize(index: nil)
509
+ @index = index
510
+ end
511
+ end
512
+ # Use the `end` time of a given discount.
513
+ attr_accessor :discount_end
514
+ # The timestamp the given line ends at.
515
+ attr_accessor :line_ends_at
516
+ # A precise Unix timestamp.
517
+ attr_accessor :timestamp
518
+ # Select a way to pass in `starts_at`.
519
+ attr_accessor :type
520
+
521
+ def initialize(discount_end: nil, line_ends_at: nil, timestamp: nil, type: nil)
522
+ @discount_end = discount_end
523
+ @line_ends_at = line_ends_at
524
+ @timestamp = timestamp
525
+ @type = type
526
+ end
527
+ end
528
+
529
+ class TrialSettings < ::Stripe::RequestParams
530
+ class EndBehavior < ::Stripe::RequestParams
531
+ # Configure how an opt-in following a paid trial is billed when using `billing_behavior: prorate_up_front`.
532
+ attr_accessor :prorate_up_front
533
+
534
+ def initialize(prorate_up_front: nil)
535
+ @prorate_up_front = prorate_up_front
536
+ end
537
+ end
538
+ # Defines how the subscription should behave when a trial ends.
539
+ attr_accessor :end_behavior
540
+
541
+ def initialize(end_behavior: nil)
542
+ @end_behavior = end_behavior
543
+ end
544
+ end
545
+ # An array of operations the quote line performs.
546
+ attr_accessor :actions
547
+ # Details to identify the subscription schedule the quote line applies to.
548
+ attr_accessor :applies_to
549
+ # 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.
550
+ attr_accessor :billing_cycle_anchor
551
+ # 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.
552
+ attr_accessor :cancel_subscription_schedule
553
+ # 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.
554
+ attr_accessor :ends_at
555
+ # 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.
556
+ attr_accessor :proration_behavior
557
+ # Defines how to pause collection for the underlying subscription throughout the duration of the amendment.
558
+ attr_accessor :set_pause_collection
559
+ # Timestamp helper to end the underlying schedule early, based on the acompanying line's start or end date.
560
+ attr_accessor :set_schedule_end
561
+ # Details to identify the earliest timestamp where the proposed change should take effect.
562
+ attr_accessor :starts_at
563
+ # Settings related to subscription trials.
564
+ attr_accessor :trial_settings
565
+ # Configures how the subscription schedule handles billing for phase transitions. Possible values are `phase_start` (default) or `billing_period_start`. `phase_start` bills based on the current state of the subscription, ignoring changes scheduled in future phases. `billing_period_start` bills predictively for upcoming phase transitions within the current billing cycle, including pricing changes and service period adjustments that will occur before the next invoice.
566
+ attr_accessor :effective_at
567
+
568
+ def initialize(
569
+ actions: nil,
570
+ applies_to: nil,
571
+ billing_cycle_anchor: nil,
572
+ cancel_subscription_schedule: nil,
573
+ ends_at: nil,
574
+ proration_behavior: nil,
575
+ set_pause_collection: nil,
576
+ set_schedule_end: nil,
577
+ starts_at: nil,
578
+ trial_settings: nil,
579
+ effective_at: nil
580
+ )
581
+ @actions = actions
582
+ @applies_to = applies_to
583
+ @billing_cycle_anchor = billing_cycle_anchor
584
+ @cancel_subscription_schedule = cancel_subscription_schedule
585
+ @ends_at = ends_at
586
+ @proration_behavior = proration_behavior
587
+ @set_pause_collection = set_pause_collection
588
+ @set_schedule_end = set_schedule_end
589
+ @starts_at = starts_at
590
+ @trial_settings = trial_settings
591
+ @effective_at = effective_at
592
+ end
593
+ end
594
+
79
595
  class LineItem < ::Stripe::RequestParams
80
596
  class Discount < ::Stripe::RequestParams
597
+ class DiscountEnd < ::Stripe::RequestParams
598
+ class Duration < ::Stripe::RequestParams
599
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
600
+ attr_accessor :interval
601
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
602
+ attr_accessor :interval_count
603
+
604
+ def initialize(interval: nil, interval_count: nil)
605
+ @interval = interval
606
+ @interval_count = interval_count
607
+ end
608
+ end
609
+ # Time span for the redeemed discount.
610
+ attr_accessor :duration
611
+ # A precise Unix timestamp for the discount to end. Must be in the future.
612
+ attr_accessor :timestamp
613
+ # The type of calculation made to determine when the discount ends.
614
+ attr_accessor :type
615
+
616
+ def initialize(duration: nil, timestamp: nil, type: nil)
617
+ @duration = duration
618
+ @timestamp = timestamp
619
+ @type = type
620
+ end
621
+ end
81
622
  # ID of the coupon to create a new discount for.
82
623
  attr_accessor :coupon
83
624
  # ID of an existing discount on the object (or one of its ancestors) to reuse.
84
625
  attr_accessor :discount
626
+ # Details to determine how long the discount should be applied for.
627
+ attr_accessor :discount_end
85
628
  # ID of the promotion code to create a new discount for.
86
629
  attr_accessor :promotion_code
87
630
 
88
- def initialize(coupon: nil, discount: nil, promotion_code: nil)
631
+ def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
89
632
  @coupon = coupon
90
633
  @discount = discount
634
+ @discount_end = discount_end
91
635
  @promotion_code = promotion_code
92
636
  end
93
637
  end
@@ -154,6 +698,84 @@ module Stripe
154
698
  end
155
699
 
156
700
  class SubscriptionData < ::Stripe::RequestParams
701
+ class BillOnAcceptance < ::Stripe::RequestParams
702
+ class BillFrom < ::Stripe::RequestParams
703
+ class LineStartsAt < ::Stripe::RequestParams
704
+ # The ID of a quote line.
705
+ attr_accessor :id
706
+ # 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.
707
+ attr_accessor :index
708
+
709
+ def initialize(id: nil, index: nil)
710
+ @id = id
711
+ @index = index
712
+ end
713
+ end
714
+ # Details of a Quote line to start the bill period from.
715
+ attr_accessor :line_starts_at
716
+ # A precise Unix timestamp.
717
+ attr_accessor :timestamp
718
+ # The type of method to specify the `bill_from` time.
719
+ attr_accessor :type
720
+
721
+ def initialize(line_starts_at: nil, timestamp: nil, type: nil)
722
+ @line_starts_at = line_starts_at
723
+ @timestamp = timestamp
724
+ @type = type
725
+ end
726
+ end
727
+
728
+ class BillUntil < ::Stripe::RequestParams
729
+ class Duration < ::Stripe::RequestParams
730
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
731
+ attr_accessor :interval
732
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
733
+ attr_accessor :interval_count
734
+
735
+ def initialize(interval: nil, interval_count: nil)
736
+ @interval = interval
737
+ @interval_count = interval_count
738
+ end
739
+ end
740
+
741
+ class LineEndsAt < ::Stripe::RequestParams
742
+ # The ID of a quote line.
743
+ attr_accessor :id
744
+ # 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.
745
+ attr_accessor :index
746
+
747
+ def initialize(id: nil, index: nil)
748
+ @id = id
749
+ @index = index
750
+ end
751
+ end
752
+ # Details of the duration over which to bill.
753
+ attr_accessor :duration
754
+ # Details of a Quote line item from which to bill until.
755
+ attr_accessor :line_ends_at
756
+ # A precise Unix timestamp.
757
+ attr_accessor :timestamp
758
+ # The type of method to specify the `bill_until` time.
759
+ attr_accessor :type
760
+
761
+ def initialize(duration: nil, line_ends_at: nil, timestamp: nil, type: nil)
762
+ @duration = duration
763
+ @line_ends_at = line_ends_at
764
+ @timestamp = timestamp
765
+ @type = type
766
+ end
767
+ end
768
+ # The start of the period to bill from when the Quote is accepted.
769
+ attr_accessor :bill_from
770
+ # The end of the period to bill until when the Quote is accepted.
771
+ attr_accessor :bill_until
772
+
773
+ def initialize(bill_from: nil, bill_until: nil)
774
+ @bill_from = bill_from
775
+ @bill_until = bill_until
776
+ end
777
+ end
778
+
157
779
  class BillingMode < ::Stripe::RequestParams
158
780
  class Flexible < ::Stripe::RequestParams
159
781
  # Controls how invoices and invoice items display proration amounts and discount amounts.
@@ -173,32 +795,416 @@ module Stripe
173
795
  @type = type
174
796
  end
175
797
  end
798
+
799
+ class BillingSchedule < ::Stripe::RequestParams
800
+ class AppliesTo < ::Stripe::RequestParams
801
+ # The ID of the price object.
802
+ attr_accessor :price
803
+ # Controls which subscription items the billing schedule applies to.
804
+ attr_accessor :type
805
+
806
+ def initialize(price: nil, type: nil)
807
+ @price = price
808
+ @type = type
809
+ end
810
+ end
811
+
812
+ class BillFrom < ::Stripe::RequestParams
813
+ class LineStartsAt < ::Stripe::RequestParams
814
+ # The ID of a quote line.
815
+ attr_accessor :id
816
+ # 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.
817
+ attr_accessor :index
818
+
819
+ def initialize(id: nil, index: nil)
820
+ @id = id
821
+ @index = index
822
+ end
823
+ end
824
+ # Details of a Quote line to start the bill period from.
825
+ attr_accessor :line_starts_at
826
+ # A precise Unix timestamp.
827
+ attr_accessor :timestamp
828
+ # The type of method to specify the `bill_from` time.
829
+ attr_accessor :type
830
+
831
+ def initialize(line_starts_at: nil, timestamp: nil, type: nil)
832
+ @line_starts_at = line_starts_at
833
+ @timestamp = timestamp
834
+ @type = type
835
+ end
836
+ end
837
+
838
+ class BillUntil < ::Stripe::RequestParams
839
+ class Duration < ::Stripe::RequestParams
840
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
841
+ attr_accessor :interval
842
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
843
+ attr_accessor :interval_count
844
+
845
+ def initialize(interval: nil, interval_count: nil)
846
+ @interval = interval
847
+ @interval_count = interval_count
848
+ end
849
+ end
850
+
851
+ class LineEndsAt < ::Stripe::RequestParams
852
+ # The ID of a quote line.
853
+ attr_accessor :id
854
+ # 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.
855
+ attr_accessor :index
856
+
857
+ def initialize(id: nil, index: nil)
858
+ @id = id
859
+ @index = index
860
+ end
861
+ end
862
+ # Details of the duration over which to bill.
863
+ attr_accessor :duration
864
+ # Details of a Quote line item from which to bill until.
865
+ attr_accessor :line_ends_at
866
+ # A precise Unix timestamp.
867
+ attr_accessor :timestamp
868
+ # The type of method to specify the `bill_until` time.
869
+ attr_accessor :type
870
+
871
+ def initialize(duration: nil, line_ends_at: nil, timestamp: nil, type: nil)
872
+ @duration = duration
873
+ @line_ends_at = line_ends_at
874
+ @timestamp = timestamp
875
+ @type = type
876
+ end
877
+ end
878
+ # Configure billing schedule differently for individual subscription items.
879
+ attr_accessor :applies_to
880
+ # The start of the period to bill from when the Quote is accepted.
881
+ attr_accessor :bill_from
882
+ # The end of the period to bill until when the Quote is accepted.
883
+ attr_accessor :bill_until
884
+ # 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.
885
+ attr_accessor :key
886
+
887
+ def initialize(applies_to: nil, bill_from: nil, bill_until: nil, key: nil)
888
+ @applies_to = applies_to
889
+ @bill_from = bill_from
890
+ @bill_until = bill_until
891
+ @key = key
892
+ end
893
+ end
894
+
895
+ class Prebilling < ::Stripe::RequestParams
896
+ # This is used to determine the number of billing cycles to prebill.
897
+ attr_accessor :iterations
898
+
899
+ def initialize(iterations: nil)
900
+ @iterations = iterations
901
+ end
902
+ end
903
+ # Describes the period to bill for upon accepting the quote.
904
+ attr_accessor :bill_on_acceptance
905
+ # 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.
906
+ attr_accessor :billing_behavior
907
+ # When specified as `reset`, the subscription will always start a new billing period when the quote is accepted.
908
+ attr_accessor :billing_cycle_anchor
176
909
  # Controls how prorations and invoices for subscriptions are calculated and orchestrated.
177
910
  attr_accessor :billing_mode
911
+ # Billing schedules that will be applied to the subscription or subscription schedule created when the quote is accepted.
912
+ attr_accessor :billing_schedules
178
913
  # 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
914
  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.
915
+ # 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
916
  attr_accessor :effective_date
917
+ # Behavior of the subscription schedule and underlying subscription when it ends.
918
+ attr_accessor :end_behavior
919
+ # 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.
920
+ attr_accessor :from_subscription
182
921
  # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that will set metadata on the subscription or subscription schedule when the quote is accepted. If a recurring price is included in `line_items`, this field will be passed to the resulting subscription's `metadata` field. If `subscription_data.effective_date` is used, this field will be passed to the resulting subscription schedule's `phases.metadata` field. Unlike object-level metadata, this field is declarative. Updates will clear prior values.
183
922
  attr_accessor :metadata
923
+ # Configures how the subscription schedule handles billing for phase transitions when the quote is accepted. Possible values are `phase_start` (default) or `billing_period_start`. `phase_start` bills based on the current state of the subscription, ignoring changes scheduled in future phases. `billing_period_start` bills predictively for upcoming phase transitions within the current billing cycle, including pricing changes and service period adjustments that will occur before the next invoice.
924
+ attr_accessor :phase_effective_at
925
+ # If specified, the invoicing for the given billing cycle iterations will be processed when the quote is accepted. Cannot be used with `effective_date`.
926
+ attr_accessor :prebilling
927
+ # Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations). When creating a subscription, valid values are `create_prorations` or `none`.
928
+ #
929
+ # When updating a subscription, valid values are `create_prorations`, `none`, or `always_invoice`.
930
+ #
931
+ # Passing `create_prorations` will cause proration invoice items to be created when applicable. These proration items will only be invoiced immediately under [certain conditions](https://stripe.com/docs/subscriptions/upgrading-downgrading#immediate-payment). In order to always invoice immediately for prorations, pass `always_invoice`.
932
+ #
933
+ # Prorations can be disabled by passing `none`.
934
+ attr_accessor :proration_behavior
184
935
  # Integer representing the number of trial period days before the customer is charged for the first time.
185
936
  attr_accessor :trial_period_days
186
937
 
187
938
  def initialize(
939
+ bill_on_acceptance: nil,
940
+ billing_behavior: nil,
941
+ billing_cycle_anchor: nil,
188
942
  billing_mode: nil,
943
+ billing_schedules: nil,
189
944
  description: nil,
190
945
  effective_date: nil,
946
+ end_behavior: nil,
947
+ from_subscription: nil,
191
948
  metadata: nil,
949
+ phase_effective_at: nil,
950
+ prebilling: nil,
951
+ proration_behavior: nil,
192
952
  trial_period_days: nil
193
953
  )
954
+ @bill_on_acceptance = bill_on_acceptance
955
+ @billing_behavior = billing_behavior
956
+ @billing_cycle_anchor = billing_cycle_anchor
194
957
  @billing_mode = billing_mode
958
+ @billing_schedules = billing_schedules
195
959
  @description = description
196
960
  @effective_date = effective_date
961
+ @end_behavior = end_behavior
962
+ @from_subscription = from_subscription
197
963
  @metadata = metadata
964
+ @phase_effective_at = phase_effective_at
965
+ @prebilling = prebilling
966
+ @proration_behavior = proration_behavior
198
967
  @trial_period_days = trial_period_days
199
968
  end
200
969
  end
201
970
 
971
+ class SubscriptionDataOverride < ::Stripe::RequestParams
972
+ class AppliesTo < ::Stripe::RequestParams
973
+ # 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.
974
+ attr_accessor :new_reference
975
+ # The ID of the schedule the line applies to.
976
+ attr_accessor :subscription_schedule
977
+ # Describes whether the quote line is affecting a new schedule or an existing schedule.
978
+ attr_accessor :type
979
+
980
+ def initialize(new_reference: nil, subscription_schedule: nil, type: nil)
981
+ @new_reference = new_reference
982
+ @subscription_schedule = subscription_schedule
983
+ @type = type
984
+ end
985
+ end
986
+
987
+ class BillOnAcceptance < ::Stripe::RequestParams
988
+ class BillFrom < ::Stripe::RequestParams
989
+ class LineStartsAt < ::Stripe::RequestParams
990
+ # The ID of a quote line.
991
+ attr_accessor :id
992
+ # 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.
993
+ attr_accessor :index
994
+
995
+ def initialize(id: nil, index: nil)
996
+ @id = id
997
+ @index = index
998
+ end
999
+ end
1000
+ # Details of a Quote line to start the bill period from.
1001
+ attr_accessor :line_starts_at
1002
+ # A precise Unix timestamp.
1003
+ attr_accessor :timestamp
1004
+ # The type of method to specify the `bill_from` time.
1005
+ attr_accessor :type
1006
+
1007
+ def initialize(line_starts_at: nil, timestamp: nil, type: nil)
1008
+ @line_starts_at = line_starts_at
1009
+ @timestamp = timestamp
1010
+ @type = type
1011
+ end
1012
+ end
1013
+
1014
+ class BillUntil < ::Stripe::RequestParams
1015
+ class Duration < ::Stripe::RequestParams
1016
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
1017
+ attr_accessor :interval
1018
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
1019
+ attr_accessor :interval_count
1020
+
1021
+ def initialize(interval: nil, interval_count: nil)
1022
+ @interval = interval
1023
+ @interval_count = interval_count
1024
+ end
1025
+ end
1026
+
1027
+ class LineEndsAt < ::Stripe::RequestParams
1028
+ # The ID of a quote line.
1029
+ attr_accessor :id
1030
+ # 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.
1031
+ attr_accessor :index
1032
+
1033
+ def initialize(id: nil, index: nil)
1034
+ @id = id
1035
+ @index = index
1036
+ end
1037
+ end
1038
+ # Details of the duration over which to bill.
1039
+ attr_accessor :duration
1040
+ # Details of a Quote line item from which to bill until.
1041
+ attr_accessor :line_ends_at
1042
+ # A precise Unix timestamp.
1043
+ attr_accessor :timestamp
1044
+ # The type of method to specify the `bill_until` time.
1045
+ attr_accessor :type
1046
+
1047
+ def initialize(duration: nil, line_ends_at: nil, timestamp: nil, type: nil)
1048
+ @duration = duration
1049
+ @line_ends_at = line_ends_at
1050
+ @timestamp = timestamp
1051
+ @type = type
1052
+ end
1053
+ end
1054
+ # The start of the period to bill from when the Quote is accepted.
1055
+ attr_accessor :bill_from
1056
+ # The end of the period to bill until when the Quote is accepted.
1057
+ attr_accessor :bill_until
1058
+
1059
+ def initialize(bill_from: nil, bill_until: nil)
1060
+ @bill_from = bill_from
1061
+ @bill_until = bill_until
1062
+ end
1063
+ end
1064
+
1065
+ class BillingSchedule < ::Stripe::RequestParams
1066
+ class AppliesTo < ::Stripe::RequestParams
1067
+ # The ID of the price object.
1068
+ attr_accessor :price
1069
+ # Controls which subscription items the billing schedule applies to.
1070
+ attr_accessor :type
1071
+
1072
+ def initialize(price: nil, type: nil)
1073
+ @price = price
1074
+ @type = type
1075
+ end
1076
+ end
1077
+
1078
+ class BillFrom < ::Stripe::RequestParams
1079
+ class LineStartsAt < ::Stripe::RequestParams
1080
+ # The ID of a quote line.
1081
+ attr_accessor :id
1082
+ # 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.
1083
+ attr_accessor :index
1084
+
1085
+ def initialize(id: nil, index: nil)
1086
+ @id = id
1087
+ @index = index
1088
+ end
1089
+ end
1090
+ # Details of a Quote line to start the bill period from.
1091
+ attr_accessor :line_starts_at
1092
+ # A precise Unix timestamp.
1093
+ attr_accessor :timestamp
1094
+ # The type of method to specify the `bill_from` time.
1095
+ attr_accessor :type
1096
+
1097
+ def initialize(line_starts_at: nil, timestamp: nil, type: nil)
1098
+ @line_starts_at = line_starts_at
1099
+ @timestamp = timestamp
1100
+ @type = type
1101
+ end
1102
+ end
1103
+
1104
+ class BillUntil < ::Stripe::RequestParams
1105
+ class Duration < ::Stripe::RequestParams
1106
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
1107
+ attr_accessor :interval
1108
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
1109
+ attr_accessor :interval_count
1110
+
1111
+ def initialize(interval: nil, interval_count: nil)
1112
+ @interval = interval
1113
+ @interval_count = interval_count
1114
+ end
1115
+ end
1116
+
1117
+ class LineEndsAt < ::Stripe::RequestParams
1118
+ # The ID of a quote line.
1119
+ attr_accessor :id
1120
+ # 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.
1121
+ attr_accessor :index
1122
+
1123
+ def initialize(id: nil, index: nil)
1124
+ @id = id
1125
+ @index = index
1126
+ end
1127
+ end
1128
+ # Details of the duration over which to bill.
1129
+ attr_accessor :duration
1130
+ # Details of a Quote line item from which to bill until.
1131
+ attr_accessor :line_ends_at
1132
+ # A precise Unix timestamp.
1133
+ attr_accessor :timestamp
1134
+ # The type of method to specify the `bill_until` time.
1135
+ attr_accessor :type
1136
+
1137
+ def initialize(duration: nil, line_ends_at: nil, timestamp: nil, type: nil)
1138
+ @duration = duration
1139
+ @line_ends_at = line_ends_at
1140
+ @timestamp = timestamp
1141
+ @type = type
1142
+ end
1143
+ end
1144
+ # Configure billing schedule differently for individual subscription items.
1145
+ attr_accessor :applies_to
1146
+ # The start of the period to bill from when the Quote is accepted.
1147
+ attr_accessor :bill_from
1148
+ # The end of the period to bill until when the Quote is accepted.
1149
+ attr_accessor :bill_until
1150
+ # 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.
1151
+ attr_accessor :key
1152
+
1153
+ def initialize(applies_to: nil, bill_from: nil, bill_until: nil, key: nil)
1154
+ @applies_to = applies_to
1155
+ @bill_from = bill_from
1156
+ @bill_until = bill_until
1157
+ @key = key
1158
+ end
1159
+ end
1160
+ # Whether the override applies to an existing Subscription Schedule or a new Subscription Schedule.
1161
+ attr_accessor :applies_to
1162
+ # Describes the period to bill for upon accepting the quote.
1163
+ attr_accessor :bill_on_acceptance
1164
+ # 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.
1165
+ attr_accessor :billing_behavior
1166
+ # Billing schedules that will be applied to the subscription or subscription schedule created when the quote is accepted.
1167
+ attr_accessor :billing_schedules
1168
+ # The customer the Subscription Data override applies to. This is only relevant when `applies_to.type=new_reference`.
1169
+ attr_accessor :customer
1170
+ # 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.
1171
+ attr_accessor :description
1172
+ # Behavior of the subscription schedule and underlying subscription when it ends.
1173
+ attr_accessor :end_behavior
1174
+ # Configures how the subscription schedule handles billing for phase transitions when the quote is accepted. Possible values are `phase_start` (default) or `billing_period_start`. `phase_start` bills based on the current state of the subscription, ignoring changes scheduled in future phases. `billing_period_start` bills predictively for upcoming phase transitions within the current billing cycle, including pricing changes and service period adjustments that will occur before the next invoice.
1175
+ attr_accessor :phase_effective_at
1176
+ # Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations). When creating a subscription, valid values are `create_prorations` or `none`.
1177
+ #
1178
+ # When updating a subscription, valid values are `create_prorations`, `none`, or `always_invoice`.
1179
+ #
1180
+ # Passing `create_prorations` will cause proration invoice items to be created when applicable. These proration items will only be invoiced immediately under [certain conditions](https://stripe.com/docs/subscriptions/upgrading-downgrading#immediate-payment). In order to always invoice immediately for prorations, pass `always_invoice`.
1181
+ #
1182
+ # Prorations can be disabled by passing `none`.
1183
+ attr_accessor :proration_behavior
1184
+
1185
+ def initialize(
1186
+ applies_to: nil,
1187
+ bill_on_acceptance: nil,
1188
+ billing_behavior: nil,
1189
+ billing_schedules: nil,
1190
+ customer: nil,
1191
+ description: nil,
1192
+ end_behavior: nil,
1193
+ phase_effective_at: nil,
1194
+ proration_behavior: nil
1195
+ )
1196
+ @applies_to = applies_to
1197
+ @bill_on_acceptance = bill_on_acceptance
1198
+ @billing_behavior = billing_behavior
1199
+ @billing_schedules = billing_schedules
1200
+ @customer = customer
1201
+ @description = description
1202
+ @end_behavior = end_behavior
1203
+ @phase_effective_at = phase_effective_at
1204
+ @proration_behavior = proration_behavior
1205
+ end
1206
+ end
1207
+
202
1208
  class TransferData < ::Stripe::RequestParams
203
1209
  # 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
1210
  attr_accessor :amount
@@ -213,6 +1219,8 @@ module Stripe
213
1219
  @destination = destination
214
1220
  end
215
1221
  end
1222
+ # Set to true to allow quote lines to have `starts_at` in the past if collection is paused between `starts_at` and now.
1223
+ attr_accessor :allow_backdated_lines
216
1224
  # 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
1225
  attr_accessor :application_fee_amount
218
1226
  # 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.
@@ -223,6 +1231,8 @@ module Stripe
223
1231
  attr_accessor :collection_method
224
1232
  # The customer for which this quote belongs to. A customer is required before finalizing the quote. Once specified, it cannot be changed.
225
1233
  attr_accessor :customer
1234
+ # The account for which this quote belongs to. A customer or account is required before finalizing the quote. Once specified, it cannot be changed.
1235
+ attr_accessor :customer_account
226
1236
  # The tax rates that will apply to any line item that does not have `tax_rates` set.
227
1237
  attr_accessor :default_tax_rates
228
1238
  # A description that will be displayed on the quote PDF. If no value is passed, the default description configured in your [quote template settings](https://dashboard.stripe.com/settings/billing/quote) will be used.
@@ -243,23 +1253,29 @@ module Stripe
243
1253
  attr_accessor :invoice_settings
244
1254
  # 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.
245
1255
  attr_accessor :line_items
1256
+ # 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.
1257
+ attr_accessor :lines
246
1258
  # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
247
1259
  attr_accessor :metadata
248
1260
  # The account on behalf of which to charge.
249
1261
  attr_accessor :on_behalf_of
250
1262
  # 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.
251
1263
  attr_accessor :subscription_data
1264
+ # List representing overrides for `subscription_data` configurations for specific subscription schedules.
1265
+ attr_accessor :subscription_data_overrides
252
1266
  # ID of the test clock to attach to the quote.
253
1267
  attr_accessor :test_clock
254
1268
  # The data with which to automatically create a Transfer for each of the invoices.
255
1269
  attr_accessor :transfer_data
256
1270
 
257
1271
  def initialize(
1272
+ allow_backdated_lines: nil,
258
1273
  application_fee_amount: nil,
259
1274
  application_fee_percent: nil,
260
1275
  automatic_tax: nil,
261
1276
  collection_method: nil,
262
1277
  customer: nil,
1278
+ customer_account: nil,
263
1279
  default_tax_rates: nil,
264
1280
  description: nil,
265
1281
  discounts: nil,
@@ -270,17 +1286,21 @@ module Stripe
270
1286
  header: nil,
271
1287
  invoice_settings: nil,
272
1288
  line_items: nil,
1289
+ lines: nil,
273
1290
  metadata: nil,
274
1291
  on_behalf_of: nil,
275
1292
  subscription_data: nil,
1293
+ subscription_data_overrides: nil,
276
1294
  test_clock: nil,
277
1295
  transfer_data: nil
278
1296
  )
1297
+ @allow_backdated_lines = allow_backdated_lines
279
1298
  @application_fee_amount = application_fee_amount
280
1299
  @application_fee_percent = application_fee_percent
281
1300
  @automatic_tax = automatic_tax
282
1301
  @collection_method = collection_method
283
1302
  @customer = customer
1303
+ @customer_account = customer_account
284
1304
  @default_tax_rates = default_tax_rates
285
1305
  @description = description
286
1306
  @discounts = discounts
@@ -291,9 +1311,11 @@ module Stripe
291
1311
  @header = header
292
1312
  @invoice_settings = invoice_settings
293
1313
  @line_items = line_items
1314
+ @lines = lines
294
1315
  @metadata = metadata
295
1316
  @on_behalf_of = on_behalf_of
296
1317
  @subscription_data = subscription_data
1318
+ @subscription_data_overrides = subscription_data_overrides
297
1319
  @test_clock = test_clock
298
1320
  @transfer_data = transfer_data
299
1321
  end