Class: Dodopayments::Models::AttachCreditEntitlement

Inherits:
Internal::Type::BaseModel show all
Defined in:
lib/dodopayments/models/attach_credit_entitlement.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Internal::Type::BaseModel

==, #==, #[], coerce, #deconstruct_keys, #deep_to_h, dump, fields, hash, #hash, inherited, inspect, #inspect, known_fields, optional, recursively_to_h, required, #to_h, #to_json, #to_s, to_sorbet_type, #to_yaml

Methods included from Internal::Type::Converter

#coerce, coerce, #dump, dump, #inspect, inspect, meta_info, new_coerce_state, type_info

Methods included from Internal::Util::SorbetRuntimeSupport

#const_missing, #define_sorbet_constant!, #sorbet_constant_defined?, #to_sorbet_type, to_sorbet_type

Constructor Details

#initialize(credit_entitlement_id:, credits_amount:, currency: nil, expires_after_days: nil, low_balance_threshold_percent: nil, max_rollover_count: nil, overage_behavior: nil, overage_enabled: nil, overage_limit: nil, price_per_unit: nil, proration_behavior: nil, rollover_enabled: nil, rollover_percentage: nil, rollover_timeframe_count: nil, rollover_timeframe_interval: nil, trial_credits: nil, trial_credits_expire_after_trial: nil) ⇒ Object

Request struct for attaching a credit entitlement to a product

Parameters:

  • credit_entitlement_id (String)

    ID of the credit entitlement to attach

  • credits_amount (String)

    Number of credits to grant when this product is purchased

  • currency (Symbol, Dodopayments::Models::Currency, nil) (defaults to: nil)

    Currency for credit-related pricing

  • expires_after_days (Integer, nil) (defaults to: nil)

    Number of days after which credits expire

  • low_balance_threshold_percent (Integer, nil) (defaults to: nil)

    Balance threshold percentage for low balance notifications (0-100)

  • max_rollover_count (Integer, nil) (defaults to: nil)

    Maximum number of rollover cycles allowed

  • overage_behavior (Symbol, Dodopayments::Models::CbbOverageBehavior, nil) (defaults to: nil)

    Controls how overage is handled at billing cycle end.

  • overage_enabled (Boolean, nil) (defaults to: nil)

    Whether overage usage is allowed beyond credit balance

  • overage_limit (String, nil) (defaults to: nil)

    Maximum amount of overage allowed

  • price_per_unit (String, nil) (defaults to: nil)

    Price per credit unit for purchasing additional credits

  • proration_behavior (Symbol, Dodopayments::Models::CbbProrationBehavior, nil) (defaults to: nil)

    Proration behavior for credit grants during plan changes

  • rollover_enabled (Boolean, nil) (defaults to: nil)

    Whether unused credits can roll over to the next billing period

  • rollover_percentage (Integer, nil) (defaults to: nil)

    Percentage of unused credits that can roll over (0-100)

  • rollover_timeframe_count (Integer, nil) (defaults to: nil)

    Number of timeframe units for rollover window

  • rollover_timeframe_interval (Symbol, Dodopayments::Models::TimeInterval, nil) (defaults to: nil)

    Time interval for rollover window (day, week, month, year)

  • trial_credits (String, nil) (defaults to: nil)

    Credits granted during trial period

  • trial_credits_expire_after_trial (Boolean, nil) (defaults to: nil)

    Whether trial credits expire when trial ends



# File 'lib/dodopayments/models/attach_credit_entitlement.rb', line 108

Instance Attribute Details

#credit_entitlement_idString

ID of the credit entitlement to attach

Returns:

  • (String)


10
# File 'lib/dodopayments/models/attach_credit_entitlement.rb', line 10

required :credit_entitlement_id, String

#credits_amountString

Number of credits to grant when this product is purchased

Returns:

  • (String)


16
# File 'lib/dodopayments/models/attach_credit_entitlement.rb', line 16

required :credits_amount, String

#currencySymbol, ...

