stripe 19.2.0 → 19.3.0.pre.beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (537) hide show
  1. checksums.yaml +4 -4
  2. data/lib/stripe/api_requestor.rb +36 -3
  3. data/lib/stripe/api_version.rb +1 -2
  4. data/lib/stripe/errors.rb +87 -0
  5. data/lib/stripe/event_types.rb +228 -0
  6. data/lib/stripe/events/unknown_event_notification.rb +1 -0
  7. data/lib/stripe/events/v2_core_account_including_configuration_storer_capability_status_updated_event.rb +63 -0
  8. data/lib/stripe/events/v2_core_account_including_configuration_storer_updated_event.rb +44 -0
  9. data/lib/stripe/events/v2_core_batch_job_batch_failed_event.rb +44 -0
  10. data/lib/stripe/events/v2_core_batch_job_canceled_event.rb +44 -0
  11. data/lib/stripe/events/v2_core_batch_job_completed_event.rb +44 -0
  12. data/lib/stripe/events/v2_core_batch_job_created_event.rb +44 -0
  13. data/lib/stripe/events/v2_core_batch_job_ready_for_upload_event.rb +44 -0
  14. data/lib/stripe/events/v2_core_batch_job_timeout_event.rb +44 -0
  15. data/lib/stripe/events/v2_core_batch_job_updated_event.rb +44 -0
  16. data/lib/stripe/events/v2_core_batch_job_upload_timeout_event.rb +44 -0
  17. data/lib/stripe/events/v2_core_batch_job_validating_event.rb +44 -0
  18. data/lib/stripe/events/v2_core_batch_job_validation_failed_event.rb +44 -0
  19. data/lib/stripe/events/v2_core_health_event_generation_failure_resolved_event.rb +78 -0
  20. data/lib/stripe/events/v2_data_reporting_query_run_created_event.rb +44 -0
  21. data/lib/stripe/events/v2_data_reporting_query_run_failed_event.rb +44 -0
  22. data/lib/stripe/events/v2_data_reporting_query_run_succeeded_event.rb +44 -0
  23. data/lib/stripe/events/v2_data_reporting_query_run_updated_event.rb +44 -0
  24. data/lib/stripe/events/v2_extend_workflow_run_failed_event.rb +75 -0
  25. data/lib/stripe/events/v2_extend_workflow_run_started_event.rb +44 -0
  26. data/lib/stripe/events/v2_extend_workflow_run_succeeded_event.rb +44 -0
  27. data/lib/stripe/events/v2_money_management_adjustment_created_event.rb +44 -0
  28. data/lib/stripe/events/v2_money_management_financial_account_created_event.rb +44 -0
  29. data/lib/stripe/events/v2_money_management_financial_account_updated_event.rb +44 -0
  30. data/lib/stripe/events/v2_money_management_financial_address_activated_event.rb +44 -0
  31. data/lib/stripe/events/v2_money_management_financial_address_failed_event.rb +44 -0
  32. data/lib/stripe/events/v2_money_management_inbound_transfer_available_event.rb +61 -0
  33. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_failed_event.rb +44 -0
  34. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_processing_event.rb +44 -0
  35. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_queued_event.rb +44 -0
  36. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_returned_event.rb +44 -0
  37. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_succeeded_event.rb +44 -0
  38. data/lib/stripe/events/v2_money_management_outbound_payment_canceled_event.rb +44 -0
  39. data/lib/stripe/events/v2_money_management_outbound_payment_created_event.rb +44 -0
  40. data/lib/stripe/events/v2_money_management_outbound_payment_failed_event.rb +44 -0
  41. data/lib/stripe/events/v2_money_management_outbound_payment_posted_event.rb +44 -0
  42. data/lib/stripe/events/v2_money_management_outbound_payment_returned_event.rb +44 -0
  43. data/lib/stripe/events/v2_money_management_outbound_payment_updated_event.rb +44 -0
  44. data/lib/stripe/events/v2_money_management_outbound_transfer_canceled_event.rb +44 -0
  45. data/lib/stripe/events/v2_money_management_outbound_transfer_created_event.rb +44 -0
  46. data/lib/stripe/events/v2_money_management_outbound_transfer_failed_event.rb +44 -0
  47. data/lib/stripe/events/v2_money_management_outbound_transfer_posted_event.rb +44 -0
  48. data/lib/stripe/events/v2_money_management_outbound_transfer_returned_event.rb +44 -0
  49. data/lib/stripe/events/v2_money_management_outbound_transfer_updated_event.rb +44 -0
  50. data/lib/stripe/events/v2_money_management_payout_method_created_event.rb +44 -0
  51. data/lib/stripe/events/v2_money_management_payout_method_updated_event.rb +44 -0
  52. data/lib/stripe/events/v2_money_management_received_credit_available_event.rb +61 -0
  53. data/lib/stripe/events/v2_money_management_received_credit_failed_event.rb +44 -0
  54. data/lib/stripe/events/v2_money_management_received_credit_returned_event.rb +44 -0
  55. data/lib/stripe/events/v2_money_management_received_credit_succeeded_event.rb +44 -0
  56. data/lib/stripe/events/v2_money_management_received_debit_canceled_event.rb +44 -0
  57. data/lib/stripe/events/v2_money_management_received_debit_failed_event.rb +44 -0
  58. data/lib/stripe/events/v2_money_management_received_debit_pending_event.rb +44 -0
  59. data/lib/stripe/events/v2_money_management_received_debit_succeeded_event.rb +44 -0
  60. data/lib/stripe/events/v2_money_management_received_debit_updated_event.rb +44 -0
  61. data/lib/stripe/events/v2_money_management_transaction_created_event.rb +63 -0
  62. data/lib/stripe/events/v2_money_management_transaction_updated_event.rb +44 -0
  63. data/lib/stripe/events/v2_orchestrated_commerce_agreement_confirmed_event.rb +97 -0
  64. data/lib/stripe/events/v2_orchestrated_commerce_agreement_created_event.rb +97 -0
  65. data/lib/stripe/events/v2_orchestrated_commerce_agreement_partially_confirmed_event.rb +97 -0
  66. data/lib/stripe/events/v2_orchestrated_commerce_agreement_terminated_event.rb +97 -0
  67. data/lib/stripe/object_types.rb +61 -0
  68. data/lib/stripe/params/account_create_params.rb +374 -1
  69. data/lib/stripe/params/account_notice_list_params.rb +25 -0
  70. data/lib/stripe/params/account_notice_retrieve_params.rb +13 -0
  71. data/lib/stripe/params/account_notice_update_params.rb +36 -0
  72. data/lib/stripe/params/account_session_create_params.rb +226 -1
  73. data/lib/stripe/params/account_update_params.rb +336 -0
  74. data/lib/stripe/params/billing/analytics/meter_usage_retrieve_params.rb +65 -0
  75. data/lib/stripe/params/capital/financing_offer_list_params.rb +58 -0
  76. data/lib/stripe/params/capital/financing_offer_mark_delivered_params.rb +15 -0
  77. data/lib/stripe/params/capital/financing_offer_retrieve_params.rb +15 -0
  78. data/lib/stripe/params/capital/financing_summary_retrieve_params.rb +15 -0
  79. data/lib/stripe/params/capital/financing_transaction_list_params.rb +45 -0
  80. data/lib/stripe/params/capital/financing_transaction_retrieve_params.rb +15 -0
  81. data/lib/stripe/params/charge_capture_params.rb +1646 -0
  82. data/lib/stripe/params/charge_update_params.rb +1646 -0
  83. data/lib/stripe/params/checkout/session_create_params.rb +126 -3
  84. data/lib/stripe/params/checkout/session_update_params.rb +176 -1
  85. data/lib/stripe/params/confirmation_token_create_params.rb +78 -0
  86. data/lib/stripe/params/coupon_create_params.rb +17 -1
  87. data/lib/stripe/params/customer_session_create_params.rb +32 -1
  88. data/lib/stripe/params/dispute_update_params.rb +10 -1
  89. data/lib/stripe/params/external_account_create_params.rb +134 -0
  90. data/lib/stripe/params/external_account_delete_params.rb +6 -0
  91. data/lib/stripe/params/external_account_list_params.rb +25 -0
  92. data/lib/stripe/params/external_account_retrieve_params.rb +13 -0
  93. data/lib/stripe/params/external_account_update_params.rb +91 -0
  94. data/lib/stripe/params/financial_connections/account_inferred_balance_list_params.rb +24 -0
  95. data/lib/stripe/params/financial_connections/authorization_retrieve_params.rb +15 -0
  96. data/lib/stripe/params/financial_connections/institution_list_params.rb +24 -0
  97. data/lib/stripe/params/financial_connections/institution_retrieve_params.rb +15 -0
  98. data/lib/stripe/params/financial_connections/session_create_params.rb +64 -2
  99. data/lib/stripe/params/fx_quote_create_params.rb +73 -0
  100. data/lib/stripe/params/fx_quote_list_params.rb +22 -0
  101. data/lib/stripe/params/fx_quote_retrieve_params.rb +13 -0
  102. data/lib/stripe/params/invoice_add_lines_params.rb +48 -1
  103. data/lib/stripe/params/invoice_attach_payment_params.rb +43 -1
  104. data/lib/stripe/params/invoice_create_params.rb +70 -2
  105. data/lib/stripe/params/invoice_create_preview_params.rb +790 -9
  106. data/lib/stripe/params/invoice_detach_payment_params.rb +16 -0
  107. data/lib/stripe/params/invoice_item_create_params.rb +33 -1
  108. data/lib/stripe/params/invoice_item_update_params.rb +33 -1
  109. data/lib/stripe/params/invoice_line_item_update_params.rb +48 -1
  110. data/lib/stripe/params/invoice_update_lines_params.rb +48 -1
  111. data/lib/stripe/params/invoice_update_params.rb +70 -2
  112. data/lib/stripe/params/issuing/cardholder_create_params.rb +2 -1
  113. data/lib/stripe/params/issuing/credit_underwriting_record_correct_params.rb +163 -0
  114. data/lib/stripe/params/issuing/credit_underwriting_record_create_from_application_params.rb +50 -0
  115. data/lib/stripe/params/issuing/credit_underwriting_record_create_from_proactive_review_params.rb +128 -0
  116. data/lib/stripe/params/issuing/credit_underwriting_record_list_params.rb +24 -0
  117. data/lib/stripe/params/issuing/credit_underwriting_record_report_decision_params.rb +86 -0
  118. data/lib/stripe/params/issuing/credit_underwriting_record_retrieve_params.rb +15 -0
  119. data/lib/stripe/params/issuing/dispute_settlement_detail_list_params.rb +33 -0
  120. data/lib/stripe/params/issuing/dispute_settlement_detail_retrieve_params.rb +15 -0
  121. data/lib/stripe/params/issuing/fraud_liability_debit_list_params.rb +44 -0
  122. data/lib/stripe/params/issuing/fraud_liability_debit_retrieve_params.rb +15 -0
  123. data/lib/stripe/params/issuing/transaction_list_params.rb +4 -0
  124. data/lib/stripe/params/mandate_list_params.rb +39 -0
  125. data/lib/stripe/params/margin_create_params.rb +25 -0
  126. data/lib/stripe/params/margin_list_params.rb +25 -0
  127. data/lib/stripe/params/margin_retrieve_params.rb +13 -0
  128. data/lib/stripe/params/margin_update_params.rb +22 -0
  129. data/lib/stripe/params/order_create_params.rb +2083 -0
  130. data/lib/stripe/params/order_list_params.rb +25 -0
  131. data/lib/stripe/params/order_retrieve_params.rb +13 -0
  132. data/lib/stripe/params/order_submit_params.rb +16 -0
  133. data/lib/stripe/params/order_update_params.rb +2087 -0
  134. data/lib/stripe/params/payment_intent_capture_params.rb +1643 -1
  135. data/lib/stripe/params/payment_intent_confirm_params.rb +3022 -87
  136. data/lib/stripe/params/payment_intent_create_params.rb +3034 -99
  137. data/lib/stripe/params/payment_intent_decrement_authorization_params.rb +297 -0
  138. data/lib/stripe/params/payment_intent_increment_authorization_params.rb +37 -0
  139. data/lib/stripe/params/payment_intent_trigger_action_params.rb +27 -0
  140. data/lib/stripe/params/payment_intent_update_params.rb +3023 -57
  141. data/lib/stripe/params/payment_link_create_params.rb +15 -0
  142. data/lib/stripe/params/payment_method_configuration_create_params.rb +105 -0
  143. data/lib/stripe/params/payment_method_configuration_update_params.rb +105 -0
  144. data/lib/stripe/params/payment_method_create_params.rb +74 -0
  145. data/lib/stripe/params/plan_create_params.rb +15 -0
  146. data/lib/stripe/params/price_create_params.rb +15 -0
  147. data/lib/stripe/params/price_update_params.rb +19 -0
  148. data/lib/stripe/params/privacy/redaction_job_cancel_params.rb +15 -0
  149. data/lib/stripe/params/privacy/redaction_job_create_params.rb +67 -0
  150. data/lib/stripe/params/privacy/redaction_job_list_params.rb +27 -0
  151. data/lib/stripe/params/privacy/redaction_job_retrieve_params.rb +15 -0
  152. data/lib/stripe/params/privacy/redaction_job_run_params.rb +15 -0
  153. data/lib/stripe/params/privacy/redaction_job_update_params.rb +18 -0
  154. data/lib/stripe/params/privacy/redaction_job_validate_params.rb +15 -0
  155. data/lib/stripe/params/privacy/redaction_job_validation_error_list_params.rb +24 -0
  156. data/lib/stripe/params/product_catalog/trial_offer_create_params.rb +63 -0
  157. data/lib/stripe/params/product_create_params.rb +16 -0
  158. data/lib/stripe/params/product_update_params.rb +16 -0
  159. data/lib/stripe/params/quote_create_params.rb +809 -3
  160. data/lib/stripe/params/quote_line_list_params.rb +22 -0
  161. data/lib/stripe/params/quote_list_lines_params.rb +22 -0
  162. data/lib/stripe/params/quote_list_params.rb +4 -0
  163. data/lib/stripe/params/quote_list_preview_invoice_lines_params.rb +22 -0
  164. data/lib/stripe/params/quote_mark_draft_params.rb +13 -0
  165. data/lib/stripe/params/quote_mark_stale_params.rb +16 -0
  166. data/lib/stripe/params/quote_preview_invoice_list_params.rb +22 -0
  167. data/lib/stripe/params/quote_preview_subscription_schedule_list_params.rb +22 -0
  168. data/lib/stripe/params/quote_reestimate_params.rb +13 -0
  169. data/lib/stripe/params/quote_update_params.rb +817 -4
  170. data/lib/stripe/params/reserve/hold_list_params.rb +53 -0
  171. data/lib/stripe/params/reserve/hold_retrieve_params.rb +15 -0
  172. data/lib/stripe/params/reserve/plan_retrieve_params.rb +15 -0
  173. data/lib/stripe/params/reserve/release_list_params.rb +41 -0
  174. data/lib/stripe/params/reserve/release_retrieve_params.rb +15 -0
  175. data/lib/stripe/params/setup_intent_confirm_params.rb +108 -3
  176. data/lib/stripe/params/setup_intent_create_params.rb +108 -3
  177. data/lib/stripe/params/setup_intent_update_params.rb +108 -3
  178. data/lib/stripe/params/shared_payment/granted_token_create_params.rb +47 -0
  179. data/lib/stripe/params/shared_payment/granted_token_retrieve_params.rb +15 -0
  180. data/lib/stripe/params/shared_payment/granted_token_revoke_params.rb +15 -0
  181. data/lib/stripe/params/shared_payment/issued_token_create_params.rb +67 -0
  182. data/lib/stripe/params/shared_payment/issued_token_retrieve_params.rb +15 -0
  183. data/lib/stripe/params/shared_payment/issued_token_revoke_params.rb +15 -0
  184. data/lib/stripe/params/subscription_create_params.rb +170 -6
  185. data/lib/stripe/params/subscription_item_create_params.rb +62 -2
  186. data/lib/stripe/params/subscription_item_update_params.rb +45 -1
  187. data/lib/stripe/params/subscription_pause_params.rb +50 -0
  188. data/lib/stripe/params/subscription_resume_params.rb +4 -0
  189. data/lib/stripe/params/subscription_schedule_amend_params.rb +578 -0
  190. data/lib/stripe/params/subscription_schedule_create_params.rb +167 -5
  191. data/lib/stripe/params/subscription_schedule_update_params.rb +167 -5
  192. data/lib/stripe/params/subscription_update_params.rb +153 -5
  193. data/lib/stripe/params/tax/calculation_create_params.rb +4 -0
  194. data/lib/stripe/params/tax/form_list_params.rb +51 -0
  195. data/lib/stripe/params/tax/form_pdf_params.rb +15 -0
  196. data/lib/stripe/params/tax/form_retrieve_params.rb +15 -0
  197. data/lib/stripe/params/tax/location_create_params.rb +54 -0
  198. data/lib/stripe/params/tax/location_list_params.rb +27 -0
  199. data/lib/stripe/params/tax/location_retrieve_params.rb +15 -0
  200. data/lib/stripe/params/tax/registration_create_params.rb +104 -0
  201. data/lib/stripe/params/terminal/configuration_create_params.rb +13 -0
  202. data/lib/stripe/params/terminal/configuration_update_params.rb +13 -0
  203. data/lib/stripe/params/terminal/reader_collected_data_retrieve_params.rb +15 -0
  204. data/lib/stripe/params/test_helpers/confirmation_token_create_params.rb +78 -0
  205. data/lib/stripe/params/test_helpers/shared_payment/granted_token_create_params.rb +49 -0
  206. data/lib/stripe/params/test_helpers/shared_payment/granted_token_revoke_params.rb +17 -0
  207. data/lib/stripe/params/test_helpers/treasury/received_credit_create_params.rb +25 -1
  208. data/lib/stripe/params/test_helpers/treasury/received_debit_create_params.rb +25 -1
  209. data/lib/stripe/params/transfer_create_params.rb +4 -0
  210. data/lib/stripe/params/treasury/financial_account_create_params.rb +8 -1
  211. data/lib/stripe/params/treasury/financial_account_features_update_params.rb +4 -1
  212. data/lib/stripe/params/treasury/financial_account_update_features_params.rb +4 -1
  213. data/lib/stripe/params/treasury/financial_account_update_params.rb +8 -1
  214. data/lib/stripe/params/treasury/outbound_payment_create_params.rb +4 -0
  215. data/lib/stripe/params/treasury/outbound_transfer_create_params.rb +24 -0
  216. data/lib/stripe/params/treasury/received_credit_create_params.rb +25 -1
  217. data/lib/stripe/params/treasury/received_debit_create_params.rb +25 -1
  218. data/lib/stripe/params/v2/billing/bill_setting_create_params.rb +74 -0
  219. data/lib/stripe/params/v2/billing/bill_setting_list_params.rb +21 -0
  220. data/lib/stripe/params/v2/billing/bill_setting_retrieve_params.rb +10 -0
  221. data/lib/stripe/params/v2/billing/bill_setting_update_params.rb +80 -0
  222. data/lib/stripe/params/v2/billing/bill_settings/version_list_params.rb +19 -0
  223. data/lib/stripe/params/v2/billing/bill_settings/version_retrieve_params.rb +12 -0
  224. data/lib/stripe/params/v2/billing/cadence_cancel_params.rb +10 -0
  225. data/lib/stripe/params/v2/billing/cadence_create_params.rb +253 -0
  226. data/lib/stripe/params/v2/billing/cadence_list_params.rb +43 -0
  227. data/lib/stripe/params/v2/billing/cadence_retrieve_params.rb +17 -0
  228. data/lib/stripe/params/v2/billing/cadence_update_params.rb +75 -0
  229. data/lib/stripe/params/v2/billing/collection_setting_create_params.rb +257 -0
  230. data/lib/stripe/params/v2/billing/collection_setting_list_params.rb +21 -0
  231. data/lib/stripe/params/v2/billing/collection_setting_retrieve_params.rb +10 -0
  232. data/lib/stripe/params/v2/billing/collection_setting_update_params.rb +263 -0
  233. data/lib/stripe/params/v2/billing/collection_settings/version_list_params.rb +19 -0
  234. data/lib/stripe/params/v2/billing/collection_settings/version_retrieve_params.rb +12 -0
  235. data/lib/stripe/params/v2/billing/profile_create_params.rb +37 -0
  236. data/lib/stripe/params/v2/billing/profile_list_params.rb +40 -0
  237. data/lib/stripe/params/v2/billing/profile_retrieve_params.rb +10 -0
  238. data/lib/stripe/params/v2/billing/profile_update_params.rb +35 -0
  239. data/lib/stripe/params/v2/core/account_create_params.rb +282 -5
  240. data/lib/stripe/params/v2/core/account_token_create_params.rb +13 -1
  241. data/lib/stripe/params/v2/core/account_update_params.rb +274 -4
  242. data/lib/stripe/params/v2/core/batch_job_cancel_params.rb +10 -0
  243. data/lib/stripe/params/v2/core/batch_job_create_params.rb +58 -0
  244. data/lib/stripe/params/v2/core/batch_job_retrieve_params.rb +10 -0
  245. data/lib/stripe/params/v2/core/vault/gb_bank_account_acknowledge_confirmation_of_payee_params.rb +12 -0
  246. data/lib/stripe/params/v2/core/vault/gb_bank_account_archive_params.rb +12 -0
  247. data/lib/stripe/params/v2/core/vault/gb_bank_account_create_params.rb +58 -0
  248. data/lib/stripe/params/v2/core/vault/gb_bank_account_initiate_confirmation_of_payee_params.rb +22 -0
  249. data/lib/stripe/params/v2/core/vault/gb_bank_account_list_params.rb +19 -0
  250. data/lib/stripe/params/v2/core/vault/gb_bank_account_retrieve_params.rb +12 -0
  251. data/lib/stripe/params/v2/core/vault/us_bank_account_archive_params.rb +12 -0
  252. data/lib/stripe/params/v2/core/vault/us_bank_account_confirm_microdeposits_params.rb +22 -0
  253. data/lib/stripe/params/v2/core/vault/us_bank_account_create_params.rb +37 -0
  254. data/lib/stripe/params/v2/core/vault/us_bank_account_list_params.rb +22 -0
  255. data/lib/stripe/params/v2/core/vault/us_bank_account_retrieve_params.rb +12 -0
  256. data/lib/stripe/params/v2/core/vault/us_bank_account_send_microdeposits_params.rb +12 -0
  257. data/lib/stripe/params/v2/core/vault/us_bank_account_update_params.rb +22 -0
  258. data/lib/stripe/params/v2/data/reporting/query_run_create_params.rb +31 -0
  259. data/lib/stripe/params/v2/data/reporting/query_run_retrieve_params.rb +12 -0
  260. data/lib/stripe/params/v2/extend/workflow_invoke_params.rb +17 -0
  261. data/lib/stripe/params/v2/extend/workflow_list_params.rb +21 -0
  262. data/lib/stripe/params/v2/extend/workflow_retrieve_params.rb +10 -0
  263. data/lib/stripe/params/v2/extend/workflow_run_list_params.rb +23 -0
  264. data/lib/stripe/params/v2/extend/workflow_run_retrieve_params.rb +10 -0
  265. data/lib/stripe/params/v2/iam/activity_log_list_params.rb +23 -0
  266. data/lib/stripe/params/v2/iam/activity_log_retrieve_params.rb +10 -0
  267. data/lib/stripe/params/v2/money_management/adjustment_list_params.rb +48 -0
  268. data/lib/stripe/params/v2/money_management/adjustment_retrieve_params.rb +10 -0
  269. data/lib/stripe/params/v2/money_management/financial_account_close_params.rb +28 -0
  270. data/lib/stripe/params/v2/money_management/financial_account_create_params.rb +34 -0
  271. data/lib/stripe/params/v2/money_management/financial_account_list_params.rb +20 -0
  272. data/lib/stripe/params/v2/money_management/financial_account_retrieve_params.rb +10 -0
  273. data/lib/stripe/params/v2/money_management/financial_account_update_params.rb +20 -0
  274. data/lib/stripe/params/v2/money_management/financial_address_create_params.rb +20 -0
  275. data/lib/stripe/params/v2/money_management/financial_address_list_params.rb +23 -0
  276. data/lib/stripe/params/v2/money_management/financial_address_retrieve_params.rb +17 -0
  277. data/lib/stripe/params/v2/money_management/inbound_transfer_create_params.rb +50 -0
  278. data/lib/stripe/params/v2/money_management/inbound_transfer_list_params.rb +44 -0
  279. data/lib/stripe/params/v2/money_management/inbound_transfer_retrieve_params.rb +10 -0
  280. data/lib/stripe/params/v2/money_management/outbound_payment_cancel_params.rb +10 -0
  281. data/lib/stripe/params/v2/money_management/outbound_payment_create_params.rb +102 -0
  282. data/lib/stripe/params/v2/money_management/outbound_payment_list_params.rb +52 -0
  283. data/lib/stripe/params/v2/money_management/outbound_payment_quote_create_params.rb +67 -0
  284. data/lib/stripe/params/v2/money_management/outbound_payment_quote_retrieve_params.rb +10 -0
  285. data/lib/stripe/params/v2/money_management/outbound_payment_retrieve_params.rb +10 -0
  286. data/lib/stripe/params/v2/money_management/outbound_setup_intent_cancel_params.rb +10 -0
  287. data/lib/stripe/params/v2/money_management/outbound_setup_intent_create_params.rb +92 -0
  288. data/lib/stripe/params/v2/money_management/outbound_setup_intent_list_params.rb +17 -0
  289. data/lib/stripe/params/v2/money_management/outbound_setup_intent_retrieve_params.rb +10 -0
  290. data/lib/stripe/params/v2/money_management/outbound_setup_intent_update_params.rb +88 -0
  291. data/lib/stripe/params/v2/money_management/outbound_transfer_cancel_params.rb +10 -0
  292. data/lib/stripe/params/v2/money_management/outbound_transfer_create_params.rb +77 -0
  293. data/lib/stripe/params/v2/money_management/outbound_transfer_list_params.rb +48 -0
  294. data/lib/stripe/params/v2/money_management/outbound_transfer_retrieve_params.rb +10 -0
  295. data/lib/stripe/params/v2/money_management/payout_method_archive_params.rb +10 -0
  296. data/lib/stripe/params/v2/money_management/payout_method_list_params.rb +31 -0
  297. data/lib/stripe/params/v2/money_management/payout_method_retrieve_params.rb +10 -0
  298. data/lib/stripe/params/v2/money_management/payout_method_unarchive_params.rb +10 -0
  299. data/lib/stripe/params/v2/money_management/payout_methods_bank_account_spec_retrieve_params.rb +17 -0
  300. data/lib/stripe/params/v2/money_management/received_credit_list_params.rb +44 -0
  301. data/lib/stripe/params/v2/money_management/received_credit_retrieve_params.rb +10 -0
  302. data/lib/stripe/params/v2/money_management/received_debit_list_params.rb +17 -0
  303. data/lib/stripe/params/v2/money_management/received_debit_retrieve_params.rb +10 -0
  304. data/lib/stripe/params/v2/money_management/transaction_entry_list_params.rb +43 -0
  305. data/lib/stripe/params/v2/money_management/transaction_entry_retrieve_params.rb +10 -0
  306. data/lib/stripe/params/v2/money_management/transaction_list_params.rb +47 -0
  307. data/lib/stripe/params/v2/money_management/transaction_retrieve_params.rb +10 -0
  308. data/lib/stripe/params/v2/network/business_profile_me_params.rb +10 -0
  309. data/lib/stripe/params/v2/network/business_profile_retrieve_params.rb +10 -0
  310. data/lib/stripe/params/v2/orchestrated_commerce/agreement_confirm_params.rb +10 -0
  311. data/lib/stripe/params/v2/orchestrated_commerce/agreement_create_params.rb +17 -0
  312. data/lib/stripe/params/v2/orchestrated_commerce/agreement_list_params.rb +20 -0
  313. data/lib/stripe/params/v2/orchestrated_commerce/agreement_retrieve_params.rb +10 -0
  314. data/lib/stripe/params/v2/orchestrated_commerce/agreement_terminate_params.rb +10 -0
  315. data/lib/stripe/params/v2/test_helpers/financial_address_credit_params.rb +23 -0
  316. data/lib/stripe/params/v2/test_helpers/financial_address_generate_microdeposits_params.rb +10 -0
  317. data/lib/stripe/params.rb +426 -0
  318. data/lib/stripe/resources/account.rb +259 -1
  319. data/lib/stripe/resources/account_notice.rb +94 -0
  320. data/lib/stripe/resources/account_session.rb +81 -0
  321. data/lib/stripe/resources/balance.rb +83 -0
  322. data/lib/stripe/resources/billing/alert_triggered.rb +4 -0
  323. data/lib/stripe/resources/billing/analytics/meter_usage.rb +33 -0
  324. data/lib/stripe/resources/billing/analytics/meter_usage_row.rb +38 -0
  325. data/lib/stripe/resources/capital/financing_offer.rb +142 -0
  326. data/lib/stripe/resources/capital/financing_summary.rb +82 -0
  327. data/lib/stripe/resources/capital/financing_transaction.rb +99 -0
  328. data/lib/stripe/resources/card.rb +2 -0
  329. data/lib/stripe/resources/charge.rb +211 -1
  330. data/lib/stripe/resources/checkout/session.rb +75 -3
  331. data/lib/stripe/resources/confirmation_token.rb +131 -0
  332. data/lib/stripe/resources/coupon.rb +26 -1
  333. data/lib/stripe/resources/credit_note_line_item.rb +18 -0
  334. data/lib/stripe/resources/customer_session.rb +36 -0
  335. data/lib/stripe/resources/dispute.rb +22 -0
  336. data/lib/stripe/resources/event.rb +64 -1
  337. data/lib/stripe/resources/financial_connections/account.rb +57 -0
  338. data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +35 -0
  339. data/lib/stripe/resources/financial_connections/authorization.rb +82 -0
  340. data/lib/stripe/resources/financial_connections/institution.rb +127 -0
  341. data/lib/stripe/resources/financial_connections/session.rb +125 -1
  342. data/lib/stripe/resources/fx_quote.rb +147 -0
  343. data/lib/stripe/resources/invoice.rb +117 -1
  344. data/lib/stripe/resources/invoice_item.rb +2 -0
  345. data/lib/stripe/resources/invoice_line_item.rb +40 -0
  346. data/lib/stripe/resources/issuing/credit_underwriting_record.rb +263 -0
  347. data/lib/stripe/resources/issuing/dispute_settlement_detail.rb +71 -0
  348. data/lib/stripe/resources/issuing/fraud_liability_debit.rb +51 -0
  349. data/lib/stripe/resources/issuing/settlement.rb +61 -0
  350. data/lib/stripe/resources/issuing/transaction.rb +2 -0
  351. data/lib/stripe/resources/line_item.rb +42 -0
  352. data/lib/stripe/resources/mandate.rb +12 -0
  353. data/lib/stripe/resources/margin.rb +64 -0
  354. data/lib/stripe/resources/order.rb +927 -0
  355. data/lib/stripe/resources/payment_attempt_record.rb +177 -1
  356. data/lib/stripe/resources/payment_intent.rb +1561 -8
  357. data/lib/stripe/resources/payment_method.rb +135 -0
  358. data/lib/stripe/resources/payment_method_configuration.rb +170 -0
  359. data/lib/stripe/resources/payment_record.rb +177 -1
  360. data/lib/stripe/resources/price.rb +20 -0
  361. data/lib/stripe/resources/privacy/redaction_job.rb +189 -0
  362. data/lib/stripe/resources/privacy/redaction_job_validation_error.rb +49 -0
  363. data/lib/stripe/resources/product.rb +18 -0
  364. data/lib/stripe/resources/product_catalog/trial_offer.rb +106 -0
  365. data/lib/stripe/resources/quote.rb +569 -2
  366. data/lib/stripe/resources/quote_line.rb +525 -0
  367. data/lib/stripe/resources/quote_preview_invoice.rb +1183 -0
  368. data/lib/stripe/resources/quote_preview_subscription_schedule.rb +736 -0
  369. data/lib/stripe/resources/refund.rb +18 -0
  370. data/lib/stripe/resources/reserve/hold.rb +7 -0
  371. data/lib/stripe/resources/reserve/release.rb +12 -0
  372. data/lib/stripe/resources/setup_attempt.rb +35 -0
  373. data/lib/stripe/resources/setup_intent.rb +22 -1
  374. data/lib/stripe/resources/shared_payment/granted_token.rb +1792 -0
  375. data/lib/stripe/resources/shared_payment/issued_token.rb +291 -0
  376. data/lib/stripe/resources/source.rb +38 -0
  377. data/lib/stripe/resources/subscription.rb +167 -0
  378. data/lib/stripe/resources/subscription_item.rb +41 -1
  379. data/lib/stripe/resources/subscription_schedule.rb +198 -3
  380. data/lib/stripe/resources/tax/calculation_line_item.rb +2 -0
  381. data/lib/stripe/resources/tax/form.rb +264 -0
  382. data/lib/stripe/resources/tax/location.rb +72 -0
  383. data/lib/stripe/resources/tax/registration.rb +128 -0
  384. data/lib/stripe/resources/tax_code.rb +15 -1
  385. data/lib/stripe/resources/terminal/configuration.rb +16 -0
  386. data/lib/stripe/resources/terminal/reader.rb +8 -0
  387. data/lib/stripe/resources/terminal/reader_collected_data.rb +47 -0
  388. data/lib/stripe/resources/transfer.rb +2 -0
  389. data/lib/stripe/resources/treasury/financial_account.rb +2 -0
  390. data/lib/stripe/resources/treasury/financial_account_features.rb +2 -0
  391. data/lib/stripe/resources/treasury/outbound_payment.rb +2 -0
  392. data/lib/stripe/resources/treasury/outbound_transfer.rb +30 -0
  393. data/lib/stripe/resources/treasury/received_credit.rb +30 -0
  394. data/lib/stripe/resources/treasury/received_debit.rb +32 -0
  395. data/lib/stripe/resources/v2/billing/bill_setting.rb +102 -0
  396. data/lib/stripe/resources/v2/billing/bill_setting_version.rb +91 -0
  397. data/lib/stripe/resources/v2/billing/cadence.rb +710 -0
  398. data/lib/stripe/resources/v2/billing/collection_setting.rb +327 -0
  399. data/lib/stripe/resources/v2/billing/collection_setting_version.rb +316 -0
  400. data/lib/stripe/resources/v2/billing/profile.rb +47 -0
  401. data/lib/stripe/resources/v2/core/account.rb +597 -3
  402. data/lib/stripe/resources/v2/core/batch_job.rb +488 -0
  403. data/lib/stripe/resources/v2/core/event_notification.rb +1 -0
  404. data/lib/stripe/resources/v2/core/vault/gb_bank_account.rb +136 -0
  405. data/lib/stripe/resources/v2/core/vault/us_bank_account.rb +105 -0
  406. data/lib/stripe/resources/v2/data/reporting/query_run.rb +142 -0
  407. data/lib/stripe/resources/v2/extend/workflow.rb +80 -0
  408. data/lib/stripe/resources/v2/extend/workflow_run.rb +158 -0
  409. data/lib/stripe/resources/v2/financial_address_credit_simulation.rb +29 -0
  410. data/lib/stripe/resources/v2/financial_address_generated_microdeposits.rb +31 -0
  411. data/lib/stripe/resources/v2/iam/activity_log.rb +187 -0
  412. data/lib/stripe/resources/v2/money_management/adjustment.rb +67 -0
  413. data/lib/stripe/resources/v2/money_management/financial_account.rb +140 -0
  414. data/lib/stripe/resources/v2/money_management/financial_address.rb +160 -0
  415. data/lib/stripe/resources/v2/money_management/inbound_transfer.rb +181 -0
  416. data/lib/stripe/resources/v2/money_management/outbound_payment.rb +219 -0
  417. data/lib/stripe/resources/v2/money_management/outbound_payment_quote.rb +144 -0
  418. data/lib/stripe/resources/v2/money_management/outbound_setup_intent.rb +69 -0
  419. data/lib/stripe/resources/v2/money_management/outbound_transfer.rb +196 -0
  420. data/lib/stripe/resources/v2/money_management/payout_method.rb +145 -0
  421. data/lib/stripe/resources/v2/money_management/payout_methods_bank_account_spec.rb +83 -0
  422. data/lib/stripe/resources/v2/money_management/received_credit.rb +230 -0
  423. data/lib/stripe/resources/v2/money_management/received_debit.rb +136 -0
  424. data/lib/stripe/resources/v2/money_management/transaction.rb +135 -0
  425. data/lib/stripe/resources/v2/money_management/transaction_entry.rb +105 -0
  426. data/lib/stripe/resources/v2/network/business_profile.rb +84 -0
  427. data/lib/stripe/resources/v2/orchestrated_commerce/agreement.rb +93 -0
  428. data/lib/stripe/resources.rb +417 -0
  429. data/lib/stripe/services/account_notice_service.rb +39 -0
  430. data/lib/stripe/services/account_service.rb +15 -0
  431. data/lib/stripe/services/billing/analytics/meter_usage_service.rb +21 -0
  432. data/lib/stripe/services/billing/analytics_service.rb +15 -0
  433. data/lib/stripe/services/billing_service.rb +2 -1
  434. data/lib/stripe/services/capital/financing_offer_service.rb +42 -0
  435. data/lib/stripe/services/capital/financing_summary_service.rb +19 -0
  436. data/lib/stripe/services/capital/financing_transaction_service.rb +31 -0
  437. data/lib/stripe/services/capital_service.rb +15 -0
  438. data/lib/stripe/services/coupon_service.rb +14 -0
  439. data/lib/stripe/services/customer_service.rb +15 -0
  440. data/lib/stripe/services/external_account_service.rb +68 -0
  441. data/lib/stripe/services/financial_connections/account_inferred_balance_service.rb +19 -0
  442. data/lib/stripe/services/financial_connections/account_service.rb +3 -1
  443. data/lib/stripe/services/financial_connections/authorization_service.rb +19 -0
  444. data/lib/stripe/services/financial_connections/institution_service.rb +30 -0
  445. data/lib/stripe/services/financial_connections_service.rb +3 -1
  446. data/lib/stripe/services/fx_quote_service.rb +27 -0
  447. data/lib/stripe/services/invoice_service.rb +11 -0
  448. data/lib/stripe/services/issuing/credit_underwriting_record_service.rb +74 -0
  449. data/lib/stripe/services/issuing/dispute_settlement_detail_service.rb +30 -0
  450. data/lib/stripe/services/issuing/fraud_liability_debit_service.rb +30 -0
  451. data/lib/stripe/services/issuing_service.rb +5 -1
  452. data/lib/stripe/services/mandate_service.rb +5 -0
  453. data/lib/stripe/services/margin_service.rb +50 -0
  454. data/lib/stripe/services/order_service.rb +53 -0
  455. data/lib/stripe/services/payment_intent_service.rb +37 -0
  456. data/lib/stripe/services/privacy/redaction_job_service.rb +104 -0
  457. data/lib/stripe/services/privacy/redaction_job_validation_error_service.rb +19 -0
  458. data/lib/stripe/services/privacy_service.rb +13 -0
  459. data/lib/stripe/services/product_catalog/trial_offer_service.rb +19 -0
  460. data/lib/stripe/services/product_catalog_service.rb +13 -0
  461. data/lib/stripe/services/promotion_code_service.rb +29 -0
  462. data/lib/stripe/services/quote_line_service.rb +17 -0
  463. data/lib/stripe/services/quote_preview_invoice_service.rb +17 -0
  464. data/lib/stripe/services/quote_preview_subscription_schedule_service.rb +17 -0
  465. data/lib/stripe/services/quote_service.rb +49 -1
  466. data/lib/stripe/services/reserve/hold_service.rb +30 -0
  467. data/lib/stripe/services/reserve/plan_service.rb +19 -0
  468. data/lib/stripe/services/reserve/release_service.rb +30 -0
  469. data/lib/stripe/services/reserve_service.rb +15 -0
  470. data/lib/stripe/services/shared_payment/granted_token_service.rb +19 -0
  471. data/lib/stripe/services/shared_payment/issued_token_service.rb +41 -0
  472. data/lib/stripe/services/shared_payment_service.rb +14 -0
  473. data/lib/stripe/services/subscription_schedule_service.rb +11 -0
  474. data/lib/stripe/services/subscription_service.rb +56 -0
  475. data/lib/stripe/services/tax/form_service.rb +37 -0
  476. data/lib/stripe/services/tax/location_service.rb +45 -0
  477. data/lib/stripe/services/tax_service.rb +3 -1
  478. data/lib/stripe/services/terminal/reader_collected_data_service.rb +19 -0
  479. data/lib/stripe/services/terminal_service.rb +2 -1
  480. data/lib/stripe/services/test_helpers/shared_payment/granted_token_service.rb +32 -0
  481. data/lib/stripe/services/test_helpers/shared_payment_service.rb +15 -0
  482. data/lib/stripe/services/test_helpers_service.rb +2 -1
  483. data/lib/stripe/services/v1_services.rb +11 -1
  484. data/lib/stripe/services/v2/billing/bill_setting_service.rb +61 -0
  485. data/lib/stripe/services/v2/billing/bill_settings/version_service.rb +34 -0
  486. data/lib/stripe/services/v2/billing/cadence_service.rb +65 -0
  487. data/lib/stripe/services/v2/billing/collection_setting_service.rb +69 -0
  488. data/lib/stripe/services/v2/billing/collection_settings/version_service.rb +34 -0
  489. data/lib/stripe/services/v2/billing/profile_service.rb +54 -0
  490. data/lib/stripe/services/v2/billing_service.rb +5 -1
  491. data/lib/stripe/services/v2/core/batch_job_service.rb +43 -0
  492. data/lib/stripe/services/v2/core/vault/gb_bank_account_service.rb +85 -0
  493. data/lib/stripe/services/v2/core/vault/us_bank_account_service.rb +101 -0
  494. data/lib/stripe/services/v2/core/vault_service.rb +18 -0
  495. data/lib/stripe/services/v2/core_service.rb +3 -1
  496. data/lib/stripe/services/v2/data/reporting/query_run_service.rb +35 -0
  497. data/lib/stripe/services/v2/data/reporting_service.rb +17 -0
  498. data/lib/stripe/services/v2/data_service.rb +15 -0
  499. data/lib/stripe/services/v2/extend/workflow_run_service.rb +32 -0
  500. data/lib/stripe/services/v2/extend/workflow_service.rb +45 -0
  501. data/lib/stripe/services/v2/extend_service.rb +16 -0
  502. data/lib/stripe/services/v2/iam/activity_log_service.rb +32 -0
  503. data/lib/stripe/services/v2/iam_service.rb +15 -0
  504. data/lib/stripe/services/v2/money_management/adjustment_service.rb +32 -0
  505. data/lib/stripe/services/v2/money_management/financial_account_service.rb +70 -0
  506. data/lib/stripe/services/v2/money_management/financial_address_service.rb +46 -0
  507. data/lib/stripe/services/v2/money_management/inbound_transfer_service.rb +45 -0
  508. data/lib/stripe/services/v2/money_management/outbound_payment_quote_service.rb +34 -0
  509. data/lib/stripe/services/v2/money_management/outbound_payment_service.rb +62 -0
  510. data/lib/stripe/services/v2/money_management/outbound_setup_intent_service.rb +75 -0
  511. data/lib/stripe/services/v2/money_management/outbound_transfer_service.rb +60 -0
  512. data/lib/stripe/services/v2/money_management/payout_method_service.rb +66 -0
  513. data/lib/stripe/services/v2/money_management/payout_methods_bank_account_spec_service.rb +23 -0
  514. data/lib/stripe/services/v2/money_management/received_credit_service.rb +32 -0
  515. data/lib/stripe/services/v2/money_management/received_debit_service.rb +32 -0
  516. data/lib/stripe/services/v2/money_management/transaction_entry_service.rb +32 -0
  517. data/lib/stripe/services/v2/money_management/transaction_service.rb +32 -0
  518. data/lib/stripe/services/v2/money_management_service.rb +31 -0
  519. data/lib/stripe/services/v2/network/business_profile_service.rb +32 -0
  520. data/lib/stripe/services/v2/network_service.rb +15 -0
  521. data/lib/stripe/services/v2/orchestrated_commerce/agreement_service.rb +65 -0
  522. data/lib/stripe/services/v2/orchestrated_commerce_service.rb +15 -0
  523. data/lib/stripe/services/v2/test_helper_service.rb +15 -0
  524. data/lib/stripe/services/v2/test_helpers/financial_address_service.rb +36 -0
  525. data/lib/stripe/services/v2_services.rb +8 -1
  526. data/lib/stripe/services.rb +209 -0
  527. data/lib/stripe/stripe_client.rb +8 -1
  528. data/lib/stripe/stripe_configuration.rb +3 -1
  529. data/lib/stripe/stripe_event_notification_handler.rb +582 -0
  530. data/lib/stripe/stripe_object.rb +1 -1
  531. data/lib/stripe/util.rb +7 -1
  532. data/lib/stripe/version.rb +1 -1
  533. data/lib/stripe.rb +54 -0
  534. data/rbi/stripe/resources/v2/core/event_notification.rbi +3 -0
  535. data/rbi/stripe/stripe_client.rbi +13 -0
  536. data/rbi/stripe.rbi +124159 -57389
  537. metadata +378 -3
