Skip to main content

Retrieve orders without partner invoice

Overview

Use this method to list all orders that have yet to be included in a partner invoice.

Requirements

This method requires you to set a specific partner using setPartner.

Parameters

Parameters Type/Description
sessionID Required (String)
  Session identifier, output of the Login method. An exception is thrown if the values are incorrect.

Response parameters

Parameters Type/Description
Order information Object

Request Sample

<?php

require ('PATH_TO_AUTH');  // Authentication example: https://knowledgecenter.avangate.com/Integration/Channel_Manager_API/JSON-RPC/02Authentication
require ('PATH_TO_SET_PARTNER'); // setPartner example: https://knowledgecenter.avangate.com/Integration/Channel_Manager_API/JSON-RPC/06Reference/Partner/00Set_partner

$jsonRpcRequest = array (
'jsonrpc' => '2.0',
'id' => $i++,
'method' => 'getOrdersWithoutProforma',
'params' => array($sessionID)
);
var_dump (callRPC((Object)$jsonRpcRequest,$host));

Response sample

{
    "RefNo": "112579424",
    "OrderNo": 3167,
    "ExternalReference": null,
    "ShopperRefNo": null,
    "Status": "PENDING",
    "ApproveStatus": "WAITING",
    "VendorApproveStatus": "OK",
    "MerchantCode": "CHAOSGRO",
    "Language": "en",
    "OrderDate": "2020-01-17 12:53:47",
    "FinishDate": null,
    "Source": null,
    "AffiliateSource": null,
    "AffiliateId": null,
    "AffiliateName": null,
    "AffiliateUrl": null,
    "RecurringEnabled": false,
    "HasShipping": false,
    "BillingDetails": {
        "FiscalCode": null,
        "TaxOffice": null,
        "Phone": "830-485-6136",
        "FirstName": "Iron",
        "LastName": "Man",
        "Company": "Stark Industries",
        "Email": "anastasiya.nikolova@chaosgroup.com",
        "Address1": "411 Farland Avenue",
        "Address2": null,
        "City": "Victoria",
        "Zip": "77901",
        "CountryCode": "us",
        "State": "Texas"
    },
    "DeliveryDetails": {
        "Phone": "830-485-6136",
        "FirstName": "Iron",
        "LastName": "Man",
        "Company": "Stark Industries",
        "Email": "anastasiya.nikolova@chaosgroup.com",
        "Address1": "411 Farland Avenue",
        "Address2": null,
        "City": "Victoria",
        "Zip": "77901",
        "CountryCode": "us",
        "State": "Texas"
    },
    "PaymentDetails": {
        "Type": "OTHER",
        "Currency": "usd",
        "PaymentMethod": null,
        "CustomerIP": "212.91.166.163"
    },
    "DeliveryInformation": {
        "ShippingMethod": {
            "Code": null,
            "TrackingUrl": null,
            "TrackingNumber": null,
            "Comment": null
        }
    },
    "CustomerDetails": null,
    "Origin": "Web",
    "AvangateCommission": 0,
    "OrderFlow": "REGULAR",
    "GiftDetails": null,
    "PODetails": null,
    "ExtraInformation": null,
    "PartnerCode": "HBVQ99623329",
    "PartnerMargin": 2478,
    "PartnerMarginPercent": 20,
    "ExtraMargin": 0,
    "ExtraMarginPercent": 0,
    "ExtraDiscount": 0,
    "ExtraDiscountPercent": 0,
    "LocalTime": null,
    "TestOrder": false,
    "FxRate": 1,
    "FxMarkup": 0,
    "PayoutCurrency": "USD",
    "DeliveryFinalized": false,
    "Errors": null,
    "Items": [
        {
            "ProductDetails": {
                "Name": "V-Ray Next for 3ds Max - Perpetual",
                "ShortDescription": "",
                "Tangible": false,
                "IsDynamic": false,
                "ExtraInfo": null,
                "RenewalStatus": false,
                "Subscriptions": [
                    {
                        "SubscriptionReference": "1E26F2D686",
                        "PurchaseDate": "2020-01-17 12:53:48",
                        "SubscriptionStartDate": "2020-01-17 12:53:48",
                        "ExpirationDate": null,
                        "Lifetime": true,
                        "Trial": false,
                        "Enabled": true,
                        "RecurringEnabled": false
                    },
                    {
                        "SubscriptionReference": "F978B4AFDF",
                        "PurchaseDate": "2020-01-17 12:53:48",
                        "SubscriptionStartDate": "2020-01-17 12:53:48",
                        "ExpirationDate": null,
                        "Lifetime": true,
                        "Trial": false,
                        "Enabled": true,
                        "RecurringEnabled": false
                    }
                ],
                "DeliveryInformation": {
                    "Delivery": "NO_DELIVERY",
                    "DownloadFile": null,
                    "DeliveryDescription": "",
                    "CodesDescription": "",
                    "Codes": []
                }
            },
            "PriceOptions": [],
            "Price": {
                "UnitNetPrice": 590,
                "UnitGrossPrice": 628.94,
                "UnitVAT": 38.94,
                "UnitDiscount": 118,
                "UnitNetDiscountedPrice": 472,
                "UnitGrossDiscountedPrice": 510.94,
                "UnitAffiliateCommission": 0,
                "ItemUnitNetPrice": null,
                "ItemUnitGrossPrice": null,
                "ItemNetPrice": null,
                "ItemGrossPrice": null,
                "VATPercent": 8.25,
                "HandlingFeeNetPrice": 0,
                "HandlingFeeGrossPrice": 0,
                "Currency": "usd",
                "NetPrice": 7080,
                "GrossPrice": 7547.28,
                "NetDiscountedPrice": 5664,
                "GrossDiscountedPrice": 6131.28,
                "Discount": 1416,
                "VAT": 467.28,
                "AffiliateCommission": 0
            },
            "LineItemReference": "c790705c387a71545271367303e38e3ffd1b1055",
            "PurchaseType": null,
            "Code": "VR04MXPESCL001",
            "ExternalReference": "",
            "Quantity": 12,
            "SKU": null,
            "CrossSell": null,
            "Trial": null,
            "AdditionalFields": null,
            "Promotion": null,
            "RecurringOptions": null,
            "SubscriptionStartDate": null
        },
        {
            "ProductDetails": {
                "Name": "V-Ray Next for 3ds Max - Perpetual",
                "ShortDescription": "",
                "Tangible": false,
                "IsDynamic": false,
                "ExtraInfo": null,
                "RenewalStatus": false,
                "Subscriptions": [
                    {
                        "SubscriptionReference": "1E26F2D686",
                        "PurchaseDate": "2020-01-17 12:53:48",
                        "SubscriptionStartDate": "2020-01-17 12:53:48",
                        "ExpirationDate": null,
                        "Lifetime": true,
                        "Trial": false,
                        "Enabled": true,
                        "RecurringEnabled": false
                    },
                    {
                        "SubscriptionReference": "F978B4AFDF",
                        "PurchaseDate": "2020-01-17 12:53:48",
                        "SubscriptionStartDate": "2020-01-17 12:53:48",
                        "ExpirationDate": null,
                        "Lifetime": true,
                        "Trial": false,
                        "Enabled": true,
                        "RecurringEnabled": false
                    }
                ],
                "DeliveryInformation": {
                    "Delivery": "NO_DELIVERY",
                    "DownloadFile": null,
                    "DeliveryDescription": "",
                    "CodesDescription": "",
                    "Codes": []
                }
            },
            "PriceOptions": [],
            "Price": {
                "UnitNetPrice": 590,
                "UnitGrossPrice": 628.94,
                "UnitVAT": 38.94,
                "UnitDiscount": 118,
                "UnitNetDiscountedPrice": 472,
                "UnitGrossDiscountedPrice": 510.94,
                "UnitAffiliateCommission": 0,
                "ItemUnitNetPrice": null,
                "ItemUnitGrossPrice": null,
                "ItemNetPrice": null,
                "ItemGrossPrice": null,
                "VATPercent": 8.25,
                "HandlingFeeNetPrice": 0,
                "HandlingFeeGrossPrice": 0,
                "Currency": "usd",
                "NetPrice": 5310,
                "GrossPrice": 5660.46,
                "NetDiscountedPrice": 4248,
                "GrossDiscountedPrice": 4598.46,
                "Discount": 1062,
                "VAT": 350.46,
                "AffiliateCommission": 0
            },
            "LineItemReference": "ec426fce2d07bc279654b295b97644997a5c524d",
            "PurchaseType": null,
            "Code": "VR04MXPESCL001",
            "ExternalReference": "",
            "Quantity": 9,
            "SKU": null,
            "CrossSell": null,
            "Trial": null,
            "AdditionalFields": null,
            "Promotion": null,
            "RecurringOptions": null,
            "SubscriptionStartDate": null
        }
    ],
    "Promotions": [],
    "AdditionalFields": null,
    "CustomParameters": null,
    "Currency": "usd",
    "NetPrice": 12390,
    "GrossPrice": 13207.74,
    "NetDiscountedPrice": 9912,
    "GrossDiscountedPrice": 10729.74,
    "Discount": 2478,
    "VAT": 817.74,
    "AffiliateCommission": 0
}

