stripe 17.0.0 → 17.1.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 (509) hide show
  1. checksums.yaml +4 -4
  2. data/lib/stripe/api_requestor.rb +34 -0
  3. data/lib/stripe/api_version.rb +1 -2
  4. data/lib/stripe/errors.rb +63 -0
  5. data/lib/stripe/event_types.rb +236 -0
  6. data/lib/stripe/events/v2_billing_bill_setting_updated_event.rb +61 -0
  7. data/lib/stripe/events/v2_core_account_closed_event.rb +44 -0
  8. data/lib/stripe/events/v2_core_account_created_event.rb +44 -0
  9. data/lib/stripe/events/v2_core_account_including_configuration_customer_capability_status_updated_event.rb +63 -0
  10. data/lib/stripe/events/v2_core_account_including_configuration_customer_updated_event.rb +44 -0
  11. data/lib/stripe/events/v2_core_account_including_configuration_merchant_capability_status_updated_event.rb +63 -0
  12. data/lib/stripe/events/v2_core_account_including_configuration_merchant_updated_event.rb +44 -0
  13. data/lib/stripe/events/v2_core_account_including_configuration_recipient_capability_status_updated_event.rb +63 -0
  14. data/lib/stripe/events/v2_core_account_including_configuration_recipient_updated_event.rb +44 -0
  15. data/lib/stripe/events/v2_core_account_including_configuration_storer_capability_status_updated_event.rb +63 -0
  16. data/lib/stripe/events/v2_core_account_including_configuration_storer_updated_event.rb +44 -0
  17. data/lib/stripe/events/v2_core_account_including_defaults_updated_event.rb +44 -0
  18. data/lib/stripe/events/v2_core_account_including_identity_updated_event.rb +44 -0
  19. data/lib/stripe/events/v2_core_account_including_requirements_updated_event.rb +44 -0
  20. data/lib/stripe/events/v2_core_account_link_returned_event.rb +42 -0
  21. data/lib/stripe/events/v2_core_account_person_created_event.rb +61 -0
  22. data/lib/stripe/events/v2_core_account_person_deleted_event.rb +61 -0
  23. data/lib/stripe/events/v2_core_account_person_updated_event.rb +61 -0
  24. data/lib/stripe/events/v2_core_account_updated_event.rb +44 -0
  25. data/lib/stripe/events/v2_money_management_adjustment_created_event.rb +44 -0
  26. data/lib/stripe/events/v2_money_management_financial_account_created_event.rb +44 -0
  27. data/lib/stripe/events/v2_money_management_financial_account_updated_event.rb +44 -0
  28. data/lib/stripe/events/v2_money_management_financial_address_activated_event.rb +44 -0
  29. data/lib/stripe/events/v2_money_management_financial_address_failed_event.rb +44 -0
  30. data/lib/stripe/events/v2_money_management_inbound_transfer_available_event.rb +61 -0
  31. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_failed_event.rb +44 -0
  32. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_processing_event.rb +44 -0
  33. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_queued_event.rb +44 -0
  34. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_returned_event.rb +44 -0
  35. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_succeeded_event.rb +44 -0
  36. data/lib/stripe/events/v2_money_management_outbound_payment_canceled_event.rb +44 -0
  37. data/lib/stripe/events/v2_money_management_outbound_payment_created_event.rb +44 -0
  38. data/lib/stripe/events/v2_money_management_outbound_payment_failed_event.rb +44 -0
  39. data/lib/stripe/events/v2_money_management_outbound_payment_posted_event.rb +44 -0
  40. data/lib/stripe/events/v2_money_management_outbound_payment_returned_event.rb +44 -0
  41. data/lib/stripe/events/v2_money_management_outbound_payment_updated_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_updated_event.rb +44 -0
  48. data/lib/stripe/events/v2_money_management_payout_method_updated_event.rb +44 -0
  49. data/lib/stripe/events/v2_money_management_received_credit_available_event.rb +61 -0
  50. data/lib/stripe/events/v2_money_management_received_credit_failed_event.rb +44 -0
  51. data/lib/stripe/events/v2_money_management_received_credit_returned_event.rb +44 -0
  52. data/lib/stripe/events/v2_money_management_received_credit_succeeded_event.rb +44 -0
  53. data/lib/stripe/events/v2_money_management_received_debit_canceled_event.rb +44 -0
  54. data/lib/stripe/events/v2_money_management_received_debit_failed_event.rb +44 -0
  55. data/lib/stripe/events/v2_money_management_received_debit_pending_event.rb +44 -0
  56. data/lib/stripe/events/v2_money_management_received_debit_succeeded_event.rb +44 -0
  57. data/lib/stripe/events/v2_money_management_received_debit_updated_event.rb +44 -0
  58. data/lib/stripe/events/v2_money_management_transaction_created_event.rb +44 -0
  59. data/lib/stripe/events/v2_money_management_transaction_updated_event.rb +44 -0
  60. data/lib/stripe/events/v2_payments_off_session_payment_authorization_attempt_failed_event.rb +44 -0
  61. data/lib/stripe/events/v2_payments_off_session_payment_authorization_attempt_started_event.rb +46 -0
  62. data/lib/stripe/events/v2_payments_off_session_payment_canceled_event.rb +44 -0
  63. data/lib/stripe/events/v2_payments_off_session_payment_created_event.rb +44 -0
  64. data/lib/stripe/events/v2_payments_off_session_payment_failed_event.rb +44 -0
  65. data/lib/stripe/events/v2_payments_off_session_payment_requires_capture_event.rb +44 -0
  66. data/lib/stripe/events/v2_payments_off_session_payment_succeeded_event.rb +44 -0
  67. data/lib/stripe/object_types.rb +58 -0
  68. data/lib/stripe/params/account_create_params.rb +300 -1
  69. data/lib/stripe/params/account_notice_list_params.rb +25 -0
  70. data/lib/stripe/params/account_notice_retrieve_params.rb +13 -0
  71. data/lib/stripe/params/account_notice_update_params.rb +36 -0
  72. data/lib/stripe/params/account_session_create_params.rb +226 -1
  73. data/lib/stripe/params/account_update_params.rb +262 -0
  74. data/lib/stripe/params/billing/analytics/meter_usage_retrieve_params.rb +65 -0
  75. data/lib/stripe/params/billing/credit_balance_summary_retrieve_params.rb +4 -1
  76. data/lib/stripe/params/billing/credit_balance_transaction_list_params.rb +4 -0
  77. data/lib/stripe/params/billing/credit_grant_create_params.rb +4 -0
  78. data/lib/stripe/params/billing/credit_grant_list_params.rb +4 -0
  79. data/lib/stripe/params/billing_portal/session_create_params.rb +4 -0
  80. data/lib/stripe/params/capital/financing_offer_list_params.rb +58 -0
  81. data/lib/stripe/params/capital/financing_offer_mark_delivered_params.rb +15 -0
  82. data/lib/stripe/params/capital/financing_offer_retrieve_params.rb +15 -0
  83. data/lib/stripe/params/capital/financing_summary_retrieve_params.rb +15 -0
  84. data/lib/stripe/params/capital/financing_transaction_list_params.rb +45 -0
  85. data/lib/stripe/params/capital/financing_transaction_retrieve_params.rb +15 -0
  86. data/lib/stripe/params/charge_capture_params.rb +709 -0
  87. data/lib/stripe/params/charge_update_params.rb +709 -0
  88. data/lib/stripe/params/checkout/session_create_params.rb +193 -3
  89. data/lib/stripe/params/checkout/session_list_params.rb +4 -0
  90. data/lib/stripe/params/checkout/session_update_params.rb +288 -1
  91. data/lib/stripe/params/confirmation_token_create_params.rb +97 -0
  92. data/lib/stripe/params/coupon_create_params.rb +17 -1
  93. data/lib/stripe/params/credit_note_list_params.rb +4 -0
  94. data/lib/stripe/params/customer_session_create_params.rb +4 -1
  95. data/lib/stripe/params/dispute_update_params.rb +10 -1
  96. data/lib/stripe/params/external_account_create_params.rb +134 -0
  97. data/lib/stripe/params/external_account_delete_params.rb +6 -0
  98. data/lib/stripe/params/external_account_list_params.rb +25 -0
  99. data/lib/stripe/params/external_account_retrieve_params.rb +13 -0
  100. data/lib/stripe/params/external_account_update_params.rb +91 -0
  101. data/lib/stripe/params/financial_connections/account_inferred_balance_list_params.rb +24 -0
  102. data/lib/stripe/params/financial_connections/account_list_params.rb +4 -1
  103. data/lib/stripe/params/financial_connections/institution_list_params.rb +24 -0
  104. data/lib/stripe/params/financial_connections/institution_retrieve_params.rb +15 -0
  105. data/lib/stripe/params/financial_connections/session_create_params.rb +34 -2
  106. data/lib/stripe/params/fx_quote_create_params.rb +73 -0
  107. data/lib/stripe/params/fx_quote_list_params.rb +22 -0
  108. data/lib/stripe/params/fx_quote_retrieve_params.rb +13 -0
  109. data/lib/stripe/params/identity/verification_session_create_params.rb +4 -0
  110. data/lib/stripe/params/identity/verification_session_list_params.rb +4 -0
  111. data/lib/stripe/params/invoice_add_lines_params.rb +33 -1
  112. data/lib/stripe/params/invoice_attach_payment_params.rb +46 -1
  113. data/lib/stripe/params/invoice_create_params.rb +112 -2
  114. data/lib/stripe/params/invoice_create_preview_params.rb +826 -9
  115. data/lib/stripe/params/invoice_item_create_params.rb +37 -1
  116. data/lib/stripe/params/invoice_item_list_params.rb +4 -0
  117. data/lib/stripe/params/invoice_item_update_params.rb +33 -1
  118. data/lib/stripe/params/invoice_line_item_update_params.rb +33 -1
  119. data/lib/stripe/params/invoice_list_params.rb +4 -0
  120. data/lib/stripe/params/invoice_payment_list_params.rb +4 -1
  121. data/lib/stripe/params/invoice_update_lines_params.rb +33 -1
  122. data/lib/stripe/params/invoice_update_params.rb +108 -2
  123. data/lib/stripe/params/issuing/cardholder_create_params.rb +2 -1
  124. data/lib/stripe/params/issuing/credit_underwriting_record_correct_params.rb +163 -0
  125. data/lib/stripe/params/issuing/credit_underwriting_record_create_from_application_params.rb +50 -0
  126. data/lib/stripe/params/issuing/credit_underwriting_record_create_from_proactive_review_params.rb +128 -0
  127. data/lib/stripe/params/issuing/credit_underwriting_record_list_params.rb +24 -0
  128. data/lib/stripe/params/issuing/credit_underwriting_record_report_decision_params.rb +86 -0
  129. data/lib/stripe/params/issuing/credit_underwriting_record_retrieve_params.rb +15 -0
  130. data/lib/stripe/params/issuing/dispute_settlement_detail_list_params.rb +33 -0
  131. data/lib/stripe/params/issuing/dispute_settlement_detail_retrieve_params.rb +15 -0
  132. data/lib/stripe/params/issuing/fraud_liability_debit_list_params.rb +44 -0
  133. data/lib/stripe/params/issuing/fraud_liability_debit_retrieve_params.rb +15 -0
  134. data/lib/stripe/params/issuing/transaction_list_params.rb +4 -0
  135. data/lib/stripe/params/mandate_list_params.rb +39 -0
  136. data/lib/stripe/params/margin_create_params.rb +25 -0
  137. data/lib/stripe/params/margin_list_params.rb +25 -0
  138. data/lib/stripe/params/margin_retrieve_params.rb +13 -0
  139. data/lib/stripe/params/margin_update_params.rb +22 -0
  140. data/lib/stripe/params/order_cancel_params.rb +13 -0
  141. data/lib/stripe/params/order_create_params.rb +1124 -0
  142. data/lib/stripe/params/order_line_item_list_params.rb +22 -0
  143. data/lib/stripe/params/order_list_line_items_params.rb +22 -0
  144. data/lib/stripe/params/order_list_params.rb +25 -0
  145. data/lib/stripe/params/order_reopen_params.rb +13 -0
  146. data/lib/stripe/params/order_retrieve_params.rb +13 -0
  147. data/lib/stripe/params/order_submit_params.rb +16 -0
  148. data/lib/stripe/params/order_update_params.rb +1128 -0
  149. data/lib/stripe/params/payment_attempt_record_list_params.rb +19 -0
  150. data/lib/stripe/params/payment_attempt_record_retrieve_params.rb +13 -0
  151. data/lib/stripe/params/payment_intent_amount_details_line_item_list_params.rb +22 -0
  152. data/lib/stripe/params/payment_intent_capture_params.rb +895 -0
  153. data/lib/stripe/params/payment_intent_confirm_params.rb +1373 -7
  154. data/lib/stripe/params/payment_intent_create_params.rb +1387 -13
  155. data/lib/stripe/params/payment_intent_decrement_authorization_params.rb +73 -0
  156. data/lib/stripe/params/payment_intent_increment_authorization_params.rb +223 -0
  157. data/lib/stripe/params/payment_intent_list_params.rb +4 -0
  158. data/lib/stripe/params/payment_intent_trigger_action_params.rb +27 -0
  159. data/lib/stripe/params/payment_intent_update_params.rb +1409 -4
  160. data/lib/stripe/params/payment_method_attach_params.rb +4 -1
  161. data/lib/stripe/params/payment_method_configuration_create_params.rb +126 -0
  162. data/lib/stripe/params/payment_method_configuration_update_params.rb +126 -0
  163. data/lib/stripe/params/payment_method_create_params.rb +97 -0
  164. data/lib/stripe/params/payment_method_update_params.rb +19 -0
  165. data/lib/stripe/params/payment_record_report_payment_attempt_canceled_params.rb +19 -0
  166. data/lib/stripe/params/payment_record_report_payment_attempt_failed_params.rb +19 -0
  167. data/lib/stripe/params/payment_record_report_payment_attempt_guaranteed_params.rb +19 -0
  168. data/lib/stripe/params/payment_record_report_payment_attempt_informational_params.rb +93 -0
  169. data/lib/stripe/params/payment_record_report_payment_attempt_params.rb +186 -0
  170. data/lib/stripe/params/payment_record_report_payment_params.rb +252 -0
  171. data/lib/stripe/params/payment_record_retrieve_params.rb +13 -0
  172. data/lib/stripe/params/price_update_params.rb +19 -0
  173. data/lib/stripe/params/privacy/redaction_job_cancel_params.rb +15 -0
  174. data/lib/stripe/params/privacy/redaction_job_create_params.rb +67 -0
  175. data/lib/stripe/params/privacy/redaction_job_list_params.rb +27 -0
  176. data/lib/stripe/params/privacy/redaction_job_retrieve_params.rb +15 -0
  177. data/lib/stripe/params/privacy/redaction_job_run_params.rb +15 -0
  178. data/lib/stripe/params/privacy/redaction_job_update_params.rb +18 -0
  179. data/lib/stripe/params/privacy/redaction_job_validate_params.rb +15 -0
  180. data/lib/stripe/params/privacy/redaction_job_validation_error_list_params.rb +24 -0
  181. data/lib/stripe/params/promotion_code_create_params.rb +4 -0
  182. data/lib/stripe/params/promotion_code_list_params.rb +4 -0
  183. data/lib/stripe/params/quote_create_params.rb +805 -3
  184. data/lib/stripe/params/quote_line_list_params.rb +22 -0
  185. data/lib/stripe/params/quote_list_lines_params.rb +22 -0
  186. data/lib/stripe/params/quote_list_params.rb +8 -0
  187. data/lib/stripe/params/quote_list_preview_invoice_lines_params.rb +22 -0
  188. data/lib/stripe/params/quote_mark_draft_params.rb +13 -0
  189. data/lib/stripe/params/quote_mark_stale_params.rb +16 -0
  190. data/lib/stripe/params/quote_preview_invoice_list_params.rb +22 -0
  191. data/lib/stripe/params/quote_preview_subscription_schedule_list_params.rb +22 -0
  192. data/lib/stripe/params/quote_reestimate_params.rb +13 -0
  193. data/lib/stripe/params/quote_update_params.rb +813 -4
  194. data/lib/stripe/params/setup_intent_confirm_params.rb +225 -3
  195. data/lib/stripe/params/setup_intent_create_params.rb +231 -3
  196. data/lib/stripe/params/setup_intent_list_params.rb +4 -0
  197. data/lib/stripe/params/setup_intent_update_params.rb +231 -3
  198. data/lib/stripe/params/subscription_attach_cadence_params.rb +16 -0
  199. data/lib/stripe/params/subscription_create_params.rb +259 -5
  200. data/lib/stripe/params/subscription_item_create_params.rb +46 -2
  201. data/lib/stripe/params/subscription_item_update_params.rb +29 -1
  202. data/lib/stripe/params/subscription_list_params.rb +4 -0
  203. data/lib/stripe/params/subscription_schedule_amend_params.rb +570 -0
  204. data/lib/stripe/params/subscription_schedule_create_params.rb +167 -5
  205. data/lib/stripe/params/subscription_schedule_list_params.rb +4 -0
  206. data/lib/stripe/params/subscription_schedule_update_params.rb +163 -5
  207. data/lib/stripe/params/subscription_update_params.rb +238 -4
  208. data/lib/stripe/params/tax/association_find_params.rb +18 -0
  209. data/lib/stripe/params/tax/form_list_params.rb +51 -0
  210. data/lib/stripe/params/tax/form_pdf_params.rb +15 -0
  211. data/lib/stripe/params/tax/form_retrieve_params.rb +15 -0
  212. data/lib/stripe/params/tax_id_create_params.rb +4 -1
  213. data/lib/stripe/params/tax_id_list_params.rb +4 -1
  214. data/lib/stripe/params/terminal/configuration_create_params.rb +13 -0
  215. data/lib/stripe/params/terminal/configuration_update_params.rb +13 -0
  216. data/lib/stripe/params/terminal/onboarding_link_create_params.rb +43 -0
  217. data/lib/stripe/params/terminal/reader_collected_data_retrieve_params.rb +15 -0
  218. data/lib/stripe/params/test_helpers/confirmation_token_create_params.rb +97 -0
  219. data/lib/stripe/params/test_helpers/treasury/received_credit_create_params.rb +25 -1
  220. data/lib/stripe/params/test_helpers/treasury/received_debit_create_params.rb +25 -1
  221. data/lib/stripe/params/transfer_create_params.rb +4 -0
  222. data/lib/stripe/params/treasury/financial_account_create_params.rb +8 -1
  223. data/lib/stripe/params/treasury/financial_account_features_update_params.rb +4 -1
  224. data/lib/stripe/params/treasury/financial_account_update_features_params.rb +4 -1
  225. data/lib/stripe/params/treasury/financial_account_update_params.rb +8 -1
  226. data/lib/stripe/params/treasury/outbound_transfer_create_params.rb +24 -0
  227. data/lib/stripe/params/treasury/received_credit_create_params.rb +25 -1
  228. data/lib/stripe/params/treasury/received_debit_create_params.rb +25 -1
  229. data/lib/stripe/params/v2/billing/bill_setting_create_params.rb +74 -0
  230. data/lib/stripe/params/v2/billing/bill_setting_list_params.rb +21 -0
  231. data/lib/stripe/params/v2/billing/bill_setting_retrieve_params.rb +10 -0
  232. data/lib/stripe/params/v2/billing/bill_setting_update_params.rb +80 -0
  233. data/lib/stripe/params/v2/billing/bill_settings/version_list_params.rb +19 -0
  234. data/lib/stripe/params/v2/billing/bill_settings/version_retrieve_params.rb +12 -0
  235. data/lib/stripe/params/v2/billing/cadence_cancel_params.rb +10 -0
  236. data/lib/stripe/params/v2/billing/cadence_create_params.rb +253 -0
  237. data/lib/stripe/params/v2/billing/cadence_list_params.rb +43 -0
  238. data/lib/stripe/params/v2/billing/cadence_retrieve_params.rb +17 -0
  239. data/lib/stripe/params/v2/billing/cadence_update_params.rb +75 -0
  240. data/lib/stripe/params/v2/billing/collection_setting_create_params.rb +223 -0
  241. data/lib/stripe/params/v2/billing/collection_setting_list_params.rb +21 -0
  242. data/lib/stripe/params/v2/billing/collection_setting_retrieve_params.rb +10 -0
  243. data/lib/stripe/params/v2/billing/collection_setting_update_params.rb +229 -0
  244. data/lib/stripe/params/v2/billing/collection_settings/version_list_params.rb +19 -0
  245. data/lib/stripe/params/v2/billing/collection_settings/version_retrieve_params.rb +12 -0
  246. data/lib/stripe/params/v2/billing/profile_create_params.rb +37 -0
  247. data/lib/stripe/params/v2/billing/profile_list_params.rb +40 -0
  248. data/lib/stripe/params/v2/billing/profile_retrieve_params.rb +10 -0
  249. data/lib/stripe/params/v2/billing/profile_update_params.rb +35 -0
  250. data/lib/stripe/params/v2/core/account_close_params.rb +17 -0
  251. data/lib/stripe/params/v2/core/account_create_params.rb +2217 -0
  252. data/lib/stripe/params/v2/core/account_link_create_params.rb +101 -0
  253. data/lib/stripe/params/v2/core/account_list_params.rb +20 -0
  254. data/lib/stripe/params/v2/core/account_retrieve_params.rb +17 -0
  255. data/lib/stripe/params/v2/core/account_update_params.rb +2245 -0
  256. data/lib/stripe/params/v2/core/accounts/person_create_params.rb +493 -0
  257. data/lib/stripe/params/v2/core/accounts/person_delete_params.rb +12 -0
  258. data/lib/stripe/params/v2/core/accounts/person_list_params.rb +19 -0
  259. data/lib/stripe/params/v2/core/accounts/person_retrieve_params.rb +12 -0
  260. data/lib/stripe/params/v2/core/accounts/person_update_params.rb +493 -0
  261. data/lib/stripe/params/v2/core/vault/gb_bank_account_acknowledge_confirmation_of_payee_params.rb +12 -0
  262. data/lib/stripe/params/v2/core/vault/gb_bank_account_archive_params.rb +12 -0
  263. data/lib/stripe/params/v2/core/vault/gb_bank_account_create_params.rb +50 -0
  264. data/lib/stripe/params/v2/core/vault/gb_bank_account_initiate_confirmation_of_payee_params.rb +22 -0
  265. data/lib/stripe/params/v2/core/vault/gb_bank_account_retrieve_params.rb +12 -0
  266. data/lib/stripe/params/v2/core/vault/us_bank_account_archive_params.rb +12 -0
  267. data/lib/stripe/params/v2/core/vault/us_bank_account_create_params.rb +33 -0
  268. data/lib/stripe/params/v2/core/vault/us_bank_account_retrieve_params.rb +12 -0
  269. data/lib/stripe/params/v2/core/vault/us_bank_account_update_params.rb +22 -0
  270. data/lib/stripe/params/v2/money_management/adjustment_list_params.rb +48 -0
  271. data/lib/stripe/params/v2/money_management/adjustment_retrieve_params.rb +10 -0
  272. data/lib/stripe/params/v2/money_management/financial_account_close_params.rb +28 -0
  273. data/lib/stripe/params/v2/money_management/financial_account_create_params.rb +34 -0
  274. data/lib/stripe/params/v2/money_management/financial_account_list_params.rb +20 -0
  275. data/lib/stripe/params/v2/money_management/financial_account_retrieve_params.rb +10 -0
  276. data/lib/stripe/params/v2/money_management/financial_address_create_params.rb +20 -0
  277. data/lib/stripe/params/v2/money_management/financial_address_list_params.rb +23 -0
  278. data/lib/stripe/params/v2/money_management/financial_address_retrieve_params.rb +17 -0
  279. data/lib/stripe/params/v2/money_management/inbound_transfer_create_params.rb +50 -0
  280. data/lib/stripe/params/v2/money_management/inbound_transfer_list_params.rb +44 -0
  281. data/lib/stripe/params/v2/money_management/inbound_transfer_retrieve_params.rb +10 -0
  282. data/lib/stripe/params/v2/money_management/outbound_payment_cancel_params.rb +10 -0
  283. data/lib/stripe/params/v2/money_management/outbound_payment_create_params.rb +98 -0
  284. data/lib/stripe/params/v2/money_management/outbound_payment_list_params.rb +52 -0
  285. data/lib/stripe/params/v2/money_management/outbound_payment_quote_create_params.rb +67 -0
  286. data/lib/stripe/params/v2/money_management/outbound_payment_quote_retrieve_params.rb +10 -0
  287. data/lib/stripe/params/v2/money_management/outbound_payment_retrieve_params.rb +10 -0
  288. data/lib/stripe/params/v2/money_management/outbound_setup_intent_cancel_params.rb +10 -0
  289. data/lib/stripe/params/v2/money_management/outbound_setup_intent_create_params.rb +85 -0
  290. data/lib/stripe/params/v2/money_management/outbound_setup_intent_list_params.rb +17 -0
  291. data/lib/stripe/params/v2/money_management/outbound_setup_intent_retrieve_params.rb +10 -0
  292. data/lib/stripe/params/v2/money_management/outbound_setup_intent_update_params.rb +80 -0
  293. data/lib/stripe/params/v2/money_management/outbound_transfer_cancel_params.rb +10 -0
  294. data/lib/stripe/params/v2/money_management/outbound_transfer_create_params.rb +77 -0
  295. data/lib/stripe/params/v2/money_management/outbound_transfer_list_params.rb +48 -0
  296. data/lib/stripe/params/v2/money_management/outbound_transfer_retrieve_params.rb +10 -0
  297. data/lib/stripe/params/v2/money_management/payout_method_archive_params.rb +10 -0
  298. data/lib/stripe/params/v2/money_management/payout_method_list_params.rb +31 -0
  299. data/lib/stripe/params/v2/money_management/payout_method_retrieve_params.rb +10 -0
  300. data/lib/stripe/params/v2/money_management/payout_method_unarchive_params.rb +10 -0
  301. data/lib/stripe/params/v2/money_management/payout_methods_bank_account_spec_retrieve_params.rb +17 -0
  302. data/lib/stripe/params/v2/money_management/received_credit_list_params.rb +44 -0
  303. data/lib/stripe/params/v2/money_management/received_credit_retrieve_params.rb +10 -0
  304. data/lib/stripe/params/v2/money_management/received_debit_list_params.rb +17 -0
  305. data/lib/stripe/params/v2/money_management/received_debit_retrieve_params.rb +10 -0
  306. data/lib/stripe/params/v2/money_management/transaction_entry_list_params.rb +43 -0
  307. data/lib/stripe/params/v2/money_management/transaction_entry_retrieve_params.rb +10 -0
  308. data/lib/stripe/params/v2/money_management/transaction_list_params.rb +47 -0
  309. data/lib/stripe/params/v2/money_management/transaction_retrieve_params.rb +10 -0
  310. data/lib/stripe/params/v2/payments/off_session_payment_cancel_params.rb +10 -0
  311. data/lib/stripe/params/v2/payments/off_session_payment_capture_params.rb +61 -0
  312. data/lib/stripe/params/v2/payments/off_session_payment_create_params.rb +237 -0
  313. data/lib/stripe/params/v2/payments/off_session_payment_list_params.rb +17 -0
  314. data/lib/stripe/params/v2/payments/off_session_payment_retrieve_params.rb +10 -0
  315. data/lib/stripe/params/v2/test_helpers/financial_address_credit_params.rb +23 -0
  316. data/lib/stripe/params/v2/test_helpers/financial_address_generate_microdeposits_params.rb +10 -0
  317. data/lib/stripe/params.rb +169 -0
  318. data/lib/stripe/resources/account.rb +166 -1
  319. data/lib/stripe/resources/account_notice.rb +94 -0
  320. data/lib/stripe/resources/account_session.rb +81 -0
  321. data/lib/stripe/resources/billing/analytics/meter_usage.rb +33 -0
  322. data/lib/stripe/resources/billing/analytics/meter_usage_row.rb +38 -0
  323. data/lib/stripe/resources/billing/credit_balance_summary.rb +2 -0
  324. data/lib/stripe/resources/billing/credit_grant.rb +2 -0
  325. data/lib/stripe/resources/billing_portal/session.rb +2 -0
  326. data/lib/stripe/resources/capital/financing_offer.rb +142 -0
  327. data/lib/stripe/resources/capital/financing_summary.rb +79 -0
  328. data/lib/stripe/resources/capital/financing_transaction.rb +99 -0
  329. data/lib/stripe/resources/card.rb +2 -0
  330. data/lib/stripe/resources/cash_balance.rb +2 -0
  331. data/lib/stripe/resources/charge.rb +234 -1
  332. data/lib/stripe/resources/checkout/session.rb +154 -4
  333. data/lib/stripe/resources/confirmation_token.rb +155 -0
  334. data/lib/stripe/resources/coupon.rb +26 -1
  335. data/lib/stripe/resources/credit_note.rb +2 -0
  336. data/lib/stripe/resources/credit_note_line_item.rb +18 -0
  337. data/lib/stripe/resources/customer.rb +2 -0
  338. data/lib/stripe/resources/customer_balance_transaction.rb +2 -0
  339. data/lib/stripe/resources/customer_cash_balance_transaction.rb +2 -0
  340. data/lib/stripe/resources/customer_session.rb +2 -0
  341. data/lib/stripe/resources/discount.rb +2 -0
  342. data/lib/stripe/resources/dispute.rb +22 -0
  343. data/lib/stripe/resources/event.rb +64 -1
  344. data/lib/stripe/resources/financial_connections/account.rb +27 -0
  345. data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +35 -0
  346. data/lib/stripe/resources/financial_connections/institution.rb +127 -0
  347. data/lib/stripe/resources/financial_connections/session.rb +67 -1
  348. data/lib/stripe/resources/fx_quote.rb +147 -0
  349. data/lib/stripe/resources/identity/verification_session.rb +2 -0
  350. data/lib/stripe/resources/invoice.rb +152 -1
  351. data/lib/stripe/resources/invoice_item.rb +4 -0
  352. data/lib/stripe/resources/invoice_line_item.rb +40 -0
  353. data/lib/stripe/resources/invoice_payment.rb +2 -0
  354. data/lib/stripe/resources/issuing/credit_underwriting_record.rb +263 -0
  355. data/lib/stripe/resources/issuing/dispute_settlement_detail.rb +71 -0
  356. data/lib/stripe/resources/issuing/fraud_liability_debit.rb +51 -0
  357. data/lib/stripe/resources/issuing/settlement.rb +61 -0
  358. data/lib/stripe/resources/issuing/transaction.rb +2 -0
  359. data/lib/stripe/resources/line_item.rb +68 -1
  360. data/lib/stripe/resources/mandate.rb +71 -0
  361. data/lib/stripe/resources/margin.rb +64 -0
  362. data/lib/stripe/resources/order.rb +987 -0
  363. data/lib/stripe/resources/payment_attempt_record.rb +2102 -0
  364. data/lib/stripe/resources/payment_intent.rb +848 -4
  365. data/lib/stripe/resources/payment_intent_amount_details_line_item.rb +128 -0
  366. data/lib/stripe/resources/payment_method.rb +157 -0
  367. data/lib/stripe/resources/payment_method_configuration.rb +204 -0
  368. data/lib/stripe/resources/payment_record.rb +2208 -0
  369. data/lib/stripe/resources/price.rb +20 -0
  370. data/lib/stripe/resources/privacy/redaction_job.rb +187 -0
  371. data/lib/stripe/resources/privacy/redaction_job_validation_error.rb +49 -0
  372. data/lib/stripe/resources/promotion_code.rb +2 -0
  373. data/lib/stripe/resources/quote.rb +571 -2
  374. data/lib/stripe/resources/quote_line.rb +521 -0
  375. data/lib/stripe/resources/quote_preview_invoice.rb +1150 -0
  376. data/lib/stripe/resources/quote_preview_subscription_schedule.rb +732 -0
  377. data/lib/stripe/resources/refund.rb +18 -0
  378. data/lib/stripe/resources/setup_attempt.rb +63 -0
  379. data/lib/stripe/resources/setup_intent.rb +132 -1
  380. data/lib/stripe/resources/source.rb +38 -0
  381. data/lib/stripe/resources/subscription.rb +232 -0
  382. data/lib/stripe/resources/subscription_item.rb +20 -1
  383. data/lib/stripe/resources/subscription_schedule.rb +198 -3
  384. data/lib/stripe/resources/tax/association.rb +86 -0
  385. data/lib/stripe/resources/tax/form.rb +264 -0
  386. data/lib/stripe/resources/tax_id.rb +4 -0
  387. data/lib/stripe/resources/terminal/configuration.rb +16 -0
  388. data/lib/stripe/resources/terminal/onboarding_link.rb +71 -0
  389. data/lib/stripe/resources/terminal/reader.rb +8 -0
  390. data/lib/stripe/resources/terminal/reader_collected_data.rb +47 -0
  391. data/lib/stripe/resources/transfer.rb +2 -0
  392. data/lib/stripe/resources/treasury/financial_account.rb +2 -0
  393. data/lib/stripe/resources/treasury/financial_account_features.rb +2 -0
  394. data/lib/stripe/resources/treasury/outbound_transfer.rb +30 -0
  395. data/lib/stripe/resources/treasury/received_credit.rb +30 -0
  396. data/lib/stripe/resources/treasury/received_debit.rb +32 -0
  397. data/lib/stripe/resources/v2/billing/bill_setting.rb +102 -0
  398. data/lib/stripe/resources/v2/billing/bill_setting_version.rb +90 -0
  399. data/lib/stripe/resources/v2/billing/cadence.rb +609 -0
  400. data/lib/stripe/resources/v2/billing/collection_setting.rb +274 -0
  401. data/lib/stripe/resources/v2/billing/collection_setting_version.rb +262 -0
  402. data/lib/stripe/resources/v2/billing/profile.rb +46 -0
  403. data/lib/stripe/resources/v2/core/account.rb +3851 -0
  404. data/lib/stripe/resources/v2/core/account_link.rb +123 -0
  405. data/lib/stripe/resources/v2/core/account_person.rb +477 -0
  406. data/lib/stripe/resources/v2/core/vault/gb_bank_account.rb +114 -0
  407. data/lib/stripe/resources/v2/core/vault/us_bank_account.rb +47 -0
  408. data/lib/stripe/resources/v2/financial_address_credit_simulation.rb +28 -0
  409. data/lib/stripe/resources/v2/financial_address_generated_microdeposits.rb +30 -0
  410. data/lib/stripe/resources/v2/money_management/adjustment.rb +67 -0
  411. data/lib/stripe/resources/v2/money_management/financial_account.rb +140 -0
  412. data/lib/stripe/resources/v2/money_management/financial_address.rb +132 -0
  413. data/lib/stripe/resources/v2/money_management/inbound_transfer.rb +148 -0
  414. data/lib/stripe/resources/v2/money_management/outbound_payment.rb +217 -0
  415. data/lib/stripe/resources/v2/money_management/outbound_payment_quote.rb +144 -0
  416. data/lib/stripe/resources/v2/money_management/outbound_setup_intent.rb +69 -0
  417. data/lib/stripe/resources/v2/money_management/outbound_transfer.rb +196 -0
  418. data/lib/stripe/resources/v2/money_management/payout_method.rb +109 -0
  419. data/lib/stripe/resources/v2/money_management/payout_methods_bank_account_spec.rb +81 -0
  420. data/lib/stripe/resources/v2/money_management/received_credit.rb +228 -0
  421. data/lib/stripe/resources/v2/money_management/received_debit.rb +136 -0
  422. data/lib/stripe/resources/v2/money_management/transaction.rb +116 -0
  423. data/lib/stripe/resources/v2/money_management/transaction_entry.rb +105 -0
  424. data/lib/stripe/resources/v2/payments/off_session_payment.rb +242 -0
  425. data/lib/stripe/resources.rb +116 -0
  426. data/lib/stripe/services/account_notice_service.rb +39 -0
  427. data/lib/stripe/services/billing/analytics/meter_usage_service.rb +21 -0
  428. data/lib/stripe/services/billing/analytics_service.rb +15 -0
  429. data/lib/stripe/services/billing_service.rb +2 -1
  430. data/lib/stripe/services/capital/financing_offer_service.rb +42 -0
  431. data/lib/stripe/services/capital/financing_summary_service.rb +19 -0
  432. data/lib/stripe/services/capital/financing_transaction_service.rb +31 -0
  433. data/lib/stripe/services/capital_service.rb +15 -0
  434. data/lib/stripe/services/external_account_service.rb +68 -0
  435. data/lib/stripe/services/financial_connections/account_inferred_balance_service.rb +19 -0
  436. data/lib/stripe/services/financial_connections/account_service.rb +3 -1
  437. data/lib/stripe/services/financial_connections/institution_service.rb +30 -0
  438. data/lib/stripe/services/financial_connections_service.rb +2 -1
  439. data/lib/stripe/services/fx_quote_service.rb +27 -0
  440. data/lib/stripe/services/issuing/credit_underwriting_record_service.rb +74 -0
  441. data/lib/stripe/services/issuing/dispute_settlement_detail_service.rb +30 -0
  442. data/lib/stripe/services/issuing/fraud_liability_debit_service.rb +30 -0
  443. data/lib/stripe/services/issuing_service.rb +5 -1
  444. data/lib/stripe/services/mandate_service.rb +5 -0
  445. data/lib/stripe/services/margin_service.rb +50 -0
  446. data/lib/stripe/services/order_line_item_service.rb +17 -0
  447. data/lib/stripe/services/order_service.rb +78 -0
  448. data/lib/stripe/services/payment_attempt_record_service.rb +28 -0
  449. data/lib/stripe/services/payment_intent_amount_details_line_item_service.rb +17 -0
  450. data/lib/stripe/services/payment_intent_service.rb +44 -0
  451. data/lib/stripe/services/payment_record_service.rb +89 -0
  452. data/lib/stripe/services/privacy/redaction_job_service.rb +104 -0
  453. data/lib/stripe/services/privacy/redaction_job_validation_error_service.rb +19 -0
  454. data/lib/stripe/services/privacy_service.rb +13 -0
  455. data/lib/stripe/services/quote_line_service.rb +17 -0
  456. data/lib/stripe/services/quote_preview_invoice_service.rb +17 -0
  457. data/lib/stripe/services/quote_preview_subscription_schedule_service.rb +17 -0
  458. data/lib/stripe/services/quote_service.rb +49 -1
  459. data/lib/stripe/services/subscription_schedule_service.rb +11 -0
  460. data/lib/stripe/services/subscription_service.rb +11 -0
  461. data/lib/stripe/services/tax/association_service.rb +19 -0
  462. data/lib/stripe/services/tax/form_service.rb +37 -0
  463. data/lib/stripe/services/tax_service.rb +3 -1
  464. data/lib/stripe/services/terminal/onboarding_link_service.rb +19 -0
  465. data/lib/stripe/services/terminal/reader_collected_data_service.rb +19 -0
  466. data/lib/stripe/services/terminal_service.rb +3 -1
  467. data/lib/stripe/services/v1_services.rb +10 -1
  468. data/lib/stripe/services/v2/billing/bill_setting_service.rb +61 -0
  469. data/lib/stripe/services/v2/billing/bill_settings/version_service.rb +34 -0
  470. data/lib/stripe/services/v2/billing/cadence_service.rb +65 -0
  471. data/lib/stripe/services/v2/billing/collection_setting_service.rb +61 -0
  472. data/lib/stripe/services/v2/billing/collection_settings/version_service.rb +34 -0
  473. data/lib/stripe/services/v2/billing/profile_service.rb +54 -0
  474. data/lib/stripe/services/v2/billing_service.rb +5 -1
  475. data/lib/stripe/services/v2/core/account_link_service.rb +21 -0
  476. data/lib/stripe/services/v2/core/account_service.rb +76 -0
  477. data/lib/stripe/services/v2/core/accounts/person_service.rb +67 -0
  478. data/lib/stripe/services/v2/core/vault/gb_bank_account_service.rb +74 -0
  479. data/lib/stripe/services/v2/core/vault/us_bank_account_service.rb +68 -0
  480. data/lib/stripe/services/v2/core/vault_service.rb +18 -0
  481. data/lib/stripe/services/v2/core_service.rb +4 -1
  482. data/lib/stripe/services/v2/money_management/adjustment_service.rb +32 -0
  483. data/lib/stripe/services/v2/money_management/financial_account_service.rb +59 -0
  484. data/lib/stripe/services/v2/money_management/financial_address_service.rb +46 -0
  485. data/lib/stripe/services/v2/money_management/inbound_transfer_service.rb +45 -0
  486. data/lib/stripe/services/v2/money_management/outbound_payment_quote_service.rb +34 -0
  487. data/lib/stripe/services/v2/money_management/outbound_payment_service.rb +62 -0
  488. data/lib/stripe/services/v2/money_management/outbound_setup_intent_service.rb +73 -0
  489. data/lib/stripe/services/v2/money_management/outbound_transfer_service.rb +60 -0
  490. data/lib/stripe/services/v2/money_management/payout_method_service.rb +63 -0
  491. data/lib/stripe/services/v2/money_management/payout_methods_bank_account_spec_service.rb +23 -0
  492. data/lib/stripe/services/v2/money_management/received_credit_service.rb +32 -0
  493. data/lib/stripe/services/v2/money_management/received_debit_service.rb +32 -0
  494. data/lib/stripe/services/v2/money_management/transaction_entry_service.rb +32 -0
  495. data/lib/stripe/services/v2/money_management/transaction_service.rb +32 -0
  496. data/lib/stripe/services/v2/money_management_service.rb +31 -0
  497. data/lib/stripe/services/v2/payment_service.rb +15 -0
  498. data/lib/stripe/services/v2/payments/off_session_payment_service.rb +65 -0
  499. data/lib/stripe/services/v2/test_helper_service.rb +15 -0
  500. data/lib/stripe/services/v2/test_helpers/financial_address_service.rb +36 -0
  501. data/lib/stripe/services/v2_services.rb +4 -1
  502. data/lib/stripe/services.rb +61 -0
  503. data/lib/stripe/stripe_configuration.rb +3 -1
  504. data/lib/stripe/stripe_object.rb +1 -1
  505. data/lib/stripe/util.rb +7 -1
  506. data/lib/stripe/version.rb +1 -1
  507. data/lib/stripe.rb +53 -0
  508. data/rbi/stripe.rbi +155102 -90522
  509. metadata +349 -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
