Retrieve partner information
Overview
Access partner details using the unique codes set to identify them.
Parameters
Parameters | Type/Description |
---|---|
sessionID | Required (string) |
Session identifier, output by the Login method. An exception will be thrown if the values are incorrect. | |
partnerCode | Required (string) |
The unique partner code. |
Response
Parameter | Type/Description |
---|---|
Partner | Object |
Partner information object. |
Request
<?php
require ('PATH_TO_AUTH'); // Authentication example: https://knowledgecenter.avangate.com/Integration/Channel_Manager_API/JSON-RPC/02Authentication
$partnerCode = 'YOUR_PARTNER_CODE';
$jsonRpcRequest = array (
'jsonrpc' => '2.0',
'id' => $i++,
'method' => 'getPartnerByCode',
'params' => array($sessionID, $partnerCode)
);
var_dump (callRPC((Object)$jsonRpcRequest, $host));
Errors
Error | Description |
---|---|
INVALID_PARTNER |
Partner code is mandatory. |
INVALID_PARTNER |
Partner code provided is not associated with an active partner account in the Avangate system. |
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:
|
|||
Availability | Strings | ||
Defined where the shipping method is active. Possible values:
|
|||
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:
|
|||
From | Float | ||
Lower interval limit. | |||
To | Int | ||
Higher interval limit. | |||
Amount | Int | ||
Surcharge defined based on order price/weight. | |||
ApplyTo | String | ||
Possible values:
|
|||
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. |
Add products
Overview
Use addPromotionProducts to add products to an existing promotion.
Parameters
Parameter | Type/Description | |
---|---|---|
sessionID |
Required (string) |
|
|
Output of the Login method. |
|
promotionCode |
Required (string) |
|
|
The code corresponding to the promotion that you want to add products to. |
|
promotionProducts |
Required (object) |
|
|
Code |
Required (string) |
|
|
System generated product code. |
|
pricingConfigurationCode |
Optional (string) |
|
|
System generated pricing configuration code. |
|
pricingOptionCodes |
Optional (array of strings) |
|
|
Pricing option codes that you control. |
Response
Parameter | Type/Description |
---|---|
PromotionProducts | Object |
Request
<?php
require ('PATH_TO_AUTH');
// Define a product to add to the promotion
$newProduct1 = new stdClass;
$newProduct1->Code = '';
$newProduct1->PricingConfigurationCode = '';
$newProduct1->PricingOptionCodes = ['',''];
// Define another product to add to the promotion
$newProduct2 = new stdClass;
$newProduct2->Code = '';
$newProduct2->PricingOptionCodes = [''];
$productPromotion = [$newProduct1, $newProduct2];
try {
$updatedPromotion = $client->addPromotionProducts($promotionCode, $productPromotion);
}
catch (SoapFault $e) {
echo "UpdatedPromotion: " . $e->getMessage();
exit;
}
var_dump("UpdatedPromotion", $updatedPromotion);
Remove product coupon
Overview
Use this method to remove discount coupons applied to products added to cart.
Requirements
Parameters
Parameters | Type/Description |
---|---|
sessionID | Required (String) |
Session identifier, which is the output of the Login method. An exception is thrown if the values are incorrect | |
coupon | Required (String) |
The coupon/voucher code for a promotion impacting a product added to cart. |
Response
Parameters | Type/Description |
---|---|
result | Boolean |
True or false |
Request
<?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
require ('PATH_TO_ADD_PRODUCT'); // addProduct example: https://knowledgecenter.avangate.com/Integration/Channel_Manager_API/JSON-RPC/06Reference/08Place_an_order/00Add_product_to_cart
require ('PATH_TO_ADD_COUPON'); // addCoupon example: https://knowledgecenter.avangate.com/Integration/Channel_Manager_API/JSON-RPC/06Reference/08Place_an_order/06Add_product_coupon
$couponCode = 'COUPON_CODE_TO_REMOVE';
$jsonRpcRequest = array (
'jsonrpc' => '2.0',
'id' => $i++,
'method' => 'deleteCoupon',
'params' => array($sessionID,$couponCode)
);
var_dump (callRPC((Object)$jsonRpcRequest, $host));
Errors
Error | Description |
---|---|
EMPTY_CART |
The shopping cart is empty |
INVALID_COUPON_CODE |
The coupon code is empty |
INVALID_COUPON |
The coupon code is not applied to cart |
Retrieve wire transfer details
Overview
Retrieve the wire payment details that partners need to use to pay for partner invoices.
Requirements
Next, use setProforma to identify a specific partner invoice.
Parameters
Parameter | Type/Description |
---|---|
sessionID | Required (String) |
Session identifier string, output of the Login method. An exception is thrown if the values are incorrect. | |
refNo | Required (String) |
Order reference number of an order that was marked with WIRE as payment method. |
Response
Parameters | Type/Description | ||
---|---|---|---|
WirePaymentDetails |
Object |
||
|
Details below |
||
|
Amount |
Double |
|
|
|
The total costs incurred by the partner for a partner invoice invoice. |
|
|
Currency |
String |
|
|
|
Order currency ISO code - ISO 4217. |
|
|
PaymentReference |
String |
|
|
|
Transaction identifier. |
|
|
RoutingNumber |
String |
|
|
|
Identification number assigned to financial institutions. |
|
|
BankAccounts |
Array of objects |
|
|
|
Array of BankAccountDetails objects with the structure detailed below. Can be NULL. |
|
|
|
Beneficiary |
String |
|
|
|
Payment beneficiary name. Can be NULL. |
|
|
BankName |
String |
|
|
|
Beneficiary bank name. Can be NULL. |
|
|
BankCountry |
String |
|
|
|
Beneficiary bank country. Can be NULL. |
|
|
BankCity |
String |
|
|
|
Beneficiary bank city. Can be NULL. |
|
|
BankAddress |
String |
|
|
|
Beneficiary bank address. Can be NULL. |
|
|
BankAccount |
String |
|
|
|
Beneficiary bank account number. Can be NULL. |
|
|
BankAccountIban |
String |
|
|
|
Beneficiary IBAN. Can be NULL. |
|
|
BankAccountSwiftCode |
String |
|
|
|
Beneficiary SWIFT code. Can be NULL. |
|
|
Currency |
String |
|
|
|
Bank account currency ISO code – ISO 4217. Can be NULL. |
Request
<?php
require ('PATH_TO_AUTH'); // Authentication example: https://knowledgecenter.avangate.com/Integration/Channel_Manager_API/JSON-RPC/02Authentication
require ('PATH_TO_setPartner'); // setPartner example: https://knowledgecenter.avangate.com/Integration/Channel_Manager_API/JSON-RPC/06Reference/Partner/00Set_partner
$proformaNumber = 'YOUR_PROFORMA_NUMBER';
$jsonRpcRequest = array (
'jsonrpc' => '2.0',
'id' => $i++,
'method' => 'setProforma',
'params' => array($sessionID, $proformaNumber)
);
var_dump (callRPC((Object)$jsonRpcRequest,$host));
$paymentDetails = new stdClass();
$paymentDetails->Type = 'WIRE';
$paymentDetails->Curency = 'USD';
$jsonRpcRequest = array (
'jsonrpc' => '2.0',
'id' => $i++,
'method' => 'setPaymentDetails',
'params' => array($sessionID, $paymentDetails)
);
var_dump (callRPC((Object)$jsonRpcRequest,$host));
$jsonRpcRequest = array (
'jsonrpc' => '2.0',
'id' => $i++,
'method' => 'payProforma',
'params' => array($sessionID)
);
var_dump (callRPC((Object)$jsonRpcRequest,$host));
$refNo = 'YOUR_ORDER_REFERENCE_NUMBER';
$jsonRpcRequest = array (
'jsonrpc' => '2.0',
'id' => $i++,
'method' => 'getWirePaymentDetails',
'params' => array($sessionID, $refNo)
);
var_dump (callRPC((Object)$jsonRpcRequest, $host));
Errors
Error | Description |
---|---|
INVALID_PARTNER |
No partner is set. |
PAYMENT_PROFORMA |
You have to set a partner invoice first. |
PAYMENT_NOT_SUPPORTED |
The current partner invoice is not set as payable through wire. |
Retrieve check payment details
Overview
Retrieve the check payment details that customers must use or have used to pay for an order.
Requirements
Parameters
Parameter | Type/Description |
---|---|
sessionID | Required (String) |
Session identifier string, output of the Login method. An exception is thrown if the values are incorrect. | |
refNo | Required (String) |
Order reference number of an order that was marked with CHECK as payment method. |
Response
Parameter | Type/Description | |
---|---|---|
CheckPaymentDetails |
Object |
|
|
Details below |
|
|
Beneficiary |
String |
|
|
Payment beneficiary name. Can be NULL. |
|
CheckPostalAddress |
String |
|
|
Beneficiary address. Can be NULL. |
|
CheckAccountHolderName |
String |
|
|
Beneficiary account holder name. Can be NULL. |
|
Country |
String |
|
|
Beneficiary country. Can be NULL. |
|
Amount |
Double |
|
|
Total order costs. Can be NULL. |
|
Currency |
String |
|
|
Order currency ISO code – ISO 4217. Can be NULL. |
Request
<?php
require ('PATH_TO_AUTH'); // Authentication example: https://knowledgecenter.avangate.com/Integration/Channel_Manager_API/JSON-RPC/02Authentication
require ('PATH_TO_setPartner'); // setPartner example: https://knowledgecenter.avangate.com/Integration/Channel_Manager_API/JSON-RPC/06Reference/Partner/00Set_partner
$proformaNumber = 'YOUR_PROFORMA_NUMBER';
$jsonRpcRequest = array (
'jsonrpc' => '2.0',
'id' => $i++,
'method' => 'setProforma',
'params' => array($sessionID, $proformaNumber)
);
var_dump (callRPC((Object)$jsonRpcRequest,$host));
$paymentDetails = new stdClass();
$paymentDetails->Type = 'CHECK';
$paymentDetails->Curency = 'USD';
$jsonRpcRequest = array (
'jsonrpc' => '2.0',
'id' => $i++,
'method' => 'setPaymentDetails',
'params' => array($sessionID, $paymentDetails)
);
var_dump (callRPC((Object)$jsonRpcRequest,$host));
$jsonRpcRequest = array (
'jsonrpc' => '2.0',
'id' => $i++,
'method' => 'payProforma',
'params' => array($sessionID)
);
var_dump (callRPC((Object)$jsonRpcRequest,$host));
$refNo = 'YOUR_ORDER_REFERENCE_NUMBER';
$jsonRpcRequest = array (
'jsonrpc' => '2.0',
'id' => $i++,
'method' => 'getCheckPaymentDetails',
'params' => array($sessionID, $refNo)
);
var_dump (callRPC((Object)$jsonRpcRequest, $host));
Errors
Error | Description |
---|---|
INVALID_PARTNER |
No partner is set. |
PAYMENT_PROFORMA |
You have to set a partner invoice first. |
PAYMENT_NOT_SUPPORTED |
The current partner invoice is not set as payable through check. |
Retrieve an additional field
Overview
Use the getAdditionalField method to extract information about a specific additional field you set up for your 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. |
fieldCode |
Required (string) |
|
Field identifier. Alpha-numeric chars, underscores and dashes. |
Response
Parameters | Type/Description |
---|---|
Array of objects |
Request
<?php
require ('PATH_TO_AUTH');
$FieldCode = 'YOUR_FIELD_CODE';
try {
$AdditionalField = $client->getAdditionalField($sessionID, $FieldCode);
}
catch (SoapFault $e) {
echo "AdditionalField: " . $e->getMessage();
exit;
}
var_dump("AdditionalField", $AdditionalField);
?>
Google Tag Manager Code Integration for Default Flows – Universal Analytics
Overview
The Google Tag Manager (GTM) is a small piece of JavaScript and non-JavaScript code (a container snippet) that you paste into your pages to configure or enable tags from Google Universal Analytics or third parties. For more information on the Google Tag Manager and how to install it, click here.
Setting the Google Tag Manager (GTM)
To implement Google Tag Manager on your website, follow these steps:
- Log into your 2Checkout Merchant Control Panel.
- Navigate to Setup → Interface templates.
- Click to Edit the template that needs to be tracked. An example is shown in the image below:
4. In the Head Information area → Meta & CSS, paste the Google Tag Manager code for your account at the end of the existing code in the section. An example of the Google Tag Manager code is shown below:
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXXX');</script>
<!-- End Google Tag Manager -->
Example of GTM code for the <body> tag:
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-XXXXXX"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
The GTM code needs to be placed on your own website as well – one snippet of code in the <head> and the other in the <body> tag, if this step has not already been done previously. See the image below for a screenshot of an example code that needs to be added to your own website. More information can be found on this page: https://developers.google.com/tag-manager/quickstart.
Sending MyOrder Data to Google Universal Analytics
By default, the myOrder object is displayed only for orders with payments authorized instantly (this includes usually credit cards and PayPal), after the payment is complete (transaction needs to be authorized successfully). To have the myOrder object available for all placed orders regardless of the payment status (to send revenue to Google Universal Analytics based on myOrder.TotalPrice, to more offline payment methods orders), follow the steps below:
- Log in to your Merchant Control Panel account.
- Go to Setup → Ordering Options.
- Scroll down to the After sale message area and check the checkbox for the Show message for all placed orders option.
3. Click Save settings at the bottom of the page.
A JavaScript object called myOrder is available on the ‘Thank you’ page providing information about the purchased products including ID, quantity, name, price, etc.
To see information about orders in Google Universal Analytics, follow these steps:
- Log in to your Merchant Control Panel account.
- Navigate to Setup → Ordering Options and click on the Analytics tab.
3. Scroll down to the Tracking script section and add a code snippet (for example add <div></div>).
4. Apply the code to all languages or to the languages for which you want your template to be tracked.
5. Click Save at the bottom of the page.
Google Tag Manager Configuration
How to configure Google Tag Manager for your own website
1. The Google Analytics - Universal Analytics tag for your own website (ex. www.mywebsite.com) should look as shown in the below image.
2. This Google Universal Analytics tag for your own website must have Page View selected as Track Type.
The variable for the Google Universal Analytics tag should be configured as follows: in the Tracking ID section in the Google Universal Analytics Settings area, add the tracking ID of your own Google Analytics property.
If you don’t know the Google Universal Analytics property ID, you can find it here.
If you use your own custom domain for the shopping cart, then proceed to step 4.
If you use the 2checkout shopping cart (secure.2checkout.com), further implementation for the cross-domain tracking is needed. In this case, you (merchant) need to proceed to step 2 to count the visitors that first go to your website, and then to secure.2checkout.com as the same visitors in Google Analytics.
3. If you need further implementation for the cross-domain tracking, follow the additional setup needed for the Google Universal Analytics variable. In the More Settings section, under Fields to set, click Add Field. You will see two fields that need to be filled in. In the first field, enter “cookieDomain” as Field Name, and “auto” as Value. In the second field, enter “allowLinker” as Field Name, and “true” as value. In the section Cross Domain Tracking, in the field Auto Link Domains, enter “secure.2checkout.com” and in the Use Hash as Delimiter field enter “False”, and in the Decorate Forms enter “True”.
4. The triggering for this tag is All Pages.
Implementing Google Universal Analytics with Google Tag Manager for 2Checkout
1. Besides the Google Universal Analytics tag for your own website, create a Google Universal Analytics tag for 2Checkout, as shown in the image below.
2. Name this new tag “2Checkout Google Analytics” to differentiate it from your own Google Universal Analytics website tag. Select Event as Track Type and 2Checkout as Category. Select Google Analytics - Universal Analytics Settings and click Enable overriding settings in this tag.
3. Under More Settings, select True for Ecommerce and click Use Data Layer. As Tag Firing Options select Once per event, as shown in the below image.
4. In the Trigger Configuration area, create a trigger named 2Checkout Event, with a Custom Event trigger type. Write 2checkout event in the Event name field (this is case sensitive for Google Universal Analytics) and select All Custom Events for when to fire the trigger, as indicated in the following image.
5. The last step is to Save and Publish all the changes made.
Additional order fields
Overview
Use this object to create / update information on additional order/product fields.
Parameters
AdditionalField | Object |
---|---|
Label |
String |
|
Field text. |
Code |
String |
|
Field identifier. Alpha-numeric chars, underscores and dashes. |
Type |
String |
|
Field type:
|
ApplyTo |
Sting |
|
|
Values |
Array of values |
|
Custom values you control. |
ValidationRule |
String |
|
The validation rule restricting the type of information shoppers can enter in the additional field during the purchase process. |
Translations |
Array of objects |
|
Details below. |
Label |
String |
|
Field text translated in the language of the Translations object. |
Values |
Object |
|
Custom values you control translated in the language of the Translations object. |
Language |
String |
|
ISO language code. (ISO 639-1 two-letter code). |