Product

This object is returned directly or within a successful response from the following API requests:

Product object

Parameter
Type / Description

AvangateId

String Unique, system-generated 2Checkout product ID. Read-only.

ProductCode

String The product code that you can define for each of your offerings. Needs to be unique.

ExternalReference

String External reference that you control when defining the product.

ProductType

String REGULAR or BUNDLE

ProductName

String The name of the product

ProductVersion

String The product version number

PurchaseMultipleUnits

Boolean Possible values:

  • TRUE - customers can purchase multiple units of this product.

  • FALSE - customers can purchase only one unit at a time.

The default value is TRUE.

Tangible

Boolean

Possible values:

  • TRUE - for physical products

  • FALSE - for digital products

TangibleDetails

Object Only for physical products. Contains information related to product's physical setup.

TangibleDetails.UnitDetails

Array of objects Details on tangible setup.

TangibleDetails.UnitDetails.Type

String Product physical configuration type. Example: "WEIGHT".

TangibleDetails.UnitDetails.Amount

String Product's tangible weight. Example: "5".

TangibleDetails.Fee

Array of objects Details on handling fees associated with a tangible product.

TangibleDetails.Fee.Currency

String Currency of the handling fee. Example: "USD"

TangibleDetails.Fee.Amount

String Handling fee amount defined on the tangible product. Example: "5".

ProductGroup

Object Product group information.

ProductGroup.Name

String Product group name

ProductGroup.Code

String Product group code generated when you create the group

ProductGroup.TemplateName

String Default cart template used when generating buy links for products from this group.

ProductGroup.Description

String Product group description.

ShippingClass

Object Existing shipping class object with the structure detailed below.

ShippingClass.Name

String The name of the shipping class

ShippingClass.Amount

Decimal The shipping costs

ShippingClass.Currency

String The currency ISO code used for shipping costs - ISO 4217.

ShippingClass.ApplyTo

String Possible values:

• PRODUCT

• ORDER

ShippingClass.Type

Possible values:

• FIXED

• PERCENT

GiftOption

Boolean True or false depending on whether the product can be gifted or not.

ShortDescription

String Product's short description.

LongDescription

String Product's long description.

SystemRequirements

String System requirements

ProductCategory

String Product category

Platforms

Array of Platform objects Array of objects detailing the platforms supported by the application. Details below.

Platforms.PlatformName

String The label of the platform per the product configuration.

Platforms.Category

String Platform category per product configuration.

ProductImages

Array of Image objects Image object. Details below. Read-only.

ProductImages.Default

Boolean True or false depending on whether you set the image stored at the address in the URL parameter as default or not.

ProductImages.URL

String The location of the image on the 2Checkout system.

TrialUrl

String (anyURI) The URL from where shoppers can download trial software.

TrialDescription

String Descriptive text entered for trials.

Enabled

Boolean True/false depending on whether the products are active or disabled. When empty, 2Checkout marks the product as disabled.

ReviewStatus

String Returns the status of the product activation review. Can be: 'Does not exist', 'Pending', 'In Review', 'Passed' or 'Rejected'.

AdditionalFields

Array of AdditionalFieldAssigned objects Array of existing additional fields assigned to products. Details below.

AdditionalFields.Label

String The name of the additional field assigned to a product.

AdditionalFields.Code

String The code of the additional field assigned to a product.

AdditionalFields.Enabled

Boolean True or false depending on whether the assigned product field is enabled or not.

AdditionalFields.Required

Boolean True or false depending on whether the assigned product field is required or not.

AdditionalFields.URLParameter

String The value of the system generated URL parameter for the product field that can be used in Buy Links.

AdditionalFields.Display

Object Contains the display settings (Active/Required) for Order/Download pages (see Type property below)

AdditionalFields.Type

String Values: Download/Order

AdditionalFields.Active

Boolean True or false depending on whether the assigned product field is active or not.

AdditionalFields.Required

Boolean True or false depending on whether the assigned product field is required or not.

Translations

Array of ProductTranslation objects Details below.

