Class: Dodopayments::Models::SubscriptionCreateParams

Inherits:
Internal::Type::BaseModel show all
Extended by:
Internal::Type::RequestParameters::Converter
Includes:
Internal::Type::RequestParameters
Defined in:
lib/dodopayments/models/subscription_create_params.rb

Overview

Defined Under Namespace

Classes: OneTimeProductCart

Instance Attribute Summary collapse

Attributes included from Internal::Type::RequestParameters

#request_options

Method Summary

Methods included from Internal::Type::RequestParameters::Converter

dump_request

Methods included from Internal::Type::RequestParameters

included

Methods inherited from Internal::Type::BaseModel

==, #==, #[], coerce, #deconstruct_keys, #deep_to_h, dump, fields, hash, #hash, inherited, #initialize, 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

This class inherits a constructor from Dodopayments::Internal::Type::BaseModel

Instance Attribute Details

#addonsArray<Dodopayments::Models::AttachAddon>?

Attach addons to this subscription

Returns:



38
# File 'lib/dodopayments/models/subscription_create_params.rb', line 38

optional :addons, -> { Dodopayments::Internal::Type::ArrayOf[Dodopayments::AttachAddon] }, nil?: true

#allowed_payment_method_typesArray<Symbol, Dodopayments::Models::PaymentMethodTypes>?

List of payment methods allowed during checkout.

Customers will never see payment methods that are not in this list. However, adding a method here **does not guarantee** customers will see it. Availability still depends on other factors (e.g., customer location, merchant settings).

Returns:



49
50
51
# File 'lib/dodopayments/models/subscription_create_params.rb', line 49

optional :allowed_payment_method_types,
-> { Dodopayments::Internal::Type::ArrayOf[enum: Dodopayments::PaymentMethodTypes] },
nil?: true

#billingDodopayments::Models::BillingAddress

Billing address information for the subscription



14
# File 'lib/dodopayments/models/subscription_create_params.rb', line 14

required :billing, -> { Dodopayments::BillingAddress }

#billing_currencySymbol, ...

Fix the currency in which the end customer is billed. If Dodo Payments cannot support that currency for this transaction, it will not proceed

Returns:



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

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

#customerDodopayments::Models::AttachExistingCustomer, Dodopayments::Models::NewCustomer

Customer details for the subscription



20
# File 'lib/dodopayments/models/subscription_create_params.rb', line 20

required :customer, union: -> { Dodopayments::CustomerRequest }

#discount_codeString?

Discount Code to apply to the subscription

Returns:

  • (String, nil)


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

optional :discount_code, String, nil?: true

#force_3dsBoolean?

Override merchant default 3DS behaviour for this subscription

Returns:

  • (Boolean, nil)


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

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

#metadataHash{Symbol=>String}?

Additional metadata for the subscription Defaults to empty if not specified

Returns:

  • (Hash{Symbol=>String}, nil)


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

optional :metadata, Dodopayments::Internal::Type::HashOf[String]

#on_demandDodopayments::Models::OnDemandSubscription?



81
# File 'lib/dodopayments/models/subscription_create_params.rb', line 81

optional :on_demand, -> { Dodopayments::OnDemandSubscription }, nil?: true

#one_time_product_cartArray<Dodopayments::Models::SubscriptionCreateParams::OneTimeProductCart>?

List of one time products that will be bundled with the first payment for this subscription



88
89
90
91
92
# File 'lib/dodopayments/models/subscription_create_params.rb', line 88

optional :one_time_product_cart,
-> {
  Dodopayments::Internal::Type::ArrayOf[Dodopayments::SubscriptionCreateParams::OneTimeProductCart]
},
nil?: true

If true, generates a payment link. Defaults to false if not specified.

Returns:

  • (Boolean, nil)


98
# File 'lib/dodopayments/models/subscription_create_params.rb', line 98

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

#payment_method_idString?

Optional payment method ID to use for this subscription. If provided, customer_id must also be provided (via AttachExistingCustomer). The payment method will be validated for eligibility with the subscription’s currency.

Returns:

  • (String, nil)


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

optional :payment_method_id, String, nil?: true

#product_idString

Unique identifier of the product to subscribe to

Returns:

  • (String)


26
# File 'lib/dodopayments/models/subscription_create_params.rb', line 26

required :product_id, String

#quantityInteger

Number of units to subscribe for. Must be at least 1.

Returns:

  • (Integer)


32
# File 'lib/dodopayments/models/subscription_create_params.rb', line 32

required :quantity, Integer

#redirect_immediatelyBoolean?

If true, redirects the customer immediately after payment completion False by default

Returns:

  • (Boolean, nil)


113
# File 'lib/dodopayments/models/subscription_create_params.rb', line 113

optional :redirect_immediately, Dodopayments::Internal::Type::Boolean

#return_urlString?

Optional URL to redirect after successful subscription creation

Returns:

  • (String, nil)


119
# File 'lib/dodopayments/models/subscription_create_params.rb', line 119

optional :return_url, String, nil?: true

If true, returns a shortened payment link. Defaults to false if not specified.

Returns:

  • (Boolean, nil)


125
# File 'lib/dodopayments/models/subscription_create_params.rb', line 125

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

#show_saved_payment_methodsBoolean?

Display saved payment methods of a returning customer False by default

Returns:

  • (Boolean, nil)


131
# File 'lib/dodopayments/models/subscription_create_params.rb', line 131

optional :show_saved_payment_methods, Dodopayments::Internal::Type::Boolean

#tax_idString?

Tax ID in case the payment is B2B. If tax id validation fails the payment creation will fail

Returns:

  • (String, nil)


138
# File 'lib/dodopayments/models/subscription_create_params.rb', line 138

optional :tax_id, String, nil?: true

#trial_period_daysInteger?

Optional trial period in days If specified, this value overrides the trial period set in the product’s price Must be between 0 and 10000 days

Returns:

  • (Integer, nil)


145
# File 'lib/dodopayments/models/subscription_create_params.rb', line 145

optional :trial_period_days, Integer, nil?: true