Class: Recurly::Requests::AddOnCreate

Inherits:
Recurly::Request show all
Defined in:
lib/recurly/requests/add_on_create.rb

Instance Attribute Summary collapse

Attributes inherited from Recurly::Request

#attributes

Method Summary

Methods inherited from Recurly::Request

#==, #to_s

Methods included from Schema::SchemaFactory

#schema

Methods included from Schema::RequestCaster

#cast_request

Methods included from Schema::ResourceCaster

#cast

Methods included from Schema::SchemaValidator

#get_did_you_mean, #validate!, #validate_attribute!

Instance Attribute Details

#accounting_codeString

Returns Accounting code for invoice line items for this add-on. If no value is provided, it defaults to add-on's code. If `item_code`/`item_id` is part of the request then `accounting_code` must be absent.

Returns:

  • (String)

    Accounting code for invoice line items for this add-on. If no value is provided, it defaults to add-on's code. If `item_code`/`item_id` is part of the request then `accounting_code` must be absent.



11
# File 'lib/recurly/requests/add_on_create.rb', line 11

define_attribute :accounting_code, String

#add_on_typeString

Returns Whether the add-on type is fixed, or usage-based.

Returns:

  • (String)

    Whether the add-on type is fixed, or usage-based.



15
# File 'lib/recurly/requests/add_on_create.rb', line 15

define_attribute :add_on_type, String

#avalara_service_typeInteger

Returns Used by Avalara for Communications taxes. The transaction type in combination with the service type describe how the add-on is taxed. Refer to [the documentation](help.avalara.com/AvaTax_for_Communications/Tax_Calculation/AvaTax_for_Communications_Tax_Engine/Mapping_Resources/TM_00115_AFC_Modules_Corresponding_Transaction_Types) for more available t/s types. If an `Item` is associated to the `AddOn`, then the `avalara_service_type` must be absent.

Returns:



19
# File 'lib/recurly/requests/add_on_create.rb', line 19

define_attribute :avalara_service_type, Integer

#avalara_transaction_typeInteger

Returns Used by Avalara for Communications taxes. The transaction type in combination with the service type describe how the add-on is taxed. Refer to [the documentation](help.avalara.com/AvaTax_for_Communications/Tax_Calculation/AvaTax_for_Communications_Tax_Engine/Mapping_Resources/TM_00115_AFC_Modules_Corresponding_Transaction_Types) for more available t/s types. If an `Item` is associated to the `AddOn`, then the `avalara_transaction_type` must be absent.

Returns:



23
# File 'lib/recurly/requests/add_on_create.rb', line 23

define_attribute :avalara_transaction_type, Integer

#codeString

Returns The unique identifier for the add-on within its plan. If `item_code`/`item_id` is part of the request then `code` must be absent. If `item_code`/`item_id` is not present `code` is required.

Returns:

  • (String)

    The unique identifier for the add-on within its plan. If `item_code`/`item_id` is part of the request then `code` must be absent. If `item_code`/`item_id` is not present `code` is required.



27
# File 'lib/recurly/requests/add_on_create.rb', line 27

define_attribute :code, String

#currenciesArray[AddOnPricing]

Returns * If `item_code`/`item_id` is part of the request and the item has a default currency then `currencies` is optional. If the item does not have a default currency, then `currencies` is required. If `item_code`/`item_id` is not present `currencies` is required. * If the add-on's `tier_type` is `tiered`, `volume`, or `stairstep`, then `currencies` must be absent. * Must be absent if `add_on_type` is `usage` and `usage_type` is `percentage`.

Returns:

  • (Array[AddOnPricing])
    • If `item_code`/`item_id` is part of the request and the item has a default currency then `currencies` is optional. If the item does not have a default currency, then `currencies` is required. If `item_code`/`item_id` is not present `currencies` is required. * If the add-on's `tier_type` is `tiered`, `volume`, or `stairstep`, then `currencies` must be absent. * Must be absent if `add_on_type` is `usage` and `usage_type` is `percentage`.



