stripe 20.1.0 → 20.2.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 (507) hide show
  1. checksums.yaml +4 -4
  2. data/lib/stripe/api_requestor.rb +4 -0
  3. data/lib/stripe/api_version.rb +2 -2
  4. data/lib/stripe/errors.rb +6 -0
  5. data/lib/stripe/event_types.rb +193 -0
  6. data/lib/stripe/events/unknown_event_notification.rb +1 -0
  7. data/lib/stripe/events/v2_core_account_including_configuration_money_manager_capability_status_updated_event.rb +63 -0
  8. data/lib/stripe/events/v2_core_account_including_configuration_money_manager_updated_event.rb +44 -0
  9. data/lib/stripe/events/v2_core_approval_request_approved_event.rb +44 -0
  10. data/lib/stripe/events/v2_core_approval_request_canceled_event.rb +44 -0
  11. data/lib/stripe/events/v2_core_approval_request_created_event.rb +44 -0
  12. data/lib/stripe/events/v2_core_approval_request_expired_event.rb +44 -0
  13. data/lib/stripe/events/v2_core_approval_request_failed_event.rb +44 -0
  14. data/lib/stripe/events/v2_core_approval_request_rejected_event.rb +44 -0
  15. data/lib/stripe/events/v2_core_approval_request_succeeded_event.rb +44 -0
  16. data/lib/stripe/events/v2_core_batch_job_batch_failed_event.rb +44 -0
  17. data/lib/stripe/events/v2_core_batch_job_canceled_event.rb +44 -0
  18. data/lib/stripe/events/v2_core_batch_job_completed_event.rb +44 -0
  19. data/lib/stripe/events/v2_core_batch_job_created_event.rb +44 -0
  20. data/lib/stripe/events/v2_core_batch_job_ready_for_upload_event.rb +44 -0
  21. data/lib/stripe/events/v2_core_batch_job_timeout_event.rb +44 -0
  22. data/lib/stripe/events/v2_core_batch_job_updated_event.rb +44 -0
  23. data/lib/stripe/events/v2_core_batch_job_upload_timeout_event.rb +44 -0
  24. data/lib/stripe/events/v2_core_batch_job_validating_event.rb +44 -0
  25. data/lib/stripe/events/v2_core_batch_job_validation_failed_event.rb +44 -0
  26. data/lib/stripe/events/v2_core_health_event_generation_failure_resolved_event.rb +78 -0
  27. data/lib/stripe/events/v2_data_query_run_created_event.rb +44 -0
  28. data/lib/stripe/events/v2_data_query_run_failed_event.rb +44 -0
  29. data/lib/stripe/events/v2_data_query_run_succeeded_event.rb +44 -0
  30. data/lib/stripe/events/v2_data_query_run_updated_event.rb +44 -0
  31. data/lib/stripe/events/v2_data_report_run_created_event.rb +44 -0
  32. data/lib/stripe/events/v2_data_report_run_failed_event.rb +44 -0
  33. data/lib/stripe/events/v2_data_report_run_succeeded_event.rb +44 -0
  34. data/lib/stripe/events/v2_data_report_run_updated_event.rb +44 -0
  35. data/lib/stripe/events/v2_data_reporting_query_run_created_event.rb +44 -0
  36. data/lib/stripe/events/v2_data_reporting_query_run_failed_event.rb +44 -0
  37. data/lib/stripe/events/v2_data_reporting_query_run_succeeded_event.rb +44 -0
  38. data/lib/stripe/events/v2_data_reporting_query_run_updated_event.rb +44 -0
  39. data/lib/stripe/events/v2_extend_workflow_run_failed_event.rb +75 -0
  40. data/lib/stripe/events/v2_extend_workflow_run_started_event.rb +44 -0
  41. data/lib/stripe/events/v2_extend_workflow_run_succeeded_event.rb +44 -0
  42. data/lib/stripe/events/v2_money_management_outbound_transfer_canceled_event.rb +44 -0
  43. data/lib/stripe/events/v2_money_management_outbound_transfer_created_event.rb +44 -0
  44. data/lib/stripe/events/v2_money_management_outbound_transfer_failed_event.rb +44 -0
  45. data/lib/stripe/events/v2_money_management_outbound_transfer_posted_event.rb +44 -0
  46. data/lib/stripe/events/v2_money_management_outbound_transfer_returned_event.rb +44 -0
  47. data/lib/stripe/events/v2_money_management_outbound_transfer_under_review_event.rb +44 -0
  48. data/lib/stripe/events/v2_money_management_outbound_transfer_updated_event.rb +44 -0
  49. data/lib/stripe/events/v2_money_management_received_debit_canceled_event.rb +44 -0
  50. data/lib/stripe/events/v2_money_management_received_debit_failed_event.rb +44 -0
  51. data/lib/stripe/events/v2_money_management_received_debit_pending_event.rb +44 -0
  52. data/lib/stripe/events/v2_money_management_received_debit_succeeded_event.rb +44 -0
  53. data/lib/stripe/events/v2_money_management_received_debit_updated_event.rb +44 -0
  54. data/lib/stripe/events/v2_orchestrated_commerce_agreement_confirmed_event.rb +97 -0
  55. data/lib/stripe/events/v2_orchestrated_commerce_agreement_created_event.rb +97 -0
  56. data/lib/stripe/events/v2_orchestrated_commerce_agreement_partially_confirmed_event.rb +97 -0
  57. data/lib/stripe/events/v2_orchestrated_commerce_agreement_terminated_event.rb +97 -0
  58. data/lib/stripe/events/v2_signals_account_evaluation_complete_event.rb +44 -0
  59. data/lib/stripe/events/v2_signals_account_signal_fraudulent_merchant_ready_event.rb +44 -0
  60. data/lib/stripe/events/v2_signals_account_signal_fraudulent_website_ready_event.rb +44 -0
  61. data/lib/stripe/object_types.rb +53 -0
  62. data/lib/stripe/params/account_create_params.rb +299 -1
  63. data/lib/stripe/params/account_notice_list_params.rb +25 -0
  64. data/lib/stripe/params/account_notice_retrieve_params.rb +13 -0
  65. data/lib/stripe/params/account_notice_update_params.rb +36 -0
  66. data/lib/stripe/params/account_session_create_params.rb +191 -0
  67. data/lib/stripe/params/account_update_params.rb +261 -0
  68. data/lib/stripe/params/balance_settings_update_params.rb +9 -1
  69. data/lib/stripe/params/billing/analytics/meter_usage_retrieve_params.rb +65 -0
  70. data/lib/stripe/params/capital/financing_offer_list_params.rb +58 -0
  71. data/lib/stripe/params/capital/financing_offer_mark_delivered_params.rb +15 -0
  72. data/lib/stripe/params/capital/financing_offer_retrieve_params.rb +15 -0
  73. data/lib/stripe/params/capital/financing_summary_retrieve_params.rb +15 -0
  74. data/lib/stripe/params/capital/financing_transaction_list_params.rb +45 -0
  75. data/lib/stripe/params/capital/financing_transaction_retrieve_params.rb +15 -0
  76. data/lib/stripe/params/charge_capture_params.rb +1646 -0
  77. data/lib/stripe/params/charge_update_params.rb +1646 -0
  78. data/lib/stripe/params/checkout/session_create_params.rb +87 -3
  79. data/lib/stripe/params/checkout/session_update_params.rb +161 -1
  80. data/lib/stripe/params/confirmation_token_create_params.rb +92 -0
  81. data/lib/stripe/params/coupon_create_params.rb +17 -1
  82. data/lib/stripe/params/customer_session_create_params.rb +32 -1
  83. data/lib/stripe/params/external_account_create_params.rb +134 -0
  84. data/lib/stripe/params/external_account_delete_params.rb +6 -0
  85. data/lib/stripe/params/external_account_list_params.rb +25 -0
  86. data/lib/stripe/params/external_account_retrieve_params.rb +13 -0
  87. data/lib/stripe/params/external_account_update_params.rb +91 -0
  88. data/lib/stripe/params/financial_connections/account_inferred_balance_list_params.rb +24 -0
  89. data/lib/stripe/params/financial_connections/authorization_retrieve_params.rb +15 -0
  90. data/lib/stripe/params/financial_connections/institution_list_params.rb +24 -0
  91. data/lib/stripe/params/financial_connections/institution_retrieve_params.rb +15 -0
  92. data/lib/stripe/params/financial_connections/session_create_params.rb +38 -1
  93. data/lib/stripe/params/fx_quote_create_params.rb +73 -0
  94. data/lib/stripe/params/fx_quote_list_params.rb +22 -0
  95. data/lib/stripe/params/fx_quote_retrieve_params.rb +13 -0
  96. data/lib/stripe/params/invoice_add_lines_params.rb +33 -1
  97. data/lib/stripe/params/invoice_attach_payment_params.rb +43 -1
  98. data/lib/stripe/params/invoice_create_params.rb +64 -2
  99. data/lib/stripe/params/invoice_create_preview_params.rb +772 -9
  100. data/lib/stripe/params/invoice_detach_payment_params.rb +16 -0
  101. data/lib/stripe/params/invoice_item_create_params.rb +33 -1
  102. data/lib/stripe/params/invoice_item_update_params.rb +33 -1
  103. data/lib/stripe/params/invoice_line_item_update_params.rb +33 -1
  104. data/lib/stripe/params/invoice_update_lines_params.rb +33 -1
  105. data/lib/stripe/params/invoice_update_params.rb +64 -2
  106. data/lib/stripe/params/issuing/cardholder_create_params.rb +2 -1
  107. data/lib/stripe/params/issuing/cardholder_update_params.rb +4 -0
  108. data/lib/stripe/params/issuing/credit_underwriting_record_correct_params.rb +163 -0
  109. data/lib/stripe/params/issuing/credit_underwriting_record_create_from_application_params.rb +50 -0
  110. data/lib/stripe/params/issuing/credit_underwriting_record_create_from_proactive_review_params.rb +128 -0
  111. data/lib/stripe/params/issuing/credit_underwriting_record_list_params.rb +24 -0
  112. data/lib/stripe/params/issuing/credit_underwriting_record_report_decision_params.rb +86 -0
  113. data/lib/stripe/params/issuing/credit_underwriting_record_retrieve_params.rb +15 -0
  114. data/lib/stripe/params/issuing/dispute_settlement_detail_list_params.rb +33 -0
  115. data/lib/stripe/params/issuing/dispute_settlement_detail_retrieve_params.rb +15 -0
  116. data/lib/stripe/params/issuing/fraud_liability_debit_list_params.rb +44 -0
  117. data/lib/stripe/params/issuing/fraud_liability_debit_retrieve_params.rb +15 -0
  118. data/lib/stripe/params/issuing/transaction_list_params.rb +4 -0
  119. data/lib/stripe/params/mandate_list_params.rb +39 -0
  120. data/lib/stripe/params/margin_create_params.rb +25 -0
  121. data/lib/stripe/params/margin_list_params.rb +25 -0
  122. data/lib/stripe/params/margin_retrieve_params.rb +13 -0
  123. data/lib/stripe/params/margin_update_params.rb +22 -0
  124. data/lib/stripe/params/order_create_params.rb +2083 -0
  125. data/lib/stripe/params/order_list_params.rb +25 -0
  126. data/lib/stripe/params/order_retrieve_params.rb +13 -0
  127. data/lib/stripe/params/order_submit_params.rb +16 -0
  128. data/lib/stripe/params/order_update_params.rb +2087 -0
  129. data/lib/stripe/params/payment_intent_capture_params.rb +1643 -1
  130. data/lib/stripe/params/payment_intent_confirm_params.rb +3038 -85
  131. data/lib/stripe/params/payment_intent_create_params.rb +3050 -97
  132. data/lib/stripe/params/payment_intent_decrement_authorization_params.rb +297 -0
  133. data/lib/stripe/params/payment_intent_increment_authorization_params.rb +37 -0
  134. data/lib/stripe/params/payment_intent_trigger_action_params.rb +27 -0
  135. data/lib/stripe/params/payment_intent_update_params.rb +3039 -55
  136. data/lib/stripe/params/payment_method_configuration_create_params.rb +105 -0
  137. data/lib/stripe/params/payment_method_configuration_update_params.rb +105 -0
  138. data/lib/stripe/params/payment_method_create_params.rb +88 -0
  139. data/lib/stripe/params/payment_plan_create_params.rb +128 -0
  140. data/lib/stripe/params/payment_plan_list_params.rb +25 -0
  141. data/lib/stripe/params/payment_plan_retrieve_params.rb +13 -0
  142. data/lib/stripe/params/payment_plan_update_params.rb +105 -0
  143. data/lib/stripe/params/price_update_params.rb +19 -0
  144. data/lib/stripe/params/privacy/redaction_job_cancel_params.rb +15 -0
  145. data/lib/stripe/params/privacy/redaction_job_create_params.rb +67 -0
  146. data/lib/stripe/params/privacy/redaction_job_list_params.rb +27 -0
  147. data/lib/stripe/params/privacy/redaction_job_retrieve_params.rb +15 -0
  148. data/lib/stripe/params/privacy/redaction_job_run_params.rb +15 -0
  149. data/lib/stripe/params/privacy/redaction_job_update_params.rb +18 -0
  150. data/lib/stripe/params/privacy/redaction_job_validate_params.rb +15 -0
  151. data/lib/stripe/params/privacy/redaction_job_validation_error_list_params.rb +24 -0
  152. data/lib/stripe/params/quote_create_params.rb +809 -3
  153. data/lib/stripe/params/quote_line_list_params.rb +22 -0
  154. data/lib/stripe/params/quote_list_lines_params.rb +22 -0
  155. data/lib/stripe/params/quote_list_params.rb +4 -0
  156. data/lib/stripe/params/quote_list_preview_invoice_lines_params.rb +22 -0
  157. data/lib/stripe/params/quote_mark_draft_params.rb +13 -0
  158. data/lib/stripe/params/quote_mark_stale_params.rb +16 -0
  159. data/lib/stripe/params/quote_preview_invoice_list_params.rb +22 -0
  160. data/lib/stripe/params/quote_preview_subscription_schedule_list_params.rb +22 -0
  161. data/lib/stripe/params/quote_reestimate_params.rb +13 -0
  162. data/lib/stripe/params/quote_update_params.rb +817 -4
  163. data/lib/stripe/params/radar/billing_evaluation_create_params.rb +231 -0
  164. data/lib/stripe/params/reserve/hold_list_params.rb +53 -0
  165. data/lib/stripe/params/reserve/hold_retrieve_params.rb +15 -0
  166. data/lib/stripe/params/reserve/plan_list_params.rb +37 -0
  167. data/lib/stripe/params/reserve/plan_retrieve_params.rb +15 -0
  168. data/lib/stripe/params/reserve/release_list_params.rb +41 -0
  169. data/lib/stripe/params/reserve/release_retrieve_params.rb +15 -0
  170. data/lib/stripe/params/setup_intent_confirm_params.rb +122 -3
  171. data/lib/stripe/params/setup_intent_create_params.rb +122 -3
  172. data/lib/stripe/params/setup_intent_update_params.rb +122 -3
  173. data/lib/stripe/params/shared_payment/granted_token_create_params.rb +47 -0
  174. data/lib/stripe/params/shared_payment/granted_token_retrieve_params.rb +15 -0
  175. data/lib/stripe/params/shared_payment/granted_token_revoke_params.rb +15 -0
  176. data/lib/stripe/params/shared_payment/issued_token_create_params.rb +71 -0
  177. data/lib/stripe/params/shared_payment/issued_token_retrieve_params.rb +15 -0
  178. data/lib/stripe/params/shared_payment/issued_token_revoke_params.rb +15 -0
  179. data/lib/stripe/params/subscription_create_params.rb +133 -6
  180. data/lib/stripe/params/subscription_item_create_params.rb +50 -3
  181. data/lib/stripe/params/subscription_item_update_params.rb +33 -2
  182. data/lib/stripe/params/subscription_schedule_amend_params.rb +578 -0
  183. data/lib/stripe/params/subscription_schedule_create_params.rb +167 -5
  184. data/lib/stripe/params/subscription_schedule_update_params.rb +167 -5
  185. data/lib/stripe/params/subscription_update_params.rb +116 -5
  186. data/lib/stripe/params/tax/form_list_params.rb +51 -0
  187. data/lib/stripe/params/tax/form_pdf_params.rb +15 -0
  188. data/lib/stripe/params/tax/form_retrieve_params.rb +15 -0
  189. data/lib/stripe/params/tax/registration_create_params.rb +13 -1
  190. data/lib/stripe/params/terminal/reader_collected_data_retrieve_params.rb +15 -0
  191. data/lib/stripe/params/test_helpers/confirmation_token_create_params.rb +92 -0
  192. data/lib/stripe/params/test_helpers/shared_payment/granted_token_create_params.rb +49 -0
  193. data/lib/stripe/params/test_helpers/shared_payment/granted_token_revoke_params.rb +17 -0
  194. data/lib/stripe/params/test_helpers/treasury/received_credit_create_params.rb +25 -1
  195. data/lib/stripe/params/test_helpers/treasury/received_debit_create_params.rb +25 -1
  196. data/lib/stripe/params/transfer_create_params.rb +4 -0
  197. data/lib/stripe/params/treasury/financial_account_create_params.rb +8 -1
  198. data/lib/stripe/params/treasury/financial_account_features_update_params.rb +4 -1
  199. data/lib/stripe/params/treasury/financial_account_update_features_params.rb +4 -1
  200. data/lib/stripe/params/treasury/financial_account_update_params.rb +8 -1
  201. data/lib/stripe/params/treasury/outbound_payment_create_params.rb +19 -0
  202. data/lib/stripe/params/treasury/outbound_transfer_create_params.rb +24 -0
  203. data/lib/stripe/params/treasury/received_credit_create_params.rb +25 -1
  204. data/lib/stripe/params/treasury/received_debit_create_params.rb +25 -1
  205. data/lib/stripe/params/v2/billing/bill_setting_create_params.rb +74 -0
  206. data/lib/stripe/params/v2/billing/bill_setting_list_params.rb +21 -0
  207. data/lib/stripe/params/v2/billing/bill_setting_retrieve_params.rb +10 -0
  208. data/lib/stripe/params/v2/billing/bill_setting_update_params.rb +80 -0
  209. data/lib/stripe/params/v2/billing/bill_settings/version_list_params.rb +19 -0
  210. data/lib/stripe/params/v2/billing/bill_settings/version_retrieve_params.rb +12 -0
  211. data/lib/stripe/params/v2/billing/cadence_cancel_params.rb +10 -0
  212. data/lib/stripe/params/v2/billing/cadence_create_params.rb +253 -0
  213. data/lib/stripe/params/v2/billing/cadence_list_params.rb +43 -0
  214. data/lib/stripe/params/v2/billing/cadence_retrieve_params.rb +17 -0
  215. data/lib/stripe/params/v2/billing/cadence_update_params.rb +75 -0
  216. data/lib/stripe/params/v2/billing/collection_setting_create_params.rb +257 -0
  217. data/lib/stripe/params/v2/billing/collection_setting_list_params.rb +21 -0
  218. data/lib/stripe/params/v2/billing/collection_setting_retrieve_params.rb +10 -0
  219. data/lib/stripe/params/v2/billing/collection_setting_update_params.rb +263 -0
  220. data/lib/stripe/params/v2/billing/collection_settings/version_list_params.rb +19 -0
  221. data/lib/stripe/params/v2/billing/collection_settings/version_retrieve_params.rb +12 -0
  222. data/lib/stripe/params/v2/billing/profile_create_params.rb +37 -0
  223. data/lib/stripe/params/v2/billing/profile_list_params.rb +40 -0
  224. data/lib/stripe/params/v2/billing/profile_retrieve_params.rb +10 -0
  225. data/lib/stripe/params/v2/billing/profile_update_params.rb +35 -0
  226. data/lib/stripe/params/v2/core/account_create_params.rb +392 -5
  227. data/lib/stripe/params/v2/core/account_token_create_params.rb +29 -1
  228. data/lib/stripe/params/v2/core/account_update_params.rb +376 -4
  229. data/lib/stripe/params/v2/core/approval_request_cancel_params.rb +10 -0
  230. data/lib/stripe/params/v2/core/approval_request_list_params.rb +47 -0
  231. data/lib/stripe/params/v2/core/approval_request_retrieve_params.rb +10 -0
  232. data/lib/stripe/params/v2/core/approval_request_update_params.rb +17 -0
  233. data/lib/stripe/params/v2/core/batch_job_cancel_params.rb +10 -0
  234. data/lib/stripe/params/v2/core/batch_job_create_params.rb +53 -0
  235. data/lib/stripe/params/v2/core/batch_job_retrieve_params.rb +10 -0
  236. data/lib/stripe/params/v2/core/vault/gb_bank_account_create_params.rb +21 -0
  237. data/lib/stripe/params/v2/data/query_run_create_params.rb +50 -0
  238. data/lib/stripe/params/v2/data/query_run_retrieve_params.rb +23 -0
  239. data/lib/stripe/params/v2/data/report_list_params.rb +23 -0
  240. data/lib/stripe/params/v2/data/report_retrieve_params.rb +17 -0
  241. data/lib/stripe/params/v2/data/report_run_create_params.rb +48 -0
  242. data/lib/stripe/params/v2/data/report_run_retrieve_params.rb +23 -0
  243. data/lib/stripe/params/v2/data/reporting/query_run_create_params.rb +31 -0
  244. data/lib/stripe/params/v2/data/reporting/query_run_retrieve_params.rb +12 -0
  245. data/lib/stripe/params/v2/data/schema_list_params.rb +26 -0
  246. data/lib/stripe/params/v2/data/schema_retrieve_params.rb +10 -0
  247. data/lib/stripe/params/v2/extend/workflow_invoke_params.rb +17 -0
  248. data/lib/stripe/params/v2/extend/workflow_list_params.rb +21 -0
  249. data/lib/stripe/params/v2/extend/workflow_retrieve_params.rb +10 -0
  250. data/lib/stripe/params/v2/extend/workflow_run_list_params.rb +23 -0
  251. data/lib/stripe/params/v2/extend/workflow_run_retrieve_params.rb +10 -0
  252. data/lib/stripe/params/v2/iam/activity_log_list_params.rb +23 -0
  253. data/lib/stripe/params/v2/iam/activity_log_retrieve_params.rb +10 -0
  254. data/lib/stripe/params/v2/money_management/financial_account_close_params.rb +30 -0
  255. data/lib/stripe/params/v2/money_management/financial_account_create_params.rb +35 -0
  256. data/lib/stripe/params/v2/money_management/outbound_payment_create_params.rb +21 -0
  257. data/lib/stripe/params/v2/money_management/outbound_payment_quote_create_params.rb +113 -0
  258. data/lib/stripe/params/v2/money_management/outbound_payment_quote_retrieve_params.rb +10 -0
  259. data/lib/stripe/params/v2/money_management/outbound_setup_intent_create_params.rb +40 -1
  260. data/lib/stripe/params/v2/money_management/outbound_setup_intent_update_params.rb +22 -1
  261. data/lib/stripe/params/v2/money_management/outbound_transfer_cancel_params.rb +10 -0
  262. data/lib/stripe/params/v2/money_management/outbound_transfer_create_params.rb +112 -0
  263. data/lib/stripe/params/v2/money_management/outbound_transfer_list_params.rb +48 -0
  264. data/lib/stripe/params/v2/money_management/outbound_transfer_retrieve_params.rb +10 -0
  265. data/lib/stripe/params/v2/money_management/payout_method_disable_params.rb +10 -0
  266. data/lib/stripe/params/v2/money_management/received_debit_list_params.rb +17 -0
  267. data/lib/stripe/params/v2/money_management/received_debit_retrieve_params.rb +10 -0
  268. data/lib/stripe/params/v2/money_management/test_helpers/financial_address_generate_microdeposits_params.rb +12 -0
  269. data/lib/stripe/params/v2/network/business_profile_me_params.rb +10 -0
  270. data/lib/stripe/params/v2/network/business_profile_retrieve_params.rb +10 -0
  271. data/lib/stripe/params/v2/orchestrated_commerce/agreement_confirm_params.rb +10 -0
  272. data/lib/stripe/params/v2/orchestrated_commerce/agreement_create_params.rb +17 -0
  273. data/lib/stripe/params/v2/orchestrated_commerce/agreement_list_params.rb +20 -0
  274. data/lib/stripe/params/v2/orchestrated_commerce/agreement_retrieve_params.rb +10 -0
  275. data/lib/stripe/params/v2/orchestrated_commerce/agreement_terminate_params.rb +10 -0
  276. data/lib/stripe/params/v2/signals/account_activity_create_params.rb +200 -0
  277. data/lib/stripe/params/v2/signals/account_activity_delete_params.rb +10 -0
  278. data/lib/stripe/params/v2/signals/account_activity_retrieve_params.rb +10 -0
  279. data/lib/stripe/params/v2/signals/account_evaluation_create_params.rb +192 -0
  280. data/lib/stripe/params/v2/signals/account_evaluation_retrieve_params.rb +10 -0
  281. data/lib/stripe/params/v2/signals/account_signal_list_params.rb +35 -0
  282. data/lib/stripe/params/v2/signals/account_signal_retrieve_params.rb +10 -0
  283. data/lib/stripe/params.rb +364 -0
  284. data/lib/stripe/resources/account.rb +176 -1
  285. data/lib/stripe/resources/account_notice.rb +94 -0
  286. data/lib/stripe/resources/account_session.rb +81 -0
  287. data/lib/stripe/resources/balance.rb +83 -0
  288. data/lib/stripe/resources/balance_settings.rb +4 -0
  289. data/lib/stripe/resources/billing/alert_triggered.rb +4 -0
  290. data/lib/stripe/resources/billing/analytics/meter_usage.rb +33 -0
  291. data/lib/stripe/resources/billing/analytics/meter_usage_row.rb +38 -0
  292. data/lib/stripe/resources/capital/financing_offer.rb +144 -0
  293. data/lib/stripe/resources/capital/financing_summary.rb +82 -0
  294. data/lib/stripe/resources/capital/financing_transaction.rb +99 -0
  295. data/lib/stripe/resources/card.rb +18 -1
  296. data/lib/stripe/resources/charge.rb +227 -1
  297. data/lib/stripe/resources/checkout/session.rb +91 -3
  298. data/lib/stripe/resources/confirmation_token.rb +131 -0
  299. data/lib/stripe/resources/coupon.rb +26 -1
  300. data/lib/stripe/resources/credit_note_line_item.rb +18 -0
  301. data/lib/stripe/resources/customer.rb +16 -0
  302. data/lib/stripe/resources/customer_session.rb +36 -0
  303. data/lib/stripe/resources/dispute.rb +18 -0
  304. data/lib/stripe/resources/event.rb +64 -1
  305. data/lib/stripe/resources/financial_connections/account.rb +45 -1
  306. data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +35 -0
  307. data/lib/stripe/resources/financial_connections/authorization.rb +24 -1
  308. data/lib/stripe/resources/financial_connections/institution.rb +127 -0
  309. data/lib/stripe/resources/financial_connections/session.rb +92 -0
  310. data/lib/stripe/resources/fx_quote.rb +149 -0
  311. data/lib/stripe/resources/invoice.rb +106 -1
  312. data/lib/stripe/resources/invoice_item.rb +2 -0
  313. data/lib/stripe/resources/invoice_line_item.rb +40 -0
  314. data/lib/stripe/resources/issuing/authorization.rb +16 -0
  315. data/lib/stripe/resources/issuing/card.rb +16 -0
  316. data/lib/stripe/resources/issuing/cardholder.rb +16 -0
  317. data/lib/stripe/resources/issuing/credit_underwriting_record.rb +263 -0
  318. data/lib/stripe/resources/issuing/dispute.rb +16 -1
  319. data/lib/stripe/resources/issuing/dispute_settlement_detail.rb +71 -0
  320. data/lib/stripe/resources/issuing/fraud_liability_debit.rb +51 -0
  321. data/lib/stripe/resources/issuing/settlement.rb +61 -0
  322. data/lib/stripe/resources/issuing/transaction.rb +18 -0
  323. data/lib/stripe/resources/line_item.rb +42 -0
  324. data/lib/stripe/resources/mandate.rb +12 -0
  325. data/lib/stripe/resources/margin.rb +64 -0
  326. data/lib/stripe/resources/order.rb +927 -0
  327. data/lib/stripe/resources/payment_attempt_record.rb +177 -1
  328. data/lib/stripe/resources/payment_intent.rb +1588 -10
  329. data/lib/stripe/resources/payment_method.rb +151 -0
  330. data/lib/stripe/resources/payment_method_configuration.rb +170 -0
  331. data/lib/stripe/resources/payment_plan.rb +213 -0
  332. data/lib/stripe/resources/payment_record.rb +177 -1
  333. data/lib/stripe/resources/price.rb +20 -0
  334. data/lib/stripe/resources/privacy/redaction_job.rb +189 -0
  335. data/lib/stripe/resources/privacy/redaction_job_validation_error.rb +49 -0
  336. data/lib/stripe/resources/quote.rb +569 -2
  337. data/lib/stripe/resources/quote_line.rb +525 -0
  338. data/lib/stripe/resources/quote_preview_invoice.rb +1241 -0
  339. data/lib/stripe/resources/quote_preview_subscription_schedule.rb +968 -0
  340. data/lib/stripe/resources/radar/billing_evaluation.rb +281 -0
  341. data/lib/stripe/resources/radar/value_list_item.rb +15 -1
  342. data/lib/stripe/resources/refund.rb +18 -0
  343. data/lib/stripe/resources/reserve/hold.rb +7 -0
  344. data/lib/stripe/resources/reserve/plan.rb +7 -0
  345. data/lib/stripe/resources/reserve/release.rb +12 -0
  346. data/lib/stripe/resources/setup_attempt.rb +35 -0
  347. data/lib/stripe/resources/setup_intent.rb +38 -1
  348. data/lib/stripe/resources/shared_payment/granted_token.rb +681 -0
  349. data/lib/stripe/resources/shared_payment/issued_token.rb +310 -0
  350. data/lib/stripe/resources/source.rb +54 -0
  351. data/lib/stripe/resources/subscription.rb +73 -0
  352. data/lib/stripe/resources/subscription_item.rb +22 -1
  353. data/lib/stripe/resources/subscription_schedule.rb +198 -3
  354. data/lib/stripe/resources/tax/form.rb +264 -0
  355. data/lib/stripe/resources/tax/registration.rb +16 -1
  356. data/lib/stripe/resources/terminal/reader.rb +8 -0
  357. data/lib/stripe/resources/terminal/reader_collected_data.rb +47 -0
  358. data/lib/stripe/resources/token.rb +15 -1
  359. data/lib/stripe/resources/transfer.rb +2 -0
  360. data/lib/stripe/resources/treasury/financial_account.rb +2 -0
  361. data/lib/stripe/resources/treasury/financial_account_features.rb +2 -0
  362. data/lib/stripe/resources/treasury/outbound_payment.rb +2 -0
  363. data/lib/stripe/resources/treasury/outbound_transfer.rb +30 -0
  364. data/lib/stripe/resources/treasury/received_credit.rb +30 -0
  365. data/lib/stripe/resources/treasury/received_debit.rb +32 -0
  366. data/lib/stripe/resources/v2/billing/bill_setting.rb +102 -0
  367. data/lib/stripe/resources/v2/billing/bill_setting_version.rb +91 -0
  368. data/lib/stripe/resources/v2/billing/cadence.rb +710 -0
  369. data/lib/stripe/resources/v2/billing/collection_setting.rb +327 -0
  370. data/lib/stripe/resources/v2/billing/collection_setting_version.rb +316 -0
  371. data/lib/stripe/resources/v2/billing/profile.rb +47 -0
  372. data/lib/stripe/resources/v2/core/account.rb +802 -2
  373. data/lib/stripe/resources/v2/core/approval_request.rb +395 -0
  374. data/lib/stripe/resources/v2/core/batch_job.rb +536 -0
  375. data/lib/stripe/resources/v2/core/event_notification.rb +1 -0
  376. data/lib/stripe/resources/v2/core/vault/gb_bank_account.rb +91 -1
  377. data/lib/stripe/resources/v2/core/vault/us_bank_account.rb +26 -1
  378. data/lib/stripe/resources/v2/data/query_run.rb +255 -0
  379. data/lib/stripe/resources/v2/data/report.rb +104 -0
  380. data/lib/stripe/resources/v2/data/report_run.rb +246 -0
  381. data/lib/stripe/resources/v2/data/reporting/query_run.rb +142 -0
  382. data/lib/stripe/resources/v2/data/schema.rb +121 -0
  383. data/lib/stripe/resources/v2/extend/workflow.rb +80 -0
  384. data/lib/stripe/resources/v2/extend/workflow_run.rb +158 -0
  385. data/lib/stripe/resources/v2/iam/activity_log.rb +368 -0
  386. data/lib/stripe/resources/v2/money_management/adjustment.rb +4 -0
  387. data/lib/stripe/resources/v2/money_management/financial_account.rb +50 -1
  388. data/lib/stripe/resources/v2/money_management/financial_address_generated_microdeposits.rb +33 -0
  389. data/lib/stripe/resources/v2/money_management/inbound_transfer.rb +2 -0
  390. data/lib/stripe/resources/v2/money_management/outbound_payment.rb +63 -1
  391. data/lib/stripe/resources/v2/money_management/outbound_payment_quote.rb +255 -0
  392. data/lib/stripe/resources/v2/money_management/outbound_setup_intent.rb +31 -1
  393. data/lib/stripe/resources/v2/money_management/outbound_transfer.rb +260 -0
  394. data/lib/stripe/resources/v2/money_management/payout_method.rb +50 -1
  395. data/lib/stripe/resources/v2/money_management/received_credit.rb +2 -0
  396. data/lib/stripe/resources/v2/money_management/received_debit.rb +137 -0
  397. data/lib/stripe/resources/v2/money_management/recipient_verification.rb +2 -0
  398. data/lib/stripe/resources/v2/network/business_profile.rb +84 -0
  399. data/lib/stripe/resources/v2/orchestrated_commerce/agreement.rb +93 -0
  400. data/lib/stripe/resources/v2/signals/account_activity.rb +252 -0
  401. data/lib/stripe/resources/v2/signals/account_evaluation.rb +249 -0
  402. data/lib/stripe/resources/v2/signals/account_signal.rb +184 -0
  403. data/lib/stripe/resources.rb +341 -0
  404. data/lib/stripe/services/account_notice_service.rb +39 -0
  405. data/lib/stripe/services/account_service.rb +15 -0
  406. data/lib/stripe/services/billing/analytics/meter_usage_service.rb +21 -0
  407. data/lib/stripe/services/billing/analytics_service.rb +15 -0
  408. data/lib/stripe/services/billing_service.rb +2 -1
  409. data/lib/stripe/services/capital/financing_offer_service.rb +42 -0
  410. data/lib/stripe/services/capital/financing_summary_service.rb +19 -0
  411. data/lib/stripe/services/capital/financing_transaction_service.rb +31 -0
  412. data/lib/stripe/services/capital_service.rb +15 -0
  413. data/lib/stripe/services/coupon_service.rb +14 -0
  414. data/lib/stripe/services/customer_service.rb +15 -0
  415. data/lib/stripe/services/external_account_service.rb +68 -0
  416. data/lib/stripe/services/financial_connections/account_inferred_balance_service.rb +19 -0
  417. data/lib/stripe/services/financial_connections/account_service.rb +3 -1
  418. data/lib/stripe/services/financial_connections/authorization_service.rb +19 -0
  419. data/lib/stripe/services/financial_connections/institution_service.rb +30 -0
  420. data/lib/stripe/services/financial_connections_service.rb +3 -1
  421. data/lib/stripe/services/fx_quote_service.rb +27 -0
  422. data/lib/stripe/services/invoice_service.rb +11 -0
  423. data/lib/stripe/services/issuing/credit_underwriting_record_service.rb +74 -0
  424. data/lib/stripe/services/issuing/dispute_settlement_detail_service.rb +30 -0
  425. data/lib/stripe/services/issuing/fraud_liability_debit_service.rb +30 -0
  426. data/lib/stripe/services/issuing_service.rb +5 -1
  427. data/lib/stripe/services/mandate_service.rb +5 -0
  428. data/lib/stripe/services/margin_service.rb +50 -0
  429. data/lib/stripe/services/order_service.rb +53 -0
  430. data/lib/stripe/services/payment_intent_service.rb +37 -0
  431. data/lib/stripe/services/payment_plan_service.rb +50 -0
  432. data/lib/stripe/services/privacy/redaction_job_service.rb +104 -0
  433. data/lib/stripe/services/privacy/redaction_job_validation_error_service.rb +19 -0
  434. data/lib/stripe/services/privacy_service.rb +13 -0
  435. data/lib/stripe/services/promotion_code_service.rb +29 -0
  436. data/lib/stripe/services/quote_line_service.rb +17 -0
  437. data/lib/stripe/services/quote_preview_invoice_service.rb +17 -0
  438. data/lib/stripe/services/quote_preview_subscription_schedule_service.rb +17 -0
  439. data/lib/stripe/services/quote_service.rb +49 -1
  440. data/lib/stripe/services/radar/billing_evaluation_service.rb +19 -0
  441. data/lib/stripe/services/radar_service.rb +2 -1
  442. data/lib/stripe/services/reserve/hold_service.rb +30 -0
  443. data/lib/stripe/services/reserve/plan_service.rb +30 -0
  444. data/lib/stripe/services/reserve/release_service.rb +30 -0
  445. data/lib/stripe/services/reserve_service.rb +15 -0
  446. data/lib/stripe/services/shared_payment/granted_token_service.rb +19 -0
  447. data/lib/stripe/services/shared_payment/issued_token_service.rb +41 -0
  448. data/lib/stripe/services/shared_payment_service.rb +14 -0
  449. data/lib/stripe/services/subscription_schedule_service.rb +11 -0
  450. data/lib/stripe/services/subscription_service.rb +45 -0
  451. data/lib/stripe/services/tax/form_service.rb +37 -0
  452. data/lib/stripe/services/tax_service.rb +2 -1
  453. data/lib/stripe/services/terminal/reader_collected_data_service.rb +19 -0
  454. data/lib/stripe/services/terminal_service.rb +2 -1
  455. data/lib/stripe/services/test_helpers/shared_payment/granted_token_service.rb +32 -0
  456. data/lib/stripe/services/test_helpers/shared_payment_service.rb +15 -0
  457. data/lib/stripe/services/test_helpers_service.rb +2 -1
  458. data/lib/stripe/services/v1_services.rb +11 -1
  459. data/lib/stripe/services/v2/billing/bill_setting_service.rb +61 -0
  460. data/lib/stripe/services/v2/billing/bill_settings/version_service.rb +34 -0
  461. data/lib/stripe/services/v2/billing/cadence_service.rb +65 -0
  462. data/lib/stripe/services/v2/billing/collection_setting_service.rb +69 -0
  463. data/lib/stripe/services/v2/billing/collection_settings/version_service.rb +34 -0
  464. data/lib/stripe/services/v2/billing/profile_service.rb +54 -0
  465. data/lib/stripe/services/v2/billing_service.rb +5 -1
  466. data/lib/stripe/services/v2/core/approval_request_service.rb +58 -0
  467. data/lib/stripe/services/v2/core/batch_job_service.rb +43 -0
  468. data/lib/stripe/services/v2/core_service.rb +3 -1
  469. data/lib/stripe/services/v2/data/query_run_service.rb +34 -0
  470. data/lib/stripe/services/v2/data/report_run_service.rb +36 -0
  471. data/lib/stripe/services/v2/data/report_service.rb +34 -0
  472. data/lib/stripe/services/v2/data/reporting/query_run_service.rb +35 -0
  473. data/lib/stripe/services/v2/data/reporting_service.rb +17 -0
  474. data/lib/stripe/services/v2/data/schema_service.rb +32 -0
  475. data/lib/stripe/services/v2/data_service.rb +19 -0
  476. data/lib/stripe/services/v2/extend/workflow_run_service.rb +32 -0
  477. data/lib/stripe/services/v2/extend/workflow_service.rb +45 -0
  478. data/lib/stripe/services/v2/extend_service.rb +16 -0
  479. data/lib/stripe/services/v2/iam/activity_log_service.rb +32 -0
  480. data/lib/stripe/services/v2/iam_service.rb +15 -0
  481. data/lib/stripe/services/v2/money_management/financial_account_service.rb +27 -0
  482. data/lib/stripe/services/v2/money_management/outbound_payment_quote_service.rb +35 -0
  483. data/lib/stripe/services/v2/money_management/outbound_transfer_service.rb +61 -0
  484. data/lib/stripe/services/v2/money_management/payout_method_service.rb +15 -0
  485. data/lib/stripe/services/v2/money_management/received_debit_service.rb +32 -0
  486. data/lib/stripe/services/v2/money_management/test_helpers/financial_address_service.rb +13 -0
  487. data/lib/stripe/services/v2/money_management_service.rb +5 -1
  488. data/lib/stripe/services/v2/network/business_profile_service.rb +32 -0
  489. data/lib/stripe/services/v2/network_service.rb +15 -0
  490. data/lib/stripe/services/v2/orchestrated_commerce/agreement_service.rb +65 -0
  491. data/lib/stripe/services/v2/orchestrated_commerce_service.rb +15 -0
  492. data/lib/stripe/services/v2/signals/account_activity_service.rb +43 -0
  493. data/lib/stripe/services/v2/signals/account_evaluation_service.rb +32 -0
  494. data/lib/stripe/services/v2/signals/account_signal_service.rb +32 -0
  495. data/lib/stripe/services/v2/signals_service.rb +17 -0
  496. data/lib/stripe/services/v2_services.rb +7 -1
  497. data/lib/stripe/services.rb +181 -0
  498. data/lib/stripe/stripe_client.rb +4 -1
  499. data/lib/stripe/stripe_configuration.rb +3 -1
  500. data/lib/stripe/stripe_event_notification_handler.rb +216 -0
  501. data/lib/stripe/stripe_object.rb +1 -1
  502. data/lib/stripe/util.rb +7 -1
  503. data/lib/stripe/version.rb +1 -1
  504. data/lib/stripe.rb +53 -0
  505. data/rbi/stripe/resources/v2/core/event_notification.rbi +2 -0
  506. data/rbi/stripe.rbi +133319 -66595
  507. metadata +331 -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
