Skip to main content

Subscription import

Overview

Add/import subscriptions in the 2Checkout system. Include card data with your subscription import only if you contacted 2Checkout to enable this functionality for your account. Otherwise, the import process results in a failure. Contact 2Checkout or your account manager directly for more details.

Parameters

Parameters Type/Description

ExternalSubscriptionReference

Required (string)

 

Unique identifier for your subscription. Mandatory when importing subscription data.

StartDate

Required (string)

 

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

ExpirationDate

Required (string)

 

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

Product

Required (object)

 

The product for which 2Checkout 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

Required (object)

 

The end user of the subscription. Details below.

 

Person

Object

    Details below. 

 

 

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 2Checkout system uses for communications.

DeliveryInfo

Optional (object)

 

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

 

Description

String

 

 

Delivery description.

 

Codes

Array of objects

    Details below. 

 

 

Code

String

 

 

 

Delivered activation key/code.

 

 

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

      Details below. 

 

 

 

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.

PartnerCode

Optional (string)

 

  • Empty: for ecommerce orders
  • Partner Code (mandatory)

ExternalCustomerReference

Optional (string)

 

Customer identifier you control.

SubscriptionValue

Optional (double)

 

Subscription value. The total costs incurred by the customer through the lifecycle of the subscription before you imported the item into the 2Checkout system.

When you send this parameter you must accompany it by ValueCurrency.

SubscriptionValueCurrency

Optional (string)

 

Mandatory when you also send the Value parameter. The currency associated to the subscription value.

AdditionalInfo

Optional (string)

 

Extra information that you can attach to a subscription, such as the source of the initial purchase.

NextRenewalPrice

Optional (double)

 

The future costs that subscribers would incur when their subscriptions are renewed. When provided, you must accompany it by NextRenewalPriceCurrency and CustomPriceBillingCyclesLeft.

NextRenewalPriceCurrency

Optional (string)

 

Mandatory when you send CustomPriceBillingCyclesLeft. The currency associated with the subscription next renewal price value.

CustomPriceBillingCyclesLeft

Optional (string)

 

Mandatory when you send NextRenewalPrice. 2Checkout applies the next renewal price to the number of billing cycles you define.

Test Optional (integer)
  Available only for eStore subscriptions. Use 1 to import a test subscription. Exclude the parameter or set the value to 0 to import regular subscriptions. Test subscriptions enable you to try out flows like manual and auto renewal, and upgrade.

CardPayment

Optional (object)

 

Include payment (credit/debit card) information that 2Checkout uses for recurring billing to renew imported subscriptions. Importing subscriptions with payment data is available only to eligible 2Checkout accounts. Contact 2Checkout directly for additional details.

Card payment

Add credit/debit card details when importing subscriptions. 2Checkout uses payment information in the recurring billing process. 

For imports of test subscriptions, use the credit card information from this article.

Parameters Type/Description

CardPayment

Object

CardNumber

Required (string)

 

The credit/debit card number.

CardType

Required (string)

 

VISA, VISAELECTRON, MASTERCARD, MAESTRO, AMEX, DISCOVER, DANKORT, CARTEBLEUE, JCB.

ExpirationYear

Required (string)

 

The year in which the card expires.

ExpirationMonth

Required (string)

 

The month in which the card expires.

HolderName

Required (string)

 

Card holder name.

CCID

Required (string)

 

Credit Card Identification - an extra ID printed on the card, usually a 3-4 digit number, the CVC2/CVV2.

HolderNameTime

Required (int)

 

The interval of time in seconds in which shoppers enter their name in the HolderName field. An abnormally short interval is usually a red flag for fraud attempts.

AutoRenewal

Optional (bool)

 

True or false, depending on whether the customer or you enabled or disabled subscription auto-renewals.

CardNumberTime

Optional (int)

 

The interval of time in seconds in which shopper enter their card number in the CardNumber field. An abnormally short interval is usually a red flag for fraud attempts.

Can be NULL, but not a negative number.

 

 

Save prices

Overview

Use the savePrices method to update product prices for a specific pricing configuration.