Errors

Error Description

INVALID_PARTNER

No partner is set.

NO_ORDERS

There are no orders without partner invoice.

 

Add/Import subscriptions with credit/debit data

Overview

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

Use the addSubscription method to import a subscription into the Avangate system.

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.

Subscription import

Required (Object)

 

Object designed to provide Avangate with all the information to create a subscription.

CardPayment

Optional (Object)

 

Object containing card details.

Response

SubscriptionReference

String

 

Unique, system-generated subscription identifier.

Request


<?php
$host   = "https://api.avangate.com";
$client = new SoapClient($host . "/soap/4.0/?wsdl", array(
    'location' => $host . "/soap/4.0/",
    "stream_context" => stream_context_create(array(
        'ssl' => array(
            'verify_peer' => false,
            'verify_peer_name' => false
        )
    ))
));

function hmac($key, $data)
{
    $b = 64; // byte length for md5
    if (strlen($key) > $b) {
        $key = pack("H*", md5($key));
    }
    
    $key    = str_pad($key, $b, chr(0x00));
    $ipad   = str_pad('', $b, chr(0x36));
    $opad   = str_pad('', $b, chr(0x5c));
    $k_ipad = $key ^ $ipad;
    $k_opad = $key ^ $opad;
    return md5($k_opad . pack("H*", md5($k_ipad . $data)));
}
$merchantCode = "YOUR_MERCHANT_CODE";// your account's merchant code available in the 'System settings' area of the cPanel: https://secure.avangate.com/cpanel/account_settings.php
$key = "YOUR_SECRET_KEY";// your account's secret key available in the 'System settings' area of the cPanel: https://secure.avangate.com/cpanel/account_settings.php
$now          = gmdate('Y-m-d H:i:s'); //date_default_timezone_set('UTC')
$string = strlen($merchantCode) . $merchantCode . strlen($now) . $now;
$hash   = hmac($key, $string);
try {
    $sessionID = $client->login($merchantCode, $now, $hash);
}
catch (SoapFault $e) {
    echo "Authentication: " . $e->getMessage();
    exit;
}
$Product = new stdClass ();
$Product->ProductCode = 'my_subscription_1';
$Product->ProductId = 4639321;
$Product->ProductName = 'Avangate Subscription Imported';
$Product->ProductVersion = 1.0;
$Product->ProductQuantity = 3;
$Product->PriceOptionCodes = array();
$EndUser = new stdClass ();
$EndUser->Address1 = 'Address line 1';
$EndUser->Address2 = 'Address line 2';
$EndUser->City = 'LA';
$EndUser->Company = 'Company Name';
$EndUser->CountryCode = "US";
$EndUser->Email = 'customerAPI@avangate.com';
$EndUser->FirstName = 'Customer';
$EndUser->Language = 'en';
$EndUser->LastName = 'Avangate';
$EndUser->Phone = '1234567890';
$EndUser->State = 'California';
$EndUser->Fax = NULL;
$EndUser->Zip = '90210';
$Subscription = new stdClass();
$Subscription->ExternalSubscriptionReference = '12345678912ImportedSubscription';
$Subscription->SubscriptionCode= NULL;
$Subscription->StartDate = '2013-01-01';
$Subscription->ExpirationDate = '2017-12-30';
$Subscription->Product = $Product;
$Subscription->EndUser = $EndUser;
$Subscription->ExternalCustomerReference = '12354678ExtCustRef';
$PaymentCard = new stdClass ();
$PaymentCard->CardNumber = '4111111111111111' ;
$PaymentCard->CardType = 'VISA';
$PaymentCard->ExpirationYear = '2018';
$PaymentCard->ExpirationMonth = '12';
$PaymentCard->CCID = '123';
$PaymentCard->HolderName = 'John Doe';
$PaymentCard->HolderNameTime = '15';
$PaymentCard->CardNumberTime = '15';
$PaymentCard->AutoRenewal = true;
try {
    $importedSubscriptionWithPayData = $client->addSubscription($sessionID, $Subscription, $PaymentCard);
}
catch (SoapFault $e) {
    echo "importedSubscriptionWithPayData: " . $e->getMessage();
    exit;
}
var_dump("importedSubscriptionWithPayData", $importedSubscriptionWithPayData);

