helpcenter/Web/Controls/Help/Server/HostingSolutions/ISPBillManager/ispbillmanager.ascx

315 lines
26 KiB
Plaintext
Raw Normal View History

<%@ Control Language="C#" Inherits="BaseContentUserControls"%>
<%@ Register Namespace="TeamLab.Controls" Assembly="__Code" TagPrefix="cc" %>
<script runat="server">
protected override void Init()
{
PageTitle = PageCaption = "How to integrate Hosting Edition with the ISP BillManager billing module";
MetaKeyWords = "Hosting Edition, integration with ISP BillManager";
MetaDescription = "Hosting Edition. Learn how to integrate Hosting Edition with the ISP BillManager billing module.";
}
</script>
<div class="MainHelpCenter">
<h1 class="subHeaderFeaturesCaption Guides_Video_Captions">How to integrate Hosting Edition with the ISP BillManager billing module</h1>
<div class="keyword_block">
<ul>
2017-07-20 15:16:25 +00:00
<li><cc:LocalizeContent runat="Server" ControlName="~/Controls/Help/Tags/server-version/server-version.ascx" /></li>
<li><cc:LocalizeContent runat="Server" ControlName="~/Controls/Help/Tags/local-server/local-server.ascx" /></li>
</ul>
</div>
<div class="video_ground video_trips">
<h2 id="introduction">Introduction</h2>
<div class="block_of_step">
<div class="screen_text">
<p>An absolute advantage of <b>Hosting Edition</b> is the possibility to integrate it into the hosting provider workflow at minimum costs.</p>
<p>We have prepared a solution for our partners that allows to deploy the product in your infrastructure in a few simple steps.</p>
</div>
</div>
</div>
<h2 id="SystemRequirements">System requirements</h2>
<div class="block_of_step">
<div class="screen_text">
<p>For the full deployment of the system, the following requirements must be fulfilled:</p>
<ol>
<li><b>Server workload</b>
<ul>
<li>Server with at least <b>6-core CPU</b> and <b>8 GB RAM</b> with <b>Windows Server 2012</b> OS installed for <b>Hosting Edition</b> installation</li>
<li>Server with <b>4-core CPU</b> and <b>6 GB RAM</b> with <b>Ubuntu LTS 14.04</b> or <b>CentOS 7</b> installed for standalone <b>Document Server</b> installation</li>
<li>Server with <b>2-core CPU</b> and <b>4 GB RAM</b> with <b>CentOS 7</b> (recommended) or <b>Ubuntu LTS 14.04</b> installed for the <b>ISP BillManager</b> billing system installation</li>
</ul>
<p>All the servers must have network access, dedicated external IP addresses and the following open ports:</p>
<ul>
<li><b>80</b></li>
<li><b>443</b></li>
<li>Windows - <b>3389</b> (for RDP access)</li>
<li>Unix - <b>22</b> (for SSH access)</li>
</ul>
<p>Internet channel bandwidth - <b>500-750 Mb/s</b></p>
</li>
<li><b>Configuration requirements</b>
<ul>
<li><b>Wildcard A record</b> of the following form: <b>Windows Server 2012 IP <> *.domainname.com</b>
<div class="example">
<p><b>domainname.com</b> - the second-level domain intended for all portals.</p>
<ul>
<li><b>portal1.domainname.com</b> - the name of the first portal</li>
<li><b>portal2.domainname.com</b> - the name of the second portal</li>
</ul>
<p>A portal name (instead of <code>portal1</code> and <code>portal2</code>) is specified by an end user during the portal creation process within the <b>ISP BillManager</b> interface.</p>
</div>
</li>
</ul>
</li>
<li><b>Security requirements</b>
<ul>
<li><b>Wildcard SSL certificate</b> issued for the domain name that will be used.
<div class="notehelp">
The certificate presence is not obligatory if you install the solution on the test stand, but it is required when you start the product sales.
</div>
</li>
</ul>
</li>
<li><b>Access</b>
<ul>
<li>The access to servers is performed based on pre-agreed conditions using RDP for Windows Server 2012 and using SSH for Ubuntu/CentOS servers.</li>
<li>All the servers with the product components that reside on a local network must have access to each other.</li>
</ul>
</li>
<li><b>Hosting Edition setup and configuration</b>
<p>Setup and configuration of all the <b>Hosting Edition</b> components are performed by ONLYOFFICE technical support specialists if all the requirement (items 1-4 above) are fulfilled.</p>
</li>
<li><b>Integration with ISP BillManager</b> billing system
<p>The integration process is described in the next section.</p>
</li>
</ol>
</div>
</div>
<h2 id="step1">Integration Instructions</h2>
<div class="block_of_step">
<div class="screen_text">
<p>To integrate <b>ISP BillManager</b> payment system and <b>Hosting Edition</b> you will need to have:</p>
<ol>
<li>An already installed <a target="_blank" class="links" href="https://www.ispsystem.com/software/billmanager"><b>ISP BillManager</b></a> version. You can install it following this <a target="_blank" class="links" href="http://doc.ispsystem.com/index.php/BILLmanager_Installation_guide">instruction</a>.
<p>To log in to the <b>ISP BillManager</b> web interface as an administrator, use the CentOS server credentials for the <b>root</b> account.</p>
</li>
<li>Access to the server where <b>ISP BillManager</b> is installed.
<div class="notehelp">
You might also need to install <b>curl</b> and <b>libxml2</b> (the <b>xmllint</b> utility) if these packages are not installed on this server. If you are using Debian jessie, the <b>curl</b> and <b>libxml2-utils</b> packages are required.
</div>
</li>
<li>The <b>ONLYOFFICE Hosting Edition for ISP</b> handler file (which is sent upon request).
</li>
</ol>
<p>Perform the following steps:</p>
<ol>
<li>Extract the following files and put them into the specified folders:
<ul>
<li>put the <b>billmgr_mod_pmonlyoffice.xml</b> file into the <code>/usr/local/mgr5/etc/xml</code> folder</li>
<li>put the <b>pmonlyoffice.sh</b> file into the <code>/usr/local/mgr5/processing</code> folder</li>
<li>put the <b>addononlyoffice.sh</b> file into the <code>/usr/local/mgr5/addon</code> folder</li>
<li>put the <b>onlyoffice_48x48.png</b> image into the <code>/usr/local/mgr5/skins/common/img/</code> folder
<div class="notehelp">
The files must be extracted on the server where <b>ISP BillManager</b> is installed, otherwise (if the archive have been unpacked in the Windows environment) you need to run the following scripts after copying the <b>.sh</b> files:
<pre><code>sed -i 's/\r$//' /usr/local/mgr5/processing/pmonlyoffice.sh</code></pre>
<pre><code>sed -i 's/\r$//' /usr/local/mgr5/addon/addononlyoffice.sh</code></pre>
</div>
<p>Set '777' permissions to the <b>pmonlyoffice.sh</b> and <b>addononlyoffice.sh</b> files.</p>
</li>
</ul>
</li>
<li>Restart the service:
<pre><code>/usr/local/mgr5/sbin/mgrctl -m billmgr exit</code></pre>
</li>
<li>Create a new product in the <b>ISP BillManager</b>. The details on how to create and configure a new product are described in the next section.</li>
</ol>
</div>
</div>
<h2 id="step2">Product Creation</h2>
<div class="block_of_step">
<div class="screen_text">
<p>To create a product:</p>
<ol>
<li>Go to the <b>Products</b> >> <b>Product types</b>. Click <img alt="Add Icon" src="<%=VirtualPathUtility.ToAbsolute("~/images/Help/Guides/big/guide85/addicon.png")%>" /> <b>Add</b>. A new product type creation form will open.
<ul>
<li>Specify <b>ONLYOFFICE</b> in the <b>Name</b> field.</li>
<li>Specify <b>oo</b> in the <b>Internal name</b> field.
<div class="notehelp">
Please do not change the internal name. Set it exactly as it is specified here.
</div>
</li>
<li>Add at least one payment period in the <b>Available payment methods</b> section checking the necessary options. For example, check the <b>Month</b> and <b>Year</b> options.</li>
<li>Click <b>Ok</b>. The created product will be added into the <b>Product types</b> list.
<div class="screen_block">
<img alt="Creating product" target="img2_eventcom_guides" class="screenphoto screen_guides" src="<%=VirtualPathUtility.ToAbsolute("~/images/help/Guides/small/guide85/createproduct.png")%>" />
<img alt="Creating product" id="img2_eventcom_guides" class="bigphoto_screen" src="<%=VirtualPathUtility.ToAbsolute("~/images/help/Guides/big/guide85/createproduct.png")%>" />
<div target="img2_eventcom_guides" class="screenphoto magnifier"></div>
</div>
</li>
</ul>
</li>
<li>Specify the product properties. You will need to add the following five obligatory properties:
<ul>
<li><b>First name</b> with the <b>firstname</b> internal name</li>
<li><b>Second name</b> with the <b>lastname</b> internal name</li>
<li><b>Portal name</b> with the <b>alias</b> internal name</li>
<li><b>Email</b> with the <b>email</b> internal name</li>
<li><b>Password</b> with the <b>password</b> internal name
<div class="notehelp">
Please do not change internal names. Set them exactly as they are specified here.
</div>
</li>
</ul>
<p>To create a property:</p>
<ul>
<li>Select the <b>ONLYOFFICE</b> product in the <b>Product types</b> list, click the <img alt="Properties Icon" src="<%=VirtualPathUtility.ToAbsolute("~/images/Help/Guides/big/guide85/propertiesicon.png")%>" /> <b>Properties</b> icon above, then click <img alt="Add Icon" src="<%=VirtualPathUtility.ToAbsolute("~/images/Help/Guides/big/guide85/addicon.png")%>" /> <b>Add</b>.</li>
<li>Specify the property name and internal name as described above.</li>
<li>For all the properties, check the <b>Show in the order form</b> and <b>Required parameter</b> options as well as select the <b>Staff member</b> option in the <b>Edit</b> list.</li>
<li>When creating the <b>Portal name</b> property you will also need to select the <code>check.alias</code> option from the <b>Check function</b> list.</li>
<li>When creating the <b>Password</b> property you will also need to select the <code>check.password_length</code> option from the <b>Check function</b> list.</li>
<li>Click <b>Ok</b> to save the parameter.
<div class="screen_block">
<img alt="Adding properties" target="img3_eventcom_guides" class="screenphoto screen_guides" src="<%=VirtualPathUtility.ToAbsolute("~/images/help/Guides/small/guide85/properties.png")%>" />
<img alt="Adding properties" id="img3_eventcom_guides" class="bigphoto_screen" src="<%=VirtualPathUtility.ToAbsolute("~/images/help/Guides/big/guide85/properties.png")%>" />
<div target="img3_eventcom_guides" class="screenphoto magnifier"></div>
</div>
<p>These properties will be used during the portal creation process.</p>
</li>
</ul>
</li>
<li>Add contents of the product type. You will need to add the following three obligatory add-ons:
<ul>
<li><b>Active users</b> with the <b>activeusers</b> internal name</li>
<li><b>Max total size</b> with the <b>maxtotalsize</b> internal name</li>
<li><b>Max file size</b> with the <b>maxfilesize</b> internal name
<div class="notehelp">
Please do not change internal names. Set them exactly as they are specified here.
</div>
</li>
</ul>
<p>To create an add-on:</p>
<ul>
<li>Select the <b>ONLYOFFICE</b> product in the <b>Product types</b> list, click the <img alt="Details Icon" src="<%=VirtualPathUtility.ToAbsolute("~/images/Help/Guides/big/guide85/detailsicon.png")%>" /> <b>Details</b> icon above, then click <img alt="Add Icon" src="<%=VirtualPathUtility.ToAbsolute("~/images/Help/Guides/big/guide85/addicon.png")%>" /> <b>Add</b>.</li>
<li>Specify the add-on name and internal name as described above.</li>
<li>Click <b>Ok</b> to save the parameter.
<div class="screen_block">
<img alt="Adding add-ons" target="img4_eventcom_guides" class="screenphoto screen_guides" src="<%=VirtualPathUtility.ToAbsolute("~/images/help/Guides/small/guide85/addon.png")%>" />
<img alt="Adding add-ons" id="img4_eventcom_guides" class="bigphoto_screen" src="<%=VirtualPathUtility.ToAbsolute("~/images/help/Guides/big/guide85/addon.png")%>" />
<div target="img4_eventcom_guides" class="screenphoto magnifier"></div>
</div>
<p>These add-ons will be used to specify parameters of tariff plans.</p>
</li>
</ul>
</li>
<li>Create the processing module.
<ul>
<li>Go to <b>Integration</b> >> <b>Processing modules</b> and click <img alt="Add Icon" src="<%=VirtualPathUtility.ToAbsolute("~/images/Help/Guides/big/guide85/addicon.png")%>" /> <b>Add</b>.</li>
<li>Click the <b>Select</b> button next to the <b>ONLYOFFICE</b> product type.</li>
<li>Сlick the <b>Add</b> button next to the <b>ONLYOFFICE Integration</b> option.</li>
<li>Specify the <b>Apisystem Url</b> of the following form: <code>http://apisystem.domainname.com</code>.</li>
<li>Insert the <b>Machine Key</b> (it can be found in the <b>web.appsettings.config</b> file) and click <b>Next</b>.
<div class="notehelp">
The <b>Apisystem Url</b> and <b>Machine Key</b> parameters are specified to enable access to the API of the server where <b>Hosting Edition</b> is installed.
</div>
</li>
<li>Specify the processing module name and click <b>Finish</b>.
<div class="screen_block">
<img alt="Creating processing module" target="img5_eventcom_guides" class="screenphoto screen_guides" src="<%=VirtualPathUtility.ToAbsolute("~/images/help/Guides/small/guide85/processingmodule.png")%>" />
<img alt="Creating processing module" id="img5_eventcom_guides" class="bigphoto_screen" src="<%=VirtualPathUtility.ToAbsolute("~/images/help/Guides/big/guide85/processingmodule.png")%>" />
<div target="img5_eventcom_guides" class="screenphoto magnifier"></div>
</div>
</li>
</ul>
</li>
<li>Create a tariff plan.
<ul>
<li>Go to <b>Products</b> >> <b>Tariff plans</b> and click <img alt="Add Icon" src="<%=VirtualPathUtility.ToAbsolute("~/images/Help/Guides/big/guide85/addicon.png")%>" /> <b>Add</b>.</li>
<li>Click the <b>Select</b> button next to the <b>ONLYOFFICE</b> product type. A new tariff creation form will open.</li>
<li>Specify any desired name (for example, <code>ONLYOFFICE 1-5 users</code>) and internal name and select the <b>Processing module</b> you have created at the previous step.</li>
<li>Specify prices per month and per year in the <b>Prices</b> section. The prices must coincide with the ones published on the <a target="_blank" class="links" href="https://www.onlyoffice.com/saas.aspx">pricing page</a> of our official website.</li>
<li>Click <b>Finish</b> to save the created tariff.
<div class="screen_block">
<img alt="Creating tariff plan" target="img6_eventcom_guides" class="screenphoto screen_guides" src="<%=VirtualPathUtility.ToAbsolute("~/images/help/Guides/small/guide85/tariff.png")%>" />
<img alt="Creating tariff plan" id="img6_eventcom_guides" class="bigphoto_screen" src="<%=VirtualPathUtility.ToAbsolute("~/images/help/Guides/big/guide85/tariff.png")%>" />
<div target="img6_eventcom_guides" class="screenphoto magnifier"></div>
</div>
</li>
</ul>
</li>
<li>Set the tariff plan parameters. To do that, you will need to add three tariff plan add-ons on the base of the product type add-ons created at step 3: <b>Active users</b>, <b>Max total size</b>, <b>Max file size</b>.
<p>To create an add-on:</p>
<ul>
<li>Select the tariff plan you have created at the previous step in the <b>Tariff plans</b> list, click the <img alt="Options Icon" src="<%=VirtualPathUtility.ToAbsolute("~/images/Help/Guides/big/guide85/detailsicon.png")%>" /> <b>Options</b> icon above, then click <img alt="Add Icon" src="<%=VirtualPathUtility.ToAbsolute("~/images/Help/Guides/big/guide85/addicon.png")%>" /> <b>Add</b>.</li>
<li>Leave the <b>Do not bill</b> option selected by default in the <b>Billing type</b> list.</li>
<li>Select the necessary add-on type in the <b>Type</b> list.
<ul>
<li><b>Active users</b> - to set the maximum number of users allowed for this tariff plan</li>
<li><b>Max total size</b> - to set available disk storage space for this tariff plan</li>
<li><b>Max file size</b> - to set the maximum size of a file that can be uploaded to the portal</li>
</ul>
</li>
<li>Choose the <b>Integer</b> option in the <b>Value type</b> list.</li>
<li>Select corresponding <b>Units of measure</b> (pcs, GiB or MiB) for the selected add-on type and specify the necessary value in the <b>Tariff plan includes</b> field.</li>
<li>Click <b>Ok</b> to save the parameter.
<div class="screen_block">
<img alt="Adding add-ons" target="img7_eventcom_guides" class="screenphoto screen_guides" src="<%=VirtualPathUtility.ToAbsolute("~/images/help/Guides/small/guide85/tariffaddon.png")%>" />
<img alt="Adding add-ons" id="img7_eventcom_guides" class="bigphoto_screen" src="<%=VirtualPathUtility.ToAbsolute("~/images/help/Guides/big/guide85/tariffaddon.png")%>" />
<div target="img7_eventcom_guides" class="screenphoto magnifier"></div>
</div>
</li>
</ul>
</li>
<li>After all the necessary tariff plans are created, set the tariff change rules for each of them.
<ul>
<li>Select the necessary tariff plan in the <b>Tariff plans</b> list and click the <img alt="Change tariff icon" src="<%=VirtualPathUtility.ToAbsolute("~/images/Help/Guides/big/guide85/changetarifficon.png")%>" /> <b>Change tariff</b> icon above.</li>
<li>To allow your users to change the selected tariff to another one, select one of the existing tariff plans and click the <img alt="On icon" src="<%=VirtualPathUtility.ToAbsolute("~/images/Help/Guides/big/guide85/enabletarifficon.png")%>" /> <b>On</b> icon above to enable switching to this tariff.</li>
<li>To disable the possibility to change the selected tariff to another one, select one of the existing tariff plans and click the <img alt="Off icon" src="<%=VirtualPathUtility.ToAbsolute("~/images/Help/Guides/big/guide85/disabletarifficon.png")%>" /> <b>Off</b> icon above to disable switching to this tariff.
<div class="screen_block">
<img alt="Tariff change rules" target="img9_eventcom_guides" class="screenphoto screen_guides" src="<%=VirtualPathUtility.ToAbsolute("~/images/help/Guides/small/guide85/changetariff.png")%>" />
<img alt="Tariff change rules" id="img9_eventcom_guides" class="bigphoto_screen" src="<%=VirtualPathUtility.ToAbsolute("~/images/help/Guides/big/guide85/changetariff.png")%>" />
<div target="img9_eventcom_guides" class="screenphoto magnifier"></div>
</div>
<div class="example">
<p>You can allow those users who have the <code>ONLYOFFICE 6-10 users</code> tariff to upgrade it (selecting <code>ONLYOFFICE 11-20 users</code>) and disable the possibility to downgrade it (selecting <code>ONLYOFFICE 1-5 users</code>).</p>
</div>
</li>
</ul>
</li>
<li>So that users can pay for the product, add at least one payment method, if this has not yet been done.
<ul>
<li>Go to <b>Provider</b> >> <b>Payment methods</b>.</li>
<li>Click the <img alt="Add icon" src="<%=VirtualPathUtility.ToAbsolute("~/images/Help/Guides/big/guide85/addicon.png")%>" /> <b>Add</b> button on the top.</li>
<li>Click the <b>Add</b> button next to the necessary payment method (e.g., <b>Wire transfer</b>).</li>
<li>Fill in the <b>Integration settings</b> form and click the <b>Next</b> button.</li>
<li>Specify required <b>Payment method settings</b> and click <b>Finish</b>.</li>
</ul>
</li>
<li>That's all. The links to order the one-year or one-month tariff plan can be found in the tariff properties: select the tariff plan in the <b>Tariff plans</b> list, click the <img alt="Edit Icon" src="<%=VirtualPathUtility.ToAbsolute("~/images/Help/Guides/big/guide85/editicon.png")%>" /> <b>Edit</b> option and go to the <b>URLs</b> section. Copy a link and paste it into the address bar of your web browser to verify if the added tariff is displayed correctly in a shopping cart.
<div class="screen_block">
<img alt="Ordering tariff" target="img8_eventcom_guides" class="screenphoto screen_guides" src="<%=VirtualPathUtility.ToAbsolute("~/images/help/Guides/small/guide85/order.png")%>" />
<img alt="Ordering tariff" id="img8_eventcom_guides" class="bigphoto_screen" src="<%=VirtualPathUtility.ToAbsolute("~/images/help/Guides/big/guide85/order.png")%>" />
<div target="img8_eventcom_guides" class="screenphoto magnifier"></div>
</div>
<p>To add screen tips to the <b>alias</b> and <b>password</b> fields, do the following:</p>
<ul>
<li>Open the <b>billmgr_mod_pmonlyoffice.xml</b> file.</li>
<li>Find the <code>&lt;lang name="en"&gt;</code> or <code>&lt;lang name="ru"&gt;</code> section depending on the necessary localization.</li>
<li>Add the following contents to this section:
<pre><code>
&lt;messages name="oo.order.param"&gt;
&lt;msg name="hint_alias"&gt;Name of your portal will be portalname.mycloudoffice.ru&lt;/msg&gt;
&lt;/messages&gt;
</code></pre>
</li>
</ul>
<p>Users must fill in all the fields for the portal creation during the ordering process. After a user pays for the selected tariff, he/she will be able to change the tariff using the <img alt="Change tariff icon" src="<%=VirtualPathUtility.ToAbsolute("~/images/Help/Guides/big/guide85/changetariffusericon.png")%>" /> <b>Change tariff</b> icon according to the specified tariff change rules.</p>
</li>
</ol>
</div>
</div>
</div>