@@ -27,16 +27,44 @@ module Stripe
27
27
  end
28
28
 
29
29
  class Discount < ::Stripe::RequestParams
30
+ class DiscountEnd < ::Stripe::RequestParams
31
+ class Duration < ::Stripe::RequestParams
32
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
33
+ attr_accessor :interval
34
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
35
+ attr_accessor :interval_count
36
+
37
+ def initialize(interval: nil, interval_count: nil)
38
+ @interval = interval
39
+ @interval_count = interval_count
40
+ end
41
+ end
42
+ # Time span for the redeemed discount.
43
+ attr_accessor :duration
44
+ # A precise Unix timestamp for the discount to end. Must be in the future.
45
+ attr_accessor :timestamp
46
+ # The type of calculation made to determine when the discount ends.
47
+ attr_accessor :type
48
+
49
+ def initialize(duration: nil, timestamp: nil, type: nil)
50
+ @duration = duration
51
+ @timestamp = timestamp
52
+ @type = type
53
+ end
54
+ end
30
55
  # ID of the coupon to create a new discount for.
31
56
  attr_accessor :coupon
32
57
  # ID of an existing discount on the object (or one of its ancestors) to reuse.
33
58
  attr_accessor :discount
59
+ # Details to determine how long the discount should be applied for.
60
+ attr_accessor :discount_end
34
61
  # ID of the promotion code to create a new discount for.