Search historical payouts

Overview

Use the searchPayouts method to extract information on the historical payouts issued by 2Checkout for your account.

You can retrieve information on the payment for a specific invoice, or search based on numerous filters such as payment status, transfer date, or payout method.

Search filters

Parameters Type/Description
Reference

Optional/String

InvoicePrefix (PREFIX) + InvoiceNo (00000) will search for transfers containing an invoice with prefix + number.

The invoice reference is generated by 2Checkout and can be found in the Accounting area from your Control Panel.

Status

Optional/Array of strings

Possible payout statuses:

  • PAID  - 2Checkout transfers successfully paid.
  • PARTIALLY_PAID  - 2Checkout transfers that partially covered invoice amounts.
  • CANCELED  - 2Checkout canceled transfers.
Currency

Optional/String

3 letter ISO currency code.

StartDate

Optional/String

Start payment date. Format: Yyyy-mm-dd.

EndDate

Optional/String

End payment date. Format: Yyyy-mm-dd.

PaymentType

Optional/String

Possible payout methods:

  • WIRE
  • PAYPAL
  • CHECK
  • PAYONEER
  • WEBMONEY
OrderBy

Optional/Array of objects

Details below

                            Field

String

Variable used for ordering the returned data. Possible values:

  • TransferCompletionDate - payment remittance date.
                            Direction