Parameters

 

Parameters Type/Description

sessionID

Required (string)

 

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

Prices

BasicPrice Object

 

Details below.

Quantities

Object

 

Details below.

PriceOptions

Required (PriceOptionsAssigned object)

 

Details below.

PricingConfigCode

Required (string)

 

System-generated unique pricing configuration code. Read-only.

type

Require (string)

• REGULAR

• RENEWAL

 

Parameters Type/Description

BasicPrice

Object

Currency

String

 

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

Amount

Float

 

Basic price.

 

Parameters Type/Description

Quantities

Object

MinQuantity

String

 

The minimum quantity of volume discounts. Default is 1.

MaxQuantity

String

 

The maximum quantity of volume discounts. Default is 99999.

 

Parameters Type/Description

PriceOptionsAssigned

Object

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.

Response

bool(true)
<?php
require ('PATH_TO_AUTH');

/**
 * ProductCode = 'PDOWNFILE'
 * Default currency: EUR
 *
 * Dynamic pricing configuration
 *
 * Send two prices, including the required one for the default currency
 * The method will append the prices for the sent entries, without removing the previous values
 *
 * If the quantities intervals were not defined then they will be set.
 * If the quantities overlap with existing defined intervals, an Exception will be thrown.
 */
 
 
// make call
$Prices = array();
 
$Price = new stdClass(); // BasicPrice object
$Price->Amount = 140;
$Price->Currency = 'USD';
$Prices[] = $Price;
 
$Price = new stdClass(); // BasicPrice object
$Price->Amount = 80;
$Price->Currency = 'EUR';
$Prices[] = $Price;
 
$Quantities = new stdClass(); // QuantityInterval object
$Quantities->MinQuantity = 1;
$Quantities->MaxQuantity = 10;
 
$PriceOptions = array();
 
$PricingConfigurationCode = '5553603382';
$type = 'regular';
 
$jsonRpcRequest = array (
    'jsonrpc' => '2.0',
    'id' => $i++,
    'method' => 'savePrices',
    'params' => array($sessionID, $Prices, $Quantities, $PriceOptions, $PricingConfigurationCode, $type)
);

$response = callRPC((Object)$jsonRpcRequest, $host);
var_dump ($response);
 
// will output:
// bool(true)

 
/**
 * ProductCode = 'PDOWNFILE'
 * Default currency: EUR
 *
 * Flat pricing configuration
 * Has the VOLTAGE pricing option group assigned and marked as required.
 * If prices are sent WITHOUT setting the pricing option group and options will set the price but without setting values for the options prices.
 */
 
// Call the login method for authentication
$string = strlen($merchantCode) . $merchantCode . strlen(gmdate('Y-m-d H:i:s')) . gmdate('Y-m-d H:i:s');
$hash = hash_hmac('md5', $string, $key);
 
$i = 1; // counter for api calls
$jsonRpcRequest = new stdClass();
$jsonRpcRequest->jsonrpc = '2.0';
$jsonRpcRequest->method = 'login';
$jsonRpcRequest->params = array($merchantCode, gmdate('Y-m-d H:i:s'), $hash);
$jsonRpcRequest->id = $i++;
$sessionID = callRPC($jsonRpcRequest, $host);
 
// make call
$Prices = array();
 
$Price = new stdClass(); // BasicPrice object
$Price->Amount = 80;
$Price->Currency = 'EUR';
$Prices[] = $Price;
 
// if PricingOption group is not required, will set price for combination of QuantityInterval - no-pricing-option-value.
$PriceOptions = array();
 
// if PricingOption group is required, then send options by assigning a PriceOptionsAssigned object (group code and options)
// $optionAssigned = new stdClass(); // PriceOptionsAssigned
// $optionAssigned->Code = 'VOLTAGE';
// $optionAssigned->Options = array('220V'); // radio option group
// $PriceOptions = array($optionAssigned);
 
$Quantities = new stdClass(); // QuantityInterval object
$Quantities->MinQuantity = 1;
$Quantities->MaxQuantity = 99999; // default maximum value
 