@@ -64,18 +92,529 @@ module Stripe
64
92
  end
65
93
  end
66
94
 
95
+ class Line < Stripe::RequestParams
96
+ class Action < Stripe::RequestParams
97
+ class AddDiscount < Stripe::RequestParams
98
+ class DiscountEnd < Stripe::RequestParams
99
+ # The type of calculation made to determine when the discount ends.
100
+ attr_accessor :type
101
+
102
+ def initialize(type: nil)
103
+ @type = type
104
+ end
105
+ end
106
+ # The coupon code to redeem.
107
+ attr_accessor :coupon
108
+ # An ID of an existing discount for a coupon that was already redeemed.
109
+ attr_accessor :discount
110
+ # Details to determine how long the discount should be applied for.
111
+ attr_accessor :discount_end
112
+ # The index, starting at 0, at which to position the new discount. When not supplied, Stripe defaults to appending the discount to the end of the `discounts` array.
113
+ attr_accessor :index
114
+ # The promotion code to redeem.
115
+ attr_accessor :promotion_code
116
+
117
+ def initialize(
118
+ coupon: nil,
119
+ discount: nil,
120
+ discount_end: nil,
121
+ index: nil,
122
+ promotion_code: nil
123
+ )
124
+ @coupon = coupon
125
+ @discount = discount
126
+ @discount_end = discount_end
127
+ @index = index
128
+ @promotion_code = promotion_code
129
+ end
130
+ end
131
+
132
+ class AddItem < Stripe::RequestParams
133
+ class Discount < Stripe::RequestParams
134
+ class DiscountEnd < Stripe::RequestParams
135
+ class Duration < Stripe::RequestParams
136
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
137
+ attr_accessor :interval
138
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
139
+ attr_accessor :interval_count
140
+
141
+ def initialize(interval: nil, interval_count: nil)
142
+ @interval = interval
143
+ @interval_count = interval_count
144
+ end
145
+ end
146
+ # Time span for the redeemed discount.
147
+ attr_accessor :duration
148
+ # A precise Unix timestamp for the discount to end. Must be in the future.
149
+ attr_accessor :timestamp
150
+ # The type of calculation made to determine when the discount ends.
151
+ attr_accessor :type
152
+
153
+ def initialize(duration: nil, timestamp: nil, type: nil)
154
+ @duration = duration
155
+ @timestamp = timestamp
156
+ @type = type
157
+ end
158
+ end
159
+ # ID of the coupon to create a new discount for.
160
+ attr_accessor :coupon
161
+ # ID of an existing discount on the object (or one of its ancestors) to reuse.
162
+ attr_accessor :discount
163
+ # Details to determine how long the discount should be applied for.
164
+ attr_accessor :discount_end
165
+ # ID of the promotion code to create a new discount for.
166
+ attr_accessor :promotion_code
167
+
168
+ def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
169
+ @coupon = coupon
170
+ @discount = discount
171
+ @discount_end = discount_end
172
+ @promotion_code = promotion_code
173
+ end
174
+ end
175
+
176
+ class Trial < Stripe::RequestParams
177
+ # List of price IDs which, if present on the subscription following a paid trial, constitute opting-in to the paid trial. Currently only supports at most 1 price ID.
178
+ attr_accessor :converts_to
179
+ # Determines the type of trial for this item.
180
+ attr_accessor :type
181
+
182
+ def initialize(converts_to: nil, type: nil)
183
+ @converts_to = converts_to
184
+ @type = type
185
+ end
186
+ end
187
+ # The discounts applied to the item. Subscription item discounts are applied before subscription discounts.
188
+ attr_accessor :discounts
189
+ # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
190
+ attr_accessor :metadata
191
+ # The ID of the price object.
192
+ attr_accessor :price
193
+ # Quantity for this item.
194
+ attr_accessor :quantity
195
+ # The tax rates that apply to this subscription item. When set, the `default_tax_rates` on the subscription do not apply to this `subscription_item`.
196
+ attr_accessor :tax_rates
197
+ # Options that configure the trial on the subscription item.
198
+ attr_accessor :trial
199
+
200
+ def initialize(
201
+ discounts: nil,
202
+ metadata: nil,
203
+ price: nil,
204
+ quantity: nil,
205
+ tax_rates: nil,
206
+ trial: nil
207
+ )
208
+ @discounts = discounts
209
+ @metadata = metadata
210
+ @price = price
211
+ @quantity = quantity
212
+ @tax_rates = tax_rates
213
+ @trial = trial
214
+ end
215
+ end
216
+
217
+ class RemoveDiscount < Stripe::RequestParams
218
+ # The coupon code to remove from the `discounts` array.
219
+ attr_accessor :coupon
220
+ # The ID of a discount to remove from the `discounts` array.
221
+ attr_accessor :discount
222
+ # The ID of a promotion code to remove from the `discounts` array.
223
+ attr_accessor :promotion_code
224
+
225
+ def initialize(coupon: nil, discount: nil, promotion_code: nil)
226
+ @coupon = coupon
227
+ @discount = discount
228
+ @promotion_code = promotion_code
229
+ end
230
+ end
231
+
232
+ class RemoveItem < Stripe::RequestParams
233
+ # ID of a price to remove.
234
+ attr_accessor :price
235
+
236
+ def initialize(price: nil)
237
+ @price = price
238
+ end
239
+ end
240
+
241
+ class SetDiscount < Stripe::RequestParams
242
+ # The coupon code to replace the `discounts` array with.
243
+ attr_accessor :coupon
244
+ # An ID of an existing discount to replace the `discounts` array with.
245
+ attr_accessor :discount
246
+ # An ID of an existing promotion code to replace the `discounts` array with.
247
+ attr_accessor :promotion_code
248
+
249
+ def initialize(coupon: nil, discount: nil, promotion_code: nil)
250
+ @coupon = coupon
251
+ @discount = discount
252
+ @promotion_code = promotion_code
253
+ end
254
+ end
255
+
256
+ class SetItem < Stripe::RequestParams
257
+ class Discount < Stripe::RequestParams
258
+ class DiscountEnd < Stripe::RequestParams
259
+ class Duration < Stripe::RequestParams
260
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
261
+ attr_accessor :interval
262
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
263
+ attr_accessor :interval_count
264
+
265
+ def initialize(interval: nil, interval_count: nil)
266
+ @interval = interval
267
+ @interval_count = interval_count
268
+ end
269
+ end
270
+ # Time span for the redeemed discount.
271
+ attr_accessor :duration
272
+ # A precise Unix timestamp for the discount to end. Must be in the future.
273
+ attr_accessor :timestamp
274
+ # The type of calculation made to determine when the discount ends.
275
+ attr_accessor :type
276
+
277
+ def initialize(duration: nil, timestamp: nil, type: nil)
278
+ @duration = duration
279
+ @timestamp = timestamp
280
+ @type = type
281
+ end
282
+ end
283
+ # ID of the coupon to create a new discount for.
284
+ attr_accessor :coupon
285
+ # ID of an existing discount on the object (or one of its ancestors) to reuse.
286
+ attr_accessor :discount
287
+ # Details to determine how long the discount should be applied for.
288
+ attr_accessor :discount_end
289
+ # ID of the promotion code to create a new discount for.
290
+ attr_accessor :promotion_code
291
+
292
+ def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
293
+ @coupon = coupon
294
+ @discount = discount
295
+ @discount_end = discount_end
296
+ @promotion_code = promotion_code
297
+ end
298
+ end
299
+
300
+ class Trial < Stripe::RequestParams
301
+ # 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.
302
+ attr_accessor :converts_to
303
+ # Determines the type of trial for this item.
304
+ attr_accessor :type
305
+
306
+ def initialize(converts_to: nil, type: nil)
307
+ @converts_to = converts_to
308
+ @type = type
309
+ end
310
+ end
311
+ # 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`.
312
+ attr_accessor :discounts
313
+ # 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`.
314
+ attr_accessor :metadata
315
+ # The ID of the price object.
316
+ attr_accessor :price
317
+ # 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`.
318
+ attr_accessor :quantity
319
+ # 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`.
320
+ attr_accessor :tax_rates
321
+ # 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`.
322
+ attr_accessor :trial
323
+
324
+ def initialize(
325
+ discounts: nil,
326
+ metadata: nil,
327
+ price: nil,
328
+ quantity: nil,
329
+ tax_rates: nil,
330
+ trial: nil
331
+ )
332
+ @discounts = discounts
333
+ @metadata = metadata
334
+ @price = price
335
+ @quantity = quantity
336
+ @tax_rates = tax_rates
337
+ @trial = trial
338
+ end
339
+ end
340
+ # Details for the `add_discount` type.
341
+ attr_accessor :add_discount
342
+ # Details for the `add_item` type.
343
+ attr_accessor :add_item
344
+ # Details for the `add_metadata` type: specify a hash of key-value pairs.
345
+ attr_accessor :add_metadata
346
+ # Details for the `remove_discount` type.
347
+ attr_accessor :remove_discount
348
+ # Details for the `remove_item` type.
349
+ attr_accessor :remove_item
350
+ # Details for the `remove_metadata` type: specify an array of metadata keys.
351
+ attr_accessor :remove_metadata
352
+ # Details for the `set_discounts` type.
353
+ attr_accessor :set_discounts
354
+ # Details for the `set_items` type.
355
+ attr_accessor :set_items
356
+ # Details for the `set_metadata` type: specify an array of key-value pairs.
357
+ attr_accessor :set_metadata
358
+ # The type of action the quote line performs.
359
+ attr_accessor :type
360
+
361
+ def initialize(
362
+ add_discount: nil,
363
+ add_item: nil,
364
+ add_metadata: nil,
365
+ remove_discount: nil,
366
+ remove_item: nil,
367
+ remove_metadata: nil,
368
+ set_discounts: nil,
369
+ set_items: nil,
370
+ set_metadata: nil,
371
+ type: nil
372
+ )
373
+ @add_discount = add_discount
374
+ @add_item = add_item
375
+ @add_metadata = add_metadata
376
+ @remove_discount = remove_discount
377
+ @remove_item = remove_item
378
+ @remove_metadata = remove_metadata
379
+ @set_discounts = set_discounts
380
+ @set_items = set_items
381
+ @set_metadata = set_metadata
382
+ @type = type
383
+ end
384
+ end
385
+
386
+ class AppliesTo < Stripe::RequestParams
387
+ # 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.
388
+ attr_accessor :new_reference
389
+ # The ID of the schedule the line applies to.
390
+ attr_accessor :subscription_schedule
391
+ # Describes whether the quote line is affecting a new schedule or an existing schedule.
392
+ attr_accessor :type
393
+
394
+ def initialize(new_reference: nil, subscription_schedule: nil, type: nil)
395
+ @new_reference = new_reference
396
+ @subscription_schedule = subscription_schedule
397
+ @type = type
398
+ end
399
+ end
400
+
401
+ class CancelSubscriptionSchedule < Stripe::RequestParams
402
+ # Timestamp helper to cancel the underlying schedule on the accompanying line's start date. Must be set to `line_starts_at`.
403
+ attr_accessor :cancel_at
404
+ # 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`.
405
+ attr_accessor :invoice_now
406
+ # If the subscription schedule is `active`, indicates if the cancellation should be prorated. Boolean that defaults to `true`.
407
+ attr_accessor :prorate
408
+
409
+ def initialize(cancel_at: nil, invoice_now: nil, prorate: nil)
410
+ @cancel_at = cancel_at
411
+ @invoice_now = invoice_now
412
+ @prorate = prorate
413
+ end
414
+ end
415
+
416
+ class EndsAt < Stripe::RequestParams
417
+ class DiscountEnd < Stripe::RequestParams
418
+ # The ID of a specific discount.
419
+ attr_accessor :discount
420
+
421
+ def initialize(discount: nil)
422
+ @discount = discount
423
+ end
424
+ end
425
+
426
+ class Duration < Stripe::RequestParams
427
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
428
+ attr_accessor :interval
429
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
430
+ attr_accessor :interval_count
431
+
432
+ def initialize(interval: nil, interval_count: nil)
433
+ @interval = interval
434
+ @interval_count = interval_count
435
+ end
436
+ end
437
+ # Use the `end` time of a given discount.
438
+ attr_accessor :discount_end
439
+ # Time span for the quote line starting from the `starts_at` date.
440
+ attr_accessor :duration
441
+ # A precise Unix timestamp.
442
+ attr_accessor :timestamp
443
+ # Select a way to pass in `ends_at`.
444
+ attr_accessor :type
445
+
446
+ def initialize(discount_end: nil, duration: nil, timestamp: nil, type: nil)
447
+ @discount_end = discount_end
448
+ @duration = duration
449
+ @timestamp = timestamp
450
+ @type = type
451
+ end
452
+ end
453
+
454
+ class SetPauseCollection < Stripe::RequestParams
455
+ class Set < Stripe::RequestParams
456
+ # The payment collection behavior for this subscription while paused. One of `keep_as_draft`, `mark_uncollectible`, or `void`.
457
+ attr_accessor :behavior
458
+
459
+ def initialize(behavior: nil)
460
+ @behavior = behavior
461
+ end
462
+ end
463
+ # Details of the pause_collection behavior to apply to the amendment.
464
+ attr_accessor :set
465
+ # Determines the type of the pause_collection amendment.
466
+ attr_accessor :type
467
+
468
+ def initialize(set: nil, type: nil)
469
+ @set = set
470
+ @type = type
471
+ end
472
+ end
473
+
474
+ class StartsAt < Stripe::RequestParams
475
+ class DiscountEnd < Stripe::RequestParams
476
+ # The ID of a specific discount.
477
+ attr_accessor :discount
478
+
479
+ def initialize(discount: nil)
480
+ @discount = discount
481
+ end
482
+ end
483
+
484
+ class LineEndsAt < Stripe::RequestParams
485
+ # The ID of a quote line.
486
+ attr_accessor :id
487
+ # 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.
488
+ attr_accessor :index
489
+
490
+ def initialize(id: nil, index: nil)
491
+ @id = id
492
+ @index = index
493
+ end
494
+ end
495
+ # Use the `end` time of a given discount.
496
+ attr_accessor :discount_end
497
+ # The timestamp the given line ends at.
498
+ attr_accessor :line_ends_at
499
+ # A precise Unix timestamp.
500
+ attr_accessor :timestamp
501
+ # Select a way to pass in `starts_at`.
502
+ attr_accessor :type
503
+
504
+ def initialize(discount_end: nil, line_ends_at: nil, timestamp: nil, type: nil)
505
+ @discount_end = discount_end
506
+ @line_ends_at = line_ends_at
507
+ @timestamp = timestamp
508
+ @type = type
509
+ end
510
+ end
511
+
512
+ class TrialSettings < Stripe::RequestParams
513
+ class EndBehavior < Stripe::RequestParams
514
+ # Configure how an opt-in following a paid trial is billed when using `billing_behavior: prorate_up_front`.
515
+ attr_accessor :prorate_up_front
516
+
517
+ def initialize(prorate_up_front: nil)
518
+ @prorate_up_front = prorate_up_front
519
+ end
520
+ end
521
+ # Defines how the subscription should behave when a trial ends.
522
+ attr_accessor :end_behavior
523
+
524
+ def initialize(end_behavior: nil)
525
+ @end_behavior = end_behavior
526
+ end
527
+ end
528
+ # An array of operations the quote line performs.
529
+ attr_accessor :actions
530
+ # Details to identify the subscription schedule the quote line applies to.
531
+ attr_accessor :applies_to
532
+ # 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.
533
+ attr_accessor :billing_cycle_anchor
534
+ # 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.
535
+ attr_accessor :cancel_subscription_schedule
536
+ # 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.
537
+ attr_accessor :ends_at
538
+ # The ID of an existing line on the quote.
539
+ attr_accessor :id
540
+ # 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.
541
+ attr_accessor :proration_behavior
542
+ # Defines how to pause collection for the underlying subscription throughout the duration of the amendment.
543
+ attr_accessor :set_pause_collection
544
+ # Timestamp helper to end the underlying schedule early, based on the acompanying line's start or end date.
545
+ attr_accessor :set_schedule_end
546
+ # Details to identify the earliest timestamp where the proposed change should take effect.
547
+ attr_accessor :starts_at
548
+ # Settings related to subscription trials.
549
+ attr_accessor :trial_settings
550
+
551
+ def initialize(
552
+ actions: nil,
553
+ applies_to: nil,
554
+ billing_cycle_anchor: nil,
555
+ cancel_subscription_schedule: nil,
556
+ ends_at: nil,
557
+ id: nil,
558
+ proration_behavior: nil,
559
+ set_pause_collection: nil,
560
+ set_schedule_end: nil,
561
+ starts_at: nil,
562
+ trial_settings: nil
563
+ )
564
+ @actions = actions
565
+ @applies_to = applies_to
566
+ @billing_cycle_anchor = billing_cycle_anchor
567
+ @cancel_subscription_schedule = cancel_subscription_schedule
568
+ @ends_at = ends_at
569
+ @id = id
570
+ @proration_behavior = proration_behavior
571
+ @set_pause_collection = set_pause_collection
572
+ @set_schedule_end = set_schedule_end
573
+ @starts_at = starts_at
574
+ @trial_settings = trial_settings
575
+ end
576
+ end
577
+
67
578
  class LineItem < Stripe::RequestParams
