Skip to main content

A three-stage approach to recapturing lost revenue

Did you know that online shoppers left more than $4 trillion worth of merchandise in their shopping carts last year? 2Checkout will show you how to recapture revenue from your website that would otherwise be lost as leakage.

This three-stage approach outlines the core components of improving conversion rates: attracting qualified traffic, engaging existing traffic, and providing a more personalized experience after shoppers add items to their cart - and attempt to leave without purchasing.

Watch this 20-minute recorded presentation to learn about:

  • Some of the most common reasons for cart abandonment
  • Unique strategies for appealing to consumers at each stage in the process
  • Smart ways to use analytics data to improve conversion
  • Creative customization tricks to win back buyers
  • How to increase revenue in only 3 weeks
Join Our Webinar

 

Use iDEAL

Overview

Place an order with catalog products defined in your Control Panel and collect the payment using iDEAL.

Requirements

One shoppers from Netherlands can purchase using iDEAL. The billing country and the order country code has to be NL.

Supported currencies

  • EUR

Workflow

  1. Use the getIdealIssuerBanks method for retrieving information on the Avangate list of banks that support iDEAL payments. More details about this method here.
  2. Shoppers select iDEAL as payment option in the interface you provide them, and select their bank from the list.
  3. Create the order object. Use IDEAL as the type of the PaymentDetails object, and include ReturnURL and CancelURL. The BankCode parameter should be added based on the bank selected by the customer, from the array obtained after calling method getIdealIssuerBanks.
  4. Use the placeOrder method to send the data to Avangate.
  5. Once you place the order, Avangate logs it into the system. At this point in time, the status of the order is PENDING.
  6. Avangate returns an Order object as the output of the placeOrder method. 
  7. Use the PaymentMethod object to create a redirect URL for the shoppers, concatenating the values of the Href and avng8apitoken parameters. Here's an example of the redirect URL:
    https://api.avangate.com/4.0/scripts/ideal/authorize/?avng8apitoken=f56373d92ed6b153
    
  8. Customers are directed to the iDEAL payment page, where they have to confirm their payment details before finishing the ordering process.
  9. Shoppers are redirected to the RedirectURL from the Order information object. In case the payment fails, shoppers are redirected to the CancelURL. 

Parameters

Parameters Type/Description

sessionID

Required (string)

 

Session identifier, the output of the Login method. Include sessionID into all your requests. Avangate throws an exception if the values are incorrect.  The sessionID expires in 10 minutes.

Order

Required (Object)

 

Object designed to collect all data necessary for an order, including billing, product/subscription plan and payment details.

To place an order with iDEAL, use IDEAL as the type of the PaymentDetails object and provide the following parameters as part of the PaymentMethod object:

  • ReturnURL - URL to which customers are redirected after a successful payment.
  • CancelURL - URL to which customers are redirected after a failed payment attempt.
  • BankCode - information retrieved based on the bank selected by the customer, from the array obtained after calling getIdealIssuerBanks method.

See code sample for more details. 

Response

Order information

Object

  Object containing order information.

Request

<?php

require ('PATH_TO_AUTH');

$Order = new stdClass();
$Order->RefNo = NULL;
$Order->Currency = 'EUR';
$Order->Country = 'NL';
$Order->Language = 'en';
$Order->CustomerIP = '91.220.121.21';
$Order->ExternalReference = NULL;
$Order->Source = NULL;
$Order->Affiliate = new stdClass();
$Order->Affiliate->AffiliateCode = 'Partner123'
$Order->Affiliate->AffiliateSource = 'MobilePlatform'
$Order->CustomerReference = NULL;
$Order->Items = array();
$Order->Items[0] = new stdClass();
$Order->Items[0]->Code = 'my_subscription_1';
$Order->Items[0]->Quantity = 1;
$Order->Items[0]->PriceOptions = NULL;
$Order->Items[0]->SKU = NULL;
$Order->Items[0]->Price = NULL;
$Order->Items[0]->CrossSell = NULL;
$Order->Items[0]->Trial = false;
$Order->Items[0]->AdditionalFields = NULL;
$Order->Items[0]->SubscriptionStartDate = NULL; //If empty or null, subscriptions become active when purchase is made.
$Order->BillingDetails = new stdClass();
$Order->BillingDetails->FirstName = 'Test Cosmin API';
$Order->BillingDetails->LastName = 'Cosmin API';
$Order->BillingDetails->CountryCode = 'NL';
$Order->BillingDetails->State = 'California';
$Order->BillingDetails->City = 'LA';
$Order->BillingDetails->Address1 = 'Address example';
$Order->BillingDetails->Address2 = NULL;
$Order->BillingDetails->Zip = '90210';
$Order->BillingDetails->Email = 'cosmin.deftu@avangate.com';
$Order->BillingDetails->Phone = NULL;
$Order->BillingDetails->Company = NULL;
$Order->DeliveryDetails = NULL;