$PricingConfigurationCode = '54AA62CA31'; // flat pricing configuration
$type = 'regular';
 
$jsonRpcRequest = array (
    'jsonrpc' => '2.0',
    'id' => $i++,
    'method' => 'savePrices',
    'params' => array($sessionID, $Prices, $Quantities, $PriceOptions, $PricingConfigurationCode, $type)
);
 
$response = callRPC((Object)$jsonRpcRequest, $host);
var_dump ($response);
 
 
/**
 * ProductCode = 'PDOWNFILE'
 * Default currency: EUR
 *
 * Flat pricing configuration
 * Has the COLOR and scalenotmandatory pricing option group assigned and marked as required.
 */
// Call the login method for authentication
$string = strlen($merchantCode) . $merchantCode . strlen(gmdate('Y-m-d H:i:s')) . gmdate('Y-m-d H:i:s');
$hash = hash_hmac('md5', $string, $key);
 
$i = 1; // counter for api calls
$jsonRpcRequest = new stdClass();
$jsonRpcRequest->jsonrpc = '2.0';
$jsonRpcRequest->method = 'login';
$jsonRpcRequest->params = array($merchantCode, gmdate('Y-m-d H:i:s'), $hash);
$jsonRpcRequest->id = $i++;
$sessionID = callRPC($jsonRpcRequest, $host);
 
// make call
$Prices = array();
 
$Price = new stdClass(); // BasicPrice object
$Price->Amount = 10;
$Price->Currency = 'EUR';
$Prices[] = $Price;
 
$optionAssigned = new stdClass(); // PriceOptionsAssigned
$optionAssigned->Code = 'COLOR'; // checkbox pricing option group, multiple values are allowed
$optionAssigned->Options = array('cyan', 'magenta');
$PriceOptions = array($optionAssigned);
 
$optionAssigned = new stdClass(); // PriceOptionsAssigned
$optionAssigned->Code = 'scalenotmandatory'; // interval pricing option group
$optionAssigned->Options = array('scalenotmandatory-1-5');
$PriceOptions = array($optionAssigned);
 
$Quantities = new stdClass(); // QuantityInterval object
$Quantities->MinQuantity = 1;
$Quantities->MaxQuantity = 99999; // default maximum value
 
$PriceOptions = array();
 
$PricingConfigurationCode = '54AA62CA31'; // flat pricing configuration
$type = 'regular';
 
$jsonRpcRequest = array (
    'jsonrpc' => '2.0',
    'id' => $i++,
    'method' => 'savePrices',
    'params' => array($sessionID, $Prices, $Quantities, $PriceOptions, $PricingConfigurationCode, $type)
);
 
$response = callRPC((Object)$jsonRpcRequest, $host);
var_dump ($response);
?>

Orders with dynamic product information

Overview

Dynamic products are a mechanism designed to enable you to pass purchase information directly from your system into 2Checkout without first configuring the products in your Control Panel or via API. Bypass the need for handling 2Checkout's catalog products and create orders with product information sent dynamically via API or through ConvertPlus URL parameters. Receive payments from your customers by using the products defined in your own system, or in your shopping cart applications.

Availability

This functionality is available only for merchants on the 2Sell and 2Subscribe accounts (PSP business model), for orders that are placed both through ConvertPlus/InLine ordering engines and API calls.

Dynamic Products Parameters

2Checkout allows you to create orders and receive payments by using the following product types: 

  • PRODUCT - Item purchased by the customer. It is mandatory to send the name and price of the product item.
    • Products can have pricing and recurring options assigned.Picture1.png
  • TAX - Additional fee/charge that will be considered 'Tax' in the ordering process. Taxes may have recurring options assigned.
  • SHIPPING - Item that contains the name and amount corresponding to the shipping method.
  • COUPON - Item that contains the discount to be applied to the entire order.

