Skip to main content

Product

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.

 

 

Customer

Overview

Use the object below to create, update and retrieve customers in 2Checkout.

Input parameters

Parameters Type/Description
ExternalCustomerReference Optional (string)
  Unique customer alphanumeric (string) identifiers you control. Aggregate subscriptions under the same Customer account by adding the CUSTOMERID (case sensitive) parameter to Buy links.
FirstName Required (string)
  Customer's first name. 
LastName Required (string)
  Customer's last name.
Company Optional (string)
  Company name.
FiscalCode Optional (string)
 

Can be null for end users. For companies, it needs to be the VAT ID, which 2Checkout validates.

2Checkout throws an error if the VAT ID is invalid/incorrect. When present, you also need to provide the company name.

 

Can be null for end users.

Address1 Required (string)
  Customer's address.
Address2 Optional (string)
  Customer's address.
City Required (string)
  Customer's city.
State Optional (string)
  Customer's state. For example, "Alabama","Alaska","Arizona".
Zip Required (string)
  Zip code.
CountryCode Required (string)
  Customer's country code (ISO 3166 two-letter code).
Phone Optional (string)
  Customer's phone number.
Fax Optional (string)
  Customer's fax number.
Email Required (string)
  Customer's email.
Enabled Optional (boolean)
 

true or false, depending on whether the customer account is active or inactive. An active customer account features at least one Active or Past due subscription. Possible customer statuses:

 

  • Active - Customer account status is Active even if Trial and Cancelled/Expired subscriptions exist for the customer, along as there's at least one Active subscription. Customers with a single subscription featuring the Past due status (expired but in the grace period) are considered Active.
  • Inactive - All subscriptions associated to this Customer account are cancelled, expired or both.
  • Trial - Customer account status is Trial if all Active subscriptions for this customer are trials, regardless of any Cancelled/Expired subscriptions.
Trial Optional (boolean)
  true or false, depending on whether the customer account features only trials or also paid subscriptions.
Language Optional (string)
  ISO 639-1 two-letter code. Example: “en.”
Credit Optional (object)
    Contains information about the credit limit, remaining credit and credit currency.
  Limit Float
    The limit must be 0 or a positive number.
  Remaining Float
    The remaining must be a valid number.
  Currency String
   
Currency code must be one of the transactional currencies set on account.

 

 

URL affiliate checker & tracking

Overview

Use the URL Affiliate Checker to keep track of sales generated by members of the 2Checkout Affiliate Network for services/products that you sell using a third-party e-commerce platform.​​​​​​

  • 3rd party e-commerce provider -> URL affiliate checker -> detects 2Checkout cookie -> 2Checkout buy links
  • 3rd party e-commerce provider -> URL affiliate checker -> does not detect 2Checkout cookie -> third-party buy-link

Requirements

In order to use URL Affiliate Checker, the following requirements must be met:

  • The 2Checkout Affiliate Network is enabled for your account.
  • Products sold through a third-party platform and available to 2Checkout Affiliates must be configured within the 2Checkout platform as well, and need to be assigned to commissions lists associated with 2Checkout Affiliates. Make sure to specify a commission you're willing to pay for affiliate referrals.

How does the URL Affiliate Checker work?

The URL Affiliate Checker enables you to redirect shoppers to 2Checkout ordering pages when they're referred by a 2Checkout Affiliate. The 2Checkout system tracks sales referred by affiliates and ensures that they get rewarded correctly and receive commissions for sales generated.

Installing the URL Affiliate Checker

To install the URL Affiliate Checker replace the Buy-buttons links (the buy-links placed on your call to actions) with the Affiliate Checker links generated using the Control Panel. Essentially, you need to replace the links on the buy-buttons that point to the third-party shopping cart. The 2Checkout system checks if shoppers come from a 2Checkout affiliate:

  • If shoppers are referred by a 2Checkout affiliate (a cookie is detected) they're redirected to the 2Checkout ordering link (2Checkout shopping cart);
  • If the Affiliate cookie is not present, the visitor will be redirected to a page of your choice.

URL Affiliate Checker link generator

Follow these steps to generate the affiliate checker link:

  1. Generate a buy-link for your products using the 2Checkout Control Panel.
  2. Enter the link generated into the Regular 2Checkout buy-link field.

affiliate_checker.png

3. Specify the URL where shoppers will be redirected in case that no 2Checkout affiliate cookie is detected.