$Order->PaymentDetails = new stdClass ();
$Order->PaymentDetails->Type = 'IDEAL';
$Order->PaymentDetails->Currency = 'EUR';
$Order->PaymentDetails->PaymentMethod = new stdClass ();
$Order->PaymentDetails->CustomerIP = '91.220.121.21';
$Order->PaymentDetails->PaymentMethod->ReturnURL = 'http://yourreturnurl.com';
$Order->PaymentDetails->PaymentMethod->CancelURL= 'http://yourcancelurl.com';
$Order->PaymentDetails->PaymentMethod->BankCode='RABONL2U+RAB'; // value retrieved based on the bank selected by the customer, from the array obtained after calling method getIdealIssuerBanks.

$Order->Promotions = NULL;
$Order->AdditionalFields = NULL;
$Order->LocalTime = NULL;
$Order->GiftDetails = NULL;

$jsonRpcRequest = array (
'method' => 'placeOrder',
'params' => array($sessionID, $Order),
'id' => $i++,
'jsonrpc' => '2.0'
);

$output = callRPC($jsonRpcRequest, $host);

$idealredirect = $output->PaymentDetails->PaymentMethod->Authorize->Href."/?avng8apitoken=".$output->PaymentDetails->PaymentMethod->Authorize->Params->avng8apitoken;

header('Location:' . $idealredirect);

Order object structure

Parameters

Parameters Type/Description
RefNo String
  The unique, system-generated identifier of a partner order.
Status String
  Order status. Possible values: CANCELED, REFUND, TEST, REJECTED, COMPLETE, SUSPECT, AWAITING_PAYMENT, PENDING_APPROVAL, DELIVERY_NEEDS_INFO.
OrderLockReason StringArray
 

The reason why the order is blocked in a certain status.

 

For AWAITING_PAYMENT order status, the OrderLockReason can be: UNPAID_PROFORMA, NOT_ENOUGH_CREDIT

 

For order status DELIVERY_NEEDS_INFO, the OrderLockReason can be:

  • REQUIRED_END_USER_INFORMATION,
  • REQUIRED_RESELLER_INFORMATION,
  • REQUIRED_VENDOR_DELIVERY_CONFIRMATION

Can be NULL.

ProformaNumber String
 

The unique number of the partner invoice associated with this order. Can be NULL.

TotalAmount double
  The total value of the order, including tax, but excluding partner margins and discounts.
Currency String
  The order currency ISO code.
TotalSubbscriptionsNumber Int
  The total number of subscriptions generated for the products included in the order. Can be NULL, if subscriptions have yet to be generated for an order.

 

Coupons

Overview

Use this section to handle coupons that are part of your promotions.

You can add, update or remove coupons that are configured on your promotional campaigns.

 

 

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 

Parameters

Use the parameters below to add new products into your 2Checkout catalog.

Parameters Type/Description

Product

 

Object / Required

Product details.

ProductCode

String / Required

 

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

ProductType

String / Optional

 

REGULAR or BUNDLE

Defaults to REGULAR.

ProductName

String / Required

 

The name of the product

ProductVersion

String / Optional

 

The product version number

PurchaseMultipleUnits Boolean / Optional
 

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

Object / Optional

 

Existing shipping class object with the structure detailed below.

 

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

GiftOption

Boolean / Optional

 

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

ShortDescription

String / Optional

 

The product's short description

LongDescription

String / Optional

 

The product's long description

SystemRequirements

String / Optional

 

System requirements

ProductCategory

String / Optional

 

Product category

Platforms

Array of Platform objects / Optional

 

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

 

PlatformName

String

 

 

