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
@@ -144,32 +144,88 @@ module Stripe
144
144
  end
145
145
 
146
146
  class Discount < ::Stripe::RequestParams
147
+ class DiscountEnd < ::Stripe::RequestParams
148
+ class Duration < ::Stripe::RequestParams
149
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
150
+ attr_accessor :interval
151
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
152
+ attr_accessor :interval_count
153
+
154
+ def initialize(interval: nil, interval_count: nil)
155
+ @interval = interval
156
+ @interval_count = interval_count
157
+ end
158
+ end
159
+ # Time span for the redeemed discount.
160
+ attr_accessor :duration
161
+ # A precise Unix timestamp for the discount to end. Must be in the future.
162
+ attr_accessor :timestamp
163
+ # The type of calculation made to determine when the discount ends.
164
+ attr_accessor :type
165
+
166
+ def initialize(duration: nil, timestamp: nil, type: nil)
167
+ @duration = duration
168
+ @timestamp = timestamp
169
+ @type = type
170
+ end
171
+ end
147
172
  # ID of the coupon to create a new discount for.
148
173
  attr_accessor :coupon
149
174
  # ID of an existing discount on the object (or one of its ancestors) to reuse.
150
175
  attr_accessor :discount
176
+ # Details to determine how long the discount should be applied for.
177
+ attr_accessor :discount_end
151
178
  # ID of the promotion code to create a new discount for.
152
179
  attr_accessor :promotion_code
153
180
 
154
- def initialize(coupon: nil, discount: nil, promotion_code: nil)
181
+ def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
155
182
  @coupon = coupon
156
183
  @discount = discount
184
+ @discount_end = discount_end
157
185
  @promotion_code = promotion_code
158
186
  end
159
187
  end
160
188
 
161
189
  class InvoiceItem < ::Stripe::RequestParams
162
190
  class Discount < ::Stripe::RequestParams
191
+ class DiscountEnd < ::Stripe::RequestParams
192
+ class Duration < ::Stripe::RequestParams
193
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
194
+ attr_accessor :interval
195
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
196
+ attr_accessor :interval_count
197
+
198
+ def initialize(interval: nil, interval_count: nil)
199
+ @interval = interval
200
+ @interval_count = interval_count
201
+ end
202
+ end
203
+ # Time span for the redeemed discount.
204
+ attr_accessor :duration
205
+ # A precise Unix timestamp for the discount to end. Must be in the future.
206
+ attr_accessor :timestamp
207
+ # The type of calculation made to determine when the discount ends.
208
+ attr_accessor :type
209
+
210
+ def initialize(duration: nil, timestamp: nil, type: nil)
211
+ @duration = duration
212
+ @timestamp = timestamp
213
+ @type = type
214
+ end
215
+ end
163
216
  # ID of the coupon to create a new discount for.
164
217
  attr_accessor :coupon
165
218
  # ID of an existing discount on the object (or one of its ancestors) to reuse.
166
219
  attr_accessor :discount
220
+ # Details to determine how long the discount should be applied for.
221
+ attr_accessor :discount_end
167
222
  # ID of the promotion code to create a new discount for.
168
223
  attr_accessor :promotion_code
169
224
 
170
- def initialize(coupon: nil, discount: nil, promotion_code: nil)
225
+ def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
171
226
  @coupon = coupon
172
227
  @discount = discount
228
+ @discount_end = discount_end
173
229
  @promotion_code = promotion_code
174
230
  end
175
231
  end
@@ -295,6 +351,497 @@ module Stripe
295
351
  end
296
352
 
297
353
  class ScheduleDetails < ::Stripe::RequestParams