35
62
  attr_accessor :promotion_code
36
63
 
37
- def initialize(coupon: nil, discount: nil, promotion_code: nil)
64
+ def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
38
65
  @coupon = coupon
39
66
  @discount = discount
67
+ @discount_end = discount_end
40
68
  @promotion_code = promotion_code
41
69
  end
42
70
  end
@@ -76,18 +104,530 @@ module Stripe
76
104
  end
77
105
  end
78
106
 
107
+ class Line < ::Stripe::RequestParams
108
+ class Action < ::Stripe::RequestParams
109
+ class AddDiscount < ::Stripe::RequestParams
110
+ class DiscountEnd < ::Stripe::RequestParams
111
+ # The type of calculation made to determine when the discount ends.
112
+ attr_accessor :type
113
+
114
+ def initialize(type: nil)
115
+ @type = type
116
+ end
117
+ end
118
+ # The coupon code to redeem.
119
+ attr_accessor :coupon
120
+ # An ID of an existing discount for a coupon that was already redeemed.
121
+ attr_accessor :discount
122
+ # Details to determine how long the discount should be applied for.
123
+ attr_accessor :discount_end
124
+ # The index, starting at 0, at which to position the new discount. When not supplied, Stripe defaults to appending the discount to the end of the `discounts` array.
125
+ attr_accessor :index
126
+ # The promotion code to redeem.
127
+ attr_accessor :promotion_code
128
+
129
+ def initialize(
130
+ coupon: nil,
131
+ discount: nil,
132
+ discount_end: nil,
133
+ index: nil,
134
+ promotion_code: nil
135
+ )
136
+ @coupon = coupon
137
+ @discount = discount
138
+ @discount_end = discount_end
139
+ @index = index
140
+ @promotion_code = promotion_code
141
+ end
142
+ end
143
+
144
+ class AddItem < ::Stripe::RequestParams
145
+ class Discount < ::Stripe::RequestParams
146
+ class DiscountEnd < ::Stripe::RequestParams
147
+ class Duration < ::Stripe::RequestParams
148
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
149
+ attr_accessor :interval
150
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
151
+ attr_accessor :interval_count
152
+
153
+ def initialize(interval: nil, interval_count: nil)
154
+ @interval = interval
155
+ @interval_count = interval_count
156
+ end
157
+ end
158
+ # Time span for the redeemed discount.
159
+ attr_accessor :duration
160
+ # A precise Unix timestamp for the discount to end. Must be in the future.
161
+ attr_accessor :timestamp
162
+ # The type of calculation made to determine when the discount ends.
163
+ attr_accessor :type
164
+
165
+ def initialize(duration: nil, timestamp: nil, type: nil)
166
+ @duration = duration
167
+ @timestamp = timestamp
168
+ @type = type
169
+ end
170
+ end
171
+ # ID of the coupon to create a new discount for.
172
+ attr_accessor :coupon
173
+ # ID of an existing discount on the object (or one of its ancestors) to reuse.
174
+ attr_accessor :discount
175
+ # Details to determine how long the discount should be applied for.
176
+ attr_accessor :discount_end
177
+ # ID of the promotion code to create a new discount for.
178
+ attr_accessor :promotion_code
179
+
180
+ def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
181
+ @coupon = coupon
182
+ @discount = discount
183
+ @discount_end = discount_end
184
+ @promotion_code = promotion_code
185
+ end
186
+ end
187
+
188
+ class Trial < ::Stripe::RequestParams
189
+ # List of price IDs which, if present on the subscription following a paid trial, constitute opting-in to the paid trial. Currently only supports at most 1 price ID.
190
+ attr_accessor :converts_to
191
+ # Determines the type of trial for this item.
192
+ attr_accessor :type
193
+
194
+ def initialize(converts_to: nil, type: nil)
195
+ @converts_to = converts_to
196
+ @type = type
197
+ end
198
+ end
199
+ # The discounts applied to the item. Subscription item discounts are applied before subscription discounts.
200
+ attr_accessor :discounts
201
+ # Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
202
+ attr_accessor :metadata
203
+ # The ID of the price object.
204
+ attr_accessor :price
205
+ # Quantity for this item.
206
+ attr_accessor :quantity
207
+ # The tax rates that apply to this subscription item. When set, the `default_tax_rates` on the subscription do not apply to this `subscription_item`.
208
+ attr_accessor :tax_rates
209
+ # Options that configure the trial on the subscription item.
210
+ attr_accessor :trial
211
+ # The ID of the trial offer to apply to the configuration item.
212
+ attr_accessor :trial_offer
213
+
214
+ def initialize(
215
+ discounts: nil,
216
+ metadata: nil,
217
+ price: nil,
218
+ quantity: nil,
219
+ tax_rates: nil,
220
+ trial: nil,
221
+ trial_offer: nil
222
+ )
223
+ @discounts = discounts
224
+ @metadata = metadata
225
+ @price = price
226
+ @quantity = quantity
227
+ @tax_rates = tax_rates
228
+ @trial = trial
229
+ @trial_offer = trial_offer
230
+ end
231
+ end
232
+
233
+ class RemoveDiscount < ::Stripe::RequestParams
234
+ # The coupon code to remove from the `discounts` array.
235
+ attr_accessor :coupon
236
+ # The ID of a discount to remove from the `discounts` array.
237
+ attr_accessor :discount
238
+ # The ID of a promotion code to remove from the `discounts` array.
239
+ attr_accessor :promotion_code
240
+
241
+ def initialize(coupon: nil, discount: nil, promotion_code: nil)
242
+ @coupon = coupon
243
+ @discount = discount
244
+ @promotion_code = promotion_code
245
+ end
246
+ end
247
+
248
+ class RemoveItem < ::Stripe::RequestParams
249
+ # ID of a price to remove.
250
+ attr_accessor :price
251
+
252
+ def initialize(price: nil)
253
+ @price = price
254
+ end
255
+ end
256
+
257
+ class SetDiscount < ::Stripe::RequestParams
258
+ # The coupon code to replace the `discounts` array with.
259
+ attr_accessor :coupon
260
+ # An ID of an existing discount to replace the `discounts` array with.
261
+ attr_accessor :discount
262
+ # An ID of an existing promotion code to replace the `discounts` array with.
263
+ attr_accessor :promotion_code
264
+
265
+ def initialize(coupon: nil, discount: nil, promotion_code: nil)
266
+ @coupon = coupon
267
+ @discount = discount
268
+ @promotion_code = promotion_code
269
+ end
270
+ end
271
+
272
+ class SetItem < ::Stripe::RequestParams
273
+ class Discount < ::Stripe::RequestParams
274
+ class DiscountEnd < ::Stripe::RequestParams
275
+ class Duration < ::Stripe::RequestParams
276
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
277
+ attr_accessor :interval
278
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
279
+ attr_accessor :interval_count
280
+
281
+ def initialize(interval: nil, interval_count: nil)
282
+ @interval = interval
283
+ @interval_count = interval_count
284
+ end
285
+ end
286
+ # Time span for the redeemed discount.
287
+ attr_accessor :duration
288
+ # A precise Unix timestamp for the discount to end. Must be in the future.
289
+ attr_accessor :timestamp
290
+ # The type of calculation made to determine when the discount ends.
291
+ attr_accessor :type
292
+
293
+ def initialize(duration: nil, timestamp: nil, type: nil)
294
+ @duration = duration
295
+ @timestamp = timestamp
296
+ @type = type
297
+ end
298
+ end
299
+ # ID of the coupon to create a new discount for.
300
+ attr_accessor :coupon
301
+ # ID of an existing discount on the object (or one of its ancestors) to reuse.
302
+ attr_accessor :discount
303
+ # Details to determine how long the discount should be applied for.
304
+ attr_accessor :discount_end
305
+ # ID of the promotion code to create a new discount for.
306
+ attr_accessor :promotion_code
307
+
308
+ def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
309
+ @coupon = coupon
310
+ @discount = discount
311
+ @discount_end = discount_end
312
+ @promotion_code = promotion_code
313
+ end
314
+ end
315
+
316
+ class Trial < ::Stripe::RequestParams
317
+ # List of price IDs which, if present on the subscription following a paid trial, constitute opting-in to the paid trial. Currently only supports at most 1 price ID.
318
+ attr_accessor :converts_to
319
+ # Determines the type of trial for this item.
320
+ attr_accessor :type
321
+
322
+ def initialize(converts_to: nil, type: nil)
323
+ @converts_to = converts_to
324
+ @type = type
325
+ end
326
+ end
327
+ # If an item with the `price` already exists, passing this will override the `discounts` array on the subscription item that matches that price. Otherwise, the `items` array is cleared and a single new item is added with the supplied `discounts`.
328
+ attr_accessor :discounts
329
+ # If an item with the `price` already exists, passing this will override the `metadata` on the subscription item that matches that price. Otherwise, the `items` array is cleared and a single new item is added with the supplied `metadata`.
330
+ attr_accessor :metadata
331
+ # The ID of the price object.
332
+ attr_accessor :price
333
+ # If an item with the `price` already exists, passing this will override the quantity on the subscription item that matches that price. Otherwise, the `items` array is cleared and a single new item is added with the supplied `quantity`.
334
+ attr_accessor :quantity
335
+ # If an item with the `price` already exists, passing this will override the `tax_rates` array on the subscription item that matches that price. Otherwise, the `items` array is cleared and a single new item is added with the supplied `tax_rates`.
336
+ attr_accessor :tax_rates
337
+ # If an item with the `price` already exists, passing this will override the `trial` configuration on the subscription item that matches that price. Otherwise, the `items` array is cleared and a single new item is added with the supplied `trial`.
338
+ attr_accessor :trial
339
+ # The ID of the trial offer to apply to the configuration item.
340
+ attr_accessor :trial_offer
341
+
342
+ def initialize(
343
+ discounts: nil,
344
+ metadata: nil,
345
+ price: nil,
346
+ quantity: nil,
347
+ tax_rates: nil,
348
+ trial: nil,
349
+ trial_offer: nil
350
+ )
351
+ @discounts = discounts
352
+ @metadata = metadata
353
+ @price = price
354
+ @quantity = quantity
355
+ @tax_rates = tax_rates
356
+ @trial = trial
357
+ @trial_offer = trial_offer
358
+ end
359
+ end
360
+ # Details for the `add_discount` type.
361
+ attr_accessor :add_discount
362
+ # Details for the `add_item` type.
363
+ attr_accessor :add_item
364
+ # Details for the `add_metadata` type: specify a hash of key-value pairs.
365
+ attr_accessor :add_metadata
366
+ # Details for the `remove_discount` type.
367
+ attr_accessor :remove_discount
368
+ # Details for the `remove_item` type.
369
+ attr_accessor :remove_item
370
+ # Details for the `remove_metadata` type: specify an array of metadata keys.
371
+ attr_accessor :remove_metadata
372
+ # Details for the `set_discounts` type.
373
+ attr_accessor :set_discounts
374
+ # Details for the `set_items` type.
375
+ attr_accessor :set_items
376
+ # Details for the `set_metadata` type: specify an array of key-value pairs.
377
+ attr_accessor :set_metadata
378
+ # The type of action the quote line performs.
379
+ attr_accessor :type
380
+
381
+ def initialize(
382
+ add_discount: nil,
383
+ add_item: nil,
384
+ add_metadata: nil,
385
+ remove_discount: nil,
386
+ remove_item: nil,
387
+ remove_metadata: nil,
388
+ set_discounts: nil,
389
+ set_items: nil,
390
+ set_metadata: nil,
391
+ type: nil
392
+ )
393
+ @add_discount = add_discount
394
+ @add_item = add_item
395
+ @add_metadata = add_metadata
396
+ @remove_discount = remove_discount
397
+ @remove_item = remove_item
398
+ @remove_metadata = remove_metadata
399
+ @set_discounts = set_discounts
400
+ @set_items = set_items
401
+ @set_metadata = set_metadata
402
+ @type = type
403
+ end
404
+ end
405
+
406
+ class AppliesTo < ::Stripe::RequestParams
407
+ # A custom string that identifies a new subscription schedule being created upon quote acceptance. All quote lines with the same `new_reference` field will be applied to the creation of a new subscription schedule.
408
+ attr_accessor :new_reference
409
+ # The ID of the schedule the line applies to.
410
+ attr_accessor :subscription_schedule
411
+ # Describes whether the quote line is affecting a new schedule or an existing schedule.
412
+ attr_accessor :type
413
+
414
+ def initialize(new_reference: nil, subscription_schedule: nil, type: nil)
415
+ @new_reference = new_reference
416
+ @subscription_schedule = subscription_schedule
417
+ @type = type
418
+ end
419
+ end
420
+
421
+ class CancelSubscriptionSchedule < ::Stripe::RequestParams
422
+ # Timestamp helper to cancel the underlying schedule on the accompanying line's start date. Must be set to `line_starts_at`.
423
+ attr_accessor :cancel_at
424
+ # If the subscription schedule is `active`, indicates if a final invoice will be generated that contains any un-invoiced metered usage and new/pending proration invoice items. Boolean that defaults to `true`.
425
+ attr_accessor :invoice_now
426
+ # If the subscription schedule is `active`, indicates if the cancellation should be prorated. Boolean that defaults to `true`.
427
+ attr_accessor :prorate
428
+
429
+ def initialize(cancel_at: nil, invoice_now: nil, prorate: nil)
430
+ @cancel_at = cancel_at
431
+ @invoice_now = invoice_now
432
+ @prorate = prorate
433
+ end
434
+ end
435
+
436
+ class EndsAt < ::Stripe::RequestParams
437
+ class DiscountEnd < ::Stripe::RequestParams
438
+ # The ID of a specific discount.
439
+ attr_accessor :discount
440
+
441
+ def initialize(discount: nil)
442
+ @discount = discount
443
+ end
444
+ end
445
+
446
+ class Duration < ::Stripe::RequestParams
447
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
448
+ attr_accessor :interval
449
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
450
+ attr_accessor :interval_count
451
+
452
+ def initialize(interval: nil, interval_count: nil)
453
+ @interval = interval
454
+ @interval_count = interval_count
455
+ end
456
+ end
457
+ # Use the `end` time of a given discount.
458
+ attr_accessor :discount_end
459
+ # Time span for the quote line starting from the `starts_at` date.
460
+ attr_accessor :duration
461
+ # A precise Unix timestamp.
462
+ attr_accessor :timestamp
463
+ # Select a way to pass in `ends_at`.
464
+ attr_accessor :type
465
+
466
+ def initialize(discount_end: nil, duration: nil, timestamp: nil, type: nil)
467
+ @discount_end = discount_end
468
+ @duration = duration
469
+ @timestamp = timestamp
470
+ @type = type
471
+ end
472
+ end
473
+
474
+ class SetPauseCollection < ::Stripe::RequestParams
475
+ class Set < ::Stripe::RequestParams
476
+ # The payment collection behavior for this subscription while paused.
477
+ attr_accessor :behavior
478
+
479
+ def initialize(behavior: nil)
480
+ @behavior = behavior
481
+ end
482
+ end
483
+ # Details of the pause_collection behavior to apply to the amendment.
484
+ attr_accessor :set
485
+ # Determines the type of the pause_collection amendment.
486
+ attr_accessor :type
487
+
488
+ def initialize(set: nil, type: nil)
489
+ @set = set
490
+ @type = type
491
+ end
492
+ end
493
+
494
+ class StartsAt < ::Stripe::RequestParams
495
+ class DiscountEnd < ::Stripe::RequestParams
496
+ # The ID of a specific discount.
497
+ attr_accessor :discount
498
+
499
+ def initialize(discount: nil)
500
+ @discount = discount
501
+ end
502
+ end
503
+
504
+ class LineEndsAt < ::Stripe::RequestParams
505
+ # The position of the previous quote line in the `lines` array after which this line should begin. Indexes start from 0 and must be less than the index of the current line in the array.
506
+ attr_accessor :index
507
+
508
+ def initialize(index: nil)
509
+ @index = index
510
+ end
511
+ end
512
+ # Use the `end` time of a given discount.
513
+ attr_accessor :discount_end
514
+ # The timestamp the given line ends at.
515
+ attr_accessor :line_ends_at
516
+ # A precise Unix timestamp.
517
+ attr_accessor :timestamp
518
+ # Select a way to pass in `starts_at`.
519
+ attr_accessor :type
520
+
521
+ def initialize(discount_end: nil, line_ends_at: nil, timestamp: nil, type: nil)
522
+ @discount_end = discount_end
523
+ @line_ends_at = line_ends_at
524
+ @timestamp = timestamp
525
+ @type = type
526
+ end
527
+ end
528
+
529
+ class TrialSettings < ::Stripe::RequestParams
530
+ class EndBehavior < ::Stripe::RequestParams
531
+ # Configure how an opt-in following a paid trial is billed when using `billing_behavior: prorate_up_front`.
532
+ attr_accessor :prorate_up_front
533
+
534
+ def initialize(prorate_up_front: nil)
535
+ @prorate_up_front = prorate_up_front
536
+ end
537
+ end
538
+ # Defines how the subscription should behave when a trial ends.
539
+ attr_accessor :end_behavior
540
+
541
+ def initialize(end_behavior: nil)
542
+ @end_behavior = end_behavior
543
+ end
544
+ end
545
+ # An array of operations the quote line performs.
546
+ attr_accessor :actions
547
+ # Details to identify the subscription schedule the quote line applies to.
548
+ attr_accessor :applies_to
549
+ # For point-in-time quote lines (having no `ends_at` timestamp), this attribute lets you set or remove whether the subscription's billing cycle anchor is reset at the Quote Line `starts_at` timestamp.For time-span based quote lines (having both `starts_at` and `ends_at`), the only valid value is `automatic`, which removes any previously configured billing cycle anchor resets during the window of time spanning the quote line.
550
+ attr_accessor :billing_cycle_anchor
551
+ # A point-in-time operation that cancels an existing subscription schedule at the line's starts_at timestamp. Currently only compatible with `quote_acceptance_date` for `starts_at`. When using cancel_subscription_schedule, the subscription schedule on the quote remains unalterable, except for modifications to the metadata, collection_method or invoice_settings.
552
+ attr_accessor :cancel_subscription_schedule
553
+ # Details to identify the end of the time range modified by the proposed change. If not supplied, the quote line is considered a point-in-time operation that only affects the exact timestamp at `starts_at`, and a restricted set of attributes is supported on the quote line.
554
+ attr_accessor :ends_at
555
+ # Changes to how Stripe handles prorations during the quote line's time span. Affects if and how prorations are created when a future phase starts.
556
+ attr_accessor :proration_behavior
557
+ # Defines how to pause collection for the underlying subscription throughout the duration of the amendment.
558
+ attr_accessor :set_pause_collection
559
+ # Timestamp helper to end the underlying schedule early, based on the acompanying line's start or end date.
560
+ attr_accessor :set_schedule_end
561
+ # Details to identify the earliest timestamp where the proposed change should take effect.
562
+ attr_accessor :starts_at
563
+ # Settings related to subscription trials.
564
+ attr_accessor :trial_settings
565
+
566
+ def initialize(
567
+ actions: nil,
568
+ applies_to: nil,
569
+ billing_cycle_anchor: nil,
570
+ cancel_subscription_schedule: nil,
571
+ ends_at: nil,
572
+ proration_behavior: nil,
573
+ set_pause_collection: nil,
574
+ set_schedule_end: nil,
575
+ starts_at: nil,
576
+ trial_settings: nil
577
+ )
578
+ @actions = actions
579
+ @applies_to = applies_to
580
+ @billing_cycle_anchor = billing_cycle_anchor
581
+ @cancel_subscription_schedule = cancel_subscription_schedule
582
+ @ends_at = ends_at
583
+ @proration_behavior = proration_behavior
584
+ @set_pause_collection = set_pause_collection
585
+ @set_schedule_end = set_schedule_end
586
+ @starts_at = starts_at
587
+ @trial_settings = trial_settings
588
+ end
589
+ end
590
+
79
591
  class LineItem < ::Stripe::RequestParams