31
# File 'lib/recurly/requests/add_on_create.rb', line 31

define_attribute :currencies, Array, { :item_type => :AddOnPricing }

#default_quantityInteger

Returns Default quantity for the hosted pages.

Returns:

  • (Integer)

    Default quantity for the hosted pages.



35
# File 'lib/recurly/requests/add_on_create.rb', line 35

define_attribute :default_quantity, Integer

#display_quantityBoolean

Returns Determines if the quantity field is displayed on the hosted pages for the add-on.

Returns:

  • (Boolean)

    Determines if the quantity field is displayed on the hosted pages for the add-on.



39
# File 'lib/recurly/requests/add_on_create.rb', line 39

define_attribute :display_quantity, :Boolean

#item_codeString

Returns Unique code to identify an item. Available when the `Credit Invoices` and `Subscription Billing Terms` features are enabled. If `item_id` and `item_code` are both present, `item_id` will be used.

Returns:

  • (String)

    Unique code to identify an item. Available when the `Credit Invoices` and `Subscription Billing Terms` features are enabled. If `item_id` and `item_code` are both present, `item_id` will be used.



43
# File 'lib/recurly/requests/add_on_create.rb', line 43

define_attribute :item_code, String

#item_idString

Returns System-generated unique identifier for an item. Available when the `Credit Invoices` and `Subscription Billing Terms` features are enabled. If `item_id` and `item_code` are both present, `item_id` will be used.

Returns:

  • (String)

    System-generated unique identifier for an item. Available when the `Credit Invoices` and `Subscription Billing Terms` features are enabled. If `item_id` and `item_code` are both present, `item_id` will be used.



47
# File 'lib/recurly/requests/add_on_create.rb', line 47

define_attribute :item_id, String

#measured_unit_idString

Returns System-generated unique identifier for a measured unit to be associated with the add-on. Either `measured_unit_id` or `measured_unit_name` are required when `add_on_type` is `usage`. If `measured_unit_id` and `measured_unit_name` are both present, `measured_unit_id` will be used.

Returns:

  • (String)

    System-generated unique identifier for a measured unit to be associated with the add-on. Either `measured_unit_id` or `measured_unit_name` are required when `add_on_type` is `usage`. If `measured_unit_id` and `measured_unit_name` are both present, `measured_unit_id` will be used.



51
# File 'lib/recurly/requests/add_on_create.rb', line 51

define_attribute :measured_unit_id, String

#measured_unit_nameString

Returns Name of a measured unit to be associated with the add-on. Either `measured_unit_id` or `measured_unit_name` are required when `add_on_type` is `usage`. If `measured_unit_id` and `measured_unit_name` are both present, `measured_unit_id` will be used.

Returns:

  • (String)

    Name of a measured unit to be associated with the add-on. Either `measured_unit_id` or `measured_unit_name` are required when `add_on_type` is `usage`. If `measured_unit_id` and `measured_unit_name` are both present, `measured_unit_id` will be used.



55
# File 'lib/recurly/requests/add_on_create.rb', line 55

define_attribute :measured_unit_name, String

#nameString

Returns Describes your add-on and will appear in subscribers' invoices. If `item_code`/`item_id` is part of the request then `name` must be absent. If `item_code`/`item_id` is not present `name` is required.

Returns:

  • (String)

    Describes your add-on and will appear in subscribers' invoices. If `item_code`/`item_id` is part of the request then `name` must be absent. If `item_code`/`item_id` is not present `name` is required.



59
# File 'lib/recurly/requests/add_on_create.rb', line 59

define_attribute :name, String

#optionalBoolean

Returns Whether the add-on is optional for the customer to include in their purchase on the hosted payment page. If false, the add-on will be included when a subscription is created through the Recurly UI. However, the add-on will not be included when a subscription is created through the API.

Returns:

  • (Boolean)

    Whether the add-on is optional for the customer to include in their purchase on the hosted payment page. If false, the add-on will be included when a subscription is created through the Recurly UI. However, the add-on will not be included when a subscription is created through the API.