68
579
  class Discount < Stripe::RequestParams
580
+ class DiscountEnd < Stripe::RequestParams
581
+ class Duration < Stripe::RequestParams
582
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
583
+ attr_accessor :interval
584
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
585
+ attr_accessor :interval_count
586
+
587
+ def initialize(interval: nil, interval_count: nil)
588
+ @interval = interval
589
+ @interval_count = interval_count
590
+ end
591
+ end
592
+ # Time span for the redeemed discount.
593
+ attr_accessor :duration
594
+ # A precise Unix timestamp for the discount to end. Must be in the future.
595
+ attr_accessor :timestamp
596
+ # The type of calculation made to determine when the discount ends.
597
+ attr_accessor :type
598
+
599
+ def initialize(duration: nil, timestamp: nil, type: nil)
600
+ @duration = duration
601
+ @timestamp = timestamp
602
+ @type = type
603
+ end
604
+ end
69
605
  # ID of the coupon to create a new discount for.
70
606
  attr_accessor :coupon
71
607
  # ID of an existing discount on the object (or one of its ancestors) to reuse.
72
608
  attr_accessor :discount
609
+ # Details to determine how long the discount should be applied for.
610
+ attr_accessor :discount_end
73
611
  # ID of the promotion code to create a new discount for.
74
612
  attr_accessor :promotion_code