The label of the platform per the product configuration.

 

Category

String

 

 

Platform category per product configuration. 

ProductImages

Array of Image objects / Optional

 

Image object. Details below. 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 2Checkout system.

TrialUrl

String (anyURI) / Optional

 

The URL from where shoppers can download trial software.

TrialDescription

String / Optional

 

Descriptive text entered for trials.

Enabled

Boolean / Optional

 

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

AdditionalFields

Array of AdditionalFieldAssigned objects / Optional

 

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

 

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.

Translations

Array of ProductTranslation objects / Optional

 

Details below.

 

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.

PricingConfigurations

Array of PricingConfiguration objects / Optional

 

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

 

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.

 

Regular

Array of objects

 

 

Details below.

 

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.

 

Code

String

 

 

Price option identifier.

 

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.

 

Renewal

Array of objects

 

 

Details below.

 

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.

 

Code

String

 

 

Price option identifier.

 

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.

 

PriceOptions

Array of AssignedPriceOptionGroup objects

 

 

Details below.

 

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.

 

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

Array of BundleProductCode objects / Optional

 

 

Details below.

 

ProductId

String

 

 

Unique, system-generated product ID.

 

ProductCode

String

 

 

Editable product code that you control.

Fulfillment

String / Required

 

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 / Required

 

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

 

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.

 

Code

String

 

 

Price option identifier.

 

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 / Required

 

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 / Optional

 

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

 

DeprecatedProducts

Array

 

 

Deprecated products.

 

BundleRenewalManagement String

 

 

Possible values:

  • GLOBAL
  • INDIVIDUAL

Can be NULL.

 

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.

 

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.

 

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.

 

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 period to unlimited or not.

 

RenewalEmails

Object

 

 

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

 

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.

 

ManualRenewal

Object (can be NULL)

 

 

Details below.

 

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

 

 

True or False.

 

AutomaticRenewal

Object (can be NULL)

 

 

Details below.

 

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

 

 

True or False.

FulfillmentInformation

Object / Optional

 

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

 

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.

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

Possible values:

  • DIRECT_RETURN
  • HEADER_REDIRECT
  • HTML_LINK
            URL String
    Website to which customers are redirected after a successful purchase. Example: "http://mySuccessURL.com"

 

CodeList 

Object (can be NULL)

 

 

Details below.

 

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)

 

 

Details below.

 

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)

 

 

Details below.

 

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.

 

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.

 

Retrieve price matrix for product

Overview

Use the GetPriceMatrix API call to retrieve details that are used to add or update a special price promotion.

Request parameters

Paremeters Type Required Description
sessionID String Required The unique identifier of the session.
PriceMatrixRequest Array of Objects Required Contains details that are used to add or update a special price promotion.

PriceMatrixRequestObject

Object Required  

ProductCode

String Required Product code for the price matrix.

PricingConfigurationCode

String Required Pricing configuration code for the price matrix, must be related to the product.

Response

Parameters Type Description
PriceMatrix Array of Objects Only for this type of promotion. It is generated by getPriceMatrix and used to set promotion special prices.
ProductCode String Product code for the price matrix.
PricingConfigurationCode String Pricing configuration code for the price matrix, must be related to the product.
OptionHash String Unique identifier of one combination of price configuration options.
Options Array of objects Describes price configuration options identified by OptionHash.

GroupName

String  

OptionText

String  
Prices Array of Objects Promotion prices by currency, price for default currency is required.

Value

Int Decimal.

Currency

String ISO currency code.

Request sample 

<?php

require('PATH_TO_AUTH');


$priceMatrixRequestObject1 = new stdClass;
$priceMatrixRequestObject1->productCode = "474FF7C0FD"
$priceMatrixRequestObject1->pricingConfigurationCode = "514EE48419"

$requestBody = [
    $priceMatrixRequestObject1
]

try {
    $priceMatrix = $client->addPromotion($sessionID, $requestBody);
} catch (SoapFault $e) {
    echo "NewPromotion: " . $e->getMessage();
    exit;
}

var_dump("Promotion", $priceMatrix);

A/B testing campaigns for promotions

Overview

Set up A/B testing campaigns for your promotions to identify what type of discount is more efficient.