@@ -103,18 +131,530 @@ module Stripe
103
131
  end
104
132
  end
105
133
 
134
+ class Line < ::Stripe::RequestParams
135
+ class Action < ::Stripe::RequestParams
136
+ class AddDiscount < ::Stripe::RequestParams
137
+ class DiscountEnd < ::Stripe::RequestParams
138
+ # The type of calculation made to determine when the discount ends.
139
+ attr_accessor :type
140
+
141
+ def initialize(type: nil)
142
+ @type = type
143
+ end
144
+ end
145
+ # The coupon code to redeem.
146
+ attr_accessor :coupon
147
+ # An ID of an existing discount for a coupon that was already redeemed.
148
+ attr_accessor :discount
149
+ # Details to determine how long the discount should be applied for.
150
+ attr_accessor :discount_end
151
+ # 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.
152
+ attr_accessor :index
153
+ # The promotion code to redeem.
154
+ attr_accessor :promotion_code
155
+
156
+ def initialize(
157
+ coupon: nil,
158
+ discount: nil,
159
+ discount_end: nil,
160
+ index: nil,
161
+ promotion_code: nil
162
+ )
163
+ @coupon = coupon
164
+ @discount = discount
165
+ @discount_end = discount_end
166
+ @index = index
167
+ @promotion_code = promotion_code
168
+ end
169
+ end
170
+
171
+ class AddItem < ::Stripe::RequestParams
172
+ class Discount < ::Stripe::RequestParams
173
+ class DiscountEnd < ::Stripe::RequestParams
174
+ class Duration < ::Stripe::RequestParams
175
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
176
+ attr_accessor :interval
177
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
178
+ attr_accessor :interval_count
179
+
180
+ def initialize(interval: nil, interval_count: nil)
181
+ @interval = interval
182
+ @interval_count = interval_count
183
+ end
184
+ end
185
+ # Time span for the redeemed discount.
186
+ attr_accessor :duration
187
+ # A precise Unix timestamp for the discount to end. Must be in the future.
188
+ attr_accessor :timestamp
189
+ # The type of calculation made to determine when the discount ends.
190
+ attr_accessor :type
191
+
192
+ def initialize(duration: nil, timestamp: nil, type: nil)
193
+ @duration = duration
194
+ @timestamp = timestamp
195
+ @type = type
196
+ end
197
+ end
198
+ # ID of the coupon to create a new discount for.
199
+ attr_accessor :coupon
200
+ # ID of an existing discount on the object (or one of its ancestors) to reuse.
201
+ attr_accessor :discount
202
+ # Details to determine how long the discount should be applied for.
203
+ attr_accessor :discount_end
204
+ # ID of the promotion code to create a new discount for.
205
+ attr_accessor :promotion_code
206
+
207
+ def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
208
+ @coupon = coupon
209
+ @discount = discount
210
+ @discount_end = discount_end
211
+ @promotion_code = promotion_code
212
+ end
213
+ end
214
+
215
+ class Trial < ::Stripe::RequestParams
216
+ # 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.
217
+ attr_accessor :converts_to
218
+ # Determines the type of trial for this item.
219
+ attr_accessor :type
220
+
221
+ def initialize(converts_to: nil, type: nil)
222
+ @converts_to = converts_to
223
+ @type = type
224
+ end
225
+ end
226
+ # The discounts applied to the item. Subscription item discounts are applied before subscription discounts.
227
+ attr_accessor :discounts
228
+ # 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`.
229
+ attr_accessor :metadata
230
+ # The ID of the price object.
231
+ attr_accessor :price
232
+ # Quantity for this item.
233
+ attr_accessor :quantity
234
+ # 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`.
235
+ attr_accessor :tax_rates
236
+ # Options that configure the trial on the subscription item.
237
+ attr_accessor :trial
238
+ # The ID of the trial offer to apply to the configuration item.
239
+ attr_accessor :trial_offer
240
+
241
+ def initialize(
242
+ discounts: nil,
243
+ metadata: nil,
244
+ price: nil,
245
+ quantity: nil,
246
+ tax_rates: nil,
247
+ trial: nil,
248
+ trial_offer: nil
249
+ )
250
+ @discounts = discounts
251
+ @metadata = metadata
252
+ @price = price
253
+ @quantity = quantity
254
+ @tax_rates = tax_rates
255
+ @trial = trial
256
+ @trial_offer = trial_offer
257
+ end
258
+ end
259
+
260
+ class RemoveDiscount < ::Stripe::RequestParams
261
+ # The coupon code to remove from the `discounts` array.
262
+ attr_accessor :coupon
263
+ # The ID of a discount to remove from the `discounts` array.
264
+ attr_accessor :discount
265
+ # The ID of a promotion code to remove from the `discounts` array.
266
+ attr_accessor :promotion_code
267
+
268
+ def initialize(coupon: nil, discount: nil, promotion_code: nil)
269
+ @coupon = coupon
270
+ @discount = discount
271
+ @promotion_code = promotion_code
272
+ end
273
+ end
274
+
275
+ class RemoveItem < ::Stripe::RequestParams
276
+ # ID of a price to remove.
277
+ attr_accessor :price
278
+
279
+ def initialize(price: nil)
280
+ @price = price
281
+ end
282
+ end
283
+
284
+ class SetDiscount < ::Stripe::RequestParams
285
+ # The coupon code to replace the `discounts` array with.
286
+ attr_accessor :coupon
287
+ # An ID of an existing discount to replace the `discounts` array with.
288
+ attr_accessor :discount
289
+ # An ID of an existing promotion code to replace the `discounts` array with.
290
+ attr_accessor :promotion_code
291
+
292
+ def initialize(coupon: nil, discount: nil, promotion_code: nil)
293
+ @coupon = coupon
294
+ @discount = discount
295
+ @promotion_code = promotion_code
296
+ end
297
+ end
298
+
299
+ class SetItem < ::Stripe::RequestParams
300
+ class Discount < ::Stripe::RequestParams
301
+ class DiscountEnd < ::Stripe::RequestParams
302
+ class Duration < ::Stripe::RequestParams
303
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
304
+ attr_accessor :interval
305
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
306
+ attr_accessor :interval_count
307
+
308
+ def initialize(interval: nil, interval_count: nil)
309
+ @interval = interval
310
+ @interval_count = interval_count
311
+ end
312
+ end
313
+ # Time span for the redeemed discount.
314
+ attr_accessor :duration
315
+ # A precise Unix timestamp for the discount to end. Must be in the future.
316
+ attr_accessor :timestamp
317
+ # The type of calculation made to determine when the discount ends.
318
+ attr_accessor :type
319
+
320
+ def initialize(duration: nil, timestamp: nil, type: nil)
321
+ @duration = duration
322
+ @timestamp = timestamp
323
+ @type = type
324
+ end
325
+ end
326
+ # ID of the coupon to create a new discount for.
327
+ attr_accessor :coupon
328
+ # ID of an existing discount on the object (or one of its ancestors) to reuse.
329
+ attr_accessor :discount
330
+ # Details to determine how long the discount should be applied for.
331
+ attr_accessor :discount_end
332
+ # ID of the promotion code to create a new discount for.
333
+ attr_accessor :promotion_code
334
+
335
+ def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
336
+ @coupon = coupon
337
+ @discount = discount
338
+ @discount_end = discount_end
339
+ @promotion_code = promotion_code
340
+ end
341
+ end
342
+
343
+ class Trial < ::Stripe::RequestParams
344
+ # 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.
345
+ attr_accessor :converts_to
346
+ # Determines the type of trial for this item.
347
+ attr_accessor :type
348
+
349
+ def initialize(converts_to: nil, type: nil)
350
+ @converts_to = converts_to
351
+ @type = type
352
+ end
353
+ end
354
+ # 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`.
355
+ attr_accessor :discounts
356
+ # 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`.
357
+ attr_accessor :metadata
358
+ # The ID of the price object.
359
+ attr_accessor :price
360
+ # 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`.
361
+ attr_accessor :quantity
362
+ # 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`.
363
+ attr_accessor :tax_rates
364
+ # 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`.
365
+ attr_accessor :trial
366
+ # The ID of the trial offer to apply to the configuration item.
367
+ attr_accessor :trial_offer
368
+
369
+ def initialize(
370
+ discounts: nil,
371
+ metadata: nil,
372
+ price: nil,
373
+ quantity: nil,
374
+ tax_rates: nil,
375
+ trial: nil,
376
+ trial_offer: nil
377
+ )
378
+ @discounts = discounts
379
+ @metadata = metadata
380
+ @price = price
381
+ @quantity = quantity
382
+ @tax_rates = tax_rates
383
+ @trial = trial
384
+ @trial_offer = trial_offer
385
+ end
386
+ end
387
+ # Details for the `add_discount` type.
388
+ attr_accessor :add_discount
389
+ # Details for the `add_item` type.
390
+ attr_accessor :add_item
391
+ # Details for the `add_metadata` type: specify a hash of key-value pairs.
392
+ attr_accessor :add_metadata
393
+ # Details for the `remove_discount` type.
394
+ attr_accessor :remove_discount
395
+ # Details for the `remove_item` type.
396
+ attr_accessor :remove_item
397
+ # Details for the `remove_metadata` type: specify an array of metadata keys.
398
+ attr_accessor :remove_metadata
399
+ # Details for the `set_discounts` type.
400
+ attr_accessor :set_discounts
401
+ # Details for the `set_items` type.
402
+ attr_accessor :set_items
403
+ # Details for the `set_metadata` type: specify an array of key-value pairs.
404
+ attr_accessor :set_metadata
405
+ # The type of action the quote line performs.
406
+ attr_accessor :type
407
+
408
+ def initialize(
409
+ add_discount: nil,
410
+ add_item: nil,
411
+ add_metadata: nil,
412
+ remove_discount: nil,
413
+ remove_item: nil,
414
+ remove_metadata: nil,
415
+ set_discounts: nil,
416
+ set_items: nil,
417
+ set_metadata: nil,
418
+ type: nil
419
+ )
420
+ @add_discount = add_discount
421
+ @add_item = add_item
422
+ @add_metadata = add_metadata
423
+ @remove_discount = remove_discount
424
+ @remove_item = remove_item
425
+ @remove_metadata = remove_metadata
426
+ @set_discounts = set_discounts
427
+ @set_items = set_items
428
+ @set_metadata = set_metadata
429
+ @type = type
430
+ end
431
+ end
432
+
433
+ class AppliesTo < ::Stripe::RequestParams
434
+ # 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.
435
+ attr_accessor :new_reference
436
+ # The ID of the schedule the line applies to.
437
+ attr_accessor :subscription_schedule
438
+ # Describes whether the quote line is affecting a new schedule or an existing schedule.
439
+ attr_accessor :type
440
+
441
+ def initialize(new_reference: nil, subscription_schedule: nil, type: nil)
442
+ @new_reference = new_reference
443
+ @subscription_schedule = subscription_schedule
444
+ @type = type
445
+ end
446
+ end
447
+
448
+ class CancelSubscriptionSchedule < ::Stripe::RequestParams
449
+ # Timestamp helper to cancel the underlying schedule on the accompanying line's start date. Must be set to `line_starts_at`.
450
+ attr_accessor :cancel_at
451
+ # 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`.
452
+ attr_accessor :invoice_now
453
+ # If the subscription schedule is `active`, indicates if the cancellation should be prorated. Boolean that defaults to `true`.
454
+ attr_accessor :prorate
455
+
456
+ def initialize(cancel_at: nil, invoice_now: nil, prorate: nil)
457
+ @cancel_at = cancel_at
458
+ @invoice_now = invoice_now
459
+ @prorate = prorate
460
+ end
461
+ end
462
+
463
+ class EndsAt < ::Stripe::RequestParams
464
+ class DiscountEnd < ::Stripe::RequestParams
465
+ # The ID of a specific discount.
466
+ attr_accessor :discount
467
+
468
+ def initialize(discount: nil)
469
+ @discount = discount
470
+ end
471
+ end
472
+
473
+ class Duration < ::Stripe::RequestParams
474
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
475
+ attr_accessor :interval
476
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
477
+ attr_accessor :interval_count
478
+
479
+ def initialize(interval: nil, interval_count: nil)
480
+ @interval = interval
481
+ @interval_count = interval_count
482
+ end
483
+ end
484
+ # Use the `end` time of a given discount.
485
+ attr_accessor :discount_end
486
+ # Time span for the quote line starting from the `starts_at` date.
487
+ attr_accessor :duration
488
+ # A precise Unix timestamp.
489
+ attr_accessor :timestamp
490
+ # Select a way to pass in `ends_at`.
491
+ attr_accessor :type
492
+
493
+ def initialize(discount_end: nil, duration: nil, timestamp: nil, type: nil)
494
+ @discount_end = discount_end
495
+ @duration = duration
496
+ @timestamp = timestamp
497
+ @type = type
498
+ end
499
+ end
500
+
501
+ class SetPauseCollection < ::Stripe::RequestParams
502
+ class Set < ::Stripe::RequestParams
503
+ # The payment collection behavior for this subscription while paused.
504
+ attr_accessor :behavior
505
+
506
+ def initialize(behavior: nil)
507
+ @behavior = behavior
508
+ end
509
+ end
510
+ # Details of the pause_collection behavior to apply to the amendment.
511
+ attr_accessor :set
512
+ # Determines the type of the pause_collection amendment.
513
+ attr_accessor :type
514
+
515
+ def initialize(set: nil, type: nil)
516
+ @set = set
517
+ @type = type
518
+ end
519
+ end
520
+
521
+ class StartsAt < ::Stripe::RequestParams
522
+ class DiscountEnd < ::Stripe::RequestParams
523
+ # The ID of a specific discount.
524
+ attr_accessor :discount
525
+
526
+ def initialize(discount: nil)
527
+ @discount = discount
528
+ end
529
+ end
530
+
531
+ class LineEndsAt < ::Stripe::RequestParams
532
+ # 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.
533
+ attr_accessor :index
534
+
535
+ def initialize(index: nil)
536
+ @index = index
537
+ end
538
+ end
539
+ # Use the `end` time of a given discount.
540
+ attr_accessor :discount_end
541
+ # The timestamp the given line ends at.
542
+ attr_accessor :line_ends_at
543
+ # A precise Unix timestamp.
544
+ attr_accessor :timestamp
545
+ # Select a way to pass in `starts_at`.
546
+ attr_accessor :type
547
+
548
+ def initialize(discount_end: nil, line_ends_at: nil, timestamp: nil, type: nil)
549
+ @discount_end = discount_end
550
+ @line_ends_at = line_ends_at
551
+ @timestamp = timestamp
552
+ @type = type
553
+ end
554
+ end
555
+
556
+ class TrialSettings < ::Stripe::RequestParams
557
+ class EndBehavior < ::Stripe::RequestParams
558
+ # Configure how an opt-in following a paid trial is billed when using `billing_behavior: prorate_up_front`.
559
+ attr_accessor :prorate_up_front
560
+
561
+ def initialize(prorate_up_front: nil)
562
+ @prorate_up_front = prorate_up_front
563
+ end
564
+ end
565
+ # Defines how the subscription should behave when a trial ends.
566
+ attr_accessor :end_behavior
567
+
568
+ def initialize(end_behavior: nil)
569
+ @end_behavior = end_behavior
570
+ end
571
+ end
572
+ # An array of operations the quote line performs.
573
+ attr_accessor :actions
574
+ # Details to identify the subscription schedule the quote line applies to.
575
+ attr_accessor :applies_to
576
+ # 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.
577
+ attr_accessor :billing_cycle_anchor
578
+ # 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.
579
+ attr_accessor :cancel_subscription_schedule
580
+ # 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.
581
+ attr_accessor :ends_at
582
+ # 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.
583
+ attr_accessor :proration_behavior
584
+ # Defines how to pause collection for the underlying subscription throughout the duration of the amendment.
585
+ attr_accessor :set_pause_collection
586
+ # Timestamp helper to end the underlying schedule early, based on the acompanying line's start or end date.
587
+ attr_accessor :set_schedule_end
588
+ # Details to identify the earliest timestamp where the proposed change should take effect.
589
+ attr_accessor :starts_at
590
+ # Settings related to subscription trials.
591
+ attr_accessor :trial_settings
592
+
593
+ def initialize(
594
+ actions: nil,
595
+ applies_to: nil,
596
+ billing_cycle_anchor: nil,
597
+ cancel_subscription_schedule: nil,
598
+ ends_at: nil,
599
+ proration_behavior: nil,
600
+ set_pause_collection: nil,
601
+ set_schedule_end: nil,
602
+ starts_at: nil,
603
+ trial_settings: nil
604
+ )
605
+ @actions = actions
606
+ @applies_to = applies_to
607
+ @billing_cycle_anchor = billing_cycle_anchor
608
+ @cancel_subscription_schedule = cancel_subscription_schedule
609
+ @ends_at = ends_at
610
+ @proration_behavior = proration_behavior
611
+ @set_pause_collection = set_pause_collection
612
+ @set_schedule_end = set_schedule_end
613
+ @starts_at = starts_at
614
+ @trial_settings = trial_settings
615
+ end
616
+ end
617
+
106
618
  class LineItem < ::Stripe::RequestParams
