Product
Use the Product object to create, update and retrieve subscription plans/products for your account. Use 2Checkout's API and control the following product attributes:
Product information
Pricing
Subscription plan settings and renewal configuration
Subscription plan recurring billing
Fulfillment
Shipping classes
Localization
Request parameters
Use the parameters below to add new products into your 2Checkout catalog.
Product
Required (object)
Product details.
ProductCode
Required (string) The product code that you can define for each of your offerings. Needs to be unique.
ProductGroupCode
Required (string) The product code that you can define for each product group. Needs to be unique.
TaxCategory
Required (string) The tax category to which the product belongs.
ProductType
Optional (string) REGULAR or BUNDLE
Defaults to REGULAR.
ProductName
Required (string) The name of the product
ProductVersion
Optional (string) The product version number
PurchaseMultipleUnits
Optional (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.
ShippingClass
Optional (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
Optional (boolean) True or false depending on whether the product can be gifted or not.
ShortDescription
Optional (string) The product's short description
LongDescription
Optional (string) The product's long description
SystemRequirements
Optional (string) System requirements
ProductCategory
Optional (string) Product category
Platforms
Optional (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
Optional (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
Optional (string (anyURI)) The URL from where shoppers can download trial software.
TrialDescription
Optional (string) Descriptive text entered for trials.
Enabled
Optional (boolean) True/false depending on whether the products are active or disabled. When empty, 2Checkout marks the product as disabled.
ReviewProductUrl
Conditional (string) The URL where the product can be reviewed before approval. Parameter is required if the "Enabled" property is sent as TRUE and the product needs to be reviewed by our internal teams before activation.
ReviewAdditionalDetails
Optional (string) Additional information can be added to access the review of the product.
AdditionalFields
Optional (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.
Translations
Optional (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
Optional (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.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.Regular
Array of objects Details below.
PricingConfigurations.Amount
Int The price of the product.
PricingConfigurations.Currency
String ISO code of the currency for the product price.
PricingConfigurations.MinQuantity
Int The minimum quantity of volume discounts. Default is 1.
PricingConfigurations.MaxQuantity
Int The maximum quantity of volume discounts. Default is 99999.
PricingConfigurations.OptionCodes
Array of objects Details below.
PricingConfigurations.Code
String Price option identifier.
PricingConfigurations.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.Renewal
Array of objects Details below.
PricingConfigurations.Amount
Int The price of the product.
PricingConfigurations.Currency
String ISO code of the currency for the product price.
PricingConfigurations.MinQuantity
Int The minimum quantity of volume discounts. Default is 1.
PricingConfigurations.MaxQuantity
Int The maximum quantity of volume discounts. Default is 99999.
PricingConfigurations.OptionCodes
Array of PriceOptionCode objects Details below.
PricingConfigurations.Code
String Price option identifier.
PricingConfigurations.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.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.Required
Boolean True or false depending on whether you want to make it mandatory for shoppers to select the price option during the puyrchase process.
BundleProducts
Optional (array of BundleProductCode objects) Details below.
BundleProducts.ProductId
String Unique, system-generated product ID.
BundleProducts.ProductCode
String Editable product code that you control.
Fulfillment
Required (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
Required (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.Code
String Price option identifier.
Prices.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
Required (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
Optional (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:
0 (zero represents a 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.Period
Int The contract period in months or days. -1 for unlimited contracts.
SubscriptionInformation.PeriodUnits
String The contract period units
days | months
SubscriptionInformation.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.Type
String
CUSTOM – you configured grace period setting at product level.
GLOBAL – global grace period settings apply.
SubscriptionInformation.Period
String Number of days set for the grace period.
SubscriptionInformation.PeriodUnits
String D - Days.
SubscriptionInformation.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.Type
String GLOBAL - Send emails according to the global renewal notification settings.
CUSTOM – per product renewal notification settings
SubscriptionInformation.Settings
Object (can be NULL) Details below.
SubscriptionInformation.ManualRenewal
Object (can be NULL) Details below.
SubscriptionInformation.Before30Days
Boolean True or False.
SubscriptionInformation.Before15Days
Boolean True or False.
SubscriptionInformation.Before7Days
Boolean True or False.
SubscriptionInformation.Before1Day
Boolean True or False.
SubscriptionInformation.OnExpirationDate
Boolean True or False.
SubscriptionInformation.After5Days
Boolean True or False.
SubscriptionInformation.After15Days
Boolean True or False.
SubscriptionInformation.AutomaticRenewal
Object (can be NULL) Details below.
SubscriptionInformation.Before30Days
Boolean True or False.
SubscriptionInformation.Before15Days
Boolean True or False.
SubscriptionInformation.Before7Days
Boolean True or False.
SubscriptionInformation.Before1Day
Boolean True or False.
SubscriptionInformation.OnExpirationDate
Boolean True or False.
SubscriptionInformation.After5Days
Boolean True or False.
SubscriptionInformation.After15Days
Boolean True or False.
FulfillmentInformation
Optional (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.IsBackupMedia
Boolean True or False. Depending on whether you configure the delivery of backup media 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.IsIntantDeliveryThankYouPage
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.com"
FulfillmentInformation.CodeList
Object (can be NULL) Details below.
FulfillmentInformation.Code
String The unique code list identifier.
FulfillmentInformation.Name
String Name of the code list.
FulfillmentInformation.Type
String
Code list type:
STATIC
DYNAMIC
FulfillmentInformation.BackupMedia
Object (can be NULL) Details below.
FulfillmentInformation.Code
String The unique backup media identifier.
FulfillmentInformation.Name
String Name of the backup CD/DVD.
FulfillmentInformation.Type
String Media type: CD
FulfillmentInformation.ProductFile
Object (can be NULL) Details below.
FulfillmentInformation.Code
String Unique product file identifier.
FulfillmentInformation.Name
String Display name.
FulfillmentInformation.File
String Name of the product file.
FulfillmentInformation.Version
String File version.
FulfillmentInformation.Size
String File size.
FulfillmentInformation.Type
String File type.
FulfillmentInformation.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?