String

Order direction. Possible values:

  • ASC - for ascending order.
  • DESC - for descending order.
Pagination

Optional/Object

Use this object for paginating the results.

Default behavior is to display 10 results per page.

                            Page

Integer

Number of pages used for displaying results.

                            Limit

Integer

Limit the number of results.

Request

<?php

require('PATH_TO_AUTH');

$SearchOptions = new stdClass();
//$SearchOptions->Reference = 'FBV8572'; // search for a specific invoice
$SearchOptions->Status = ['PAID', 'CANCELED'];
$SearchOptions->Currency = 'USD';
$SearchOptions->StartDate = '2018-05-01';
$SearchOptions->EndDate = '2018-06-01';
$SearchOptions->PaymentType = 'WIRE';
$SearchOptions->OrderBy = [];
$orderBy = new stdClass();
$orderBy->Field = 'TransferCompletionDate';
$orderBy->Direction = 'DESC';
$SearchOptions->OrderBy[] = $orderBy;
$SearchOptions->Pagination = new stdClass();
//$SearchOptions->Pagination->Page = 1;
//$SearchOptions->Pagination->Limit = 200;

try {
    $subscriptionInfo = $client->searchPayouts($sessionID, $SearchOptions);
}
catch (SoapFault $e) {
    echo "AccountPayouts: " . $e->getMessage();
    exit;
}
var_dump("Payouts", $subscriptionInfo);