Requirements & limitations

  1. You can test up to five promotions in one experiment.
  2. You can only select pairs of promotions that have at least one common product.
  3. Promotions applied through the COUPON parameter directly into the URL are not taken into account in the A/B test. "Auto-apply" promotions, however, are taken into account. Nonetheless, promotions with the “Auto-apply” function will not appear in the A/B testing available promotions drop-down.
  4. Only regular promotions are available for use in A/B testing campaigns.

Important

When the shopper places the order, the test is considered successful regardless of the order or payment status.

Setup

  1. Go to the Promotions page and define the promotions that you want to test. Choose between percentage-based discounts and fixed discounts.
  2. Navigate to the A/B Testing page and click the Campaigns tab.
  3. Scroll until you find the Promotions section and click Edit Campaign on an inactive campaign.
  4. Fill in the details of the new campaign, such as the campaign name, maximum number of tests and the date when the campaign should end.
  5. Create a new scenario by selecting a promotion from the drop-down menu and assigning the percentage of traffic you want to go through it. You can choose between existing promotions and assign them as A/B testing campaign variants. You can also test specific promotions against using no promotion at all by checking the No promotion option.
  6. Click Add Scenario.
  7. Repeat steps 5 and 6 until you have used the entire available traffic.
  8. Click Save campaign.
  9. Go back to the Campaigns tab and click the Start Campaign button when you want the campaign to begin.

Where can I see what promotions are used in my A/B tests?

When you open a promotion's configuration page, a notification informs you if the promotion is being used in an A/B test at that moment.

Product files manager

Overview

2Checkout supports automated delivery your digital product files to shoppers immediately after successfully placing an order. The files are stored on 2Checkout's secure, high bandwidth servers and scanned for malware before being available to your shoppers. You can assign multiple product files to one product in the download page, in case your delivery requires separate installation files. If your product has support for multiple operating systems: Windows, MAC OSX, etc, your shoppers can receive and download the product files for all supported versions.

Availability

All 2Checkout accounts.

Requirements

  1. Upload file size is limited. For larger files please contact 2Checkout.
  2. Total storage size is limited based on the type of your 2Checkout account. Contact 2Checkout for more details.
  3. Download URLs are limited in time and number of tries, to avoid the risk of stolen or resold codes.

Workflow

  1. Go to Setup -> Fulfillment-> Product files.
  2. Choose a file to upload and give it a display name.
  3. Add a description for the product file, that will be displayed in the download product page. HTML tags are allowed.
  4. Optionally, give the file a version.
  5. Click Add file.

Upload files and your shoppers get the option to download a fully registered version of your digital products immediately after successfully placing an order.
2Checkout sends shoppers emails including download links for the purchased products and they can instantly download these from our servers.

Security

Once the file is uploaded, 2Checkout scans it for malware. You can see the scan status of the file in the Scan status column:

  • Clean - Product file is clean and is being delivered to shoppers.
  • In progress - Product file is being uploaded and scanned. During a file update process, old files are still available to shoppers.
  • Under review - Product file is being reviewed by 2Checkout. During this process, old files are still available to shoppers.
  • Malicious - Product file was marked as malicious and is not being delivered to shoppers. If this status is a result of a file update, the last clean version is still available to your shoppers.

Update files

If you have a new version of a file that already exists, click Edit and follow instructions on screen to make the latest version available to your shoppers. This assumes that the key codes of the old version will still work with the new application.

Shoppers purchasing the Download Insurance Service always receive the latest available files. To keep multiple file versions available, add a new file with a different file version.

Assign new products

Assign a file to products from the Assign new products section in the edit file page. You can assign one file to multiple products by selecting the products available from the list to which the file should be assigned. Click here to learn how to assign multiple files to a single product.

When you assign a file to a new product, you need to select the delivery services for which the product file will be available. Keep in mind that the availability setup you choose impacts and overwrites your product fulfillment configurations. Check your product setup to make sure that the files you assigned have the desired download, Download Insurance Service and partner availability setup.

Requirements

You can assign files only to products with delivery type set to Fulfillment made through 2Checkout.

Assigned products

In the Assigned products section from the edit file page you can see the products to which each file is assigned.

The products are listed together with the delivery services available: download link, download insurance service (DIS), and partner (channel manager). Go to Product > Fulfillment in case you want to edit the file availability for delivery services, as changes are not allowed from the product edit page.