107
619
  class Discount < ::Stripe::RequestParams
620
+ class DiscountEnd < ::Stripe::RequestParams
621
+ class Duration < ::Stripe::RequestParams
622
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
623
+ attr_accessor :interval
624
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
625
+ attr_accessor :interval_count
626
+
627
+ def initialize(interval: nil, interval_count: nil)
628
+ @interval = interval
629
+ @interval_count = interval_count
630
+ end
631
+ end
632
+ # Time span for the redeemed discount.
633
+ attr_accessor :duration
634
+ # A precise Unix timestamp for the discount to end. Must be in the future.
635
+ attr_accessor :timestamp
636
+ # The type of calculation made to determine when the discount ends.
637
+ attr_accessor :type
638
+
639
+ def initialize(duration: nil, timestamp: nil, type: nil)
640
+ @duration = duration
641
+ @timestamp = timestamp
642
+ @type = type
643
+ end
644
+ end
108
645
  # ID of the coupon to create a new discount for.
109
646
  attr_accessor :coupon
110
647
  # ID of an existing discount on the object (or one of its ancestors) to reuse.
111
648
  attr_accessor :discount
649
+ # Details to determine how long the discount should be applied for.
650
+ attr_accessor :discount_end
112
651
  # ID of the promotion code to create a new discount for.