Orders with dynamic information allow you to control, without an existing setup, the following product attributes:

  • Price
    • You have full control over the price applied to the purchase. Example: $20 price for product A.
  • Product pricing options (together with name and prices)
    • You can pass the pricing options information dynamically. Example: A pricing option named users that adds a surcharge of $5 for option 3-5 users, and $10 for option 5-10 users.
  • Product purchase type
    • Set the purchase type (tangible or intangible). Example: intangible for products delivered electronically.
  • Recurring options
    • Set the product recurring options that include the contract length and unit, cycle length and unit, and recurring amount to be charged. Example: a recurring charge of $20, on a monthly basis for the next 2 years.

Reporting dynamic products

Orders placed with dynamic product information are included in your account reports and can be found in your Order Search area of the Control Panel, and in the Products Reports based on which your sales invoices are generated.

Dynamic products are not displayed in the Products section of the 2Checkout Control Panel.

How to place orders with dynamic information

Orders with dynamic products via API

Place orders via 2Checkout's latest API version and send the product information as part of the call. Create orders with dynamic product information, that contain the following product types: product, tax, shipping, and coupon.

Requirements 

Product code must be sent as null. The order currency must match the payment currency, otherwise, an error is thrown. The isDynamic parameter of the Items object must be true.

Limitations 

Placing an order with both catalog and dynamic product information is not possible. Recurring options can be set only for purchase type PRODUCT and TAX.

How to test it?

You can place test orders via API with dynamic product information. Set the Payment details type to TEST in order to create an order in a test environment.

Place your first order with dynamic products

Read the documentation for guidance:

Orders with dynamic products via convertplus

Use ConvertPlus to create a dynamic ordering process by passing the product information to ConvertPlus through buy links parameters. With ConvertPlus dynamic ordering, you control the product name, price, recurring and pricing options, and many other product properties.  

Learn more about ConvertPlus buy link parameters and dynamic ordering.

Alternatively, you can generate buy links for dynamic products directly from your Control Panel. Learn more about ConvertPlus dynamic ordering via Control Panel.

Search leads

Overview

Use the searchLeads method to retrieve leads created in the 2Checkout system.

Request Parameters

Parameters Required Type/Description
Page Required String. The page in the result set.
Limit Required Number. The number of items to be retrieved on each page.

Request Example

<?php

require ('PATH_TO_AUTH');

$LeadSearchInput = new stdClass();

$LeadSearchInput->Type = "New";
$LeadSearchInput->Language = "BG";
$LeadSearchInput->Country = "RO";
$LeadSearchInput->Page = 1;
$LeadSearchInput->Limit = 200;

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

var_dump (callRPC((Object)$jsonRpcRequest, $host, true));

Response Example