Response

Historical payout object

Parameters Type/Description
Items  

Array  of objects

Details below

        PaymentInstance  

Object

Details below

  TransferCompletionDate String
    Payment date. Format: Yyyy-mm-dd.
  PaymentType String
   

Payout method used for the transfer. Possible values:

  • WIRE
  • PAYPAL
  • CHECK
  • PAYONEER
  • WEBMONEY
  Amount Float
    Amount transferred. Can be negative, for invoices deducted from your payment.
  Currency String
    Currency in which the amount was transferred. Three letters ISO currency code.
  Status String
   

Payment status. Possible values:

  • PAID  - 2Checkout transfers successfully paid.
  • NOT_PAID  - 2Checkout unpaid balance amounts.
  • PARTIALLY_PAID  - 2Checkout transfers that partially covered invoice amounts.
  • CANCELED  - 2Checkout canceled transfers.
  Invoices

Array of objects

An object is created for each invoice part of the payment.

                     Reference String
    System generated invoice reference. Formed by InvoicePrefix (PREFIX) + InvoiceNo (00000).
                     Amount Float
    Invoice amount.
                    Description String
    Comments submitted on the invoice.
                     Type String
   

Invoice type. Possible values:

  • Period net sales
  • Retain chargebacks
  • Release chargeback
  • Services
                      Code String
   

Code used for identifying the invoice type. Possible values:

  • PERIOD_NET_SALES
  • DISPUTES_BALANCE_HOLD
  • DISPUTES_BALANCE_RELEASE
  • AFFILIATE_BONUSES
  • AFFILIATE_BONUS_COMMISSION
  • CANCELED_PO
  • ROLLING_RESERVE_HOLD
  • ROLLING_RESERVE_RELEASE
  • CLOSED_CHARGEBACK_FEES
  • OPEN_CHARGEBACK_FEES
  • CUSTOM_FEE
  • CHARGEBACK_FUND
  • CHANNEL_MANAGER_SALES
  • MONTHLY_FEE
  • COMMITMENT_FEE
  • OVERDUE_PO_PAYMENTS
  • PENDING_PO_PAYMENTS
  • RRT_FEES
  • TRANSFER_FEE
  • UNILOC_DISCOUNT
                      Date String
    Date the invoice was generated.
                      PaidAmount Float
    Invoice amount paid on this transfer.
                      PaidDate String
    Transfer date.
                     PaidCurrency String
    Currency of the transfer.
  Summary

Object

A summary of all the invoices included in this transfer.

                      ServicesAmount Float
    Amount paid or retained for 2Checkout service invoices.
                     PurchaseOrdersAmount Float
    Amount paid for purchase orders.
                     ChargeBacksAmount Float
    Amount paid for chargebacks retained and released.
                      RollingReserveAmount Float
    Amount paid for rolling reserves.
                       PeriodNetSales Float
    Amount paid for period net sales.
                       VendorToVendor Float
    Amount paid for vendor 2 vendor invoices.
                       ChargeBackFund Float
    Amount paid for the chargeback fund.
  Pagination

Object