Advanced pricing options

Overview

Use pricing options to define complex pricing models for your products, adding cost components for each option or combination of options your shoppers can purchase. The capabilities at your disposal make it easy for you to easily adapt products or subscriptions to customer and market needs. 

You can configure pricing options and control: 

  • Billing cycles
  • Number of users or seats
  • Product type (basic, professional, etc.)
  • Support versions
  • Usage and overage options
  • And more

Availability

All 2Checkout accounts.

Requirements

Create at least a product/subscription plan before defining pricing.

Impact

Depending on your configuration, you can have a pricing option or a collection of pricing options that impact a single product/subscription plat or multiple products/subscription plans. 

Type

The type controls the mechanism of displaying pricing options to shoppers in the cart.

  1. Radio - single selection from a list of options. 
  2. Dropdown - single selection from a dropdown with options.
  3. Checkbox - multi-selection using checkboxes. 
  4. Scale - used for overage pricing.
  5. Pay per usage - metered billing. 

Currency

All currencies are mandatory when configuring pricing options. By default, the price is zero (0) and you need to change this value for all currencies available for your account. 2Checkout does not convert prices for product options automatically, you're required to specify each one manually. 

Set up pricing options

Navigate to the Pricing tab for any product/subscription plan you created, included those you're setting up for the first time. Scroll down to the bottom of the pricing details page, to the Pricing options groups area.

  • For Dynamic pricing (with base price) - set option costs at the level of each pricing options group.
  • For Static pricing (without base price) - set costs globally at the intersection of each possible option.

Radio, Checkbox, Dropdown pricing options 

  1. Click Create new pricing options groups.
  2. Enter the Group name (Required) - This label is displayed to shoppers in the cart and is included on invoices. 
  3. Enter the Group description (Optional) - This text is displayed to shoppers in the cart and is included on invoices. 
  4. Select the type: 
  • Radio
  • Checkbox
  • Dropdown 
  1. Enter a unique code (Required) - this is an identifier used in the 2Checkout API, product import/export, and for Buy Links query parameters.
  2. Add the first option.
  3. Enter the Option name (Required)
  4. Enter the Option description (Optional)
  5. Enter a unique code (Required) - this is an identifier displayed in the cart, included on invoices and for Buy Links query parameters.
  6. Define impact on the price per unit (available only for products with dynamic pricing (with base price) configurations).
  • Add to
    • Base price - Price impact can be either a fixed amount or a percentage.
    • Calculated sum - Price impact can be either a percentage.
  • Subtract from 
    • Base price - Price impact can be either a percentage.
    • Calculated sum
  1. Define impact on subscription lifecycle
  • Adds - Add the desired number of months to the default billing cycle interval of a subscription. Adding one month to a monthly subscription purchased on April 22nd pushes the expiration/renewal deadline to June 22nd. 
  • Subtracts - Subtract the desired number of months to the default billing cycle interval of a subscription. Subtracting 12 months from a 2-year subscription purchased on April 22nd, 2016, pushed the expiration/renewal deadline to April 22nd, 2017 instead of April 22nd, 2018. 
  • Non-recurring - Increase the lifetime of a subscription indefinitely at the moment of purchase, making it evergreen. 

Regular & Pay per use Scale pricing options

Metered billing is available only for Dynamic pricing (with base price) configurations.

  1. Click Create new pricing options groups.
  2. Enter the Group name (Required) - This label is displayed to shoppers in the cart and is included on invoices. 
  3. Enter the Group description (Optional) - This text is displayed to shoppers in the cart and is included on invoices. 
  4. Select the type: 
  • Scale - for tiered charges
  • Pay per use - for metered billing
  1. Enter a unique code (Required) - this is an identifier used in the 2Checkout API, product import/export, and for Buy Links query parameters.
  2. Add the first scale or tier.
  3. Specify the interval.
  4. Define impact on the price per unit of tiered/metered resources (available only for products with dynamic pricing (with base price) configurations).
  • Add - add a specific cost for each unit of tiered/metered resource. 
  • Subtract - subtract a specific price for each unit of tiered/metered resource.
  1. Define impact on subscription lifecycle
  • Adds - Add the desired number of months to the default billing cycle interval of a subscription. Adding one month to a monthly subscription purchased on April 22nd pushes the expiration/renewal deadline to June 22nd. 
  • Subtracts - Subtract the desired number of months to the default billing cycle interval of a subscription. Subtracting 12 months from a 2-year subscription purchased on April 22nd, 2016, pushed the expiration/renewal deadline to April 22nd, 2017 instead of April 22nd, 2018. 
  • Non-recurring - Increase the lifetime of a subscription indefinitely at the moment of purchase, making it evergreen. 