class stdClass#4 (2) {
  public $Items =>
  class stdClass#5 (1) {
    public $0 =>
    class stdClass#6 (14) {
      public $LeadCode =>
      string(10) "60E6C4B574"
      public $GeneratedFrom =>
      string(3) "API"
      public $CartId =>
      string(11) "CartIdValue"
      public $Currency =>
      string(3) "EUR"
      public $Language =>
      string(2) "BG"
      public $ExternalReference =>
      string(18) "REST_API_3CHECKOUT"
      public $MachineId =>
      string(6) "123asd"
      public $LocalTime =>
      string(19) "2019-11-05 16:48:28"
      public $Items =>
      class stdClass#7 (1) {
        public $0 =>
        class stdClass#8 (15) {
          public $Code =>
          string(10) "04C26C50F8"
          public $Quantity =>
          string(1) "2"
          public $SKU =>
          NULL
          public $Name =>
          string(5) "softy"
          public $Description =>
          NULL
          public $IsDynamic =>
          bool(false)
          public $Tangible =>
          bool(false)
          public $PurchaseType =>
          string(7) "PRODUCT"
          public $PriceOptions =>
          NULL
          }
          public $RecurringOptions =>
          class stdClass#10 (5) {
            public $CycleLength =>
            NULL
            public $CycleUnit =>
            NULL
            public $CycleAmount =>
            NULL
            public $ContractLength =>
            NULL
            public $ContractUnit =>
            NULL
          }
          public $RenewalInformation =>
          class stdClass#11 (1) {
            public $SubscriptionReference =>
            NULL
          }
          public $MarketingCampaigns =>
          class stdClass#12 (3) {
            public $Type =>
            string(2) "23"
            public $ParentCode =>
            string(1) "m"
            public $CampaignCode =>
            string(2) "23"
          }
          public $Price =>
          class stdClass#13 (2) {
            public $Amount =>
            string(2) "20"
            public $Type =>
            string(6) "CUSTOM"
          }
          public $AdditionalFields =>
          NULL
          public $SubscriptionStartDate =>
          string(19) "2019-11-05 16:48:28"
        }
      }
      public $BillingDetails =>
      class stdClass#14 (12) {
        public $FirstName =>
        string(8) "Customer"
        public $LastName =>
        string(9) "2Checkout"
        public $Phone =>
        NULL
        public $Company =>
        NULL
        public $FiscalCode =>
        string(8) "32423423"
        public $Email =>
        string(22) "customer@2checkout.com"
        public $Address1 =>
        string(12) "Test Address"
        public $Address2 =>
        NULL
        public $City =>
        string(2) "LA"
        public $Zip =>
        string(5) "12345"
        public $CountryCode =>
        string(2) "RO"
        public $State =>
        string(2) "CA"
      }
      public $DeliveryDetails =>
      class stdClass#15 (12) {
        public $FirstName =>
        string(8) "Customer"
        public $LastName =>
        string(9) "2Checkout"
        public $Phone =>
        NULL
        public $Company =>
        NULL
        public $FiscalCode =>
        string(8) "32423423"
        public $Email =>
        string(22) "customer@2checkout.com"
        public $Address1 =>
        string(12) "Test Address"
        public $Address2 =>
        NULL
        public $City =>
        string(2) "LA"
        public $Zip =>
        string(5) "12345"
        public $CountryCode =>
        string(2) "RO"
        public $State =>
        string(2) "CA"
      }
      public $DeliveryInformation =>
      class stdClass#16 (1) {
        public $ShippingMethod =>
        class stdClass#17 (1) {
          public $Code =>
          string(5) "sdfsd"
        }
      }
      public $PaymentDetails =>
      class stdClass#18 (4) {
        public $Type =>
        string(2) "CC"
        public $Currency =>
        string(3) "EUR"
        public $PaymentMethod =>
        class stdClass#19 (2) {
          public $RecurringEnabled =>
          bool(false)
          public $CardPayment =>
          class stdClass#20 (1) {
            public $InstallmentsNumber =>
            string(2) "23"
          }
        }
        public $CustomerIP =>
        string(7) "1.2.3.4"
      }
      public $Promotions =>
      array(1) {
        [0] =>
        string(0) ""
      }
    }
  }
  public $Pagination =>
  class stdClass#21 (3) {
    public $Page =>
    int(1)
    public $Limit =>
    int(200)
    public $Count =>
    int(1)
  }
}

User roles

Overview

User privileges define the access level of your Merchant Control Panel users to specific 2Checkout features and modules.

A collection of privileges is called a user role. You can define your own user roles based on specific access levels that you want to grant to your users. You can assign multiple roles to a user.

You need to have two factor authentication enabled in order to add or edit information in the Settings area of your Merchant Control Panel.

Add/Edit users

Follow the steps below to add/edit new users:

  1. Log in to the 2Checkout Merchant Control Panel using your master account.
  2. Navigate to the Settings cogwheel in the top right corner.
  3. Click on User Management.

user roles_1.png

4. On the User Management page, click on Add user.

user roles_2.png

5. On the Add user page, fill in the new user account details: Username, Email, First name, Last name, Password, Password lifetime, User status, User role.

user roles_3.png

6. To edit a user, click on the Edit icon on the Users page.

edit user_1.png

7. Click Save.

User management options

  • You can use the strong password generator that complies with the above requirements to make sure you're using a secure password.
  • The user is required to change the password after the first login. This option is enabled by default.
  • The reset password option allows you to disable the old password and the user will receive an e-mail for setting a new password.
  • You can set passwords to expire in a number of days of your choosing. By default, passwords expire in 90 days.
  • Passwords never expire invalidates the password expiration setting. Disabled by default.