75
613
 
76
- def initialize(coupon: nil, discount: nil, promotion_code: nil)
614
+ def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
77
615
  @coupon = coupon
78
616
  @discount = discount
617
+ @discount_end = discount_end
79
618
  @promotion_code = promotion_code
80
619
  end
81
620
  end
@@ -152,23 +691,277 @@ module Stripe
152
691
  end
153
692
 
154
693
  class SubscriptionData < Stripe::RequestParams
694
+ class BillOnAcceptance < Stripe::RequestParams
695
+ class BillFrom < Stripe::RequestParams
696
+ class LineStartsAt < Stripe::RequestParams
697
+ # The ID of a quote line.
698
+ attr_accessor :id
699
+ # 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.
700
+ attr_accessor :index
701
+
702
+ def initialize(id: nil, index: nil)
703
+ @id = id
704
+ @index = index
705
+ end
706
+ end
707
+ # Details of a Quote line to start the bill period from.
708
+ attr_accessor :line_starts_at
709
+ # A precise Unix timestamp.
710
+ attr_accessor :timestamp
711
+ # The type of method to specify the `bill_from` time.
712
+ attr_accessor :type
713
+
714
+ def initialize(line_starts_at: nil, timestamp: nil, type: nil)
715
+ @line_starts_at = line_starts_at
716
+ @timestamp = timestamp
717
+ @type = type
718
+ end
719
+ end
720
+
721
+ class BillUntil < Stripe::RequestParams
722
+ class Duration < Stripe::RequestParams
723
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
724
+ attr_accessor :interval
725
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
726
+ attr_accessor :interval_count
727
+
728
+ def initialize(interval: nil, interval_count: nil)
729
+ @interval = interval
730
+ @interval_count = interval_count
731
+ end
732
+ end
733
+
734
+ class LineEndsAt < Stripe::RequestParams
735
+ # The ID of a quote line.
736
+ attr_accessor :id
737
+ # 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.
738
+ attr_accessor :index
739
+
740
+ def initialize(id: nil, index: nil)
741
+ @id = id
742
+ @index = index
743
+ end
744
+ end
745
+ # Details of the duration over which to bill.
746
+ attr_accessor :duration
747
+ # Details of a Quote line item from which to bill until.
748
+ attr_accessor :line_ends_at
749
+ # A precise Unix timestamp.
750
+ attr_accessor :timestamp
751
+ # The type of method to specify the `bill_until` time.
752
+ attr_accessor :type
753
+
754
+ def initialize(duration: nil, line_ends_at: nil, timestamp: nil, type: nil)
755
+ @duration = duration
756
+ @line_ends_at = line_ends_at
757
+ @timestamp = timestamp
758
+ @type = type
759
+ end
760
+ end
761
+ # The start of the period to bill from when the Quote is accepted.
762
+ attr_accessor :bill_from
763
+ # The end of the period to bill until when the Quote is accepted.
764
+ attr_accessor :bill_until
765
+
766
+ def initialize(bill_from: nil, bill_until: nil)
767
+ @bill_from = bill_from
768
+ @bill_until = bill_until
769
+ end
770
+ end
771
+
772
+ class Prebilling < Stripe::RequestParams
773
+ # This is used to determine the number of billing cycles to prebill.
774
+ attr_accessor :iterations
775
+
776
+ def initialize(iterations: nil)
777
+ @iterations = iterations
778
+ end
779
+ end
780
+ # Describes the period to bill for upon accepting the quote.
781
+ attr_accessor :bill_on_acceptance
782
+ # 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.
783
+ attr_accessor :billing_behavior
784
+ # When specified as `reset`, the subscription will always start a new billing period when the quote is accepted.
785
+ attr_accessor :billing_cycle_anchor
155
786
  # The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs.
