Gossimer maintains detailed daily logs of traffic visiting your SusperSite and PartnerSite websites. These website statistics are graphically displayed within your SuperSite and PartnerSite Website Statistics Area, for you to analyze traffic trends such as:
It is imperative that you set a Username and Password for your SuperSite and PartnerSite Web Statistics area, before being able to gain access to the same. Click here to know how you can add your Web Statistics Area Username and Password >>
There are three methods of viewing your SusperSite and PartnerSite Website Statistics:
I. From your Reseller Control Panel
1. Login to your Reseller Admin Control Panel from http://manage.gossimer.biz/reseller.
2. To view your SuperSite Website Statistics, or PartnerSite Website Statistics, go to
Settings -> SuperSite & PartnerSite -> View SuperSite Stats
Settings -> SuperSite & PartnerSite -> View PartnerSite Stats
This will open the respective Statistics Area in a new window.
II. From the Supersite or PartnerSite URL
1. Go to http://<your supersite URL>/admin, or http://<your partnersite URL>/admin, as applicable.
2. Enter the Username and Password to your Reseller Account, and click on Submit.
3. Click on the link Other Misc Functions and then, click on the View Detailed Website Statistics of your SuperSite/PartnerSite link. This will open the respective Statistics Area in a new window.
III. By directly visiting the SuperSite and PartnerSite Website Statistics Area
If you know your Reseller Id (a unique number available in your Reseller Admin Control Panel under Settings -> Primary Profile), then you may visit the following URLs directly:
SuperSite Statistics Area -> http://<your Reseller Id>.stats.supersite.myorderbox.com/
PartnerSite Statistics Area -> http://<your Reseller Id>.stats.partnersite.myorderbox.com/
Tags: Admin Control Panel, Amp, Control Panel 1, Duration, Gossimer, Hosts List, http, Ip Addresses, Logs, Lt, Reseller Account, Reseller Control Panel, Robots, Rush Hours, Search Engines, Supersite, Traffic Trends, Type Os, Unique Visitors, Web Statistics, Web Statistics area, Web Statistics Area Username, Website Statistics
If you already have a website entertaining your existing clients, Gossimer even allows you to integrate the essential Storefront features with your website, enabling your Customers and Sub-resellers to access all your products and services via your website.
All you have to do is copy the script for the feature that you wish to integrate, and paste it to your site. The major features that you would wish to integrate are listed here.
You can integrate Customer Login as well as Reseller Login with your website. You need to put in the following code to integrate the Login with your Website –
<Your Reseller Id> - You can get your Reseller Id from your Control Panel by going to Settings -> Personal Information -> Primary Profile. Here the first field is the Reseller Id, the value of which you need to put in here.
<role> - If you are integrating Reseller Login, then you need to put in role as Reseller and if you want Customer Login, then put the role as Customer.
Integrating New Domain Purchase [Check Availability] Tool with your website
The steps for buying a New Domain Name are as follows:
1. Checking Domain Availability
2. Filling the Domain Order Form
3. Payment Process
4. Actual Registration
Of these steps, you can choose to have the Check Availability box at your end on your website or on the Reseller Storefront Server.
In order to directly link to the Check Availability page use the link below -
http://<#YOUR BRANDED URL#>/servlet/CheckAvailabilityServlet?actionkey=add
Replace <#YOUR BRANDED URL#> in the above URL with your Branded URL, which you can find at Settings -> Storefront & Control Panel -> URL, in your Reseller Control Panel. This will bring up the Check Availability box from where any of your Customers can start placing an Order for a Domain Name.
If, however, you wish to have the Check Availability box on your server as a part of your website, you can use either of the Check Availability form codes given below.
<form name=”ChkAvailForm” action=_quot;http://<#YOUR BRANDED URL#>/servlet/CheckAvailabilityServlet” method=”get”><br>
<input type=hidden name=”suggestalternatives” value=”true”><br>
<input type=hidden name=”validatenow” value=”true”><br>
<input type=hidden name=”actionkey” value=_quot;add_quot;_gt;_lt;br_gt;
<p align=”center”>www.<input name=”domainname” value=”" size=”20″><br>
<select name=”tld”><br>
<option value=”.biz”>.biz</option><br>
<option value=”.info”>.info</option><br>
<option value=”.com” selected>.com</option><br>
<option value=”.net”>.net</option><br>
<option value=”.org”>.org</option><br>
<option value=”.us”>.us</option><br>
<option value=”.name”>.name</option><br>
<option value=”.in”>.in</option><br>
<option value=”.co.in”>.co.in</option><br>
<option value=”.net.in”>.net.in</option><br>
<option value=”.org.in”>.org.in</option><br>
<option value=”.firm.in”>.firm.in</option><br>
<option value=”.gen.in”>.gen.in</option><br>
<option value=”.ind.in”>.ind.in</option><br>
</select><br>
<br><br>
<input type=”submit” value=”Check”><br>
</form>
OR
<form name=”ChkAvailForm” action=_quot;http://<#YOUR BRANDED URL#>/servlet/CheckAvailabilityServlet” method=”post”><br>
<input type=hidden name=”suggestalternatives” value=”true”><br>
<input type=hidden name=”validatenow” value=”true”><br>
<input type=hidden name=”actionkey” value=_quot;add_quot;_gt;_lt;br_gt;
<p align=”center”>www.<input name=”domainname” value=”" size=”20″><br>
<input type=checkbox name=”tld” value=”com”>.com
<input type=checkbox name=”tld” value=”net”>.net
<input type=checkbox name=”tld” value=”org”>.org
<input type=checkbox name=”tld” value=”info”>.info
<input type=checkbox name=”tld” value=”biz”>.biz
<input type=checkbox name=”tld” value=”us”>.us
<input type=checkbox name=”tld” value=”name”>.name
<input type=checkbox name=”tld” value=”.in”>.in
<input type=checkbox name=”tld” value=”co.in”>.co.in
<input type=checkbox name=”tld” value=”net.in”>.net.in
<input type=checkbox name=”tld” value=”org.in”>.org.in
<input type=checkbox name=”tld” value=”firm.in”>.firm.in
<input type=checkbox name=”tld” value=”gen.in”>.gen.in
<input type=checkbox name=”tld” value=”ind.in”>.ind.in
<br><br>
<input type=”submit” value=”Check”><br>
</form>
Integrating the Domain Name Transfer Link with your website
If any Customer of yours wishes to Transfer their Domain Name from their Current Registrar to us, you can simply point them to the below link or you can have this link on your Website. Replace <#YOUR BRANDED URL#> WITH Your Branded URL [in your Reseller Control Panel go to Settings -> Branding -> Storefront & Control Panel -> URL]:
http://<#YOUR BRANDED URL#>/servlet/CheckAvailabilityServlet?&actionkey=transfer.
Integrating the Whois Lookup tool on your website
You can integrate the Whois Lookup into your website in two ways:
In order to directly link to the Whois Lookup page use the link below. Replace <#YOUR BRANDED URL#> WITH Your Branded URL, available at Settings -> Storefront & Control Panel -> URL, in your Reseller Control Panel.
http://<#YOUR BRANDED URL#>/whois?
If however you wish to have the Whois Lookup box on your server as a part of your website, you can use the Whois Form code given below. Substitute <#YOUR BRANDED URL#> with your Branded URL.
<form name=”WhoisForm” action=_quot; http:// <#your BRANDED URL#>/servlet/WhoisServlet” method=”get”>
<input name=”domainname” value=”">
<br>
<input type=”submit” value=”Whois Lookup”>
</form>
The StoreFront is now DEPRECATED and will be removed shortly. All Resellers are encouraged to stop using the Storefront and begin using the new powerful SuperSite and PartnerSite.
Tags: Amp, Branding, Current Registrar, gen., Gossimer, http, Input Type Text, Lt, Major Features, Pid, Profile, Quot, Reseller Control Panel, Reseller Id, Reseller Login, Resellers, Storefront, Type Password, Url, www.foundationapi.com/servlet/AuthenticationServlet_quot
Integration of 2Checkout version 1 and version 2 Credit Card Payment Gateway with your Reseller Account is identical. The Integration process does not involve ANY code writing, and all you need to do is fill up a form specifying your Account Details and Payment Collection preferences.
Before you Start
You need to ensure that you are an 2Checkout Merchant. You can signup for a Merchant Account from – https://www2.2checkout.com/2co/signup
Setup the Return URL within your 2Checkout Merchant Account
a. Login into your 2Checkout Merchant Account
b. Click on the 7. Setting Up Your Site. link
c. Scroll down to the Optional Parameters section and click on the link under Click here
d. Set both your Pending and Approved URLs as:
http://<Your_Control Panel_Branded_URL>/reseller/paymentgateway/generic/PostFormGateway.jsp?PGNAME=2checkout
* You need to replace <Your_Control Panel_Branded_URL> with the URL you have set within your Reseller Control Panel under Settings -> Storefront & Control Panel -> URL.
e. Click on the Save Changes button to submit these changes.
Submit your Account Details and Preferences to us
1. Login into your Reseller Control Panel from
2. Click on the Settings -> Finance & Billing -> Payment Gateway -> List / Add
3. Click on the Add Payment Gateway button and then on either the Add a 2Checkout Credit Card Gateway or Add a 2Checkout Version 2 Credit Card Gateway link, depending upon the version of your 2Checkout Merchant Account.
4. Enter the following 2Checkout Details and save your changes by clicking on the Submit button
Gateway Name - This Gateway Name would be shown to your Customers / Sub-Resellers, when they are about to make Payment. You can use something like “Credit Card Payment” or “Visa/Master Card” etc.
Vendor Id - The Vendor Serial Number assigned by 2Checkout when you create a Merchant account with them.
Secret Word - The security code (word) for your Merchant Account with 2Checkout.
Currency – Currently we allow 2Checkout to charge your Customers / Sub-Resellers only in US Dollar (USD).
Currency Exchange Rate – If the Currency you selected in the previous option varies from your Selling Currency, we will have to convert the Invoice Value to the 2Checkout Currency, BEFORE we send your Customer to 2Checkout. For this purpose the system needs a exchange rate between the two.
You may choose to maintain this exchange rate yourselves or let us maintain it for you. We download forex rates on a daily basis from a recognized source and update exchange rates for you. If however you wish to update the rates yourselves then you may do so by selecting the I would like to Maintain the currency exchange rate myself checkbox AND entering your own conversion rates.
Select the types of CREDIT CARD that your Merchant Account Supports: You need to select the types of Credit Card that are supported by your 2Checkout Merchant Account. The credit card types available are – Visa, Master, Amex, Discover, Diners Card and JCB. You can also decide the sequence in which you want your Customers / Sub-Resellers to view these Card types.
Payment Gateway Access Level for Customers and Sub-Resellers – Click here to know more about Payment Gateway Transaction types and Access Levels for your Customers and Sub-Resellers >>
Deciding whether a Sub-Reseller and Customer is Credited with the Gross Amount or Net – Your Bank and 2Checkout deducts a fee on a per transaction basis. There are two types of Transactions that can pass through your 2Checkout integration – Invoice/Debit Note Payment, and Add Funds. Click here to know more about Payment Gateway Transaction types and Access Levels for your Customers and Sub-Resellers >>
In case of an Add Funds Transaction, you have the option of crediting your Customers/Sub-Resellers with the NET Amount that 2Checkout credits you with, or choose to credit them with the gross funds and bear the charges yourselves. The NET Amount is calculated by subtracting the per transaction charges from the Transaction Amount. The per transaction charges are calculated by adding the Total Fixed fee charged per transaction and the Total Variable fee charged per transaction.
Total Fixed fee charged per transaction for your merchant account (Per Transaction Fixed Fee charged by your Bank + Per Transaction Fixed Fee charged by the 2Checkout Credit Card Gateway) - Enter the total fixed fee that is charged per transaction in the given textbox. This information is primarily used to calculate the Net Amount that your merchant account is credited with, if you choose to credit your customer / sub-reseller with the Net Amount in an Add funds Transaction. Your bank and/or your gateway may be charging you a different amount of fixed fee per transaction for different credit card types e.g. a certain fixed fee per transaction for Visa cards and a different fixed fee for American Express cards. In case, the amount of fixed fee is different per credit card type, then enter the highest amount of fixed fees charged per transaction to your account e.g. if the total fixed fee for Visa Cards is 25 cents per transaction and the total fixed fee for American Express cards is 30 cents per transaction, then enter 0.30 in the textbox. If there is no fixed fee charged per transaction then enter 0.
Total Variable fee charged per transaction for your merchant account - Enter the total variable fee that is charged per transaction in the given textbox. This information is primarily used to calculate the Net Amount that your merchant account is credited with, if you choose to credit your customer / sub-reseller with the Net Amount in an Add funds Transaction. Your bank and/or your gateway may be charging you a different amount of variable fee per transaction for different credit card types e.g. a certain variable fee per transaction for Visa cards and a different variable fee for American Express cards. In case, the amount of variable fee is different per credit card type, then enter the highest amount of variable fees charged per transaction to your account e.g. if the total variable fee for Visa Cards is 2.50% per transaction and the total variable fee for American Express cards is 3.00% per transaction, then enter 3.00 in the textbox. If there is no variable fee charged per transaction then enter 0.
IMPORTANT
If you have selected to credit a Customer/Sub-Reseller with the Net Amount in an Add Funds transaction, then you must submit either a Fixed Transaction fee (greater than 0) or a Variable Transaction fee (greater than 0).
Send me a Reminder if a transaction is pending for more than x days – In case you have not yet accepted a payment sent to you via the 2Checkout Payment Gateway, you can get e-mail reminders sent across to you from our system, after every x number of days, until you either Approve or Decline these payments. Click here to know how to Approve / Decline Payment Gateway transactions >>
Display Position – If you plan on adding Multiple Gateways you can select the position in which you wish to display this Gateway on your Payment Page.
IMPORTANT
The SuperSite contains information about the various Payment options you offer to your Customers and also presents these options at the time of purchasing Products and Services. This data is downloaded to your SuperSite from your Control Panel and cached (stored) on the SuperSite Server. Hence, you would need to refresh the cache of your SuperSite once you have completed the above process. You can accomplish this from within your Control Panel itself by clicking on Tools -> Reload SuperSite & PartnerSite Cache -> SuperSite Payment Preferences. Click here to know what is SuperSite >>
Tags: 2checkout, Account Details, American Express, bank, cent, Code Word, Credit Card Gateway, Credit Card Payment, Gateway Link, http, Jsp, Merchant Account, Optional Parameters, Payment Gateway, Reseller Account, Reseller Control Panel, Resellers, Return Url, Secret Word, Security Code, Serial Number, Storefront, Vendor Id, Visa Master Card
Your Company Users can login into their respective Control Panels from your Branding URL, followed by their Role [Support/Billing/Sales], as explained below:
Support User Login URL – http://<YOUR_BRANDED_URL>/support
Billing User Login URL – http://<YOUR_BRANDED_URL>/billing
Sales User Login URL – http://<YOUR_BRANDED_URL>/sales
You can retrieve your Branded URL from your Reseller Admin Control Panel -> Settings -> Storefront & Control Panel -> URL. Please read to learn more about managing your Branded URL.
Tags: Admin Control Panel, Amp, http, Login Details, Lt, Storefront, Url
Follow the instructions below to begin integration with the API using .NET.
Make sure you have read the General API Integration Instructions first. If you have already integrated the .NET API Kit at your end, read the Change Log first to know what has changed since.
Reference:
General API Integration Instructions >>
Change Log >>
Step 1. Download the API Kit
Click the link below to download the relevant API kits (updated on 6th March, 2008).
Option 1 – Setup Application
NET_Core_Setup_v3_10.zip
NET_Domains_Setup_v3_10.zip
NET_Hosting_Setup_v3_10.zip
NET_OtherProducts_Setup_v3_10.zip
Option 2 – Compressed ZIP File
NET_CoreExamples_v3_10.zip
NET_DomainsExamples_v3_10.zip
NET_HostingExamples_v3_10.zip
NET_OtherProductsExamples_v3_10.zip
Step 2. Download the API Documentation
The complete documentation of all classes and methods available in the API can be found in the Docs below. The Docs below are javadocs, but the function names and explanations remain the same for all the platforms and the documentation is self explanatory. We recommend you download the docs and read through them completely once before you integrate your application (updated on 6th March, 2008).
Core_Docs_v3_10.zip
Domains_Docs_v3_10.zip (updated on 1st April, 2008)
Hosting_Docs_v3_10.zip
OtherProducts_Docs_v3_10.zip
Step 3. Install the API Kit
There are two ways by which you may install the API Kit on your computer:
Option 1 – Setup Application
We recommend that you download, unzip and run the setup file. First, however, please be sure that you have administrator privileges to install applications on the computer. If you’re hosting your website with a third-party provider and do not have the rights to install applications, then you will not be able to use the setup application to install the kit. Therefore, you may manually install and use the required API files from our compressed ZIP file option (Refer to Option 2 below).
The setup application will perform the following tasks:
A .NET dll containing the kit, and the relevant documentation, will be placed inside your “Program Files” folder; by default, the path would be “C:Program Files”. Therefore, you should be able to find the DLL and the documentation corresponding to your kit. Please ensure that you have the .NET runtime installed before you attempt to use the API kit.
Relevant shortcuts will be placed in your start menu.
If you have Microsoft Internet Information Server version 5.0 or greater (IIS) installed, the setup file will create a virtual directory named as OrderBoxCoreExamples , OrderBoxDomainsExamples, OrderBoxHostingExamples, OrderBoxOtherProductsExamples in your “Default Web Site”. The setup file allows you to give the virtual directory any name of your choice. This virtual directory contains a Visual Studio .NET project called OrderBoxCoreExamples , OrderBoxDomainsExamples, OrderBoxHostingExamples, OrderBoxOtherProductsExamples, which illustrates every function provided in the OrderBox API. You may run the examples by either by:
Opening it in Visual Studio.Net and pressing the F5 key, or
Visiting the url http://localhost/examples/ in your browser.
Option 2 – Compressed ZIP File
Download the zip file and extract the files to any temporary folder. The temporary folder will now contain the following subfolders:
OrderBoxCoreExamples , OrderBoxDomainsExamples, OrderBoxHostingExamples, OrderBoxOtherProductsExamples – The folder contains the example files to illustrate every method in the kit.
bin – This folder contains the actual kit DLL file. This is a .NET DLL, and requires the .NET runtime to be pre-installed, for use.
Installing the examples on your own computer:
Create the Examples folder (OrderBoxCoreExamples , OrderBoxDomainsExamples, OrderBoxHostingExamples, OrderBoxOtherProductsExamples) inside the root of any website configured in IIS, on your computer. IIS contains a default website called “Default Web Site”, having it’s root folder set to “c:Inetpubwwwroot”. If you have a default installation of IIS, you would create a subfolder called “examples” inside that root folder. Please note that you may name the examples directory as you please, you are not restricted to the name OrderBoxCoreExamples , OrderBoxDomainsExamples, OrderBoxHostingExamples, OrderBoxOtherProductsExamples.
Open the IIS management console by navigating to “Start > Programs > Administrative Tools > Internet Information Services”
Now, we need to create an “Application Root” for the examples folder. This can be accomplished by opening the properties window for that directory and clicking on the “Create” button.
If you successfully completed the above steps, you may open your browser and point it to http://localhost/examples (if you gave your examples folder some other name, replace the last word of the URL with that name).
Step 4. Run the examples
Please note first that the ASP.NET examples are provided solely to help illustrate usage of the ASP.NET Kit. You may use the example files directly, or simply use them as a reference project while developing your application to interface with the OrderBox API.
IIS 5.0 and the .NET runtime MUST be installed on your machine, BEFORE you run the kit setup file.
After you’ve installed the ASP.NET examples, open your browser, and point it to “http://localhost/your-examples-folder” (you may use the name given to the examples folder to replace “examples” in the preceding url). This shall open the ASP.NET examples webpage, which is divided into three frames:
The frame on the top allows you to mention the Service URL, your Reseller Username, your Password, ParentID, Language Preference, Role, Debug Mode to make API calls independent of the credentials provided in the APIConstants.vb file. This frame also provides you a checkbox to enable/disable the credentials of this frame. That is, if the checkbox is not selected the APIConstants.vb file credentials will be used to make the API call.
The lower left frame contains a list of links to pages that illustrate the use of each method in the API. When you click a link, it’s corresponding page is displayed in the right hand side frame. You may test the functions by putting in the call parameters in the page.
Step 5. Understanding Errors
Make sure you have read the General API Integration Instructions to obtain links to the error format and possible error documents. Reference: General API Integration Instructions >>
Step 6. Writing your own code
The API classes exist within the namespace OrderBoxCoreLib , OrderBoxDomainsLib, OrderBoxHostingLib, OrderBoxOtherProductsLib. The class named “Properties”, contains static variables useful for debugging, and changing the SOAP End Point.
The following are valid end points for the OrderBox Demo Server:
HTTP DEMO SERVICE URL: “http://api.onlyfordemo.net/anacreon/servlet/APIv3-XML”
HTTPS DEMO SERVICE URL: “https://api.onlyfordemo.net/anacreon/servlet/APIv3-XML”
The following are valid end points for the OrderBox Live Server:
HTTP LIVE SERVICE URL: “http://www.myorderbox.com/anacreon/servlet/APIv3-XML”
HTTPS LIVE SERVICE URL: “https://www.myorderbox.com/anacreon/servlet/APIv3-XML”
Example: To test the examples, you must first create an account on the Demo server. To use the Customer webservices of the OrderBox API, instantiate the customer object as demonstrated below. If at any time the SOAP end point must be changed to some other url, you may simply put the new SOAP end point into this variable.
Properties.Url = “http://soap-end-point”;
The following code instantiates the Customer object. You may now use it’s methods to call various OrderBox API functions. These are SOAP calls, that will be made to the SOAP End Point specified by the Propeties.Url variable.
Customer oCustomer = new Customer ();
To illustrate the use of this object, we shall take the example of a method called getCustomerId. Examine the code snippet below. It uses an object of the Customer class to request the id of a specified username.
|
int result = 0; // First we make sure that our SOAP End Point is pointing to the correct resource. // The examples use a class called Constants, containing static properties that hold your credentials. You may set these properties once, and later in the file simply pass them to the method calls as required. The values set below are simply examples, and must be replaced with your own credentials. // Since we wish to view the soap request and response … // Next we instantiate an object of the Customer class. // We then use this customer object to request the id for a specified username. // Now we display the soap request. // Then we display the soap response. // Lastly we display the result. |
The above code accepts authentication details and a username, and returns an integer value, which is the id corresponding to the username passed. The last parameter of the getCustomerId method is the username for which we requested an id. This id was returned into the integer variable result.
Please note the first five parameters of this method call. They consist of the username, password, role, language preference, and parent id respectively, of the individual calling the method. For the examples, you may make a demo account on the demo server, and pass the username, password, role, language preference and parent id from your demo account to this method call. These are the first five parameters that are passed to every API call that is undertaken. Please make sure that you pass accurate details for these parameters. If you do not, your method call will be unsuccessful.
In registering/managing any domain name on the demo server always use ns1.onlyfordemo.net and ns2.onlyfordemo.net as your nameservers. ANY OTHER Nameserver will result in an INVALID NAMESERVER error.
Step 7. Change the information to Live information when you are ready
When you have got the examples working correctly, you may set the value of Properties.Url to one of the live URL’s, and pass your own authentication details when making API calls.
Tags: 10 Zip, administrator, Administrator Privileges, Api, Api Documentation, Api Guide, Api Kit, ASP.NET, Computer Option, Demo Server, Docs, Explanations, http, installation of IIS, Integration Guide, Internet Information, Internet Information Services, Javadocs, Names, Net Hosting, Option 1, Party Provider, Platforms, Properties, Reference, Setup Application, Step 1, Step 2, Third Party, Two Ways, Visual Studio.Net, www.myorderbox.com/anacreon/servlet/APIv3-XML, Xml, Zip File, Zip Net
How does Gossimer, LLC Sub-Domain Forwarding work?
Using the Sub-domain forwarding service, you can forward any visitor from http://subdomain.your-domain-name.com/ to http://destination-domain-name.com/subdomain/. The Sub-Domain Forwarding service can also be used in conjunction with URL Masking and Path Forwarding services.
For example, if Sub-Domain Forwarding is enabled, then:
http://payments.your-domain-name.com will get successfully forwarded to http://destination-domain-name.com/payments/
http://credit-card.payments.your-domain-name.com will get forwarded to http://destination-domain-name.com/payments/credit-card/
Enabling / Disabling Sub Domain Forwarding
You can enable / disable Sub-Domain Forwarding after you have bought Domain Forwarding for a particular Domain Name. You need to follow the steps mentioned below to activate the same:
Click on the Domain name in the search results to get to the Order Details view.
Upon clicking on Manage Service, selecting the check box enables Sub-Domain Forwarding, while deselecting the same disables this feature.
Tags: Conjunction, Control Panel, Credit Card Payments, Destination Domain Name, Disables, Domain Forwarding, Domain Forwarding Service, Domain Search, Domain Service, Forwarding Services, http, Llc, Manage Service, Path, Search Domain, Sub Domain, Url
The Direct Download Manager is another feature exclusive to the Gossimer Control Panel. It helps you save several hours of your valuable time by allowing you to download files to your web space directly from another server via a HTTP URL or FTP URL.
If you need to transfer large files to your web space that are already available on some other server, then you would typically have to download these files locally to your desktop and re-upload them. All of this could take up quite some time depending on the file size and your Internet connection speed. However, using the server-to-server transfer facility provided by the Direct Download Manager, you can utilize the server’s high speed connection to directly download large files. So, even if you are connected to the Internet via a dial-up connection, file transfers will occur at the very high speeds.
This feature is most useful when you are transferring your Website data from your previous Web Hosting provider, as you could just zip up your whole website and instead of downloading it locally to your desktop, directly download it on the server and unzip it there.
Using the Direct Download Manager
Follow the process mentioned below to download files using the direct download manager:
1. Login to your Control Panel and search for the domain name for which you have purchased this hosting package.
2. In the search results view, click on the domain name. This will take you to the order details view.
3. Click on Manage Web Hosting Service in the lower toolbar.
4. In the Website Management interface pop-up that follows, go to Manage Website -> Additional Tools -> Direct Download Manager.
5. Here, provide the following details
6. Click on Download Now. This would download the file to the location you have specified.
Tags: Additional Tools, Control Panel, Destination Directory, Details View, Dial Up Connection, Direct Download Manager, Domain Name, Download Manager, Downloaded File, File Transfers, High Speed Connection, High Speeds, http, Internet connection speed, Manage Web Hosting Service, Management Interface, Quite Some Time, Server Ftp, Server Transfer, View 3, Web Hosting, Web Hosting Provider, Web Hosting Service, Web Space, Website Management
In the event that you notice some delay in displaying content on your SuperSite/PartnerSite, Gossimer allows you to pinpoint the cause for this delay, through a nifty tool. If you are not able to troubleshoot the reason for this lag through this tool, we would request you to forward Gossimer the output of this tool at support@gossimer.com.
Enabling this tool
There are two ways in which you can enable this tool on your SuperSite/PartnerSite:
1. You may enable this tool from your SuperSite/PartnerSite URL by submitting the following URL, and then navigate over to the page that is taking time to load
http://<Your SuperSite URL>/?show_profiler=true
http://<Your PartnerSite URL>/?show_profiler=true
2. You may also visit the page which is taking time to load and enable this tool directly from that page, by submitting the URL, as displayed in the following example -
http://<Your SuperSite URL>/somepage.php?show_profiler=true
http://<Your PartnerSite URL>/somepage.php?show_profiler=true
However if the URL already has some parameters being passed to it through “&”, then you need to enable this tool by submitting the URL as displayed in the following example -
http://<Your SuperSite URL>/somepage.php?action=promos_amp;show_profiler=true
http://<Your PartnerSite URL>/somepage.php?action=promos_amp;show_profiler=true
Upon enabling this tool, you would notice results such as the following, at the very bottom of that page -
Sample Output
============================================================================
PROFILER OUTPUT
============================================================================
Calls Time Routine
—————————————————————————–
1 4.2040 ms ( 0.26 %) common/footer/footer.html
1 3.9160 ms ( 0.24 %) common/header/header.html
1 2.2640 ms ( 0.14 %) common/header/includes/change_language.html
1 9.7451 ms ( 0.59 %) common/header/includes/header_cart.html
1 3.5040 ms ( 0.21 %) common/header/includes/header_dashboard.html
1 3.5779 ms ( 0.22 %) common/header/includes/header_logindiv.html
1 2.5790 ms ( 0.16 %) common/header/includes/static_bar_under_menu.html
1 0.2789 ms ( 0.02 %) footer
1 159.7109 ms ( 9.70 %) getCountryCodeForIP
1 414.6559 ms ( 25.18 %) getResellerDetailsFromURL
1 3.3398 ms ( 0.20 %) header
1 22.2020 ms ( 1.35 %) homepage/index.html
1 3.5648 ms ( 0.22 %) promos/sidebar_promo_blurb.html
1 7.3581 ms ( 0.45 %) root.html
1 14.2081 ms ( 0.86 %) sidebars/sidebar.html
…
In the bottom, you will see something like this:
1 82.7694 ms ( 5.03 %) unprofiled
838.3358 ms ( 50.90 %) Missed
============================================================================
1647.0261 ms (100.00 %) OVERALL TIME
============================================================================
Disabling this tool
Once you have noted the complete output of this tool (as displayed above), you should disable it. This can be disabled in any one of the following ways:
1. You may disable this tool from your SuperSite/PartnerSite URL
http://<Your SuperSite URL>/?show_profiler=false
http://<Your PartnerSite URL>/?show_profiler=false
2. You can visit any page and disable this tool from that page, by submitting the URL, as displayed in the following example -
http://<Your SuperSite URL>/somepage.php?show_profiler=false
http://<Your PartnerSite URL>/somepage.php?show_profiler=false
However if the URL already has some parameters being passed to it through “&”, then you need to disable this tool by submitting the URL as displayed in the following example -
http://<Your SuperSite URL>/somepage.php?action=promos_amp;show_profiler=false
http://<Your PartnerSite URL>/somepage.php?action=promos_amp;show_profiler=false
Once you close your browser window, this tool gets automatically disabled.
Tags: Amp, Forward, Gossimer, HTML, http, Lt, Nifty Tool, Parameters, People, Php, Reason, Somepage, Taking Time, Two Ways, Url
All modifications to your SuperSite or PartnerSite need to be done from the Admin Area.
There are 2 ways to login to the SuperSite or PartnerSite Admin Area.
From your Reseller Control Panel:
1. Login to your Reseller Admin Control Panel, from http://manage.gossimer.biz/reseller.
2. To modify the SuperSite, go to Settings -> SuperSite & PartnerSite -> Customize SuperSite.
To modify the PartnerSite, go to Settings -> SuperSite & PartnerSite -> Customize PartnerSite.
This will launch the respective Admin panel in a new window.
From the Supersite or PartnerSite URL:
1. Go to http://<your supersite URL>/admin, or http://<your partnersite URL>/admin, as applicable.
2. Enter the Username and Password to your Reseller Account, and click on Submit.
This will take you into the Admin area, where you can make any desired modifications to your SuperSite or PartnerSite.
Tags: 2 Ways, Admin Area, Admin Control Panel, Admin Panel, Amp, Biz, Control Panel 1, Customize, http, Launch, Lt, Reseller Account, Reseller Control Panel, Supersite, Url
The System has the built-in ability to allow you to integrate ANY Payment Gateway to allow your Customers and Sub-Resellers to pay you. Obviously EVERY Commercial Payment Gateway has a DIFFERENT Integration Process. There is no way to build a generic module that can directly talk to ANY Payment Gateway. Instead what we have done is built a module that can pass parameters to an intermediate bridge on your server, that you can then integrate with any Payment Gateway of your choice.
The logic of the flow in this integration is quite simple -
Step 1: Any Customer/Sub-Reseller of yours needs to pay you money and selects a Payment Gateway to do so.
Step 2: We simply create a collection of messages that you will need to charge this Customer/Sub-Reseller. This set of messages would contain things like Order Information, Amount etc. We then redirect the Customer to YOUR Server with this set of messages.
Step 3: You then charge the Customer/Sub-Reseller using these messages, and your Payment Gateway.
Step 4: You then redirect the Customer BACK to our Server with a status of the transaction as to whether you have successfully charged the Customer/Sub-Reseller.
Step 5: Once this is done we Add these funds to the Customer/Sub-Reseller account, and/or process any associated Orders.
This interaction can be diagrammatically represented as follows -