Add/Edit user roles

Follow the steps below to add or edit user roles:

  1. Log in to the 2Checkout Merchant Control Panel using your master account.
  2. Navigate to the Settings cogwheel in the top right corner.
  3. Click on User Management.
  4. On the User Management page, click on the Roles tab.
  5. On the Roles page, click on Add role.

edit user_2.png

6. On the Add role page, fill in the role info (Role name, Role description), and then select the privileges you want to assign to that specific role.

edit user_3.png

7. To edit a role, click on the Roles tab and click on the Edit icon next to the role you want to change (see image at Step 5 above).

8. On the Edit role page, edit/change the role info (Role name, Role description) and then check or uncheck the privileges you want to assign to the role.

edit user_4.png 

9. Click the green Save button at the bottom of the page to save/update the changes.

Assign user roles

Follow the steps below to assign roles to the existing users.

  1. Log in to the 2Checkout Merchant Control Panel using your master account.
  2. Navigate to the Settings cogwheel in the top right corner.
  3. Click on User Management.
  4. On the User Management page, click on the Users tab.
  5. Identify the user account that you want to assign a role to and click Edit.

edit user_1.png

6. On the Edit User page, you can update the User info and also assign/check a role to the user or change the role already assigned to that particular user. 

assign role_1.PNG

7. Click Save to update changes.

Privileges

Setup

Privilege name Description
Getting started Allows users to access the Getting Started screen on the Dashboard and request the account to Go Live.
Add/Edit products Controls access to the Products area.
Edit product pricing Controls editing privileges of per-product pricing configurations.
Gift products Controls access gift product settings.
Product Upgrade Settings Controls access to the product upgrade settings.
Electronic delivery Controls access to product fulfillment settings.
Download Insurance Service Controls access to Download Insurance Service settings.
Shipping Controls access to product shipping options.
Price lists Controls access to product price list settings.
Subscriptions Controls access to subscription renewal settings.
Generate links - eStore Controls access to the buy link generation options.
Interface templates - eStore Controls access to the cart templates customization options.
Order Additional Fields Controls access to the additional order fields settings.
Ordering options - settings Controls access to Order settings.
Ordering options - aftersale message Controls access to the After-sale message settings.
Ordering options - web analytics Controls access to the Web analytics settings.
Metered Billing Controls access to usage billing settings.
Manage Financial Settings Controls access to the account's financial settings.

Marketing Tools

Privilege name Description
Affiliates Management Controls access to the 2Checkout Affiliate Network settings.
Promotions Controls access to promotion settings.
Cross-Selling and Up-Selling Controls access to cross-selling and up-selling promotion settings.
Email marketing program Controls access to email marketing settings.
Channel resources - affiliates Controls access to affiliate channel resources.
Channel resources - partners Controls access to partner channel resources.
Leads Management Controls access to lead management settings.
View Avangate Polls Allows 2Checkout Control Panel polls to be displayed to users whose privileges are governed by the assigned role. Uncheck to hide polls from users.
Email editor - email viewing rights Allows users to see emails in the Email editor.
Email editor - email editing rights Allows users to edit emails in the Email editor.
Retention tools

Only accounts that have the Retention tools package enabled can see this privilege displayed.

Allows users to view and manage retention campaigns, and provides access to Enrollment and Churn prevention reports.

Orders & Reports

Privilege name Description
Accounting Controls access to Accounting, Vendor 2 Vendor, and Purchase Order settings.
View and search eStore order data Controls access to Order Search.
Executive Reports

Controls access to:

  • Financial Reports
  • Executive Reports
  • Order statistics
  • Products report
  • Product options
  • Additional Fields Report