affiliate_checker2.png

4. Click the Generate link button and copy and paste this code replacing your regular buy links.

5. Shoppers clicking on the URL Affiliate Checker buy-links will be redirected to the 2Checkout shopping cart, if a 2Checkout affiliate ID is detected, or to the third-party shopping cart that you use.

6. Orders placed by shoppers which used the buy-links from 2Checkout affiliates will immediately be visible in the Order search area of the Control Panel.

Pricing

Overview

Update subscription plan/product pricing using the Price Options Group and the Pricing Configuration objects. 

Price options group

Use this object to add/create and edit/update price options for your account.

Parameters

PriceOptionsGroup

Array of objects

Name

String

 

Price option group name.

 

Use this parameter when adding a new price options group.

 

To edit the name of a price option group use the Name parameter under the Translations object.

Description

String

 

Pricing option group description.

Translations

Array of objects

 

Details below.

Code

String

 

Unique code that The Avangate system generates or set for each pricing options group.

Type

String

 

The type of the pricing options group. Possible values:

· RADIO

· CHECKBOX

· INTERVAL

· COMBO

Options

Array of objects

 

Details below.

Required

boolean

 

True if you made the pricing option group mandatory.

 

Options

Object

Name

String

 

Pricing option child name.

Description

String

 

Pricing option child description.

Translations

Array of objects

 

Details below.

Code

String

 

The code you set or that the Avangate system generated for each pricing option child inside a pricing options group parent.

ScaleMin

Int

 

The minimum value of a scale interval set for each pricing option child inside a pricing options group parent of the type INTERVAL.

ScaleMax

Int

 

The maximum value of a scale interval set for each pricing option child inside a pricing options group parent of the type INTERVAL.

SubscriptionImpact

Object

 

Details below.

PriceImpact

Object

 

Details below.

Default

Boolean

 

TRUE for preselected options.

Missing for options that are not preselected.

 

SubscriptionImpact

Object

Months

String

 

The value in months the Avangate system adds or subtracts from the initial billing cycle of a subscription.

Impact

String

 

Possible values:

  • ADD
  • SUBTRACT
  • LIFETIME

 

PriceImpact

Object

ImpactOn

String

 

Possible values:

  • BASE corresponding to impact on base price
  • GLOBAL for impact on calculated sum.

Impact

String

 

Impact on price per unit:

  • ADD
  • SUBTRACT

Percent

String

 

The value of the percentage out of the price per product unit, when you use PERCENT for Method.

Method

String

 

Possible values:

· PERCENT

· FIXED

Amounts

Array of objects.

 

Details below.

 

Amount

Object

Currency

String

 

Currency ISO code - ISO 4217.

Amount

String

 

The amount defined for each specific currency active for your account, when you use FIXED for Method.

 

Translations

Object

Name

String

 

Localized product pricing options group name under PriceOptionGroup.

Localized pricing option child name under Options.

Description

String

 

Localized product pricing options group description under PriceOptionGroup.

Localized pricing option child description under Options.

Language

String

 

ISO language code. (ISO 639-1 two-letter code).

Price option group

Use this object to search for, retrieve information on price option groups (including those assigned to specific products) for your account.

Parameters

PriceOptionGroup

Array of objects

 

Name

String

 

Price option group name.

 

Use this parameter when adding a new price options group.

 

To edit the name of a price option group use the Name parameter under the Translations object.

Description

String

 

Pricing option group description.

Translations

Array of objects

 

Details below.

Code

String

 

Unique code that The Avangate system generates or set for each pricing options group.

Type

String

 

The type of the pricing options group. Possible values:

  • RADIO
  • CHECKBOX
  • INTERVAL
  • COMBO

Options

Array of PriceOption objects

 

Details below.

 

PriceOption

Object

Code

String

 

The code you set or that the Avangate system generated for each pricing option child inside a pricing options group parent.

ScaleMin

Int

 

The minimum value of a scale interval set for each pricing option child inside a pricing options group parent of the type INTERVAL.

ScaleMax

Int

 

The maximum value of a scale interval set for each pricing option child inside a pricing options group parent of the type INTERVAL.

SubscriptionImpact

SubscriptionLifetimeImpact object

 

Details below.

PriceImpact

Object

 

Details below.

Default

Boolean

 

TRUE for preselected options.

Missing for options that are not preselected.

Name

String

 

Pricing option child name.

Description