Translations.LongDescription

String The translated long description in the language corresponding to the Translation object.

Translations.TrialUrl

String The trial URL for users speaking the language corresponding to the Translation object.

Translations.TrialDescription

String

Translations.SystemRequirements

String Localized system requirements.

Translations.Name

String Localized product name.

Translations.Description

String Localized product short description.

Translations.Language

String ISO 639-1 two-letter code.

PricingConfigurations

Array of PricingConfiguration objects Details below. 2Checkout creates pricing configurations during the process when you add a product.

PricingConfigurations.Name

String Pricing configuration name

PricingConfigurations.Code

String System-generated identifier.

PricingConfigurations.Default

Boolean True for the default pricing configuration

PricingConfigurations.BillingCountries

Array of strings ISO codes of the countries assigned to the pricing configuration.

Empty unless specific countries are assigned to a pricing configuration.

PricingConfigurations.UseOriginalPrices

Boolean True or False

PricingConfigurations.PricingSchema

String DYNAMIC – With a base price

FLAT – Without a base price

PricingConfigurations.PriceType

String Possible values: NET/GROSS

PricingConfigurations.DefaultCurrency

String The ISO code of the default currency for the pricing configuration

PricingConfigurations.Prices

Object Details below.

PricingConfigurations.Prices.Regular

Array of objects Details below.

PricingConfigurations.Prices.Regular.Amount

Int The price of the product.

PricingConfigurations.Prices.Regular.Currency

String ISO code of the currency for the product price.

PricingConfigurations.Prices.MinQuantity

Int The minimum quantity of volume discounts. Default is 1.

PricingConfigurations.Prices.MaxQuantity

Int The maximum quantity of volume discounts. Default is 99999.

PricingConfigurations.OptionCodes

Array of objects Details below.

PricingConfigurations.OptionCodes.Code

String Price option identifier.

PricingConfigurations.OptionCodes.Option

Array of strings The pricing options group option code you configured that the 2Checkout system uses to calculate product prices for pricing configurations without a base price.

PricingConfigurations.Renewal

Array of objects Details below.

PricingConfigurations.Renewal.Amount

Int The price of the product.

PricingConfigurations.Renewal.Currency

String ISO code of the currency for the product price.

PricingConfigurations.Renewal.MinQuantity

Int The minimum quantity of volume discounts. Default is 1.

PricingConfigurations.Renewal.MaxQuantity

Int The maximum quantity of volume discounts. Default is 99999.

PricingConfigurations.OptionCodes

Array of PriceOptionCode objects Details below.

PricingConfigurations.OptionCodes.Code

String Price option identifier.

PricingConfigurations.OptionCodes.Options

Array of strings The pricing options group option code you configured that the 2Checkout system uses to calculate product prices for pricing configurations without a base price.

PricingConfigurations.PriceOptions

Array of AssignedPriceOptionGroup objects Details below.

PricingConfigurations.PriceOptions.Code

String System generated pricing options group code (you can also configure it) that the 2Checkout system uses to calculate product prices for pricing configurations without a base price.

PricingConfigurations.PriceOptions.Required

Boolean True or false depending on whether you want to make it mandatory for shoppers to select the price option during the purchase process.

PricingConfigurations.PriceOptions.CustomImpactOnPrice

Boolean True or False

BundleProducts

Array of BundleProductCode objects Details below.

BundleProduct.ProductId

String Unique, system-generated product ID.

BundleProducts.ProductCode

String Editable product code that you control.

Fulfillment

String BY_AVANGATE

NO_DELIVERY – The 2Checkout system finalizes orders immediately after it receives payment confirmation.

BY_VENDOR – you are responsible for delivering/fulfilling orders

Prices

Array of Price objects Use this object only when Pricing Configurations are not available for your account. Details below.

Prices.Amount

Int The price of the product.

Prices.Currency

String ISO code of the currency for the product price.

Prices.MinQuantity

Int The minimum quantity of volume discounts. Default is 1.

Prices.MaxQuantity

