stripe 15.3.0 → 15.4.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.
- checksums.yaml +4 -4
- data/API_VERSION +1 -1
- data/CHANGELOG.md +1594 -667
- data/README.md +1 -1
- data/VERSION +1 -1
- data/lib/stripe/api_requestor.rb +28 -0
- data/lib/stripe/api_version.rb +1 -2
- data/lib/stripe/errors.rb +54 -0
- data/lib/stripe/event_types.rb +98 -0
- data/lib/stripe/events/v2_core_account_closed_event.rb +21 -0
- data/lib/stripe/events/v2_core_account_created_event.rb +21 -0
- data/lib/stripe/events/v2_core_account_including_configuration_customer_capability_status_updated_event.rb +23 -0
- data/lib/stripe/events/v2_core_account_including_configuration_customer_updated_event.rb +21 -0
- data/lib/stripe/events/v2_core_account_including_configuration_merchant_capability_status_updated_event.rb +23 -0
- data/lib/stripe/events/v2_core_account_including_configuration_merchant_updated_event.rb +21 -0
- data/lib/stripe/events/v2_core_account_including_configuration_recipient_capability_status_updated_event.rb +23 -0
- data/lib/stripe/events/v2_core_account_including_configuration_recipient_updated_event.rb +21 -0
- data/lib/stripe/events/v2_core_account_including_defaults_updated_event.rb +21 -0
- data/lib/stripe/events/v2_core_account_including_identity_updated_event.rb +21 -0
- data/lib/stripe/events/v2_core_account_including_requirements_updated_event.rb +21 -0
- data/lib/stripe/events/v2_core_account_link_completed_event.rb +13 -0
- data/lib/stripe/events/v2_core_account_person_created_event.rb +23 -0
- data/lib/stripe/events/v2_core_account_person_deleted_event.rb +23 -0
- data/lib/stripe/events/v2_core_account_person_updated_event.rb +23 -0
- data/lib/stripe/events/v2_core_account_updated_event.rb +21 -0
- data/lib/stripe/events/v2_money_management_adjustment_created_event.rb +21 -0
- data/lib/stripe/events/v2_money_management_financial_account_created_event.rb +21 -0
- data/lib/stripe/events/v2_money_management_financial_account_updated_event.rb +21 -0
- data/lib/stripe/events/v2_money_management_financial_address_activated_event.rb +21 -0
- data/lib/stripe/events/v2_money_management_financial_address_failed_event.rb +21 -0
- data/lib/stripe/events/v2_money_management_inbound_transfer_available_event.rb +23 -0
- data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_failed_event.rb +21 -0
- data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_processing_event.rb +21 -0
- data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_queued_event.rb +21 -0
- data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_returned_event.rb +21 -0
- data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_succeeded_event.rb +21 -0
- data/lib/stripe/events/v2_money_management_outbound_payment_canceled_event.rb +21 -0
- data/lib/stripe/events/v2_money_management_outbound_payment_created_event.rb +21 -0
- data/lib/stripe/events/v2_money_management_outbound_payment_failed_event.rb +21 -0
- data/lib/stripe/events/v2_money_management_outbound_payment_posted_event.rb +21 -0
- data/lib/stripe/events/v2_money_management_outbound_payment_returned_event.rb +21 -0
- data/lib/stripe/events/v2_money_management_outbound_payment_updated_event.rb +21 -0
- data/lib/stripe/events/v2_money_management_outbound_transfer_canceled_event.rb +21 -0
- data/lib/stripe/events/v2_money_management_outbound_transfer_created_event.rb +21 -0
- data/lib/stripe/events/v2_money_management_outbound_transfer_failed_event.rb +21 -0
- data/lib/stripe/events/v2_money_management_outbound_transfer_posted_event.rb +21 -0
- data/lib/stripe/events/v2_money_management_outbound_transfer_returned_event.rb +21 -0
- data/lib/stripe/events/v2_money_management_outbound_transfer_updated_event.rb +21 -0
- data/lib/stripe/events/v2_money_management_received_credit_available_event.rb +23 -0
- data/lib/stripe/events/v2_money_management_received_credit_failed_event.rb +21 -0
- data/lib/stripe/events/v2_money_management_received_credit_returned_event.rb +21 -0
- data/lib/stripe/events/v2_money_management_received_credit_succeeded_event.rb +21 -0
- data/lib/stripe/events/v2_money_management_received_debit_canceled_event.rb +21 -0
- data/lib/stripe/events/v2_money_management_received_debit_failed_event.rb +21 -0
- data/lib/stripe/events/v2_money_management_received_debit_pending_event.rb +21 -0
- data/lib/stripe/events/v2_money_management_received_debit_succeeded_event.rb +21 -0
- data/lib/stripe/events/v2_money_management_received_debit_updated_event.rb +21 -0
- data/lib/stripe/events/v2_money_management_transaction_created_event.rb +21 -0
- data/lib/stripe/events/v2_money_management_transaction_updated_event.rb +21 -0
- data/lib/stripe/events/v2_off_session_payment_requires_capture_event.rb +21 -0
- data/lib/stripe/events/v2_payments_off_session_payment_authorization_attempt_failed_event.rb +21 -0
- data/lib/stripe/events/v2_payments_off_session_payment_authorization_attempt_started_event.rb +21 -0
- data/lib/stripe/events/v2_payments_off_session_payment_canceled_event.rb +21 -0
- data/lib/stripe/events/v2_payments_off_session_payment_created_event.rb +21 -0
- data/lib/stripe/events/v2_payments_off_session_payment_failed_event.rb +21 -0
- data/lib/stripe/events/v2_payments_off_session_payment_succeeded_event.rb +21 -0
- data/lib/stripe/object_types.rb +50 -0
- data/lib/stripe/resources/account.rb +653 -1
- data/lib/stripe/resources/account_notice.rb +123 -0
- data/lib/stripe/resources/account_session.rb +256 -1
- data/lib/stripe/resources/balance_settings.rb +105 -0
- data/lib/stripe/resources/billing/credit_balance_summary.rb +2 -0
- data/lib/stripe/resources/billing/credit_balance_transaction.rb +4 -0
- data/lib/stripe/resources/billing/credit_grant.rb +10 -0
- data/lib/stripe/resources/billing_portal/session.rb +6 -0
- data/lib/stripe/resources/capital/financing_offer.rb +179 -0
- data/lib/stripe/resources/capital/financing_summary.rb +55 -0
- data/lib/stripe/resources/capital/financing_transaction.rb +114 -0
- data/lib/stripe/resources/card.rb +2 -0
- data/lib/stripe/resources/cash_balance.rb +2 -0
- data/lib/stripe/resources/charge.rb +1538 -0
- data/lib/stripe/resources/checkout/session.rb +326 -2
- data/lib/stripe/resources/confirmation_token.rb +170 -0
- data/lib/stripe/resources/coupon.rb +30 -1
- data/lib/stripe/resources/credit_note.rb +6 -0
- data/lib/stripe/resources/credit_note_line_item.rb +9 -0
- data/lib/stripe/resources/customer.rb +2 -0
- data/lib/stripe/resources/customer_balance_transaction.rb +2 -0
- data/lib/stripe/resources/customer_cash_balance_transaction.rb +2 -0
- data/lib/stripe/resources/customer_session.rb +6 -1
- data/lib/stripe/resources/discount.rb +2 -0
- data/lib/stripe/resources/dispute.rb +2 -0
- data/lib/stripe/resources/event.rb +31 -0
- data/lib/stripe/resources/financial_connections/account.rb +22 -1
- data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +27 -0
- data/lib/stripe/resources/financial_connections/institution.rb +92 -0
- data/lib/stripe/resources/financial_connections/session.rb +62 -2
- data/lib/stripe/resources/fx_quote.rb +184 -0
- data/lib/stripe/resources/identity/verification_session.rb +10 -0
- data/lib/stripe/resources/invoice.rb +1063 -16
- data/lib/stripe/resources/invoice_item.rb +78 -2
- data/lib/stripe/resources/invoice_line_item.rb +55 -1
- data/lib/stripe/resources/invoice_payment.rb +2 -53
- data/lib/stripe/resources/issuing/cardholder.rb +2 -1
- data/lib/stripe/resources/issuing/credit_underwriting_record.rb +602 -0
- data/lib/stripe/resources/issuing/dispute_settlement_detail.rb +82 -0
- data/lib/stripe/resources/issuing/fraud_liability_debit.rb +86 -0
- data/lib/stripe/resources/issuing/settlement.rb +53 -0
- data/lib/stripe/resources/issuing/transaction.rb +6 -0
- data/lib/stripe/resources/line_item.rb +37 -0
- data/lib/stripe/resources/mandate.rb +24 -0
- data/lib/stripe/resources/margin.rb +115 -0
- data/lib/stripe/resources/order.rb +2958 -0
- data/lib/stripe/resources/payment_attempt_record.rb +1099 -0
- data/lib/stripe/resources/payment_intent.rb +8540 -3584
- data/lib/stripe/resources/payment_intent_amount_details_line_item.rb +72 -0
- data/lib/stripe/resources/payment_method.rb +192 -1
- data/lib/stripe/resources/payment_method_configuration.rb +295 -0
- data/lib/stripe/resources/payment_record.rb +1628 -0
- data/lib/stripe/resources/payout.rb +6 -0
- data/lib/stripe/resources/price.rb +30 -0
- data/lib/stripe/resources/privacy/redaction_job.rb +298 -0
- data/lib/stripe/resources/privacy/redaction_job_validation_error.rb +33 -0
- data/lib/stripe/resources/promotion_code.rb +10 -0
- data/lib/stripe/resources/quote.rb +2038 -7
- data/lib/stripe/resources/quote_line.rb +274 -0
- data/lib/stripe/resources/quote_preview_invoice.rb +663 -0
- data/lib/stripe/resources/quote_preview_subscription_schedule.rb +371 -0
- data/lib/stripe/resources/refund.rb +9 -0
- data/lib/stripe/resources/setup_attempt.rb +21 -0
- data/lib/stripe/resources/setup_intent.rb +578 -9
- data/lib/stripe/resources/source.rb +29 -0
- data/lib/stripe/resources/subscription.rb +288 -9
- data/lib/stripe/resources/subscription_item.rb +84 -3
- data/lib/stripe/resources/subscription_schedule.rb +1007 -10
- data/lib/stripe/resources/tax/association.rb +66 -0
- data/lib/stripe/resources/tax/form.rb +211 -0
- data/lib/stripe/resources/tax_id.rb +12 -2
- data/lib/stripe/resources/terminal/reader.rb +8 -0
- data/lib/stripe/resources/terminal/reader_collected_data.rb +31 -0
- data/lib/stripe/resources/transfer.rb +6 -0
- data/lib/stripe/resources/treasury/financial_account.rb +22 -3
- data/lib/stripe/resources/treasury/financial_account_features.rb +2 -0
- data/lib/stripe/resources/treasury/outbound_transfer.rb +37 -0
- data/lib/stripe/resources/treasury/received_credit.rb +38 -1
- data/lib/stripe/resources/treasury/received_debit.rb +40 -1
- data/lib/stripe/resources/v2/core/account.rb +1755 -0
- data/lib/stripe/resources/v2/core/account_link.rb +56 -0
- data/lib/stripe/resources/v2/core/person.rb +276 -0
- data/lib/stripe/resources/v2/core/vault/gb_bank_account.rb +74 -0
- data/lib/stripe/resources/v2/core/vault/us_bank_account.rb +39 -0
- data/lib/stripe/resources/v2/financial_address_credit_simulation.rb +20 -0
- data/lib/stripe/resources/v2/financial_address_generated_microdeposits.rb +22 -0
- data/lib/stripe/resources/v2/money_management/adjustment.rb +51 -0
- data/lib/stripe/resources/v2/money_management/financial_account.rb +58 -0
- data/lib/stripe/resources/v2/money_management/financial_address.rb +68 -0
- data/lib/stripe/resources/v2/money_management/inbound_transfer.rb +94 -0
- data/lib/stripe/resources/v2/money_management/outbound_payment.rb +129 -0
- data/lib/stripe/resources/v2/money_management/outbound_payment_quote.rb +82 -0
- data/lib/stripe/resources/v2/money_management/outbound_setup_intent.rb +45 -0
- data/lib/stripe/resources/v2/money_management/outbound_transfer.rb +117 -0
- data/lib/stripe/resources/v2/money_management/payout_method.rb +75 -0
- data/lib/stripe/resources/v2/money_management/payout_methods_bank_account_spec.rb +49 -0
- data/lib/stripe/resources/v2/money_management/received_credit.rb +122 -0
- data/lib/stripe/resources/v2/money_management/received_debit.rb +84 -0
- data/lib/stripe/resources/v2/money_management/transaction.rb +78 -0
- data/lib/stripe/resources/v2/money_management/transaction_entry.rb +68 -0
- data/lib/stripe/resources/v2/payments/off_session_payment.rb +72 -0
- data/lib/stripe/resources.rb +104 -0
- data/lib/stripe/services/account_notice_service.rb +101 -0
- data/lib/stripe/services/account_service.rb +562 -1
- data/lib/stripe/services/account_session_service.rb +226 -1
- data/lib/stripe/services/balance_settings_service.rb +96 -0
- data/lib/stripe/services/billing/credit_balance_summary_service.rb +4 -1
- data/lib/stripe/services/billing/credit_balance_transaction_service.rb +4 -0
- data/lib/stripe/services/billing/credit_grant_service.rb +8 -0
- data/lib/stripe/services/billing_portal/session_service.rb +4 -0
- data/lib/stripe/services/capital/financing_offer_service.rb +112 -0
- data/lib/stripe/services/capital/financing_summary_service.rb +28 -0
- data/lib/stripe/services/capital/financing_transaction_service.rb +79 -0
- data/lib/stripe/services/capital_service.rb +15 -0
- data/lib/stripe/services/charge_service.rb +1418 -0
- data/lib/stripe/services/checkout/session_service.rb +243 -2
- data/lib/stripe/services/coupon_service.rb +17 -1
- data/lib/stripe/services/credit_note_service.rb +4 -0
- data/lib/stripe/services/customer_session_service.rb +4 -1
- data/{rbi/stripe/services/account_external_account_service.rbi → lib/stripe/services/external_account_service.rb} +135 -122
- data/{rbi/stripe/services/tax/transaction_line_item_service.rbi → lib/stripe/services/financial_connections/account_inferred_balance_service.rb} +21 -17
- data/lib/stripe/services/financial_connections/account_service.rb +7 -2
- data/{rbi/stripe/services/climate/supplier_service.rbi → lib/stripe/services/financial_connections/institution_service.rb} +36 -25
- data/lib/stripe/services/financial_connections/session_service.rb +34 -2
- data/lib/stripe/services/financial_connections_service.rb +2 -1
- data/lib/stripe/services/fx_quote_service.rb +123 -0
- data/lib/stripe/services/identity/verification_session_service.rb +8 -0
- data/lib/stripe/services/invoice_item_service.rb +74 -2
- data/lib/stripe/services/invoice_line_item_service.rb +33 -1
- data/lib/stripe/services/invoice_service.rb +1014 -16
- data/lib/stripe/services/issuing/cardholder_service.rb +2 -1
- data/lib/stripe/services/issuing/credit_underwriting_record_service.rb +504 -0
- data/lib/stripe/services/issuing/dispute_settlement_detail_service.rb +66 -0
- data/lib/stripe/services/issuing/fraud_liability_debit_service.rb +83 -0
- data/lib/stripe/services/issuing/transaction_service.rb +4 -0
- data/lib/stripe/services/issuing_service.rb +5 -1
- data/lib/stripe/services/margin_service.rb +119 -0
- data/{rbi/stripe/services/source_transaction_service.rbi → lib/stripe/services/order_line_item_service.rb} +20 -16
- data/lib/stripe/services/order_service.rb +2388 -0
- data/lib/stripe/services/payment_attempt_record_service.rb +49 -0
- data/{rbi/stripe/services/quote_line_item_service.rbi → lib/stripe/services/payment_intent_amount_details_line_item_service.rb} +20 -16
- data/lib/stripe/services/payment_intent_service.rb +4879 -391
- data/lib/stripe/services/payment_method_configuration_service.rb +210 -0
- data/lib/stripe/services/payment_method_service.rb +120 -1
- data/lib/stripe/services/payment_record_service.rb +542 -0
- data/lib/stripe/services/payout_service.rb +4 -0
- data/lib/stripe/services/price_service.rb +19 -0
- data/lib/stripe/services/privacy/redaction_job_service.rb +240 -0
- data/{rbi/stripe/services/tax/calculation_line_item_service.rbi → lib/stripe/services/privacy/redaction_job_validation_error_service.rb} +21 -17
- data/lib/stripe/services/privacy_service.rb +13 -0
- data/lib/stripe/services/promotion_code_service.rb +8 -0
- data/{rbi/stripe/services/credit_note_line_item_service.rbi → lib/stripe/services/quote_line_service.rb} +20 -16
- data/{rbi/stripe/services/payment_link_line_item_service.rbi → lib/stripe/services/quote_preview_invoice_service.rb} +20 -16
- data/lib/stripe/services/quote_preview_subscription_schedule_service.rb +35 -0
- data/lib/stripe/services/quote_service.rb +1723 -8
- data/lib/stripe/services/setup_intent_service.rb +538 -9
- data/lib/stripe/services/subscription_item_service.rb +75 -3
- data/lib/stripe/services/subscription_schedule_service.rb +911 -10
- data/lib/stripe/services/subscription_service.rb +249 -9
- data/lib/stripe/services/tax/association_service.rb +31 -0
- data/lib/stripe/services/tax/form_service.rb +100 -0
- data/lib/stripe/services/tax_id_service.rb +8 -2
- data/lib/stripe/services/tax_service.rb +3 -1
- data/lib/stripe/services/terminal/reader_collected_data_service.rb +28 -0
- data/lib/stripe/services/terminal_service.rb +2 -1
- data/lib/stripe/services/test_helpers/confirmation_token_service.rb +97 -0
- data/lib/stripe/services/test_helpers/treasury/received_credit_service.rb +25 -1
- data/lib/stripe/services/test_helpers/treasury/received_debit_service.rb +25 -1
- data/lib/stripe/services/transfer_service.rb +4 -0
- data/lib/stripe/services/treasury/financial_account_features_service.rb +4 -1
- data/lib/stripe/services/treasury/financial_account_service.rb +16 -2
- data/lib/stripe/services/treasury/outbound_transfer_service.rb +24 -0
- data/lib/stripe/services/v1_services.rb +11 -2
- data/lib/stripe/services/v2/core/account_link_service.rb +76 -0
- data/lib/stripe/services/v2/core/account_service.rb +4170 -0
- data/lib/stripe/services/v2/core/accounts/person_service.rb +1045 -0
- data/lib/stripe/services/v2/core/vault/gb_bank_account_service.rb +130 -0
- data/lib/stripe/services/v2/core/vault/us_bank_account_service.rb +107 -0
- data/lib/stripe/services/v2/core/vault_service.rb +18 -0
- data/lib/stripe/services/v2/core_service.rb +4 -1
- data/lib/stripe/services/v2/money_management/adjustment_service.rb +74 -0
- data/lib/stripe/services/v2/money_management/financial_account_service.rb +43 -0
- data/lib/stripe/services/v2/money_management/financial_address_service.rb +82 -0
- data/lib/stripe/services/v2/money_management/inbound_transfer_service.rb +125 -0
- data/lib/stripe/services/v2/money_management/outbound_payment_quote_service.rb +95 -0
- data/lib/stripe/services/v2/money_management/outbound_payment_service.rb +199 -0
- data/lib/stripe/services/v2/money_management/outbound_setup_intent_service.rb +235 -0
- data/lib/stripe/services/v2/money_management/outbound_transfer_service.rb +172 -0
- data/lib/stripe/services/v2/money_management/payout_method_service.rb +90 -0
- data/lib/stripe/services/v2/money_management/payout_methods_bank_account_spec_service.rb +32 -0
- data/lib/stripe/services/v2/money_management/received_credit_service.rb +70 -0
- data/lib/stripe/services/v2/money_management/received_debit_service.rb +43 -0
- data/lib/stripe/services/v2/money_management/transaction_entry_service.rb +69 -0
- data/lib/stripe/services/v2/money_management/transaction_service.rb +73 -0
- data/lib/stripe/services/v2/money_management_service.rb +31 -0
- data/lib/stripe/services/v2/payment_service.rb +15 -0
- data/lib/stripe/services/v2/payments/off_session_payment_service.rb +137 -0
- data/lib/stripe/services/v2/test_helper_service.rb +15 -0
- data/lib/stripe/services/v2/test_helpers/financial_address_service.rb +49 -0
- data/lib/stripe/services/v2_services.rb +4 -1
- data/lib/stripe/services.rb +53 -1
- data/lib/stripe/stripe_configuration.rb +3 -1
- data/lib/stripe/stripe_object.rb +1 -1
- data/lib/stripe/util.rb +7 -1
- data/lib/stripe/version.rb +1 -1
- data/lib/stripe.rb +53 -0
- data/rbi/stripe.rbi +193855 -0
- data/stripe.gemspec +4 -1
- metadata +161 -324
- data/lib/stripe/services/invoice_payment_service.rb +0 -83
- data/rbi/stripe/resources/account.rbi +0 -4995
- data/rbi/stripe/resources/account_link.rbi +0 -74
- data/rbi/stripe/resources/account_session.rbi +0 -1013
- data/rbi/stripe/resources/apple_pay_domain.rbi +0 -88
- data/rbi/stripe/resources/application.rbi +0 -20
- data/rbi/stripe/resources/application_fee.rbi +0 -118
- data/rbi/stripe/resources/application_fee_refund.rbi +0 -37
- data/rbi/stripe/resources/apps/secret.rbi +0 -195
- data/rbi/stripe/resources/balance.rbi +0 -235
- data/rbi/stripe/resources/balance_transaction.rbi +0 -147
- data/rbi/stripe/resources/bank_account.rbi +0 -127
- data/rbi/stripe/resources/billing/alert.rbi +0 -201
- data/rbi/stripe/resources/billing/alert_triggered.rbi +0 -28
- data/rbi/stripe/resources/billing/credit_balance_summary.rbi +0 -63
- data/rbi/stripe/resources/billing/credit_balance_transaction.rbi +0 -147
- data/rbi/stripe/resources/billing/credit_grant.rbi +0 -291
- data/rbi/stripe/resources/billing/meter.rbi +0 -226
- data/rbi/stripe/resources/billing/meter_event.rbi +0 -64
- data/rbi/stripe/resources/billing/meter_event_adjustment.rbi +0 -64
- data/rbi/stripe/resources/billing/meter_event_summary.rbi +0 -35
- data/rbi/stripe/resources/billing_portal/configuration.rbi +0 -645
- data/rbi/stripe/resources/billing_portal/session.rbi +0 -345
- data/rbi/stripe/resources/capability.rbi +0 -125
- data/rbi/stripe/resources/card.rbi +0 -125
- data/rbi/stripe/resources/cash_balance.rbi +0 -32
- data/rbi/stripe/resources/charge.rbi +0 -2086
- data/rbi/stripe/resources/checkout/session.rbi +0 -4060
- data/rbi/stripe/resources/climate/order.rbi +0 -245
- data/rbi/stripe/resources/climate/product.rbi +0 -75
- data/rbi/stripe/resources/climate/supplier.rbi +0 -72
- data/rbi/stripe/resources/confirmation_token.rbi +0 -1818
- data/rbi/stripe/resources/connect_collection_transfer.rbi +0 -26
- data/rbi/stripe/resources/country_spec.rbi +0 -85
- data/rbi/stripe/resources/coupon.rbi +0 -250
- data/rbi/stripe/resources/credit_note.rbi +0 -752
- data/rbi/stripe/resources/credit_note_line_item.rbi +0 -101
- data/rbi/stripe/resources/customer.rbi +0 -1005
- data/rbi/stripe/resources/customer_balance_transaction.rbi +0 -56
- data/rbi/stripe/resources/customer_cash_balance_transaction.rbi +0 -151
- data/rbi/stripe/resources/customer_session.rbi +0 -200
- data/rbi/stripe/resources/discount.rbi +0 -53
- data/rbi/stripe/resources/dispute.rbi +0 -761
- data/rbi/stripe/resources/entitlements/active_entitlement.rbi +0 -58
- data/rbi/stripe/resources/entitlements/active_entitlement_summary.rbi +0 -23
- data/rbi/stripe/resources/entitlements/feature.rbi +0 -117
- data/rbi/stripe/resources/ephemeral_key.rbi +0 -44
- data/rbi/stripe/resources/event.rbi +0 -149
- data/rbi/stripe/resources/exchange_rate.rbi +0 -66
- data/rbi/stripe/resources/file.rbi +0 -143
- data/rbi/stripe/resources/file_link.rbi +0 -141
- data/rbi/stripe/resources/financial_connections/account.rbi +0 -339
- data/rbi/stripe/resources/financial_connections/account_owner.rbi +0 -35
- data/rbi/stripe/resources/financial_connections/account_ownership.rbi +0 -23
- data/rbi/stripe/resources/financial_connections/session.rbi +0 -123
- data/rbi/stripe/resources/financial_connections/transaction.rbi +0 -124
- data/rbi/stripe/resources/forwarding/request.rbi +0 -216
- data/rbi/stripe/resources/funding_instructions.rbi +0 -437
- data/rbi/stripe/resources/identity/verification_report.rbi +0 -360
- data/rbi/stripe/resources/identity/verification_session.rbi +0 -564
- data/rbi/stripe/resources/invoice.rbi +0 -3842
- data/rbi/stripe/resources/invoice_item.rbi +0 -470
- data/rbi/stripe/resources/invoice_line_item.rbi +0 -432
- data/rbi/stripe/resources/invoice_payment.rbi +0 -121
- data/rbi/stripe/resources/invoice_rendering_template.rbi +0 -104
- data/rbi/stripe/resources/issuing/authorization.rbi +0 -1283
- data/rbi/stripe/resources/issuing/card.rbi +0 -741
- data/rbi/stripe/resources/issuing/cardholder.rbi +0 -744
- data/rbi/stripe/resources/issuing/dispute.rbi +0 -913
- data/rbi/stripe/resources/issuing/personalization_design.rbi +0 -338
- data/rbi/stripe/resources/issuing/physical_bundle.rbi +0 -79
- data/rbi/stripe/resources/issuing/token.rbi +0 -226
- data/rbi/stripe/resources/issuing/transaction.rbi +0 -1061
- data/rbi/stripe/resources/line_item.rbi +0 -72
- data/rbi/stripe/resources/login_link.rbi +0 -19
- data/rbi/stripe/resources/mandate.rbi +0 -191
- data/rbi/stripe/resources/payment_intent.rbi +0 -9987
- data/rbi/stripe/resources/payment_link.rbi +0 -1801
- data/rbi/stripe/resources/payment_method.rbi +0 -1770
- data/rbi/stripe/resources/payment_method_configuration.rbi +0 -3550
- data/rbi/stripe/resources/payment_method_domain.rbi +0 -228
- data/rbi/stripe/resources/payout.rbi +0 -300
- data/rbi/stripe/resources/person.rbi +0 -401
- data/rbi/stripe/resources/plan.rbi +0 -371
- data/rbi/stripe/resources/price.rbi +0 -694
- data/rbi/stripe/resources/product.rbi +0 -555
- data/rbi/stripe/resources/product_feature.rbi +0 -26
- data/rbi/stripe/resources/promotion_code.rbi +0 -261
- data/rbi/stripe/resources/quote.rbi +0 -1145
- data/rbi/stripe/resources/radar/early_fraud_warning.rbi +0 -98
- data/rbi/stripe/resources/radar/value_list.rbi +0 -168
- data/rbi/stripe/resources/radar/value_list_item.rbi +0 -129
- data/rbi/stripe/resources/refund.rbi +0 -523
- data/rbi/stripe/resources/reporting/report_run.rbi +0 -191
- data/rbi/stripe/resources/reporting/report_type.rbi +0 -57
- data/rbi/stripe/resources/reserve_transaction.rbi +0 -23
- data/rbi/stripe/resources/reversal.rbi +0 -51
- data/rbi/stripe/resources/review.rbi +0 -154
- data/rbi/stripe/resources/setup_attempt.rbi +0 -477
- data/rbi/stripe/resources/setup_intent.rbi +0 -3978
- data/rbi/stripe/resources/shipping_rate.rbi +0 -305
- data/rbi/stripe/resources/sigma/scheduled_query_run.rbi +0 -75
- data/rbi/stripe/resources/source.rbi +0 -1496
- data/rbi/stripe/resources/source_mandate_notification.rbi +0 -77
- data/rbi/stripe/resources/source_transaction.rbi +0 -127
- data/rbi/stripe/resources/subscription.rbi +0 -2080
- data/rbi/stripe/resources/subscription_item.rbi +0 -404
- data/rbi/stripe/resources/subscription_schedule.rbi +0 -1645
- data/rbi/stripe/resources/tax/calculation.rbi +0 -478
- data/rbi/stripe/resources/tax/calculation_line_item.rbi +0 -91
- data/rbi/stripe/resources/tax/registration.rbi +0 -2732
- data/rbi/stripe/resources/tax/settings.rbi +0 -141
- data/rbi/stripe/resources/tax/transaction.rbi +0 -351
- data/rbi/stripe/resources/tax/transaction_line_item.rbi +0 -54
- data/rbi/stripe/resources/tax_code.rbi +0 -44
- data/rbi/stripe/resources/tax_deducted_at_source.rbi +0 -23
- data/rbi/stripe/resources/tax_id.rbi +0 -165
- data/rbi/stripe/resources/tax_rate.rbi +0 -239
- data/rbi/stripe/resources/terminal/configuration.rbi +0 -1387
- data/rbi/stripe/resources/terminal/connection_token.rbi +0 -37
- data/rbi/stripe/resources/terminal/location.rbi +0 -222
- data/rbi/stripe/resources/terminal/reader.rbi +0 -994
- data/rbi/stripe/resources/test_helpers/test_clock.rbi +0 -132
- data/rbi/stripe/resources/token.rbi +0 -1283
- data/rbi/stripe/resources/topup.rbi +0 -222
- data/rbi/stripe/resources/transfer.rbi +0 -199
- data/rbi/stripe/resources/treasury/credit_reversal.rbi +0 -119
- data/rbi/stripe/resources/treasury/debit_reversal.rbi +0 -131
- data/rbi/stripe/resources/treasury/financial_account.rbi +0 -869
- data/rbi/stripe/resources/treasury/financial_account_features.rbi +0 -260
- data/rbi/stripe/resources/treasury/inbound_transfer.rbi +0 -295
- data/rbi/stripe/resources/treasury/outbound_payment.rbi +0 -592
- data/rbi/stripe/resources/treasury/outbound_transfer.rbi +0 -431
- data/rbi/stripe/resources/treasury/received_credit.rbi +0 -302
- data/rbi/stripe/resources/treasury/received_debit.rbi +0 -256
- data/rbi/stripe/resources/treasury/transaction.rbi +0 -215
- data/rbi/stripe/resources/treasury/transaction_entry.rbi +0 -192
- data/rbi/stripe/resources/v2/amount.rbi +0 -14
- data/rbi/stripe/resources/v2/billing/meter_event.rbi +0 -37
- data/rbi/stripe/resources/v2/billing/meter_event_adjustment.rbi +0 -41
- data/rbi/stripe/resources/v2/billing/meter_event_session.rbi +0 -31
- data/rbi/stripe/resources/v2/event.rbi +0 -48
- data/rbi/stripe/resources/v2/event_destination.rbi +0 -91
- data/rbi/stripe/resources/webhook_endpoint.rbi +0 -168
- data/rbi/stripe/services/account_capability_service.rbi +0 -51
- data/rbi/stripe/services/account_link_service.rbi +0 -58
- data/rbi/stripe/services/account_login_link_service.rbi +0 -22
- data/rbi/stripe/services/account_person_service.rbi +0 -1011
- data/rbi/stripe/services/account_service.rbi +0 -4281
- data/rbi/stripe/services/account_session_service.rbi +0 -646
- data/rbi/stripe/services/apple_pay_domain_service.rbi +0 -76
- data/rbi/stripe/services/application_fee_refund_service.rbi +0 -93
- data/rbi/stripe/services/application_fee_service.rbi +0 -78
- data/rbi/stripe/services/apps/secret_service.rbi +0 -151
- data/rbi/stripe/services/apps_service.rbi +0 -9
- data/rbi/stripe/services/balance_service.rbi +0 -21
- data/rbi/stripe/services/balance_transaction_service.rbi +0 -93
- data/rbi/stripe/services/billing/alert_service.rbi +0 -152
- data/rbi/stripe/services/billing/credit_balance_summary_service.rbi +0 -68
- data/rbi/stripe/services/billing/credit_balance_transaction_service.rbi +0 -59
- data/rbi/stripe/services/billing/credit_grant_service.rbi +0 -211
- data/rbi/stripe/services/billing/meter_event_adjustment_service.rbi +0 -42
- data/rbi/stripe/services/billing/meter_event_service.rbi +0 -42
- data/rbi/stripe/services/billing/meter_event_summary_service.rbi +0 -54
- data/rbi/stripe/services/billing/meter_service.rbi +0 -163
- data/rbi/stripe/services/billing_portal/configuration_service.rbi +0 -511
- data/rbi/stripe/services/billing_portal/session_service.rbi +0 -204
- data/rbi/stripe/services/billing_portal_service.rbi +0 -10
- data/rbi/stripe/services/billing_service.rbi +0 -15
- data/rbi/stripe/services/charge_service.rbi +0 -448
- data/rbi/stripe/services/checkout/session_line_item_service.rbi +0 -33
- data/rbi/stripe/services/checkout/session_service.rbi +0 -2670
- data/rbi/stripe/services/checkout_service.rbi +0 -9
- data/rbi/stripe/services/climate/order_service.rbi +0 -142
- data/rbi/stripe/services/climate/product_service.rbi +0 -46
- data/rbi/stripe/services/climate_service.rbi +0 -11
- data/rbi/stripe/services/confirmation_token_service.rbi +0 -20
- data/rbi/stripe/services/country_spec_service.rbi +0 -44
- data/rbi/stripe/services/coupon_service.rbi +0 -194
- data/rbi/stripe/services/credit_note_preview_lines_service.rbi +0 -167
- data/rbi/stripe/services/credit_note_service.rbi +0 -415
- data/rbi/stripe/services/customer_balance_transaction_service.rbi +0 -92
- data/rbi/stripe/services/customer_cash_balance_service.rbi +0 -45
- data/rbi/stripe/services/customer_cash_balance_transaction_service.rbi +0 -44
- data/rbi/stripe/services/customer_funding_instructions_service.rbi +0 -59
- data/rbi/stripe/services/customer_payment_method_service.rbi +0 -57
- data/rbi/stripe/services/customer_payment_source_service.rbi +0 -232
- data/rbi/stripe/services/customer_service.rbi +0 -647
- data/rbi/stripe/services/customer_session_service.rbi +0 -116
- data/rbi/stripe/services/customer_tax_id_service.rbi +0 -70
- data/rbi/stripe/services/dispute_service.rbi +0 -424
- data/rbi/stripe/services/entitlements/active_entitlement_service.rbi +0 -55
- data/rbi/stripe/services/entitlements/feature_service.rbi +0 -107
- data/rbi/stripe/services/entitlements_service.rbi +0 -10
- data/rbi/stripe/services/ephemeral_key_service.rbi +0 -53
- data/rbi/stripe/services/event_service.rbi +0 -83
- data/rbi/stripe/services/exchange_rate_service.rbi +0 -44
- data/rbi/stripe/services/file_link_service.rbi +0 -124
- data/rbi/stripe/services/file_service.rbi +0 -116
- data/rbi/stripe/services/financial_connections/account_owner_service.rbi +0 -42
- data/rbi/stripe/services/financial_connections/account_service.rbi +0 -133
- data/rbi/stripe/services/financial_connections/session_service.rbi +0 -88
- data/rbi/stripe/services/financial_connections/transaction_service.rbi +0 -92
- data/rbi/stripe/services/financial_connections_service.rbi +0 -11
- data/rbi/stripe/services/forwarding/request_service.rbi +0 -134
- data/rbi/stripe/services/forwarding_service.rbi +0 -9
- data/rbi/stripe/services/identity/verification_report_service.rbi +0 -87
- data/rbi/stripe/services/identity/verification_session_service.rbi +0 -339
- data/rbi/stripe/services/identity_service.rbi +0 -10
- data/rbi/stripe/services/invoice_item_service.rbi +0 -366
- data/rbi/stripe/services/invoice_line_item_service.rbi +0 -259
- data/rbi/stripe/services/invoice_payment_service.rbi +0 -71
- data/rbi/stripe/services/invoice_rendering_template_service.rbi +0 -82
- data/rbi/stripe/services/invoice_service.rbi +0 -3011
- data/rbi/stripe/services/issuing/authorization_service.rbi +0 -146
- data/rbi/stripe/services/issuing/card_service.rbi +0 -495
- data/rbi/stripe/services/issuing/cardholder_service.rbi +0 -587
- data/rbi/stripe/services/issuing/dispute_service.rbi +0 -707
- data/rbi/stripe/services/issuing/personalization_design_service.rbi +0 -243
- data/rbi/stripe/services/issuing/physical_bundle_service.rbi +0 -59
- data/rbi/stripe/services/issuing/token_service.rbi +0 -99
- data/rbi/stripe/services/issuing/transaction_service.rbi +0 -105
- data/rbi/stripe/services/issuing_service.rbi +0 -16
- data/rbi/stripe/services/mandate_service.rbi +0 -20
- data/rbi/stripe/services/payment_intent_service.rbi +0 -7989
- data/rbi/stripe/services/payment_link_service.rbi +0 -1352
- data/rbi/stripe/services/payment_method_configuration_service.rbi +0 -2487
- data/rbi/stripe/services/payment_method_domain_service.rbi +0 -112
- data/rbi/stripe/services/payment_method_service.rbi +0 -781
- data/rbi/stripe/services/payout_service.rbi +0 -205
- data/rbi/stripe/services/plan_service.rbi +0 -282
- data/rbi/stripe/services/price_service.rbi +0 -546
- data/rbi/stripe/services/product_feature_service.rbi +0 -67
- data/rbi/stripe/services/product_service.rbi +0 -477
- data/rbi/stripe/services/promotion_code_service.rbi +0 -214
- data/rbi/stripe/services/quote_computed_upfront_line_items_service.rbi +0 -31
- data/rbi/stripe/services/quote_service.rbi +0 -699
- data/rbi/stripe/services/radar/early_fraud_warning_service.rbi +0 -85
- data/rbi/stripe/services/radar/value_list_item_service.rbi +0 -109
- data/rbi/stripe/services/radar/value_list_service.rbi +0 -141
- data/rbi/stripe/services/radar_service.rbi +0 -11
- data/rbi/stripe/services/refund_service.rbi +0 -185
- data/rbi/stripe/services/reporting/report_run_service.rbi +0 -135
- data/rbi/stripe/services/reporting/report_type_service.rbi +0 -35
- data/rbi/stripe/services/reporting_service.rbi +0 -10
- data/rbi/stripe/services/review_service.rbi +0 -84
- data/rbi/stripe/services/setup_attempt_service.rbi +0 -65
- data/rbi/stripe/services/setup_intent_service.rbi +0 -3709
- data/rbi/stripe/services/shipping_rate_service.rbi +0 -241
- data/rbi/stripe/services/sigma/scheduled_query_run_service.rbi +0 -46
- data/rbi/stripe/services/sigma_service.rbi +0 -9
- data/rbi/stripe/services/source_service.rbi +0 -663
- data/rbi/stripe/services/subscription_item_service.rbi +0 -350
- data/rbi/stripe/services/subscription_schedule_service.rbi +0 -1301
- data/rbi/stripe/services/subscription_service.rbi +0 -1684
- data/rbi/stripe/services/tax/calculation_service.rbi +0 -234
- data/rbi/stripe/services/tax/registration_service.rbi +0 -1858
- data/rbi/stripe/services/tax/settings_service.rbi +0 -93
- data/rbi/stripe/services/tax/transaction_service.rbi +0 -146
- data/rbi/stripe/services/tax_code_service.rbi +0 -44
- data/rbi/stripe/services/tax_id_service.rbi +0 -110
- data/rbi/stripe/services/tax_rate_service.rbi +0 -185
- data/rbi/stripe/services/tax_service.rbi +0 -12
- data/rbi/stripe/services/terminal/configuration_service.rbi +0 -1118
- data/rbi/stripe/services/terminal/connection_token_service.rbi +0 -25
- data/rbi/stripe/services/terminal/location_service.rbi +0 -182
- data/rbi/stripe/services/terminal/reader_service.rbi +0 -540
- data/rbi/stripe/services/terminal_service.rbi +0 -12
- data/rbi/stripe/services/test_helpers/confirmation_token_service.rbi +0 -746
- data/rbi/stripe/services/test_helpers/customer_service.rbi +0 -33
- data/rbi/stripe/services/test_helpers/issuing/authorization_service.rbi +0 -848
- data/rbi/stripe/services/test_helpers/issuing/card_service.rbi +0 -76
- data/rbi/stripe/services/test_helpers/issuing/personalization_design_service.rbi +0 -69
- data/rbi/stripe/services/test_helpers/issuing/transaction_service.rbi +0 -711
- data/rbi/stripe/services/test_helpers/issuing_service.rbi +0 -14
- data/rbi/stripe/services/test_helpers/refund_service.rbi +0 -22
- data/rbi/stripe/services/test_helpers/terminal/reader_service.rbi +0 -93
- data/rbi/stripe/services/test_helpers/terminal_service.rbi +0 -11
- data/rbi/stripe/services/test_helpers/test_clock_service.rbi +0 -90
- data/rbi/stripe/services/test_helpers/treasury/inbound_transfer_service.rbi +0 -64
- data/rbi/stripe/services/test_helpers/treasury/outbound_payment_service.rbi +0 -125
- data/rbi/stripe/services/test_helpers/treasury/outbound_transfer_service.rbi +0 -125
- data/rbi/stripe/services/test_helpers/treasury/received_credit_service.rbi +0 -87
- data/rbi/stripe/services/test_helpers/treasury/received_debit_service.rbi +0 -87
- data/rbi/stripe/services/test_helpers/treasury_service.rbi +0 -15
- data/rbi/stripe/services/test_helpers_service.rbi +0 -15
- data/rbi/stripe/services/token_service.rbi +0 -1257
- data/rbi/stripe/services/topup_service.rbi +0 -176
- data/rbi/stripe/services/transfer_reversal_service.rbi +0 -101
- data/rbi/stripe/services/transfer_service.rbi +0 -152
- data/rbi/stripe/services/treasury/credit_reversal_service.rbi +0 -84
- data/rbi/stripe/services/treasury/debit_reversal_service.rbi +0 -88
- data/rbi/stripe/services/treasury/financial_account_features_service.rbi +0 -198
- data/rbi/stripe/services/treasury/financial_account_service.rbi +0 -566
- data/rbi/stripe/services/treasury/inbound_transfer_service.rbi +0 -117
- data/rbi/stripe/services/treasury/outbound_payment_service.rbi +0 -304
- data/rbi/stripe/services/treasury/outbound_transfer_service.rbi +0 -157
- data/rbi/stripe/services/treasury/received_credit_service.rbi +0 -72
- data/rbi/stripe/services/treasury/received_debit_service.rbi +0 -59
- data/rbi/stripe/services/treasury/transaction_entry_service.rbi +0 -111
- data/rbi/stripe/services/treasury/transaction_service.rbi +0 -122
- data/rbi/stripe/services/treasury_service.rbi +0 -18
- data/rbi/stripe/services/v1_services.rbi +0 -77
- data/rbi/stripe/services/v2/billing/meter_event_adjustment_service.rbi +0 -39
- data/rbi/stripe/services/v2/billing/meter_event_service.rbi +0 -42
- data/rbi/stripe/services/v2/billing/meter_event_session_service.rbi +0 -18
- data/rbi/stripe/services/v2/billing/meter_event_stream_service.rbi +0 -55
- data/rbi/stripe/services/v2/billing_service.rbi +0 -14
- data/rbi/stripe/services/v2/core/event_destination_service.rbi +0 -192
- data/rbi/stripe/services/v2/core/event_service.rbi +0 -36
- data/rbi/stripe/services/v2/core_service.rbi +0 -12
- data/rbi/stripe/services/v2_services.rbi +0 -10
- data/rbi/stripe/services/webhook_endpoint_service.rbi +0 -129
@@ -3,10 +3,14 @@
|
|
3
3
|
|
4
4
|
module Stripe
|
5
5
|
class QuoteService < StripeService
|
6
|
-
attr_reader :line_items, :computed_upfront_line_items
|
6
|
+
attr_reader :preview_invoices, :preview_subscription_schedules, :lines, :line_items, :computed_upfront_line_items
|
7
7
|
|
8
8
|
def initialize(requestor)
|
9
9
|
super
|
10
|
+
@preview_invoices = Stripe::QuotePreviewInvoiceService.new(@requestor)
|
11
|
+
@preview_subscription_schedules = Stripe::QuotePreviewSubscriptionScheduleService
|
12
|
+
.new(@requestor)
|
13
|
+
@lines = Stripe::QuoteLineService.new(@requestor)
|
10
14
|
@line_items = Stripe::QuoteLineItemService.new(@requestor)
|
11
15
|
@computed_upfront_line_items = Stripe::QuoteComputedUpfrontLineItemsService.new(@requestor)
|
12
16
|
end
|
@@ -14,10 +18,14 @@ module Stripe
|
|
14
18
|
class ListParams < Stripe::RequestParams
|
15
19
|
# The ID of the customer whose quotes will be retrieved.
|
16
20
|
attr_accessor :customer
|
21
|
+
# The ID of the account whose quotes will be retrieved.
|
22
|
+
attr_accessor :customer_account
|
17
23
|
# A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
|
18
24
|
attr_accessor :ending_before
|
19
25
|
# Specifies which fields in the response should be expanded.
|
20
26
|
attr_accessor :expand
|
27
|
+
# The subscription which the quote updates.
|
28
|
+
attr_accessor :from_subscription
|
21
29
|
# A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
|
22
30
|
attr_accessor :limit
|
23
31
|
# A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
|
@@ -29,16 +37,20 @@ module Stripe
|
|
29
37
|
|
30
38
|
def initialize(
|
31
39
|
customer: nil,
|
40
|
+
customer_account: nil,
|
32
41
|
ending_before: nil,
|
33
42
|
expand: nil,
|
43
|
+
from_subscription: nil,
|
34
44
|
limit: nil,
|
35
45
|
starting_after: nil,
|
36
46
|
status: nil,
|
37
47
|
test_clock: nil
|
38
48
|
)
|
39
49
|
@customer = customer
|
50
|
+
@customer_account = customer_account
|
40
51
|
@ending_before = ending_before
|
41
52
|
@expand = expand
|
53
|
+
@from_subscription = from_subscription
|
42
54
|
@limit = limit
|
43
55
|
@starting_after = starting_after
|
44
56
|
@status = status
|
@@ -71,16 +83,44 @@ module Stripe
|
|
71
83
|
end
|
72
84
|
|
73
85
|
class Discount < Stripe::RequestParams
|
86
|
+
class DiscountEnd < Stripe::RequestParams
|
87
|
+
class Duration < Stripe::RequestParams
|
88
|
+
# Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
|
89
|
+
attr_accessor :interval
|
90
|
+
# The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
|
91
|
+
attr_accessor :interval_count
|
92
|
+
|
93
|
+
def initialize(interval: nil, interval_count: nil)
|
94
|
+
@interval = interval
|
95
|
+
@interval_count = interval_count
|
96
|
+
end
|
97
|
+
end
|
98
|
+
# Time span for the redeemed discount.
|
99
|
+
attr_accessor :duration
|
100
|
+
# A precise Unix timestamp for the discount to end. Must be in the future.
|
101
|
+
attr_accessor :timestamp
|
102
|
+
# The type of calculation made to determine when the discount ends.
|
103
|
+
attr_accessor :type
|
104
|
+
|
105
|
+
def initialize(duration: nil, timestamp: nil, type: nil)
|
106
|
+
@duration = duration
|
107
|
+
@timestamp = timestamp
|
108
|
+
@type = type
|
109
|
+
end
|
110
|
+
end
|
74
111
|
# ID of the coupon to create a new discount for.
|
75
112
|
attr_accessor :coupon
|
76
113
|
# ID of an existing discount on the object (or one of its ancestors) to reuse.
|
77
114
|
attr_accessor :discount
|
115
|
+
# Details to determine how long the discount should be applied for.
|
116
|
+
attr_accessor :discount_end
|
78
117
|
# ID of the promotion code to create a new discount for.
|
79
118
|
attr_accessor :promotion_code
|
80
119
|
|
81
|
-
def initialize(coupon: nil, discount: nil, promotion_code: nil)
|
120
|
+
def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
|
82
121
|
@coupon = coupon
|
83
122
|
@discount = discount
|
123
|
+
@discount_end = discount_end
|
84
124
|
@promotion_code = promotion_code
|
85
125
|
end
|
86
126
|
end
|
@@ -120,18 +160,522 @@ module Stripe
|
|
120
160
|
end
|
121
161
|
end
|
122
162
|
|
163
|
+
class Line < Stripe::RequestParams
|
164
|
+
class Action < Stripe::RequestParams
|
165
|
+
class AddDiscount < Stripe::RequestParams
|
166
|
+
class DiscountEnd < Stripe::RequestParams
|
167
|
+
# The type of calculation made to determine when the discount ends.
|
168
|
+
attr_accessor :type
|
169
|
+
|
170
|
+
def initialize(type: nil)
|
171
|
+
@type = type
|
172
|
+
end
|
173
|
+
end
|
174
|
+
# The coupon code to redeem.
|
175
|
+
attr_accessor :coupon
|
176
|
+
# An ID of an existing discount for a coupon that was already redeemed.
|
177
|
+
attr_accessor :discount
|
178
|
+
# Details to determine how long the discount should be applied for.
|
179
|
+
attr_accessor :discount_end
|
180
|
+
# 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.
|
181
|
+
attr_accessor :index
|
182
|
+
# The promotion code to redeem.
|
183
|
+
attr_accessor :promotion_code
|
184
|
+
|
185
|
+
def initialize(
|
186
|
+
coupon: nil,
|
187
|
+
discount: nil,
|
188
|
+
discount_end: nil,
|
189
|
+
index: nil,
|
190
|
+
promotion_code: nil
|
191
|
+
)
|
192
|
+
@coupon = coupon
|
193
|
+
@discount = discount
|
194
|
+
@discount_end = discount_end
|
195
|
+
@index = index
|
196
|
+
@promotion_code = promotion_code
|
197
|
+
end
|
198
|
+
end
|
199
|
+
|
200
|
+
class AddItem < Stripe::RequestParams
|
201
|
+
class Discount < Stripe::RequestParams
|
202
|
+
class DiscountEnd < Stripe::RequestParams
|
203
|
+
class Duration < Stripe::RequestParams
|
204
|
+
# Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
|
205
|
+
attr_accessor :interval
|
206
|
+
# The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
|
207
|
+
attr_accessor :interval_count
|
208
|
+
|
209
|
+
def initialize(interval: nil, interval_count: nil)
|
210
|
+
@interval = interval
|
211
|
+
@interval_count = interval_count
|
212
|
+
end
|
213
|
+
end
|
214
|
+
# Time span for the redeemed discount.
|
215
|
+
attr_accessor :duration
|
216
|
+
# A precise Unix timestamp for the discount to end. Must be in the future.
|
217
|
+
attr_accessor :timestamp
|
218
|
+
# The type of calculation made to determine when the discount ends.
|
219
|
+
attr_accessor :type
|
220
|
+
|
221
|
+
def initialize(duration: nil, timestamp: nil, type: nil)
|
222
|
+
@duration = duration
|
223
|
+
@timestamp = timestamp
|
224
|
+
@type = type
|
225
|
+
end
|
226
|
+
end
|
227
|
+
# ID of the coupon to create a new discount for.
|
228
|
+
attr_accessor :coupon
|
229
|
+
# ID of an existing discount on the object (or one of its ancestors) to reuse.
|
230
|
+
attr_accessor :discount
|
231
|
+
# Details to determine how long the discount should be applied for.
|
232
|
+
attr_accessor :discount_end
|
233
|
+
# ID of the promotion code to create a new discount for.
|
234
|
+
attr_accessor :promotion_code
|
235
|
+
|
236
|
+
def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
|
237
|
+
@coupon = coupon
|
238
|
+
@discount = discount
|
239
|
+
@discount_end = discount_end
|
240
|
+
@promotion_code = promotion_code
|
241
|
+
end
|
242
|
+
end
|
243
|
+
|
244
|
+
class Trial < Stripe::RequestParams
|
245
|
+
# 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.
|
246
|
+
attr_accessor :converts_to
|
247
|
+
# Determines the type of trial for this item.
|
248
|
+
attr_accessor :type
|
249
|
+
|
250
|
+
def initialize(converts_to: nil, type: nil)
|
251
|
+
@converts_to = converts_to
|
252
|
+
@type = type
|
253
|
+
end
|
254
|
+
end
|
255
|
+
# The discounts applied to the item. Subscription item discounts are applied before subscription discounts.
|
256
|
+
attr_accessor :discounts
|
257
|
+
# 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`.
|
258
|
+
attr_accessor :metadata
|
259
|
+
# The ID of the price object.
|
260
|
+
attr_accessor :price
|
261
|
+
# Quantity for this item.
|
262
|
+
attr_accessor :quantity
|
263
|
+
# 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`.
|
264
|
+
attr_accessor :tax_rates
|
265
|
+
# Options that configure the trial on the subscription item.
|
266
|
+
attr_accessor :trial
|
267
|
+
|
268
|
+
def initialize(
|
269
|
+
discounts: nil,
|
270
|
+
metadata: nil,
|
271
|
+
price: nil,
|
272
|
+
quantity: nil,
|
273
|
+
tax_rates: nil,
|
274
|
+
trial: nil
|
275
|
+
)
|
276
|
+
@discounts = discounts
|
277
|
+
@metadata = metadata
|
278
|
+
@price = price
|
279
|
+
@quantity = quantity
|
280
|
+
@tax_rates = tax_rates
|
281
|
+
@trial = trial
|
282
|
+
end
|
283
|
+
end
|
284
|
+
|
285
|
+
class RemoveDiscount < Stripe::RequestParams
|
286
|
+
# The coupon code to remove from the `discounts` array.
|
287
|
+
attr_accessor :coupon
|
288
|
+
# The ID of a discount to remove from the `discounts` array.
|
289
|
+
attr_accessor :discount
|
290
|
+
# The ID of a promotion code to remove from the `discounts` array.
|
291
|
+
attr_accessor :promotion_code
|
292
|
+
|
293
|
+
def initialize(coupon: nil, discount: nil, promotion_code: nil)
|
294
|
+
@coupon = coupon
|
295
|
+
@discount = discount
|
296
|
+
@promotion_code = promotion_code
|
297
|
+
end
|
298
|
+
end
|
299
|
+
|
300
|
+
class RemoveItem < Stripe::RequestParams
|
301
|
+
# ID of a price to remove.
|
302
|
+
attr_accessor :price
|
303
|
+
|
304
|
+
def initialize(price: nil)
|
305
|
+
@price = price
|
306
|
+
end
|
307
|
+
end
|
308
|
+
|
309
|
+
class SetDiscount < Stripe::RequestParams
|
310
|
+
# The coupon code to replace the `discounts` array with.
|
311
|
+
attr_accessor :coupon
|
312
|
+
# An ID of an existing discount to replace the `discounts` array with.
|
313
|
+
attr_accessor :discount
|
314
|
+
# An ID of an existing promotion code to replace the `discounts` array with.
|
315
|
+
attr_accessor :promotion_code
|
316
|
+
|
317
|
+
def initialize(coupon: nil, discount: nil, promotion_code: nil)
|
318
|
+
@coupon = coupon
|
319
|
+
@discount = discount
|
320
|
+
@promotion_code = promotion_code
|
321
|
+
end
|
322
|
+
end
|
323
|
+
|
324
|
+
class SetItem < Stripe::RequestParams
|
325
|
+
class Discount < Stripe::RequestParams
|
326
|
+
class DiscountEnd < Stripe::RequestParams
|
327
|
+
class Duration < Stripe::RequestParams
|
328
|
+
# Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
|
329
|
+
attr_accessor :interval
|
330
|
+
# The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
|
331
|
+
attr_accessor :interval_count
|
332
|
+
|
333
|
+
def initialize(interval: nil, interval_count: nil)
|
334
|
+
@interval = interval
|
335
|
+
@interval_count = interval_count
|
336
|
+
end
|
337
|
+
end
|
338
|
+
# Time span for the redeemed discount.
|
339
|
+
attr_accessor :duration
|
340
|
+
# A precise Unix timestamp for the discount to end. Must be in the future.
|
341
|
+
attr_accessor :timestamp
|
342
|
+
# The type of calculation made to determine when the discount ends.
|
343
|
+
attr_accessor :type
|
344
|
+
|
345
|
+
def initialize(duration: nil, timestamp: nil, type: nil)
|
346
|
+
@duration = duration
|
347
|
+
@timestamp = timestamp
|
348
|
+
@type = type
|
349
|
+
end
|
350
|
+
end
|
351
|
+
# ID of the coupon to create a new discount for.
|
352
|
+
attr_accessor :coupon
|
353
|
+
# ID of an existing discount on the object (or one of its ancestors) to reuse.
|
354
|
+
attr_accessor :discount
|
355
|
+
# Details to determine how long the discount should be applied for.
|
356
|
+
attr_accessor :discount_end
|
357
|
+
# ID of the promotion code to create a new discount for.
|
358
|
+
attr_accessor :promotion_code
|
359
|
+
|
360
|
+
def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
|
361
|
+
@coupon = coupon
|
362
|
+
@discount = discount
|
363
|
+
@discount_end = discount_end
|
364
|
+
@promotion_code = promotion_code
|
365
|
+
end
|
366
|
+
end
|
367
|
+
|
368
|
+
class Trial < Stripe::RequestParams
|
369
|
+
# 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.
|
370
|
+
attr_accessor :converts_to
|
371
|
+
# Determines the type of trial for this item.
|
372
|
+
attr_accessor :type
|
373
|
+
|
374
|
+
def initialize(converts_to: nil, type: nil)
|
375
|
+
@converts_to = converts_to
|
376
|
+
@type = type
|
377
|
+
end
|
378
|
+
end
|
379
|
+
# 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`.
|
380
|
+
attr_accessor :discounts
|
381
|
+
# 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`.
|
382
|
+
attr_accessor :metadata
|
383
|
+
# The ID of the price object.
|
384
|
+
attr_accessor :price
|
385
|
+
# 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`.
|
386
|
+
attr_accessor :quantity
|
387
|
+
# 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`.
|
388
|
+
attr_accessor :tax_rates
|
389
|
+
# 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`.
|
390
|
+
attr_accessor :trial
|
391
|
+
|
392
|
+
def initialize(
|
393
|
+
discounts: nil,
|
394
|
+
metadata: nil,
|
395
|
+
price: nil,
|
396
|
+
quantity: nil,
|
397
|
+
tax_rates: nil,
|
398
|
+
trial: nil
|
399
|
+
)
|
400
|
+
@discounts = discounts
|
401
|
+
@metadata = metadata
|
402
|
+
@price = price
|
403
|
+
@quantity = quantity
|
404
|
+
@tax_rates = tax_rates
|
405
|
+
@trial = trial
|
406
|
+
end
|
407
|
+
end
|
408
|
+
# Details for the `add_discount` type.
|
409
|
+
attr_accessor :add_discount
|
410
|
+
# Details for the `add_item` type.
|
411
|
+
attr_accessor :add_item
|
412
|
+
# Details for the `add_metadata` type: specify a hash of key-value pairs.
|
413
|
+
attr_accessor :add_metadata
|
414
|
+
# Details for the `remove_discount` type.
|
415
|
+
attr_accessor :remove_discount
|
416
|
+
# Details for the `remove_item` type.
|
417
|
+
attr_accessor :remove_item
|
418
|
+
# Details for the `remove_metadata` type: specify an array of metadata keys.
|
419
|
+
attr_accessor :remove_metadata
|
420
|
+
# Details for the `set_discounts` type.
|
421
|
+
attr_accessor :set_discounts
|
422
|
+
# Details for the `set_items` type.
|
423
|
+
attr_accessor :set_items
|
424
|
+
# Details for the `set_metadata` type: specify an array of key-value pairs.
|
425
|
+
attr_accessor :set_metadata
|
426
|
+
# The type of action the quote line performs.
|
427
|
+
attr_accessor :type
|
428
|
+
|
429
|
+
def initialize(
|
430
|
+
add_discount: nil,
|
431
|
+
add_item: nil,
|
432
|
+
add_metadata: nil,
|
433
|
+
remove_discount: nil,
|
434
|
+
remove_item: nil,
|
435
|
+
remove_metadata: nil,
|
436
|
+
set_discounts: nil,
|
437
|
+
set_items: nil,
|
438
|
+
set_metadata: nil,
|
439
|
+
type: nil
|
440
|
+
)
|
441
|
+
@add_discount = add_discount
|
442
|
+
@add_item = add_item
|
443
|
+
@add_metadata = add_metadata
|
444
|
+
@remove_discount = remove_discount
|
445
|
+
@remove_item = remove_item
|
446
|
+
@remove_metadata = remove_metadata
|
447
|
+
@set_discounts = set_discounts
|
448
|
+
@set_items = set_items
|
449
|
+
@set_metadata = set_metadata
|
450
|
+
@type = type
|
451
|
+
end
|
452
|
+
end
|
453
|
+
|
454
|
+
class AppliesTo < Stripe::RequestParams
|
455
|
+
# 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.
|
456
|
+
attr_accessor :new_reference
|
457
|
+
# The ID of the schedule the line applies to.
|
458
|
+
attr_accessor :subscription_schedule
|
459
|
+
# Describes whether the quote line is affecting a new schedule or an existing schedule.
|
460
|
+
attr_accessor :type
|
461
|
+
|
462
|
+
def initialize(new_reference: nil, subscription_schedule: nil, type: nil)
|
463
|
+
@new_reference = new_reference
|
464
|
+
@subscription_schedule = subscription_schedule
|
465
|
+
@type = type
|
466
|
+
end
|
467
|
+
end
|
468
|
+
|
469
|
+
class CancelSubscriptionSchedule < Stripe::RequestParams
|
470
|
+
# Timestamp helper to cancel the underlying schedule on the accompanying line's start date. Must be set to `line_starts_at`.
|
471
|
+
attr_accessor :cancel_at
|
472
|
+
# 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`.
|
473
|
+
attr_accessor :invoice_now
|
474
|
+
# If the subscription schedule is `active`, indicates if the cancellation should be prorated. Boolean that defaults to `true`.
|
475
|
+
attr_accessor :prorate
|
476
|
+
|
477
|
+
def initialize(cancel_at: nil, invoice_now: nil, prorate: nil)
|
478
|
+
@cancel_at = cancel_at
|
479
|
+
@invoice_now = invoice_now
|
480
|
+
@prorate = prorate
|
481
|
+
end
|
482
|
+
end
|
483
|
+
|
484
|
+
class EndsAt < Stripe::RequestParams
|
485
|
+
class DiscountEnd < Stripe::RequestParams
|
486
|
+
# The ID of a specific discount.
|
487
|
+
attr_accessor :discount
|
488
|
+
|
489
|
+
def initialize(discount: nil)
|
490
|
+
@discount = discount
|
491
|
+
end
|
492
|
+
end
|
493
|
+
|
494
|
+
class Duration < Stripe::RequestParams
|
495
|
+
# Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
|
496
|
+
attr_accessor :interval
|
497
|
+
# The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
|
498
|
+
attr_accessor :interval_count
|
499
|
+
|
500
|
+
def initialize(interval: nil, interval_count: nil)
|
501
|
+
@interval = interval
|
502
|
+
@interval_count = interval_count
|
503
|
+
end
|
504
|
+
end
|
505
|
+
# Use the `end` time of a given discount.
|
506
|
+
attr_accessor :discount_end
|
507
|
+
# Time span for the quote line starting from the `starts_at` date.
|
508
|
+
attr_accessor :duration
|
509
|
+
# A precise Unix timestamp.
|
510
|
+
attr_accessor :timestamp
|
511
|
+
# Select a way to pass in `ends_at`.
|
512
|
+
attr_accessor :type
|
513
|
+
|
514
|
+
def initialize(discount_end: nil, duration: nil, timestamp: nil, type: nil)
|
515
|
+
@discount_end = discount_end
|
516
|
+
@duration = duration
|
517
|
+
@timestamp = timestamp
|
518
|
+
@type = type
|
519
|
+
end
|
520
|
+
end
|
521
|
+
|
522
|
+
class SetPauseCollection < Stripe::RequestParams
|
523
|
+
class Set < Stripe::RequestParams
|
524
|
+
# The payment collection behavior for this subscription while paused. One of `keep_as_draft`, `mark_uncollectible`, or `void`.
|
525
|
+
attr_accessor :behavior
|
526
|
+
|
527
|
+
def initialize(behavior: nil)
|
528
|
+
@behavior = behavior
|
529
|
+
end
|
530
|
+
end
|
531
|
+
# Details of the pause_collection behavior to apply to the amendment.
|
532
|
+
attr_accessor :set
|
533
|
+
# Determines the type of the pause_collection amendment.
|
534
|
+
attr_accessor :type
|
535
|
+
|
536
|
+
def initialize(set: nil, type: nil)
|
537
|
+
@set = set
|
538
|
+
@type = type
|
539
|
+
end
|
540
|
+
end
|
541
|
+
|
542
|
+
class StartsAt < Stripe::RequestParams
|
543
|
+
class DiscountEnd < Stripe::RequestParams
|
544
|
+
# The ID of a specific discount.
|
545
|
+
attr_accessor :discount
|
546
|
+
|
547
|
+
def initialize(discount: nil)
|
548
|
+
@discount = discount
|
549
|
+
end
|
550
|
+
end
|
551
|
+
|
552
|
+
class LineEndsAt < Stripe::RequestParams
|
553
|
+
# 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.
|
554
|
+
attr_accessor :index
|
555
|
+
|
556
|
+
def initialize(index: nil)
|
557
|
+
@index = index
|
558
|
+
end
|
559
|
+
end
|
560
|
+
# Use the `end` time of a given discount.
|
561
|
+
attr_accessor :discount_end
|
562
|
+
# The timestamp the given line ends at.
|
563
|
+
attr_accessor :line_ends_at
|
564
|
+
# A precise Unix timestamp.
|
565
|
+
attr_accessor :timestamp
|
566
|
+
# Select a way to pass in `starts_at`.
|
567
|
+
attr_accessor :type
|
568
|
+
|
569
|
+
def initialize(discount_end: nil, line_ends_at: nil, timestamp: nil, type: nil)
|
570
|
+
@discount_end = discount_end
|
571
|
+
@line_ends_at = line_ends_at
|
572
|
+
@timestamp = timestamp
|
573
|
+
@type = type
|
574
|
+
end
|
575
|
+
end
|
576
|
+
|
577
|
+
class TrialSettings < Stripe::RequestParams
|
578
|
+
class EndBehavior < Stripe::RequestParams
|
579
|
+
# Configure how an opt-in following a paid trial is billed when using `billing_behavior: prorate_up_front`.
|
580
|
+
attr_accessor :prorate_up_front
|
581
|
+
|
582
|
+
def initialize(prorate_up_front: nil)
|
583
|
+
@prorate_up_front = prorate_up_front
|
584
|
+
end
|
585
|
+
end
|
586
|
+
# Defines how the subscription should behave when a trial ends.
|
587
|
+
attr_accessor :end_behavior
|
588
|
+
|
589
|
+
def initialize(end_behavior: nil)
|
590
|
+
@end_behavior = end_behavior
|
591
|
+
end
|
592
|
+
end
|
593
|
+
# An array of operations the quote line performs.
|
594
|
+
attr_accessor :actions
|
595
|
+
# Details to identify the subscription schedule the quote line applies to.
|
596
|
+
attr_accessor :applies_to
|
597
|
+
# 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.
|
598
|
+
attr_accessor :billing_cycle_anchor
|
599
|
+
# 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.
|
600
|
+
attr_accessor :cancel_subscription_schedule
|
601
|
+
# 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.
|
602
|
+
attr_accessor :ends_at
|
603
|
+
# 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.
|
604
|
+
attr_accessor :proration_behavior
|
605
|
+
# Defines how to pause collection for the underlying subscription throughout the duration of the amendment.
|
606
|
+
attr_accessor :set_pause_collection
|
607
|
+
# Timestamp helper to end the underlying schedule early, based on the acompanying line's start or end date.
|
608
|
+
attr_accessor :set_schedule_end
|
609
|
+
# Details to identify the earliest timestamp where the proposed change should take effect.
|
610
|
+
attr_accessor :starts_at
|
611
|
+
# Settings related to subscription trials.
|
612
|
+
attr_accessor :trial_settings
|
613
|
+
|
614
|
+
def initialize(
|
615
|
+
actions: nil,
|
616
|
+
applies_to: nil,
|
617
|
+
billing_cycle_anchor: nil,
|
618
|
+
cancel_subscription_schedule: nil,
|
619
|
+
ends_at: nil,
|
620
|
+
proration_behavior: nil,
|
621
|
+
set_pause_collection: nil,
|
622
|
+
set_schedule_end: nil,
|
623
|
+
starts_at: nil,
|
624
|
+
trial_settings: nil
|
625
|
+
)
|
626
|
+
@actions = actions
|
627
|
+
@applies_to = applies_to
|
628
|
+
@billing_cycle_anchor = billing_cycle_anchor
|
629
|
+
@cancel_subscription_schedule = cancel_subscription_schedule
|
630
|
+
@ends_at = ends_at
|
631
|
+
@proration_behavior = proration_behavior
|
632
|
+
@set_pause_collection = set_pause_collection
|
633
|
+
@set_schedule_end = set_schedule_end
|
634
|
+
@starts_at = starts_at
|
635
|
+
@trial_settings = trial_settings
|
636
|
+
end
|
637
|
+
end
|
638
|
+
|
123
639
|
class LineItem < Stripe::RequestParams
|
124
640
|
class Discount < Stripe::RequestParams
|
641
|
+
class DiscountEnd < Stripe::RequestParams
|
642
|
+
class Duration < Stripe::RequestParams
|
643
|
+
# Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
|
644
|
+
attr_accessor :interval
|
645
|
+
# The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
|
646
|
+
attr_accessor :interval_count
|
647
|
+
|
648
|
+
def initialize(interval: nil, interval_count: nil)
|
649
|
+
@interval = interval
|
650
|
+
@interval_count = interval_count
|
651
|
+
end
|
652
|
+
end
|
653
|
+
# Time span for the redeemed discount.
|
654
|
+
attr_accessor :duration
|
655
|
+
# A precise Unix timestamp for the discount to end. Must be in the future.
|
656
|
+
attr_accessor :timestamp
|
657
|
+
# The type of calculation made to determine when the discount ends.
|
658
|
+
attr_accessor :type
|
659
|
+
|
660
|
+
def initialize(duration: nil, timestamp: nil, type: nil)
|
661
|
+
@duration = duration
|
662
|
+
@timestamp = timestamp
|
663
|
+
@type = type
|
664
|
+
end
|
665
|
+
end
|
125
666
|
# ID of the coupon to create a new discount for.
|
126
667
|
attr_accessor :coupon
|
127
668
|
# ID of an existing discount on the object (or one of its ancestors) to reuse.
|
128
669
|
attr_accessor :discount
|
670
|
+
# Details to determine how long the discount should be applied for.
|
671
|
+
attr_accessor :discount_end
|
129
672
|
# ID of the promotion code to create a new discount for.
|
130
673
|
attr_accessor :promotion_code
|
131
674
|
|
132
|
-
def initialize(coupon: nil, discount: nil, promotion_code: nil)
|
675
|
+
def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
|
133
676
|
@coupon = coupon
|
134
677
|
@discount = discount
|
678
|
+
@discount_end = discount_end
|
135
679
|
@promotion_code = promotion_code
|
136
680
|
end
|
137
681
|
end
|
@@ -198,6 +742,84 @@ module Stripe
|
|
198
742
|
end
|
199
743
|
|
200
744
|
class SubscriptionData < Stripe::RequestParams
|
745
|
+
class BillOnAcceptance < Stripe::RequestParams
|
746
|
+
class BillFrom < Stripe::RequestParams
|
747
|
+
class LineStartsAt < Stripe::RequestParams
|
748
|
+
# The ID of a quote line.
|
749
|
+
attr_accessor :id
|
750
|
+
# The position of the previous quote line in the `lines` array after which this line should begin. Indexes start from 0 and must be less than the index of the current line in the array.
|
751
|
+
attr_accessor :index
|
752
|
+
|
753
|
+
def initialize(id: nil, index: nil)
|
754
|
+
@id = id
|
755
|
+
@index = index
|
756
|
+
end
|
757
|
+
end
|
758
|
+
# Details of a Quote line to start the bill period from.
|
759
|
+
attr_accessor :line_starts_at
|
760
|
+
# A precise Unix timestamp.
|
761
|
+
attr_accessor :timestamp
|
762
|
+
# The type of method to specify the `bill_from` time.
|
763
|
+
attr_accessor :type
|
764
|
+
|
765
|
+
def initialize(line_starts_at: nil, timestamp: nil, type: nil)
|
766
|
+
@line_starts_at = line_starts_at
|
767
|
+
@timestamp = timestamp
|
768
|
+
@type = type
|
769
|
+
end
|
770
|
+
end
|
771
|
+
|
772
|
+
class BillUntil < Stripe::RequestParams
|
773
|
+
class Duration < Stripe::RequestParams
|
774
|
+
# Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
|
775
|
+
attr_accessor :interval
|
776
|
+
# The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
|
777
|
+
attr_accessor :interval_count
|
778
|
+
|
779
|
+
def initialize(interval: nil, interval_count: nil)
|
780
|
+
@interval = interval
|
781
|
+
@interval_count = interval_count
|
782
|
+
end
|
783
|
+
end
|
784
|
+
|
785
|
+
class LineEndsAt < Stripe::RequestParams
|
786
|
+
# The ID of a quote line.
|
787
|
+
attr_accessor :id
|
788
|
+
# 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.
|
789
|
+
attr_accessor :index
|
790
|
+
|
791
|
+
def initialize(id: nil, index: nil)
|
792
|
+
@id = id
|
793
|
+
@index = index
|
794
|
+
end
|
795
|
+
end
|
796
|
+
# Details of the duration over which to bill.
|
797
|
+
attr_accessor :duration
|
798
|
+
# Details of a Quote line item from which to bill until.
|
799
|
+
attr_accessor :line_ends_at
|
800
|
+
# A precise Unix timestamp.
|
801
|
+
attr_accessor :timestamp
|
802
|
+
# The type of method to specify the `bill_until` time.
|
803
|
+
attr_accessor :type
|
804
|
+
|
805
|
+
def initialize(duration: nil, line_ends_at: nil, timestamp: nil, type: nil)
|
806
|
+
@duration = duration
|
807
|
+
@line_ends_at = line_ends_at
|
808
|
+
@timestamp = timestamp
|
809
|
+
@type = type
|
810
|
+
end
|
811
|
+
end
|
812
|
+
# The start of the period to bill from when the Quote is accepted.
|
813
|
+
attr_accessor :bill_from
|
814
|
+
# The end of the period to bill until when the Quote is accepted.
|
815
|
+
attr_accessor :bill_until
|
816
|
+
|
817
|
+
def initialize(bill_from: nil, bill_until: nil)
|
818
|
+
@bill_from = bill_from
|
819
|
+
@bill_until = bill_until
|
820
|
+
end
|
821
|
+
end
|
822
|
+
|
201
823
|
class BillingMode < Stripe::RequestParams
|
202
824
|
# Attribute for param field type
|
203
825
|
attr_accessor :type
|
@@ -206,32 +828,208 @@ module Stripe
|
|
206
828
|
@type = type
|
207
829
|
end
|
208
830
|
end
|
831
|
+
|
832
|
+
class Prebilling < Stripe::RequestParams
|
833
|
+
# This is used to determine the number of billing cycles to prebill.
|
834
|
+
attr_accessor :iterations
|
835
|
+
|
836
|
+
def initialize(iterations: nil)
|
837
|
+
@iterations = iterations
|
838
|
+
end
|
839
|
+
end
|
840
|
+
# Describes the period to bill for upon accepting the quote.
|
841
|
+
attr_accessor :bill_on_acceptance
|
842
|
+
# Configures when the subscription schedule generates prorations for phase transitions. Possible values are `prorate_on_next_phase` or `prorate_up_front` with the default being `prorate_on_next_phase`. `prorate_on_next_phase` will apply phase changes and generate prorations at transition time. `prorate_up_front` will bill for all phases within the current billing cycle up front.
|
843
|
+
attr_accessor :billing_behavior
|
844
|
+
# When specified as `reset`, the subscription will always start a new billing period when the quote is accepted.
|
845
|
+
attr_accessor :billing_cycle_anchor
|
209
846
|
# Controls how prorations and invoices for subscriptions are calculated and orchestrated.
|
210
847
|
attr_accessor :billing_mode
|
211
848
|
# The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs.
|
212
849
|
attr_accessor :description
|
213
|
-
# When creating a new subscription, the date of which the subscription schedule will start after the quote is accepted. The `effective_date` is ignored if it is in the past when the quote is accepted.
|
850
|
+
# When creating a new subscription, the date of which the subscription schedule will start after the quote is accepted. When updating a subscription, the date of which the subscription will be updated using a subscription schedule. The special value `current_period_end` can be provided to update a subscription at the end of its current period. The `effective_date` is ignored if it is in the past when the quote is accepted.
|
214
851
|
attr_accessor :effective_date
|
852
|
+
# Behavior of the subscription schedule and underlying subscription when it ends.
|
853
|
+
attr_accessor :end_behavior
|
854
|
+
# The id of a subscription that the quote will update. By default, the quote will contain the state of the subscription (such as line items, collection method and billing thresholds) unless overridden.
|
855
|
+
attr_accessor :from_subscription
|
215
856
|
# 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.
|
216
857
|
attr_accessor :metadata
|
858
|
+
# If specified, the invoicing for the given billing cycle iterations will be processed when the quote is accepted. Cannot be used with `effective_date`.
|
859
|
+
attr_accessor :prebilling
|
860
|
+
# Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations). When creating a subscription, valid values are `create_prorations` or `none`.
|
861
|
+
#
|
862
|
+
# When updating a subscription, valid values are `create_prorations`, `none`, or `always_invoice`.
|
863
|
+
#
|
864
|
+
# Passing `create_prorations` will cause proration invoice items to be created when applicable. These proration items will only be invoiced immediately under [certain conditions](https://stripe.com/docs/subscriptions/upgrading-downgrading#immediate-payment). In order to always invoice immediately for prorations, pass `always_invoice`.
|
865
|
+
#
|
866
|
+
# Prorations can be disabled by passing `none`.
|
867
|
+
attr_accessor :proration_behavior
|
217
868
|
# Integer representing the number of trial period days before the customer is charged for the first time.
|
218
869
|
attr_accessor :trial_period_days
|
219
870
|
|
220
871
|
def initialize(
|
872
|
+
bill_on_acceptance: nil,
|
873
|
+
billing_behavior: nil,
|
874
|
+
billing_cycle_anchor: nil,
|
221
875
|
billing_mode: nil,
|
222
876
|
description: nil,
|
223
877
|
effective_date: nil,
|
878
|
+
end_behavior: nil,
|
879
|
+
from_subscription: nil,
|
224
880
|
metadata: nil,
|
881
|
+
prebilling: nil,
|
882
|
+
proration_behavior: nil,
|
225
883
|
trial_period_days: nil
|
226
884
|
)
|
885
|
+
@bill_on_acceptance = bill_on_acceptance
|
886
|
+
@billing_behavior = billing_behavior
|
887
|
+
@billing_cycle_anchor = billing_cycle_anchor
|
227
888
|
@billing_mode = billing_mode
|
228
889
|
@description = description
|
229
890
|
@effective_date = effective_date
|
891
|
+
@end_behavior = end_behavior
|
892
|
+
@from_subscription = from_subscription
|
230
893
|
@metadata = metadata
|
894
|
+
@prebilling = prebilling
|
895
|
+
@proration_behavior = proration_behavior
|
231
896
|
@trial_period_days = trial_period_days
|
232
897
|
end
|
233
898
|
end
|
234
899
|
|
900
|
+
class SubscriptionDataOverride < Stripe::RequestParams
|
901
|
+
class AppliesTo < Stripe::RequestParams
|
902
|
+
# A custom string that identifies a new subscription schedule being created upon quote acceptance. All quote lines with the same `new_reference` field will be applied to the creation of a new subscription schedule.
|
903
|
+
attr_accessor :new_reference
|
904
|
+
# The ID of the schedule the line applies to.
|
905
|
+
attr_accessor :subscription_schedule
|
906
|
+
# Describes whether the quote line is affecting a new schedule or an existing schedule.
|
907
|
+
attr_accessor :type
|
908
|
+
|
909
|
+
def initialize(new_reference: nil, subscription_schedule: nil, type: nil)
|
910
|
+
@new_reference = new_reference
|
911
|
+
@subscription_schedule = subscription_schedule
|
912
|
+
@type = type
|
913
|
+
end
|
914
|
+
end
|
915
|
+
|
916
|
+
class BillOnAcceptance < Stripe::RequestParams
|
917
|
+
class BillFrom < Stripe::RequestParams
|
918
|
+
class LineStartsAt < Stripe::RequestParams
|
919
|
+
# The ID of a quote line.
|
920
|
+
attr_accessor :id
|
921
|
+
# The position of the previous quote line in the `lines` array after which this line should begin. Indexes start from 0 and must be less than the index of the current line in the array.
|
922
|
+
attr_accessor :index
|
923
|
+
|
924
|
+
def initialize(id: nil, index: nil)
|
925
|
+
@id = id
|
926
|
+
@index = index
|
927
|
+
end
|
928
|
+
end
|
929
|
+
# Details of a Quote line to start the bill period from.
|
930
|
+
attr_accessor :line_starts_at
|
931
|
+
# A precise Unix timestamp.
|
932
|
+
attr_accessor :timestamp
|
933
|
+
# The type of method to specify the `bill_from` time.
|
934
|
+
attr_accessor :type
|
935
|
+
|
936
|
+
def initialize(line_starts_at: nil, timestamp: nil, type: nil)
|
937
|
+
@line_starts_at = line_starts_at
|
938
|
+
@timestamp = timestamp
|
939
|
+
@type = type
|
940
|
+
end
|
941
|
+
end
|
942
|
+
|
943
|
+
class BillUntil < Stripe::RequestParams
|
944
|
+
class Duration < Stripe::RequestParams
|
945
|
+
# Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
|
946
|
+
attr_accessor :interval
|
947
|
+
# The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
|
948
|
+
attr_accessor :interval_count
|
949
|
+
|
950
|
+
def initialize(interval: nil, interval_count: nil)
|
951
|
+
@interval = interval
|
952
|
+
@interval_count = interval_count
|
953
|
+
end
|
954
|
+
end
|
955
|
+
|
956
|
+
class LineEndsAt < Stripe::RequestParams
|
957
|
+
# The ID of a quote line.
|
958
|
+
attr_accessor :id
|
959
|
+
# The position of the previous quote line in the `lines` array after which this line should begin. Indexes start from 0 and must be less than the index of the current line in the array.
|
960
|
+
attr_accessor :index
|
961
|
+
|
962
|
+
def initialize(id: nil, index: nil)
|
963
|
+
@id = id
|
964
|
+
@index = index
|
965
|
+
end
|
966
|
+
end
|
967
|
+
# Details of the duration over which to bill.
|
968
|
+
attr_accessor :duration
|
969
|
+
# Details of a Quote line item from which to bill until.
|
970
|
+
attr_accessor :line_ends_at
|
971
|
+
# A precise Unix timestamp.
|
972
|
+
attr_accessor :timestamp
|
973
|
+
# The type of method to specify the `bill_until` time.
|
974
|
+
attr_accessor :type
|
975
|
+
|
976
|
+
def initialize(duration: nil, line_ends_at: nil, timestamp: nil, type: nil)
|
977
|
+
@duration = duration
|
978
|
+
@line_ends_at = line_ends_at
|
979
|
+
@timestamp = timestamp
|
980
|
+
@type = type
|
981
|
+
end
|
982
|
+
end
|
983
|
+
# The start of the period to bill from when the Quote is accepted.
|
984
|
+
attr_accessor :bill_from
|
985
|
+
# The end of the period to bill until when the Quote is accepted.
|
986
|
+
attr_accessor :bill_until
|
987
|
+
|
988
|
+
def initialize(bill_from: nil, bill_until: nil)
|
989
|
+
@bill_from = bill_from
|
990
|
+
@bill_until = bill_until
|
991
|
+
end
|
992
|
+
end
|
993
|
+
# Whether the override applies to an existing Subscription Schedule or a new Subscription Schedule.
|
994
|
+
attr_accessor :applies_to
|
995
|
+
# Describes the period to bill for upon accepting the quote.
|
996
|
+
attr_accessor :bill_on_acceptance
|
997
|
+
# Configures when the subscription schedule generates prorations for phase transitions. Possible values are `prorate_on_next_phase` or `prorate_up_front` with the default being `prorate_on_next_phase`. `prorate_on_next_phase` will apply phase changes and generate prorations at transition time. `prorate_up_front` will bill for all phases within the current billing cycle up front.
|
998
|
+
attr_accessor :billing_behavior
|
999
|
+
# The customer the Subscription Data override applies to. This is only relevant when `applies_to.type=new_reference`.
|
1000
|
+
attr_accessor :customer
|
1001
|
+
# The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs.
|
1002
|
+
attr_accessor :description
|
1003
|
+
# Behavior of the subscription schedule and underlying subscription when it ends.
|
1004
|
+
attr_accessor :end_behavior
|
1005
|
+
# Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations). When creating a subscription, valid values are `create_prorations` or `none`.
|
1006
|
+
#
|
1007
|
+
# When updating a subscription, valid values are `create_prorations`, `none`, or `always_invoice`.
|
1008
|
+
#
|
1009
|
+
# Passing `create_prorations` will cause proration invoice items to be created when applicable. These proration items will only be invoiced immediately under [certain conditions](https://stripe.com/docs/subscriptions/upgrading-downgrading#immediate-payment). In order to always invoice immediately for prorations, pass `always_invoice`.
|
1010
|
+
#
|
1011
|
+
# Prorations can be disabled by passing `none`.
|
1012
|
+
attr_accessor :proration_behavior
|
1013
|
+
|
1014
|
+
def initialize(
|
1015
|
+
applies_to: nil,
|
1016
|
+
bill_on_acceptance: nil,
|
1017
|
+
billing_behavior: nil,
|
1018
|
+
customer: nil,
|
1019
|
+
description: nil,
|
1020
|
+
end_behavior: nil,
|
1021
|
+
proration_behavior: nil
|
1022
|
+
)
|
1023
|
+
@applies_to = applies_to
|
1024
|
+
@bill_on_acceptance = bill_on_acceptance
|
1025
|
+
@billing_behavior = billing_behavior
|
1026
|
+
@customer = customer
|
1027
|
+
@description = description
|
1028
|
+
@end_behavior = end_behavior
|
1029
|
+
@proration_behavior = proration_behavior
|
1030
|
+
end
|
1031
|
+
end
|
1032
|
+
|
235
1033
|
class TransferData < Stripe::RequestParams
|
236
1034
|
# The amount that will be transferred automatically when the invoice is paid. If no amount is set, the full amount is transferred. There cannot be any line items with recurring prices when using this field.
|
237
1035
|
attr_accessor :amount
|
@@ -246,6 +1044,8 @@ module Stripe
|
|
246
1044
|
@destination = destination
|
247
1045
|
end
|
248
1046
|
end
|
1047
|
+
# Set to true to allow quote lines to have `starts_at` in the past if collection is paused between `starts_at` and now.
|
1048
|
+
attr_accessor :allow_backdated_lines
|
249
1049
|
# The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. There cannot be any line items with recurring prices when using this field.
|
250
1050
|
attr_accessor :application_fee_amount
|
251
1051
|
# A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. There must be at least 1 line item with a recurring price to use this field.
|
@@ -256,6 +1056,8 @@ module Stripe
|
|
256
1056
|
attr_accessor :collection_method
|
257
1057
|
# The customer for which this quote belongs to. A customer is required before finalizing the quote. Once specified, it cannot be changed.
|
258
1058
|
attr_accessor :customer
|
1059
|
+
# The account for which this quote belongs to. A customer or account is required before finalizing the quote. Once specified, it cannot be changed.
|
1060
|
+
attr_accessor :customer_account
|
259
1061
|
# The tax rates that will apply to any line item that does not have `tax_rates` set.
|
260
1062
|
attr_accessor :default_tax_rates
|
261
1063
|
# A description that will be displayed on the quote PDF. If no value is passed, the default description configured in your [quote template settings](https://dashboard.stripe.com/settings/billing/quote) will be used.
|
@@ -276,23 +1078,29 @@ module Stripe
|
|
276
1078
|
attr_accessor :invoice_settings
|
277
1079
|
# A list of line items the customer is being quoted for. Each line item includes information about the product, the quantity, and the resulting cost.
|
278
1080
|
attr_accessor :line_items
|
1081
|
+
# A list of [quote lines](https://docs.stripe.com/api/quote_lines) on the quote. These lines describe changes, in the order provided, that will be used to create new subscription schedules or update existing subscription schedules when the quote is accepted.
|
1082
|
+
attr_accessor :lines
|
279
1083
|
# 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`.
|
280
1084
|
attr_accessor :metadata
|
281
1085
|
# The account on behalf of which to charge.
|
282
1086
|
attr_accessor :on_behalf_of
|
283
1087
|
# When creating a subscription or subscription schedule, the specified configuration data will be used. There must be at least one line item with a recurring price for a subscription or subscription schedule to be created. A subscription schedule is created if `subscription_data[effective_date]` is present and in the future, otherwise a subscription is created.
|
284
1088
|
attr_accessor :subscription_data
|
1089
|
+
# List representing overrides for `subscription_data` configurations for specific subscription schedules.
|
1090
|
+
attr_accessor :subscription_data_overrides
|
285
1091
|
# ID of the test clock to attach to the quote.
|
286
1092
|
attr_accessor :test_clock
|
287
1093
|
# The data with which to automatically create a Transfer for each of the invoices.
|
288
1094
|
attr_accessor :transfer_data
|
289
1095
|
|
290
1096
|
def initialize(
|
1097
|
+
allow_backdated_lines: nil,
|
291
1098
|
application_fee_amount: nil,
|
292
1099
|
application_fee_percent: nil,
|
293
1100
|
automatic_tax: nil,
|
294
1101
|
collection_method: nil,
|
295
1102
|
customer: nil,
|
1103
|
+
customer_account: nil,
|
296
1104
|
default_tax_rates: nil,
|
297
1105
|
description: nil,
|
298
1106
|
discounts: nil,
|
@@ -303,17 +1111,21 @@ module Stripe
|
|
303
1111
|
header: nil,
|
304
1112
|
invoice_settings: nil,
|
305
1113
|
line_items: nil,
|
1114
|
+
lines: nil,
|
306
1115
|
metadata: nil,
|
307
1116
|
on_behalf_of: nil,
|
308
1117
|
subscription_data: nil,
|
1118
|
+
subscription_data_overrides: nil,
|
309
1119
|
test_clock: nil,
|
310
1120
|
transfer_data: nil
|
311
1121
|
)
|
1122
|
+
@allow_backdated_lines = allow_backdated_lines
|
312
1123
|
@application_fee_amount = application_fee_amount
|
313
1124
|
@application_fee_percent = application_fee_percent
|
314
1125
|
@automatic_tax = automatic_tax
|
315
1126
|
@collection_method = collection_method
|
316
1127
|
@customer = customer
|
1128
|
+
@customer_account = customer_account
|
317
1129
|
@default_tax_rates = default_tax_rates
|
318
1130
|
@description = description
|
319
1131
|
@discounts = discounts
|
@@ -324,9 +1136,11 @@ module Stripe
|
|
324
1136
|
@header = header
|
325
1137
|
@invoice_settings = invoice_settings
|
326
1138
|
@line_items = line_items
|
1139
|
+
@lines = lines
|
327
1140
|
@metadata = metadata
|
328
1141
|
@on_behalf_of = on_behalf_of
|
329
1142
|
@subscription_data = subscription_data
|
1143
|
+
@subscription_data_overrides = subscription_data_overrides
|
330
1144
|
@test_clock = test_clock
|
331
1145
|
@transfer_data = transfer_data
|
332
1146
|
end
|
@@ -366,16 +1180,44 @@ module Stripe
|
|
366
1180
|
end
|
367
1181
|
|
368
1182
|
class Discount < Stripe::RequestParams
|
1183
|
+
class DiscountEnd < Stripe::RequestParams
|
1184
|
+
class Duration < Stripe::RequestParams
|
1185
|
+
# Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
|
1186
|
+
attr_accessor :interval
|
1187
|
+
# The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
|
1188
|
+
attr_accessor :interval_count
|
1189
|
+
|
1190
|
+
def initialize(interval: nil, interval_count: nil)
|
1191
|
+
@interval = interval
|
1192
|
+
@interval_count = interval_count
|
1193
|
+
end
|
1194
|
+
end
|
1195
|
+
# Time span for the redeemed discount.
|
1196
|
+
attr_accessor :duration
|
1197
|
+
# A precise Unix timestamp for the discount to end. Must be in the future.
|
1198
|
+
attr_accessor :timestamp
|
1199
|
+
# The type of calculation made to determine when the discount ends.
|
1200
|
+
attr_accessor :type
|
1201
|
+
|
1202
|
+
def initialize(duration: nil, timestamp: nil, type: nil)
|
1203
|
+
@duration = duration
|
1204
|
+
@timestamp = timestamp
|
1205
|
+
@type = type
|
1206
|
+
end
|
1207
|
+
end
|
369
1208
|
# ID of the coupon to create a new discount for.
|
370
1209
|
attr_accessor :coupon
|
371
1210
|
# ID of an existing discount on the object (or one of its ancestors) to reuse.
|
372
1211
|
attr_accessor :discount
|
1212
|
+
# Details to determine how long the discount should be applied for.
|
1213
|
+
attr_accessor :discount_end
|
373
1214
|
# ID of the promotion code to create a new discount for.
|
374
1215
|
attr_accessor :promotion_code
|
375
1216
|
|
376
|
-
def initialize(coupon: nil, discount: nil, promotion_code: nil)
|
1217
|
+
def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
|
377
1218
|
@coupon = coupon
|
378
1219
|
@discount = discount
|
1220
|
+
@discount_end = discount_end
|
379
1221
|
@promotion_code = promotion_code
|
380
1222
|
end
|
381
1223
|
end
|
@@ -403,18 +1245,529 @@ module Stripe
|
|
403
1245
|
end
|
404
1246
|
end
|
405
1247
|
|
1248
|
+
class Line < Stripe::RequestParams
|
1249
|
+
class Action < Stripe::RequestParams
|
1250
|
+
class AddDiscount < Stripe::RequestParams
|
1251
|
+
class DiscountEnd < Stripe::RequestParams
|
1252
|
+
# The type of calculation made to determine when the discount ends.
|
1253
|
+
attr_accessor :type
|
1254
|
+
|
1255
|
+
def initialize(type: nil)
|
1256
|
+
@type = type
|
1257
|
+
end
|
1258
|
+
end
|
1259
|
+
# The coupon code to redeem.
|
1260
|
+
attr_accessor :coupon
|
1261
|
+
# An ID of an existing discount for a coupon that was already redeemed.
|
1262
|
+
attr_accessor :discount
|
1263
|
+
# Details to determine how long the discount should be applied for.
|
1264
|
+
attr_accessor :discount_end
|
1265
|
+
# 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.
|
1266
|
+
attr_accessor :index
|
1267
|
+
# The promotion code to redeem.
|
1268
|
+
attr_accessor :promotion_code
|
1269
|
+
|
1270
|
+
def initialize(
|
1271
|
+
coupon: nil,
|
1272
|
+
discount: nil,
|
1273
|
+
discount_end: nil,
|
1274
|
+
index: nil,
|
1275
|
+
promotion_code: nil
|
1276
|
+
)
|
1277
|
+
@coupon = coupon
|
1278
|
+
@discount = discount
|
1279
|
+
@discount_end = discount_end
|
1280
|
+
@index = index
|
1281
|
+
@promotion_code = promotion_code
|
1282
|
+
end
|
1283
|
+
end
|
1284
|
+
|
1285
|
+
class AddItem < Stripe::RequestParams
|
1286
|
+
class Discount < Stripe::RequestParams
|
1287
|
+
class DiscountEnd < Stripe::RequestParams
|
1288
|
+
class Duration < Stripe::RequestParams
|
1289
|
+
# Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
|
1290
|
+
attr_accessor :interval
|
1291
|
+
# The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
|
1292
|
+
attr_accessor :interval_count
|
1293
|
+
|
1294
|
+
def initialize(interval: nil, interval_count: nil)
|
1295
|
+
@interval = interval
|
1296
|
+
@interval_count = interval_count
|
1297
|
+
end
|
1298
|
+
end
|
1299
|
+
# Time span for the redeemed discount.
|
1300
|
+
attr_accessor :duration
|
1301
|
+
# A precise Unix timestamp for the discount to end. Must be in the future.
|
1302
|
+
attr_accessor :timestamp
|
1303
|
+
# The type of calculation made to determine when the discount ends.
|
1304
|
+
attr_accessor :type
|
1305
|
+
|
1306
|
+
def initialize(duration: nil, timestamp: nil, type: nil)
|
1307
|
+
@duration = duration
|
1308
|
+
@timestamp = timestamp
|
1309
|
+
@type = type
|
1310
|
+
end
|
1311
|
+
end
|
1312
|
+
# ID of the coupon to create a new discount for.
|
1313
|
+
attr_accessor :coupon
|
1314
|
+
# ID of an existing discount on the object (or one of its ancestors) to reuse.
|
1315
|
+
attr_accessor :discount
|
1316
|
+
# Details to determine how long the discount should be applied for.
|
1317
|
+
attr_accessor :discount_end
|
1318
|
+
# ID of the promotion code to create a new discount for.
|
1319
|
+
attr_accessor :promotion_code
|
1320
|
+
|
1321
|
+
def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
|
1322
|
+
@coupon = coupon
|
1323
|
+
@discount = discount
|
1324
|
+
@discount_end = discount_end
|
1325
|
+
@promotion_code = promotion_code
|
1326
|
+
end
|
1327
|
+
end
|
1328
|
+
|
1329
|
+
class Trial < Stripe::RequestParams
|
1330
|
+
# 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.
|
1331
|
+
attr_accessor :converts_to
|
1332
|
+
# Determines the type of trial for this item.
|
1333
|
+
attr_accessor :type
|
1334
|
+
|
1335
|
+
def initialize(converts_to: nil, type: nil)
|
1336
|
+
@converts_to = converts_to
|
1337
|
+
@type = type
|
1338
|
+
end
|
1339
|
+
end
|
1340
|
+
# The discounts applied to the item. Subscription item discounts are applied before subscription discounts.
|
1341
|
+
attr_accessor :discounts
|
1342
|
+
# 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`.
|
1343
|
+
attr_accessor :metadata
|
1344
|
+
# The ID of the price object.
|
1345
|
+
attr_accessor :price
|
1346
|
+
# Quantity for this item.
|
1347
|
+
attr_accessor :quantity
|
1348
|
+
# 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`.
|
1349
|
+
attr_accessor :tax_rates
|
1350
|
+
# Options that configure the trial on the subscription item.
|
1351
|
+
attr_accessor :trial
|
1352
|
+
|
1353
|
+
def initialize(
|
1354
|
+
discounts: nil,
|
1355
|
+
metadata: nil,
|
1356
|
+
price: nil,
|
1357
|
+
quantity: nil,
|
1358
|
+
tax_rates: nil,
|
1359
|
+
trial: nil
|
1360
|
+
)
|
1361
|
+
@discounts = discounts
|
1362
|
+
@metadata = metadata
|
1363
|
+
@price = price
|
1364
|
+
@quantity = quantity
|
1365
|
+
@tax_rates = tax_rates
|
1366
|
+
@trial = trial
|
1367
|
+
end
|
1368
|
+
end
|
1369
|
+
|
1370
|
+
class RemoveDiscount < Stripe::RequestParams
|
1371
|
+
# The coupon code to remove from the `discounts` array.
|
1372
|
+
attr_accessor :coupon
|
1373
|
+
# The ID of a discount to remove from the `discounts` array.
|
1374
|
+
attr_accessor :discount
|
1375
|
+
# The ID of a promotion code to remove from the `discounts` array.
|
1376
|
+
attr_accessor :promotion_code
|
1377
|
+
|
1378
|
+
def initialize(coupon: nil, discount: nil, promotion_code: nil)
|
1379
|
+
@coupon = coupon
|
1380
|
+
@discount = discount
|
1381
|
+
@promotion_code = promotion_code
|
1382
|
+
end
|
1383
|
+
end
|
1384
|
+
|
1385
|
+
class RemoveItem < Stripe::RequestParams
|
1386
|
+
# ID of a price to remove.
|
1387
|
+
attr_accessor :price
|
1388
|
+
|
1389
|
+
def initialize(price: nil)
|
1390
|
+
@price = price
|
1391
|
+
end
|
1392
|
+
end
|
1393
|
+
|
1394
|
+
class SetDiscount < Stripe::RequestParams
|
1395
|
+
# The coupon code to replace the `discounts` array with.
|
1396
|
+
attr_accessor :coupon
|
1397
|
+
# An ID of an existing discount to replace the `discounts` array with.
|
1398
|
+
attr_accessor :discount
|
1399
|
+
# An ID of an existing promotion code to replace the `discounts` array with.
|
1400
|
+
attr_accessor :promotion_code
|
1401
|
+
|
1402
|
+
def initialize(coupon: nil, discount: nil, promotion_code: nil)
|
1403
|
+
@coupon = coupon
|
1404
|
+
@discount = discount
|
1405
|
+
@promotion_code = promotion_code
|
1406
|
+
end
|
1407
|
+
end
|
1408
|
+
|
1409
|
+
class SetItem < Stripe::RequestParams
|
1410
|
+
class Discount < Stripe::RequestParams
|
1411
|
+
class DiscountEnd < Stripe::RequestParams
|
1412
|
+
class Duration < Stripe::RequestParams
|
1413
|
+
# Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
|
1414
|
+
attr_accessor :interval
|
1415
|
+
# The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
|
1416
|
+
attr_accessor :interval_count
|
1417
|
+
|
1418
|
+
def initialize(interval: nil, interval_count: nil)
|
1419
|
+
@interval = interval
|
1420
|
+
@interval_count = interval_count
|
1421
|
+
end
|
1422
|
+
end
|
1423
|
+
# Time span for the redeemed discount.
|
1424
|
+
attr_accessor :duration
|
1425
|
+
# A precise Unix timestamp for the discount to end. Must be in the future.
|
1426
|
+
attr_accessor :timestamp
|
1427
|
+
# The type of calculation made to determine when the discount ends.
|
1428
|
+
attr_accessor :type
|
1429
|
+
|
1430
|
+
def initialize(duration: nil, timestamp: nil, type: nil)
|
1431
|
+
@duration = duration
|
1432
|
+
@timestamp = timestamp
|
1433
|
+
@type = type
|
1434
|
+
end
|
1435
|
+
end
|
1436
|
+
# ID of the coupon to create a new discount for.
|
1437
|
+
attr_accessor :coupon
|
1438
|
+
# ID of an existing discount on the object (or one of its ancestors) to reuse.
|
1439
|
+
attr_accessor :discount
|
1440
|
+
# Details to determine how long the discount should be applied for.
|
1441
|
+
attr_accessor :discount_end
|
1442
|
+
# ID of the promotion code to create a new discount for.
|
1443
|
+
attr_accessor :promotion_code
|
1444
|
+
|
1445
|
+
def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
|
1446
|
+
@coupon = coupon
|
1447
|
+
@discount = discount
|
1448
|
+
@discount_end = discount_end
|
1449
|
+
@promotion_code = promotion_code
|
1450
|
+
end
|
1451
|
+
end
|
1452
|
+
|
1453
|
+
class Trial < Stripe::RequestParams
|
1454
|
+
# 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.
|
1455
|
+
attr_accessor :converts_to
|
1456
|
+
# Determines the type of trial for this item.
|
1457
|
+
attr_accessor :type
|
1458
|
+
|
1459
|
+
def initialize(converts_to: nil, type: nil)
|
1460
|
+
@converts_to = converts_to
|
1461
|
+
@type = type
|
1462
|
+
end
|
1463
|
+
end
|
1464
|
+
# 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`.
|
1465
|
+
attr_accessor :discounts
|
1466
|
+
# 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`.
|
1467
|
+
attr_accessor :metadata
|
1468
|
+
# The ID of the price object.
|
1469
|
+
attr_accessor :price
|
1470
|
+
# 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`.
|
1471
|
+
attr_accessor :quantity
|
1472
|
+
# 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`.
|
1473
|
+
attr_accessor :tax_rates
|
1474
|
+
# 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`.
|
1475
|
+
attr_accessor :trial
|
1476
|
+
|
1477
|
+
def initialize(
|
1478
|
+
discounts: nil,
|
1479
|
+
metadata: nil,
|
1480
|
+
price: nil,
|
1481
|
+
quantity: nil,
|
1482
|
+
tax_rates: nil,
|
1483
|
+
trial: nil
|
1484
|
+
)
|
1485
|
+
@discounts = discounts
|
1486
|
+
@metadata = metadata
|
1487
|
+
@price = price
|
1488
|
+
@quantity = quantity
|
1489
|
+
@tax_rates = tax_rates
|
1490
|
+
@trial = trial
|
1491
|
+
end
|
1492
|
+
end
|
1493
|
+
# Details for the `add_discount` type.
|
1494
|
+
attr_accessor :add_discount
|
1495
|
+
# Details for the `add_item` type.
|
1496
|
+
attr_accessor :add_item
|
1497
|
+
# Details for the `add_metadata` type: specify a hash of key-value pairs.
|
1498
|
+
attr_accessor :add_metadata
|
1499
|
+
# Details for the `remove_discount` type.
|
1500
|
+
attr_accessor :remove_discount
|
1501
|
+
# Details for the `remove_item` type.
|
1502
|
+
attr_accessor :remove_item
|
1503
|
+
# Details for the `remove_metadata` type: specify an array of metadata keys.
|
1504
|
+
attr_accessor :remove_metadata
|
1505
|
+
# Details for the `set_discounts` type.
|
1506
|
+
attr_accessor :set_discounts
|
1507
|
+
# Details for the `set_items` type.
|
1508
|
+
attr_accessor :set_items
|
1509
|
+
# Details for the `set_metadata` type: specify an array of key-value pairs.
|
1510
|
+
attr_accessor :set_metadata
|
1511
|
+
# The type of action the quote line performs.
|
1512
|
+
attr_accessor :type
|
1513
|
+
|
1514
|
+
def initialize(
|
1515
|
+
add_discount: nil,
|
1516
|
+
add_item: nil,
|
1517
|
+
add_metadata: nil,
|
1518
|
+
remove_discount: nil,
|
1519
|
+
remove_item: nil,
|
1520
|
+
remove_metadata: nil,
|
1521
|
+
set_discounts: nil,
|
1522
|
+
set_items: nil,
|
1523
|
+
set_metadata: nil,
|
1524
|
+
type: nil
|
1525
|
+
)
|
1526
|
+
@add_discount = add_discount
|
1527
|
+
@add_item = add_item
|
1528
|
+
@add_metadata = add_metadata
|
1529
|
+
@remove_discount = remove_discount
|
1530
|
+
@remove_item = remove_item
|
1531
|
+
@remove_metadata = remove_metadata
|
1532
|
+
@set_discounts = set_discounts
|
1533
|
+
@set_items = set_items
|
1534
|
+
@set_metadata = set_metadata
|
1535
|
+
@type = type
|
1536
|
+
end
|
1537
|
+
end
|
1538
|
+
|
1539
|
+
class AppliesTo < Stripe::RequestParams
|
1540
|
+
# 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.
|
1541
|
+
attr_accessor :new_reference
|
1542
|
+
# The ID of the schedule the line applies to.
|
1543
|
+
attr_accessor :subscription_schedule
|
1544
|
+
# Describes whether the quote line is affecting a new schedule or an existing schedule.
|
1545
|
+
attr_accessor :type
|
1546
|
+
|
1547
|
+
def initialize(new_reference: nil, subscription_schedule: nil, type: nil)
|
1548
|
+
@new_reference = new_reference
|
1549
|
+
@subscription_schedule = subscription_schedule
|
1550
|
+
@type = type
|
1551
|
+
end
|
1552
|
+
end
|
1553
|
+
|
1554
|
+
class CancelSubscriptionSchedule < Stripe::RequestParams
|
1555
|
+
# Timestamp helper to cancel the underlying schedule on the accompanying line's start date. Must be set to `line_starts_at`.
|
1556
|
+
attr_accessor :cancel_at
|
1557
|
+
# 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`.
|
1558
|
+
attr_accessor :invoice_now
|
1559
|
+
# If the subscription schedule is `active`, indicates if the cancellation should be prorated. Boolean that defaults to `true`.
|
1560
|
+
attr_accessor :prorate
|
1561
|
+
|
1562
|
+
def initialize(cancel_at: nil, invoice_now: nil, prorate: nil)
|
1563
|
+
@cancel_at = cancel_at
|
1564
|
+
@invoice_now = invoice_now
|
1565
|
+
@prorate = prorate
|
1566
|
+
end
|
1567
|
+
end
|
1568
|
+
|
1569
|
+
class EndsAt < Stripe::RequestParams
|
1570
|
+
class DiscountEnd < Stripe::RequestParams
|
1571
|
+
# The ID of a specific discount.
|
1572
|
+
attr_accessor :discount
|
1573
|
+
|
1574
|
+
def initialize(discount: nil)
|
1575
|
+
@discount = discount
|
1576
|
+
end
|
1577
|
+
end
|
1578
|
+
|
1579
|
+
class Duration < Stripe::RequestParams
|
1580
|
+
# Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
|
1581
|
+
attr_accessor :interval
|
1582
|
+
# The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
|
1583
|
+
attr_accessor :interval_count
|
1584
|
+
|
1585
|
+
def initialize(interval: nil, interval_count: nil)
|
1586
|
+
@interval = interval
|
1587
|
+
@interval_count = interval_count
|
1588
|
+
end
|
1589
|
+
end
|
1590
|
+
# Use the `end` time of a given discount.
|
1591
|
+
attr_accessor :discount_end
|
1592
|
+
# Time span for the quote line starting from the `starts_at` date.
|
1593
|
+
attr_accessor :duration
|
1594
|
+
# A precise Unix timestamp.
|
1595
|
+
attr_accessor :timestamp
|
1596
|
+
# Select a way to pass in `ends_at`.
|
1597
|
+
attr_accessor :type
|
1598
|
+
|
1599
|
+
def initialize(discount_end: nil, duration: nil, timestamp: nil, type: nil)
|
1600
|
+
@discount_end = discount_end
|
1601
|
+
@duration = duration
|
1602
|
+
@timestamp = timestamp
|
1603
|
+
@type = type
|
1604
|
+
end
|
1605
|
+
end
|
1606
|
+
|
1607
|
+
class SetPauseCollection < Stripe::RequestParams
|
1608
|
+
class Set < Stripe::RequestParams
|
1609
|
+
# The payment collection behavior for this subscription while paused. One of `keep_as_draft`, `mark_uncollectible`, or `void`.
|
1610
|
+
attr_accessor :behavior
|
1611
|
+
|
1612
|
+
def initialize(behavior: nil)
|
1613
|
+
@behavior = behavior
|
1614
|
+
end
|
1615
|
+
end
|
1616
|
+
# Details of the pause_collection behavior to apply to the amendment.
|
1617
|
+
attr_accessor :set
|
1618
|
+
# Determines the type of the pause_collection amendment.
|
1619
|
+
attr_accessor :type
|
1620
|
+
|
1621
|
+
def initialize(set: nil, type: nil)
|
1622
|
+
@set = set
|
1623
|
+
@type = type
|
1624
|
+
end
|
1625
|
+
end
|
1626
|
+
|
1627
|
+
class StartsAt < Stripe::RequestParams
|
1628
|
+
class DiscountEnd < Stripe::RequestParams
|
1629
|
+
# The ID of a specific discount.
|
1630
|
+
attr_accessor :discount
|
1631
|
+
|
1632
|
+
def initialize(discount: nil)
|
1633
|
+
@discount = discount
|
1634
|
+
end
|
1635
|
+
end
|
1636
|
+
|
1637
|
+
class LineEndsAt < Stripe::RequestParams
|
1638
|
+
# The ID of a quote line.
|
1639
|
+
attr_accessor :id
|
1640
|
+
# 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.
|
1641
|
+
attr_accessor :index
|
1642
|
+
|
1643
|
+
def initialize(id: nil, index: nil)
|
1644
|
+
@id = id
|
1645
|
+
@index = index
|
1646
|
+
end
|
1647
|
+
end
|
1648
|
+
# Use the `end` time of a given discount.
|
1649
|
+
attr_accessor :discount_end
|
1650
|
+
# The timestamp the given line ends at.
|
1651
|
+
attr_accessor :line_ends_at
|
1652
|
+
# A precise Unix timestamp.
|
1653
|
+
attr_accessor :timestamp
|
1654
|
+
# Select a way to pass in `starts_at`.
|
1655
|
+
attr_accessor :type
|
1656
|
+
|
1657
|
+
def initialize(discount_end: nil, line_ends_at: nil, timestamp: nil, type: nil)
|
1658
|
+
@discount_end = discount_end
|
1659
|
+
@line_ends_at = line_ends_at
|
1660
|
+
@timestamp = timestamp
|
1661
|
+
@type = type
|
1662
|
+
end
|
1663
|
+
end
|
1664
|
+
|
1665
|
+
class TrialSettings < Stripe::RequestParams
|
1666
|
+
class EndBehavior < Stripe::RequestParams
|
1667
|
+
# Configure how an opt-in following a paid trial is billed when using `billing_behavior: prorate_up_front`.
|
1668
|
+
attr_accessor :prorate_up_front
|
1669
|
+
|
1670
|
+
def initialize(prorate_up_front: nil)
|
1671
|
+
@prorate_up_front = prorate_up_front
|
1672
|
+
end
|
1673
|
+
end
|
1674
|
+
# Defines how the subscription should behave when a trial ends.
|
1675
|
+
attr_accessor :end_behavior
|
1676
|
+
|
1677
|
+
def initialize(end_behavior: nil)
|
1678
|
+
@end_behavior = end_behavior
|
1679
|
+
end
|
1680
|
+
end
|
1681
|
+
# An array of operations the quote line performs.
|
1682
|
+
attr_accessor :actions
|
1683
|
+
# Details to identify the subscription schedule the quote line applies to.
|
1684
|
+
attr_accessor :applies_to
|
1685
|
+
# 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.
|
1686
|
+
attr_accessor :billing_cycle_anchor
|
1687
|
+
# 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.
|
1688
|
+
attr_accessor :cancel_subscription_schedule
|
1689
|
+
# 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.
|
1690
|
+
attr_accessor :ends_at
|
1691
|
+
# The ID of an existing line on the quote.
|
1692
|
+
attr_accessor :id
|
1693
|
+
# 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.
|
1694
|
+
attr_accessor :proration_behavior
|
1695
|
+
# Defines how to pause collection for the underlying subscription throughout the duration of the amendment.
|
1696
|
+
attr_accessor :set_pause_collection
|
1697
|
+
# Timestamp helper to end the underlying schedule early, based on the acompanying line's start or end date.
|
1698
|
+
attr_accessor :set_schedule_end
|
1699
|
+
# Details to identify the earliest timestamp where the proposed change should take effect.
|
1700
|
+
attr_accessor :starts_at
|
1701
|
+
# Settings related to subscription trials.
|
1702
|
+
attr_accessor :trial_settings
|
1703
|
+
|
1704
|
+
def initialize(
|
1705
|
+
actions: nil,
|
1706
|
+
applies_to: nil,
|
1707
|
+
billing_cycle_anchor: nil,
|
1708
|
+
cancel_subscription_schedule: nil,
|
1709
|
+
ends_at: nil,
|
1710
|
+
id: nil,
|
1711
|
+
proration_behavior: nil,
|
1712
|
+
set_pause_collection: nil,
|
1713
|
+
set_schedule_end: nil,
|
1714
|
+
starts_at: nil,
|
1715
|
+
trial_settings: nil
|
1716
|
+
)
|
1717
|
+
@actions = actions
|
1718
|
+
@applies_to = applies_to
|
1719
|
+
@billing_cycle_anchor = billing_cycle_anchor
|
1720
|
+
@cancel_subscription_schedule = cancel_subscription_schedule
|
1721
|
+
@ends_at = ends_at
|
1722
|
+
@id = id
|
1723
|
+
@proration_behavior = proration_behavior
|
1724
|
+
@set_pause_collection = set_pause_collection
|
1725
|
+
@set_schedule_end = set_schedule_end
|
1726
|
+
@starts_at = starts_at
|
1727
|
+
@trial_settings = trial_settings
|
1728
|
+
end
|
1729
|
+
end
|
1730
|
+
|
406
1731
|
class LineItem < Stripe::RequestParams
|
407
1732
|
class Discount < Stripe::RequestParams
|
1733
|
+
class DiscountEnd < Stripe::RequestParams
|
1734
|
+
class Duration < Stripe::RequestParams
|
1735
|
+
# Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
|
1736
|
+
attr_accessor :interval
|
1737
|
+
# The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
|
1738
|
+
attr_accessor :interval_count
|
1739
|
+
|
1740
|
+
def initialize(interval: nil, interval_count: nil)
|
1741
|
+
@interval = interval
|
1742
|
+
@interval_count = interval_count
|
1743
|
+
end
|
1744
|
+
end
|
1745
|
+
# Time span for the redeemed discount.
|
1746
|
+
attr_accessor :duration
|
1747
|
+
# A precise Unix timestamp for the discount to end. Must be in the future.
|
1748
|
+
attr_accessor :timestamp
|
1749
|
+
# The type of calculation made to determine when the discount ends.
|
1750
|
+
attr_accessor :type
|
1751
|
+
|
1752
|
+
def initialize(duration: nil, timestamp: nil, type: nil)
|
1753
|
+
@duration = duration
|
1754
|
+
@timestamp = timestamp
|
1755
|
+
@type = type
|
1756
|
+
end
|
1757
|
+
end
|
408
1758
|
# ID of the coupon to create a new discount for.
|
409
1759
|
attr_accessor :coupon
|
410
1760
|
# ID of an existing discount on the object (or one of its ancestors) to reuse.
|
411
1761
|
attr_accessor :discount
|
1762
|
+
# Details to determine how long the discount should be applied for.
|
1763
|
+
attr_accessor :discount_end
|
412
1764
|
# ID of the promotion code to create a new discount for.
|
413
1765
|
attr_accessor :promotion_code
|
414
1766
|
|
415
|
-
def initialize(coupon: nil, discount: nil, promotion_code: nil)
|
1767
|
+
def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil)
|
416
1768
|
@coupon = coupon
|
417
1769
|
@discount = discount
|
1770
|
+
@discount_end = discount_end
|
418
1771
|
@promotion_code = promotion_code
|
419
1772
|
end
|
420
1773
|
end
|
@@ -491,23 +1844,277 @@ module Stripe
|
|
491
1844
|
end
|
492
1845
|
|
493
1846
|
class SubscriptionData < Stripe::RequestParams
|
1847
|
+
class BillOnAcceptance < Stripe::RequestParams
|
1848
|
+
class BillFrom < Stripe::RequestParams
|
1849
|
+
class LineStartsAt < Stripe::RequestParams
|
1850
|
+
# The ID of a quote line.
|
1851
|
+
attr_accessor :id
|
1852
|
+
# 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.
|
1853
|
+
attr_accessor :index
|
1854
|
+
|
1855
|
+
def initialize(id: nil, index: nil)
|
1856
|
+
@id = id
|
1857
|
+
@index = index
|
1858
|
+
end
|
1859
|
+
end
|
1860
|
+
# Details of a Quote line to start the bill period from.
|
1861
|
+
attr_accessor :line_starts_at
|
1862
|
+
# A precise Unix timestamp.
|
1863
|
+
attr_accessor :timestamp
|
1864
|
+
# The type of method to specify the `bill_from` time.
|
1865
|
+
attr_accessor :type
|
1866
|
+
|
1867
|
+
def initialize(line_starts_at: nil, timestamp: nil, type: nil)
|
1868
|
+
@line_starts_at = line_starts_at
|
1869
|
+
@timestamp = timestamp
|
1870
|
+
@type = type
|
1871
|
+
end
|
1872
|
+
end
|
1873
|
+
|
1874
|
+
class BillUntil < Stripe::RequestParams
|
1875
|
+
class Duration < Stripe::RequestParams
|
1876
|
+
# Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
|
1877
|
+
attr_accessor :interval
|
1878
|
+
# The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
|
1879
|
+
attr_accessor :interval_count
|
1880
|
+
|
1881
|
+
def initialize(interval: nil, interval_count: nil)
|
1882
|
+
@interval = interval
|
1883
|
+
@interval_count = interval_count
|
1884
|
+
end
|
1885
|
+
end
|
1886
|
+
|
1887
|
+
class LineEndsAt < Stripe::RequestParams
|
1888
|
+
# The ID of a quote line.
|
1889
|
+
attr_accessor :id
|
1890
|
+
# 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.
|
1891
|
+
attr_accessor :index
|
1892
|
+
|
1893
|
+
def initialize(id: nil, index: nil)
|
1894
|
+
@id = id
|
1895
|
+
@index = index
|
1896
|
+
end
|
1897
|
+
end
|
1898
|
+
# Details of the duration over which to bill.
|
1899
|
+
attr_accessor :duration
|
1900
|
+
# Details of a Quote line item from which to bill until.
|
1901
|
+
attr_accessor :line_ends_at
|
1902
|
+
# A precise Unix timestamp.
|
1903
|
+
attr_accessor :timestamp
|
1904
|
+
# The type of method to specify the `bill_until` time.
|
1905
|
+
attr_accessor :type
|
1906
|
+
|
1907
|
+
def initialize(duration: nil, line_ends_at: nil, timestamp: nil, type: nil)
|
1908
|
+
@duration = duration
|
1909
|
+
@line_ends_at = line_ends_at
|
1910
|
+
@timestamp = timestamp
|
1911
|
+
@type = type
|
1912
|
+
end
|
1913
|
+
end
|
1914
|
+
# The start of the period to bill from when the Quote is accepted.
|
1915
|
+
attr_accessor :bill_from
|
1916
|
+
# The end of the period to bill until when the Quote is accepted.
|
1917
|
+
attr_accessor :bill_until
|
1918
|
+
|
1919
|
+
def initialize(bill_from: nil, bill_until: nil)
|
1920
|
+
@bill_from = bill_from
|
1921
|
+
@bill_until = bill_until
|
1922
|
+
end
|
1923
|
+
end
|
1924
|
+
|
1925
|
+
class Prebilling < Stripe::RequestParams
|
1926
|
+
# This is used to determine the number of billing cycles to prebill.
|
1927
|
+
attr_accessor :iterations
|
1928
|
+
|
1929
|
+
def initialize(iterations: nil)
|
1930
|
+
@iterations = iterations
|
1931
|
+
end
|
1932
|
+
end
|
1933
|
+
# Describes the period to bill for upon accepting the quote.
|
1934
|
+
attr_accessor :bill_on_acceptance
|
1935
|
+
# 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.
|
1936
|
+
attr_accessor :billing_behavior
|
1937
|
+
# When specified as `reset`, the subscription will always start a new billing period when the quote is accepted.
|
1938
|
+
attr_accessor :billing_cycle_anchor
|
494
1939
|
# 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.
|
495
1940
|
attr_accessor :description
|
496
|
-
# 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.
|
1941
|
+
# 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.
|
497
1942
|
attr_accessor :effective_date
|
1943
|
+
# Behavior of the subscription schedule and underlying subscription when it ends.
|
1944
|
+
attr_accessor :end_behavior
|
498
1945
|
# 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.
|
499
1946
|
attr_accessor :metadata
|
1947
|
+
# If specified, the invoicing for the given billing cycle iterations will be processed when the quote is accepted. Cannot be used with `effective_date`.
|
1948
|
+
attr_accessor :prebilling
|
1949
|
+
# Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations). When creating a subscription, valid values are `create_prorations` or `none`.
|
1950
|
+
#
|
1951
|
+
# When updating a subscription, valid values are `create_prorations`, `none`, or `always_invoice`.
|
1952
|
+
#
|
1953
|
+
# 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`.
|
1954
|
+
#
|
1955
|
+
# Prorations can be disabled by passing `none`.
|
1956
|
+
attr_accessor :proration_behavior
|
500
1957
|
# Integer representing the number of trial period days before the customer is charged for the first time.
|
501
1958
|
attr_accessor :trial_period_days
|
502
1959
|
|
503
|
-
def initialize(
|
1960
|
+
def initialize(
|
1961
|
+
bill_on_acceptance: nil,
|
1962
|
+
billing_behavior: nil,
|
1963
|
+
billing_cycle_anchor: nil,
|
1964
|
+
description: nil,
|
1965
|
+
effective_date: nil,
|
1966
|
+
end_behavior: nil,
|
1967
|
+
metadata: nil,
|
1968
|
+
prebilling: nil,
|
1969
|
+
proration_behavior: nil,
|
1970
|
+
trial_period_days: nil
|
1971
|
+
)
|
1972
|
+
@bill_on_acceptance = bill_on_acceptance
|
1973
|
+
@billing_behavior = billing_behavior
|
1974
|
+
@billing_cycle_anchor = billing_cycle_anchor
|
504
1975
|
@description = description
|
505
1976
|
@effective_date = effective_date
|
1977
|
+
@end_behavior = end_behavior
|
506
1978
|
@metadata = metadata
|
1979
|
+
@prebilling = prebilling
|
1980
|
+
@proration_behavior = proration_behavior
|
507
1981
|
@trial_period_days = trial_period_days
|
508
1982
|
end
|
509
1983
|
end
|
510
1984
|
|
1985
|
+
class SubscriptionDataOverride < Stripe::RequestParams
|
1986
|
+
class AppliesTo < Stripe::RequestParams
|
1987
|
+
# 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.
|
1988
|
+
attr_accessor :new_reference
|
1989
|
+
# The ID of the schedule the line applies to.
|
1990
|
+
attr_accessor :subscription_schedule
|
1991
|
+
# Describes whether the quote line is affecting a new schedule or an existing schedule.
|
1992
|
+
attr_accessor :type
|
1993
|
+
|
1994
|
+
def initialize(new_reference: nil, subscription_schedule: nil, type: nil)
|
1995
|
+
@new_reference = new_reference
|
1996
|
+
@subscription_schedule = subscription_schedule
|
1997
|
+
@type = type
|
1998
|
+
end
|
1999
|
+
end
|
2000
|
+
|
2001
|
+
class BillOnAcceptance < Stripe::RequestParams
|
2002
|
+
class BillFrom < Stripe::RequestParams
|
2003
|
+
class LineStartsAt < Stripe::RequestParams
|
2004
|
+
# The ID of a quote line.
|
2005
|
+
attr_accessor :id
|
2006
|
+
# 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.
|
2007
|
+
attr_accessor :index
|
2008
|
+
|
2009
|
+
def initialize(id: nil, index: nil)
|
2010
|
+
@id = id
|
2011
|
+
@index = index
|
2012
|
+
end
|
2013
|
+
end
|
2014
|
+
# Details of a Quote line to start the bill period from.
|
2015
|
+
attr_accessor :line_starts_at
|
2016
|
+
# A precise Unix timestamp.
|
2017
|
+
attr_accessor :timestamp
|
2018
|
+
# The type of method to specify the `bill_from` time.
|
2019
|
+
attr_accessor :type
|
2020
|
+
|
2021
|
+
def initialize(line_starts_at: nil, timestamp: nil, type: nil)
|
2022
|
+
@line_starts_at = line_starts_at
|
2023
|
+
@timestamp = timestamp
|
2024
|
+
@type = type
|
2025
|
+
end
|
2026
|
+
end
|
2027
|
+
|
2028
|
+
class BillUntil < Stripe::RequestParams
|
2029
|
+
class Duration < Stripe::RequestParams
|
2030
|
+
# Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
|
2031
|
+
attr_accessor :interval
|
2032
|
+
# The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
|
2033
|
+
attr_accessor :interval_count
|
2034
|
+
|
2035
|
+
def initialize(interval: nil, interval_count: nil)
|
2036
|
+
@interval = interval
|
2037
|
+
@interval_count = interval_count
|
2038
|
+
end
|
2039
|
+
end
|
2040
|
+
|
2041
|
+
class LineEndsAt < Stripe::RequestParams
|
2042
|
+
# The ID of a quote line.
|
2043
|
+
attr_accessor :id
|
2044
|
+
# 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.
|
2045
|
+
attr_accessor :index
|
2046
|
+
|
2047
|
+
def initialize(id: nil, index: nil)
|
2048
|
+
@id = id
|
2049
|
+
@index = index
|
2050
|
+
end
|
2051
|
+
end
|
2052
|
+
# Details of the duration over which to bill.
|
2053
|
+
attr_accessor :duration
|
2054
|
+
# Details of a Quote line item from which to bill until.
|
2055
|
+
attr_accessor :line_ends_at
|
2056
|
+
# A precise Unix timestamp.
|
2057
|
+
attr_accessor :timestamp
|
2058
|
+
# The type of method to specify the `bill_until` time.
|
2059
|
+
attr_accessor :type
|
2060
|
+
|
2061
|
+
def initialize(duration: nil, line_ends_at: nil, timestamp: nil, type: nil)
|
2062
|
+
@duration = duration
|
2063
|
+
@line_ends_at = line_ends_at
|
2064
|
+
@timestamp = timestamp
|
2065
|
+
@type = type
|
2066
|
+
end
|
2067
|
+
end
|
2068
|
+
# The start of the period to bill from when the Quote is accepted.
|
2069
|
+
attr_accessor :bill_from
|
2070
|
+
# The end of the period to bill until when the Quote is accepted.
|
2071
|
+
attr_accessor :bill_until
|
2072
|
+
|
2073
|
+
def initialize(bill_from: nil, bill_until: nil)
|
2074
|
+
@bill_from = bill_from
|
2075
|
+
@bill_until = bill_until
|
2076
|
+
end
|
2077
|
+
end
|
2078
|
+
# Whether the override applies to an existing Subscription Schedule or a new Subscription Schedule.
|
2079
|
+
attr_accessor :applies_to
|
2080
|
+
# Describes the period to bill for upon accepting the quote.
|
2081
|
+
attr_accessor :bill_on_acceptance
|
2082
|
+
# 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.
|
2083
|
+
attr_accessor :billing_behavior
|
2084
|
+
# The customer the Subscription Data override applies to.
|
2085
|
+
attr_accessor :customer
|
2086
|
+
# 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.
|
2087
|
+
attr_accessor :description
|
2088
|
+
# Behavior of the subscription schedule and underlying subscription when it ends.
|
2089
|
+
attr_accessor :end_behavior
|
2090
|
+
# Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations). When creating a subscription, valid values are `create_prorations` or `none`.
|
2091
|
+
#
|
2092
|
+
# When updating a subscription, valid values are `create_prorations`, `none`, or `always_invoice`.
|
2093
|
+
#
|
2094
|
+
# 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`.
|
2095
|
+
#
|
2096
|
+
# Prorations can be disabled by passing `none`.
|
2097
|
+
attr_accessor :proration_behavior
|
2098
|
+
|
2099
|
+
def initialize(
|
2100
|
+
applies_to: nil,
|
2101
|
+
bill_on_acceptance: nil,
|
2102
|
+
billing_behavior: nil,
|
2103
|
+
customer: nil,
|
2104
|
+
description: nil,
|
2105
|
+
end_behavior: nil,
|
2106
|
+
proration_behavior: nil
|
2107
|
+
)
|
2108
|
+
@applies_to = applies_to
|
2109
|
+
@bill_on_acceptance = bill_on_acceptance
|
2110
|
+
@billing_behavior = billing_behavior
|
2111
|
+
@customer = customer
|
2112
|
+
@description = description
|
2113
|
+
@end_behavior = end_behavior
|
2114
|
+
@proration_behavior = proration_behavior
|
2115
|
+
end
|
2116
|
+
end
|
2117
|
+
|
511
2118
|
class TransferData < Stripe::RequestParams
|
512
2119
|
# 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.
|
513
2120
|
attr_accessor :amount
|
@@ -522,6 +2129,8 @@ module Stripe
|
|
522
2129
|
@destination = destination
|
523
2130
|
end
|
524
2131
|
end
|
2132
|
+
# Set to true to allow quote lines to have `starts_at` in the past if collection is paused between `starts_at` and now.
|
2133
|
+
attr_accessor :allow_backdated_lines
|
525
2134
|
# 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.
|
526
2135
|
attr_accessor :application_fee_amount
|
527
2136
|
# 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.
|
@@ -532,6 +2141,8 @@ module Stripe
|
|
532
2141
|
attr_accessor :collection_method
|
533
2142
|
# The customer for which this quote belongs to. A customer is required before finalizing the quote. Once specified, it cannot be changed.
|
534
2143
|
attr_accessor :customer
|
2144
|
+
# The account for which this quote belongs to. A customer or account is required before finalizing the quote. Once specified, it cannot be changed.
|
2145
|
+
attr_accessor :customer_account
|
535
2146
|
# The tax rates that will apply to any line item that does not have `tax_rates` set.
|
536
2147
|
attr_accessor :default_tax_rates
|
537
2148
|
# A description that will be displayed on the quote PDF.
|
@@ -550,21 +2161,27 @@ module Stripe
|
|
550
2161
|
attr_accessor :invoice_settings
|
551
2162
|
# 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.
|
552
2163
|
attr_accessor :line_items
|
2164
|
+
# 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.
|
2165
|
+
attr_accessor :lines
|
553
2166
|
# 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`.
|
554
2167
|
attr_accessor :metadata
|
555
2168
|
# The account on behalf of which to charge.
|
556
2169
|
attr_accessor :on_behalf_of
|
557
2170
|
# 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.
|
558
2171
|
attr_accessor :subscription_data
|
2172
|
+
# List representing overrides for `subscription_data` configurations for specific subscription schedules.
|
2173
|
+
attr_accessor :subscription_data_overrides
|
559
2174
|
# The data with which to automatically create a Transfer for each of the invoices.
|
560
2175
|
attr_accessor :transfer_data
|
561
2176
|
|
562
2177
|
def initialize(
|
2178
|
+
allow_backdated_lines: nil,
|
563
2179
|
application_fee_amount: nil,
|
564
2180
|
application_fee_percent: nil,
|
565
2181
|
automatic_tax: nil,
|
566
2182
|
collection_method: nil,
|
567
2183
|
customer: nil,
|
2184
|
+
customer_account: nil,
|
568
2185
|
default_tax_rates: nil,
|
569
2186
|
description: nil,
|
570
2187
|
discounts: nil,
|
@@ -574,16 +2191,20 @@ module Stripe
|
|
574
2191
|
header: nil,
|
575
2192
|
invoice_settings: nil,
|
576
2193
|
line_items: nil,
|
2194
|
+
lines: nil,
|
577
2195
|
metadata: nil,
|
578
2196
|
on_behalf_of: nil,
|
579
2197
|
subscription_data: nil,
|
2198
|
+
subscription_data_overrides: nil,
|
580
2199
|
transfer_data: nil
|
581
2200
|
)
|
2201
|
+
@allow_backdated_lines = allow_backdated_lines
|
582
2202
|
@application_fee_amount = application_fee_amount
|
583
2203
|
@application_fee_percent = application_fee_percent
|
584
2204
|
@automatic_tax = automatic_tax
|
585
2205
|
@collection_method = collection_method
|
586
2206
|
@customer = customer
|
2207
|
+
@customer_account = customer_account
|
587
2208
|
@default_tax_rates = default_tax_rates
|
588
2209
|
@description = description
|
589
2210
|
@discounts = discounts
|
@@ -593,9 +2214,11 @@ module Stripe
|
|
593
2214
|
@header = header
|
594
2215
|
@invoice_settings = invoice_settings
|
595
2216
|
@line_items = line_items
|
2217
|
+
@lines = lines
|
596
2218
|
@metadata = metadata
|
597
2219
|
@on_behalf_of = on_behalf_of
|
598
2220
|
@subscription_data = subscription_data
|
2221
|
+
@subscription_data_overrides = subscription_data_overrides
|
599
2222
|
@transfer_data = transfer_data
|
600
2223
|
end
|
601
2224
|
end
|
@@ -630,6 +2253,36 @@ module Stripe
|
|
630
2253
|
end
|
631
2254
|
end
|
632
2255
|
|
2256
|
+
class MarkDraftParams < Stripe::RequestParams
|
2257
|
+
# Specifies which fields in the response should be expanded.
|
2258
|
+
attr_accessor :expand
|
2259
|
+
|
2260
|
+
def initialize(expand: nil)
|
2261
|
+
@expand = expand
|
2262
|
+
end
|
2263
|
+
end
|
2264
|
+
|
2265
|
+
class MarkStaleParams < Stripe::RequestParams
|
2266
|
+
# Specifies which fields in the response should be expanded.
|
2267
|
+
attr_accessor :expand
|
2268
|
+
# Reason the Quote is being marked stale.
|
2269
|
+
attr_accessor :reason
|
2270
|
+
|
2271
|
+
def initialize(expand: nil, reason: nil)
|
2272
|
+
@expand = expand
|
2273
|
+
@reason = reason
|
2274
|
+
end
|
2275
|
+
end
|
2276
|
+
|
2277
|
+
class ReestimateParams < Stripe::RequestParams
|
2278
|
+
# Specifies which fields in the response should be expanded.
|
2279
|
+
attr_accessor :expand
|
2280
|
+
|
2281
|
+
def initialize(expand: nil)
|
2282
|
+
@expand = expand
|
2283
|
+
end
|
2284
|
+
end
|
2285
|
+
|
633
2286
|
class PdfParams < Stripe::RequestParams
|
634
2287
|
# Specifies which fields in the response should be expanded.
|
635
2288
|
attr_accessor :expand
|
@@ -639,6 +2292,24 @@ module Stripe
|
|
639
2292
|
end
|
640
2293
|
end
|
641
2294
|
|
2295
|
+
class ListPreviewInvoiceLinesParams < Stripe::RequestParams
|
2296
|
+
# A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
|
2297
|
+
attr_accessor :ending_before
|
2298
|
+
# Specifies which fields in the response should be expanded.
|
2299
|
+
attr_accessor :expand
|
2300
|
+
# A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
|
2301
|
+
attr_accessor :limit
|
2302
|
+
# A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
|
2303
|
+
attr_accessor :starting_after
|
2304
|
+
|
2305
|
+
def initialize(ending_before: nil, expand: nil, limit: nil, starting_after: nil)
|
2306
|
+
@ending_before = ending_before
|
2307
|
+
@expand = expand
|
2308
|
+
@limit = limit
|
2309
|
+
@starting_after = starting_after
|
2310
|
+
end
|
2311
|
+
end
|
2312
|
+
|
642
2313
|
# Accepts the specified quote.
|
643
2314
|
def accept(quote, params = {}, opts = {})
|
644
2315
|
request(
|
@@ -682,6 +2353,39 @@ module Stripe
|
|
682
2353
|
request(method: :get, path: "/v1/quotes", params: params, opts: opts, base_address: :api)
|
683
2354
|
end
|
684
2355
|
|
2356
|
+
# Preview the invoice line items that would be generated by accepting the quote.
|
2357
|
+
def list_preview_invoice_lines(quote, preview_invoice, params = {}, opts = {})
|
2358
|
+
request(
|
2359
|
+
method: :get,
|
2360
|
+
path: format("/v1/quotes/%<quote>s/preview_invoices/%<preview_invoice>s/lines", { quote: CGI.escape(quote), preview_invoice: CGI.escape(preview_invoice) }),
|
2361
|
+
params: params,
|
2362
|
+
opts: opts,
|
2363
|
+
base_address: :api
|
2364
|
+
)
|
2365
|
+
end
|
2366
|
+
|
2367
|
+
# Converts a stale quote to draft.
|
2368
|
+
def mark_draft(quote, params = {}, opts = {})
|
2369
|
+
request(
|
2370
|
+
method: :post,
|
2371
|
+
path: format("/v1/quotes/%<quote>s/mark_draft", { quote: CGI.escape(quote) }),
|
2372
|
+
params: params,
|
2373
|
+
opts: opts,
|
2374
|
+
base_address: :api
|
2375
|
+
)
|
2376
|
+
end
|
2377
|
+
|
2378
|
+
# Converts a draft or open quote to stale.
|
2379
|
+
def mark_stale(quote, params = {}, opts = {})
|
2380
|
+
request(
|
2381
|
+
method: :post,
|
2382
|
+
path: format("/v1/quotes/%<quote>s/mark_stale", { quote: CGI.escape(quote) }),
|
2383
|
+
params: params,
|
2384
|
+
opts: opts,
|
2385
|
+
base_address: :api
|
2386
|
+
)
|
2387
|
+
end
|
2388
|
+
|
685
2389
|
# Download the PDF for a finalized quote. Explanation for special handling can be found [here](https://docs.stripe.com/quotes/overview#quote_pdf)
|
686
2390
|
def pdf(quote, params = {}, opts = {}, &read_body_chunk_block)
|
687
2391
|
opts = { api_base: APIRequestor.active_requestor.config.uploads_base }.merge(opts)
|
@@ -695,6 +2399,17 @@ module Stripe
|
|
695
2399
|
)
|
696
2400
|
end
|
697
2401
|
|
2402
|
+
# Recompute the upcoming invoice estimate for the quote.
|
2403
|
+
def reestimate(quote, params = {}, opts = {})
|
2404
|
+
request(
|
2405
|
+
method: :post,
|
2406
|
+
path: format("/v1/quotes/%<quote>s/reestimate", { quote: CGI.escape(quote) }),
|
2407
|
+
params: params,
|
2408
|
+
opts: opts,
|
2409
|
+
base_address: :api
|
2410
|
+
)
|
2411
|
+
end
|
2412
|
+
|
698
2413
|
# Retrieves the quote with the given ID.
|
699
2414
|
def retrieve(quote, params = {}, opts = {})
|
700
2415
|
request(
|