Let us break down the process you need to carry out in order to complete integrating your Payment Gateway with our system
|
[i] What you will Need |
You will need the following before you begin integrating your Payment Gateway with the System
Details on the process of integrating with your Payment Gateway
Server space on your server
Download the appropriate integration kit from the below list depending on what your Server supports for the integration
ASP Integration Kit version 3.0 (last updated on 10th March, 2008)
JSP Integration Kit version 3.0 (last updated on 10th March, 2008)
PHP Integration Kit version 3.0 (last updated on 10th March, 2008)
IMPORTANT: Must Read for those UPGRADING from any older Kit
If you have downloaded any of the Payment Gateway Kits prior to 25th August, 2006, then it is recommended that you upgrade to the latest version with MD5 Checksum Algorithm, by following the two step process listed below:-
Step 1: Upgrade your Payment Gateway Integration Kit
1. ASP Integration Kit: If you have already integrated this Kit with your website, then you need to simply download the ASP Integration Kit ver 2.0 and extract the functions.asp file. Then replace the old file that you have uploaded on your server with this new functions.asp file.
2. JSP Integration Kit: If you have already integrated this Kit with your website, then you need to download the JSP Integration Kit ver 2.0 and extract the functions.jsp file. Then upload this new functions.jsp file on your server and make the following modifications to your paymentpage.jsp and postpayment.jsp:
A. Modifications to paymentpage.jsp
i. Replace the below code from your paymentpage.jsp -
<%@ page import =”java.util.zip.Adler32,
java.math.BigDecimal” %>
<%!
private boolean verifyChecksum(int paymentTypeId, String transId, int userId,
String userType, String transactionType,
String invoiceIds, String debitNoteIds,
String description, double sellingAmount,
double accountingAmount, String key, String checksum)
{
String str = paymentTypeId + “|” + transId + “|” + userId + “|” + userType+ “|” +
transactionType + “|” + invoiceIds + “|” + debitNoteIds +“|” +
description + “|” + sellingAmount + “|” + accountingAmount + “|” + key;
Adler32 adl = new Adler32();
System.out.println(“CheckSumStr: “ + str);
adl.update(str.getBytes());
long adler = adl.getValue();
return (“” + adler).equals(checksum);
}
%>
Replace the above code in your paymentpage.jsp with -
<%@ include file=“functions.jsp” %>
ii. Enclose all occurances of verifyChecksum function call within a try-catch block.
B. Modifications to postpayment.jsp
i. Replace the below code from your postpayment.jsp -
<%@ page import =“java.util.zip.*,java.io.*,java.util.*,java.math.*” %>
<%!
private String generateCheckSum(String transId, double sellingAmount, double accountingAmount, String status,
String rkey, String key)
{
String str = transId + “|” + sellingAmount + “|” + accountingAmount + “|” +
status + “|” + rkey + “|” + key;
Adler32 adl = new Adler32();
System.out.println(“CheckSumStr: “ + str);
adl.update(str.getBytes());
return String.valueOf(adl.getValue());
}
%>
Replace the above code in your postpayment.jsp with -
<%@ include file=“functions.jsp” %>
ii. Enclose all occurances of generateChecksum function call within a try-catch block.
3. PHP Integration Kit: If you have already integrated this Kit with your website, then you need to simply download the PHP Integration Kit ver 2.0 and extract the functions.php file. Then replace the old file that you have uploaded on your server with this new functions.php file.
Step 2: Select the correct Checksum Algorithm within your Reseller Control Panel
i. Login into your Reseller Control Panel from http://manage.gossimer.biz/reseller
ii. Go to Settings -> Finance and Billing -> Payment Gateway -> List / Add
iii. Click on the Custom Payment Gateway that you are upgrading.
iv. Select the Checksum Algorithm as MD5 and save your changes by clicking on Submit.
|
[ii] Adding your Payment Gateway |
Next you need to Add your Payment Gateway to our system
You can Add or Modify your current/preferred Payment Gateway within your Reseller account by following the steps given below:
1. Login into your Reseller Control Panel from http://manage.gossimer.biz/reseller
2. Go to Settings -> Finance and Billing -> Payment Gateway -> List / Add
3. Click on the Add Payment Gateway button and then on the Add any other Payment Gateway link.
4. Enter the following Details and save your changes by clicking on Submit.
Gateway Name – This is the heading for your Payment Gateway and it will be displayed to your Customers/Sub-Resellers on the Payment page within a dropdown of options. A typical heading could be VISA/MasterCard/AMEX in order to signify that your Customer/Sub-Reseller can pay using those modes if they select this particular option.
Gateway URL – This is the URL on your server to which we will redirect the Customer/Sub-Reseller. This is explained in detail further ahead. Currently simply fill in some URL. We will change this later to the correct URL.
Payment Gateway Access Level for Customers and Sub-Resellers – Click here to know more about Payment Gateway Transaction types and Access Levels for your Customers and Sub-Resellers >>
Send me a Reminder if a transaction is pending for more than x days – In case you have not yet accepted a payment sent to you via this Payment Gateway, you can get e-mail reminders sent across to you from our system, after every x number of days, until you either Approve or Decline these payments. Click here to know how to Approve / Decline Payment Gateway transactions >>
Display Position – If you plan on adding Multiple Gateways you can select the position in which you wish to display this Gateway on your Payment Page.
Checksum Algorithm – Select MD5 if you have downloaded the latest Integration Kit (version 2 or above) or have followed the upgrade instructions listed in step [i]. Select Addler 32 only if you are still using an older kit and haven’t yet upgraded.
|
[iii] Preparation on your Server |
On your own Server upload the corresponding files from the integration kit you downloaded. We will use the PHP Kit as an example in this document. You will typically have the following files
paymentpage.php – This is the page that we will redirect your Customer/Sub-Reseller to. From this page you need to collect the data we send and use the data to charge your Customer/Sub-Reseller. After you have charged the Customer/Sub-Reseller you will then redirect the Customer/Sub-Reseller to postpayment.php
postpayment.php – This page simply redirects your Customer back to our Server after you have charged him, with appropriate variables required by our Server
functions.php – This is just a functions file used by the other pages for certain calculations
Both the paymentpage.php and the postpayment.php pages contain a variable called KEY. For instance in the above two files you will find a line as follows
$key = “eF9dmG8288OFd9pzzTeHJ3mNvR26xN”; //replace ur 32 bit secure key , Get your secure key from your Reseller Control panel
You need to replace this value in both the files with the KEY we generated for you at the time of adding the Gateway. You can check it from the Settings -> Finance and Billing -> Payment Gateway -> List / Add section by clicking on the Payment Gateway that you added
If at anytime you feel that you may have compromised the security of this Key, you can regenerate a new one from this section by clicking on the Generate Key button. You will then have to replace the New Key in your code.
|
[iv] Set the Gateway URL |
You will now need to set the Gateway URL which we skipped earlier while adding the Gateway. The Gateway URL is the full http:// URL that will be used to access the paymentpage.php on your server. So a typical Gateway URL would look like “http://www.yourserver.com/paymentpage.php”
Visit the Settings -> Finance and Billing -> Payment Gateway -> List / Add section and click on the Payment Gateway you added. Click on Modify and enter the Gateway URL as described above. Make sure the URL is entered complete with the “http://” or “https://” all the way up to the name of the page. DO NOT pass any Parameters to the URL
CORRECT GATEWAY URL
http://www.yourserver.com/paymentpage.php
WRONG GATEWAY URLS
www.yourserver.com/paymentpage.php
http://www.yourserver.com/paymentpage.php?someparam=something
|
[v] Testing the Integration so far |
You are now ready to test your integration and verify that it works. Follow the steps below to Test your Integration
1. Click on Settings -> Finance and Billing -> Payment Gateway -> List / Add
2. Click on the Payment Gateway you added
3. Click on Test for Add Funds or Test for Payment, depending upon the type of transaction you wish to test.
This will popup a new window redirect you to the Gateway URL you had specified passing it the following parameters in a POST request
|
Parameter KEY |
Type |
Description |
|
paymenttypeid |
integer |
This is the Id assigned to your Payment Gateway. You can see it in the Payment Gateway Detailed View |
|
transid |
string |
This refers to a unique transaction ID which we generate for each transaction |
|
userid |
integer |
This is the ID of the Customer/Sub-Reseller who is doing this transaction |
|
usertype |
string |
This refers to the type of user performing this transaction. The possible values are Customer or Reseller |
|
transactiontype |
string |
This refers to the type of transaction taking place. This could either be ResellerAddFund, CustomerAddFund, ResellerPayment, CustomerPayment (Reference: Payment Gateway Transaction types and Access Levels for your Customers and Sub-Resellers >>) |
|
invoiceids |
string |
This refers to the Comma-Separated list of Invoice IDs which your Customer/Sub-Reseller is paying for. This will have a value only if the transactiontype is ResellerPayment or CustomerPayment |
|
debitnoteids |
string |
This refers to the Comma-Separated list of Debit Note IDs which your Customer/Sub-Reseller is paying for. This will have a value only if the transactiontype is ResellerPayment or CustomerPayment |
|
description |
string |
This refers to the delimiter-separated Text Description of the Invoices and Debit Notes which your Customer/Sub-Reseller is paying for. This will have a value only if the transactiontype is ResellerPayment or CustomerPayment |
|
sellingcurrencyamount |
numeric (up to 3 decimal points) |
This refers to the amount of transaction in your Selling Currency |
|
accountingcurrencyamount |
numeric (up to 3 decimal points) |
This refers to the amount of transaction in your Accounting Currency |
|
redirecturl |
string |
This is the URL on our server, to which you need to send the user once you have finished charging him |
|
checksum |
string |
This refers to a Random Alpha-Numeric String generated using a Mathematical Algorithm (a complex quadratic equation) to ensure that data is not tampered along the way. A checksum is calculated on all the data sent to you using your 32 bit Alpha-numeric Key. The same checksum maybe verified at your end to ensure that the data received is valid |
Besides, we also pass the following details which allow you to pre-fill the Customer’s / Sub-Reseller’s details on the Payment Gateway page –
|
Parameter KEY |
Type |
Description |
|
name |
string |
This will pass the Customers / Sub-Resellers Name |
|
company |
string |
This will pass the Customers / Sub-Resellers Company Name |
|
emailAddr |
string |
This will pass the Customers / Sub-Resellers Email Address |
|
address1 |
string |
This will be the first line of the Address |
|
address2 |
string |
This will be the second line of the Address |
|
address3 |
string |
This will be the third line of the Address |
|
city |
string |
The Customer’s / Sub-Reseller’s city |
|
state |
string |
The Customer’s / Sub-Reseller’s state |
|
country |
string |
The Customer’s / Sub-Reseller’s Country |
|
zip |
string |
The Customer’s / Sub-Reseller’s zip |
|
telNoCc |
string |
The Country code of the telephone number of the Customer / Sub-Reseller. |
|
telNo |
string |
The telephone number of the Customer / Sub-Reseller |
|
faxNoCc |
string |
The Country code of the fax number of the Customer / Sub-Reseller. |
|
faxNo |
string |
The fax number of the Customer / Sub-Reseller |
These variables can directly be accessed in the paymentpage.php. If all goes well, then on clicking the Test PG Integration button you should see the following output on your browser in a separate window
File: paymentpage.php
Checksum Verification …….. Verified
List of Variables Received as follows
paymenttypeid: 202
transid: 1120
userid: 1
usertype: Customer
transactiontype: CustomerAddFund
invoiceids:
debitnoteids:
description:
sellingcurrencyamount: 5
accountingcurrencyamount: 10
redirecturl: http://manage.gossimer.biz/servlet/TestCustomPaymentAuthCompletedServlet
address1 = 213 Main St.
company = My Solutions
address2 = null
zip = 17541
name = Customer Name
city = NYC
telNoCc = 1
country = US
telNo = 45784126
emailAddr = customer@domain.com
address3 = null
state = NY
faxNoCc = null
faxNo = null
checksum: 8cd2a658d2de2c995fc790b66a508ec3
We will stop here right now. If you get the above output in your browser window then you have perfectly followed the steps so far.
If you get any of the following results instead then you can appropriately refer back to see if you have correctly set the following data:
|
Result |
Possible Solution |
|
ERROR: Checksum Mismatch |
This can only happen if the key you used is incorrect. Open the paymentpage.php file and verify that the value of the Key is exactly the same as the Key displayed in your Payment Gateway detailed view. Make sure there are no extra spaces or any missing characters. |
|
Page Not Found/Displayed |
If no page is found or displayed then the URL could be incorrect. Verify that the URL in the browser window is the correct path to your Payment Page on your Server. Verify that the URL has been correctly set with in the Gateway URL field of your Payment Gateway. Also verify that your web server is working perfectly |
|
Other Possible Issues |
Verify that variables passed to your script through the POST method are working appropriately and your web server supports the same. |
If you do not get this output then you should revert back and check if you have properly inserted your key in the paymentpage.php file, and that the Gateway URL is properly set. Make sure you proceed ahead only after you get the above output for your specific integration kit.
Let us try and understand what we have achieved so far. Basically a set of parameters are passed from our Server to your Server, along with a checksum. If you open your corresponding paymentpage.php page you will see the following code in it
if(verifyChecksum($paymenttypeid, $transid, $userid, $usertype, $transactiontype, $sellingcurrencyamount, $accountingcurrencyamount, $key, $checksum))
{
// YOUR CODE GOES HERE
}
else
{
echo “ERROR: Checksum Mismatch”;
}
Similar code will exist in the ASP and JSP integration kits. Your goal is to simply put your code inside the braces of the Verify Checksum. Within these braces you will put in code to register these variables in a session, or put them in your local database and then proceed ahead with charging your Customer
The VerifyChecksum function simply validates that the data you have received is valid and is sent by OUR SERVER. If the VerifyChecksum function fails then you MUST NOT proceed with the transaction.
IMPORTANT
It is imperative that you test your integration so far, by clicking on both the Test for Add Funds and Test for Payment buttons, before continuing to integrate your website with your Payment Gateway provider.
|
[vi] Charging the Customer/Sub-Reseller on your Payment Gateway |
You have now successfully achieved the integration steps up to sending the Customer/Sub-Reseller to YOUR Server. You now need to charge this Customer/Sub-Reseller. At this stage you have the list of variables that were passed to you in the paymentpage.php. It is recommended that you either store these variables in some local database of yours or store them in a session, before proceeding ahead, so that you can access these variable values at the time of sending the Customer/Sub-Reseller back after charging him. Storing these is explained in the previous section. After doing so you then must charge this Customer/Sub-Reseller. In doing so the following values are important for you
|
sellingcurrencyamount |
numeric (up to 3 decimal points) |
This refers to the amount of transaction in your Selling Currency |
|
accountingcurrencyamount |
numeric (up to 3 decimal points) |
This refers to the amount of transaction in your Accounting Currency |
The above amounts are the amounts you need to charge your Customer/Sub-Reseller. If your Payment Gateway Currency is the same as any of the above you may freely use one of the above values. If on the other hand the Currency your Gateway uses is different you will need to put in code to convert the amount we send to the amount you wish to charge.
Once you have finished charging your Customer/Sub-Reseller you will need to then send the Customer/Sub-Reseller back to our Server along with the status of the transaction, in order to allow us to Add those Funds to his account and process any associated Orders.
|
[vii] Sending the Customer/Sub-Reseller back to our Server |
You have now finished the steps required to charge your Customer/Sub-Reseller. You will then send the Customer/Sub-Reseller back to our Server. You will use the redirecturl parameter that was sent to your Gateway URL for this transaction to pass the Customer/Sub-Reseller back to our server.
You will pass the following parameters to the redirecturl in a POST request
|
Parameter KEY |
Type |
Description |
|
transid |
integer |
Pass the same transid which was passed to your Gateway URL at the beginning of the transaction. |
|
status |
character |
This can be either Y or N or P. A Y signifies that the Transaction went through SUCCESSFULLY and that the amount has been collected. An N on the other hand, signifies that the Transaction FAILED. When you send us the status as P, it would indicate that this transaction is to be kept Pending until you manually review this Payment Gateway transaction from your Reseller Control Panel. |
|
rkey |
numeric |
This refers to a random numeric key that you must generate and pass when redirecting the User from your side to our Server. We have included sample code which generates this on your behalf in the postpayment.php file included in the integration kit. |
|
checksum |
string |
This refers to a Random Alpha-Numeric String generated using a Mathematical Algorithm (a complex quadratic equation) to ensure that data is not tampered along the way. A checksum is calculated on all the data that you send to us, using your 32 bit Alpha-numeric Key. The same checksum is then verified by us to ensure that the data received is valid. |
|
sellingcurrencyamount |
numeric (upto 3 decimal points) |
This value must be greater than 0 and less than or equal to the original sellingcurrencyamount we sent to your paymentpage.php. This value MUST be passed, but is only used incase the transactiontype is CustomerAddFund or ResellerAddFund. This is explained in detail below. |
|
accountingcurrencyamount |
numeric (upto 3 decimal points) |
This value must be greater than ’0′ and less than or equal to the original accountingcurrencyamount we sent to your paymentpage.php. This value MUST be passed, but is only used incase the transactiontype is CustomerAddFund or ResellerAddFund. This is explained in detail below. |
The sample code for achieving the above process successfully is shown in the postpayment.php file. You simply need to copy this code in the file in which you do your Payment Processing. This page retrieves the transid and redirecturl from the session and expects a status to be available to it in the session. A simple inspection of the code in postpayment.php will give you an idea of the right way to redirect your Customer/Sub-Reseller to our server.
Explanation of sellingcurrencyamount and accountingcurrencyamount fields
In the above table two important fields are the sellingcurrencyamount and accountingcurrencyamount. These fields MUST be passed, but are used only if the transactiontype is ‘CustomerAddFund’ or ‘ResellerAddFund’ (Reference: Payment Gateway Transaction types and Access Levels for your Customers and Sub-Resellers >>). For every transaction performed through the Payment Gateway a Receipt is created in the Customer/Sub-Reseller account.
The amount of the Receipt created incase of transactiontype CustomerAddFund or ResellerAddFund is dependant on this figure. The Receipt amount will be equivalent to the figure you send us for both these values. The reason for allowing you to send us these values is to allow you to deduct any Credit Card Processing charges for Advance Payments made by your Customers/Sub-Resellers in their account.
Lets take an example of a Add Funds transaction performed by your Sub-Reseller
Sub-Reseller A
Your Selling Currency: USD
Your Accounting Currency: INR
Conversion Rate: 50
Amount to add in USD: 100
Amount to add in INR: 5000
When this Sub-Reseller leaves our system and comes to your paymentpage.php, we will send along the two amounts i.e. USD 100, INR 5000, to allow you to charge his card with an equivalent amount. After the transaction is completed, you will send the Sub-Reseller back to our system with a sellingcurrencyamount and accountingcurrencyamount figure. We will then credit THAT amount to his account. You may choose to send the same figures we sent to you, thus crediting the Sub-Reseller with the exact amount that was charged to him/her. Alternatively you may choose to deduct a certain processing amount for Credit Card Transactions and send a reduced amount. Thus you could have the below two scenarios
Scenario 1 – Values sent by your postpayment.php page
sellingcurrencyamount: USD 100
accountingcurrencyamount: INR 5000
In this scenario we sent you USD 100 and INR 5000, and you sent the same figures back. We will therefore credit the Sub-Reseller with the same amount
Scenario 2 – Values sent by your postpayment.php page
sellingcurrencyamount: USD 95
accountingcurrencyamount: INR 4750
In this scenario we sent you USD 100 and INR 5000, and you sent back USD 95 and INR 4750 (deducting 5% processing charges). We will therefore credit the Sub-Reseller with USD 95, INR 4750
Completing the Integration process using the postpayment.php page
We have a special built-in test mechanism for testing the interaction between the postpayment.php on your Server and our Server. The steps below assume you have finished all previous instructions until this step. Follow the steps below to test your integration further
1. Click on Settings -> Finance and Billing -> Payment Gateway -> List / Add
2. Click on the Payment Gateway you added
3. Click on Test For Add Fund or Test For Payment
This should result in a page as follows
File: paymentpage.php
Checksum Verification …….. Verified
List of Variables Received as follows
paymenttypeid: 202
transid: 1120
userid: 1
usertype: Customer
transactiontype: CustomerAddFund
invoiceids:
debitnoteids:
description:
sellingcurrencyamount: 5
accountingcurrencyamount: 10
redirecturl: http://manage.gossimer.biz/servlet/TestCustomPaymentAuthCompletedServlet
address1 = 213 Main St.
company = My Solutions
address2 = null
zip = 17541
name = Customer Name
city = NYC
telNoCc = 1
country = US
telNo = 45784126
emailAddr = customer@domain.com
address3 = null
state = NY
faxNoCc = null
faxNo = null
checksum: 8cd2a658d2de2c995fc790b66a508ec3
Clicking on any of the above button submits to the same page where the value of status is set in the session and then you are redirected to postpayment.php, and you should see the below display
File: postpayment.php
redirecturl: http://manage.gossimer.biz/servlet/TestCustomPaymentAuthCompletedServlet
List of Variables to send back
transid: 1120
status: Y
rkey: 32423
checksum: 8cd2a658d2de2c995fc790b66a508ec3
Clicking on this button will redirect you to our Server and you should see the following display on our Server
Checksum Verification …….. Verified
List of Variables Received as follows
transid: 1120
status: Y
rkey: 32423
checksum: 8cd2a658d2de2c995fc790b66a508ec3
If you see the above display this means that your integration is complete. You simply now need to modify the files and put in your own code to charge your Customer/Sub-Reseller.
If you get any of the following results instead then you can appropriately refer back to see if you have correctly set the following data:
|
Result |
Possible Solution |
|
ERROR: Checksum Mismatch |
This can only happen if the key you used is incorrect. Open the postpayment.php file and verify that the value of the Key is exactly the same as the Key displayed in your Payment Gateway detailed view. Make sure there are no extra spaces or any missing characters. |
|
Other Possible Issues |
Verify that variables passed to your script through the POST method are working appropriately and your web server supports the same. |
If you do not get this output then you should revert back and check if you have properly inserted your key in the postpayment.php file. Make sure you proceed ahead only after you get the above output for your specific integration kit.
|
[viii] Finishing Steps |
We have completed the process of Sending a Customer/Sub-Reseller to your Server and then receiving the Customer/Sub-Reseller back. You now need to modify up the files on your server to process the transaction. The process that you will follow is -
1. Modify the paymentpage.php file and insert your code to charge the Customer/Sub-Reseller in the block shown below
if(verifyChecksum($paymenttypeid, $transid, $userid, $usertype, $transactiontype, $sellingcurrencyamount, $accountingcurrencyamount, $key, $checksum))
{
// YOUR CODE GOES HERE
}
The Code that you insert here may involve any or all of the following steps
Saving the variables to a local database/session
Converting the amount to the currency used by your Payment Gateway
Redirecting the Customer/Sub-Reseller to another page which will obtain input from the Customer (e.g. his Credit Card details) and charge them
2. Once you have made the above changes then after the transaction you need to redirect the Customer back to our server. This task is handled by postpayment.php. Before postpayment.php can redirect the Customer/Sub-Reseller it needs to have transid, redirecturl, and status available in the session. While transid and redirecturl will be available in the session if they have been put in by paymentpage.php, status will have to be separately put into the session. DO NOT PASS a status to the postpayment.php page. This can allow the Customer/Sub-Reseller to modify the status. You must put the status value in session and retrieve the same from the session, or directly copy the code of postpayment.php inside your payment processing page.
3. Clean up the Code in the files. We have put in test related code which you may wish to remove. You can clean up the code at this stage removing all the procedures you do not need.
|
[ix] Final Testing |
Attempt a live transaction from one of your Customer/Sub-Reseller accounts to verify everything is working fine. Make sure you try all types of Transactions – Add Funds, Payment of an Invoice, Payment of multiple Invoices/Debit Notes etc.
The SuperSite contains information about the various Payment options you offer to your Customers and also presents these options at the time of purchasing Products and Services. This data is downloaded to your SuperSite from your Control Panel and cached (stored) on the SuperSite Server. Hence, you would need to refresh the cache of your SuperSite once you have completed the above process. You can accomplish this from within your Control Panel itself by clicking on Tools -> Reload SuperSite and PartnerSite Cache -> SuperSite Payment Preferences. Click here to know what is SuperSite >>
|
[x] Managing your Transactions |
Every live transaction attempted through your Payment Gateway is recorded by the system. You can list all Transactions and search through them using the List Transactions and Search Transactions buttons in your Payment Gateway toolbar. The following fields are important with respect to each Transaction
|
Field |
Type |
Description |
|
transid |
string |
This is a unique transaction ID generated by us and sent to your Server for every Transaction attempted |
|
status |
character |
This can be either Processing, Successful or Failed. The status Processing denotes any transaction for which your Customer/Sub-Reseller has left our Server and not yet come back from your Server |
There may be occasions when your Customer/Sub-Reseller will be redirected to your Gateway but never comes back to our Server because of loss of connectivity or other issues. In this circumstance our System will not know whether the Transaction was Successful or Failed. You will have to tell that to the System yourselves. This can be easily achieved by Searching Transactions from the Payment Gateway toolbar and clicking on AuthStarted transactions. This will allow you to list all transactions which are yet processing. From here you can state whether they were Successful or Failed. Incase of a successful transaction the System will add those funds to your Customer/Sub-Reseller and process any related Orders. Incase of failed transactions the System will simply mark the transaction as failed. Click here to here to find instructions on how to Search / Approve Decline Payment Gateway Transactions >>
Tags: ASP, Asp 3, Break, Bridge, correct Checksum Algorithm, Gateway Server, Generic Module, http, Inr, Integration Kit, Interaction, Java, Jsp, Kit Version, Logic, Money, Parameters, Payment Gateway, payment processing page, Php, Redirect, Reseller Account, Resellers, Server Space, Step 2, Step 3, System Details, the POST, Transactions - Add Funds, United States, USD, Web Server, www.yourserver.com/paymentpage.php
The API is exposed using SOAP, a common web services protocol. SOAP is extremely simple to use and debug since it is an XML based protocol. While SOAP is a standardized protocol, we are using certain complex data types which are not completely compatible across all platforms. However we have written our own wrappers to handle this and we offer direct integration kits in various platforms which you can directly download and use.
When our System receives a request, it tries to complete the action immediately. If the System is unable to complete the action for some reason, it will return an error response and try to complete the action again after sometime. This ensures a high level of fault tolerance.
Due to this, it is imperative that when you encounter an error response (especially for commands that have financial implications like Registering or Renewing orders), you MUST check whether the command eventually failed or succeeded. To do this, you will have to issue additional API commands (depending on the command for which you received an error response) to check the final status of the original command.
It is recommended that you implement this querying process to check the status of API commands as a scheduled task/cron/batch process. Alternately, you can also check the status of the command by logging into your Reseller Control Panel.
Currently integration kits are available in PHP, Java, Perl and .NET. Our Server exposes all relevant methods using SOAP. SOAP is a simple XML-HTTP based protocol whose client implementations are available in EVERY language. Follow the steps below to begin making calls to the API -
Step 1. Sign up for a Demo Reseller Account
You will initially test your API scripts on our demo Server. Click here to read how to sign up for a demo Reseller account >> .
You will need the following items before you proceed to the next step
Your Signup Username
Your Signup Password
Your Parent ID
The first two items would have been entered by you during the signup. For the last item simply login to your Demo Account and click on Settings -> Personal Information -> Primary Profile.
You can use these accounts to try out various aspects of the system. However, the demo accounts are reset every day. As such, any additional orders placed herein, or any modification done to these accounts, shall cease to exist after 24 hours.
Step 2. Proceed to the corresponding API kit for your platform
Click on the links below to refer to further instructions for the platform you are developing on -
Java API Kit >>
PHP API Kit >>
.NET API Kit >>
Perl API Kit >>
Step 3. Download the API Documentation
The complete documentation of all classes and methods available in the API can be found in the Docs below. The Docs below are javadocs, but the function names and explanations remain the same for all the platforms and the documentation is self explanatory. We recommend you download the docs and read through them completely once before you integrate your application:
Core Docs v3_10
Domains Docs v3_10
Hosting Docs v3_10
Other Products Docs v3_10
Step 4. Refer to the Parameter Validation details of different parameters passed in any API Calls
We have a detailed document on the Validation routines which you need to build in for the various parameters which you send to the API call. Failure to validate these fields on your side may result in an undecipherable error from the Server. Click here to read about Data Validation of Parameters passed in an API Method Call >>
Step 5. Refer to the Error format document and the common errors
The first time you run any example you are likely to encounter errors if you have not followed the steps perfectly. It is important to understand the format of an error. Click here to understand the format of an error that you will receive >>
Sometimes, you may receive a 302 HTTP Redirect response from our System. Your API implementation should be capable of following such a redirect.
Step 6. Run the examples
All the above kits contain examples which you can run and test the API functionality. Try these examples out to verify everything is working fine. You should first run these examples on the Demo Server. Use the demo sign up information gathered above and the Demo Server URL below to run the examples on the demo server.
Demo Server URLs for API Kits ver 3.x and above
Java and PHP API Kits
http://api.onlyfordemo.net/anacreon/servlet/APIv3
https://www.foundationapi.com/anacreon/servlet/APIv3
Perl and .NET API Kit
http://api.onlyfordemo.net/anacreon/servlet/APIv3-XML
https://api.onlyfordemo.net/anacreon/servlet/APIv3-XML
Demo Server URLs for older API Kits
Java and PHP API Kits
http://demo.myorderbox.com/anacreon/servlet/rpcrouter
https://demo.myorderbox.com/anacreon/servlet/rpcrouter
.NET and Perl API Kits
http://demo.myorderbox.com/anacreon/servlet/XMLrpcrouter
https://demo.myorderbox.com/anacreon/servlet/XMLrpcrouter
Step 7. Refer to common errors
In this documentation we have some answers covering common errors you can expect while integrating with the API. Click here to know details about common API errors >>
Step 8. Change the information to Live information when you are ready
Once you have followed the steps above and got the test programs to work successfully, you can duplicate the same code in your live application and replace the Demo Server and Reseller account information with your live username and password. You will also need to change the server URL to the live server URL.
LIVE Server URLs for API Kits ver 3.x and above
Java and PHP API Kits
http://www.myorderbox.com/anacreon/servlet/APIv3
https://www.myorderbox.com/anacreon/servlet/APIv3
Perl and .NET API Kit
http://www.myorderbox.com/anacreon/servlet/APIv3-XML
https://www.myorderbox.com/anacreon/servlet/APIv3-XML
LIVE Server URLs for older API Kits
Java and PHP API Kits
http://www.myorderbox.com/anacreon/servlet/rpcrouter
https://www.myorderbox.com/anacreon/servlet/rpcrouter
.NET and Perl API Kits
http://www.myorderbox.com/anacreon/servlet/XMLrpcrouter
https://www.myorderbox.com/anacreon/servlet/XMLrpcrouter
Refer to the corresponding kit and integration guide of the platform that you choose for further instructions.
As you duplicate your code on the live application environment, remember to change your Parent ID to the one associated with your Live Reseller account. You can find this from Settings -> Personal Information -> Primary Profile in your Reseller Control Panel.
You need to display the Registrar Registrant Agreement for Domain Names Legal document within the domain name registration buy process on your website.
It is compulsory to display this document AS IS to your Customers and get them to agree to the terms mentioned therein, before buying domain names through you. You can view this agreement from within your Reseller Admin Control Panel at Help >> Legal Agreements.
Tags: Api, Api Commands, Data Types, Demo Server, Exposed, Fault Tolerance, Financial Implications, http, Integration, Java, Java Perl, Net Server, Parent, Parent Id, Perl, Php, Platforms, Protocol, Registrar, Relevant Methods, Reseller Account, Reseller Control Panel, Soap Soap, standardized protocol, Test Scripts, web services protocol, www.foundationapi.com/anacreon/servlet/APIv3, www.myorderbox.com/anacreon/servlet/APIv3, www.myorderbox.com/anacreon/servlet/APIv3-XML, www.myorderbox.com/anacreon/servlet/rpcrouter, www.myorderbox.com/anacreon/servlet/XMLrpcrouter, Xml
Follow the instructions below to begin integration with the API using PHP -
Make sure you have read the General API Integration Instructions first. If you have already integrated the PHP API Kit at your end, read the Change Log first to know what has changed since.
Reference:
General API Integration Instructions >>
Change Log >>
The PHP API Kit is not compatible with version PHP5. You need to use version PHP4 in order to integrate the API Kit at your end.
Step 1. Download the API Kit
Click the link below to download the relevant API kits (updated on 6th March, 2008).
PHP_CoreKIT_v3_10.zip
PHP_DomainsKIT_v3_10.zip
PHP_HostingKIT_v3_10.zip
PHP_OtherProductsKIT_v3_10.zip
Step 2. Download the API Documentation
The complete documentation of all classes and methods available in the API can be found in the Docs below. The Docs below are javadocs, but the function names and explanations remain the same for all the platforms and the documentation is self explanatory. We recommend you download the docs and read through them completely once before you integrate your application (updated on 6th March, 2008).
Core_Docs_v3_10.zip
Domains_Docs_v3_10.zip (updated on 1st April, 2008)
Hosting_Docs_v3_10.zip
OtherProducts_Docs_v3_10.zip
Since “list” is a keyword in the PHP language, the “list()” methods in the various classes (in the PHP Kit) has been renamed to “listOrder().” However, the documentation still mentions the method name as “list” since the documentation is JAVA specific.
Instructions to pass parameters to functions using the PHP Kit
Since PHP uses typeless variables you will have to ignore the datatypes presented in the docs. But for assigning values to variable of types other than strings and integers special care will have to be taken. Below is the list of datatypes presented in the API Doc and their usage in PHP.
|
Java Data |
Types Assigning values in PHP |
| String | “firstname@secondname.com” |
| int | 123 |
| HashMap (Datatype for storing name-value pair) | array(“domain.com”=>”1″) |
| Array and Vector (Datatype for storing more than one value) | array(“ns1.domain.com”,”ns2.domain.com”) |
| boolean (Datatype for storing true or false) | true / false |
Example:
For Calling a Function which takes a String datatype and an integer datatype as its paramters
public int function1(java.lang.String userName, int parentid)
$result = $obj->function1(“firstname@secondname.com”,1);
For Calling a Function which takes a HashMap, a String Array and an integer Array as its parameters
public java.util.HashMap function2(java.util.HashMap domainHash, java.lang.String[] orderby, int[] resellerId)
and domainHash is accepting the domainname and the number of years as name value pair
$result = $obj->function2(array(“domain1.com”=>1,”domain2.com”=>2),array(“column1″,”column2″),array(22,33))
For Calling a Function which takes a Vector and a boolean as its parameters
public java.lang.String function3(java.util.Vector nameServers, boolean add)
$result = $obj->function3(array(“ns1.domain.com”,”ns2.domain.com”),true)
Step 3. Extract the files from the API Kit archive
You should get the following directory & files structure
examples/ – Pre-written examples. You can directly run these examples to test API functionality
lib/ – The PHP class files, library files and wsdl files that you need to run your application
Step 4. Run the examples
You can run the pre-written examples provided in the “examples” folder. Note the following steps to do so -
1. Upload the “examples” and “lib” folders to your web server where you run your PHP scripts. Make sure that both these folders are uploaded to the same parent folder.
2. You must have PHP 4 installed on the server
3. You must have a Demo account ready the first time. Read the General instructions if you have not yet setup your demo account. Reference: General API Integration Instructions >>
The Demo server duplicates all functionality of the live server, however all Domain Names will appear as available on the Demo Server. It does not query the live registry and therefore names which are not available on the live registry will still appear as available on the Demo Server. At times connectivity to the DEMO Registry may be down resulting in errors.
4. Make the appropriate changes to “constants.php” in the “examples” folder, by putting in the values for your “SERVICE_USERNAME”, “SERVICE_PASSWORD”, “SERVICE_PARENTID”. The remaining settings have already been made for you in this file. You may only need to change the path for the “lib” folder if you have uploaded the lib folder elsewhere
5. The URL to which the call is made is maintained in the “config.php” file inside the “lib” folder. By default all calls are made to the demo server URL using HTTP. You can make changes to this file and redirect your calls to the appropriate server
If you are using HTTPS calls you MUST have the extension for CURL installed and enabled in your PHP installation.
6. Another important parameter maintained in the “config.php” file is the variable $DEBUG. If this variable is set to “true”, then for each call you will see the entire XML Request and Response in the output. You should keep it to “true” during testing, but set it to false on the live environment.
7. Every Example file has a set of functions which you can run.
8. Once you have modified the appropriate example file, access it over your webserver by putting in your URL such as http://yourserver/examples/html and choose the required function from the links given in the left frame.
In registering/managing any domain name on the demo server always use ns1.onlyfordemo.net and ns2.onlyfordemo.net as your nameservers. ANY OTHER Nameserver will result in an INVALID NAMESERVER error.
Step 5. Understanding Errors
Make sure you have read the General API Integration Instructions to obtain links to the error format and possible error documents. Reference: General API Integration Instructions >>
Step 6. Writing your own code
After running each example above, if you simply refer to the corresponding .php file in the examples folder you will easily be able to figure out the code snippet you need to write in order to make a similar call.
Making an API call to perform any action is a matter of three steps:
(i) Include the appropriate PHP Class file as below
include($LIB_DIR.”Order.class.php”);
(ii) Obtain a pointer to the required Class. This is done by using the code below
$serviceObj = new Order($LIB_DIR . “wsdl/Order.wsdl”);
(iii) Call the required method on this object. A complete reference of all methods is available in the Docs folder. This can be achieved by using the code below
$AssociativeArray = $serviceObj->setCustomerLock($SERVICE_USERNAME, $SERVICE_PASSWORD, $SERVICE_ROLE, $SERVICE_LANGPREF, $SERVICE_PARENTID, $orderId);
You will notice above that EVERY method in the docs takes the same first 5 parameters as below
String SERVICE_USERNAME, String SERVICE_PASSWORD, String SERVICE_ROLE, String SERVICE_LANGPREF, int SERVICE_PARENTID
In the examples these parameters have been put into a single constants file from which they are accessed by including the constants file. These parameters are common no matter which method you call. These parameters mean the following:
String SERVICE_USERNAME: Your UsernameSERVICE_PASSWORD
String : Your PasswordSERVICE_ROLE
String : This will always be a string "reseller"SERVICE_LANGPREF
String : The 2 letter code of the language in which you wish to receive errors and descriptions - "en" for EnglishSERVICE_PARENTID
int : The ID of your parent which you can get from your profile section
Remember, when passing numerical data in hashtables, please ensure that the number is passed as a String.
Step 7. Change the information to Live information when you are ready
Once you have followed the steps above and got the test examples to work successfully, you can duplicate the same code in your live application and replace the Demo Server and Reseller account information with your live username and password. The URL that you make your calls to also needs to change to the LIVE Server URL. You will make this change in the “config.php” file in the “lib” folder
Once again note, if you are using the HTTPS URL you MUST have the extension for CURL installed and enabled in your PHP installation.
Tags: Api, Api Documentation, Api Guide, Api Kit, appropriate server, Datatype, Datatypes, Demo Server, Docs, Explanations, http, Integers, Integration Guide, Java, Java Data Types, Javadocs, Parameters, Php, Php Guide, PHP installation, Php Java, Php Kit, Php Language, Php4, Platforms, Reference, Step 1, Step 2, Variables, Web Server, Xml