113
652
  attr_accessor :promotion_code
114
653
 
115
- def initialize(coupon: nil, discount: nil, promotion_code: nil)
654
+ def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
116
655
  @coupon = coupon
117
656
  @discount = discount
657
+ @discount_end = discount_end
118
658
  @promotion_code = promotion_code
119
659
  end
120
660
  end
@@ -191,6 +731,84 @@ module Stripe
191
731
  end
192
732
 
193
733
  class SubscriptionData < ::Stripe::RequestParams
734
+ class BillOnAcceptance < ::Stripe::RequestParams
735
+ class BillFrom < ::Stripe::RequestParams
736
+ class LineStartsAt < ::Stripe::RequestParams
737
+ # The ID of a quote line.
738
+ attr_accessor :id
739
+ # 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.
740
+ attr_accessor :index
741
+
742
+ def initialize(id: nil, index: nil)
743
+ @id = id
744
+ @index = index
745
+ end
746
+ end
747
+ # Details of a Quote line to start the bill period from.
748
+ attr_accessor :line_starts_at
749
+ # A precise Unix timestamp.
750
+ attr_accessor :timestamp
751
+ # The type of method to specify the `bill_from` time.
752
+ attr_accessor :type
753
+
754
+ def initialize(line_starts_at: nil, timestamp: nil, type: nil)
755
+ @line_starts_at = line_starts_at
756
+ @timestamp = timestamp
757
+ @type = type
758
+ end
759
+ end
760
+
761
+ class BillUntil < ::Stripe::RequestParams
762
+ class Duration < ::Stripe::RequestParams
763
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
764
+ attr_accessor :interval
765
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
766
+ attr_accessor :interval_count
767
+
768
+ def initialize(interval: nil, interval_count: nil)
769
+ @interval = interval
770
+ @interval_count = interval_count
771
+ end
772
+ end
773
+
774
+ class LineEndsAt < ::Stripe::RequestParams
775
+ # The ID of a quote line.
776
+ attr_accessor :id
777
+ # 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.
778
+ attr_accessor :index
779
+
780
+ def initialize(id: nil, index: nil)
781
+ @id = id
782
+ @index = index
783
+ end
784
+ end
785
+ # Details of the duration over which to bill.
786
+ attr_accessor :duration
787
+ # Details of a Quote line item from which to bill until.
788
+ attr_accessor :line_ends_at
789
+ # A precise Unix timestamp.
790
+ attr_accessor :timestamp
791
+ # The type of method to specify the `bill_until` time.
792
+ attr_accessor :type
793
+
794
+ def initialize(duration: nil, line_ends_at: nil, timestamp: nil, type: nil)
795
+ @duration = duration
796
+ @line_ends_at = line_ends_at
797
+ @timestamp = timestamp
798
+ @type = type
799
+ end
800
+ end
801
+ # The start of the period to bill from when the Quote is accepted.
802
+ attr_accessor :bill_from
803
+ # The end of the period to bill until when the Quote is accepted.
804
+ attr_accessor :bill_until
805
+
806
+ def initialize(bill_from: nil, bill_until: nil)
807
+ @bill_from = bill_from
808
+ @bill_until = bill_until
809
+ end
810
+ end
811
+
194
812
  class BillingMode < ::Stripe::RequestParams