354
+ class Amendment < ::Stripe::RequestParams
355
+ class AmendmentEnd < ::Stripe::RequestParams
356
+ class DiscountEnd < ::Stripe::RequestParams
357
+ # The ID of a specific discount.
358
+ attr_accessor :discount
359
+
360
+ def initialize(discount: nil)
361
+ @discount = discount
362
+ end
363
+ end
364
+
365
+ class Duration < ::Stripe::RequestParams
366
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
367
+ attr_accessor :interval
368
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
369
+ attr_accessor :interval_count
370
+
371
+ def initialize(interval: nil, interval_count: nil)
372
+ @interval = interval
373
+ @interval_count = interval_count
374
+ end
375
+ end
376
+ # Use the `end` time of a given discount.
377
+ attr_accessor :discount_end
378
+ # Time span for the amendment starting from the `amendment_start`.
379
+ attr_accessor :duration
380
+ # A precise Unix timestamp for the amendment to end. Must be after the `amendment_start`.
381
+ attr_accessor :timestamp
382
+ # Select one of three ways to pass the `amendment_end`.
383
+ attr_accessor :type
384
+
385
+ def initialize(discount_end: nil, duration: nil, timestamp: nil, type: nil)
386
+ @discount_end = discount_end
387
+ @duration = duration
388
+ @timestamp = timestamp
389
+ @type = type
390
+ end
391
+ end
392
+
393
+ class AmendmentStart < ::Stripe::RequestParams
394
+ class AmendmentEnd < ::Stripe::RequestParams
395
+ # The position of the previous amendment in the `amendments` array after which this amendment should begin. Indexes start from 0 and must be less than the index of the current amendment in the array.
396
+ attr_accessor :index
397
+
398
+ def initialize(index: nil)
399
+ @index = index
400
+ end
401
+ end
402
+
403
+ class DiscountEnd < ::Stripe::RequestParams
404
+ # The ID of a specific discount.
405
+ attr_accessor :discount
406
+
407
+ def initialize(discount: nil)
408
+ @discount = discount
409
+ end
410
+ end
411
+ # Details of another amendment in the same array, immediately after which this amendment should begin.
412
+ attr_accessor :amendment_end
413
+ # Use the `end` time of a given discount.
414
+ attr_accessor :discount_end
415
+ # A precise Unix timestamp for the amendment to start.
416
+ attr_accessor :timestamp
417
+ # Select one of three ways to pass the `amendment_start`.
418
+ attr_accessor :type
419
+
420
+ def initialize(amendment_end: nil, discount_end: nil, timestamp: nil, type: nil)
421
+ @amendment_end = amendment_end
422
+ @discount_end = discount_end
423
+ @timestamp = timestamp
424
+ @type = type
425
+ end
426
+ end
427
+
428
+ class BillingSchedulesAction < ::Stripe::RequestParams
429
+ class AppliesTo < ::Stripe::RequestParams
430
+ # The ID of the price object.
431
+ attr_accessor :price
432
+ # Controls which subscription items the billing schedule applies to.
433
+ attr_accessor :type
434
+
435
+ def initialize(price: nil, type: nil)
436
+ @price = price
437
+ @type = type
438
+ end
439
+ end
440
+ # Specify which subscription items the billing schedule applies to.
441
+ attr_accessor :applies_to
442
+ # Select the action.
443
+ attr_accessor :type
444
+
445
+ def initialize(applies_to: nil, type: nil)
446
+ @applies_to = applies_to
447
+ @type = type
448
+ end
449
+ end
450
+
451
+ class DiscountAction < ::Stripe::RequestParams
452
+ class Add < ::Stripe::RequestParams
453
+ class DiscountEnd < ::Stripe::RequestParams
454
+ # The type of calculation made to determine when the discount ends.
455
+ attr_accessor :type
456
+
457
+ def initialize(type: nil)
458
+ @type = type
459
+ end
460
+ end
461
+ # The coupon code to redeem.
462
+ attr_accessor :coupon
463
+ # An ID of an existing discount for a coupon that was already redeemed.
464
+ attr_accessor :discount
465
+ # Details to determine how long the discount should be applied for.
466
+ attr_accessor :discount_end
467
+ # 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.
468
+ attr_accessor :index
469
+ # The promotion code to redeem.
470
+ attr_accessor :promotion_code
471
+
472
+ def initialize(
473
+ coupon: nil,
474
+ discount: nil,
475
+ discount_end: nil,
476
+ index: nil,
477
+ promotion_code: nil
478
+ )
479
+ @coupon = coupon
480
+ @discount = discount
481
+ @discount_end = discount_end
482
+ @index = index
483
+ @promotion_code = promotion_code
484
+ end
485
+ end
486
+
487
+ class Remove < ::Stripe::RequestParams
488
+ # The coupon code to remove from the `discounts` array.
489
+ attr_accessor :coupon
490
+ # The ID of a discount to remove from the `discounts` array.
491
+ attr_accessor :discount
492
+ # The ID of a promotion code to remove from the `discounts` array.
493
+ attr_accessor :promotion_code
494
+
495
+ def initialize(coupon: nil, discount: nil, promotion_code: nil)
496
+ @coupon = coupon
497
+ @discount = discount
498
+ @promotion_code = promotion_code
499
+ end
500
+ end
501
+
502
+ class Set < ::Stripe::RequestParams
503
+ # The coupon code to replace the `discounts` array with.
504
+ attr_accessor :coupon
505
+ # An ID of an existing discount to replace the `discounts` array with.
506
+ attr_accessor :discount
507
+ # An ID of an existing promotion code to replace the `discounts` array with.
508
+ attr_accessor :promotion_code
509
+
510
+ def initialize(coupon: nil, discount: nil, promotion_code: nil)
511
+ @coupon = coupon
512
+ @discount = discount
513
+ @promotion_code = promotion_code
514
+ end
515
+ end
516
+ # Details of the discount to add.
517
+ attr_accessor :add
518
+ # Details of the discount to remove.
519
+ attr_accessor :remove
520
+ # Details of the discount to replace the existing discounts with.
521
+ attr_accessor :set
522
+ # Determines the type of discount action.
523
+ attr_accessor :type
524
+
525
+ def initialize(add: nil, remove: nil, set: nil, type: nil)
526
+ @add = add
527
+ @remove = remove
528
+ @set = set
529
+ @type = type
530
+ end
531
+ end
532
+
533
+ class ItemAction < ::Stripe::RequestParams
534
+ class Add < ::Stripe::RequestParams
535
+ class Discount < ::Stripe::RequestParams
536
+ class DiscountEnd < ::Stripe::RequestParams
537
+ class Duration < ::Stripe::RequestParams
538
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
539
+ attr_accessor :interval
540
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
541
+ attr_accessor :interval_count
542
+
543
+ def initialize(interval: nil, interval_count: nil)
544
+ @interval = interval
545
+ @interval_count = interval_count
546
+ end
547
+ end
548
+ # Time span for the redeemed discount.
549
+ attr_accessor :duration
550
+ # A precise Unix timestamp for the discount to end. Must be in the future.
551
+ attr_accessor :timestamp
552
+ # The type of calculation made to determine when the discount ends.
553
+ attr_accessor :type
554
+
555
+ def initialize(duration: nil, timestamp: nil, type: nil)
556
+ @duration = duration
557
+ @timestamp = timestamp
558
+ @type = type
559
+ end
560
+ end
561
+ # ID of the coupon to create a new discount for.
562
+ attr_accessor :coupon
563
+ # ID of an existing discount on the object (or one of its ancestors) to reuse.
564
+ attr_accessor :discount
565
+ # Details to determine how long the discount should be applied for.
566
+ attr_accessor :discount_end
567
+ # ID of the promotion code to create a new discount for.
568
+ attr_accessor :promotion_code
569
+
570
+ def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
571
+ @coupon = coupon
572
+ @discount = discount
573
+ @discount_end = discount_end
574
+ @promotion_code = promotion_code
575
+ end
576
+ end
577
+
578
+ class Trial < ::Stripe::RequestParams
579
+ # 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.
580
+ attr_accessor :converts_to
581
+ # Determines the type of trial for this item.
582
+ attr_accessor :type
583
+
584
+ def initialize(converts_to: nil, type: nil)
585
+ @converts_to = converts_to
586
+ @type = type
587
+ end
588
+ end
589
+ # The discounts applied to the item. Subscription item discounts are applied before subscription discounts.
590
+ attr_accessor :discounts
591
+ # 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`.
592
+ attr_accessor :metadata
593
+ # The ID of the price object.
594
+ attr_accessor :price
595
+ # Quantity for this item.
596
+ attr_accessor :quantity
597
+ # 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`.
598
+ attr_accessor :tax_rates
599
+ # Options that configure the trial on the subscription item.
600
+ attr_accessor :trial
601
+ # The ID of the trial offer to apply to the configuration item.
602
+ attr_accessor :trial_offer
603
+
604
+ def initialize(
605
+ discounts: nil,
606
+ metadata: nil,
607
+ price: nil,
608
+ quantity: nil,
609
+ tax_rates: nil,
610
+ trial: nil,
611
+ trial_offer: nil
612
+ )
613
+ @discounts = discounts
614
+ @metadata = metadata
615
+ @price = price
616
+ @quantity = quantity
617
+ @tax_rates = tax_rates
618
+ @trial = trial
619
+ @trial_offer = trial_offer
620
+ end
621
+ end
622
+
623
+ class Remove < ::Stripe::RequestParams
624
+ # ID of a price to remove.
625
+ attr_accessor :price
626
+
627
+ def initialize(price: nil)
628
+ @price = price
629
+ end
630
+ end
631
+
632
+ class Set < ::Stripe::RequestParams
633
+ class Discount < ::Stripe::RequestParams
634
+ class DiscountEnd < ::Stripe::RequestParams
635
+ class Duration < ::Stripe::RequestParams
636
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
637
+ attr_accessor :interval
638
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
639
+ attr_accessor :interval_count
640
+
641
+ def initialize(interval: nil, interval_count: nil)
642
+ @interval = interval
643
+ @interval_count = interval_count
644
+ end
645
+ end
646
+ # Time span for the redeemed discount.
647
+ attr_accessor :duration
648
+ # A precise Unix timestamp for the discount to end. Must be in the future.
649
+ attr_accessor :timestamp
650
+ # The type of calculation made to determine when the discount ends.
651
+ attr_accessor :type
652
+
653
+ def initialize(duration: nil, timestamp: nil, type: nil)
654
+ @duration = duration
655
+ @timestamp = timestamp
656
+ @type = type
657
+ end
658
+ end
659
+ # ID of the coupon to create a new discount for.
660
+ attr_accessor :coupon
661
+ # ID of an existing discount on the object (or one of its ancestors) to reuse.
662
+ attr_accessor :discount
663
+ # Details to determine how long the discount should be applied for.
664
+ attr_accessor :discount_end
665
+ # ID of the promotion code to create a new discount for.
666
+ attr_accessor :promotion_code
667
+
668
+ def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
669
+ @coupon = coupon
670
+ @discount = discount
671
+ @discount_end = discount_end
672
+ @promotion_code = promotion_code
673
+ end
674
+ end
675
+
676
+ class Trial < ::Stripe::RequestParams
677
+ # 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.
678
+ attr_accessor :converts_to
679
+ # Determines the type of trial for this item.
680
+ attr_accessor :type
681
+
682
+ def initialize(converts_to: nil, type: nil)
683
+ @converts_to = converts_to
684
+ @type = type
685
+ end
686
+ end
687
+ # 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`.
688
+ attr_accessor :discounts
689
+ # 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`.
690
+ attr_accessor :metadata
691
+ # The ID of the price object.
692
+ attr_accessor :price
693
+ # 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`.
694
+ attr_accessor :quantity
695
+ # 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`.
696
+ attr_accessor :tax_rates
697
+ # 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`.
698
+ attr_accessor :trial
699
+ # The ID of the trial offer to apply to the configuration item.
700
+ attr_accessor :trial_offer
701
+
702
+ def initialize(
703
+ discounts: nil,
704
+ metadata: nil,
705
+ price: nil,
706
+ quantity: nil,
707
+ tax_rates: nil,
708
+ trial: nil,
709
+ trial_offer: nil
710
+ )
711
+ @discounts = discounts
712
+ @metadata = metadata
713
+ @price = price
714
+ @quantity = quantity
715
+ @tax_rates = tax_rates
716
+ @trial = trial
717
+ @trial_offer = trial_offer
718
+ end
719
+ end
720
+ # Details of the subscription item to add. If an item with the same `price` exists, it will be replaced by this new item. Otherwise, it adds the new item.
721
+ attr_accessor :add
722
+ # Details of the subscription item to remove.
723
+ attr_accessor :remove
724
+ # Details of the subscription item to replace the existing items with. If an item with the `set[price]` already exists, the `items` array is not cleared. Instead, all of the other `set` properties that are passed in this request will replace the existing values for the configuration item.
725
+ attr_accessor :set
726
+ # Determines the type of item action.
727
+ attr_accessor :type
728
+
729
+ def initialize(add: nil, remove: nil, set: nil, type: nil)
730
+ @add = add
731
+ @remove = remove
732
+ @set = set
733
+ @type = type
734
+ end
735
+ end
736
+
737
+ class MetadataAction < ::Stripe::RequestParams
738
+ # Key-value pairs to add to schedule phase metadata. These values will merge with existing schedule phase metadata.
739
+ attr_accessor :add
740
+ # Keys to remove from schedule phase metadata.
741
+ attr_accessor :remove
742
+ # Key-value pairs to set as schedule phase metadata. Existing schedule phase metadata will be overwritten.
743
+ attr_accessor :set
744
+ # Select one of three ways to update phase-level `metadata` on subscription schedules.
745
+ attr_accessor :type
746
+
747
+ def initialize(add: nil, remove: nil, set: nil, type: nil)
748
+ @add = add
749
+ @remove = remove
750
+ @set = set
751
+ @type = type
752
+ end
753
+ end
754
+
755
+ class SetPauseCollection < ::Stripe::RequestParams
756
+ class Set < ::Stripe::RequestParams
757
+ # The payment collection behavior for this subscription while paused. One of `keep_as_draft`, `mark_uncollectible`, or `void`.
758
+ attr_accessor :behavior
759
+
760
+ def initialize(behavior: nil)
761
+ @behavior = behavior
762
+ end
763
+ end
764
+ # Details of the pause_collection behavior to apply to the amendment.
765
+ attr_accessor :set
766
+ # Determines the type of the pause_collection amendment.
767
+ attr_accessor :type
768
+
769
+ def initialize(set: nil, type: nil)
770
+ @set = set
771
+ @type = type
772
+ end
773
+ end
774
+
775
+ class TrialSettings < ::Stripe::RequestParams
776
+ class EndBehavior < ::Stripe::RequestParams
777
+ # Configure how an opt-in following a paid trial is billed when using `billing_behavior: prorate_up_front`.
778
+ attr_accessor :prorate_up_front
779
+
780
+ def initialize(prorate_up_front: nil)
781
+ @prorate_up_front = prorate_up_front
782
+ end
783
+ end
784
+ # Defines how the subscription should behave when a trial ends.
785
+ attr_accessor :end_behavior
786
+
787
+ def initialize(end_behavior: nil)
788
+ @end_behavior = end_behavior
789
+ end
790
+ end
791
+ # Details to identify the end of the time range modified by the proposed change. If not supplied, the amendment is considered a point-in-time operation that only affects the exact timestamp at `amendment_start`, and a restricted set of attributes is supported on the amendment.
792
+ attr_accessor :amendment_end
793
+ # Details to identify the earliest timestamp where the proposed change should take effect.
794
+ attr_accessor :amendment_start
795
+ # For point-in-time amendments (having no `amendment_end`), this attribute lets you set or remove whether the subscription's billing cycle anchor is reset at the `amendment_start` timestamp.For time-span based amendments (having both `amendment_start` and `amendment_end`), the only value valid is `automatic`, which removes any previously configured billing cycle anchor resets scheduled to occur during the window of time spanned by the amendment.
796
+ attr_accessor :billing_cycle_anchor
797
+ # Changes to the coupons being redeemed or discounts being applied during the amendment time span.
798
+ attr_accessor :discount_actions
799
+ # Changes to the subscription items during the amendment time span.
800
+ attr_accessor :item_actions
801
+ # Instructions for how to modify phase metadata
802
+ attr_accessor :metadata_actions
803
+ # Changes to how Stripe handles prorations during the amendment time span. Affects if and how prorations are created when a future phase starts. In cases where the amendment changes the currently active phase, it is used to determine whether or how to prorate now, at the time of the request. Also supported as a point-in-time operation when `amendment_end` is `null`.
804
+ attr_accessor :proration_behavior
805
+ # Defines how to pause collection for the underlying subscription throughout the duration of the amendment.
806
+ attr_accessor :set_pause_collection
807
+ # Ends the subscription schedule early as dictated by either the accompanying amendment's start or end.
808
+ attr_accessor :set_schedule_end
809
+ # Settings related to subscription trials.
810
+ attr_accessor :trial_settings
811
+ # Actions to apply to the billing schedules.
812
+ attr_accessor :billing_schedules_actions
813
+ # 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.
814
+ attr_accessor :effective_at
815
+
816
+ def initialize(
817
+ amendment_end: nil,
818
+ amendment_start: nil,
819
+ billing_cycle_anchor: nil,
820
+ discount_actions: nil,
821
+ item_actions: nil,
822
+ metadata_actions: nil,
823
+ proration_behavior: nil,
824
+ set_pause_collection: nil,
825
+ set_schedule_end: nil,
826
+ trial_settings: nil,
827
+ billing_schedules_actions: nil,
828
+ effective_at: nil
829
+ )
830
+ @amendment_end = amendment_end
831
+ @amendment_start = amendment_start
832
+ @billing_cycle_anchor = billing_cycle_anchor
833
+ @discount_actions = discount_actions
834
+ @item_actions = item_actions
835
+ @metadata_actions = metadata_actions
836
+ @proration_behavior = proration_behavior
837
+ @set_pause_collection = set_pause_collection
838
+ @set_schedule_end = set_schedule_end
839
+ @trial_settings = trial_settings
840
+ @billing_schedules_actions = billing_schedules_actions
841
+ @effective_at = effective_at
842
+ end
843
+ end
844
+
298
845
  class BillingMode < ::Stripe::RequestParams
