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

Instance Attribute Summary collapse

Attributes included from Internal::Type::RequestParameters

#request_options

Instance Method Summary collapse

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, 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(billing:, customer:, product_id:, quantity:, addons: nil, allowed_payment_method_types: nil, billing_currency: nil, discount_code: nil, force_3ds: nil, mandate_min_amount_inr_paise: nil, metadata: nil, on_demand: nil, one_time_product_cart: nil, payment_link: nil, payment_method_id: nil, redirect_immediately: nil, require_phone_number: nil, return_url: nil, short_link: nil, show_saved_payment_methods: nil, tax_id: nil, trial_period_days: nil, request_options: {}) ⇒ Object

Some parameter documentations has been truncated, see Dodopayments::Models::SubscriptionCreateParams for more details.

Parameters:

  • billing (Dodopayments::Models::BillingAddress)

    Billing address information for the subscription

  • customer (Dodopayments::Models::AttachExistingCustomer, Dodopayments::Models::NewCustomer)

    Customer details for the subscription

  • product_id (String)

    Unique identifier of the product to subscribe to

  • quantity (Integer)

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

  • addons (Array<Dodopayments::Models::AttachAddon>, nil) (defaults to: nil)

    Attach addons to this subscription

  • allowed_payment_method_types (Array<Symbol, Dodopayments::Models::PaymentMethodTypes>, nil) (defaults to: nil)

    List of payment methods allowed during checkout.

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

    Fix the currency in which the end customer is billed.

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

    Discount Code to apply to the subscription

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

    Override merchant default 3DS behaviour for this subscription

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

    Override the merchant-level mandate floor (in INR paise) for INR

  • metadata (Hash{Symbol=>String}) (defaults to: nil)

    Additional metadata for the subscription

  • on_demand (Dodopayments::Models::OnDemandSubscription, nil) (defaults to: nil)
  • one_time_product_cart (Array<Dodopayments::Models::OneTimeProductCartItem>, nil) (defaults to: nil)

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

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

    If true, generates a payment link.

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

    Optional payment method ID to use for this subscription.

  • redirect_immediately (Boolean) (defaults to: nil)

    If true, redirects the customer immediately after payment completion

  • require_phone_number (Boolean) (defaults to: nil)

    If true, the customer’s phone number is required to create this subscription.

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

    Optional URL to redirect after successful subscription creation

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

    If true, returns a shortened payment link.

  • show_saved_payment_methods (Boolean) (defaults to: nil)

    Display saved payment methods of a returning customer

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

    Tax ID in case the payment is B2B. If tax id validation fails the payment creati

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

    Optional trial period in days

  • request_options (Dodopayments::RequestOptions, Hash{Symbol=>Object}) (defaults to: {})


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

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

#mandate_min_amount_inr_paiseInteger?

Override the merchant-level mandate floor (in INR paise) for INR e-mandates on Indian-card recurring payments. The mandate amount sent to the processor is ‘max(this_floor, actual_billing_amount)`, so this is effectively the customer-facing authorization ceiling whenever billing is lower. When unset, the merchant setting applies; when that’s also unset, the system default of ₹15,000 applies.

Returns:

  • (Integer, nil)


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

optional :mandate_min_amount_inr_paise, Integer, nil?: true

#metadataHash{Symbol=>String}?

Additional metadata for the subscription Defaults to empty if not specified

Returns:

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


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

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

#on_demandDodopayments::Models::OnDemandSubscription?



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

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

#one_time_product_cartArray<Dodopayments::Models::OneTimeProductCartItem>?

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



99
100
101
# File 'lib/dodopayments/models/subscription_create_params.rb', line 99

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

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

Returns:

  • (Boolean, nil)


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

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)


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

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)


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

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

#require_phone_numberBoolean?

If true, the customer’s phone number is required to create this subscription. Typically set alongside ‘payment_link=true` so merchants can enforce phone collection on the hosted payment page. Defaults to false.

Returns:

  • (Boolean, nil)


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

optional :require_phone_number, Dodopayments::Internal::Type::Boolean

#return_urlString?

Optional URL to redirect after successful subscription creation

Returns:

  • (String, nil)


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

optional :return_url, String, nil?: true

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

Returns:

  • (Boolean, nil)


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

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)


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

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)


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

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)


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

optional :trial_period_days, Integer, nil?: true