195
813
  class Flexible < ::Stripe::RequestParams
196
814
  # Controls how invoices and invoice items display proration amounts and discount amounts.
@@ -210,32 +828,208 @@ module Stripe
210
828
  @type = type
211
829
  end
212
830
  end
831
+
832
+ class Prebilling < ::Stripe::RequestParams
833
+ # This is used to determine the number of billing cycles to prebill.
834
+ attr_accessor :iterations
835
+
836
+ def initialize(iterations: nil)
837
+ @iterations = iterations
838
+ end
839
+ end
840
+ # Describes the period to bill for upon accepting the quote.
841
+ attr_accessor :bill_on_acceptance
842
+ # 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.
843
+ attr_accessor :billing_behavior
844
+ # When specified as `reset`, the subscription will always start a new billing period when the quote is accepted.
845
+ attr_accessor :billing_cycle_anchor
213
846
  # Controls how prorations and invoices for subscriptions are calculated and orchestrated.
214
847
  attr_accessor :billing_mode
215
848
  # 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.
216
849
  attr_accessor :description
217
- # 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.
850
+ # 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.
218
851
  attr_accessor :effective_date
852
+ # Behavior of the subscription schedule and underlying subscription when it ends.
853
+ attr_accessor :end_behavior
854
+ # 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.
855
+ attr_accessor :from_subscription
219
856
  # 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.