156
787
  attr_accessor :description
157
- # When creating a new subscription, the date of which the subscription schedule will start after the quote is accepted. The `effective_date` is ignored if it is in the past when the quote is accepted.
788
+ # When creating a new subscription, the date of which the subscription schedule will start after the quote is accepted. When updating a subscription, the date of which the subscription will be updated using a subscription schedule. The special value `current_period_end` can be provided to update a subscription at the end of its current period. The `effective_date` is ignored if it is in the past when the quote is accepted.
158
789
  attr_accessor :effective_date
790
+ # Behavior of the subscription schedule and underlying subscription when it ends.
791
+ attr_accessor :end_behavior
159
792
  # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that will set metadata on the subscription or subscription schedule when the quote is accepted. If a recurring price is included in `line_items`, this field will be passed to the resulting subscription's `metadata` field. If `subscription_data.effective_date` is used, this field will be passed to the resulting subscription schedule's `phases.metadata` field. Unlike object-level metadata, this field is declarative. Updates will clear prior values.
160
793
  attr_accessor :metadata
794
+ # If specified, the invoicing for the given billing cycle iterations will be processed when the quote is accepted. Cannot be used with `effective_date`.
795
+ attr_accessor :prebilling
796
+ # Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations). When creating a subscription, valid values are `create_prorations` or `none`.
797
+ #
798
+ # When updating a subscription, valid values are `create_prorations`, `none`, or `always_invoice`.
799
+ #
800
+ # Passing `create_prorations` will cause proration invoice items to be created when applicable. These proration items will only be invoiced immediately under [certain conditions](https://stripe.com/docs/subscriptions/upgrading-downgrading#immediate-payment). In order to always invoice immediately for prorations, pass `always_invoice`.
801
+ #
802
+ # Prorations can be disabled by passing `none`.
803
+ attr_accessor :proration_behavior
161
804
  # Integer representing the number of trial period days before the customer is charged for the first time.