Details below

                       Page Integer
    Number of pages used for displaying the results.
                       Limit Integer
    Limitation of the result numbers.
                       Count Integer
    Total number of results.

 

Retrieve a price option group

Overview

Use the getPriceOptionGroup method to extract information about a specific price option group that you configured.

Parameters

Parameters Type/Description

ProductGroup

Object

Details below.

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.

groupCode

Required (string)

 

The code that the 2Checkout system generated or that you set for the product pricing options group.

Response

Parameters Type/Description

PriceOptionGroup

Array of objects

Request

<?php

require ('PATH_TO_AUTH');

$groupCode = 'USERS';

try {
    $existentPriceOptionGroup = $client->getPriceOptionGroup($sessionID, $groupCode);
}

catch (SoapFault $e) {
    echo "existentPriceOptionGroup: " . $e->getMessage();
    exit;
}

var_dump("existentPriceOptionGroup", $existentPriceOptionGroup);

?>

 

Retrieve information on promotions

Overview

Use the searchPromotions method to extract information on promotions you set up for your account.

Parameters

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.

Types

StringArray

 

Discount type:

  • REGULAR
  • GLOBAL
  • RENEWAL

Channel

String

 

Channel:

  • ECOMMERCE
  • CHANNEL_MANAGER
  • ALL

ProductCode

String

 

Unique code that you set for each of your products.

Limit

Int

 

Number of results returned by the method.

Page

Int

 

Results pagination.

Response

Promotion

Array of objects

Request

<?php

$host   = "https://api.2checkout.com";
$client = new SoapClient($host . "/soap/3.0/?wsdl", array(
    'location' => $host . "/soap/3.0/",
    "stream_context" => stream_context_create(array(
        'ssl' => array(
            'verify_peer' => false,
            'verify_peer_name' => false
        )
    ))
));


function hmac($key, $data)
{
    $b = 64; // byte length for md5
    if (strlen($key) > $b) {
        $key = pack("H*", md5($key));
    }
    
    $key    = str_pad($key, $b, chr(0x00));
    $ipad   = str_pad('', $b, chr(0x36));
    $opad   = str_pad('', $b, chr(0x5c));
    $k_ipad = $key ^ $ipad;
    $k_opad = $key ^ $opad;
    return md5($k_opad . pack("H*", md5($k_ipad . $data)));
}

$merchantCode = "YOURCODE123"; //your account's merchant code available in the 'System settings' area of the cPanel: https://secure.2checkout.com/cpanel/account_settings.php
$key          = "SECRET_KEY"; //your account's secret key available in the 'System settings' area of the cPanel: https://secure.2checkout.com/cpanel/account_settings.php
$now          = gmdate('Y-m-d H:i:s'); //date_default_timezone_set('UTC')

$string = strlen($merchantCode) . $merchantCode . strlen($now) . $now;
$hash   = hmac($key, $string);

try {
    $sessionID = $client->login($merchantCode, $now, $hash);
}

catch (SoapFault $e) {
    echo "Authentication: " . $e->getMessage();
    exit;
}

$SearchOptions              = new stdClass();
$SearchOptions->Types       = array();
$SearchOptions->Types[0]    = 'REGULAR';
$SearchOptions->Types[1]    = 'RENEWAL';
$SearchOptions->Channel     = 'ECOMMERCE';
$SearchOptions->ProductCode = 'my_subscription_1';
$SearchOptions->Limit       = 10;
$SearchOptions->Page        = 1;


try {
    $Discounts = $client->searchPromotions($sessionID, $SearchOptions);
}

catch (SoapFault $e) {
    echo "Discounts: " . $e->getMessage();
    exit;
}

var_dump("Discounts", $Discounts);


?>

 

Disable recurring billing

Overview

Use the disableRecurringBilling method to disable recurring billing for a subscription. When you disable recurring billing, the subscription status doesn’t change. Users continue to use subscriptions with recurring billing disabled until they expire, and Avangate provides them with the option to renew their subscription through manual payments.