299
846
  class Flexible < ::Stripe::RequestParams
300
847
  # Controls how invoices and invoice items display proration amounts and discount amounts.
@@ -315,19 +862,99 @@ module Stripe
315
862
  end
316
863
  end
317
864
 
865
+ class BillingSchedule < ::Stripe::RequestParams
866
+ class AppliesTo < ::Stripe::RequestParams
867
+ # The ID of the price object.
868
+ attr_accessor :price
869
+ # Controls which subscription items the billing schedule applies to.
870
+ attr_accessor :type
871
+
872
+ def initialize(price: nil, type: nil)
873
+ @price = price
874
+ @type = type
875
+ end
876
+ end
877
+
878
+ class BillUntil < ::Stripe::RequestParams
879
+ class Duration < ::Stripe::RequestParams
880
+ # Specifies billing duration. Either `day`, `week`, `month` or `year`.
881
+ attr_accessor :interval
882
+ # The multiplier applied to the interval.
883
+ attr_accessor :interval_count
884
+
885
+ def initialize(interval: nil, interval_count: nil)
886
+ @interval = interval
887
+ @interval_count = interval_count
888
+ end
889
+ end
890
+ # Specifies the billing period.
891
+ attr_accessor :duration
892
+ # The end date of the billing schedule.
893
+ attr_accessor :timestamp
894
+ # Describes how the billing schedule will determine the end date. Either `duration` or `timestamp`.
895
+ attr_accessor :type
896
+
897
+ def initialize(duration: nil, timestamp: nil, type: nil)
898
+ @duration = duration
899
+ @timestamp = timestamp
900
+ @type = type
901
+ end
902
+ end
903
+ # Configure billing schedule differently for individual subscription items.
904
+ attr_accessor :applies_to
905
+ # The end date for the billing schedule.
906
+ attr_accessor :bill_until
907
+ # 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.
908
+ attr_accessor :key
909
+
910
+ def initialize(applies_to: nil, bill_until: nil, key: nil)
911
+ @applies_to = applies_to
912
+ @bill_until = bill_until
913
+ @key = key
914
+ end
915
+ end
916
+
318
917
  class Phase < ::Stripe::RequestParams