String

 

Pricing option child description.

Translations

Array of objects

 

Details below.

 

SubscriptionLifetimeImpact

Object

Months

String

 

The value in months the Avangate system adds or subtracts from the initial billing cycle of a subscription.

Impact

String

 

Possible values:

  • ADD
  • SUBTRACT
  • LIFETIME

 

PriceImpact

Object

ImpactOn

String

 

Possible values:

  • BASE corresponding to impact on base price
  • GLOBAL for impact on calculated sum.

Impact

String

 

Impact on price per unit:

  • ADD
  • SUBTRACT

Percent

String

 

The value of the percentage out of the price per product unit, when you use PERCENT for Method.

Method

String

 

Possible values:

· PERCENT

· FIXED

Amounts

Array of objects.

 

Details below.

 

Amount

Object

Currency

String

 

Currency ISO code - ISO 4217.

Amount

String

 

The amount defined for each specific currency active for your account, when you use FIXED for Method.

 

Translations

Object

Name

String

 

Localized product pricing options group name under PriceOptionGroup.

Localized pricing option child name under Options.

Description

String

 

Localized product pricing options group description under PriceOptionGroup.

Localized pricing option child description under Options.

Language

String

 

ISO language code. (ISO 639-1 two-letter code).

Pricing configuration

Use this object to add/create and update/edit pricing configurations for your account. You can assign one or multiple price option groups to pricing configurations.

You identify a pricing configuration using its unique identifier: Code

Parameters

PricingConfiguration

Object

Name

String

 

Pricing configuration name.

Code

String

 

System-generated identifier. Read-only.

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 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. Use -1 to delete it.

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. Use -1 to delete it.

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.

Options

StringArray

 

The pricing options group option code you configured that the Avangate system uses to calculate product prices for pricing configurations without a base price.

 

Payment processing

Overview

By understanding local markets' culture, you can very easily meet the payment preferences of visitors to your website, increase shopper comfort, and thus boost your conversion rates.

Preferred online payment methods vary dramatically across regions and markets, and each locale is impacted by fragmentation issues and particularities. 

Learn how to enable local and international payment methods (video) to grow your conversion rate in markets around the world.  

 

Subscription

Overview

Retrieve information and manage subscriptions for your account.

Attributes

Parameters Type/Description

SubscriptionReference

String

 

Unique, system-generated subscription identifier.

StartDate

String

 

Subscription start date(YYYY-MM-DD) - StartDate is mandatory when importing subscription data. If you changed the time zone for the Avangate API by editing system settings under Account settings, then the StartDate you provide must be in accordance with your custom configuration.

ExpirationDate

String

 

Subscription expiration date(YYYY-MM-DD) - ExpirationDate is mandatory when importing subscription data. If you changed the time zone for the Avangate API by editing system settings under Account settings, then the ExpirationDate you provide must be in accordance with your custom configuration.

RecurringEnabled

Boolean

 

Possible values:

TRUE – recurring billing/automatic subscription renewals enabled

FALSE– recurring billing/automatic subscription renewals disabled

SubscriptionEnabled

Boolean

Possible values:

TRUE –subscription enabled

FALSE–subscription disabled

Product

Required (object)

 

The product for which Avangate generated the subscription. Details below.

 

ProductCode

String

 

 

Unique product identifier that you control.

 

ProductId

Int

 

 

Unique, system-generated product identifier.

 

ProductName

String

 

 

Product name.

 

ProductQuantity

Int

 

 

Ordered number of units.

 

ProductVersion

String

 

 

Product version.

 

PriceOptionCodes

Array

 

 

The product options codes the customer selected when acquiring the subscription. Pricing options codes are case sensitive.

EndUser

Object

 

The end user of the subscription. Details below.

 

Person

Object

 

 

FirstName

String

 

 

 

End user's first name

 

 

LastName

String

 

 

 

End user's last name

 

 

CountryCode

String

 

 

 

End user country code [ISO3166-1 Alpha 2].

 

 

State

String

 

 

 

End user state.

 

 

City

String

 

 

 

End user city.

 

 

Address1

String

 

 

 

End user first address line.

 

 

Address2

String

 

 

 

End user second address line.

 

 

Zip

String

 

 

 

End user zip code.

 

 

Email

String

 

 

 

End user email address.

 

 

Phone

String

 

 

 

End user phone number.

 

 

Company

String

 

 

 

