Products Reseller For WHMCS
From ModulesGarden Wiki
(Difference between revisions)
|
|
Line 873: |
Line 873: |
| |} | | |} |
| {| | | {| |
− | |style="padding: 0px 0px 30px 15px;"|3. If you are using '''nginx''' server please and getting ''' ''404 errors'' ''' please check that you have set a proper declaration in your '' ''' '/etc/nginx/conf.d/' ''' '' configuration file.'' | + | |style="padding: 0px 0px 30px 15px;"|3. If you are using '''nginx''' server and getting ''' ''404 errors'' ''' please check that you have set a proper declaration in your '' ''' '/etc/nginx/conf.d/' ''' '' configuration file.'' |
| This may be e.g.: | | This may be e.g.: |
| <pre> | | <pre> |
Revision as of 09:23, 5 August 2020
Products Reseller For WHMCS brings you automation and comfort into reselling your products, following income as well as managing the reseller groups.
As a provider, you are able to handle all details of your reseller groups and set up pricing rates for each product in a particular group effortlessly.
Moreover, your resellers grant all crucial information about placed orders along with API documentation. As for end clients, they are able to buy preferred products and perform basic actions on them later.
|
✔ View Resellers And Products Income Statistics
|
✔ View Most Profitable Resellers And Latest Invoices
|
✔ Create And Manage Resellers:
|
✔ Assign To Dedicated Group
|
✔ Assign Client's Account
|
✔ Generate Access API Key
|
✔ Restrict Access To Specific IP Addresses
|
✔ Define API Limits Interval And Requests
|
✔ View Reseller's Orders And Income
|
✔ Create And Manage Groups:
|
✔ Allow API Access With Defined Permissions
|
✔ Allow Access To API Documentation
|
✔ Send Low Credit Notification
|
✔ Define Payment Collection Type:
|
✔ Create Products Provisioning Integration Modules For Resellers:
|
✔ Define Name And Description
|
✔ Assign Offered Products For Resellers
|
✔ Define Pricing For Each Product Extension:
|
✔ For First And Recurring Payment
|
✔ Define Additional Integrations For Proxmox VPS Products
|
✔ Create Response Templates To Overwrite Products API Responses Displayed To End Clients
|
✔ Configure Default Settings:
|
✔ Toggle Global API Status
|
✔ Toggle Global API IP Restriction
|
✔ Toggle Global API Requests Restriction
|
✔ Toggle Default Group Settings
|
✔ View API Request And Response Logs
|
✔ Access Dedicated Reseller Area
|
✔ Access Reseller Settings:
|
✔ View Available Account Credits
|
✔ View Available Credentials
|
✔ View/Modify IP Addresses Restrictions
|
✔ Download Products Reseller Integration Module
|
✔ Download Provider Documentation
|
✔ View API Request And Response Logs
|
✔ Manage General Products Using Module Commands:
|
✔ Create/Suspend/Unsuspend/Terminate
|
✔ Manage Proxmox VPS Products Using Additional Integrations:
|
✔ Create/Suspend/Unsuspend/Terminate Product
|
✔ Change Product Password
|
✔ Start/Stop/Reboot Proxmox VM
|
✔ Get Proxmox VM Details And Graphs
|
✔ Transactions Between Resellers And Provider Settled With Credits
|
✔ Integrated With Proxmox VPS For WHMCS - Fully Automated Provisioning And Management Of Virtual Servers (read more)
|
✔ Supports PHP 7.1 Up To PHP 7.3
|
✔ Supports WHMCS Template Six
|
✔ Supports WHMCS V7.8 And Later
|
Installation
1. Log in to our client area and download the module.
|
2. In the downloaded file you might find one or two packages that support different PHP versions.
In the most recent versions of the module, you will find only one package that supports PHP 7.1 and later. If you need a package for the previous versions of PHP, please contact our support.
|
3. Once you have chosen the package with the right PHP version, extract it and upload its content into the main WHMCS directory.
The content of the chosen PHP version files to upload should look like this.
|
4. When you install Products Reseller For WHMCS for the first time you have to rename 'license_RENAME.php' file.
File is located in 'modules/addons/ProductsReseller/license_RENAME.php'. Rename it from 'license_RENAME.php' to 'license.php'.
|
5. In order to configure your license key, you have to edit the previously renamed 'license.php' file.'
Enter your license key between quotation marks as presented on the following screen. You can find your license key in our client area → 'My Products'.
|
6. In the next step, set up the 'storage' folder as recursively writable.
This folder is available at 'yourWHMCS/modules/addons/products_reseller/'.
|
7. Now you have to activate the module in your WHMCS system.
Log in to your WHMCS admin area. Go to 'Setup' → 'Addon Modules'. Afterwards, find 'Products Reseller' and press the 'Activate' button.
|
8. In the next step you need to permit access to this module.
To do so click on 'Configure' button, tick 'Full Administrator' and press 'Save Changes'.
|
9. You have just successfully installed Products Reseller!
You can access your module at 'Addons' → 'Products Reseller'.
|
Configuration and Management
Products Reseller For WHMCS allows your customers to resell products on their own WHMCS.
|
Dashboard
Dashboard page presents some useful graphs and summaries on income generated from reselling products. The 'Income' section presents your income which is converted into USD basing on 'Base Conv. Rate' in Setup → Payments → Currencies.
|
You may easily change the graph settings by changing the time scope and choosing products you are interested in.
|
Most profitable Resellers & Latest invoices summary:
|
General Settings
'Settings' tab allows you to access general settings of your Products Reseller API.
Here you may set up general options but still, you will be able to change them per single group. If you skip group settings, this configuration will be taken into account.
|
We will describe these options below.
Global API related section:
- API Status - enable/disable Products Reseller API.
- IP Addresses Restriction - enable/disable restricting connection to Products Reseller API only for IP addresses specified in the 'Allowed IP Addresses' field.
- API Requests Restriction - enable option to restrict the number of API requests.
|
|
Miscellaneous:
- Low Credit Notification - a notification to your client will be sent when credit balance on client's account falls below entered value.
You may view and edit the "Low Credit Notification" custom email template sent to clients at 'WHMCS' → 'Setup' → 'Email Templates'. This email message is sent with the main WHMCS cron job.
- Low Credit Amount - amount of credits, when reached a notification will be sent.
- Payment Type options:
- After Create - resellers must have sufficient credits amount, but he is charged only after a product has been successfully created.
- After Order - resellers must settle the payment just after the order, the amount due is taken from his account instantly.
Remember to submit the changes, once you have finished.
|
Groups
Let's start by creating the first group for your resellers. Use either of the buttons marked on the screen below.
|
Then, simply type in a unique name of your group. Create as many groups as you will need and set up different configuration to adjust them and then assign resellers to adequate groups.
|
Configuration Per Group
You can set up configuration for resellers who are assigned to this very group only. These settings will overwrite the general settings defined in the previous step.
- API Status - enable/disable Products Reseller API for Resellers assigned to this very group only
- IP Address Restriction - enable/disable restricting connection to Products Reseller API only for IP addresses specified in the 'Allowed IP Addresses' field.
- API Requests Restriction - enable option to restrict the number of API requests.
- Show API Documentation - toggle to allow resellers access to API documentation directly from their Reseller Area.
- Low Credit Notification - turn on sending notifications to your client when credit balance on client's account falls below entered value.
You may view and edit the "Low Credit Notification" custom email template sent to clients at 'WHMCS' → 'Setup' → 'Email Templates'. This email message is sent with the main WHMCS cron job.
- Low Credit Amount - amount of credits, when reached a notification will be sent
- Payment Type options:
- After Create - resellers must have sufficient credits amount, but he is charged only after a product has been successfully created.
- After Order - resellers must settle the payment just after the order, the amount due is taken from his account instantly.
Note: Please remember that upon unsuccessful product creation, the module does not take any credits from the Reseller Account.
Save the changes when ready.
|
|
API Permissions
Toggle options that resellers will be allowed to use via API.
|
Integrations
In this section you can create and manage integration modules which resellers will need to upload and activate to be able to resell products you offer them.
Press 'Add Integration' to begin.
|
To generate a new integration module you need to provide following data:
- Enter your module unique name
- Type in a short description of the module, it will be visible on the activation page of the registrar
- Upload a file with documentation if you have prepared any - you may use any format.
The provided documentation may be a form of guidebook for Resellers on how to install and configure the module. It is the responsibility of Providers to inform their Resellers about essential reselling tips and others.
|
Newly created Integration will appear on the list. You may:
- Edit its details (change name, description, or file) at any time
- Download the integration package
- Delete the integration
|
In order to delete numerous integration at once, use the mass action button.
|
Products
Here you can create a list of products along with their custom pricing details that resellers assigned to this group will be allowed to offer to their clients.
Press the 'Assign Product' button to begin.
|
Select products from the available and press 'Confirm'.
|
Assigned products will appear on the list where the following options are available:
- Settings
- Set Pricing
- Unassign Product
|
Under the 'Settings ' section, the 'Start ', 'Stop ', 'Reboot ', 'Details ', 'Graphs ' actions can be enabled. Note: These options are available only for Proxmox VPS products.
|
Then, set pricing for a particular item. Important: The default pricing is set to '-1' (minus one) which is treated as disabled. To enable the preferred pricing method, simply provide a price of the product. Note 1: Please remember that ' First Payment' does not stand for ' Setup Fee' . Note 2: If you decide to set pricing for a particular period, keep in mind that you need to complete both fields- 'First Payment' as well as 'Recurring' in order for the pricing to be displayed in the Reseller Area. Note 3: If you wish to offer free products then provide the 0.00 price.
|
Moreover, there is the possibility to set pricing for a few selected products. Simply, use the mass action button to do it with one click. In the same way, you may also unassign the preferred products.
|
Now, your group configuration is ready. If you have more groups, simply repeat these steps for each of them. Remember that you are always able to edit the single group name or delete if no longer needed. Just click on adequate buttons to do so.
|
Keep in mind that you may never delete a group if there are any resellers assigned to the group. Before deleting it, you must choose an alternative group to which the resellers will be reassigned.
|
Resellers
In this section you will find a list of your active Resellers. Press 'Add Reseller' to make one of your clients a reseller.
|
- Select one of your previously created groups, to which the reseller should be assigned.
- Then select one of your clients from the dropdown, start typing to see a list of clients
- Generate an API Key for the Reseller, it will be necessary when configuring the integration module with the Reseller's platform
- Prepare a list of allowed IP addresses, use comma or a space to separate - note that this option must have been enabled previously in the module general settings here
- API Status - toggle to allow reseller generate the API key in the Reseller Area
- API Limits - toggle to be able to define precise limits
- API Interval [Min] - enter a time interval in minutes in which a provided below number of API requests can be called
- API Requests Limit - maximum number of API requests in the time interval
|
Reseller Details
API Configuration
Here you may easily alter the settings that you have defined when creating the reseller.
Apart from them, you may preview the API Email Address and API Key required to activate and configure the integration module.
|
Orders
This section includes a list of all bought products which are offered by this reseller. Take a look at any crucial details on the orders.
|
Income
The 'Income' tab contains a current list of invoices that generate any income for the reseller. Press the invoice ID and you will be redirected to the invoice summary.
|
Response Templates
In the 'Response Templates' section you may add and edit new templates with text messages/information that are sent to clients instead of defined here system responses.
In order to add a new response template press the 'Crate Template' button and then follow the below instructions.
|
Provide the pattern for search and replace in the system response depending on the type.
- For Text type, simply provide a string like 'Error Response'.
- For Regular Expression type, you need to provide a regular expression which will be replaced.
For example, if you want to replace any dollar price in the response provide '\$\d+\.\d+', in this case it will replace strings like '$8.25'.
- If you want to replace any response, simply type '.+' in here.
|
In the second step Replace With you need to enter a text message that will be sent to a client when the above entered pattern is found. The two messages will be replaced with one another.
|
Define Priority. The higher number you enter, the higher priority will be assigned. Important! All active patterns within the same group found with different priorities are performed starting from the higher to lower priority.
|
Finally,
- choose 'Text' or 'Regular Expression' from Type dropdown menu.
It will specify if provided text in the first field should be treated as a text or a regular expression while searching for a pattern.
- Registrar Action - must be chosen from dropdown menu as well to specify upon which action provided patterns will be searched for.
Remember, to finish successfully you need to press the 'Confirm' button.
|
Now you can see a newly configured response is visible on the list. You may edit the added response or remove it any time you need. To do so, just simply click on the appropriate action button.
|
Module Logs
In 'Logs' section you may preview a list of API requests and responses, including errors with the most important details on them.
|
Use action buttons to delete all logs or just single entries.
|
Documentation
API Documentation
Under the 'Documentation' tab you will find two subsection. The first one is dedicated to API.
This API documentation has been prepared to allow you to write your own integration modules for platforms other than WHMCS.
The 'Information' subtab contains:
- Endpoint - URL to which all the API requests are directed
- Authorization - Username and token parameters to authenticate the client in the API request
- Example - exemplary request to API to renew a product
|
'Calls' subtab contains information about actions supported by the API.
Note: The screen below does not capture all the supported functions. Full API functionality can be found on the module features list at the top of this documentation.
|
The last section includes 'Models' details.
|
Module Documentation
'Module Documentation ' is a hyperlink. It leads to the 'Products Reseller For WHMCS' wiki article you are currently reading.
|
Reseller Area
Resellers can manage API connection credentials directly from the provider WHMCS client area as well as see any details on its products offer.
Go to 'Services' → 'Reseller Area' to access them.
|
Orders
As you can see, the 'Orders' section includes a detailed list of orders placed by end-clients on the Reseller's system. Moreover, you can not only check the ordered products but also any payment details and date.
|
Pricing
The 'Pricing' section includes a list of the Reseller's products with the option to preview its pricing set up by the provider.
|
Settings
Under 'Settings' section you will find any API details necessary to install and activate the integration module.
|
Underneath the API details you will find a list of generated integrations. Depending on the provider, you may download the packages, download the additional fields and documentation per Integration.
|
Logs
Preview a list of logs on API requests and responses, including errors stored in the module.
|
API Documentation
Access API documentation details with basic information and API Calls and Models.
This API documentation has been prepared to allow you to write your own integration modules for platforms other than WHMCS.
'Information' tab contains:
- Endpoint - URL to which all the API requests are directed
- Authorization - Username and token parameters to authenticate the client in the API request
- Example - exemplary request to API to renew a product
|
Available 'Calls' list:
Note: Please remember that the following API Calls: start, reboot, stop, details, graphs are currently available only for Proxmox VPS products.
|
Available 'API Models' list:
|
Products Reselling Workflow
Installation Of Integration Module
Below you can find instructions for installation of the integration module on the reseller's WHMCS.
Please refer to section Integrations to learn how to generate an integration module for your resellers.
|
1. Extract and upload the integration module into the reseller's main WHMCS directory.
Once you have uploaded the integration module, you should find a new folder with this module in 'resellerWHMCS/modules/servers/' directory as presented below.
Important: The folder and module name as well as description of the extracted integration module are customized by the provider and will be different than the one presented in the example below.
|
2. Now, go to 'Setup' → 'Products/Services' → 'Products/Services' and create a new group.
|
3. Enter a product group name and press 'Save Changes' .
|
4. When you have a product group, you can assign your product to it.
To create a product, click on 'Create a New Product'.
|
5. Afterwards, choose a product type, then select the previously created product group from the dropdown menu and provide a product name. Finally, find the uploaded integration module in the dropdown menu. Do not forget to save changes.
|
6. Set up the pricing for your product.
|
7. Finally, after saving previous changes, go to the 'Module Settings' and follow these steps: Provide API Username and API Key which were generated here and save changes.
|
Now you have the possibility to choose the product from the dropdown menu. When selected, save changes again.
|
At the end, new actions will show up. You can now decide which ones should be enabled. Simply, tick the preferred actions. Note: Please remember that these actions are available only for Proxmox VPS products.
|
8. After placing an order, the client area looks as presented here: As you can see, the enabled options appear in the side menu and additional information about the product at the bottom of the page. Note: Please remember that the presented below options are dedicated to Proxmox VPS. For other modules, the side menu section with supported features will look like for products based on the 'Auto Release' module. For more info click here.
|
Sample Workflow
In this section we will present to you a sample workflow of the module.
In a basic workflow 3 users take part:
Provider – a person with Products Reseller For WHMCS installed on the WHMCS system.
Reseller - a provider's client who aims at reselling products offered to him by the provider.
The reseller must own a system with integration module generated for him by the provider with Products Reseller For WHMCS.
End Client – a person with a client account in the Reseller's WHMCS.
Provider's Part
Let us start from the beginning. Provider installs Products Reseller For WHMCS in the system.
He already has some products in the offer and wishes to allow the reseller to resell them.
Now, the provider configures Products Reseller For WHMCS, creates groups, configures them and assigns products and defines their pricing for the reseller who is assigned to one of the groups.
Finally, selects which of the clients will become resellers, assigns them to previously created groups and generates access details.
Reseller Part
The Reseller has access to the Reseller Area once logged into the provider's client area.
There, he can download both the integration module and its documentation as well as generate and copy any API details required to activate the integration module in his own system.
Then, the reseller needs to set up products that the provider allows him to resell with the integration module delivered by the provider. Defines the pricing (prices must be higher than the ones the provider has set up to generate any income).
There is one step that separates the reseller from offering the product from his system.
The reseller must add funds to his credit balance in the provider system to be able to pay off the charges and settle the amounts owed to the provider for his resold products .
Provider creates an 'add funds invoice' for the Reseller, the Reseller pays the invoice and then again the Provider adds the same amount to Reseller's credit balance.
From now on, any product can be ordered.
End Client
End Client orders a product from his client area in the Reseller's system.
Last Word About Payment
Now, that the End-Client has ordered and paid the reseller for the product, at the provider's system a new invoice for that product is created automatically (on behalf of the reseller).
Depending on the selected "Payment Type" configuration the invoice will be paid with credits and product attempted to be created or attempt to create the product and if successful, the invoice will be paid with credits.
In case the reseller does not have sufficient credits on his account to pay for the product creation, the process is stopped until the invoice is manually paid by the reseller.
The reseller's income is the difference between the price of the sold product to the End-Client and the price he paid to the provider.
|
Tips
1. Products Reseller For WHMCS can work with almost any provisioning module but the only supported features are limited to the following ones: create action, suspend action, unsuspend action, terminate action, renew action. No additional features in the client area are provided.
The integration with Proxmox VPS For WHMCS provides additional features such as: get VM details, get VM graphs, start VM, stop VM, reboot VM.
We are currently working on adding integrations with more modules so they are expected to appear in the near future.
|
2. Make sure that you are not blocking access to the 'api' catalog by your '.htaccess' file.
|
3. Products Reseller For WHMCS enables you to resell your products not only to WHMCS system.
You are able to easily prepare integration module for any system (Blesta, HostBill, Clientexec, BoxBilling and many more) using Products Reseller For WHMCS API.
All you need is knowledge of for example PHP programming language and our module's API.
|
4. If a client buys a product from the reseller and pays in a different currency than the reseller's default currency then the amount will be converted into the reseller's default currency basing on the 'Base Conv. Rate' (your WHMCS → Setup → Payments → Currencies).
|
Update Instructions
An essential guidance through the process of updating the module is offered here.
Keep in mind there is a quick and easy option in our client area that will let you upgrade the license of your module to an open source version at any time - and at a lower price!
To take advantage of it, simply use the License Upgrade button located on the product's page and a discounted invoice will be generated automatically.
|
Common Problems
1. When you have problems with connection, check whether your SELinux or firewall does not block ports.
|
2. If the reseller encounters the 'Order Accept Encountered Problems. Invoice for the hosting has not been paid' error while the create action, then the provider should make sure that:
- the product that is offered to the reseller has the 'Recurring' pricing set properly.
- the reseller has enough credits on his account to pay for the product
- the 'Automatic Credit Use' option is enabled in WHMCS → General Settings → Credit.
|
3. If you are using nginx server and getting 404 errors please check that you have set a proper declaration in your '/etc/nginx/conf.d/' configuration file.
This may be e.g.:
location /client/modules/addons/ProductsReseller/api/ {
try_files $uri $uri /client/modules/addons/ProductsReseller/api/index.php;
}
but may differ depending on your configuration (e.g. '/portal/' path may be used instead of a '/client/' one)
|