319
918
  class AddInvoiceItem < ::Stripe::RequestParams
320
919
  class Discount < ::Stripe::RequestParams
920
+ class DiscountEnd < ::Stripe::RequestParams
921
+ class Duration < ::Stripe::RequestParams
922
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
923
+ attr_accessor :interval
924
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
925
+ attr_accessor :interval_count
926
+
927
+ def initialize(interval: nil, interval_count: nil)
928
+ @interval = interval
929
+ @interval_count = interval_count
930
+ end
931
+ end
932
+ # Time span for the redeemed discount.
933
+ attr_accessor :duration
934
+ # A precise Unix timestamp for the discount to end. Must be in the future.
935
+ attr_accessor :timestamp
936
+ # The type of calculation made to determine when the discount ends.
937
+ attr_accessor :type
938
+
939
+ def initialize(duration: nil, timestamp: nil, type: nil)
940
+ @duration = duration
941
+ @timestamp = timestamp
942
+ @type = type
943
+ end
944
+ end
321
945
  # ID of the coupon to create a new discount for.
322
946
  attr_accessor :coupon
323
947
  # ID of an existing discount on the object (or one of its ancestors) to reuse.
324
948
  attr_accessor :discount
949
+ # Details to determine how long the discount should be applied for.
950
+ attr_accessor :discount_end
325
951
  # ID of the promotion code to create a new discount for.
326
952
  attr_accessor :promotion_code
327
953
 
328
- def initialize(coupon: nil, discount: nil, promotion_code: nil)
954
+ def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
329
955
  @coupon = coupon
330
956
  @discount = discount
957
+ @discount_end = discount_end
331
958
  @promotion_code = promotion_code
332
959
  end
333
960
  end
@@ -463,16 +1090,44 @@ module Stripe
463
1090
  end