80
592
  class Discount < ::Stripe::RequestParams
593
+ class DiscountEnd < ::Stripe::RequestParams
594
+ class Duration < ::Stripe::RequestParams
595
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
596
+ attr_accessor :interval
597
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
598
+ attr_accessor :interval_count
599
+
600
+ def initialize(interval: nil, interval_count: nil)
601
+ @interval = interval
602
+ @interval_count = interval_count
603
+ end
604
+ end
605
+ # Time span for the redeemed discount.
606
+ attr_accessor :duration
607
+ # A precise Unix timestamp for the discount to end. Must be in the future.
608
+ attr_accessor :timestamp
609
+ # The type of calculation made to determine when the discount ends.
610
+ attr_accessor :type
611
+
612
+ def initialize(duration: nil, timestamp: nil, type: nil)
613
+ @duration = duration
614
+ @timestamp = timestamp
615
+ @type = type
616
+ end
617
+ end
81
618
  # ID of the coupon to create a new discount for.
82
619
  attr_accessor :coupon
83
620
  # ID of an existing discount on the object (or one of its ancestors) to reuse.
84
621
  attr_accessor :discount
622
+ # Details to determine how long the discount should be applied for.
623
+ attr_accessor :discount_end
85
624
  # ID of the promotion code to create a new discount for.