Int The maximum quantity of volume discounts. Default is 99999.

Prices.OptionCodes

Array of objects Details below.

Prices.Prices.OptionCodes.Code

String Price option identifier.

Prices.Prices.OptionCodes.Options

Array of strings The pricing options group option code you configured that the 2Checkout system uses to calculate product prices for pricing configurations without a base price.

GeneratesSubscription

Boolean TRUE or FALSE depending on whether you set the product to generate subscriptions or not.

NULL for bundles for which you set the following subscription management option: “Use the subscription settings of each product in the bundle”

SubscriptionInformation

ProductSubscriptionInformation Object Details below. NULL for bundles which you set to use the renewal settings of child products and not of the parent bundle.

SubscriptionInformation.DeprecatedProducts

Array Deprecated products.

SubscriptionInformation.BundleRenewalManagement

String Possible values:

  • GLOBAL

  • INDIVIDUAL

Can be NULL.

SubscriptionInformation.BillingCycle

String

The number of subscription billing cycle units (months or days). Possible values:

  • -1 (-1 represents the one-time fee)

Days

  • 7

  • 8

  • 9

  • 10

  • 11

  • 12

  • 13

  • 14

Months

  • 1

  • 2

  • 3

  • 6

  • 12

  • 15

  • 18

  • 24

  • 36 (max)

SubscriptionInformation.BillingCycleUnits

String

The units of the billing cycle:

  • M - months

  • D - days

SubscriptionInformation.IsOneTimeFee

Boolean True or false depending on whether the subscription is evergreen or not.

SubscriptionInformation.ContractPeriod

Object Details below.

SubscriptionInformation.ContractPeriod.Period

Int The contract period in months or days. -1 for unlimited contracts.

SubscriptionInformation.ContractPeriod.PeriodUnits

String The contract period units

days | months

SubscriptionInformation.ContractPeriod.IsUnlimited

Boolean This flag is true if the contract is for an unlimited period

SubscriptionInformation.Action

String The action performed after the subscription expires.

Possible values CANCEL | RESTART

SubscriptionInformation.EmailsDuringContract

Boolean

True or false depending on whether you suppress renewal notification emails throughout the duration of the contract or not.

SubscriptionInformation.UsageBilling

Int The usage billing interval must be smaller than or equal to the grace period.

Interval of time within the grace period, when the 2Checkout system attempts to automatically charge customers for recurring costs and additional metered usage fees (in arrears). 2Checkout renews subscriptions only after subscribers make all outstanding payments per the renewal settings (from the expiration or the renewal date). If automatic renewal and usage charges fail, subscriptions can be manually renewed only by the end of the grace period, after which they expire.

Can be NULL.

SubscriptionInformation.GracePeriod

Object

SubscriptionInformation.GracePeriod.Type

String CUSTOM – you configured grace period setting at product level.

GLOBAL – global grace period settings apply.

SubscriptionInformation.GracePeriod.Period

String Number of days set for the grace period.

SubscriptionInformation.GracePeriod.PeriodUnits

String D - Days.

SubscriptionInformation.GracePeriod.IsUnlimited

Boolean True or false depending on whether you set the grace period to unlimited or not.

SubscriptionInformation.RenewalEmails

Object Details below. Can be NULL. Available only in Product API 2.5 and later.

SubscriptionInformation.RenewalEmails.Type

String GLOBAL - Send emails according to the global renewal notification settingsarrow-up-right.

CUSTOM – per product renewal notification settings

SubscriptionInformation.Settings

Object (can be NULL) Details below.

SubscriptionInformation.Settings.ManualRenewal

Object (can be NULL) Details below.

SubscriptionInformation.Settings.ManualRenewal.Before30Days

Boolean True or False.

SubscriptionInformation.Settings.ManualRenewal.Before15Days

Boolean True or False.

SubscriptionInformation.Settings.ManualRenewal.Before7Days

Boolean True or False.

SubscriptionInformation.Settings.ManualRenewal.Before1Day

Boolean True or False.

