stripe 18.0.0 → 18.1.0.pre.alpha.2

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