WHMCS Billing Module for XUI
Overview
This module allows Users to be auto-provisioned instantly on payment for XUI. Automates the adding of credits for Reseller's and Users.
Requirements
Requirements are the same as WHMCS.
Requirement Minimum Recommended PHP Version 7.2 Latest 7.3 or 7.4 Release PHP Memory Limit 64MB 128MB**
Installation and Configuration
Downloading and Uploading
In this tutorial we will show you how to successfully install ProjectX For XUI. We will guide you step by step through the whole installation and configuration process.
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.2 and later.
3. Extract the package and upload its contents
addonxuiresell will be uploaded to whmcs/modules/addons
xuiresell will be uploaded to whmcs/modules/servers
The content of the package to upload should look like this.
How to License
4. Log in to our client area and get your license key.
5. In Whmcs go to "System Settings" > "Addon Modules".
6. Click Activate.
7. Click Configure.
8. Paste your License Key in, Check the box "Full Administrator" and click Save.
Configure ProjectX for XUI
9. In order to create and configure a product, go to 'System Settings' → 'Products/Services'.
10. Click "Create New Group" and click save.
11. Click "Create a New Product".
12. Fill in the above information. Make sure you select "XUIResell" as the module. Click Continue.
13. Fill in product Description. You can leave Welcome email as the default. We will setup a Email template later and you can come back and change the Welcome Email. Click continue.
14. If the product is for a free trial you would use the above settings. "Auto Terminate/Fixed Term" is the number of days to auto terminate the product. If its a 24 hour trial you would set that to 1 and 2 for 48 hours. Leave that as 0 for Paid Subscriptions.
15. For Paid subscriptions you would use something similar to the above. Select "Recurring". The customer would then receive Recurring invoices on a Monthly, Quarterly etc, etc period. Set your pricing. Make sure "Auto Terminate/Fixed Term" is set to 0. Click save changes.
16. Fill in the above information. make sure you add a / of the end of your url's. If you are setting up a trial and wish to select all trial products from the panel select "trial_username". Click save. Your Trial products will now show in the drop down boxes
17. Note for "trial_username" I have selected the contents of the "Trial_ID" drop down box. If its a trial you must select that drop down box.
19. If you don't want the user to choose their own username or password you can check these boxes. This will generate a "Numeric" username and password. We did this because people find it easier to read numbers then complex randomly generated alpha, numeric ones.
20. Because this is a free trial we select "Automatically setup the product as soon as an order is placed" and click save.
21. For Paid Subscriptions. We select "official_username" for "Line Type". We then select products from the drop down boxes. NOTE: in the previous tab where you added your prices they should match. i.e If you only set Monthly pricing then you will only setup Monthly here.
21. Because this is a paid subscription we set "Automatically setup the product as soon as the first payment is received". So once whmcs receives payment it will automatically setup the user.
22. In the next tab "Custom Fields". in the field "Field Name" enter "Username" NOTE: Its starts with a capital U. If the line is for a mac you would enter "MAC" here. NOTE: All in capitals.(if you are setting up a mac in the previous step you would select "official_mac or trial_mac from the "line Type" drop down box. If you want the user to choose their own username you would check all three boxes. "Required Field" "Show on Order Form" "Show on Invoice". If you selected "Random Username" in the previous section you will only check. "Required Field" "Show on Invoice" If you want to use the password generated by XUI make sure in the previous section you have not checked "Random Username" and select "Required Field" "Show on Invoice" here.
23. Click "save" your product has now been setup.
Configuring Email templates
24. Now we need to setup the Email templates. Go to "System Settings" > "Email Templates". Click "Create New Email Template".
25. For "Email Type" select "Product/Service". NOTE: It will default to "General" make sure to change that to "Product/Service". For "Unique Name" enter "New Account Information" NOTE; it must be called exactly that and is case-sensitive. Click create.
26. For "Subject" again enter "New Account Information" exactly like that. Change "Font Family" to "Courier New" This will make sure Alpha Numeric characters are show properly i.e l and L. Next paste the below test in and click save. NOTE you can edit this but take Note of the service fields such as {$service_username} etc. The {$service_domain} field is retrieved from the earlier module field "Domain URL"
Dear {$client_name},
Your order for {$service_product_name} has now been activated. Please keep this message for your records.
Product Details are :
Product/Service: {$service_product_name}
Payment Method: {$service_payment_method}
Amount: {$service_recurring_amount}
Billing Cycle: {$service_billing_cycle}
Next Due Date: {$service_next_due_date}
Your M3U is :
NOTE: This is Case Sensitive:
{$service_domain}get.php?username={$service_username}&password={$service_password}&type=m3u_plus&output=ts
Your Electronic Programme Guide is:
{$service_domain}xmltv.php?username={$service_username}&password={$service_password}
Login Details :
Server={$service_domain}
Username :{$service_username}
Password : {$service_password}
Thanks for choosing us.
{$signature}
25. If you use MAG boxes please create a new template with the following as well For "Email Type" select "Product/Service". NOTE: It will default to "General" make sure to change that to "Product/Service". For "Unique Name" enter " New Account Information MAGBOX" NOTE; it must be called exactly that and is case-sensitive. Click create.
26. For "Subject" again enter " New Account Information MAGBOX" exactly like that. Change "Font Family" to "Courier New" This will make sure Alpha Numeric characters are show properly i.e l and L. Next paste the below test in and click save. NOTE you can edit this but take Note of the service fields such as {$service_username} etc. The {$service_domain} field is retrieved from the earlier module field "Domain URL"
Dear {$client_name},
Your order for {$service_product_name} has now been activated. Please keep this message for your records.
Product Details are :
Product/Service: {$service_product_name}
Payment Method: {$service_payment_method}
Amount: {$service_recurring_amount}
Billing Cycle: {$service_billing_cycle}
Next Due Date: {$service_next_due_date}
Login Details
Portal: {$service_domain}
Your MAC is: {$service_username}
Thanks for choosing us.
{$signature}
27. Proceed back to "Products and Services" and lets configure the "Welcome Emails" for your products. For "Trials" select "New Account Information".
28. For Paid subscriptions make sure to set the "Welcome Email" to "NONE". When the product is setup it will look for the Template "New Account Information" and send that.
Configuring Reseller Credits
To add a product to automatically provision Reseller credits add the product normally. There are a few small differences we will explain here.
29. For Reseller Credits, in the Pricing tab set Billing to "One Time".
30. In Module settings set Line Type to "reseller_credits" and set the "Credit Amount" field to the amount of credits to be added to the reseller account.
40. In "Custom Fields" set the "Field Name" to "Reseller" this must start with a capital R. Set "Required Field" > on "Show on Order Form" > on "Show on Invoice" > on.