Company name.

 

Fax

String

 

 

End user fax.

 

Language

String

 

 

Language [ISO639-2] the Avangate system uses for communications.

SKU

String

 

Stock keeping unit you defined.

DeliveryInfo

Object

 

The object contains information about the delivery/fulfillment made to the customer.

 

Description

String

 

 

Delivery description.

 

Codes

Array of objects

 

 

Code

String

 

 

 

Activation key/license code of the first order from this subscription. Use getSubscriptionHistory method if you want to retrieve the activation keys/license codes for all orders belonging to a subscription.

 

 

Description

String

 

 

 

Code description for dynamic lists from your key generator. 

 

 

ExtraInfo

Object

 

 

 

Info set by your key generator for dynamic lists only.

 

 

 

CodeExtraInfo

Object

 

 

 

Type

String

 

 

 

Label

String

 

 

 

Value

String

 

 

File

Array of objects

 

 

 

Content

String

 

 

 

 

Content of the file (base64 encoded).

 

 

 

ContentLength

Int

 

 

 

 

File size.

 

 

 

Filename

String

 

 

 

 

The name of the delivered file.

 

 

 

FileType

String

 

 

 

 

The type of the delivered file.

ReceiveNotifications

Boolean

 

1 – Subscribe: Avangate sends subscription notifications to the end user.

0 – Unsubscribe – Avangate does not send subscription notifications to the end user.

Lifetime

Boolean

 

Possible values:

  • True – the subscription is evergreen

False – the subscription has a recurring billing cycle less than or equal to three years.

PartnerCode

String

 

  • Empty: for ecommerce orders

Partner Code

AvangateCustomerReference

Int

 

Unique, system-generated customer identifier.

ExternalCustomerReference

String

 

Customer identifier that you control.

TestSubscription

Boolean

 

True for test subscriptions, false otherwise.

IsTrial

Boolean

 

True for trial subscriptions, false otherwise.

MerchantCode String
  Unique, system-generated ID in the Avangate system.

 

Order promotions

Overview

Apply discounts to the total order value, including taxes. Offers configured with Order Promotions are designed to discount a fixed amount from the total value of all products added to the cart during the shopping process.

Order promotions are applied by default to the total order value before taxes. Reach out to 2Checkout Support if you need to apply the discount to the net order value.

Availability

Available for all 2Checkout accounts.

Example

2Checkout displays order promotions as an additional product added to the shopping cart, either automatically or after the shopper adds the coupon code.

Adding an order promotion

  1. Log in to your Merchant Control Panel account.
  2. Navigate to Marketing toolsPromotions Order promotions.
  3. Click on Add order promotion.
  4. Give the promotion a suggestive title and description. Shoppers can see the promotion title during purchase.
    • Add localized promotion names for any of the supported languages. The 2Checkout shopping cart automatically displays localized promotion names based on the selected shopping cart language.
  5. Select when you want the promotion to run. You can limit promotions to a specific time interval or let them run indefinitely. To start a promotion as soon as you mark it Active, leave the start date empty. If you don't set the end date, the promotion will stop when the maximum number of orders has been reached or will continue to run if the maximum number of orders is unlimited.
  6. Choose the coupon/voucher type:
    • Single - one voucher to impact multiple orders;
    • Multiple - individual and unique, per-order vouchers.
  7. Choose whether to restrict the promotion to a number of orders, or apply it for all orders. This option is only available for single coupons.
  8. Fill in the promotion coupon/voucher code. The maximum length of a coupon code is 255 alphanumeric characters.
    • Single: enter the coupon values manually
    • Multiple: either add the values manually one coupon per line or use the coupon generator available in the Control Panel to generate 5, 10, 20, 30, 50, or 100 vouchers at a time and either append them to an existing list or replace existing items. The generator creates random vouchers that resemble this: D8C10E32. 2Checkout recommends limiting the number of coupon codes to a maximum of 25000.
  9. Choose whether or not to apply discounts automatically. Only available for single coupons. This option applies discounts to all selected products in all orders, without the need for shoppers to enter the coupon manually.
  10. Choose whether or not to publish the promotion to the 2Checkout Affiliate Network.
  11. Activate the promotion.
  12. Click Save.

Advanced options for order promotions

If you apply a fixed discount, you can choose to apply it on the gross cart value (default) or on the net cart value. 

This option is available only upon request. Please reach out to your Sales representative or 2Checkout Support to activate it.