86
625
  attr_accessor :promotion_code
87
626
 
88
- def initialize(coupon: nil, discount: nil, promotion_code: nil)
627
+ def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
89
628
  @coupon = coupon
90
629
  @discount = discount
630
+ @discount_end = discount_end
91
631
  @promotion_code = promotion_code
92
632
  end
93
633
  end
@@ -164,6 +704,84 @@ module Stripe
164
704
  end
165
705
 
166
706
  class SubscriptionData < ::Stripe::RequestParams
707
+ class BillOnAcceptance < ::Stripe::RequestParams
708
+ class BillFrom < ::Stripe::RequestParams
709
+ class LineStartsAt < ::Stripe::RequestParams
710
+ # The ID of a quote line.
711
+ attr_accessor :id
712
+ # 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.
713
+ attr_accessor :index
714
+
715
+ def initialize(id: nil, index: nil)
716
+ @id = id
717
+ @index = index
718
+ end
719
+ end
720
+ # Details of a Quote line to start the bill period from.
721
+ attr_accessor :line_starts_at
722
+ # A precise Unix timestamp.
723
+ attr_accessor :timestamp
724
+ # The type of method to specify the `bill_from` time.
725
+ attr_accessor :type
726
+
727
+ def initialize(line_starts_at: nil, timestamp: nil, type: nil)
728
+ @line_starts_at = line_starts_at
729
+ @timestamp = timestamp
730
+ @type = type
731
+ end
732
+ end
733
+
734
+ class BillUntil < ::Stripe::RequestParams
735
+ class Duration < ::Stripe::RequestParams
736
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
737
+ attr_accessor :interval
738
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
739
+ attr_accessor :interval_count
740
+
741
+ def initialize(interval: nil, interval_count: nil)
742
+ @interval = interval
743
+ @interval_count = interval_count
744
+ end
745
+ end
746
+
747
+ class LineEndsAt < ::Stripe::RequestParams
748
+ # The ID of a quote line.
749
+ attr_accessor :id
750
+ # 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.
751
+ attr_accessor :index
752
+
753
+ def initialize(id: nil, index: nil)
754
+ @id = id
755
+ @index = index
756
+ end
757
+ end
758
+ # Details of the duration over which to bill.
759
+ attr_accessor :duration
760
+ # Details of a Quote line item from which to bill until.
761
+ attr_accessor :line_ends_at
762
+ # A precise Unix timestamp.
763
+ attr_accessor :timestamp
764
+ # The type of method to specify the `bill_until` time.
765
+ attr_accessor :type
766
+
767
+ def initialize(duration: nil, line_ends_at: nil, timestamp: nil, type: nil)
768
+ @duration = duration
769
+ @line_ends_at = line_ends_at
770
+ @timestamp = timestamp
771
+ @type = type
772
+ end
773
+ end
774
+ # The start of the period to bill from when the Quote is accepted.
775
+ attr_accessor :bill_from
776
+ # The end of the period to bill until when the Quote is accepted.
777
+ attr_accessor :bill_until
778
+
779
+ def initialize(bill_from: nil, bill_until: nil)
780
+ @bill_from = bill_from
781
+ @bill_until = bill_until
782
+ end
783
+ end
784
+
167
785
  class BillingMode < ::Stripe::RequestParams
