Skip to main content

Product

Last updated: 30-Sep-2025
Rate this article:

Overview

Use the Product object to create/add, update/edit and retrieve subscription plans/products for your account. You can control:

  • Product information
  • Pricing
  • Subscription plan settings and renewal configuration
  • Subscription plan recurring billing
  • Fulfillment
  • Shipping classes
  • Localization

 

Parameters Type/Description

Product

 

Object
AvangateId String
  Unique, system-generated Avangate product ID. Read-only.
ProductCode String
  The product code that you can define for each of your offerings. Needs to be unique.
ProductType String
  REGULAR or BUNDLE
ProductName String
  The name of the product
ProductVersion String
  The product version number
GroupName String
  The name of the Product Group to which the product belongs
ShippingClass Object
  Existing shipping class object with the structure detailed below.
GiftOption boolean
  True or false depending on whether the product can be gifted or not.
ShortDescription String
  The product's short description
LongDescription String
  The 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.
ProductImages Array of Image objects
  Image object. Details below. Read-only.
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, Avangate marks the product as disabled.  
ReviewProductUrl 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 String
  Additional information can be added to access the review of the product.
Parameter is optional.
AdditionalFields Array of AdditionalFieldAssigned objects
  Array of existing additional fields assigned to products. Details below.
Translations Array of ProductTranslation objects
  Details below.
PricingConfigurations Array of PricingConfiguration objects
  Details below. Avangate creates pricing configurations during the process when you add a product.
BundleProducts Array of BundleProductCode objects
  Details below.
Fulfillment String
 

BY_AVANGATE

NO_DELIVERY – The Avangate 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.
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.
FulfillmentInformation Object
  Details below. Can be NULL. Available only in Product API 2.5 and later.

 

ShippingClass Object
Name String
  The name of the shipping class
Amount Decimal
  The shipping costs
Currency String
  The currency ISO code used for shipping costs - ISO 4217.
ApplyTo String
 

Possible values:

• PRODUCT

• ORDER

Type

Possible values:

• FIXED

• PERCENT

 

Platform Object
PlatformName String
  The label of the platform per the product configuration.
Category String
  Platform category per product configuration. 

 

ProductImage Object (Read-only)
Default Boolean
  True or False depending on whether you set the image stored at the address in the URL parameter as default or not.
URL String
  The location of the image on the Avangate system.

 

AdditionalFieldAssigned Object
Label String
  The name of the additional field assigned to a product.
Code String
  The code of the additional field assigned to a product.
Enabled Boolean
  True or false depending on whether the assigned product field is enabled or not.
Required Boolean
  True or false depending on whether the assigned product field is required or not.
URLParameter String
  The value of the system generated URL parameter for the product field that can be used in Buy Links.

 

Translation Object – ISO 639-1 two-letter code
LongDescription String
  The translated long description in the language corresponding to the Translation object.
TrialUrl String
  The trial URL for users speaking the language corresponding to the Translation object.
TrialDescription String
   
SystemRequirements String
  Localized system requirements.
Name String
  Localized product name.
Description String
  Localized product short description.
Language String
  ISO 639-1 two-letter code.

 

PricingConfiguration Object
Name String
  Pricing configuration name
Code String
  System-generated identifier.
Default boolean
  True for the default pricing configuration
BillingCountries Array of strings
 

ISO codes of the countries assigned to the pricing configuration.

Empty unless specific countries are assigned to a pricing configuration.

PricingSchema String
 

DYNAMIC – With a base price

FLAT – Without a base price

PriceType String
  Possible values:  NET / GROSS
DefaultCurrency String
  The ISO code of the default currency for the pricing configuration
Prices Object
  Details below.
PriceOptions Array of AssignedPriceOptionGroup objects
  Details below.

 

Prices Object
Regular Array of objects
  Details below.
Renewal Array of objects
  Details below.

 

Regular Object
Amount Int
  The price of the product.
Currency String
  ISO code of the currency for the product price.
MinQuantity Int
  The minimum quantity of volume discounts. Default is 1.
MaxQuantity Int
  The maximum quantity of volume discounts. Default is 99999.
OptionCodes Array of objects
  Details below.

 

Renewal Object
Amount Int
  The price of the product.
Currency String
  ISO code of the currency for the product price.
MinQuantity Int
  The minimum quantity of volume discounts. Default is 1.
MaxQuantity Int
  The maximum quantity of volume discounts. Default is 99999.
OptionCodes Array of PriceOptionCode objects
  Details below.

 

PriceOptions Object
Code String
  System generated pricing options group code (you can also configure it) that the Avangate system uses to calculate product prices for pricing configurations without a base price.
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.

 

PriceOptionCode Object
Code String
  Price option identifier.
Options Array of strings
  The pricing options group option code you configured that the Avangate system uses to calculate product prices for pricing configurations without a base price.

 

BundleProducts Object
ProductId String
  Unique, system-generated product ID.
ProductCode String
  Editable product code that you control.

 

Prices Object - Use this object only when Pricing Configurations are not available for your account.
Amount Int
  The price of the product.
Currency String
  ISO code of the currency for the product price.
MinQuantity Int
  The minimum quantity of volume discounts. Default is 1.