464
1091
 
465
1092
  class Discount < ::Stripe::RequestParams
1093
+ class DiscountEnd < ::Stripe::RequestParams
1094
+ class Duration < ::Stripe::RequestParams
1095
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
1096
+ attr_accessor :interval
1097
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
1098
+ attr_accessor :interval_count
1099
+
1100
+ def initialize(interval: nil, interval_count: nil)
1101
+ @interval = interval
1102
+ @interval_count = interval_count
1103
+ end
1104
+ end
1105
+ # Time span for the redeemed discount.
1106
+ attr_accessor :duration
1107
+ # A precise Unix timestamp for the discount to end. Must be in the future.
1108
+ attr_accessor :timestamp
1109
+ # The type of calculation made to determine when the discount ends.
1110
+ attr_accessor :type
1111
+
1112
+ def initialize(duration: nil, timestamp: nil, type: nil)
1113
+ @duration = duration
1114
+ @timestamp = timestamp
1115
+ @type = type
1116
+ end
1117
+ end
466
1118
  # ID of the coupon to create a new discount for.
467
1119
  attr_accessor :coupon
468
1120
  # ID of an existing discount on the object (or one of its ancestors) to reuse.
469
1121
  attr_accessor :discount
1122
+ # Details to determine how long the discount should be applied for.
1123
+ attr_accessor :discount_end
470
1124
  # ID of the promotion code to create a new discount for.
471
1125
  attr_accessor :promotion_code
472
1126
 
473
- def initialize(coupon: nil, discount: nil, promotion_code: nil)
1127
+ def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
474
1128
  @coupon = coupon
475
1129
  @discount = discount
1130
+ @discount_end = discount_end
476
1131
  @promotion_code = promotion_code
477
1132
  end
478
1133
  end
@@ -526,16 +1181,44 @@ module Stripe
526
1181
  end
527
1182
 
528
1183
  class Discount < ::Stripe::RequestParams
1184
+ class DiscountEnd < ::Stripe::RequestParams
1185
+ class Duration < ::Stripe::RequestParams
1186
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
1187
+ attr_accessor :interval
1188
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
1189
+ attr_accessor :interval_count
1190
+
1191
+ def initialize(interval: nil, interval_count: nil)
1192
+ @interval = interval
1193
+ @interval_count = interval_count
1194
+ end
1195
+ end
1196
+ # Time span for the redeemed discount.
1197
+ attr_accessor :duration
1198
+ # A precise Unix timestamp for the discount to end. Must be in the future.
1199
+ attr_accessor :timestamp
1200
+ # The type of calculation made to determine when the discount ends.
1201
+ attr_accessor :type
1202
+
1203
+ def initialize(duration: nil, timestamp: nil, type: nil)
1204
+ @duration = duration
1205
+ @timestamp = timestamp
1206
+ @type = type
1207
+ end
1208
+ end
529
1209
  # ID of the coupon to create a new discount for.
530
1210
  attr_accessor :coupon
531
1211
  # ID of an existing discount on the object (or one of its ancestors) to reuse.
532
1212
  attr_accessor :discount
1213
+ # Details to determine how long the discount should be applied for.
1214
+ attr_accessor :discount_end
533
1215
  # ID of the promotion code to create a new discount for.
534
1216
  attr_accessor :promotion_code
535
1217
 
536
- def initialize(coupon: nil, discount: nil, promotion_code: nil)
1218
+ def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
537
1219
  @coupon = coupon
538
1220
  @discount = discount
1221
+ @discount_end = discount_end
539
1222
  @promotion_code = promotion_code
540
1223
  end
541
1224
  end
@@ -581,6 +1264,18 @@ module Stripe
581
1264
  @unit_amount_decimal = unit_amount_decimal
582
1265
  end
583
1266
  end
1267
+
1268
+ class Trial < ::Stripe::RequestParams
1269
+ # 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.
1270
+ attr_accessor :converts_to
1271
+ # Determines the type of trial for this item.
1272
+ attr_accessor :type
1273
+
1274
+ def initialize(converts_to: nil, type: nil)
1275
+ @converts_to = converts_to
1276
+ @type = type
1277
+ end
1278
+ end
584
1279
  # Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds.
585
1280
  attr_accessor :billing_thresholds
586
1281
  # The coupons to redeem into discounts for the subscription item.
@@ -597,6 +1292,10 @@ module Stripe
597
1292
  attr_accessor :quantity
598
1293
  # A list of [Tax Rate](https://stripe.com/docs/api/tax_rates) ids. These Tax Rates will override the [`default_tax_rates`](https://stripe.com/docs/api/subscriptions/create#create_subscription-default_tax_rates) on the Subscription. When updating, pass an empty string to remove previously-defined tax rates.
599
1294
  attr_accessor :tax_rates
1295
+ # Options that configure the trial on the subscription item.
1296
+ attr_accessor :trial
1297
+ # The ID of the trial offer to apply to the configuration item.
1298
+ attr_accessor :trial_offer
600
1299
 
601
1300
  def initialize(
602
1301
  billing_thresholds: nil,
@@ -606,7 +1305,9 @@ module Stripe
606
1305
  price: nil,
607
1306
  price_data: nil,
608
1307
  quantity: nil,
609
- tax_rates: nil
1308
+ tax_rates: nil,
1309
+ trial: nil,
1310
+ trial_offer: nil
610
1311
  )
611
1312
  @billing_thresholds = billing_thresholds
612
1313
  @discounts = discounts
@@ -616,6 +1317,17 @@ module Stripe
616
1317
  @price_data = price_data
617
1318
  @quantity = quantity
618
1319
  @tax_rates = tax_rates
1320
+ @trial = trial
1321
+ @trial_offer = trial_offer
1322
+ end
1323
+ end
1324
+
1325
+ class PauseCollection < ::Stripe::RequestParams
1326
+ # The payment collection behavior for this subscription while paused. One of `keep_as_draft`, `mark_uncollectible`, or `void`.
1327
+ attr_accessor :behavior
1328
+
1329
+ def initialize(behavior: nil)
1330
+ @behavior = behavior
619
1331
  end
620
1332
  end
621
1333
 
@@ -630,6 +1342,23 @@ module Stripe
630
1342
  @destination = destination
631
1343
  end
632
1344
  end