168
786
  class Flexible < ::Stripe::RequestParams
169
787
  # Controls how invoices and invoice items display proration amounts and discount amounts.
@@ -183,32 +801,208 @@ module Stripe
183
801
  @type = type
184
802
  end
185
803
  end
804
+
805
+ class Prebilling < ::Stripe::RequestParams
806
+ # This is used to determine the number of billing cycles to prebill.
807
+ attr_accessor :iterations
808
+
809
+ def initialize(iterations: nil)
810
+ @iterations = iterations
811
+ end
812
+ end
813
+ # Describes the period to bill for upon accepting the quote.
814
+ attr_accessor :bill_on_acceptance
815
+ # 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.
816
+ attr_accessor :billing_behavior
817
+ # When specified as `reset`, the subscription will always start a new billing period when the quote is accepted.
818
+ attr_accessor :billing_cycle_anchor
186
819
  # Controls how prorations and invoices for subscriptions are calculated and orchestrated.
187
820
  attr_accessor :billing_mode
188
821
  # 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.
189
822
  attr_accessor :description
190
- # 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.
823
+ # 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.
191
824
  attr_accessor :effective_date
825
+ # Behavior of the subscription schedule and underlying subscription when it ends.
826
+ attr_accessor :end_behavior
827
+ # The id of a subscription that the quote will update. By default, the quote will contain the state of the subscription (such as line items, collection method and billing thresholds) unless overridden.
828
+ attr_accessor :from_subscription
192
829
  # Set of [key-value pairs](https://docs.stripe.com/api/metadata) that will set metadata on the subscription or subscription schedule when the quote is accepted. If a recurring price is included in `line_items`, this field will be passed to the resulting subscription's `metadata` field. If `subscription_data.effective_date` is used, this field will be passed to the resulting subscription schedule's `phases.metadata` field. Unlike object-level metadata, this field is declarative. Updates will clear prior values.