Business Dynamics Controls access to Custom Reports.
Promotions Reports Controls access to marketing reports.
A/B Testing Controls access to A/B testing campaign settings.
Aggregate Reports Allows the aggregation of report data from multi-accounts.
Customer support - eStore Grants limited order search options for customer support agents.
Partner order search Allows users to search and view partner orders.
Customer support - partners Grants limited partner order search options for customer support agents.
Delivery confirmations Controls access to Fulfillment confirmation settings.
Proforma payment confirmation Allows users to confirm proforma payments for direct partner payments.
Manage order refunds Allows users to request refunds or order cancelations. Use in conjunction with the Customer support privileges to enable access to order data.
Access refund requests area Allows access to the Refunds section, listing all refund requests. Use in conjunction with Manage order refunds and Customer support privileges to enable editing privileges.
Customers Controls access to customer management settings.
Blank & partial searches for eStore Allows blank and partial order searches.
Affiliates Reports Controls access to Top Affiliates and Affiliate Sales reports.
Vendor to Affiliate Payments Allows users to make payments to top-performing affiliates.
API Logs Controls access to API & webhooks log monitor reports.
Enable delivery confirmation approval Allows users to approve/reverse orders that require vendor delivery confirmation.
Renewal Authorizations Report Allows users to generate, view, and export authorization reports.
Restrict export customer details Allows users to get every detail in the order search export (using the full option template) when disabled.
Cohorts Reports Allows users to generate, view, and export cohort reports.
Subscription Management Controls access to subscription management settings.
Subscription Pricing Controls access to the Update credit card and Change current billing amount options. Use in conjunction with the Subscription Management privilege.
Partner Reports Controls access to the Top Partners report.
Place orders on behalf of customers Allows users to place orders on behalf of customers.
Additional fields report Controls access to the Additional fields report.
Users Activity Controls access to the Users Activity report.
Delete user comments Allows users to delete their own comments from orders.

Account Settings

Privilege name Description
Account information Controls access to the Account information section.
User roles management Controls access to user roles management settings.
Users management Controls access to user management settings.
System settings Controls access to system settings, such as time zone, IPN, LCN, and other notifications.
Financial information Allows users to manage bank and payment information.
Salesforce settings Controls access to Salesforce integration settings.

Partner Management

Privilege name Description
Restrict to own partners Limits user access to partner accounts where they are assigned as account managers or backup account managers.
Proforma invoices Controls access to partner invoices.
Partners management Controls access to partner management settings.
Partnership programs management Controls access to partner programs settings.
Place order Allows users to place orders on behalf of partners.
Receive order notification Allows users to receive notifications from partner orders.
Refund management Allows users to manage partner refunds.
Refund history Allows users to see previous partner refund requests.

Third-Party Apps

Privilege name Description
Use a third-party app Allows users to use third-party apps.
Manage third-party apps Controls access to third-party apps settings.

 

Start flipping the channel

If you are a software company, it's estimated that channel sales are over 50% of your revenue mix. But this number is shrinking... fast, especially in the new world of services and recurring revenues.

With SaaS and other direct-to-customer offerings, traditional channels are being disrupted and new ones are emerging to take their place. Gaining distribution, lowering customer acquisition costs, increasing client retention and better brand control are the hallmarks of the new order.

Learn practical tips and advice from R "Ray" Wang, the chief guru at Constellation Research, and apply them to your 2016 planning.

Watch this webinar and learn how to:

  • Acquire and grow the right channels for distribution; track the right KPIs
  • Maximize your channel revenue in this new competitive landscape
  • Minimize channel conflict and maximize margins
  • Increase your SaaS renewals via channels
image-top-right.jpg

 

Fiscal compliance (for merchants in/selling in US only)

​This guide provides an overview of the financial compliance regulations that apply to merchants in the United States. It contains details about the 1099-K, W8 and W9 forms that merchants with a legal entity in the US or selling in the US are required to fill in for submission to the IRS.

 

Shipping method

Overview

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

Search shipping method

Shipping method object

Parameters   Type/Description
Items   Array of objects
      Contains shipping methods objects.
  ShippingMethod

Shipping method object.

Details below.

          Name String
      Shipping method name that you define when creating the method.
          Code String
      System-generated identified for the shipping method.
          TrackingURL String
      URL assigned to the shipping method. Provided to your customers that purchase physical products.
          BasePrice String
      Base fee attached to the shipping method, that will be charged to customers when shipping method is available in cart, regardless of their country, product value or weight.
          Currency String
      Currency in which the base fee is expressed. Example: 'USD'.
           Active Boolean
     