1345
+
1346
+ class TrialSettings < ::Stripe::RequestParams
1347
+ class EndBehavior < ::Stripe::RequestParams
1348
+ # Configure how an opt-in following a paid trial is billed when using `billing_behavior: prorate_up_front`.
1349
+ attr_accessor :prorate_up_front
1350
+
1351
+ def initialize(prorate_up_front: nil)
1352
+ @prorate_up_front = prorate_up_front
1353
+ end
1354
+ end
1355
+ # Defines how the subscription should behave when a trial ends.
1356
+ attr_accessor :end_behavior
1357
+
1358
+ def initialize(end_behavior: nil)
1359
+ @end_behavior = end_behavior
1360
+ end
1361
+ end
633
1362
  # A list of prices and quantities that will generate invoice items appended to the next invoice for this phase. You may pass up to 20 items.
634
1363
  attr_accessor :add_invoice_items
635
1364
  # A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions).
@@ -664,6 +1393,8 @@ module Stripe
664
1393
  attr_accessor :metadata
665
1394
  # The account on behalf of which to charge, for each of the associated subscription's invoices.
666
1395
  attr_accessor :on_behalf_of
1396
+ # If specified, payment collection for this subscription will be paused. Note that the subscription status will be unchanged and will not be updated to `paused`. Learn more about [pausing collection](https://stripe.com/docs/billing/subscriptions/pause-payment).
1397
+ attr_accessor :pause_collection
667
1398
  # Controls whether the subscription schedule should create [prorations](https://stripe.com/docs/billing/subscriptions/prorations) when transitioning to this phase if there is a difference in billing configuration. It's different from the request-level [proration_behavior](https://stripe.com/docs/api/subscription_schedules/update#update_subscription_schedule-proration_behavior) parameter which controls what happens if the update request affects the billing configuration (item price, quantity, etc.) of the current phase.
668
1399
  attr_accessor :proration_behavior
669
1400
  # The date at which this phase of the subscription schedule starts or `now`. Must be set on the first phase.
@@ -672,8 +1403,14 @@ module Stripe
672
1403
  attr_accessor :transfer_data
673
1404
  # If set to true the entire phase is counted as a trial and the customer will not be charged for any fees.
674
1405
  attr_accessor :trial
1406
+ # Specify trial behavior when crossing phase boundaries
1407
+ attr_accessor :trial_continuation
675
1408
  # Sets the phase to trialing from the start date to this date. Must be before the phase end date, can not be combined with `trial`
676
1409
  attr_accessor :trial_end
1410
+ # Settings related to subscription trials.
1411
+ attr_accessor :trial_settings
1412
+ # 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.
1413
+ attr_accessor :effective_at
677
1414
 
678
1415
  def initialize(
679
1416
  add_invoice_items: nil,
@@ -693,11 +1430,15 @@ module Stripe
693
1430
  items: nil,
694
1431
  metadata: nil,
695
1432
  on_behalf_of: nil,
1433
+ pause_collection: nil,
696
1434
  proration_behavior: nil,
697
1435
  start_date: nil,
698
1436
  transfer_data: nil,
699
1437
  trial: nil,
700
- trial_end: nil
1438
+ trial_continuation: nil,
1439
+ trial_end: nil,
1440
+ trial_settings: nil,
1441
+ effective_at: nil
701
1442
  )
702
1443
  @add_invoice_items = add_invoice_items
703
1444
  @application_fee_percent = application_fee_percent
@@ -716,27 +1457,101 @@ module Stripe
716
1457
  @items = items
717
1458
  @metadata = metadata
718
1459
  @on_behalf_of = on_behalf_of
1460
+ @pause_collection = pause_collection
719
1461
  @proration_behavior = proration_behavior
720
1462
  @start_date = start_date
721
1463
  @transfer_data = transfer_data
722
1464
  @trial = trial
1465
+ @trial_continuation = trial_continuation
723
1466
  @trial_end = trial_end
1467
+ @trial_settings = trial_settings
1468
+ @effective_at = effective_at
724
1469
  end
725
1470
  end
1471
+
1472
+ class Prebilling < ::Stripe::RequestParams
1473
+ class BillUntil < ::Stripe::RequestParams
1474
+ class AmendmentEnd < ::Stripe::RequestParams
1475
+ # The position of the amendment in the `amendments` array at which prebilling should end. Indexes start from 0 and must be less than the total number of supplied amendments.
1476
+ attr_accessor :index
1477
+
1478
+ def initialize(index: nil)
1479
+ @index = index
1480
+ end
1481
+ end
1482
+
1483
+ class Duration < ::Stripe::RequestParams
1484
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
1485
+ attr_accessor :interval
1486
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
1487
+ attr_accessor :interval_count
1488
+
1489
+ def initialize(interval: nil, interval_count: nil)
1490
+ @interval = interval
1491
+ @interval_count = interval_count
1492
+ end
1493
+ end
1494
+ # End the prebilled period when a specified amendment ends.
1495
+ attr_accessor :amendment_end
1496
+ # Time span for prebilling, starting from `bill_from`.
1497
+ attr_accessor :duration
1498
+ # End the prebilled period at a precise integer timestamp, starting from the Unix epoch.
1499
+ attr_accessor :timestamp
1500
+ # Select one of several ways to pass the `bill_until` value.
1501
+ attr_accessor :type
1502
+
1503
+ def initialize(amendment_end: nil, duration: nil, timestamp: nil, type: nil)
1504
+ @amendment_end = amendment_end
1505
+ @duration = duration
1506
+ @timestamp = timestamp
1507
+ @type = type
1508
+ end
1509
+ end
1510
+ # The end of the prebilled time period.
1511
+ attr_accessor :bill_until
1512
+ # This is used to determine the number of billing cycles to prebill.
1513
+ attr_accessor :iterations
1514
+
1515
+ def initialize(bill_until: nil, iterations: nil)
1516
+ @bill_until = bill_until
1517
+ @iterations = iterations
1518
+ end
1519
+ end
1520
+ # Changes to apply to the phases of the subscription schedule, in the order provided.
1521
+ attr_accessor :amendments
1522
+ # 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.
1523
+ attr_accessor :billing_behavior
726
1524
  # Controls how prorations and invoices for subscriptions are calculated and orchestrated.
727
1525
  attr_accessor :billing_mode
728
1526
  # Behavior of the subscription schedule and underlying subscription when it ends. Possible values are `release` or `cancel` with the default being `release`. `release` will end the subscription schedule and keep the underlying subscription running. `cancel` will end the subscription schedule and cancel the underlying subscription.
729
1527
  attr_accessor :end_behavior
730
1528
  # List representing phases of the subscription schedule. Each phase can be customized to have different durations, plans, and coupons. If there are multiple phases, the `end_date` of one phase will always equal the `start_date` of the next phase.