Parameters

Parameters Type/Description

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.

subscriptionReference

Required (string)

 

Unique, system-generated subscription identifier.

Response

Parameters Type/Description

Boolean

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

Request

<?php

require ('PATH_TO_AUTH');

$subscriptionReference = 'YOUR_SUBSCRIPTION_REFERENCE';

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

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

Retrieve product by code

Overview

Use getProductByCode to extract product information using the unique identifier you assign to subscription plans/products.  

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.

ProductCode

String

 

The product code that you control.

Response

Parameters Type/Description
Product Object

Request

<?php

require ('PATH_TO_AUTH');

$ProductCode = "subscr1";

$jsonRpcRequest = array (
'jsonrpc' => '2.0',
'id' => $i++,
'method' => 'getProductByCode',
'params' => array($sessionID, $ProductCode)
);
var_dump (callRPC((Object)$jsonRpcRequest, $host, true));

?>

Retrieve upgrade price

Overview

Use the getProductUpgradeOptionsPrice method to retrieve information about the costs a customer incurs when upgrading a specific subscription. Retrieve information about the costs a customer incurs when upgrading a specific subscription.

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.

subscriptionReference

Required (string)

 

Unique, system-generated subscription identifier.

productCode

Required (string)

 

Unique identifier of the target product for the subscription upgrade process. You control the product code and can set it up in the Control Panel.

currency

Required (string)

 

ISO 4217 code.

options

Required (string)

 

Pricing options of the target product for the subscription upgrade process.

 

String - ';' separated list of 'OptionValue' returned by getProductUpgradeOptions function.

If the pricing options groups is "scale" (interval), the Options parameter should be sent like this: [option group unique code] + "=" + value

e.g. Users=7

Response

Parameters Type/Description

UpgradePrice

Object

    Details below.
  BillingPrice Int
    Net billing price available for  the upgrade process.
  BillingGrossPrice Int
    Gross billing price available for  the upgrade process.
  BillingCurrency String
    Billing currency available for the upgrade process.
  Quantity String
    Quantity available for the upgrade process.
  DisplayPrice Int
    Net display price available for the upgrade process.
  DisplayGrossPrice Int
    Gross display price available for the upgrade process.
  DisplayCurrency String
    Display currency available for the upgrade process.
  Discount Float
    Applied discounts
  DiscountedProratedPrice Float
    Prorated net price for the upgrade with applied discounts
  DiscountedProratedGrossPrice Float
    Prorated gross price for the upgrade with applied discounts
  DiscountedBillingPrice     Float
    Net billing price available for  the upgrade process with applied discounts
  DiscountedBillingGrossPrice     Float
    Gross billing price available for  the upgrade process with applied discounts
  DisplayDiscount     Float
    Discount displayed for the upgrade process
  DiscountedDisplayPrice     Float
    Net display price available for the upgrade process with applied discounts
  DiscountedDisplayGrossPrice     Float
    Gross display price available for the upgrade process with applied discounts

Request

<?php

require ('PATH_TO_AUTH');

$subscriptionReference = 'YOUR_SUBSCRIPTION_REFERENCE';
$productCode = 'my_subscription_123';
$currency = 'usd';
$options = 'emailsupport;oneuser1';

try {
    $upgradeOptions = $client->getProductUpgradeOptionsPrice($sessionID, $subscriptionReference, $productCode, $currency, $options);
}
catch (SoapFault $e) {
    echo "upgradeOptions: " . $e->getMessage();
    exit;
}
var_dump("upgradeOptions", $upgradeOptions);

How to configure auto-renewal enrollment campaigns

Overview

2Checkout offers an easy way to increase your revenue by giving your shoppers the option to enroll into auto-renewal campaigns in their myAccount.

Important: 2Checkout triggers auto-renewal campaigns only for products/subscriptions that have been paid with online payment methods. 