162
805
  attr_accessor :trial_period_days
163
806
 
164
- def initialize(description: nil, effective_date: nil, metadata: nil, trial_period_days: nil)
807
+ def initialize(
808
+ bill_on_acceptance: nil,
809
+ billing_behavior: nil,
810
+ billing_cycle_anchor: nil,
811
+ description: nil,
812
+ effective_date: nil,
813
+ end_behavior: nil,
814
+ metadata: nil,
815
+ prebilling: nil,
816
+ proration_behavior: nil,
817
+ trial_period_days: nil
818
+ )
819
+ @bill_on_acceptance = bill_on_acceptance
820
+ @billing_behavior = billing_behavior
821
+ @billing_cycle_anchor = billing_cycle_anchor
165
822
  @description = description
166
823
  @effective_date = effective_date
824
+ @end_behavior = end_behavior
167
825
  @metadata = metadata
826
+ @prebilling = prebilling
827
+ @proration_behavior = proration_behavior
168
828
  @trial_period_days = trial_period_days
169
829
  end
170
830
  end
171
831
 
832
+ class SubscriptionDataOverride < Stripe::RequestParams
833
+ class AppliesTo < Stripe::RequestParams
834
+ # 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.
835
+ attr_accessor :new_reference
836
+ # The ID of the schedule the line applies to.
837
+ attr_accessor :subscription_schedule
838
+ # Describes whether the quote line is affecting a new schedule or an existing schedule.
839
+ attr_accessor :type
840
+
841
+ def initialize(new_reference: nil, subscription_schedule: nil, type: nil)
842
+ @new_reference = new_reference
843
+ @subscription_schedule = subscription_schedule
844
+ @type = type
845
+ end
846
+ end
847
+
848
+ class BillOnAcceptance < Stripe::RequestParams
849
+ class BillFrom < Stripe::RequestParams
850
+ class LineStartsAt < Stripe::RequestParams
851
+ # The ID of a quote line.
852
+ attr_accessor :id
853
+ # 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.
854
+ attr_accessor :index
855
+
856
+ def initialize(id: nil, index: nil)
857
+ @id = id
858
+ @index = index
859
+ end
860
+ end
861
+ # Details of a Quote line to start the bill period from.
862
+ attr_accessor :line_starts_at
863
+ # A precise Unix timestamp.
864
+ attr_accessor :timestamp
865
+ # The type of method to specify the `bill_from` time.
866
+ attr_accessor :type
867
+
868
+ def initialize(line_starts_at: nil, timestamp: nil, type: nil)
869
+ @line_starts_at = line_starts_at
870
+ @timestamp = timestamp
871
+ @type = type
872
+ end
873
+ end
874
+
875
+ class BillUntil < Stripe::RequestParams
876
+ class Duration < Stripe::RequestParams
877
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
878
+ attr_accessor :interval
879
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
880
+ attr_accessor :interval_count
881
+
882
+ def initialize(interval: nil, interval_count: nil)
883
+ @interval = interval
884
+ @interval_count = interval_count
885
+ end
886
+ end
887
+
888
+ class LineEndsAt < Stripe::RequestParams
889
+ # The ID of a quote line.
890
+ attr_accessor :id
891
+ # 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.
892
+ attr_accessor :index
893
+
894
+ def initialize(id: nil, index: nil)
895
+ @id = id
896
+ @index = index
897
+ end
898
+ end
899
+ # Details of the duration over which to bill.
900
+ attr_accessor :duration
901
+ # Details of a Quote line item from which to bill until.
902
+ attr_accessor :line_ends_at
903
+ # A precise Unix timestamp.
904
+ attr_accessor :timestamp
905
+ # The type of method to specify the `bill_until` time.
906
+ attr_accessor :type
907
+
908
+ def initialize(duration: nil, line_ends_at: nil, timestamp: nil, type: nil)
909
+ @duration = duration
910
+ @line_ends_at = line_ends_at
911
+ @timestamp = timestamp
912
+ @type = type
913
+ end
914
+ end
915
+ # The start of the period to bill from when the Quote is accepted.
916
+ attr_accessor :bill_from
917
+ # The end of the period to bill until when the Quote is accepted.
918
+ attr_accessor :bill_until
919
+
920
+ def initialize(bill_from: nil, bill_until: nil)
921
+ @bill_from = bill_from
922
+ @bill_until = bill_until
923
+ end
924
+ end
925
+ # Whether the override applies to an existing Subscription Schedule or a new Subscription Schedule.
926
+ attr_accessor :applies_to
927
+ # Describes the period to bill for upon accepting the quote.
928
+ attr_accessor :bill_on_acceptance
929
+ # 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.
930
+ attr_accessor :billing_behavior
931
+ # The customer the Subscription Data override applies to.
932
+ attr_accessor :customer
933
+ # 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.
934
+ attr_accessor :description
935
+ # Behavior of the subscription schedule and underlying subscription when it ends.
936
+ attr_accessor :end_behavior
937
+ # Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations). When creating a subscription, valid values are `create_prorations` or `none`.
938
+ #
939
+ # When updating a subscription, valid values are `create_prorations`, `none`, or `always_invoice`.
940
+ #
941
+ # Passing `create_prorations` will cause proration invoice items to be created when applicable. These proration items will only be invoiced immediately under [certain conditions](https://stripe.com/docs/subscriptions/upgrading-downgrading#immediate-payment). In order to always invoice immediately for prorations, pass `always_invoice`.
942
+ #
943
+ # Prorations can be disabled by passing `none`.
944
+ attr_accessor :proration_behavior
945
+
946
+ def initialize(
947
+ applies_to: nil,
948
+ bill_on_acceptance: nil,
949
+ billing_behavior: nil,
950
+ customer: nil,
951
+ description: nil,
952
+ end_behavior: nil,
953
+ proration_behavior: nil
954
+ )
955
+ @applies_to = applies_to
956
+ @bill_on_acceptance = bill_on_acceptance
957
+ @billing_behavior = billing_behavior
958
+ @customer = customer
959
+ @description = description
960
+ @end_behavior = end_behavior
961
+ @proration_behavior = proration_behavior
962
+ end
963
+ end
964
+
172
965
  class TransferData < Stripe::RequestParams
