WHMCS Billing Module for XUI

Revision as of 08:36, 18 December 2021 by Admin (talk | contribs) (→‎How to Configure)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Overview

This WHMCS module allows Users to be auto-provisioned instantly for XUI. It 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**

You need to be running XUI v1.3.15 release date: 19/04/2021 and later. Previous versions had the below bug.

[Admin API] Fixed table commands such as get_users not working.

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.

Step1.jpg

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.

PHP71 74.png


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.

Step2.jpg

Step3.jpg

How to License

4. Log in to our client area and get your license key.

Step4.jpg

5. In Whmcs go to "System Settings" > "Addon Modules".

Step5.jpg

6. Click Activate.

7. Click Configure. Paste your License Key in, Check the box "Full Administrator" and click Save.

Step6.jpg

How to Configure

8 Enable "Attempt to load all files" in "Encoded File Loading" by doing this. Click "System Settings" > "General Setting" > "Other" and check the box "Attempt to load all files".

Xtreamui16.png

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".

Step7.jpg

12. Fill in the above information. Make sure you select "XUIResell" as the module. Click Continue.

Step8.jpg

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.

Step9.jpg

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.

Step10.jpg

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.

Step11.jpg

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.

NOTE: For your XUI url field you should be assigned another api that goes on the end of your panel url. This is not the same api that you use to login with a browser. https://myresellerpanel.com:8443/HkoJfNb/ api being "HkoJfNb".

Step13.jpg

A Quick note for those of you that don't know where to get your XUI API key. Login to your XUI panel and click your credits icon on the right. From the dropdown click "User Profile"

Xtreamui17.png

Copy your API key from the box. If you don't see the API key click the refresh button on the far right.

Xtreamui18.png

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.

Step15.jpg

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.

Step14.jpg

20. Because this is a free trial we select "Automatically setup the product as soon as an order is placed" and click save.

Step16.jpg

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.

Step17.jpg

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.

Step18.jpg

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.

Step19.jpg

Setting up Email templates

24. Now we need to setup the Email templates. Go to "System Settings" > "Email Templates". Click "Create New Email Template".

Step20.jpg

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.

Step21.jpg

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.

Step21.jpg

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".

Step22.jpg

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.

Step23.jpg

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".

Step24.jpg

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.

Step25.jpg

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.

Step26.jpg

Troubleshooting

My licence has expired but its a valid license

In Whmcs go to "System Settings" > "Addon Modules".

Click Deactivate. Click Activate. Click Configure. Paste your License Key in again, Check the box "Full Administrator" and click Save. (Don't miss a step).


Products are not showing

For your XUI url field (Step 16) you should be assigned another api that goes on the end of your Panel url. This is not the same api that you use to login with a browser. https://myresellerpanel.com:8443/HkoJfNb/ api being "HkoJfNb".