731
1529
  attr_accessor :phases
1530
+ # Provide any time periods to bill in advance.
1531
+ attr_accessor :prebilling
732
1532
  # In cases where the `schedule_details` params update the currently active phase, specifies if and how to prorate at the time of the request.
733
1533
  attr_accessor :proration_behavior
1534
+ # Sets the billing schedules for the subscription schedule.
1535
+ attr_accessor :billing_schedules
734
1536
 
735
- def initialize(billing_mode: nil, end_behavior: nil, phases: nil, proration_behavior: nil)
1537
+ def initialize(
1538
+ amendments: nil,
1539
+ billing_behavior: nil,
1540
+ billing_mode: nil,
1541
+ end_behavior: nil,
1542
+ phases: nil,
1543
+ prebilling: nil,
1544
+ proration_behavior: nil,
1545
+ billing_schedules: nil
1546
+ )
1547
+ @amendments = amendments
1548
+ @billing_behavior = billing_behavior
736
1549
  @billing_mode = billing_mode
737
1550
  @end_behavior = end_behavior
738
1551
  @phases = phases
1552
+ @prebilling = prebilling
739
1553
  @proration_behavior = proration_behavior
1554
+ @billing_schedules = billing_schedules
740
1555
  end
741
1556
  end
742
1557
 
@@ -761,6 +1576,58 @@ module Stripe
761
1576
  end
762
1577
  end
763
1578
 
1579
+ class BillingSchedule < ::Stripe::RequestParams
1580
+ class AppliesTo < ::Stripe::RequestParams
1581
+ # The ID of the price object.
1582
+ attr_accessor :price
1583
+ # Controls which subscription items the billing schedule applies to.
1584
+ attr_accessor :type
1585
+
1586
+ def initialize(price: nil, type: nil)
1587
+ @price = price
1588
+ @type = type
1589
+ end
1590
+ end
1591
+
1592
+ class BillUntil < ::Stripe::RequestParams
1593
+ class Duration < ::Stripe::RequestParams
1594
+ # Specifies billing duration. Either `day`, `week`, `month` or `year`.
1595
+ attr_accessor :interval
1596
+ # The multiplier applied to the interval.
1597
+ attr_accessor :interval_count
1598
+
1599
+ def initialize(interval: nil, interval_count: nil)
1600
+ @interval = interval
1601
+ @interval_count = interval_count
1602
+ end
1603
+ end
1604
+ # Specifies the billing period.
1605
+ attr_accessor :duration
1606
+ # The end date of the billing schedule.
1607
+ attr_accessor :timestamp
1608
+ # Describes how the billing schedule will determine the end date. Either `duration` or `timestamp`.
1609
+ attr_accessor :type
1610
+
1611
+ def initialize(duration: nil, timestamp: nil, type: nil)
1612
+ @duration = duration
1613
+ @timestamp = timestamp
1614
+ @type = type
1615
+ end
1616
+ end
1617
+ # Configure billing schedule differently for individual subscription items.
1618
+ attr_accessor :applies_to
1619
+ # The end date for the billing schedule.
1620
+ attr_accessor :bill_until
1621
+ # 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.
1622
+ attr_accessor :key
1623
+
1624
+ def initialize(applies_to: nil, bill_until: nil, key: nil)
1625
+ @applies_to = applies_to
1626
+ @bill_until = bill_until
1627
+ @key = key
1628
+ end
1629
+ end
1630
+
764
1631
  class Item < ::Stripe::RequestParams
765
1632
  class BillingThresholds < ::Stripe::RequestParams
766
1633
  # Number of units that meets the billing threshold to advance the subscription to a new billing period (e.g., it takes 10 $5 units to meet a $50 [monetary threshold](https://stripe.com/docs/api/subscriptions/update#update_subscription-billing_thresholds-amount_gte))
@@ -771,17 +1638,57 @@ module Stripe
771
1638
  end
772
1639
  end
773
1640
 
1641
+ class CurrentTrial < ::Stripe::RequestParams
1642
+ # Unix timestamp representing the end of the trial offer period. Required when the trial offer has `duration.type=timestamp`. Cannot be specified when `duration.type=relative`.
1643
+ attr_accessor :trial_end
1644
+ # The ID of the trial offer to apply to the subscription item.
1645
+ attr_accessor :trial_offer
1646
+
1647
+ def initialize(trial_end: nil, trial_offer: nil)
1648
+ @trial_end = trial_end
1649
+ @trial_offer = trial_offer
1650
+ end
1651
+ end
1652
+
774
1653
  class Discount < ::Stripe::RequestParams
1654
+ class DiscountEnd < ::Stripe::RequestParams
1655
+ class Duration < ::Stripe::RequestParams
1656
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
1657
+ attr_accessor :interval
1658
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
1659
+ attr_accessor :interval_count
1660
+
1661
+ def initialize(interval: nil, interval_count: nil)
1662
+ @interval = interval
1663
+ @interval_count = interval_count
1664
+ end
1665
+ end
1666
+ # Time span for the redeemed discount.
1667
+ attr_accessor :duration
1668
+ # A precise Unix timestamp for the discount to end. Must be in the future.
1669
+ attr_accessor :timestamp
1670
+ # The type of calculation made to determine when the discount ends.
1671
+ attr_accessor :type
1672
+
1673
+ def initialize(duration: nil, timestamp: nil, type: nil)
1674
+ @duration = duration
1675
+ @timestamp = timestamp
1676
+ @type = type
1677
+ end
1678
+ end
775
1679
  # ID of the coupon to create a new discount for.
776
1680
  attr_accessor :coupon
777
1681
  # ID of an existing discount on the object (or one of its ancestors) to reuse.
778
1682
  attr_accessor :discount
1683
+ # Details to determine how long the discount should be applied for.
1684
+ attr_accessor :discount_end
779
1685
  # ID of the promotion code to create a new discount for.
780
1686
  attr_accessor :promotion_code
781
1687
 
782
- def initialize(coupon: nil, discount: nil, promotion_code: nil)
1688
+ def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
783
1689
  @coupon = coupon
784
1690
  @discount = discount
1691
+ @discount_end = discount_end
785
1692
  @promotion_code = promotion_code
786
1693
  end
787
1694
  end
@@ -849,6 +1756,8 @@ module Stripe
849
1756
  attr_accessor :quantity
850
1757
  # A list of [Tax Rate](https://stripe.com/docs/api/tax_rates) ids. These Tax Rates will override the [`default_tax_rates`](https://stripe.com/docs/api/subscriptions/create#create_subscription-default_tax_rates) on the Subscription. When updating, pass an empty string to remove previously-defined tax rates.