Unique codes 

The 2Checkout system automatically assigns unique identifiers/codes to all pricing option groups you create. The unique IDs enable you to create multiple pricing option groups with the same details, including, name, description, options, and pricing details and still manage them as standalone entities while having the 2Checkout system easily differentiate between them.

Multi-language pricing options

The 2Checkout system supports localization with Multi-language pricing options capabilities. Tailor pricing options and pricing options groups to specific markets in accordance with the languages activated for your account. Details including Group name and description as well as Option name and description, can all be unique in accordance with different languages. It's mandatory to at least set up Group name and description as well as Option name and description in English. When different languages are selected, the details will be adapted if you configured them. If not, the 2Checkout cart defaults to English.

Mark a pricing options group as required

You first need to configure a pre-selected option for a pricing options group. Then, when you check the Required option for a product:

  • You require shoppers landing on the product page to choose one of the pricing options configured in the group to continue to checkout.
  • 2Checkout takes into account the pre-selected option you set for all shoppers landing in the checkout, using the setup to calculate the price of the product. 

Custom, per-product pricing configuration groups

The 2Checkout platform enables you to customize pricing configuration groups per product. This means that a pricing configuration group associated with multiple products can feature custom values that impact only a single item. This functionality can be accessed by navigating to the Pricing tab, selecting the desired pricing configuration, scrolling down to the bottom of the screen, and clicking on the name of the item that you want to be customized from the list of active pricing options groups.

Check the checkbox next to the Use with different impact on price option, and define custom pricing that impacts just the product you're editing.

Hide pricing option groups

To improve account maintenance and product configuration management, 2Checkout allows you to hide one or multiple pricing configuration options to avoid frequent issues, caused by events such as:

  • Human errors
  • Product upload errors
  • Outdated product portfolio
  • Outdated custom 2Checkout developments

Important: You can only assign visible product pricing configurations to your products.

Filter pricing options

Follow the steps below to filter the existing pricing options on your account.

  1. Go to Setup -> Products.
  2. Click Edit on the product containing the pricing options that you want to view
  3. Go to the Pricing tab.
  4. Click Edit on the pricing configuration that you want to view.
  5. Use the Display filter to choose the pricing option groups that you want to view. You can view:
    • Visible items
    • Hidden items
    • All items

Hide/show pricing options

Follow the steps below to hide or display specific pricing option groups.

  1. Go to Setup -> Products.
  2. Click Edit on the product containing the pricing options that you want to view
  3. Go to the Pricing tab.
  4. Click Edit on the pricing configuration that you want to view.
  5. Use the checkboxes to select the pricing option groups that you want to hide.
  6. Click Hide selected.
    • To unhide hidden pricing option groups, follow the same steps, and click Unhide selected.

Important: Pricing options visibility is product-specific. If Product A and Product B both have Pricing Option X assigned to them, hiding Pricing Option X from Product A does not hide it from Product B as well.

FAQ

  1. Can I delete a pricing options group?
    • This functionality is not available at this point in time. You can deactivate pricing group options at the product/subscription plan level, and they will no longer impact the price of that specific item. Alternatively, edit unused, irrelevant or obsolete pricing group options by changing parameters including Group name, Group description, and options type, to obtain completely new options.
  2. Can I modify pricing options?
    • All pricing options you created are available in the Pricing options groups area under the Pricing tab for all of your products. You can always select the Group name/label in order to access an overview of the options, and click on edit to alter the values as needed.
  3. Can the same pricing options group be applied to different products?
    • Keep in mind that the settings are global, so if you edit them for one product, they will automatically impact all others that they're associated with.
  4. Can I use multiple pricing options groups for the same product?
    • Products sold through 2Checkout support multiple pricing variations simultaneously, such as volume discounts and pricing options.

Shipping in API

Overview

Use the API methods displayed above 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