Currency for credit-related pricing

Returns:



22
# File 'lib/dodopayments/models/attach_credit_entitlement.rb', line 22

optional :currency, enum: -> { Dodopayments::Currency }, nil?: true

#expires_after_daysInteger?

Number of days after which credits expire

Returns:

  • (Integer, nil)


28
# File 'lib/dodopayments/models/attach_credit_entitlement.rb', line 28

optional :expires_after_days, Integer, nil?: true

#low_balance_threshold_percentInteger?

Balance threshold percentage for low balance notifications (0-100)

Returns:

  • (Integer, nil)


34
# File 'lib/dodopayments/models/attach_credit_entitlement.rb', line 34

optional :low_balance_threshold_percent, Integer, nil?: true

#max_rollover_countInteger?

Maximum number of rollover cycles allowed

Returns:

  • (Integer, nil)


40
# File 'lib/dodopayments/models/attach_credit_entitlement.rb', line 40

optional :max_rollover_count, Integer, nil?: true

#overage_behaviorSymbol, ...

Controls how overage is handled at billing cycle end.



46
# File 'lib/dodopayments/models/attach_credit_entitlement.rb', line 46

optional :overage_behavior, enum: -> { Dodopayments::CbbOverageBehavior }, nil?: true

#overage_enabledBoolean?

Whether overage usage is allowed beyond credit balance

Returns:

  • (Boolean, nil)


52
# File 'lib/dodopayments/models/attach_credit_entitlement.rb', line 52

optional :overage_enabled, Dodopayments::Internal::Type::Boolean, nil?: true

#overage_limitString?

Maximum amount of overage allowed

Returns:

  • (String, nil)


58
# File 'lib/dodopayments/models/attach_credit_entitlement.rb', line 58

optional :overage_limit, String, nil?: true

#price_per_unitString?

Price per credit unit for purchasing additional credits

Returns:

  • (String, nil)


64
# File 'lib/dodopayments/models/attach_credit_entitlement.rb', line 64

optional :price_per_unit, String, nil?: true

#proration_behaviorSymbol, ...

Proration behavior for credit grants during plan changes



70
# File 'lib/dodopayments/models/attach_credit_entitlement.rb', line 70

optional :proration_behavior, enum: -> { Dodopayments::CbbProrationBehavior }, nil?: true

#rollover_enabledBoolean?

Whether unused credits can roll over to the next billing period

Returns:

  • (Boolean, nil)


76
# File 'lib/dodopayments/models/attach_credit_entitlement.rb', line 76

optional :rollover_enabled, Dodopayments::Internal::Type::Boolean, nil?: true

#rollover_percentageInteger?

Percentage of unused credits that can roll over (0-100)

Returns:

  • (Integer, nil)


82
# File 'lib/dodopayments/models/attach_credit_entitlement.rb', line 82

optional :rollover_percentage, Integer, nil?: true

#rollover_timeframe_countInteger?

Number of timeframe units for rollover window

Returns:

  • (Integer, nil)


88
# File 'lib/dodopayments/models/attach_credit_entitlement.rb', line 88

optional :rollover_timeframe_count, Integer, nil?: true

#rollover_timeframe_intervalSymbol, ...

Time interval for rollover window (day, week, month, year)

Returns:



94
# File 'lib/dodopayments/models/attach_credit_entitlement.rb', line 94

optional :rollover_timeframe_interval, enum: -> { Dodopayments::TimeInterval }, nil?: true

#trial_creditsString?

Credits granted during trial period

Returns:

  • (String, nil)


100
# File 'lib/dodopayments/models/attach_credit_entitlement.rb', line 100

optional :trial_credits, String, nil?: true

#trial_credits_expire_after_trialBoolean?

Whether trial credits expire when trial ends

Returns:

  • (Boolean, nil)


106
# File 'lib/dodopayments/models/attach_credit_entitlement.rb', line 106

optional :trial_credits_expire_after_trial, Dodopayments::Internal::Type::Boolean, nil?: true