220
857
  attr_accessor :metadata
858
+ # If specified, the invoicing for the given billing cycle iterations will be processed when the quote is accepted. Cannot be used with `effective_date`.
859
+ attr_accessor :prebilling
860
+ # Determines how to handle [prorations](https://docs.stripe.com/subscriptions/billing-cycle#prorations). When creating a subscription, valid values are `create_prorations` or `none`.
861
+ #
862
+ # When updating a subscription, valid values are `create_prorations`, `none`, or `always_invoice`.
863
+ #
864
+ # 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`.
865
+ #
866
+ # Prorations can be disabled by passing `none`.
867
+ attr_accessor :proration_behavior
221
868
  # Integer representing the number of trial period days before the customer is charged for the first time.
222
869
  attr_accessor :trial_period_days
223
870
 
224
871
  def initialize(
872
+ bill_on_acceptance: nil,
873
+ billing_behavior: nil,
874
+ billing_cycle_anchor: nil,
225
875
  billing_mode: nil,
226
876
  description: nil,
227
877
  effective_date: nil,
878
+ end_behavior: nil,
879
+ from_subscription: nil,
228
880
  metadata: nil,
881
+ prebilling: nil,
882
+ proration_behavior: nil,
229
883
  trial_period_days: nil
230
884
  )