MaxQuantity Int
  The maximum quantity of volume discounts. Default is 99999.
OptionCodes Array of objects
  Details below.

 

PriceOptions Object
Code String
  System generated pricing options group code (you can also configure it) that the Avangate system uses to calculate product prices for pricing configurations without a base price.
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.

 

SubscriptionInformation

Object

 

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

DeprecatedProducts Array
  Deprecated products.
BundleRenewalManagement String
 

Possible values:

  • GLOBAL
  • INDIVIDUAL

Can be NULL.

UpgradeProductCode String
  Code belonging to the upgrade product.
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)
BillingCycleUnits String
 

The units of the billing cycle:

  • M - months
  • D - days
IsOneTimeFee Boolean
  True or False depending on whether the subscription is evergreen or not.
ContractPeriod Object
  Details below.
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 Avangate system attempts to automatically charge customers for recurring costs and additional metered usage fees (in arrears). Avangate 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.

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

 

ContractPeriod Object
Period Int
  The contract period in months or days. -1 for unlimited contracts.
PeriodUnits String
 

The contract period units

days | months

IsUnlimited boolean
  This flag is true if the contract is for an unlimited period
Action String
 

The action performed after the subscription expires.

Possible values CANCEL | RESTART

EmailsDuringContract Boolean
  True or False depending on whether you suppress renewal notification emails throughout the duration of the contract or not.
GracePeriod Object
Type String
 

CUSTOM – you configured grace period setting at product level.

GLOBAL – global grace period settings apply.

Period String
  Number of days set for the grace period.
PeriodUnits String
  D - Days.
IsUnlimited Boolean
  True or False depending on whether you set the grace peri2od to unlimited or not.

 

RenewalEmails  Object (can be NULL)
Type  String
 

GLOBAL - Send emails according to the global renewal notification settings.

CUSTOM – per product renewal notification settings

Settings Object (can be NULL)
  Details below.

 

Settings  Object (can be NULL)
ManualRenewal Object (can be NULL)
  Details below.
AutomaticRenewal Object (can be NULL)
  Details below.

 

ManualRenewal Object (can be NULL)
Before30Days  Boolean
  True or False.
Before15Days  Boolean
  True or False.
Before7Days  Boolean
  True or False.
Before1Day  Boolean
  True or False.
OnExpirationDate  Boolean
  True or False.
After5Days Boolean
  True or False.
After15Days  Boolean
   

 

AutomaticRenewal Object (can be NULL)
Before30Days  Boolean
  True or False.
Before15Days  Boolean
  True or False.
Before7Days  Boolean
  True or False.
Before1Day  Boolean
  True or False.
OnExpirationDate  Boolean
  True or False.
After5Days Boolean
  True or False.
After15Days  Boolean
   
FulfillmentInformation Object (can be NULL)
IsStartAfterFulfillment  Boolean
  True or False. Depending on whether you want the subscription lifetime to start afther the completion of the fulfillment process or not.
IsElectronicCode  Boolean
  True or False. Depending on whether you configure the delivery of keys/codes for the product or not.
IsDownloadLink  Boolean
  True or False. Depending on whether you configure the delivery of a product file or not.
IsBackupMedia  Boolean
  True or False. Depending on whether you configure the delivery of backup media or not.
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.
IsInstantDeliveryThankYouPage  Boolean
  True or False. Depending on whether you enable instant delivery in the Thank You page or not.
IsDisplayInPartnersCPanel  Boolean
  True or False. Depending on whether you share access to the product file with your channel partners or not.
CodeList  Object (can be NULL)
  Details below.
BackupMedia  Object (can be NULL)
  Details below.
ProductFile Object (can be NULL)
  Details below.
AdditionalInformationByEmail  String (can be NULL)
  The text you set up in the Additional fulfillment information - by email area.
AdditionalInformationEmailTranslations  Object (can be NULL)
  Array of localized Additional fulfillment information - by email texts.
AdditionalThankYouPage  String (can be NULL)
  The text you set up in the Additional fulfillment information - "Thank you" page area.
AdditionalThankYouPageTranslations  Array (can be NULL)
  Array of localized Additional fulfillment information - "Thank you" page texts.

 

CodeList  Object (can be NULL)
Code  String
  The unique code list identifier.
Name  String
  Name of the code list.
Type  String
 

Code list type:

  • STATIC
  • DYNAMIC

 

BackupMedia  Object (can be NULL)
Code  String
  The unique backup media identifier.
Name  String
  Name of the backup CD/DVD.
Type  String
 

Media type:

  • CD

 

ProductFile Object (can be NULL)
Code  String
  Unique product file identifier.
Name  String
  Display name.
File  String
  Name of the product file.
Version  String
  File version.
Size String
  File size.
Type  String
  File type.
LastUpdate  String
  YYYY-MM-DD HH-MM-SS. Date time stamp when you last updated the file.

 

 

Rate this article:

Need help?

Do you have a question? If you didn’t find the answer you are looking for in our documentation, you can contact our Support teams for more information. If you have a technical issue or question, please contact us. We are happy to help.

Not yet a Verifone customer?

We’ll help you choose the right payment solution for your business, wherever you want to sell, in-person or online. Our team of experts will happily discuss your needs.

Verifone logo