63
# File 'lib/recurly/requests/add_on_create.rb', line 63

define_attribute :optional, :Boolean

#plan_idString

Returns Plan ID.

Returns:

  • (String)

    Plan ID



67
# File 'lib/recurly/requests/add_on_create.rb', line 67

define_attribute :plan_id, String

#revenue_schedule_typeString

Returns When this add-on is invoiced, the line item will use this revenue schedule. If `item_code`/`item_id` is part of the request then `revenue_schedule_type` must be absent in the request as the value will be set from the item.

Returns:

  • (String)

    When this add-on is invoiced, the line item will use this revenue schedule. If `item_code`/`item_id` is part of the request then `revenue_schedule_type` must be absent in the request as the value will be set from the item.



71
# File 'lib/recurly/requests/add_on_create.rb', line 71

define_attribute :revenue_schedule_type, String

#tax_codeString

Returns Optional field used by Avalara, Vertex, and Recurly's EU VAT tax feature to determine taxation rules. If you have your own AvaTax or Vertex account configured, use their tax codes to assign specific tax rules. If you are using Recurly's EU VAT feature, you can use values of `unknown`, `physical`, or `digital`. If `item_code`/`item_id` is part of the request then `tax_code` must be absent.

Returns:

  • (String)

    Optional field used by Avalara, Vertex, and Recurly's EU VAT tax feature to determine taxation rules. If you have your own AvaTax or Vertex account configured, use their tax codes to assign specific tax rules. If you are using Recurly's EU VAT feature, you can use values of `unknown`, `physical`, or `digital`. If `item_code`/`item_id` is part of the request then `tax_code` must be absent.



75
# File 'lib/recurly/requests/add_on_create.rb', line 75

define_attribute :tax_code, String

#tier_typeString

Returns The pricing model for the add-on. For more information, [click here](docs.recurly.com/docs/billing-models#section-quantity-based). See our [Guide](developers.recurly.com/guides/item-addon-guide.html) for an overview of how to configure quantity-based pricing models.

Returns:



79
# File 'lib/recurly/requests/add_on_create.rb', line 79

define_attribute :tier_type, String

#tiersArray[Tier]

Returns If the tier_type is `flat`, then `tiers` must be absent. The `tiers` object must include one to many tiers with `ending_quantity` and `unit_amount` for the desired `currencies`, or alternatively, `usage_percentage` for usage percentage type usage add ons. There must be one tier with an `ending_quantity` of 999999999 which is the default if not provided.

Returns:

  • (Array[Tier])

    If the tier_type is `flat`, then `tiers` must be absent. The `tiers` object must include one to many tiers with `ending_quantity` and `unit_amount` for the desired `currencies`, or alternatively, `usage_percentage` for usage percentage type usage add ons. There must be one tier with an `ending_quantity` of 999999999 which is the default if not provided.



83
# File 'lib/recurly/requests/add_on_create.rb', line 83

define_attribute :tiers, Array, { :item_type => :Tier }

#usage_percentageFloat

Returns The percentage taken of the monetary amount of usage tracked. This can be up to 4 decimal places. A value between 0.0 and 100.0. Required if `add_on_type` is usage, `tier_type` is `flat` and `usage_type` is percentage. Must be omitted otherwise.

Returns:

  • (Float)

    The percentage taken of the monetary amount of usage tracked. This can be up to 4 decimal places. A value between 0.0 and 100.0. Required if `add_on_type` is usage, `tier_type` is `flat` and `usage_type` is percentage. Must be omitted otherwise.



87
# File 'lib/recurly/requests/add_on_create.rb', line 87

define_attribute :usage_percentage, Float

#usage_typeString

Returns Type of usage, required if `add_on_type` is `usage`. See our [Guide](developers.recurly.com/guides/usage-based-billing-guide.html) for an overview of how to configure usage add-ons.

Returns:



91
# File 'lib/recurly/requests/add_on_create.rb', line 91

define_attribute :usage_type, String