885
+ @bill_on_acceptance = bill_on_acceptance
886
+ @billing_behavior = billing_behavior
887
+ @billing_cycle_anchor = billing_cycle_anchor
231
888
  @billing_mode = billing_mode
232
889
  @description = description
233
890
  @effective_date = effective_date
891
+ @end_behavior = end_behavior
892
+ @from_subscription = from_subscription
234
893
  @metadata = metadata
894
+ @prebilling = prebilling
895
+ @proration_behavior = proration_behavior
235
896
  @trial_period_days = trial_period_days
236
897
  end
237
898
  end
238
899
 
900
+ class SubscriptionDataOverride < ::Stripe::RequestParams
901
+ class AppliesTo < ::Stripe::RequestParams
902
+ # 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.
903
+ attr_accessor :new_reference
904
+ # The ID of the schedule the line applies to.
905
+ attr_accessor :subscription_schedule
906
+ # Describes whether the quote line is affecting a new schedule or an existing schedule.
907
+ attr_accessor :type
908
+
909
+ def initialize(new_reference: nil, subscription_schedule: nil, type: nil)
910
+ @new_reference = new_reference
911
+ @subscription_schedule = subscription_schedule
912
+ @type = type
913
+ end
914
+ end
915
+
916
+ class BillOnAcceptance < ::Stripe::RequestParams
917
+ class BillFrom < ::Stripe::RequestParams
918
+ class LineStartsAt < ::Stripe::RequestParams
919
+ # The ID of a quote line.
920
+ attr_accessor :id
921
+ # 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.
922
+ attr_accessor :index
923
+
924
+ def initialize(id: nil, index: nil)
925
+ @id = id
926
+ @index = index
927
+ end
928
+ end
929
+ # Details of a Quote line to start the bill period from.
930
+ attr_accessor :line_starts_at
931
+ # A precise Unix timestamp.
932
+ attr_accessor :timestamp
933
+ # The type of method to specify the `bill_from` time.
934
+ attr_accessor :type
935
+
936
+ def initialize(line_starts_at: nil, timestamp: nil, type: nil)
937
+ @line_starts_at = line_starts_at
938
+ @timestamp = timestamp
939
+ @type = type
940
+ end
941
+ end
942
+
943
+ class BillUntil < ::Stripe::RequestParams
944
+ class Duration < ::Stripe::RequestParams
945
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
946
+ attr_accessor :interval
947
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
948
+ attr_accessor :interval_count
949
+
950
+ def initialize(interval: nil, interval_count: nil)
951
+ @interval = interval
952
+ @interval_count = interval_count
953
+ end
954
+ end
955
+
956
+ class LineEndsAt < ::Stripe::RequestParams
957
+ # The ID of a quote line.
958
+ attr_accessor :id
959
+ # 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.
960
+ attr_accessor :index
961
+
962
+ def initialize(id: nil, index: nil)
963
+ @id = id
964
+ @index = index
965
+ end
966
+ end
967
+ # Details of the duration over which to bill.
968
+ attr_accessor :duration
969
+ # Details of a Quote line item from which to bill until.
970
+ attr_accessor :line_ends_at
971
+ # A precise Unix timestamp.
972
+ attr_accessor :timestamp
973
+ # The type of method to specify the `bill_until` time.
974
+ attr_accessor :type
975
+
976
+ def initialize(duration: nil, line_ends_at: nil, timestamp: nil, type: nil)
977
+ @duration = duration
978
+ @line_ends_at = line_ends_at
979
+ @timestamp = timestamp
980
+ @type = type
981
+ end
982
+ end
983
+ # The start of the period to bill from when the Quote is accepted.
984
+ attr_accessor :bill_from
985
+ # The end of the period to bill until when the Quote is accepted.
986
+ attr_accessor :bill_until
987
+
988
+ def initialize(bill_from: nil, bill_until: nil)
989
+ @bill_from = bill_from
990
+ @bill_until = bill_until
991
+ end
992
+ end
993
+ # Whether the override applies to an existing Subscription Schedule or a new Subscription Schedule.
994
+ attr_accessor :applies_to
995
+ # Describes the period to bill for upon accepting the quote.
996
+ attr_accessor :bill_on_acceptance
997
+ # 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.
998
+ attr_accessor :billing_behavior
999
+ # The customer the Subscription Data override applies to. This is only relevant when `applies_to.type=new_reference`.
1000
+ attr_accessor :customer
1001
+ # 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.
1002
+ attr_accessor :description
1003
+ # Behavior of the subscription schedule and underlying subscription when it ends.
1004
+ attr_accessor :end_behavior
1005
+ # Determines how to handle [prorations](https://docs.stripe.com/subscriptions/billing-cycle#prorations). When creating a subscription, valid values are `create_prorations` or `none`.
1006
+ #
1007
+ # When updating a subscription, valid values are `create_prorations`, `none`, or `always_invoice`.
1008
+ #
1009
+ # 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`.
1010
+ #
1011
+ # Prorations can be disabled by passing `none`.
1012
+ attr_accessor :proration_behavior
1013
+
1014
+ def initialize(
1015
+ applies_to: nil,
1016
+ bill_on_acceptance: nil,
1017
+ billing_behavior: nil,
1018
+ customer: nil,
1019
+ description: nil,
1020
+ end_behavior: nil,
1021
+ proration_behavior: nil
1022
+ )
1023
+ @applies_to = applies_to
1024
+ @bill_on_acceptance = bill_on_acceptance
1025
+ @billing_behavior = billing_behavior
1026
+ @customer = customer
1027
+ @description = description
1028
+ @end_behavior = end_behavior
1029
+ @proration_behavior = proration_behavior
1030
+ end
1031
+ end
1032
+
239
1033
  class TransferData < ::Stripe::RequestParams