Chargebacks guide

Overview

Chargebacks are shopper requests for funds reversal made directly to the bank/PayPal, possible only if the payment was made using a credit/debit card or PayPal. As a rule of thumb, buyers contact their credit card bank/issuer or PayPal directly to initiate a chargeback.

2Checkout charges commissions for the initial transactions associated with orders refunded as a result of chargeback disputes initiated by shoppers.

Recommended resources

Credit/debit card chargebacks

The chargeback process for credit/debit card transactions is described below.

Chargebacks are triggered by shopper requests to their credit/debit card issuer to dispute charges appearing on their credit card statement. Only chargebacks for payments made using the following credit/debit cards are accepted:

  • VISA/MasterCard
  • American Express
  • Discover
  • JCB
  • Carte Bleu
  • Diners Club
  • EloCard
  • HiperCard
  • UnionPay

Shoppers may issue chargebacks for multiple reasons, including but not limited to:

  • Shoppers haven’t received the purchased items;
  • Shoppers are unsatisfied with purchases and are unable to resolve the problem directly with you;
  • Shoppers are charged multiple times for the same order;
  • Shoppers claim that they received your agreement for a refund, but the refund was never processed;
  • An unauthorized party made a purchase with the shoppers’ credit card details;
  • Shoppers have concerns about the validity of the purchase (they don’t recognize the charge on the statement);
  • Shoppers claim that they did not agree to subscription renewals.

Chargeback time limits

The chargeback time limit refers to the specific time window allowed for parties to respond to each phase of a chargeback dispute. Cardholders, banks, and merchants each need to keep to the deadlines imposed by the card networks or risk losing a claim.

Cardholders/Card issuers

In most cases, cardholders have up to 120 days from the transaction processing date to file a chargeback (the limits for cardholders can vary from one issuer to another and/or depending on the chargeback reason code).

2Checkout Merchants

Should provide us any information or documents available that they might have regarding the disputed order, within 3 working days from the chargeback notification, in PDF format – if they want to challenge the case.

Chargeback resolution

It might take between 90-120 days until a final resolution is received. The decision is based on a standard set of rules and regulations created by Visa/MasterCard and is then communicated to 2Checkout and the shopper.

Workflow

  1. The issuer bank contacts 2Checkout’s bank with a request for the transaction details.
  2. 2Checkout is informed by its bank/payment processor of the chargeback dispute, and the chargeback amount is debited from 2Checkout’s bank account.
  3. 2Checkout responds to the open chargeback disputes by providing required documents to the bank.
  4. You receive an IPN (instant payment notification) of the open chargeback dispute from 2Checkout.
  5. 2Checkout restricts the disputed amount from being paid to you.

While chargebacks are handled directly by banks, 2Checkout still plays a role in resolving disputes. We are notified by the banking entities we’re working with of every chargeback, receiving information requests for each incident. The reason provided by the shopper to its issuer also reaches 2Checkout along with the request for transaction details.

  1.  2Checkout provides the following standard details to the bank: 
    • Payment method used by the shopper (PayPal account or first and last 4 digits of the card) to confirm the transaction.
    • Name, address, and email of the shopper to be verified by the bank and compared to the ones used to create the bank account.
    • Delivery details: subscription codes, attachments, or delivery confirmations.
    • Issued invoices
    • Terms and conditions, refund policy from your website showing that the shopper accepted the charge based on your public policies.
    • In case of a renewal transaction, the bank is also informed about the shopper’s agreement to the renewal made in the shopping cart.

2Checkout acts as a mediator between the bank, shopper and you, once a chargeback has been initiated. You will receive a request for additional details regarding the transaction to help us defend the dispute against the bank.

  1. 2Checkout may request any shopper, transaction, or subscription-related documents from you, including, but not limited to:
    • Proof of delivery, in case it was made directly by you.
    • Support tickets received from the shoppers and answered by the support team, showing the customer issue resolution.
    • Any correspondence you had with the shoppers showing the validity of transactions, the fact that they placed the order and agreed to the delivery.
    • Proof that subscriptions delivered to shoppers are in use.
    • Correspondence with shoppers related to refund requests.
  2. 2Checkout forwards all details received from you to the bank, adding further explanations if necessary. Based on the details received from 2Checkout and from the shopper, the bank and the credit/debit card issuer offer a resolution to the dispute. The decision is based on a standard set of rules and regulations created by Visa/MasterCard and is then communicated to 2Checkout and the shopper.
  3. 2Checkout notifies you and the case is closed when a chargeback is won. 2Checkout pays the chargeback amount to you in full.
  4. 2Checkout creates a reversal transaction when a chargeback is lost. You are notified about the lost cause and the debited amount.