SubscriptionInformation.Settings.ManualRenewal.OnExpirationDate

Boolean True or False.

SubscriptionInformation.Settings.ManualRenewal.After5Days

Boolean True or False.

SubscriptionInformation.Settings.ManualRenewal.After15Days

Boolean True or False.

SubscriptionInformation.Settings.AutomaticRenewal

Object (can be NULL) Details below.

SubscriptionInformation.Settings.AutomaticRenewal.Before30Days

Boolean True or False.

SubscriptionInformation.Settings.AutomaticRenewal.Before15Days

Boolean True or False.

SubscriptionInformation.Settings.AutomaticRenewal.Before7Days

Boolean True or False.

SubscriptionInformation.Settings.AutomaticRenewal.Before1Day

Boolean True or False.

SubscriptionInformation.Settings.AutomaticRenewal.OnExpirationDate

Boolean True or False.

SubscriptionInformation.Settings.AutomaticRenewal.After5Days

Boolean True or False.

SubscriptionInformation.Settings.AutomaticRenewal.After15Days

Boolean True or False.

FulfillmentInformation

Object Details below. Can be NULL. Available only in Product API 2.5 and later.

FulfillmentInformation.IsStartAfterFulfillment

Boolean True or False. Depending on whether you want the subscription lifetime to start afther the completion of the fulfillment process or not.

FulfillmentInformation.IsElectronicCode

Boolean True or False. Depending on whether you configure the delivery of keys/codes for the product or not.

FulfillmentInformation.IsDownloadLink

Boolean True or False. Depending on whether you configure the delivery of a product file or not.

FulfillmentInformation.IsDownloadInsuranceService

Boolean True or False. Depending on whether you enable the Download Insurance Service or not, for a product for which you configure a product file.

FulfillmentInformation.IsInstantDeliveryThankYouPage

Boolean True or False. Depending on whether you enable instant delivery in the Thank You page or not.

FulfillmentInformation.IsDisplayInPartnersCPanel

Boolean True or False. Depending on whether you share access to the product file with your channel partners or not.

FulfillmentInformation.ReturnMethod

Object Information on the customer redirect method after a successful purchase.

FulfillmentInformation.Type

String

Possible values:

  • DIRECT_RETURN

  • HEADER_REDIRECT

  • HTML_LINK

FulfillmentInformation.URL

String Website to which customers are redirected after a successful purchase. Example: "http://mySuccessURL.comarrow-up-right"

FulfillmentInformation.CodeList

Object (can be NULL) Details below.

FulfillmentInformation.CodeList.Code

String The unique code list identifier.

FulfillmentInformation.CodeList.Name

String Name of the code list.

FulfillmentInformation.CodeList.Type

String

Code list type:

  • STATIC

  • DYNAMIC

FulfillmentInformation.ProductFile

Object (can be NULL) Details below.

FulfillmentInformation.ProductFile.Code

String Unique product file identifier.

FulfillmentInformation.ProductFile.Name

String Display name.

FulfillmentInformation.ProductFile.File

String Name of the product file.

FulfillmentInformation.ProductFile.File.Version

String File version.

FulfillmentInformation.ProductFile.File.Size

String File size.

FulfillmentInformation.ProductFile.File.Type

String File type.

FulfillmentInformation.ProductFile.File.LastUpdate

String YYYY-MM-DD HH-MM-SS. Date time stamp when you last updated the file.

FulfillmentInformation.AdditionalInformationByEmail

String (can be NULL) The text you set up in the Additional fulfillment information - by email area.

FulfillmentInformation.AdditionalInformationEmailTranslations

Object (can be NULL) Array of localized Additional fulfillment information - by email texts.

FulfillmentInformation.AdditionalThankYouPage

String (can be NULL) The text you set up in the Additional fulfillment information - "Thank you" page area.

FulfillmentInformation.AdditionalThankYouPageTranslations

Array (can be NULL) Array of localized Additional fulfillment information - "Thank you" page texts.

Last updated

Was this helpful?