240
1034
  # 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.
241
1035
  attr_accessor :amount
@@ -250,6 +1044,8 @@ module Stripe
250
1044
  @destination = destination
251
1045
  end
252
1046
  end
1047
+ # Set to true to allow quote lines to have `starts_at` in the past if collection is paused between `starts_at` and now.
1048
+ attr_accessor :allow_backdated_lines
253
1049
  # 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.
254
1050
  attr_accessor :application_fee_amount
255
1051
  # 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.
@@ -282,18 +1078,23 @@ module Stripe
282
1078
  attr_accessor :invoice_settings
283
1079
  # 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.
284
1080
  attr_accessor :line_items
1081
+ # 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.
1082
+ attr_accessor :lines
285
1083
  # 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`.
286
1084
  attr_accessor :metadata
287
1085
  # The account on behalf of which to charge.
288
1086
  attr_accessor :on_behalf_of
289
1087
  # 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.
290
1088
  attr_accessor :subscription_data
1089
+ # List representing overrides for `subscription_data` configurations for specific subscription schedules.
1090
+ attr_accessor :subscription_data_overrides
291
1091
  # ID of the test clock to attach to the quote.
292
1092
  attr_accessor :test_clock
293
1093
  # The data with which to automatically create a Transfer for each of the invoices.
294
1094
  attr_accessor :transfer_data
295
1095
 
296
1096
  def initialize(
1097
+ allow_backdated_lines: nil,
297
1098
  application_fee_amount: nil,
298
1099
  application_fee_percent: nil,
299
1100
  automatic_tax: nil,
@@ -310,12 +1111,15 @@ module Stripe
310
1111
  header: nil,
311
1112
  invoice_settings: nil,
312
1113
  line_items: nil,
1114
+ lines: nil,
313
1115
  metadata: nil,
314
1116
  on_behalf_of: nil,
315
1117
  subscription_data: nil,
1118
+ subscription_data_overrides: nil,
316
1119
  test_clock: nil,
317
1120
  transfer_data: nil
318
1121
  )
1122
+ @allow_backdated_lines = allow_backdated_lines
319
1123
  @application_fee_amount = application_fee_amount
320
1124
  @application_fee_percent = application_fee_percent
321
1125
  @automatic_tax = automatic_tax
@@ -332,9 +1136,11 @@ module Stripe
332
1136
  @header = header
333
1137
  @invoice_settings = invoice_settings
334
1138
  @line_items = line_items
1139
+ @lines = lines
335
1140
  @metadata = metadata
336
1141
  @on_behalf_of = on_behalf_of
337
1142
  @subscription_data = subscription_data
1143
+ @subscription_data_overrides = subscription_data_overrides
338
1144
  @test_clock = test_clock
339
1145
  @transfer_data = transfer_data
340
1146
  end