173
966
  # The amount that will be transferred automatically when the invoice is paid. If no amount is set, the full amount is transferred. There cannot be any line items with recurring prices when using this field.
174
967
  attr_accessor :amount
@@ -183,6 +976,8 @@ module Stripe
183
976
  @destination = destination
184
977
  end
185
978
  end
979
+ # Set to true to allow quote lines to have `starts_at` in the past if collection is paused between `starts_at` and now.
980
+ attr_accessor :allow_backdated_lines
186
981
  # The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. There cannot be any line items with recurring prices when using this field.
187
982
  attr_accessor :application_fee_amount
188
983
  # A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. There must be at least 1 line item with a recurring price to use this field.
@@ -193,6 +988,8 @@ module Stripe
193
988
  attr_accessor :collection_method
194
989
  # The customer for which this quote belongs to. A customer is required before finalizing the quote. Once specified, it cannot be changed.
195
990
  attr_accessor :customer
991
+ # The account for which this quote belongs to. A customer or account is required before finalizing the quote. Once specified, it cannot be changed.
992
+ attr_accessor :customer_account
196
993
  # The tax rates that will apply to any line item that does not have `tax_rates` set.
197
994
  attr_accessor :default_tax_rates
198
995
  # A description that will be displayed on the quote PDF.
@@ -211,21 +1008,27 @@ module Stripe
211
1008
  attr_accessor :invoice_settings
