Add product
Overview
Use the addProduct method to create subscription plans/products for your 2Checkout account.
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. |
Required (object) |
|
|
Use this object to configure your subscription plans/products.
You can set all Product parameters except AvangateID and GroupName . The 2Checkout system sets the unique product ID. The AvangateID and GroupName are not editable. |
Mandatory parameters
ProductName ProductCode PricingConfigurations
Response
bool(true)
Sample request
<?php require ('PATH_TO_AUTH'); // authentication call $Product = new stdClass(); $Product->AvangateId = null; $Product->ProductCode = 'API_Imported_Product_1'; $Product->ProductType = 'REGULAR'; $Product->ProductName = 'API_Subscription Imported New'; $Product->ProductVersion = '1.0'; $Product->GiftOption = false; $Product->ShortDescription = 'Placeat cumque necessitatibus est minus praesentium ut non quibusdam. Molestias provident tempore eligendi mollitia quia.'; $Product->LongDescription = 'Corrupti inventore vitae nesciunt ab. Nemo cum non maiores. Non repudiandae est iste voluptatibus.'; $Product->SystemRequirements = null; $Product->ProductCategory = null; $Product->Platforms = array(); $Product->Platforms[0] = new stdClass(); $Product->Platforms[0]->PlatformName = null; $Product->Platforms[0]->Category = null; $Product->Platforms[1] = new stdClass(); $Product->Platforms[1]->PlatformName = null; $Product->Platforms[1]->Category = null; $Product->ProductImages = array(); $Product->ProductImages[0] = new stdClass(); $Product->ProductImages[0]->URL = null; $Product->ProductImages[0]->Default = false; $Product->ProductImages[1] = new stdClass(); $Product->ProductImages[1]->URL = null; $Product->ProductImages[1]->Default = true; $Product->TrialUrl = null; $Product->TrialDescription = null; $Product->Enabled = True; //Product additional fields /* $Product->AdditionalFields = array(); $Product->AdditionalFields[0] = new stdClass(); $Product->AdditionalFields[0]->Label = 'i44wak1dzp'; $Product->AdditionalFields[0]->Code = 'ITYAK0OEWJ'; $Product->AdditionalFields[0]->Enabled = false; $Product->AdditionalFields[0]->Required = false; $Product->AdditionalFields[0]->URLParameter = 'id1ktigl6d'; $Product->AdditionalFields[1] = new stdClass(); $Product->AdditionalFields[1]->Label = 'aig699lmo1'; $Product->AdditionalFields[1]->Code = 'V28TP07PQN'; $Product->AdditionalFields[1]->Enabled = false; $Product->AdditionalFields[1]->Required = true; $Product->AdditionalFields[1]->URLParameter = '8to9p6y54j'; */ //Product localization /* $Product->Translations = array(); $Product->Translations[0] = new stdClass(); $Product->Translations[0]->Name = 'zsg7wtg4e5'; $Product->Translations[0]->Description = 'Voluptate iure ut quam omnis impedit. Deserunt facere id dolores doloribus quis. Minima nostrum ut possimus incidunt vel est sint. Odit tempora omnis iste nesciunt commodi accusantium placeat.'; $Product->Translations[0]->Language = 'pt'; $Product->Translations[0]->LongDescription = 'Pariatur molestiae sit dignissimos modi. Aut modi libero numquam repudiandae. Doloribus explicabo delectus fugiat amet. Excepturi quo consequatur sint adipisci.'; $Product->Translations[0]->SystemRequirements = 'c16tvyg88c'; $Product->Translations[0]->TrialUrl = 'UNCAUGHT TYPE: anyURI'; $Product->Translations[0]->TrialDescription = 'Voluptas rem sit ut voluptas molestias quidem ut. Maiores facilis tempora voluptates. Consequuntur illum recusandae hic magni iste.'; $Product->Translations[1] = new stdClass(); $Product->Translations[1]->Name = 'cv2sx15aby'; $Product->Translations[1]->Description = 'Ut distinctio asperiores et a placeat voluptatem et. Et eveniet temporibus aut vel. Nemo occaecati praesentium dolor fugiat rerum assumenda expedita.'; $Product->Translations[1]->Language = 'fr'; $Product->Translations[1]->LongDescription = 'Et ut nostrum molestiae voluptates soluta. Molestiae cum in ut qui. Voluptatem voluptates vero odit quia corporis. In impedit eligendi sed expedita nihil temporibus nobis.'; $Product->Translations[1]->SystemRequirements = 'cfv2amk25j'; $Product->Translations[1]->TrialUrl = 'UNCAUGHT TYPE: anyURI'; $Product->Translations[1]->TrialDescription = 'Voluptatem ut possimus consequatur iste. Recusandae id quia sed quibusdam aut debitis. Cupiditate harum architecto quod quia.'; */ $Product->PricingConfigurations = array(); $Product->PricingConfigurations[0] = new stdClass(); $Product->PricingConfigurations[0]->Default = false; $Product->PricingConfigurations[0]->Code = null; $Product->PricingConfigurations[0]->Name = 'API Pricing Configuration Test'; $Product->PricingConfigurations[0]->BillingCountries = array(); $Product->PricingConfigurations[0]->PricingSchema = 'DYNAMIC'; $Product->PricingConfigurations[0]->PriceType = 'NET'; $Product->PricingConfigurations[0]->DefaultCurrency = 'USD'; $Product->PricingConfigurations[0]->Prices = new stdClass(); $Product->PricingConfigurations[0]->Prices->Regular = array(); $Product->PricingConfigurations[0]->Prices->Regular[0] = new stdClass(); $Product->PricingConfigurations[0]->Prices->Regular[0]->Amount = 100; $Product->PricingConfigurations[0]->Prices->Regular[0]->Currency = 'USD'; $Product->PricingConfigurations[0]->Prices->Regular[0]->MinQuantity = 1; $Product->PricingConfigurations[0]->Prices->Regular[0]->MaxQuantity = 10; $Product->PricingConfigurations[0]->Prices->Regular[0]->OptionCodes = array(); $Product->PricingConfigurations[0]->Prices->Regular[1] = new stdClass(); $Product->PricingConfigurations[0]->Prices->Regular[1]->Amount = 200; $Product->PricingConfigurations[0]->Prices->Regular[1]->Currency = 'USD'; $Product->PricingConfigurations[0]->Prices->Regular[1]->MinQuantity = 11; $Product->PricingConfigurations[0]->Prices->Regular[1]->MaxQuantity = 100; $Product->PricingConfigurations[0]->Prices->Regular[1]->OptionCodes = array(); $Product->PricingConfigurations[0]->Prices->Renewal = array(); $Product->PricingConfigurations[0]->Prices->Renewal[0] = new stdClass(); $Product->PricingConfigurations[0]->Prices->Renewal[0]->Amount = 50; $Product->PricingConfigurations[0]->Prices->Renewal[0]->Currency = 'USD'; $Product->PricingConfigurations[0]->Prices->Renewal[0]->MinQuantity = 1; $Product->PricingConfigurations[0]->Prices->Renewal[0]->MaxQuantity = 10; $Product->PricingConfigurations[0]->Prices->Renewal[0]->OptionCodes = array(); $Product->PricingConfigurations[0]->Prices->Renewal[1] = new stdClass(); $Product->PricingConfigurations[0]->Prices->Renewal[1]->Amount = 60; $Product->PricingConfigurations[0]->Prices->Renewal[1]->Currency = 'USD'; $Product->PricingConfigurations[0]->Prices->Renewal[1]->MinQuantity = 11; $Product->PricingConfigurations[0]->Prices->Renewal[1]->MaxQuantity = 100; $Product->PricingConfigurations[0]->Prices->Renewal[1]->OptionCodes = array(); $Product->PricingConfigurations[0]->PriceOptions = array(); /* $Product->BundleProducts = array(); $Product->BundleProducts[0] = new stdClass(); $Product->BundleProducts[0]->ProductCode = '540Q45PQBN'; $Product->BundleProducts[0]->ProductId = 48439; $Product->BundleProducts[1] = new stdClass(); $Product->BundleProducts[1]->ProductCode = 'PA3JDB5SZ2'; $Product->BundleProducts[1]->ProductId = 46439; */ $Product->Fulfillment = 'NO_DELIVERY'; $Product->Prices = array(); $Product->GeneratesSubscription = True; $Product->SubscriptionInformation = new stdClass(); $Product->SubscriptionInformation->DeprecatedProducts = array(); $Product->SubscriptionInformation->BundleRenewalManagement = null; $Product->SubscriptionInformation->BillingCycle = 1; $Product->SubscriptionInformation->BillingCycleUnits = 'M'; $Product->SubscriptionInformation->IsOneTimeFee = false; $Product->SubscriptionInformation->ContractPeriod = new stdClass(); $Product->SubscriptionInformation->ContractPeriod->Period = -1; $Product->SubscriptionInformation->ContractPeriod->PeriodUnits = 'days'; $Product->SubscriptionInformation->ContractPeriod->IsUnlimited = TRUE; $Product->SubscriptionInformation->ContractPeriod->Action = 'RESTART'; $Product->SubscriptionInformation->ContractPeriod->EmailsDuringContract = 'altenwerth.elise@gmail.com'; //$Product->SubscriptionInformation->UsageBilling = 77; $Product->SubscriptionInformation->GracePeriod = new stdClass(); $Product->SubscriptionInformation->GracePeriod->Type = 'GLOBAL'; $Product->SubscriptionInformation->GracePeriod->Period = 14; $Product->SubscriptionInformation->GracePeriod->PeriodUnits = 'D'; $Product->SubscriptionInformation->GracePeriod->IsUnlimited = false; $Product->SubscriptionInformation->RenewalEmails = new stdClass(); $Product->SubscriptionInformation->RenewalEmails->Type = 'CUSTOM'; $Product->SubscriptionInformation->RenewalEmails->Settings = new stdClass(); $Product->SubscriptionInformation->RenewalEmails->Settings->ManualRenewal = new stdClass(); $Product->SubscriptionInformation->RenewalEmails->Settings->ManualRenewal->Before30Days = true; $Product->SubscriptionInformation->RenewalEmails->Settings->ManualRenewal->Before15Days = true; $Product->SubscriptionInformation->RenewalEmails->Settings->ManualRenewal->Before7Days = true; $Product->SubscriptionInformation->RenewalEmails->Settings->ManualRenewal->Before1Day = false; $Product->SubscriptionInformation->RenewalEmails->Settings->ManualRenewal->OnExpirationDate = true; $Product->SubscriptionInformation->RenewalEmails->Settings->ManualRenewal->After5Days = false; $Product->SubscriptionInformation->RenewalEmails->Settings->ManualRenewal->After15Days = false; $Product->SubscriptionInformation->RenewalEmails->Settings->AutomaticRenewal = new stdClass(); $Product->SubscriptionInformation->RenewalEmails->Settings->AutomaticRenewal->Before30Days = true; $Product->SubscriptionInformation->RenewalEmails->Settings->AutomaticRenewal->Before15Days = false; $Product->SubscriptionInformation->RenewalEmails->Settings->AutomaticRenewal->Before7Days = false; $Product->SubscriptionInformation->RenewalEmails->Settings->AutomaticRenewal->Before1Day = false; $Product->SubscriptionInformation->RenewalEmails->Settings->AutomaticRenewal->OnExpirationDate = true; $Product->SubscriptionInformation->RenewalEmails->Settings->AutomaticRenewal->After5Days = false; $Product->SubscriptionInformation->RenewalEmails->Settings->AutomaticRenewal->After15Days = true; $Product->FulfillmentInformation = new stdClass(); $Product->FulfillmentInformation->IsStartAfterFulfillment = false; $Product->FulfillmentInformation->IsElectronicCode = false; $Product->FulfillmentInformation->IsDownloadLink = false; $Product->FulfillmentInformation->IsBackupMedia = false; $Product->FulfillmentInformation->IsDownloadInsuranceService = false; $Product->FulfillmentInformation->IsInstantDeliveryThankYouPage = false; $Product->FulfillmentInformation->IsDisplayInPartnersCPanel = false; $jsonRpcRequest = array ( 'jsonrpc' => '2.0', 'id' => $i++, 'method' => 'addProduct', 'params' => array($sessionID, $Product) ); $addedProduct = callRPC($jsonRpcRequest, $host); var_dump ($addedProduct);