193
830
  attr_accessor :metadata
831
+ # If specified, the invoicing for the given billing cycle iterations will be processed when the quote is accepted. Cannot be used with `effective_date`.
832
+ attr_accessor :prebilling
833
+ # Determines how to handle [prorations](https://docs.stripe.com/subscriptions/billing-cycle#prorations). When creating a subscription, valid values are `create_prorations` or `none`.
834
+ #
835
+ # When updating a subscription, valid values are `create_prorations`, `none`, or `always_invoice`.
836
+ #
837
+ # Passing `create_prorations` will cause proration invoice items to be created when applicable. These proration items will only be invoiced immediately under [certain conditions](https://docs.stripe.com/subscriptions/upgrading-downgrading#immediate-payment). In order to always invoice immediately for prorations, pass `always_invoice`.
838
+ #
839
+ # Prorations can be disabled by passing `none`.
840
+ attr_accessor :proration_behavior
194
841
  # Integer representing the number of trial period days before the customer is charged for the first time.
195
842
  attr_accessor :trial_period_days
196
843
 
197
844
  def initialize(
845
+ bill_on_acceptance: nil,
846
+ billing_behavior: nil,
847
+ billing_cycle_anchor: nil,
198
848
  billing_mode: nil,
199
849
  description: nil,
200
850
  effective_date: nil,
851
+ end_behavior: nil,
852
+ from_subscription: nil,
201
853
  metadata: nil,
854
+ prebilling: nil,
855
+ proration_behavior: nil,
202
856
  trial_period_days: nil
203
857
  )
