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