You can find the retention tools in the Marketing tools menu.

Here you can configure auto-renewal enrollment campaigns for your shoppers and offer them discounts for enrolling.

Setting up auto-renewal campaigns

  1. Click Add new campaign
  2. Fill in the details of the campaign: name, running interval and discount percentage. You can also set the discount to apply to all the following billing cycles or define a custom number of billing cycles to apply it to.
  3. Choose whether or not to apply this campaign to subscriptions with custom price by checking or un-checking the Apply for subscriptions that are using product catalog pricing only option.
  4. Select the products that you want the campaign to be applied to from the Available products list and add them to the Selected products list.
  5. Click Save campaign when you're done.

The campaign is now created and displayed as Ready. Click Start campaign to start it.

You can see the status of your campaign in the Retention tools page. An auto-renewal enrollment campaign can have the following statuses:

  1. Scheduled = a campaign that didn't reach Running status yet. You can edit or stop it from running in the future.
  2. Ready = a campaign that you have not started or one that you've stopped before its end date. You can edit it.
  3. Running = a campaign that is currently running. You can stop it or view its settings. You can add products to a running campaign.
  4. Finished = a campaign that passed its end date. You can view its settings but you cannot edit it.

If the campaign is Scheduled, you can click Edit if you want to modify its settings.

Important: You can only edit Ready campaigns and Scheduled ones. You cannot edit Running campaigns.

How to search for auto-renewal campaigns

Use the Auto-renewal enrollment search filters to find specific campaigns that you have previously set. You can search campaigns by:

  • Name
  • Status
  • Starting date
  • Product applied to

Important: Searching campaigns by the starting date returns all the campaigns that had started in the specified time interval.

Click Search when you're done configuring the filters.

You'll see the search results in the table at the bottom of the page along with possible actions that you can take on the campaigns. You can only edit Ready campaigns and Scheduled ones. You cannot edit Running campaigns. You can view the details of Running and Finished campaigns.

How to run auto-renewal campaign reports

You can find the Auto-renewal campaigns reports in the Main reports section of the Reports center menu.

  1. Open the Reports center menu and click Main reports
  2. Click the Enrollment statistics category to access the reports page.
  3. Use the filters in the Report settings section to define the campaigns that you want to include in the report. Click Build report when you're done.

The report shows the top 10 auto-renewal enrollment campaigns. The rest of the campaigns are aggregated in the Other entry. The data included in the report comes from campaigns that ran in the selected interval.

You can also export the full report as CSV by clicking Export as CSV. The exported report contains details about all of your campaigns.

How do shoppers enroll in auto-renewal campaigns?

Your shoppers can enroll in the auto-renewal campaigns by visiting 2Checkout myAccount and clicking the enrollment link.

Retrieve a pricing configuration by name

Overview

Use the getPricingConfigurationByName method to extract information on a specific pricing configuration you set for a product.

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.

productCode

Required (string)

 

The editable code that you control at product-level, not the unique, system-generated product ID.

pricingConfigurationName

Required (string)

 

The name of the pricing configuration.

schemaType

Required (string)

 

  • FLAT (without Base Price)
  • DYNAMIC (with Base Price)

priceType

Optional (string)

 

Possible values: NET or GROSS

Response

Parameters Type/Description

PricingConfiguration

Object

Request

<?php

require ('PATH_TO_AUTH');

$productCode = 'subscr1';
$pricingConfigurationName = 'EU prices';
$schemaType = 'DYNAMIC';// FLAT or DYNAMIC
$priceType = 'NET'; // or GROSS

$jsonRpcRequest = array (
'jsonrpc' => '2.0',
'id' => $i++,
'method' => 'getPricingConfigurationByName',
'params' => array($sessionID, $productCode, $pricingConfigurationName, $schemaType, $priceType)
);
var_dump (callRPC((Object)$jsonRpcRequest, $host));

?>

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