In case of renewal transactions, a chargeback can be initiated for each individual payment.

SEPA Direct Debit chargebacks

According to SEPA Direct Debit Core Scheme, the shopper has the possibility of raising a dispute without having to provide any justifications during the eight weeks following the direct debit transaction date. This is known as the right to a ‘no-questions-asked refund’.

If the transaction was unauthorized and the shopper can prove that, they can ask for a refund up to 13 months after the direct debit transaction date.

The Direct Debit chargebacks are not defendable according to the issuing banks and SEPA Direct Debit Core Scheme.

PayPal chargebacks

The PayPal chargeback process is similar to the one for credit/debit cards, with one important difference: both the shopper and 2Checkout directly negotiate the dispute with PayPal. PayPal chargebacks occur after shoppers contact PayPal to dispute charges made to their account.

PayPal chargebacks may be issued for a number of reasons, including but not limited to:

  • Shoppers haven’t received the purchased items.
  • Shoppers are unsatisfied with purchases and are unable to resolve the problem directly with you.
  • Shoppers were charged multiple times for the same order.
  • Shoppers claim that they received your agreement for a refund, but never received the refund.
  • An unauthorized party made a purchase with the shoppers’ PayPal details.
  • Shoppers have concerns about the validity of the purchase (they don’t recognize the charge on the statement).
  • Shoppers claim they did not agree to subscription renewals.

Workflow

  1. Shoppers contact PayPal requesting a chargeback.
  2. PayPal contacts 2Checkout with a request for the transaction details. The reason provided by the shopper to PayPal is sent to 2Checkout along with the request for transaction details. Note: Based on how the funding source is set by shoppers in their PayPal accounts, they can dispute transactions directly to their bank instead of PayPal. In this case, PayPal acts as a mediator between 2Checkout and the shopper’s issuing bank.
  3. PayPal informs 2Checkout about the open dispute, and the amount is debited from 2Checkout’s bank account.
  4. 2Checkout responds to the open chargeback dispute contacting PayPal.
  5. You receive an IPN (instant payment notification) of the chargeback dispute from 2Checkout.
  6. 2Checkout blocks the disputed amount from being paid to you.
  7.  2Checkout provides the following details to the bank: 
    • Payment method information (PayPal account) to confirm the transaction.
    • Name, address, and e-mail of the shopper to be verified by PayPal and compared to the ones used to create the user account.
    • Delivery details: subscription keys, attachments.
    • Issued invoices.
    • Terms and conditions, refund policy from your website showing that the shopper accepted the charge based on your public policies.
    • In case of a renewal transaction, PayPal is also informed about the shopper’s agreement to the renewal made in the shopping cart.

2Checkout acts as a mediator between PayPal, the shopper and you, once a chargeback has been initiated. You will receive a request for additional details regarding the transaction to help us argue the case with PayPal.

  1. 2Checkout may request any shopper, transaction, or subscription-related documents from you, including, but not limited to:
    • Proof of delivery, in case it was made directly by you.
    • Support tickets received from the shoppers and answered by the support team, showing the customer issue resolution.
    • Any correspondence you had with the shoppers showing the validity of transactions, the fact that they placed the order and agreed to the delivery.
    • Proof showing that subscriptions delivered to shoppers are in use.
    • Correspondence with shoppers related to refund requests.
  2. 2Checkout forwards all details received from you to PayPal, adding further explanations if necessary. Based on the details received from 2Checkout and from the shopper, PayPal offers a resolution to the dispute. The decision is then communicated to 2Checkout and the shopper.
  3. 2Checkout notifies you and the case is closed when a chargeback is won. The chargeback amount on which 2Checkout placed a hold when the chargeback was opened is paid to you in full.
  4. 2Checkout creates a reversal transaction when a chargeback is lost. You are notified about the lost cause and the debited amount.
In case of renewal transactions, chargebacks can be initiated for each individual payment separately.

Shipping in API

Overview

Use the API methods displayed below to create orders for physical products.

Search the shipping methods defined in your Control Panel, and extract information on how the shipping price is calculated.

 

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