212
1009
  # A list of line items the customer is being quoted for. Each line item includes information about the product, the quantity, and the resulting cost.
213
1010
  attr_accessor :line_items
1011
+ # 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.
1012
+ attr_accessor :lines
214
1013
  # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
215
1014
  attr_accessor :metadata
216
1015
  # The account on behalf of which to charge.
217
1016
  attr_accessor :on_behalf_of
218
1017
  # When creating a subscription or subscription schedule, the specified configuration data will be used. There must be at least one line item with a recurring price for a subscription or subscription schedule to be created. A subscription schedule is created if `subscription_data[effective_date]` is present and in the future, otherwise a subscription is created.
219
1018
  attr_accessor :subscription_data
1019
+ # List representing overrides for `subscription_data` configurations for specific subscription schedules.
1020
+ attr_accessor :subscription_data_overrides
220
1021
  # The data with which to automatically create a Transfer for each of the invoices.
221
1022
  attr_accessor :transfer_data
222
1023
 
223
1024
  def initialize(
1025
+ allow_backdated_lines: nil,
224
1026
  application_fee_amount: nil,
225
1027
  application_fee_percent: nil,
226
1028
  automatic_tax: nil,
227
1029
  collection_method: nil,
228
1030
  customer: nil,
1031
+ customer_account: nil,
229
1032
  default_tax_rates: nil,
230
1033
  description: nil,
231
1034
  discounts: nil,
@@ -235,16 +1038,20 @@ module Stripe
235
1038
  header: nil,
236
1039
  invoice_settings: nil,
237
1040
  line_items: nil,
1041
+ lines: nil,
238
1042
  metadata: nil,
239
1043
  on_behalf_of: nil,
240
1044
  subscription_data: nil,
1045
+ subscription_data_overrides: nil,
241
1046
  transfer_data: nil
242
1047
  )
1048
+ @allow_backdated_lines = allow_backdated_lines
243
1049
  @application_fee_amount = application_fee_amount
244
1050
  @application_fee_percent = application_fee_percent
245
1051
  @automatic_tax = automatic_tax
246
1052
  @collection_method = collection_method
247
1053
  @customer = customer
1054
+ @customer_account = customer_account
248
1055
  @default_tax_rates = default_tax_rates
249
1056
  @description = description
250
1057
  @discounts = discounts
@@ -254,9 +1061,11 @@ module Stripe
254
1061
  @header = header
255
1062
  @invoice_settings = invoice_settings
256
1063
  @line_items = line_items
1064
+ @lines = lines
257
1065
  @metadata = metadata
258
1066
  @on_behalf_of = on_behalf_of
259
1067
  @subscription_data = subscription_data
1068
+ @subscription_data_overrides = subscription_data_overrides
260
1069
  @transfer_data = transfer_data
261
1070
  end
262
1071
  end