858
+ @bill_on_acceptance = bill_on_acceptance
859
+ @billing_behavior = billing_behavior
860
+ @billing_cycle_anchor = billing_cycle_anchor
204
861
  @billing_mode = billing_mode
205
862
  @description = description
206
863
  @effective_date = effective_date
864
+ @end_behavior = end_behavior
865
+ @from_subscription = from_subscription
207
866
  @metadata = metadata
867
+ @prebilling = prebilling
868
+ @proration_behavior = proration_behavior
208
869
  @trial_period_days = trial_period_days
209
870
  end
210
871
  end
211
872
 
873
+ class SubscriptionDataOverride < ::Stripe::RequestParams
874
+ class AppliesTo < ::Stripe::RequestParams
875
+ # 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.
876
+ attr_accessor :new_reference
877
+ # The ID of the schedule the line applies to.
878
+ attr_accessor :subscription_schedule
879
+ # Describes whether the quote line is affecting a new schedule or an existing schedule.
880
+ attr_accessor :type
881
+
882
+ def initialize(new_reference: nil, subscription_schedule: nil, type: nil)
883
+ @new_reference = new_reference
884
+ @subscription_schedule = subscription_schedule
885
+ @type = type
886
+ end
887
+ end
888
+
889
+ class BillOnAcceptance < ::Stripe::RequestParams
890
+ class BillFrom < ::Stripe::RequestParams
891
+ class LineStartsAt < ::Stripe::RequestParams
892
+ # The ID of a quote line.
893
+ attr_accessor :id
894
+ # 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.
895
+ attr_accessor :index
896
+
897
+ def initialize(id: nil, index: nil)
898
+ @id = id
899
+ @index = index
900
+ end
901
+ end
902
+ # Details of a Quote line to start the bill period from.
903
+ attr_accessor :line_starts_at
904
+ # A precise Unix timestamp.
905
+ attr_accessor :timestamp
906
+ # The type of method to specify the `bill_from` time.
907
+ attr_accessor :type
908
+
909
+ def initialize(line_starts_at: nil, timestamp: nil, type: nil)
910
+ @line_starts_at = line_starts_at
911
+ @timestamp = timestamp
912
+ @type = type
913
+ end
914
+ end
915
+
916
+ class BillUntil < ::Stripe::RequestParams
917
+ class Duration < ::Stripe::RequestParams
918
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
919
+ attr_accessor :interval
920
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
921
+ attr_accessor :interval_count
922
+
923
+ def initialize(interval: nil, interval_count: nil)
924
+ @interval = interval
925
+ @interval_count = interval_count
926
+ end
927
+ end
928
+
929
+ class LineEndsAt < ::Stripe::RequestParams
930
+ # The ID of a quote line.
931
+ attr_accessor :id
932
+ # 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.
933
+ attr_accessor :index
934
+
935
+ def initialize(id: nil, index: nil)
936
+ @id = id
937
+ @index = index
938
+ end
939
+ end
940
+ # Details of the duration over which to bill.
941
+ attr_accessor :duration
942
+ # Details of a Quote line item from which to bill until.
943
+ attr_accessor :line_ends_at
944
+ # A precise Unix timestamp.
945
+ attr_accessor :timestamp
946
+ # The type of method to specify the `bill_until` time.
947
+ attr_accessor :type
948
+
949
+ def initialize(duration: nil, line_ends_at: nil, timestamp: nil, type: nil)
950
+ @duration = duration
951
+ @line_ends_at = line_ends_at
952
+ @timestamp = timestamp
953
+ @type = type
954
+ end
955
+ end
956
+ # The start of the period to bill from when the Quote is accepted.
957
+ attr_accessor :bill_from
958
+ # The end of the period to bill until when the Quote is accepted.
959
+ attr_accessor :bill_until
960
+
961
+ def initialize(bill_from: nil, bill_until: nil)
962
+ @bill_from = bill_from
963
+ @bill_until = bill_until
964
+ end
965
+ end
966
+ # Whether the override applies to an existing Subscription Schedule or a new Subscription Schedule.
967
+ attr_accessor :applies_to
968
+ # Describes the period to bill for upon accepting the quote.
969
+ attr_accessor :bill_on_acceptance
970
+ # 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.
971
+ attr_accessor :billing_behavior
972
+ # The customer the Subscription Data override applies to. This is only relevant when `applies_to.type=new_reference`.
973
+ attr_accessor :customer
974
+ # 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.
975
+ attr_accessor :description
976
+ # Behavior of the subscription schedule and underlying subscription when it ends.
977
+ attr_accessor :end_behavior
978
+ # Determines how to handle [prorations](https://docs.stripe.com/subscriptions/billing-cycle#prorations). When creating a subscription, valid values are `create_prorations` or `none`.
979
+ #
980
+ # When updating a subscription, valid values are `create_prorations`, `none`, or `always_invoice`.
981
+ #
982
+ # Passing `create_prorations` will cause proration invoice items to be created when applicable. These proration items will only be invoiced immediately under [certain conditions](https://docs.stripe.com/subscriptions/upgrading-downgrading#immediate-payment). In order to always invoice immediately for prorations, pass `always_invoice`.
983
+ #
984
+ # Prorations can be disabled by passing `none`.
985
+ attr_accessor :proration_behavior
986
+
987
+ def initialize(
988
+ applies_to: nil,
989
+ bill_on_acceptance: nil,
990
+ billing_behavior: nil,
991
+ customer: nil,
992
+ description: nil,
993
+ end_behavior: nil,
994
+ proration_behavior: nil
995
+ )
996
+ @applies_to = applies_to
997
+ @bill_on_acceptance = bill_on_acceptance
998
+ @billing_behavior = billing_behavior
999
+ @customer = customer
1000
+ @description = description
1001
+ @end_behavior = end_behavior
1002
+ @proration_behavior = proration_behavior
1003
+ end
1004
+ end
1005
+
212
1006
  class TransferData < ::Stripe::RequestParams
213
1007
  # 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.
214
1008
  attr_accessor :amount
@@ -223,6 +1017,8 @@ module Stripe
223
1017
  @destination = destination
224
1018
  end
225
1019
  end
1020
+ # Set to true to allow quote lines to have `starts_at` in the past if collection is paused between `starts_at` and now.
1021
+ attr_accessor :allow_backdated_lines
226
1022
  # 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.
227
1023
  attr_accessor :application_fee_amount
228
1024
  # 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.
@@ -255,18 +1051,23 @@ module Stripe
255
1051
  attr_accessor :invoice_settings
256
1052
  # 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.
257
1053
  attr_accessor :line_items
1054
+ # 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.
1055
+ attr_accessor :lines
258
1056
  # Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
259
1057
  attr_accessor :metadata
260
1058
  # The account on behalf of which to charge.
261
1059
  attr_accessor :on_behalf_of
262
1060
  # 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.
263
1061
  attr_accessor :subscription_data
1062
+ # List representing overrides for `subscription_data` configurations for specific subscription schedules.
1063
+ attr_accessor :subscription_data_overrides
264
1064
  # ID of the test clock to attach to the quote.
265
1065
  attr_accessor :test_clock
266
1066
  # The data with which to automatically create a Transfer for each of the invoices.
267
1067
  attr_accessor :transfer_data
268
1068
 
269
1069
  def initialize(
1070
+ allow_backdated_lines: nil,
270
1071
  application_fee_amount: nil,
271
1072
  application_fee_percent: nil,
272
1073
  automatic_tax: nil,
@@ -283,12 +1084,15 @@ module Stripe
283
1084
  header: nil,
284
1085
  invoice_settings: nil,
285
1086
  line_items: nil,
1087
+ lines: nil,
286
1088
  metadata: nil,
287
1089
  on_behalf_of: nil,
288
1090
  subscription_data: nil,
1091
+ subscription_data_overrides: nil,
289
1092
  test_clock: nil,
290
1093
  transfer_data: nil
291
1094
  )
1095
+ @allow_backdated_lines = allow_backdated_lines
292
1096
  @application_fee_amount = application_fee_amount
293
1097
  @application_fee_percent = application_fee_percent
294
1098
  @automatic_tax = automatic_tax
@@ -305,9 +1109,11 @@ module Stripe
305
1109
  @header = header
306
1110
  @invoice_settings = invoice_settings
307
1111
  @line_items = line_items
1112
+ @lines = lines
308
1113
  @metadata = metadata
309
1114
  @on_behalf_of = on_behalf_of
310
1115
  @subscription_data = subscription_data
1116
+ @subscription_data_overrides = subscription_data_overrides
311
1117
  @test_clock = test_clock
312
1118
  @transfer_data = transfer_data
313
1119
  end