Possible values:

  • TRUE - if shipping method is active.
  • FALSE - if shipping method is inactive.
    Availability Strings
     

Defined where the shipping method is active.

Possible values:

  • ALL - all delivery countries.
  • CUSTOM - selected delivery countries.
  • HOME - only your home country.
    Countries Array of objects
      Countries where the shipping method applies.
                  CountryCode String
                  Two-letters country code.
                  Surcharge String
      Surcharge defined for each country.
    Surcharge Array of objects
      Additional fee assigned to the shipping method.
                 Type String
                 

Order property based on which the surcharge is added.

Possible values:

  • PRICE -  surcharge is based on total order amount.
  • WEIGHT -  surcharged is based on total order weight.
                 From Float
                  Lower interval limit.
                 To Int
      Higher interval limit.
                  Amount Int
      Surcharge defined based on order price/weight.
                 ApplyTo String
     

Possible values:

  • interval - surcharge is added for a given interval. Example: from 1 kg to 4kg.
  • unit - surcharge is added for each additional unit. Example: $5 for each unit over 4 kg.
  Pagination Object
      Pagination filters.
    Page Int
      Number of pages used for displaying the results.
    Limit Int
      Number for limiting the results.
    Count Int
      Total number of results.

 

Convert a trial

Overview

Use the convertTrial method to convert a trial to a paid subscription. In the eventuality of a conversion failure, you can use convertTrial again for the same trial subscription only after you let 24 hours pass since the initial attempt. The 2Checkout system attempts to automatically convert trials before they expire to full subscriptions unless you made an attempt that failed less than 24 hours before the scheduled expiration deadline.

In case the trial conversion fails due to a transaction issue, the 2Checkout system sends unfinished payment follow-up emails to customers, provided that you set up lead management for your account.

Parameters

Parameters Type/Description

SubscriptionReference

Required (string)

 

Unique, system-generated subscription identifier of the trial that you convert to a paid subscription. The unique identifier from the 2Checkout system:

  • Must belong to an active trial subscription with the recurring billing system (auto-renewal) enabled.
  • The initial order placed to access the trial subscription must be finalized (status Finished).

Note: This method does not work for canceled and/or expired trial subscriptions.

 

2Checkout charges customers using the payment data attached to the trial subscription. In the case of credit/debit cards, if customers update their payment information in myAccount or if you update these details on behalf of your subscribers, the 2Checkout system uses the latest card info provided to charge subscription renewals.

ExtendSubscriptionFromPaymentDate

Optional (boolean)

 

true = Set the moment of the conversion as the start date of the full subscription. 

Example: A 7-day trial purchased on October 29 for a monthly subscription converted on October 30 with $ExtendSubscriptionFromPaymentDate = true; features the following Billing cycle expiration: Nov 30, 2013, and 2Checkout scraps the initial trial expiration date November 5.

 

false = Set initial trial expiration deadline as the full subscription start date. 

Example: A 10-day trial purchased on October 29 for a monthly subscription converted on October 30 with $ExtendSubscriptionFromPaymentDate = false; features the following Billing cycle expiration: December 9, with the first month period of the subscription added to the trial lifetime stretching until November 8.

 

Can be NULL. If not sent, the default value is false.

Response

Parameters Type/Description

Boolean

true or false depending on whether the changes were successful or not.

Request


<?php

require ('PATH_TO_AUTH'); 
 
$SubscriptionReference = 'BF44555C6C';

$ExtendSubscriptionFromPaymentDate = true; //false can also be used if you want the subscription start date to be the moment when the trial was set to initially expire.

$jsonRpcRequest = array (
'method' => 'convertTrial',
'params' => array($sessionID, $SubscriptionReference, $ExtendSubscriptionFromPaymentDate),
'id' => $i++,
'jsonrpc' => '2.0');

var_dump (callRPC((Object)$jsonRpcRequest, $host, true));

 

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