851
1758
  attr_accessor :tax_rates
1759
+ # The trial offer to apply to this subscription item.
1760
+ attr_accessor :current_trial
852
1761
 
853
1762
  def initialize(
854
1763
  billing_thresholds: nil,
@@ -861,7 +1770,8 @@ module Stripe
861
1770
  price: nil,
862
1771
  price_data: nil,
863
1772
  quantity: nil,
864
- tax_rates: nil
1773
+ tax_rates: nil,
1774
+ current_trial: nil
865
1775
  )
866
1776
  @billing_thresholds = billing_thresholds
867
1777
  @clear_usage = clear_usage
@@ -874,12 +1784,24 @@ module Stripe
874
1784
  @price_data = price_data
875
1785
  @quantity = quantity
876
1786
  @tax_rates = tax_rates
1787
+ @current_trial = current_trial
1788
+ end
1789
+ end
1790
+
1791
+ class Prebilling < ::Stripe::RequestParams
1792
+ # This is used to determine the number of billing cycles to prebill.
1793
+ attr_accessor :iterations
1794
+
1795
+ def initialize(iterations: nil)
1796
+ @iterations = iterations
877
1797
  end
878
1798
  end
879
1799
  # For new subscriptions, a future timestamp to anchor the subscription's [billing cycle](https://stripe.com/docs/subscriptions/billing-cycle). This is used to determine the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices. For existing subscriptions, the value can only be set to `now` or `unchanged`.
880
1800
  attr_accessor :billing_cycle_anchor
881
1801
  # Controls how prorations and invoices for subscriptions are calculated and orchestrated.
882
1802
  attr_accessor :billing_mode
1803
+ # Sets the billing schedules for the subscription.
1804
+ attr_accessor :billing_schedules
883
1805
  # A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled using `proration_behavior`. If set during a future period, this will always cause a proration for that period.
884
1806
  attr_accessor :cancel_at
885
1807
  # Indicate whether this subscription should cancel at the end of the current period (`current_period_end`). Defaults to `false`.
@@ -890,6 +1812,8 @@ module Stripe
890
1812
  attr_accessor :default_tax_rates
891
1813
  # A list of up to 20 subscription items, each with an attached price.
892
1814
  attr_accessor :items
1815
+ # The pre-billing to apply to the subscription as a preview.
1816
+ attr_accessor :prebilling
893
1817
  # Determines how to handle [prorations](https://stripe.com/docs/billing/subscriptions/prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`.
894
1818
  attr_accessor :proration_behavior
895
1819
  # If previewing an update to a subscription, and doing proration, `subscription_details.proration_date` forces the proration to be calculated as though the update was done at the specified time. The time given must be within the current subscription period and within the current phase of the schedule backing this subscription, if the schedule exists. If set, `subscription`, and one of `subscription_details.items`, or `subscription_details.trial_end` are required. Also, `subscription_details.proration_behavior` cannot be set to 'none'.
@@ -904,11 +1828,13 @@ module Stripe
904
1828
  def initialize(
905
1829
  billing_cycle_anchor: nil,
906
1830
  billing_mode: nil,
1831
+ billing_schedules: nil,
907
1832
  cancel_at: nil,
908
1833
  cancel_at_period_end: nil,
909
1834
  cancel_now: nil,
910
1835
  default_tax_rates: nil,
911
1836
  items: nil,
1837
+ prebilling: nil,
912
1838
  proration_behavior: nil,
913
1839
  proration_date: nil,
914
1840
  resume_at: nil,
@@ -917,11 +1843,13 @@ module Stripe
917
1843
  )
918
1844
  @billing_cycle_anchor = billing_cycle_anchor
919
1845
  @billing_mode = billing_mode
1846
+ @billing_schedules = billing_schedules
920
1847
  @cancel_at = cancel_at
921
1848
  @cancel_at_period_end = cancel_at_period_end
922
1849
  @cancel_now = cancel_now
923
1850
  @default_tax_rates = default_tax_rates
924
1851
  @items = items
1852
+ @prebilling = prebilling
925
1853
  @proration_behavior = proration_behavior
926
1854
  @proration_date = proration_date
927
1855
  @resume_at = resume_at
@@ -931,10 +1859,14 @@ module Stripe
931
1859
  end
932
1860
  # Settings for automatic tax lookup for this invoice preview.
933
1861
  attr_accessor :automatic_tax
1862
+ # The identifier of the billing cadence for which you’d like to retrieve the upcoming invoice.Cannot be provided when `subscription`, `schedule`, `subscription_details` or `schedule_details` are provided.
1863
+ attr_accessor :billing_cadence
934
1864
  # The currency to preview this invoice in. Defaults to that of `customer` if not specified.
935
1865
  attr_accessor :currency
936
1866
  # The identifier of the customer whose upcoming invoice you'd like to retrieve. If `automatic_tax` is enabled then one of `customer`, `customer_details`, `subscription`, or `schedule` must be set.
937
1867
  attr_accessor :customer
1868
+ # The identifier of the account whose upcoming invoice you'd like to retrieve. If `automatic_tax` is enabled then one of `customer`, `customer_account`, `customer_details`, `subscription`, or `schedule` must be set.
1869
+ attr_accessor :customer_account
938
1870
  # Details about the customer you want to invoice or overrides for an existing customer. If `automatic_tax` is enabled then one of `customer`, `customer_details`, `subscription`, or `schedule` must be set.
939
1871
  attr_accessor :customer_details
940
1872
  # The coupons to redeem into discounts for the invoice preview. If not specified, inherits the discount from the subscription or customer. This works for both coupons directly applied to an invoice and coupons applied to a subscription. Pass an empty string to avoid inheriting any discounts.
@@ -960,8 +1892,10 @@ module Stripe
960
1892
 
961
1893
  def initialize(
962
1894
  automatic_tax: nil,
1895
+ billing_cadence: nil,
963
1896
  currency: nil,
964
1897
  customer: nil,
1898
+ customer_account: nil,
965
1899
  customer_details: nil,
966
1900
  discounts: nil,
967
1901
  expand: nil,
@@ -975,8 +1909,10 @@ module Stripe
975
1909
  subscription_details: nil
976
1910
  )
977
1911
  @automatic_tax = automatic_tax
1912
+ @billing_cadence = billing_cadence
978
1913
  @currency = currency
979
1914
  @customer = customer
1915
+ @customer_account = customer_account
980
1916
  @customer_details = customer_details
981
1917
  @discounts = discounts
982
1918
  @expand = expand