<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://3.19.219.109/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lawrence</id>
		<title>WHMCS Documentation - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://3.19.219.109/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lawrence"/>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/Special:Contributions/Lawrence"/>
		<updated>2026-04-03T18:05:36Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.29.1</generator>

	<entry>
		<id>http://3.19.219.109/index.php?title=Automation_Settings&amp;diff=34573</id>
		<title>Automation Settings</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Automation_Settings&amp;diff=34573"/>
				<updated>2024-05-17T16:56:40Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Change Invoice Status */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''Automation Settings''' allow you to configure all of WHMCS's automated processes. This includes suspensions, unsuspensions, terminations, how far in advance the system generates invoices, and when the system sends overdue notices. It's the one central place that controls everything that the daily automation tasks do.&lt;br /&gt;
&lt;br /&gt;
You can access this feature at  '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Automation Settings''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Automation Settings'''.&lt;br /&gt;
&lt;br /&gt;
To trigger the daily automation tasks, you must configure a [[Crons|Cron Job]] at a recommended frequency of every 5 minutes. This is usually part of the initial installation of WHMCS.&lt;br /&gt;
&lt;br /&gt;
[[File:Videotutorial.png‎|center|link=https://www.youtube.com/watch?v=Yk3-Ud0jITc&amp;amp;list=PLfpgUwyOgC7C4wwPhB7jEqSp_esXB31Jb&amp;amp;index=5&amp;amp;t=0s|Watch Video Tutorial]]&lt;br /&gt;
&lt;br /&gt;
==Scheduling==&lt;br /&gt;
&lt;br /&gt;
===Time of Day===&lt;br /&gt;
[[File:Time of Day.png|thumb|Time of Day]]&lt;br /&gt;
This setting allows you to select the hour in which you'd like WHMCS to perform all daily automation tasks. To function properly, this setting depends on configuring your cron job to run at least once every hour. We recommend setting it to run every 5 minutes to allow other system processes, such as checking for updates, to take place.&lt;br /&gt;
&lt;br /&gt;
==Automatic Module Functions==&lt;br /&gt;
[[File:Automatic Module Functions.png|thumb|Automatic Module Functions]]&lt;br /&gt;
These settings pertain to your customer’s products or services and how the system handles non-payment.&lt;br /&gt;
&lt;br /&gt;
===Enable Suspension===&lt;br /&gt;
Selecting this option will enable automatic suspensions when payments for products or services are overdue. The setting below (Suspend Days) controls the amount of time between your customer becoming overdue and when the system suspends them.&lt;br /&gt;
&lt;br /&gt;
===Suspend Days===&lt;br /&gt;
If you enabled Enable Suspension, this configures the amount of time between a customer's product or service becoming overdue and the system suspending them.&lt;br /&gt;
&lt;br /&gt;
===Enable Unsuspension===&lt;br /&gt;
When you enable this setting, services that the system suspended due to &amp;quot;Overdue on Payment&amp;quot; will automatically become unsuspended when they pay the unpaid invoice for the item. However, if you suspended products or services manually, and assigned a custom reason for suspension, then an automatic reactivation will not occur. For example, you may have manually suspended an item with a reason of &amp;quot;Broken Terms of Service&amp;quot; or &amp;quot;Awaiting ID Verification&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Enable Termination===&lt;br /&gt;
Enable this option to terminate the client's service (remove it from the server) according to the setting below (Termination Days).&lt;br /&gt;
&lt;br /&gt;
===Termination Days===&lt;br /&gt;
If you selected Enable Termination, this determines the number of days between a product or service becoming overdue and the system terminating that product or service.&lt;br /&gt;
&lt;br /&gt;
==Billing Settings==&lt;br /&gt;
[[File:Billing Settings.png|thumb|Billing Settings]]&lt;br /&gt;
Use these settings to determine how the system generates invoices and sends payment reminders to your customers. Setting the Unpaid and Overdue Reminder settings to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; will prevent the system from sending the related emails.&lt;br /&gt;
&lt;br /&gt;
===Invoice Generation===&lt;br /&gt;
This is the number of days before the system will generate due date invoices. For example, if this setting is &amp;lt;tt&amp;gt;7&amp;lt;/tt&amp;gt;, the system will generate an invoice seven days before the due date for products, services, addons, and domains. The number of days should be an integer of &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or more.&lt;br /&gt;
&lt;br /&gt;
====Per Billing Cycle Settings====&lt;br /&gt;
By clicking '''Advanced Settings''', you can specify a different invoice generation setting for each billing cycle. For example, you may want the system to generate invoices for monthly services seven days in advance and generate invoices for annual services 14 days in advance.&lt;br /&gt;
&lt;br /&gt;
====Domain Invoice Generation====&lt;br /&gt;
This optional setting allows you to specify how far in advance to generate domain renewal invoices. You can use this if you want to give a longer time between invoice generation and the due date for domain invoices. This is particularly useful when you don't accept payments online and more time might be necessary to avoid domain expiration.&lt;br /&gt;
&lt;br /&gt;
Leave this setting blank if you want the system to generate all invoices at the same time.&lt;br /&gt;
&lt;br /&gt;
===Payment Reminder Emails===&lt;br /&gt;
If you enable this, the system will remind your customers by email in advance of an unpaid invoice's due date. It does this using the ''Invoice Unpaid Reminder'' setting (below). This setting does not apply to Overdue Reminders.&lt;br /&gt;
&lt;br /&gt;
===Invoice Unpaid Reminder===&lt;br /&gt;
The system sends this email before the due date if the invoice remains unpaid, to remind a customer that the invoice will be due soon.&lt;br /&gt;
&lt;br /&gt;
=== Overdue Reminders===&lt;br /&gt;
If a customer hasn't paid an invoice in a certain number of days after the due date, the system will email the customer with a reminder.&lt;br /&gt;
&lt;br /&gt;
===Add Late Fee Days===&lt;br /&gt;
If a customer hasn't paid an invoice that is this number of days overdue, your customer will be charged late fees (according to your choices in General Settings).&lt;br /&gt;
&lt;br /&gt;
===Overage Billing Charges===&lt;br /&gt;
Use this to determine how to bill clients for overage (if you enabled this). The first setting will calculate the bandwidth overage costs on the last day of each month and create an invoice that is due immediately. This will create a separate invoice.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second setting will still calculate the overage change on the last day of the month, but it will not create a separate invoice. Instead, the system will add it to the client's next invoice.&lt;br /&gt;
&lt;br /&gt;
===Change Invoice Status===&lt;br /&gt;
 &lt;br /&gt;
Select this to use the ''Collections'' invoice status to denote invoices that are bad debts ([[Payment_Reversals|payment reversals]]). You can use this to track invoices that have received payment disputes or chargebacks.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
WHMCS 8.3 and higher includes support for disputes for [[Stripe]] (credit card only) and some [[PayPal]]® transactions at '''Billing &amp;gt; [[Disputes]]'''. &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Change Due Dates===&lt;br /&gt;
Part of the [[Payment_Reversals|Payment Reversals]] feature. This reverts Next Due Date Increments for the products and services in an invoice. The system considers them as due again, and, in cases where the date is in the past, overdue, which will trigger an automated suspension until repayment is made.&lt;br /&gt;
&lt;br /&gt;
=== Enable Auto Cancellation ===&lt;br /&gt;
Select this to enable automatic cancellation of overdue invoices after a specific number of days. This setting automates cancellation of old, overdue invoices in the ''Unpaid'' status each time that the system cron runs.&lt;br /&gt;
  &lt;br /&gt;
* This setting will '''not''' cancel any overdue invoices that have partial payment or applied credit, regardless of the invoice's age.&lt;br /&gt;
* Invoice cancellation does '''not''' explicitly trigger additional actions. However, depending on your automation settings, additional automation may occur due to cancelled invoices.&lt;br /&gt;
* When the system cron cancels the applicable invoices, it will add a note to the invoice to indicate closure due to automatic cancellation.&lt;br /&gt;
 &lt;br /&gt;
You can view the overdue unpaid invoices that the system cancelled during the last daily task run under '''Overdue Invoice Cancellation''' at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Automation Status]]'''.&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-success&amp;quot;&amp;gt;We added this setting in WHMCS 8.10.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Days Overdue ===&lt;br /&gt;
If you enabled '''Enable Auto Cancellation''', enter the number of days an invoice can remain overdue before the system cron job cancels it.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-success&amp;quot;&amp;gt;We added this setting in WHMCS 8.10.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Payment Capture Settings==&lt;br /&gt;
[[File:Credit Card Charging Settings.png|thumb|Payment Capture Settings]]&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
Prior to WHMCS 8.2, these settings were under '''Credit Card Charging Settings'''.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Use these settings to determine how to charge your customer's pay method when you use a merchant gateway to handle credit card and other payments.&lt;br /&gt;
&lt;br /&gt;
===Process Days Before Due===&lt;br /&gt;
This specifies the number of days before the due date that you wish to capture. For example, setting this to &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; would attempt to charge the card for the first time one day before the invoice due date.&lt;br /&gt;
&lt;br /&gt;
=== Attempt Only Once===&lt;br /&gt;
By default, the system will attempt to capture payment for unpaid invoices daily until it succeeds.  When you enable this option, WHMCS will only attempt to charge the customer’s card once. If it fails, it will not try again until the client or an admin makes a manual payment attempt.&lt;br /&gt;
&lt;br /&gt;
===Retry Every Week For===&lt;br /&gt;
When you enable this, WHMCS will attempt to charge the card every Seven days from the expected capture attempt date for this number of weeks. &lt;br /&gt;
For example, if an invoice's '''Next Due Date''' value is on the 14th and you set this setting to &amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; and '''Process Days Before Due''' to &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt;, the system will attempt the first payment capture on the 13th. Then, it will retry payment on the 20th and 27th if the invoice status is not ''Paid''. &lt;br /&gt;
 &lt;br /&gt;
You can also set this setting to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; to disable the weekly retries, causing the system to attempt to charge the card every day until it succeeds or the invoice status changes to ''Cancelled''&lt;br /&gt;
&lt;br /&gt;
===CC Expiry Notices Date===&lt;br /&gt;
This is the day of the month on which the system will send reminder emails to active clients with cards that expire by the end of the month, asking them to update their records. On the 1st of the month, WHMCS will remove any credit cards with an expiration date before that day's date.&lt;br /&gt;
&lt;br /&gt;
We recommend a low value, such as &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt;, to give clients as much notice as possible to update their card details. For example:&lt;br /&gt;
&lt;br /&gt;
'''Scenario'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Card Expiry Date: March 2020&amp;lt;br/&amp;gt;&lt;br /&gt;
CC Expiry Noticed Date: 1&lt;br /&gt;
&lt;br /&gt;
'''Timeline of Events'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Reminder email sent: 1st March 2020&amp;lt;br/&amp;gt;&lt;br /&gt;
Card removed from WHMCS: 1st April 2020&lt;br /&gt;
&lt;br /&gt;
===Do Not Remove CC on Expiry===&lt;br /&gt;
When you enable this option, the client's credit card information will remain on file after its expiration date. When you disable this, the system will remove the credit card details using the setting you specified for CC Expiry Notices Date.&lt;br /&gt;
&lt;br /&gt;
==Currency Auto Update Settings==&lt;br /&gt;
[[File:Currency Auto Update Settings.png|thumb|Currency Auto Update Settings]]&lt;br /&gt;
Use these settings for the multi-currency system.&lt;br /&gt;
&lt;br /&gt;
===Exchange Rates===&lt;br /&gt;
When you enable this setting, WHMCS will connect with the European Central Bank and obtain the latest exchange rates. This will ensure your currency conversion functions are always using an accurate rate. For more information, see the list of [[Currencies#Auto_Updating_Rates |supported currencies]].&lt;br /&gt;
&lt;br /&gt;
===Product Prices===&lt;br /&gt;
When you enable this setting, the system will automatically update your prices according to the exchange rates. For example, if you have a product that costs $1 in your default base currency (USD) and the exchange rate is 0.6 for a second currency (GBP), the product’s price would automatically update to £0.6. Tomorrow, if the exchange rate changed to 0.7, a $1 product would change to £0.7.&lt;br /&gt;
&lt;br /&gt;
==Domain Reminder Settings==&lt;br /&gt;
 &lt;br /&gt;
[[File:Domain Reminder Settings.png|thumb|Domain Reminder Settings]]&lt;br /&gt;
 &lt;br /&gt;
You can configure WHMCS to send Domain Renewal Notices before and after a domain has expired and, in WHMCS 8.2, choose whether to send renewal notices for free domains bundled with a product or service. &lt;br /&gt;
&lt;br /&gt;
For more information on this functionality, see [[Domain Renewal Notices]] and [[Free Domains]].&lt;br /&gt;
&lt;br /&gt;
=== Renewal Notices ===&lt;br /&gt;
&lt;br /&gt;
You can send a maximum of five reminders. &lt;br /&gt;
&lt;br /&gt;
To configure these settings, for each renewal notice:&lt;br /&gt;
&lt;br /&gt;
# Enter the number of days for that notice. If you set any field to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; it will disable that email.&lt;br /&gt;
# Select whether to send the reminder that many days before or after the renewal date.&lt;br /&gt;
&lt;br /&gt;
=== Free Domain Reminders ===&lt;br /&gt;
&lt;br /&gt;
In WHMCS 8.2 and later, choose whether to send renewal reminders for free domains associated with a paid product or service. This setting defaults to disabled for existing installations upgrading to WHMCS 8.2 and to enabled for new installations of WHMCS 8.2 and higher. &lt;br /&gt;
&lt;br /&gt;
For more information, see [[Free Domains]].&lt;br /&gt;
&lt;br /&gt;
==Domain Sync Settings==&lt;br /&gt;
&lt;br /&gt;
[[File:Domain Sync Settings.png|thumb|Domain Sync Settings]]&lt;br /&gt;
&lt;br /&gt;
===Domain Sync Enabled===&lt;br /&gt;
Enable this setting for the domain date and status synchronisation function.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-question-circle&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; For more information about the domain sync task, see [[Domain Synchronisation]].&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sync Next Due Date===&lt;br /&gt;
Use this setting to choose whether to sync the Next Due Date to the Expiry Date, and, if you wish, how many days in advance of it.&lt;br /&gt;
&lt;br /&gt;
===Domain Sync Notify Only===&lt;br /&gt;
If you enable this, the domain sync script won't make any changes. It will only notify admins of the changes it would have made. This is useful for debugging.&lt;br /&gt;
&lt;br /&gt;
===Domain Expiry Sync Frequency===&lt;br /&gt;
A value of &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; will check the domain expiration dates every four hours. Use this setting to set a different frequency. The lowest frequency setting, &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt;, will check every hour.&lt;br /&gt;
&lt;br /&gt;
===Pending Transfer Sync Frequency===&lt;br /&gt;
A value of &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; will check the domains in Pending Transfer status every four hours. Use this setting to set a different frequency. The lowest frequency setting, &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt;, will check every hour.&lt;br /&gt;
&lt;br /&gt;
==Support Ticket Settings==&lt;br /&gt;
[[File:Support Ticket Settings.png|thumb|Support Ticket Settings]]&lt;br /&gt;
===Close Inactive Tickets===&lt;br /&gt;
After this amount of time has passed, the system will close any tickets that meet both of the following criteria:&lt;br /&gt;
&lt;br /&gt;
* The ticket's status is either answered or customer reply.&lt;br /&gt;
* There have been no new replies from staff or the customer.&lt;br /&gt;
&lt;br /&gt;
The system will also send an email to the customer.&lt;br /&gt;
&lt;br /&gt;
Tickets in on hold and in progress status are exempt from auto-closure. Closure takes place when the daily cron job runs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;You must configure Ticket Statuses to &amp;quot;Auto-Close&amp;quot; for this setting to take effect. You can learn more about Ticket Statuses and the Auto-Close functionality in our [https://docs.whmcs.com/Support_Ticket_Statuses#Status_Options Status Options documentation].&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Prune Ticket Attachments===&lt;br /&gt;
When this setting is enabled, ticket attachments will be automatically deleted after the selected amount of time of inactivity following the closure of a ticket.  This can be set between 1 and 24 months.&lt;br /&gt;
&lt;br /&gt;
For more information on this functionality, see the [[Ticket Attachment Pruning]] documentation.&lt;br /&gt;
&lt;br /&gt;
==Data Retention Settings==&lt;br /&gt;
[[File:Data Retention Settings.png|thumb|Data Retention Settings]]&lt;br /&gt;
&lt;br /&gt;
===Automatically Delete Inactive Clients===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Automatically Delete Inactive Clients&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* We added this setting in WHMCS 7.5.&lt;br /&gt;
* In WHMCS 8.3 and earlier, this was the '''After no invoice or transaction activity has occurred for the following number of months''' setting.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This setting allows you to configure client records to be automatically deleted after a given number of months with no invoice or transaction history. The length of time you must retain data is often governed by the laws and regulations of your local jurisdiction. Most jurisdictions agree that you should only keep personal data for as long as is necessary.&lt;br /&gt;
&lt;br /&gt;
To enable this setting, select '''After no invoice payment has occurred for the inactive or closed client in the following number of months''' and specify a number of months that is greater than &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
This setting is disabled by default.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-danger&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Paid Invoices and Transactions&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The presence of paid invoices or transactions within the specified period determines whether WHMCS retains client records. If you enable this feature, WHMCS will immediately delete clients who are in the ''Inactive'' or ''Closed'' statuses and have no invoice or transaction history.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This setting causes the system to perform the '''Data Retention Pruning''' task each day. This will delete client records that meet the following criteria:&lt;br /&gt;
  &lt;br /&gt;
* A status of [[Automation_Settings#Client_Status_Update|'''Inactive''' or '''Closed''']].&lt;br /&gt;
* No paid invoices within the specified number of months.&lt;br /&gt;
* No entered or applied transactions within the specified number of months.&lt;br /&gt;
* If the client is an affiliate, a commission balance of &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or no referrals within the specified retention period. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;The system can automatically change the client status. Use the '''[[Automation_Settings#Client_Status_Update|Client Status Update]]''' setting to control this.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Delete associated users if the user(s) are not associated with any other client account===&lt;br /&gt;
&lt;br /&gt;
Optionally, you can set this to '''YES''' to cause the '''Data Retention Pruning''' task to also delete users who are only associated with this client.&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
[[File:Miscellaneous.png|thumb|Miscellaneous]]&lt;br /&gt;
===Cancellation Requests===&lt;br /&gt;
When you enable the [[Other_Tab#Show_Cancellation_Link|Show Cancellation Link]] option, enabling this setting will automatically terminate the client’s package on the termination date.&lt;br /&gt;
&lt;br /&gt;
For more information, see [[Cancellation Requests]].&lt;br /&gt;
&lt;br /&gt;
===Update Usage Statistics===&lt;br /&gt;
Enabling this option will display disk and bandwidth usage statistics from the hosting control panel (if it is supported) inside the WHMCS admin and client areas. It will update them on a daily basis.&lt;br /&gt;
&lt;br /&gt;
===Client Status Update===&lt;br /&gt;
The following applies to the client status dropdown found in the client account Profile tab. WHMCS automatically sets clients older than 2 days, with no active products or services to Inactive status. This helps you to distinguish and filter clients effectively. However, you can stop WHMCS from doing this by changing this setting. More information on this feature is available in [[Clients:Profile_Tab#Changing_a_Clients_Status|Client Management]].&lt;br /&gt;
&lt;br /&gt;
'''Disabled''' — The system won't change the status of a client automatically.&lt;br /&gt;
&lt;br /&gt;
'''Change client status based on active/inactive products''' — If a client was created more than 2 days ago, has no active or suspended services, domains, addons, or billable items, the system will automatically set their account to Inactive status the next time that the cron job runs.&lt;br /&gt;
&lt;br /&gt;
'''Change client status based on active/inactive products and not logged in for longer than 3 months''' — In addition to the above option, the system will only set a client's account to inactive when their last login date was over 3 months ago.&lt;br /&gt;
&lt;br /&gt;
===Module Log Pruning===&lt;br /&gt;
Enabling this option allows you to choose the number of days of [[System_Logs#Module_Log|module log]] entries to retain. The system prunes the module log daily during the execution of the cron.&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Transactions&amp;diff=34572</id>
		<title>Transactions</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Transactions&amp;diff=34572"/>
				<updated>2024-05-17T16:56:23Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Searching Transactions and Handling Reversals */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WHMCS records all of your transactions and allows you to view and work with them from within the Admin Area. You can also view your merchant account balances for [[Stripe]]™, [[PayPal Basic]], [[PayPal Payments]], and [[PayPal Card Payments]].&lt;br /&gt;
 &lt;br /&gt;
You can view a list of transactions at '''Billing &amp;gt; Transactions List'''.&lt;br /&gt;
 &lt;br /&gt;
==Applying Payment to an Invoice==&lt;br /&gt;
 &lt;br /&gt;
If you receive a payment that the system hasn't automatically logged in WHMCS, you will need to manually apply it to the invoice as a transaction.&lt;br /&gt;
 &lt;br /&gt;
* For steps to do this, see [[Invoicing]].&lt;br /&gt;
* If a payment is not for any particular invoice, [[Transactions#Issuing_Credit_to_a_Client|issue credit to the client]] instead.&lt;br /&gt;
 &lt;br /&gt;
== Multiple Invoices ==&lt;br /&gt;
 &lt;br /&gt;
If you receive a payment that applies to '''multiple invoices''', click '''Add Transaction'''. This displays the same settings for applying payment to an individual invoice, but, in addition, lets you set an '''Invoice ID(s)''' value. For this setting, you can enter a comma-seperated list of all of the invoice numbers to apply this payment to. The system will apply payments in the order you enter them until the client has used the full amount. The system will automatically add any remaining amount as a credit to the user for use on future invoices.&lt;br /&gt;
 &lt;br /&gt;
==Adding a Manual Transaction==&lt;br /&gt;
 &lt;br /&gt;
If you receive payment from a client by an offline means like a check or wire transfer, you must enter transactions manually. You may also want to do this to enter external transactions, like expenditures for your servers or other services, into WHMCS.&lt;br /&gt;
 &lt;br /&gt;
To do this:&lt;br /&gt;
 &lt;br /&gt;
# Click '''Add Transaction'''.&lt;br /&gt;
# Choose the related client (if any), the date of the payment, and the gateway.&lt;br /&gt;
# Enter a description, transaction ID (if applicable), and the amount.&lt;br /&gt;
# If this is a payment that the client can apply to invoices later (for example, a prefunding or payment on account), select '''Add as Credit'''. This will automatically create the appropriate credit entry for the user.&lt;br /&gt;
# Click '''Add Transaction'''.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
You must either enter one or more invoice IDs or select '''Add as Credit'''. If you do not do this, the system may not apply the transaction against an invoice or credit to the client's account.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==Account Prefunding/Add Funds==&lt;br /&gt;
 &lt;br /&gt;
Sometimes, a client may want to deposit money with you in advance (for example, if they are about to place several orders or they will be unavailable). WHMCS allows for this using '''Account Prefunding/Credit'''.&lt;br /&gt;
 &lt;br /&gt;
For more information, see [[Add Funds]].&lt;br /&gt;
 &lt;br /&gt;
==Managing Credit==&lt;br /&gt;
 &lt;br /&gt;
Credit allows customers to have a prepaid balance on their account. This can allow customers to pay in advance and can help with overpayments.&lt;br /&gt;
 &lt;br /&gt;
For more information, see [[Credit/Prefunding]] and [[Adding and Working With Credit]].&lt;br /&gt;
 &lt;br /&gt;
==Searching Transactions and Handling Reversals==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
WHMCS 8.3 and higher includes support for disputes for [[Stripe]] (credit card only) and some [[PayPal]]® transactions at '''Billing &amp;gt; [[Disputes]]'''. &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
If you have had a check bounce, or you've received a chargeback or dispute for a transaction you already applied, it is likely that the actions that payment should trigger, such as renewal of a product, domain registration, or renewal, have already happened and you can't reverse them. You will need to deduct the amount from your income and issue the client a new invoice to repay.&lt;br /&gt;
 &lt;br /&gt;
For example, you would perform the following steps for a transaction that a client paid in 2CheckOut with the transaction ID &amp;lt;tt&amp;gt;6A5245278HM&amp;lt;/tt&amp;gt;:&lt;br /&gt;
 &lt;br /&gt;
# Click the '''Search/Filter''' tab at the top.&lt;br /&gt;
# Select ''2CheckOut'' as the payment gateway.&lt;br /&gt;
# Enter the transaction ID (&amp;lt;tt&amp;gt;6A5245278HM&amp;lt;/tt&amp;gt;).&lt;br /&gt;
# Click submit. Any matching transactions will display. From here, we can see the transaction date, the client who made it, and the invoice they were paying.&lt;br /&gt;
# Click the invoice for that transaction.&lt;br /&gt;
# In the '''Refund''' tab, apply a &amp;quot;Record Only&amp;quot; refund to deduct the paid amount from your income and show that invoice as unpaid.&lt;br /&gt;
# Perform the necessary actions for each item on the invoice.  For example, you might want to suspend a product from the client profile to prevent further use or contact a domain's registrar and ask whether a cancellation is possible.&lt;br /&gt;
# Optionally, create a new manual invoice for repayment (for example, if the dispute is a mistake or the client has contacted you) by manually creating a custom invoice. This can also apply any fees or surcharges you may have incurred for the disputed payment. '''Do not''' attempt to re-invoice the original items for repayment: that could lead to double incrementing of due dates and double renewal actions on products and services.&lt;br /&gt;
&lt;br /&gt;
== Payment Gateway Balances ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-success&amp;quot;&amp;gt;We added this feature in WHMCS 8.2 and updated the displayed details in WHMCS 8.9.&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
You can view payment gateway balances for [[Stripe]], [[PayPal Basic]], [[PayPal Payments]], and [[PayPal Card Payments]] at '''Billing &amp;gt; Transactions List''' in the WHMCS Admin Area. This lets you check your financial details sooner and stay aware of trends and changes.&lt;br /&gt;
 &lt;br /&gt;
* The displayed balances remain in the cache for a specific amount of time and will then automatically refresh. You can also manually refresh them.&lt;br /&gt;
* When you click on a transaction in this list, additional details will display for that transaction.&lt;br /&gt;
* Balances display by default for admins with the '''Full Administrator''' role. To make this information available to other admins, assign the '''View Gateway Balances''' permission to the desired role.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-success&amp;quot;&amp;gt;If you use [[Stripe]], you can also view balances in the Admin Area Dashboard widget.&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;For information about displaying balances in custom development, see our [https://developers.whmcs.com/payment-gateways/displaying-balances Developer Documentation].&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
==The Gateway Logs==&lt;br /&gt;
 &lt;br /&gt;
If WHMCS isn't automatically handling transactions or you experience other transaction-related issues, check the related logs at '''Billing &amp;gt; [[Gateway Log]]'''.&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Payment_Reversals&amp;diff=34571</id>
		<title>Payment Reversals</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Payment_Reversals&amp;diff=34571"/>
				<updated>2024-05-17T16:56:00Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* What are Payment Reversals? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;i class=&amp;quot;fa fa-question-circle&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
This page describes a feature available in WHMCS 7.2 and higher.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==What are Payment Reversals?==&lt;br /&gt;
 &lt;br /&gt;
Payment reversals return the payment for a transaction to the buyer. This typically happens after a chargeback or having lost a [[Disputes|dispute]] with a customer (for example, a lost PayPal claim). In this situation, it is common to reverse the actions that the transaction triggered when it was originally received. The Payment Reversals feature in WHMCS automates this for you.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
* WHMCS 8.3 and higher includes support for disputes for [[Stripe]] (credit card only) and some [[PayPal]]® transactions at '''Billing &amp;gt; [[Disputes]]'''. &lt;br /&gt;
* For more information on working with disputes in WHMCS 8.2 and earlier, see [[Transactions]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Supported Gateways ===&lt;br /&gt;
&lt;br /&gt;
WHMCS can automatically perform payment reversals for the following supported payment gateways when they notify WHMCS of a reversal:&lt;br /&gt;
&lt;br /&gt;
* [[GoCardless]]&lt;br /&gt;
* [[PayPal Basic]]®&lt;br /&gt;
* [[SlimPay]]&lt;br /&gt;
* [[Skrill]]&lt;br /&gt;
&lt;br /&gt;
=== Reversal Actions ===&lt;br /&gt;
&lt;br /&gt;
Reversals can include the following actions:&lt;br /&gt;
&lt;br /&gt;
* '''Change Invoice Status''' — This action sets the invoice to the '''Collections''' status. This status can help you track invoices that have a problematic payment history (for example, invoices that have received chargebacks, [[disputes]], sold or unpaid debts, or other lost business).&lt;br /&gt;
* '''Change Due Dates''' — This action reverts '''Next Due Date''' increments for the products and services in an invoice. This marks the item as due or, in cases where the date is in the past, overdue, which will trigger an automated suspension until repayment.&lt;br /&gt;
&lt;br /&gt;
== Enabling Automated Payment Reversals ==&lt;br /&gt;
&lt;br /&gt;
To enable automated payment reversals, go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Automation Settings]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Automation Settings'''. &lt;br /&gt;
&lt;br /&gt;
Make certain that you check both '''Change Invoice Status''' and '''Change Due Dates'''.&lt;br /&gt;
&lt;br /&gt;
==Email Notifications==&lt;br /&gt;
&lt;br /&gt;
When a payment reversal notification is received, WHMCS will send an email notification to all admins whose role group receives '''Account Emails'''. For more information, see [[Administrators_and_Permissions#Managing_Administrator_Roles|Managing Administrator Roles]].&lt;br /&gt;
&lt;br /&gt;
==Making a Manual Payment Reversal==&lt;br /&gt;
&lt;br /&gt;
[[File:payment_reversal.png|750px]]&lt;br /&gt;
&lt;br /&gt;
A manual payment reversal can be performed when adding a refund to an invoice. To do this, check '''Reverse Payment''' when making the refund. The invoice status and next due dates will be reversed as appropriate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;i class=&amp;quot;fa fa-question-circle&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
In WHMCS 8.3 and higher, when you perform a manual refund on an applicable transaction, you may also reverse any affiliate commissions. For more information, see [[Invoicing]] and [[Affiliates]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Reversal Actions for Given Items==&lt;br /&gt;
&lt;br /&gt;
Reversal actions can vary depending on the products and services for an invoice:&lt;br /&gt;
&lt;br /&gt;
;Hosting and Hosting Addons Invoice&lt;br /&gt;
&lt;br /&gt;
: Any hosting and hosting addons that are part of the invoice for the reversed transaction will have their next due dates automatically reverted. If the payment reversal occurs as part of the cron tasks, automatic suspension, if enabled, will occur next. If the reversal is standalone, any potential suspension will run with the next scheduled automatic suspension.&lt;br /&gt;
&lt;br /&gt;
;Domain Items&lt;br /&gt;
:You must manage domain items manually. Payment reversals do not trigger any automatic actions for domains.&lt;br /&gt;
&lt;br /&gt;
;Upgrade Invoice&lt;br /&gt;
&lt;br /&gt;
:WHMCS will immediately suspend any services associated with the upgrade.&lt;br /&gt;
&lt;br /&gt;
;Add Funds Invoice&lt;br /&gt;
&lt;br /&gt;
:WHMCS will immediately remove the credit from the client account. This could result in a negative credit balance.&lt;br /&gt;
&lt;br /&gt;
;Mass Payment Invoice&lt;br /&gt;
&lt;br /&gt;
:A reversed transaction will apply to each paid invoice and those invoices will go to the '''Collections''' status.&lt;br /&gt;
&lt;br /&gt;
;Prorated Hosting and Hosting Addons&lt;br /&gt;
:The next due date of the items on the invoice will be set to the previous due date.&lt;br /&gt;
:If the payment reversal occurs as part of the cron tasks and automatic suspensions are enabled, suspension may occur.&lt;br /&gt;
:If the reversal is standalone, any potential suspend will run when the automatic suspension tasks is next scheduled.&lt;br /&gt;
&lt;br /&gt;
;Custom Items&lt;br /&gt;
&lt;br /&gt;
:Nothing can occur with custom invoice items. There is no relationship to use in WHMCS.&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Stripe&amp;diff=34570</id>
		<title>Stripe</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Stripe&amp;diff=34570"/>
				<updated>2024-05-17T16:55:22Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Payment Workflow */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this Module ==&lt;br /&gt;
&lt;br /&gt;
The WHMCS Stripe payment gateway uses Stripe's tokenised storage system to submit credit card information to Stripe, which stores it remotely. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;For other Stripe options, see [[Stripe ACH]] and [[Stripe SEPA]]. &amp;lt;/div&amp;gt;&lt;br /&gt;
{{gateways&lt;br /&gt;
| type = token&lt;br /&gt;
| recurring = yes&lt;br /&gt;
| onetime = yes&lt;br /&gt;
| refunds = yes&lt;br /&gt;
| updatecc = yes&lt;br /&gt;
| deletecc = yes&lt;br /&gt;
| 3dsecure = yes&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
The Stripe payment gateway module is not compatible with the Modern or Boxes order form templates.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Adding the Stripe Payment Gateway ==&lt;br /&gt;
&lt;br /&gt;
[[File:stripe.png|thumb|Stripe Module Settings]]&lt;br /&gt;
&lt;br /&gt;
To set up the Stripe payment gateway in WHMCS:&lt;br /&gt;
 &lt;br /&gt;
# Go to the appropriate location for your version of WHMCS:&lt;br /&gt;
#* For WHMCS 8.0 and later, go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; Apps &amp;amp; Integrations''' or '''Addons &amp;gt; [[Apps and Integrations|Apps &amp;amp; Integrations]]'''.&lt;br /&gt;
#* For WHMCS 7.10 and earlier, go to '''Setup &amp;gt; Products/Services &amp;gt; [[Payment Gateways]]''' and choose '''All Payment Gateways'''.&lt;br /&gt;
# Click '''Stripe'''.&lt;br /&gt;
# Check '''Show on Order Form''' to display this payment method in the Client Area during checkout. &lt;br /&gt;
# Configure a display name. We recommend &amp;lt;tt&amp;gt;Credit Card&amp;lt;/tt&amp;gt;.&lt;br /&gt;
# Go to the [https://dashboard.stripe.com/account/apikeys Stripe portal] and retrieve the publishable and secret API keys.&lt;br /&gt;
# Enter your Stripe API Keys. &amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-info-circle&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; To test Stripe, enter your [https://stripe.com/docs/keys#obtain-api-keys Stripe Test Mode API Keys].&amp;lt;/div&amp;gt;&lt;br /&gt;
# Optionally, customize the '''Statement Descriptor Suffix''' with a maximum of 22 characters.&lt;br /&gt;
# In WHMCS 8.0 and later, leave the '''Stripe WebHook Endpoint Secret''' and '''Stripe WebHook Endpoint Secret (Test/Sandbox)''' empty. WHMCS auto-generates these. See below for more information.&lt;br /&gt;
# Optionally, check '''Allow Payment Request Buttons'''. See below for more information.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
# If you use different default currencies in Stripe and WHMCS, make certain that you have also configured your Stripe account's currency with a valid exchange rate at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Currencies]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Payments &amp;gt; Currencies'''. Stripe only returns transaction fees in the default currency for the Stripe account.&lt;br /&gt;
 &lt;br /&gt;
=== WebHook Endpoints ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
You can use Stripe Webhooks in WHMCS v8.0 and above.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Stripe's WebHook Endpoints update WHMCS automatically with changes to your customers' cards. In WHMCS 8.0 and later, when you click '''Save Changes''', WHMCS will use the '''Stripe Publishable API Key''' and '''Stripe Secret API Key''' to generate the '''Stripe WebHook Endpoint Secret''' and '''Stripe WebHook Endpoint Secret (Test/Sandbox)'''. &lt;br /&gt;
&lt;br /&gt;
* If you enter live API keys (&amp;lt;tt&amp;gt;sk_live&amp;lt;/tt&amp;gt;), WHMCS will generate the '''Stripe WebHook Endpoint Secret'''.&lt;br /&gt;
* If you enter test API keys (&amp;lt;tt&amp;gt;sk_test&amp;lt;/tt&amp;gt;), WHMCS will generate the '''Stripe WebHook Endpoint Secret (Test/Sandbox)'''.&lt;br /&gt;
&lt;br /&gt;
WHMCS registers the WebHook Endpoints to deliver these events from Stripe:&lt;br /&gt;
&lt;br /&gt;
 * &amp;lt;tt&amp;gt;customer.source.updated&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;payment_method.updated&amp;lt;/tt&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
To change the WebHook ID, empty '''Stripe WebHook Endpoint Secret''' and '''Stripe WebHook Endpoint Secret (Test/Sandbox)''' and click '''Save Changes'''. WHMCS will auto-generate them again with new values.&lt;br /&gt;
&lt;br /&gt;
=== Payment Request Button ===&lt;br /&gt;
&lt;br /&gt;
Enabling this option within the module configuration provides customers with a platform-specific payment request button (for example, Apple® Pay). For customers who don’t use Apple Pay, '''Payment Request''' supports credit cards stored in the browser, Google® Pay, and Microsoft® Pay.&lt;br /&gt;
&lt;br /&gt;
==== Apple Pay ====&lt;br /&gt;
&lt;br /&gt;
[[File:apple_pay_checkout.png|thumb|The Apple Pay Button on Checkout]]&lt;br /&gt;
&lt;br /&gt;
When you enable this, Apple Pay allows access to payment details that users have stored in their Apple Wallet. If they're using Safari® on their iPhone® or iPad®, when they tap &amp;quot;Buy with Apple Pay&amp;quot; on your site, they'll be shown a modal payment sheet. If they're using Safari on their Mac®, and have an iOS® device in range, they'll be prompted on their device to authorize the payment, which will then be sent to the browser. &lt;br /&gt;
&lt;br /&gt;
To use Apple Pay with a live Stripe API key, you must register all of the domains that will display an Apple Pay button with Apple. This includes both top-level domains (for example, &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;whmcs.com&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;) and subdomains (for example, &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;shop.whmcs.com&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-info-circle&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; An SSL certificate is '''required''' to use Apple Pay.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To do this:&lt;br /&gt;
&lt;br /&gt;
# Download this [https://stripe.com/files/apple-pay/apple-developer-merchantid-domain-association domain association file] and host it at &amp;lt;tt&amp;gt;/.well-known/apple-developer-merchantid-domain-association&amp;lt;/tt&amp;gt; on your site. For example, if you're registering &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;https://example.com&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;, make that file available at &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;https://example.com/.well-known/apple-developer-merchantid-domain-association&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;.&lt;br /&gt;
# To instruct Stripe to register the domain with Apple, go to the '''[https://dashboard.stripe.com/account/apple_pay Apple Pay]''' tab in '''Account Settings''' in the Stripe Dashboard.&lt;br /&gt;
&lt;br /&gt;
==== Google Pay ====&lt;br /&gt;
&lt;br /&gt;
Google Pay allows customers to make payments using any credit or debit card on their Google account, including Google Play, YouTube™, Chrome™, or an Android™ device.&lt;br /&gt;
&lt;br /&gt;
==== Microsoft Pay ====&lt;br /&gt;
&lt;br /&gt;
Microsoft Pay allows customers to make payments using any credit or debit card on their Microsoft account.&lt;br /&gt;
&lt;br /&gt;
==== Link ====&lt;br /&gt;
In WHMCS 8.8 and later, customers can pay using [https://stripe.com/en-ca/payments/link Link] for any Stripe transaction. Link makes payments easier by letting customers complete secure, one-click transactions using saved payment information. Stripe enables Link automatically.&lt;br /&gt;
&lt;br /&gt;
For more information about disabling Link for your Stripe account, see [https://support.stripe.com/questions/how-to-turn-off-link How to Turn Off Link].&lt;br /&gt;
&lt;br /&gt;
=== Test Mode ===  &lt;br /&gt;
&lt;br /&gt;
This module does not support test mode.&lt;br /&gt;
&lt;br /&gt;
== Payment Workflow ==&lt;br /&gt;
  &lt;br /&gt;
[[File:stripe_checkout.png|thumb|The Stripe module on Checkout]]&lt;br /&gt;
  &lt;br /&gt;
The Stripe module supports automated recurring and on-demand billing.&lt;br /&gt;
  &lt;br /&gt;
Customers can choose between previously-stored cards or entering new ones during payment, and they can update their credit cards at any time in the Client Area. Admins can also update credit card information in the WHMCS Admin Area.&lt;br /&gt;
  &lt;br /&gt;
During checkout, clients never leave WHMCS. Personal card information goes directly to Stripe and is never stored within WHMCS. The Stripe API handles all refunds and obtains transaction information.&lt;br /&gt;
  &lt;br /&gt;
* In WHMCS 7.8 and later, WHMCS uses the Stripe Elements implementation method. When performing checkout, if customer authorization is required, the system will prompt the user automatically to approve the payment. This process is also commonly referred to as 3D Secure. Use of 3D Secure depends on the card type and issuer.&lt;br /&gt;
* In WHMCS 8.8 and later, Stripe module transactions [https://support.stripe.com/questions/guide-for-indian-government-regulations-on-network-tokenization meet all Reserve Bank of India requirements].&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
WHMCS 8.3 and higher includes support for disputes for [[Stripe]] (credit card only) and some [[PayPal]]® transactions at '''Billing &amp;gt; [[Disputes]]'''. &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
===Recurring Payments===&lt;br /&gt;
 &lt;br /&gt;
Automated recurring payments use stored tokens. If a client card requires SCA, the system will deny the payment attempt and the client must log in to WHMCS manually to process the payment.&lt;br /&gt;
&lt;br /&gt;
== Payment Gateway Balances ==&lt;br /&gt;
 &lt;br /&gt;
In WHMCS 8.2 and later, you can view payment gateway balances directly within the WHMCS Admin Area, with native support for Stripe balances. &lt;br /&gt;
&lt;br /&gt;
At '''Billing &amp;gt; [[Transactions]]''', you can view balances in the transaction list and in the transaction details for individual transactions. For more information, see [[Payment Gateway Balances and Transactions]].&lt;br /&gt;
 &lt;br /&gt;
This requires you to enable '''View Gateway Balances''' for the desired administrator role at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Administrator Roles]]'''.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
In the Admin Area [[Admin_Dashboard|Dashboard]], you can view your Stripe balances through the '''Stripe Balance''' widget. However, this widget does not use the &amp;lt;tt&amp;gt;WHMCS\Module\Gateway\Balance&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;WHMCS\Module\Gateway\BalanceCollection&amp;lt;/tt&amp;gt; classes to display balances. For more information, see [[Stripe Balance Widget]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Migrating to Stripe ==&lt;br /&gt;
&lt;br /&gt;
The Stripe payment gateway module supports migrating locally-stored credit card details to Stripe's tokenized storage. This is useful when you transition from another non-tokenized merchant gateway provider to Stripe.&lt;br /&gt;
&lt;br /&gt;
For an existing client with a locally-stored credit card, the first time that the system attempts to capture payment for an invoice using Stripe, the system will submit the credit card details to Stripe and create and store a token. Then, the system will remove the local copy of the card details.&lt;br /&gt;
&lt;br /&gt;
To migrate to Stripe and ensure all future credit card processing uses it:&lt;br /&gt;
&lt;br /&gt;
# Go to the appropriate location for your version of WHMCS:&lt;br /&gt;
#* For WHMCS 8.6 and later, go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; [[Apps and Integrations|Apps &amp;amp; Integrations]]'''. &lt;br /&gt;
#* For WHMCS 8.0 to 8.6, go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Payment Gateways]]''' and choose '''All Payment Gateways'''.&lt;br /&gt;
#* For WHMCS 7.10 and earlier, go to '''Setup &amp;gt; Products/Services &amp;gt; Payment Gateways''' and choose '''All Payment Gateways'''.&lt;br /&gt;
# Activate the Stripe module.&lt;br /&gt;
# Click '''Deactivate''' for your previous merchant gateway provider.&lt;br /&gt;
# Select Stripe as the replacement gateway to switch users of the previous gateway module to.&lt;br /&gt;
# Click '''OK'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;PCI DSS Compliance&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
After migrating to Stripe, you may receive an email from Stripe requesting that you complete the [https://listings.pcisecuritystandards.org/documents/SAQ_D_v3_Merchant.pdf Self Assessment Questionnaire D] (SAQ D) form.&lt;br /&gt;
&lt;br /&gt;
This is because the system is attempting to send raw card data that your previous merchant gateway stored to Stripe's API. You can only do this when your Stripe account has been flagged as [https://stripe.com/guides/pci-compliance PCI compliant].&lt;br /&gt;
&lt;br /&gt;
To gain full access to Stripe's API, complete the SAQ D form to certify that you are PCI compliant and send it to Stripe. Stripe can then enable use of raw card data with their API.&lt;br /&gt;
&lt;br /&gt;
For more information, [https://support.stripe.com/ contact Stripe support].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Migrating from a 3rd Party Stripe Module ===&lt;br /&gt;
&lt;br /&gt;
The WHMCS Stripe module uses the Stripe &amp;lt;tt&amp;gt;cus_&amp;lt;/tt&amp;gt; reference to capture payments (for example, &amp;lt;tt&amp;gt;cus_9MvIb7UlgJfJTn&amp;lt;/tt&amp;gt;). The WHMCS Stripe module can replace any third-party module that uses this.&lt;br /&gt;
&lt;br /&gt;
To check whether your current Stripe module uses the &amp;lt;tt&amp;gt;cus_&amp;lt;/tt&amp;gt; reference, navigate to a client that you know has an active Stripe token and click on one of the pay methods in the '''Summary''' tab of the client's profile. Verify that the listed token includes the &amp;lt;tt&amp;gt;cus_&amp;lt;/tt&amp;gt; prefix.&lt;br /&gt;
&lt;br /&gt;
To start using the WHMCS Stripe module:&lt;br /&gt;
&lt;br /&gt;
# Note the internal name of the previous Stripe module, which you can find by looking in the gateway column in the &amp;lt;tt&amp;gt;tblpaymentgateways&amp;lt;/tt&amp;gt; database table.&lt;br /&gt;
# Activate our official Stripe module.&lt;br /&gt;
# Deactivate the previous Stripe module.&lt;br /&gt;
# Check one of the Stripe pay methods on a client. If the token contains &amp;lt;tt&amp;gt;cus{_}&amp;lt;/tt&amp;gt;, you can use it with our module but it will require a manual database edit first. To allow that, run the following SQL query using phpMyAdmin or another tool, replacing &amp;quot;example&amp;quot; with the name of the previous module: &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;UPDATE tblpaymethods SET gateway_name = 'stripe' WHERE gateway_name = 'example'; &amp;lt;/source&amp;gt;&lt;br /&gt;
# Remove any third-party files and template customisations for the previous Stripe module.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
===Remote Transaction Failure. Please Contact Support===&lt;br /&gt;
&lt;br /&gt;
This issue has multiple causes. This may also display as '''Error'''.&lt;br /&gt;
&lt;br /&gt;
To resolve this issue:&lt;br /&gt;
&lt;br /&gt;
# Go to '''Billing &amp;gt; Gateway Log'''.&lt;br /&gt;
# Check the '''Result''' and '''Debug Data''' columns for error messages or codes from the time of the payment attempt.&lt;br /&gt;
# Perform the appropriate steps in Stripe's [https://stripe.com/docs/error-codes Error Codes] and [https://stripe.com/docs/declines/codes Declines Codes] documentation.&lt;br /&gt;
&lt;br /&gt;
See below for other common causes of this error:&lt;br /&gt;
&lt;br /&gt;
====Payment Blocked By Stripe====&lt;br /&gt;
&lt;br /&gt;
This indicates that a rule in your Stripe account may be blocking payment.&lt;br /&gt;
&lt;br /&gt;
To resolve this:&lt;br /&gt;
&lt;br /&gt;
# Log in to your [https://dashboard.stripe.com/ Stripe Dashboard].&lt;br /&gt;
# Go to '''Developers &amp;gt; Logs'''. &lt;br /&gt;
# Find the log entries from the time at which the payment was attempted. The details of the log will show whether the payment was blocked (for example, with a '''The zip code you supplied failed validation''' error). &lt;br /&gt;
# Adjust the rules in your Stripe account for the error. For help, contact [https://support.stripe.com/ Stripe support].&lt;br /&gt;
&lt;br /&gt;
====Customisations====&lt;br /&gt;
&lt;br /&gt;
This issue may also present itself as '''&amp;quot;No Stripe Details Found for Update&amp;quot;''' in the '''Gateway Log'''.&lt;br /&gt;
&lt;br /&gt;
This issue can occur due to interference from a third-party Stripe module. Using the official Stripe module requires the full uninstallation and removal of any custom or third-party Stripe integrations. This includes removal of all files and template modifications.&lt;br /&gt;
&lt;br /&gt;
For example, these issues may trigger this error:&lt;br /&gt;
&lt;br /&gt;
* A hook file in &amp;lt;tt&amp;gt;/includes/hooks/stripe.php&amp;lt;/tt&amp;gt;. Remove this file when switching to the WHMCS Stripe module.&lt;br /&gt;
* Template customisations in your active order form template files.&lt;br /&gt;
* The payment method is set to a module other than Stripe. In this case, perform one of the following actions:&lt;br /&gt;
** Change the client's '''Payment Method''' setting in the client's '''Profile''' tab to the Stripe module.&lt;br /&gt;
** Make Stripe the system default payment gateway at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Payment Gateways]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Payments &amp;gt; Payment Gateways'''.&lt;br /&gt;
&lt;br /&gt;
====Out Of Date Template Files====&lt;br /&gt;
&lt;br /&gt;
The error indicates that you have out-of-date template files. Make certain that your client theme and order form templates are fully compatible with your version of WHMCS. The [[Release Notes]] for each version of WHMCS provide links to template changes.&lt;br /&gt;
&lt;br /&gt;
====Network Analyser Tool====&lt;br /&gt;
&lt;br /&gt;
Another method to diagnose this error is to use your browser's network analyser tool. Please see the section '''Another Error Type''' in [https://help.whmcs.com/m/troubleshooting/l/1312423-an-error-occurred-while-communicating-with-the-server-please-try-again this help article]. Whilst the article is for another issue, it describes how to use your browser's network analyser tool to help identify underlying errors.&lt;br /&gt;
&lt;br /&gt;
===No Stripe Customer Details Found===&lt;br /&gt;
The system logs this error in the debug data section of '''Billing &amp;gt; [[Gateway Log]]'''. It indicates that the client does not have a payment method in WHMCS. You can confirm this in the '''[[Pay Methods]]''' section of the client's '''[[Clients:Summary Tab|Summary]]''' tab.&lt;br /&gt;
&lt;br /&gt;
To resolve this, ask the client to log in to the Client Area, go to the unpaid invoice, and click '''Pay Now''' to make a payment via Stripe. This will create a payment method to use for future automatic payments.&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;You must provide a value for 'cvc'===&lt;br /&gt;
&lt;br /&gt;
If you see at '''Billing &amp;gt; [[Gateway Log]]''' for a failed payment attempt by an admin or the cron job, this indicates that the customer is in an European country or has a European billing address. Stripe's API requires that they make at least one manual payment to get added to their system. &lt;br /&gt;
&lt;br /&gt;
To resolve this, ask the client to log in to the Client Area, go to the unpaid invoice, and click '''Pay Now''' to make a payment via Stripe.&lt;br /&gt;
&lt;br /&gt;
For more information, see [https://stripe.com/docs/api?lang=python#create_card_token Stripe's documentation] (click '''show child parameters''').&lt;br /&gt;
&lt;br /&gt;
When you do this, the system displays the following data:&lt;br /&gt;
&lt;br /&gt;
 cvc&lt;br /&gt;
 usually required&lt;br /&gt;
 Card security code. Highly recommended to always include this value, but it's only required for accounts based in European countries.&lt;br /&gt;
&lt;br /&gt;
After the customer makes a manual payment, the system adds them to Stripe and any future attempts (automatic or manual) will work normally.&lt;br /&gt;
&lt;br /&gt;
===Network error [errno 35]: Unsupported SSL protocol version===&lt;br /&gt;
This error indicates a server configuration issue. The server is attempting a secure connection to Stripe using an outdated SSL protocol. Most providers now require connections via TLS for security purposes. For more information, see [https://stripe.com/docs/security#tls Stripe TLS Documentation].&lt;br /&gt;
&lt;br /&gt;
To resolve this issue, work with your system administrator or hosting provider to ensure that remote cURL connections use TLS by default. You may also need to update your OpenSSL version.&lt;br /&gt;
&lt;br /&gt;
===You passed an empty string for 'statement_descriptor'===&lt;br /&gt;
This indicates an empty '''Statement Descriptor''' field in the payment gateway configuration. Make certain that you set your entire [[#Adding_the_Stripe_Payment_Gateway|gateway configuration]].&lt;br /&gt;
&lt;br /&gt;
===Bad Request===&lt;br /&gt;
This error may appear in the Client Area when a client attempts to pay for an invoice or order using an existing stored payment method. It indicates that the customer or the token in WHMCS do not exist in Stripe. To ensure that the pay method is correctly stored in Stripe, delete the stored payment method from the Admin Area via the client's profile's '''[[Clients:Summary Tab|Summary]]''' tab (which may display a more-informative error to administrators). Then, add the payment method again.&lt;br /&gt;
 &lt;br /&gt;
Customised or outdated system themes or order form templates can also cause this error. To troubleshoot this:&lt;br /&gt;
 &lt;br /&gt;
# Go to the '''[[General Tab|General]]''' tab at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings''' or, prior to WHMCS 8.0, '''Setup &amp;gt; General Settings'''.&lt;br /&gt;
# Select ''Six'' or ''Twenty-One'' for '''System Theme'''.&lt;br /&gt;
# Go to the '''[[Ordering Tab|Ordering]]''' tab.&lt;br /&gt;
# Select a '''[[Standard_Order_Form_Templates|Default Order Form Template]]'''.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
# Return to the Client Area and refresh the page.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Client Area System Themes&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
We introduced Twenty-One in WHMCS 8.1. We plan to remove Six in a future version.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===An unexpected error - No Stripe Payment Method found from token===&lt;br /&gt;
This error indicates that the system could not transmit some of the required data to Stripe. This is usually due to outdated order form templates. Check this issue using the Twenty-One or Six system theme and the Standard Cart order form template.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Client Area System Themes&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
We introduced Twenty-One in WHMCS 8.1. We plan to remove Six in a future version.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This can also be caused by a JavaScript error from custom code (for example, template changes, hooks, or addons) preventing the standard Stripe JavaScript from running correctly. Your browser console will show whether a JavaScript error is occurring. &lt;br /&gt;
* If one is, the custom JavaScript will need to be corrected. &lt;br /&gt;
* If the JavaScript error is coming from a third-party customisation, contact the developer for assistance.&lt;br /&gt;
&lt;br /&gt;
If the issue persists, contact our [https://www.whmcs.com/submit-a-ticket/ support team].&lt;br /&gt;
&lt;br /&gt;
===Error Updating Remote Pay Method: Remote Storage Failed===&lt;br /&gt;
You can find information about this error at '''Billing &amp;gt; [[Gateway Log]]'''.&lt;br /&gt;
&lt;br /&gt;
===Stripe India Accounts===&lt;br /&gt;
India-based Stripe accounts require the following additional conditions for a successful payment capture:&lt;br /&gt;
&lt;br /&gt;
* The client's address and billing contact must use a valid Indian postal address.&lt;br /&gt;
* The payment card must be from an Indian bank.&lt;br /&gt;
* The invoice must use INR as the currency.&lt;br /&gt;
&lt;br /&gt;
To automatically convert invoice totals into other currencies upon payment in WHMCS:&lt;br /&gt;
&lt;br /&gt;
# Go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Currencies]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Payments &amp;gt; Currencies'''.&lt;br /&gt;
# Add &amp;lt;tt&amp;gt;INR&amp;lt;/tt&amp;gt; as an [[Currencies#Adding.2FEditing_a_Currency|additional currency]].&lt;br /&gt;
# Go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Payment Gateways]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Payments &amp;gt; Payment Gateways'''.&lt;br /&gt;
# Set '''Convert To For Processing''' on the Stripe gateway to ''INR''.&lt;br /&gt;
&lt;br /&gt;
For more information about the additional Stripe requirements for Indian Stripe accounts, see [https://support.stripe.com/questions/requirements-for-india-export-charges Stripe's documentation].&lt;br /&gt;
&lt;br /&gt;
{{modules}}&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Cron_Job_Issues&amp;diff=34546</id>
		<title>Cron Job Issues</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Cron_Job_Issues&amp;diff=34546"/>
				<updated>2024-04-16T20:11:09Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Segmentation fault */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{troubleshooting}}&lt;br /&gt;
&lt;br /&gt;
You may encounter some common problems and errors that can occur when running the WHMCS cron job.&lt;br /&gt;
&lt;br /&gt;
For more information about troubleshooting cron job issues, see [https://help.whmcs.com/m/automation/c/195647 our cron and automation troubleshooting guides].&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
There are several techniques available for troubleshooting the problems that you may encounter with the cron job:&lt;br /&gt;
&lt;br /&gt;
===Cron Execution===&lt;br /&gt;
&lt;br /&gt;
If you do not receive the daily cron digest email, see a warning on the System Health Status overview page, or on the Automation Status page then this indicates the cron not running. Troubleshooting and resolving this is a matter of priority, as the daily automation tasks are an integral part of WHMCS.&lt;br /&gt;
&lt;br /&gt;
Detailed steps on how to debug the cron execution can be found in our [https://help.whmcs.com/m/automation/l/683269-advanced-cron-troubleshooting|Advanced Cron Troubleshooting] Guide.&lt;br /&gt;
&lt;br /&gt;
===Run the cron job in your browser===&lt;br /&gt;
&lt;br /&gt;
To do this: &lt;br /&gt;
&lt;br /&gt;
# In the WHMCS admin area, go to the '''[[Other Tab|Other]]''' tab at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings''' or, prior to WHMCS 8.0, '''Setup &amp;gt; General Settings'''.&lt;br /&gt;
# Enable the '''Display Errors''' option.&lt;br /&gt;
# Visit the &amp;lt;tt&amp;gt;cron.php&amp;lt;/tt&amp;gt; file in your browser. For example: &amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;http://www.example.com/whmcs/crons/cron.php&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Note&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Executing &amp;lt;tt&amp;gt;cron.php&amp;lt;/tt&amp;gt; from a web browser is not possible if the &amp;lt;tt&amp;gt;/crons&amp;lt;/tt&amp;gt; directory is not inside a web-accessible directory. It will be subject to limitations that apply to executing any PHP script via a web browser such as, timeouts and won't provide any output on screen to examine (the execution must be observed from the Activity Log). Where possible, executing &amp;lt;tt&amp;gt;cron.php&amp;lt;/tt&amp;gt; from your server's command line interface is the recommended troubleshooting method.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Run the cron job from the server command line===&lt;br /&gt;
&lt;br /&gt;
To do this:&lt;br /&gt;
&lt;br /&gt;
# Access your server's command line.&lt;br /&gt;
# Copy the cron job command for the &amp;lt;tt&amp;gt;cron.php&amp;lt;/tt&amp;gt; file from your server's cron tab. &amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;crontab -u userName -l&amp;lt;/source&amp;gt; Where &amp;lt;tt&amp;gt;userName&amp;lt;/tt&amp;gt; represents the user on the server for which the cron command is configured under.&lt;br /&gt;
# Execute the command you copied with the addition of the verbose option:&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;php -q /path/to/whmcs/crons/cron.php -vvv&amp;lt;/source&amp;gt;&lt;br /&gt;
# Examine the output for any errors.&lt;br /&gt;
# To execute all daily automation tasks, adjust the cron command again to add in the force option:&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;php -q /path/to/whmcs/crons/cron.php --force -vvv&amp;lt;/source&amp;gt; This should only ever be executed once in any 24 hour period. Do this with the explicit intention of identifying why the cron may not be completing successfully.&lt;br /&gt;
&lt;br /&gt;
For more information, see [[Crons#Commands|Cron Commands.]]&lt;br /&gt;
&lt;br /&gt;
===Run the cron job from the server command line with debugging enabled===&lt;br /&gt;
&lt;br /&gt;
To do this:&lt;br /&gt;
&lt;br /&gt;
* Make sure you have enabled '''Display Errors''' in the '''[[Other Tab|Other]]''' tab at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings''' or, prior to WHMCS 8.0, '''Setup &amp;gt; General Settings'''.&lt;br /&gt;
* Access your server's command line.&lt;br /&gt;
* Make sure you have enabled '''display_errors''' in your command line PHP environment: &amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;php -i | grep display_errors&lt;br /&gt;
display_errors =&amp;gt; STDOUT =&amp;gt; STDOUT&amp;lt;/source&amp;gt;&lt;br /&gt;
* Copy the cron job command for the &amp;lt;tt&amp;gt;cron.php&amp;lt;/tt&amp;gt; file from your server's crontab: &amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;crontab -u userName -l&amp;lt;/source&amp;gt;&lt;br /&gt;
* Add the --force option to the end of the cron command and execute it:&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;php -q /path/to/whmcs/crons/cron.php all --force -vvv&amp;lt;/source&amp;gt;&lt;br /&gt;
*Examine the output for any errors. The final line output should be &amp;quot;'''[OK] Completed'''&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Common Errors==&lt;br /&gt;
&lt;br /&gt;
===Site error: the file /path/to/crons/cron.php requires the ionCube PHP Loader ioncube_loader_lin_5.6.so to be installed by the website operator===&lt;br /&gt;
&lt;br /&gt;
Seeing this error output indicates that the PHP configuration for your WHMCS installation may be different than the one on the command line.&lt;br /&gt;
&lt;br /&gt;
Log in as the same user that the cron job runs under. Then, run the following command at the server's command line to see the version information for your PHP and ionCube Loader® configurations:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
php -v&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should get an output along the lines of:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
PHP 5.4.43 (cli) (built: Aug 2 2015 02:44:35)&lt;br /&gt;
Copyright (c) 1997-2014 The PHP Group&lt;br /&gt;
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies&lt;br /&gt;
with the ionCube PHP Loader v4.7.5, Copyright (c) 2002-2014, by ionCube Ltd.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;tt&amp;gt;with the ionCube PHP Loader&amp;lt;/tt&amp;gt; line is absent, this indicates that ionCube Loader is not available for this user. Work with your hosting provider or server administrator to ensure that ionCube Loader is available to the cron job user.&lt;br /&gt;
&lt;br /&gt;
===Unable to communicate with the WHMCS installation===&lt;br /&gt;
&lt;br /&gt;
This error occurs when the &amp;lt;tt&amp;gt;cron.php&amp;lt;/tt&amp;gt; file is unable to communicate with the WHMCS installation. This typically occurs when you are using a custom location for the &amp;lt;tt&amp;gt;/crons&amp;lt;/tt&amp;gt; directory. The &amp;lt;tt&amp;gt;cron.php&amp;lt;/tt&amp;gt; file will look for the WHMCS directory in the location that you specified in the &amp;lt;tt&amp;gt;/crons/config.php&amp;lt;/tt&amp;gt; file. To resolve this error:&lt;br /&gt;
&lt;br /&gt;
* Open the &amp;lt;tt&amp;gt;/crons/config.php&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
* Ensure the &amp;lt;tt&amp;gt;$whmcspath&amp;lt;/tt&amp;gt; line is uncommented by removing the preceding &amp;lt;tt&amp;gt;//&amp;lt;/tt&amp;gt; characters.&lt;br /&gt;
* Ensure the &amp;lt;tt&amp;gt;$whmcspath&amp;lt;/tt&amp;gt; path is the full system path to your WHMCS directory. This is the directory that contains the &amp;lt;tt&amp;gt;init.php&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;clientarea.php&amp;lt;/tt&amp;gt; files.&lt;br /&gt;
&lt;br /&gt;
When you finish, the entire file will look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
/**&lt;br /&gt;
 * Custom Crons Directory Configuration&lt;br /&gt;
 *&lt;br /&gt;
 * This crons folder may be moved to any place above or below the docroot.&lt;br /&gt;
 *&lt;br /&gt;
 * We recommend locating it outside the docroot to prevent browser based access.&lt;br /&gt;
 *&lt;br /&gt;
 * Upon moving it, you must provide the path to your WHMCS installation to&lt;br /&gt;
 * allow the cron task files to communicate with the parent WHMCS installation.&lt;br /&gt;
 *&lt;br /&gt;
 * To do this, rename this file config.php, then uncomment and enter the full&lt;br /&gt;
 * path to the WHMCS root directory in the $whmcspath variable below.&lt;br /&gt;
 *&lt;br /&gt;
 * You must also provide the appropriate path to the crons folder in the&lt;br /&gt;
 * $crons_dir variable inside the WHMCS master configuration file.&lt;br /&gt;
 *&lt;br /&gt;
 * For more information please see http://docs.whmcs.com/Custom_Crons_Directory&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
$whmcspath = '/home/username/public_html/whmcs/';&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Could not open input file:  /path/to/crons/cron.php ===&lt;br /&gt;
&lt;br /&gt;
This error occurs when the &amp;lt;tt&amp;gt;cron.php&amp;lt;/tt&amp;gt; file is not present in specified directory path. Check the path and correct it, or ensure the &amp;lt;tt&amp;gt;cron.php&amp;lt;/tt&amp;gt; file is present.&lt;br /&gt;
&lt;br /&gt;
===Oops! Something went wrong and we couldn't process your request===&lt;br /&gt;
&lt;br /&gt;
This indicates that a fatal PHP error has occurred. Go to the '''[[Other Tab|Other]]''' tab at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings''' or, prior to WHMCS 8.0, '''Setup &amp;gt; General Settings'''. Select 'Display Errors'. Then, run the cron job again. The system will display the full error. The error normally indicates an issue with one or more modules. &lt;br /&gt;
&lt;br /&gt;
For example, you could see:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;debug&amp;quot;&amp;gt;exception 'Whoops\Exception\ErrorException' with message 'Cannot redeclare class module_class' in /home/whmcs/public_html/modules/gateways/module-name/module-file.php:16&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the error references a third party module you are using, you will need to contact the developers of the module to review and resolve the error. If the error references a WHMCS-developed and shipped module, contact our Support Team. It may also indicate an issue with the PHP configuration. For more information, see the sections below.&lt;br /&gt;
&lt;br /&gt;
===Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 20480 bytes)===&lt;br /&gt;
&lt;br /&gt;
This error indicates that the system is terminating the cron job because it has exceeded the 'memory_limit' value of 32 MB. Increase this to 64 MB (128 MB if possible) to resolve this. Contact your server administrator or hosting provider for assistance with this. &lt;br /&gt;
&lt;br /&gt;
You can check the limit using this command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
php -ini | grep &amp;quot;memory_limit&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also set the memory limit (&amp;lt;tt&amp;gt;memory_limit&amp;lt;/tt&amp;gt;) directly in the cron command. For example: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
php -d memory_limit=128M -q /path/to/whmcs/crons/cron.php&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===The file /path/to/crons/cron.php is corrupted===&lt;br /&gt;
&lt;br /&gt;
You may see this error in version 7.5 and above. This error will occur if you are running ionCube Loader 10.0 or earlier. WHMCS 7.5 requires ionCube Loader 10.1.0 or above. If your WHMCS installation is working, it indicates that the PHP configuration for your WHMCS installation may be different than the one that you use on the command line. To check this, you can again use the command below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
php -v &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Look for the following line to identify the ionCube Loader version:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
with the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured) v10.2.0, Copyright &lt;br /&gt;
(c) 2002-2018, by ionCube Ltd.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Error: Call to undefined function curl_init()===&lt;br /&gt;
&lt;br /&gt;
This error indicates that the system is terminating the cron job because the 'curl' extension is missing. To check this, run the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
php -m&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A similar error may also occur if the 'curl_init' function is a disabled function in your PHP configuration.&lt;br /&gt;
&lt;br /&gt;
===Whoops\Exception\ErrorException' with message 'Maximum execution time of 30 seconds exceeded===&lt;br /&gt;
&lt;br /&gt;
This error indicates that the system is terminating the cron job because it has exceeded the 'max_execution_limit' value of 30 seconds. Increase this to an appropriate value for the size of your installation. For most servers, a limit of '120' is sufficient, but larger servers may need a value of '300'. &lt;br /&gt;
&lt;br /&gt;
You can check the limit using this command:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;php -ini | grep &amp;quot;max_execution_time&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also set the &amp;lt;tt&amp;gt;max_execution_time&amp;lt;/tt&amp;gt; value directly in the cron command. For example: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
php -d max_execution_time=300 -q /path/to/whmcs/crons/cron.php&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===The cron is using a different timezone===&lt;br /&gt;
 &lt;br /&gt;
If your cron job is using a different timezone than your website's, you can change the timezone (&amp;lt;tt&amp;gt;date.timezone&amp;lt;/tt&amp;gt;) directly in the cron command:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
php -d date.timezone=&amp;quot;Europe/London&amp;quot; -q /path/to/whmcs/crons/cron.php&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Segmentation Fault===&lt;br /&gt;
&lt;br /&gt;
This error does not directly relate to the WHMCS software and can occur for many different reasons. It most commonly indicates that PHP is crashing and suggests there is an issue with your PHP installation (for example, a malfunctioning extension). It is something your server administrator or hosting provider would need to investigate, possibly using the &amp;lt;tt&amp;gt;strace&amp;lt;/tt&amp;gt; utility.&lt;br /&gt;
&lt;br /&gt;
In some instances, the OpCache PHP extension causes this error. To determine if it is the cause, temporarily disable it by changing the cron job to the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;php -q -d opcache.enable_cli=0 /path/to/whmcs/crons/cron.php&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the error no longer occurs after making that change, we recommend reverting it and disabling the OpCache PHP extension on the server to resolve this.&lt;br /&gt;
&lt;br /&gt;
===Domain renew link in emails is broken===&lt;br /&gt;
&lt;br /&gt;
Under some PHP server configurations, the system generates the URL for the domain renewal link in domain renewal reminder emails incorrectly.&lt;br /&gt;
&lt;br /&gt;
You can usually fix this by using the correct PHP binary on your cron job. Alternatively, you can adjust the cron job to work around the issue by formatting your cron command, as in the following example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
cd /path/to/crons/ &amp;amp;&amp;amp; php -q cron.php&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Could not connect to database===&lt;br /&gt;
&lt;br /&gt;
This error occurs when the &amp;lt;tt&amp;gt;cron.php&amp;lt;/tt&amp;gt; script cannot access your MySQL® database. This is often because the PHP configuration that the &amp;lt;tt&amp;gt;cron.php&amp;lt;/tt&amp;gt; script runs under is missing one or all of the following extensions:&lt;br /&gt;
&lt;br /&gt;
* PDO&lt;br /&gt;
* PDO MySQL&lt;br /&gt;
* MySQLi&lt;br /&gt;
&lt;br /&gt;
It can also be the result of a jailed environment with strict limitations. Your system administrator or hosting provider can check for the required extensions and any environmental limitations by testing a connection to the database and resolving any issues.&lt;br /&gt;
 &lt;br /&gt;
{{troubleshooting}}&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Disputes&amp;diff=34498</id>
		<title>Disputes</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Disputes&amp;diff=34498"/>
				<updated>2024-03-19T13:41:01Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Stripe Disputes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Disputes occur when a customer contests the charges you collect from their card issuer. Disputes can include chargebacks, inquiries, or retrievals, as well as other items, depending on the payment gateway you use. In WHMCS, you can update evidence and submit and close disputes.&lt;br /&gt;
  &lt;br /&gt;
You can access this feature at '''Billing &amp;gt; Disputes'''.&lt;br /&gt;
  &lt;br /&gt;
WHMCS 8.3 added support for disputes for Stripe (credit card only) and PayPal® Checkout transactions.&lt;br /&gt;
  &lt;br /&gt;
== The Dispute Process ==&lt;br /&gt;
  &lt;br /&gt;
Each card issuer or payment gateway handles disputes differently. For most card issuers and payment gateways, however, disputes follow the same general process:&lt;br /&gt;
  &lt;br /&gt;
# The customer submits the dispute to the card issuer or payment gateway.&lt;br /&gt;
# The card issuer or payment gateway notifies you of the dispute.&lt;br /&gt;
# In some scenarios, the card issuer or payment gateway will place a hold on the related funds.&lt;br /&gt;
# You can choose to provide evidence of the charge's validity, accept the dispute, or refund the payment.&lt;br /&gt;
  &lt;br /&gt;
Depending on the card issuer or payment gateway, some disputes may incur a fee.&lt;br /&gt;
  &lt;br /&gt;
== Dispute-Related Permissions ==&lt;br /&gt;
  &lt;br /&gt;
To work with disputes, admins must have the appropriate permissions, which the ''Full Administrator'' role includes by default:&lt;br /&gt;
  &lt;br /&gt;
* '''List Disputes''' — View the list of disputes.&lt;br /&gt;
* '''Manage Disputes''' — Submit evidence for, view evidence for, and manage the dispute.&lt;br /&gt;
* '''Close Disputes''' — Close disputes immediately.&lt;br /&gt;
  &lt;br /&gt;
== Responding to Disputes ==&lt;br /&gt;
  &lt;br /&gt;
WHMCS 8.3 added support for disputes for Stripe and PayPal® Checkout transactions. WHMCS 8.9 and later also include dispute support for [[PayPal Payments]] and [[PayPal Card Payments]].&lt;br /&gt;
  &lt;br /&gt;
To view details for a dispute, click on the view icon in the far-right column for that dispute. The displayed details for a dispute vary based on the payment gateway. They often include the dispute reason, dispute and transaction IDs, status, submitted evidence, and information about the customer and the actions taken during the dispute process.&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Submitting Disputes&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Each payment gateway handles submitting evidence and disputes differently. Submitting a dispute is final.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
=== Stripe Disputes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
WHMCS only supports disputes for the '''Stripe''' module. The '''Stripe ACH''' and '''Stripe SEPA''' modules do '''not''' support disputes.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
The Stripe integration provides full features for managing disputes. Among other features, Stripe allows you to submit evidence directly through the WHMCS interface. Currently, other payment gateways do '''not''' support direct submission from within WHMCS. Before you submit a dispute, make certain that all of the displayed information is correct and that you have submitted all of your relevant evidence.&lt;br /&gt;
  &lt;br /&gt;
To submit evidence for a dispute:&lt;br /&gt;
  &lt;br /&gt;
# Under '''Submit Evidence''', choose one or more types of evidence from the '''Choose Evidence to Submit''' menu. Additional form fields will appear.&lt;br /&gt;
# Enter the evidence or upload files for each of the evidence types you selected.&lt;br /&gt;
# Click '''Update Evidence'''.&lt;br /&gt;
  &lt;br /&gt;
When you have finished adding evidence and are ready to submit your response to the dispute, click '''Submit Dispute'''.&lt;br /&gt;
&lt;br /&gt;
=== PayPal Disputes ===&lt;br /&gt;
   &lt;br /&gt;
[[PayPal Checkout]], [[PayPal Payments]], and [[PayPal Card Payments]] do '''not''' allow you to submit evidence directly from within WHMCS. Instead, to submit evidence or submit the dispute, click '''Manage Dispute'''. WHMCS will direct you to PayPal, which will guide you through the evidence and submission process.&lt;br /&gt;
 &lt;br /&gt;
=== Closing a Dispute ===&lt;br /&gt;
  &lt;br /&gt;
When you close a dispute, it is immediately accepted and lost. This action is final.&lt;br /&gt;
  &lt;br /&gt;
When you do this, WHMCS will immediately relay this to the payment gateway, which will submit a full refund to the customer. WHMCS does '''not''' issue the refund itself. If you use a payment gateway that supports payment reversals, WHMCS must wait until your payment gateway notifies WHMCS, after which WHMCS will automatically return the payment.&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Payment Reversals&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Whether WHMCS can reverse the payment depends on [[Payment_Reversals#What_does_it_do.3F|whether the payment gateway supports payment reversals]] and your current [[Automation Settings|settings]]. Currently, PayPal supports payment reversals but Stripe does not.&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
  &lt;br /&gt;
To close a dispute, click '''Close Dispute''' at the bottom of the page.&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Disputes&amp;diff=34497</id>
		<title>Disputes</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Disputes&amp;diff=34497"/>
				<updated>2024-03-19T13:39:25Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Disputes occur when a customer contests the charges you collect from their card issuer. Disputes can include chargebacks, inquiries, or retrievals, as well as other items, depending on the payment gateway you use. In WHMCS, you can update evidence and submit and close disputes.&lt;br /&gt;
  &lt;br /&gt;
You can access this feature at '''Billing &amp;gt; Disputes'''.&lt;br /&gt;
  &lt;br /&gt;
WHMCS 8.3 added support for disputes for Stripe (credit card only) and PayPal® Checkout transactions.&lt;br /&gt;
  &lt;br /&gt;
== The Dispute Process ==&lt;br /&gt;
  &lt;br /&gt;
Each card issuer or payment gateway handles disputes differently. For most card issuers and payment gateways, however, disputes follow the same general process:&lt;br /&gt;
  &lt;br /&gt;
# The customer submits the dispute to the card issuer or payment gateway.&lt;br /&gt;
# The card issuer or payment gateway notifies you of the dispute.&lt;br /&gt;
# In some scenarios, the card issuer or payment gateway will place a hold on the related funds.&lt;br /&gt;
# You can choose to provide evidence of the charge's validity, accept the dispute, or refund the payment.&lt;br /&gt;
  &lt;br /&gt;
Depending on the card issuer or payment gateway, some disputes may incur a fee.&lt;br /&gt;
  &lt;br /&gt;
== Dispute-Related Permissions ==&lt;br /&gt;
  &lt;br /&gt;
To work with disputes, admins must have the appropriate permissions, which the ''Full Administrator'' role includes by default:&lt;br /&gt;
  &lt;br /&gt;
* '''List Disputes''' — View the list of disputes.&lt;br /&gt;
* '''Manage Disputes''' — Submit evidence for, view evidence for, and manage the dispute.&lt;br /&gt;
* '''Close Disputes''' — Close disputes immediately.&lt;br /&gt;
  &lt;br /&gt;
== Responding to Disputes ==&lt;br /&gt;
  &lt;br /&gt;
WHMCS 8.3 added support for disputes for Stripe and PayPal® Checkout transactions. WHMCS 8.9 and later also include dispute support for [[PayPal Payments]] and [[PayPal Card Payments]].&lt;br /&gt;
  &lt;br /&gt;
To view details for a dispute, click on the view icon in the far-right column for that dispute. The displayed details for a dispute vary based on the payment gateway. They often include the dispute reason, dispute and transaction IDs, status, submitted evidence, and information about the customer and the actions taken during the dispute process.&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Submitting Disputes&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Each payment gateway handles submitting evidence and disputes differently. Submitting a dispute is final.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
=== Stripe Disputes ===&lt;br /&gt;
  &lt;br /&gt;
The Stripe integration provides full features for managing disputes. Among other features, Stripe allows you to submit evidence directly through the WHMCS interface. Currently, other payment gateways do '''not''' support direct submission from within WHMCS. Before you submit a dispute, make certain that all of the displayed information is correct and that you have submitted all of your relevant evidence.&lt;br /&gt;
  &lt;br /&gt;
To submit evidence for a dispute:&lt;br /&gt;
  &lt;br /&gt;
# Under '''Submit Evidence''', choose one or more types of evidence from the '''Choose Evidence to Submit''' menu. Additional form fields will appear.&lt;br /&gt;
# Enter the evidence or upload files for each of the evidence types you selected.&lt;br /&gt;
# Click '''Update Evidence'''.&lt;br /&gt;
  &lt;br /&gt;
When you have finished adding evidence and are ready to submit your response to the dispute, click '''Submit Dispute'''.&lt;br /&gt;
  &lt;br /&gt;
=== PayPal Disputes ===&lt;br /&gt;
   &lt;br /&gt;
[[PayPal Checkout]], [[PayPal Payments]], and [[PayPal Card Payments]] do '''not''' allow you to submit evidence directly from within WHMCS. Instead, to submit evidence or submit the dispute, click '''Manage Dispute'''. WHMCS will direct you to PayPal, which will guide you through the evidence and submission process.&lt;br /&gt;
 &lt;br /&gt;
=== Closing a Dispute ===&lt;br /&gt;
  &lt;br /&gt;
When you close a dispute, it is immediately accepted and lost. This action is final.&lt;br /&gt;
  &lt;br /&gt;
When you do this, WHMCS will immediately relay this to the payment gateway, which will submit a full refund to the customer. WHMCS does '''not''' issue the refund itself. If you use a payment gateway that supports payment reversals, WHMCS must wait until your payment gateway notifies WHMCS, after which WHMCS will automatically return the payment.&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Payment Reversals&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Whether WHMCS can reverse the payment depends on [[Payment_Reversals#What_does_it_do.3F|whether the payment gateway supports payment reversals]] and your current [[Automation Settings|settings]]. Currently, PayPal supports payment reversals but Stripe does not.&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
  &lt;br /&gt;
To close a dispute, click '''Close Dispute''' at the bottom of the page.&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=WHMCS_cPanel_Licensing_Module&amp;diff=34361</id>
		<title>WHMCS cPanel Licensing Module</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=WHMCS_cPanel_Licensing_Module&amp;diff=34361"/>
				<updated>2024-02-07T13:06:14Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this Addon Module ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Licensing Addon&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* The cPanel Licensing Automation module is not associated with the WHMCS [[Licensing Addon]].&lt;br /&gt;
* This module is for cPanel Partners. If you are not yet a partner, see [https://www.cpanel.net/partners/ the cPanel website].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The cPanel Licensing Automation module for WHMCS is a tool that utilizes the cPanel Manage2 API to provide an automated solution for cPanel Partners to provision, manage, and bill for cPanel &amp;amp; WHM licenses.&lt;br /&gt;
&lt;br /&gt;
For help to get started, see [[WHMCS cPanel Licensing Module Getting Started Guide]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;table&amp;quot; style=&amp;quot;text-align:center;margin:1em 1em 1em 0;background:#F9F9F9;border:1px #AAA solid;border-collapse:collapse;width:100%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th style=&amp;quot;border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;&amp;quot;&amp;gt;Addon Name&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th style=&amp;quot;border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;&amp;quot;&amp;gt;Latest Release&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th style=&amp;quot;border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;&amp;quot;&amp;gt;Current Version&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th style=&amp;quot;border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;&amp;quot;&amp;gt;Compatible With&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th style=&amp;quot;border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;&amp;quot;&amp;gt;Included in WHMCS&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;border:1px #AAA solid;padding:0.2em;&amp;quot;&amp;gt;WHMCS cPanel Licensing Module&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;border:1px #AAA solid;padding:0.2em;&amp;quot;&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;border:1px #AAA solid;padding:0.2em;&amp;quot;&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;border:1px #AAA solid;padding:0.2em;&amp;quot;&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;border:1px #AAA solid;padding:0.2em;color:darkred;&amp;quot;&amp;gt;No&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Activating WHMCS cPanel Licensing Module ==&lt;br /&gt;
&lt;br /&gt;
You will need to download and upload the module before you can activate the addon through the Admin Area.&lt;br /&gt;
&lt;br /&gt;
# Download the latest version from [https://marketplace.whmcs.com/product/4993 the WHMCS Marketplace].&lt;br /&gt;
# Extract the zip file.&lt;br /&gt;
# Upload the &amp;lt;tt&amp;gt;cpanellicensing&amp;lt;/tt&amp;gt; directory to the &amp;lt;tt&amp;gt;/modules/addons&amp;lt;/tt&amp;gt; folder of your WHMCS installation.&lt;br /&gt;
# Go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Addon Modules]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Addon Modules'''.&lt;br /&gt;
# Click '''Activate''' for '''cPanel Licensing'''.&lt;br /&gt;
# Click '''Configure'''.&lt;br /&gt;
# Select the admin role groups who will have access to this addon.&lt;br /&gt;
# Select the admin users who can configure settings within the addon.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
&lt;br /&gt;
== Using WHMCS cPanel Licensing Module ==&lt;br /&gt;
&lt;br /&gt;
[[File:CPLic_AuthenticatingIntoManage2.png|thumb|Manage2 Login Prompt]]&lt;br /&gt;
&lt;br /&gt;
After configuring the module, you will need to authenticate into Manage2.&lt;br /&gt;
&lt;br /&gt;
To do this, navigate to '''Addons &amp;gt; cPanel Licensing''' and log in using your Manage2 username and password. The system will import your Manage2 data into WHMCS. This may take several minutes depending on the amount of licenses associated with the Manage2 account.&lt;br /&gt;
&lt;br /&gt;
=== Autoscale ===&lt;br /&gt;
&lt;br /&gt;
'''Autoscale''' allows the cPanel Licensing addon module to dynamically adjust a service's configurable option based on the number of accounts associated with its cPanel license. Use the Autoscale settings below when you want WHMCS to automatically upgrade a license to the next tier based on usage. &lt;br /&gt;
&lt;br /&gt;
Autoscale uses the following procedure:&lt;br /&gt;
&lt;br /&gt;
# A server administrator provisions an extra cPanel account which in turn pushes the server into the next cPanel license tier.&lt;br /&gt;
# cPanel's Manage2 software detects this and changes the license tier for billing purposes in the cPanel Partner account.&lt;br /&gt;
# WHMCS  performs a synchronisation with Manage2 at specific intervals that picks up this change.&lt;br /&gt;
# The Control Panel configurable option in WHMCS changes to match the new cPanel license tier and as a result of this, the service price is auto recalculated to include the additional cost of the new license tier.&lt;br /&gt;
# The next renewal invoice generated by the service (per the Next Due Date) will reflect the new cPanel license tier.&lt;br /&gt;
&lt;br /&gt;
This ensures that the client is always billed appropriately for their current cPanel license tier without any manual intervention.&lt;br /&gt;
&lt;br /&gt;
=== Settings ===&lt;br /&gt;
&lt;br /&gt;
[[File:CPLic_Settings.png|thumb|Settings Tab]]&lt;br /&gt;
&lt;br /&gt;
The cPanel Licensing addon offers further configuration settings concerning Data and API Permissions, as well as Invoice and Cart Display Options.&lt;br /&gt;
&lt;br /&gt;
These can be accessed by navigating to '''Addons &amp;gt; cPanel Licensing''', and then clicking on the '''Settings''' tab. The settings seen on this page are detailed below.&lt;br /&gt;
&lt;br /&gt;
==== Data and API Permissions ====&lt;br /&gt;
&lt;br /&gt;
*'''Manage2 Account''' - Your Manage2 Registered Email. Here you will see the logged in user and a '''Logout''' button.&lt;br /&gt;
*'''Provisioning Default Group''' - The default group to assign new licenses to.&lt;br /&gt;
*'''Permissions''' - Access controls for functionality within this addon.&lt;br /&gt;
&lt;br /&gt;
==== Invoice and Cart Display Options ====&lt;br /&gt;
&lt;br /&gt;
*'''Invoicing Line Item Format''' - The line item description used for invoicing by packages that offer bulk cPanel accounts.&lt;br /&gt;
*'''Option Info Tooltip''' - Optional tooltip text to display near license configurable options during checkout. HTML is supported.&lt;br /&gt;
*'''Option Description Format''' - The configurable option selection format for display on the order form for packages that offer bulk cPanel accounts.&lt;br /&gt;
*'''Autoscale Label''' - The label to be displayed on the order form.&lt;br /&gt;
*'''Autoscale Notification Email''' - The email template to be sent upon an autoscale change. For more information, see the [[WHMCS cPanel Licensing Module#Autoscale Notification Email|Autoscale Notification Email]] section.&lt;br /&gt;
&lt;br /&gt;
==== Autoscale Notification Email ====&lt;br /&gt;
&lt;br /&gt;
The cPanel Licensing module can be configured to send a custom email notification to a client upon an Autoscale Change.&lt;br /&gt;
&lt;br /&gt;
To configure this functionality you will need to first create the custom email to be used. You can do this at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Email Templates]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Email Templates'''. This custom email template type must be either '''Product/Service Messages''' or '''Notification Messages'''. &lt;br /&gt;
&lt;br /&gt;
The custom template to be used will have access to the following merge fields:&lt;br /&gt;
&lt;br /&gt;
*'''newOption''' - The display name of the configurable option being upgraded to.&lt;br /&gt;
*'''oldOption''' - The display name of the configurable option being upgrade from.&lt;br /&gt;
*'''isUsageUpgrade''' - A boolean indicating whether or not the upgrade is due to usage activity.&lt;br /&gt;
&lt;br /&gt;
Once the custom email template has been created, it can be set as the ''Autoscale Notification Email'' template. &lt;br /&gt;
&lt;br /&gt;
To do this:&lt;br /&gt;
&lt;br /&gt;
# Go to '''Addons &amp;gt; cPanel Licensing'''.&lt;br /&gt;
# Click on the '''Settings''' tab.&lt;br /&gt;
# Locate the '''Autoscale Notification Email''' setting.&lt;br /&gt;
# Select the custom email template from the menu.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
&lt;br /&gt;
=== Pricing ===&lt;br /&gt;
&lt;br /&gt;
[[File:CPLic_Pricing.png|thumb|Pricing Tab]]&lt;br /&gt;
&lt;br /&gt;
cPanel licenses are sold as configurable options of products. This interface allows you to set pricing for those options as well as respective metric pricing for cPanel accounts.&lt;br /&gt;
&lt;br /&gt;
Typically the configurable option would be assigned to a product with which a cPanel license would beneficial; a VPS or Dedicated Server. It can also be sold as a [[#Standalone_Product|standalone product]].&lt;br /&gt;
&lt;br /&gt;
On this tab you will see the ''ID'', ''Configuration Name'', ''Selections'', and ''Auto-Scale'' columns displayed for each option that has been created with, or imported into, the cPanel Licensing addon.&lt;br /&gt;
&lt;br /&gt;
Additionally, you will see buttons labelled ''New'', ''Import'', and ''Manage'' which allow you to create, import, and manage options respectively. The functionality of these buttons is detailed below.&lt;br /&gt;
&lt;br /&gt;
==== Create New Option ====&lt;br /&gt;
&lt;br /&gt;
[[File:CPLic_CreateNewOption.png|thumb|Create New Option Modal]]&lt;br /&gt;
&lt;br /&gt;
Clicking on the ''New'' button will bring up the ''Create New Option'' modal. It is within this modal that you can create a new [[Configurable Options|configurable option]] to be used for offering cPanel licenses to your customers via this module.&lt;br /&gt;
&lt;br /&gt;
The following configuration settings are displayed on this modal:&lt;br /&gt;
&lt;br /&gt;
*'''Parent Group''' - The option group to create the new option within. Should the ''Create New Group'' option be selected, then the ''Group Name'' option will appear.&lt;br /&gt;
*'''Group Name''' - The name for the new configurable option group. This option will only appear when the ''Create New Group'' option has been selected from the ''Parent Group'' drop-down menu.&lt;br /&gt;
*'''Option Name''' - The display name for the new configurable option.&lt;br /&gt;
*'''Option Type''' - The type to be used by the new configurable option. Only drop-down and radio option types are supported.&lt;br /&gt;
*'''Auto-Populate''' - Automatically populate the new option with the default cPanel license package offerings and recommended retail pricing.&lt;br /&gt;
*'''Hardware Type''' - Offers a selection between the ''Dedicated/Metal'' and ''VPS/Cloud'' options.&lt;br /&gt;
*'''Default Visibility''' - Toggles whether or not the option is visible from the Order Form.&lt;br /&gt;
&lt;br /&gt;
Once the settings have been completed, clicking on the ''Create'' button will generate the Configurable Option Group, create Configurable Options if the ''Auto-Populate'' option was selected, and display the option group in the Pricing tab of the module.&lt;br /&gt;
&lt;br /&gt;
==== Import Existing Option ====&lt;br /&gt;
&lt;br /&gt;
[[File:CPLic_ImportExistingOption.png|thumb|Import Existing Option Modal]]&lt;br /&gt;
&lt;br /&gt;
If you have an existing '''Configurable Option Group''' and '''Configurable Options''' that you would like to be used for the provisioning and billing of cPanel licenses, then these can be imported for use with the cPanel Licensing addon.&lt;br /&gt;
&lt;br /&gt;
During this process you will be prevented with a list of configurable options, and be asked to associate them with a cPanel Package. If a configurable option is not related to a cPanel license, then leave the dropdown at the ''Not a cPanel License Option'' value. Options left at this value will not be used by the cPanel Licensing module, and will continue to function as a normal configurable option.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;Only ''Dropdown'' or ''Radio'' configurable options are supported for import. Other option types will not be available for import.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Clicking on the ''Import'' button will bring up the ''Import Existing Option'' modal. It is within this modal that you can import an existing configurable option to be used for the provisioning and billing of cPanel licenses via this module.&lt;br /&gt;
&lt;br /&gt;
Within the ''Import Existing Option'' modal you will be presented with the ''Option Name'' drop-down menu. This menu allows you to select which Configurable Option you would like to import.&lt;br /&gt;
&lt;br /&gt;
Selecting the desired option from the drop-down and clicking the ''Continue'' button will bring you to the ''Configure Import'' section. Here you will see a list of ''Selectable Options'' displayed. For each selectable option, please select a cPanel Package below that it relates to. If an option is not related to a cPanel license, leave the dropdown at the default value.&lt;br /&gt;
&lt;br /&gt;
Clicking the ''Import'' button will import the configurable options into the module, and make them available for further configuration via the ''Pricing'' tab.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;amp; Price Management====&lt;br /&gt;
&lt;br /&gt;
[[File:CPLic_OptionPriceManagement.png|thumb|Option &amp;amp; Price Management Modal]]&lt;br /&gt;
&lt;br /&gt;
Within the ''Manage'' column for each associated option a button with a wrench icon exists. This is the ''Manage'' button, and clicking on this button will bring up the ''Option &amp;amp; Price Management'' modal. It is within this modal that you can modify options within the group, as well as modify the cPanel related options themselves.&lt;br /&gt;
&lt;br /&gt;
This modal is made up of three elements: the ''Configurable Option Settings'' section in the top-left, the ''Selectable Options'' section in the bottom-left, and the ''Selectable Option Content'' panel on the right.&lt;br /&gt;
&lt;br /&gt;
===== Configurable Option Settings =====&lt;br /&gt;
&lt;br /&gt;
The '''Configurable Option Settings''' section provides the ability to alter the ''Configurable Option Type'', and toggle both the ''Visibility'' and ''Autoscale'' Option.&lt;br /&gt;
&lt;br /&gt;
The '''Autoscale Option''' toggle allows the cPanel Licensing addon module to dynamically adjust a service's configurable option based on the number of licenses associated with its cPanel account. This should be used when you want WHMCS to automatically upgrade a license to the next tier based on usage. Enabling this option requires that all configurable options associated with a cPanel Package have pricing configured.&lt;br /&gt;
&lt;br /&gt;
All changes made in this section are automatically saved.&lt;br /&gt;
&lt;br /&gt;
===== Selectable Options =====&lt;br /&gt;
&lt;br /&gt;
The '''Selectable Options''' section displays the full list of existing configurable options, and offers the ability to create new options via the ''Add Option'' button. Clicking on an option from this list will display that option's content within the ''Selectable Option Content'' panel.&lt;br /&gt;
&lt;br /&gt;
Additionally, in Version 7.7 and later, dragging the options allow you to rearrange their order as desired. All changes made in this section are automatically saved.&lt;br /&gt;
&lt;br /&gt;
===== Selectable Option Content =====&lt;br /&gt;
&lt;br /&gt;
The '''Selectable Option Content''' section provides both an overview of that option, as well as the ability to configure it further. The ''Name'', ''Visibility'', and ''Package'' details are immediately displayed at the top, and can all be altered as desired. Additionally, the ''Configurable Option ID'' is displayed in the top-left corner.&lt;br /&gt;
&lt;br /&gt;
The Pricing section is offers the ability to configure pricing for the option. Here the ''Base Recurring'', and ''Setup Fee'' values can be modified. The ''Metric: cPanel Accounts'' and ''Threshold'' values can also be modified for packages that support them.&lt;br /&gt;
&lt;br /&gt;
The ''Auto populate other billing cycles based on monthly pricing'' toggle will render the Billing Cycle tabs un-clickable and will automatically populate their pricing based on the pricing present in the Monthly pricing tab.&lt;br /&gt;
&lt;br /&gt;
Changes to this section are not automatically saved, and clicking on the ''Save'' button will commit the changes. Inversely, clicking on the ''Delete'' button will delete the configurable option.&lt;br /&gt;
&lt;br /&gt;
===== Metric: cPanel Accounts =====&lt;br /&gt;
&lt;br /&gt;
The '''Metric: cPanel Accounts''' setting is displayed when configuring pricing for packages that offer an unlimited number of cPanel accounts. This setting provides the ability to set a per-account value that the customer will be billed for, as well as a threshold to define the number of accounts a customer must have before they are billed on a per-account basis.&lt;br /&gt;
&lt;br /&gt;
When a customer orders a package, with the ''Metric: cPanel Accounts'' offering, a snapshot of the current price is taken. This snapshot is then stored, and used when generating renewal invoices for the customer's service in the future. This is done to ensure that changes can be made to a package's metric pricing without affecting existing customer orders.&lt;br /&gt;
&lt;br /&gt;
If you need to ensure that the pricing snapshot is updated to the current metric pricing, then this can be achieved by selecting the [[Clients:Products/Services_Tab#Auto_Recalculate_on_Save|''Auto Recalculate on Save'']] checkbox and saving the service. This will see the existing snapshot discarded, and a new one created with the current metric pricing for the associated package.&lt;br /&gt;
&lt;br /&gt;
The cPanel Licensing Addon retrieves the cPanel account value from the cPanel licensing system (Manage2) at the time of invoice generation. This is to ensure use of the most accurate value relative to Manage2, to which the license reseller is accountable. Manage2 doesn't provide the historical data necessary to calculate any prior month's usage. At this time, the cPanel Licensing Addon doesn't have historical snapshot capabilities that can augment this canonical data source.&lt;br /&gt;
&lt;br /&gt;
The ''Auto Recalculate on Save'' option will continue to function as normal. When used a service's ''Recurring Amount'' will be populated with current pricing based on the service and configurable options selected.&lt;br /&gt;
&lt;br /&gt;
====Standalone Product====&lt;br /&gt;
&lt;br /&gt;
To present a standalone product that provisions a cPanel license, use the cPanel licensing module with the Auto Release provisioning module:&lt;br /&gt;
&lt;br /&gt;
# Go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Products and Services|Products/Services]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Products/Services'''.[[File:Cpanel standalone2.png|thumb|Configure Pricing]]&lt;br /&gt;
#Click '''Create a New Product'''.&lt;br /&gt;
#Select '''Other''' for '''Product Type'''.&lt;br /&gt;
#Enter a '''Product Name'''.&lt;br /&gt;
#Select ''Auto Release'' for '''Module Name'''.&lt;br /&gt;
#Click '''Continue'''.&lt;br /&gt;
# Select the '''Pricing''' tab.&lt;br /&gt;
#Choose '''Recurring''' for '''Payment Type'''.[[File:Cpanel standalone3.png|thumb|Configure the Auto Release Module]]&lt;br /&gt;
# Check the checkboxes in the '''One Time/Monthly''' column.&lt;br /&gt;
#Specify '''Setup''' and '''Price''' values of &amp;lt;tt&amp;gt;0.00&amp;lt;/tt&amp;gt;.&lt;br /&gt;
#Select the '''Module Settings''' tab.&lt;br /&gt;
#Choose the '''Automatically setup the product as soon as the first payment is received''' option.&lt;br /&gt;
#Select the '''Configurable Options''' tab.&lt;br /&gt;
#Click the configurable option group for the cPanel license types. The cPanel Licensing Addon [[#Pricing|creates this]].&lt;br /&gt;
#Configure any other options are desired.&lt;br /&gt;
#Click '''Save Changes'''.&lt;br /&gt;
&lt;br /&gt;
When this product is ordered, clients will be presented with the cPanel License Tier configurable option at the product configuration stage of the shopping cart and a license provisioned upon payment. The price of the configurable option will form the amount invoiced to the client each month.&lt;br /&gt;
&lt;br /&gt;
===Manage2 Data===&lt;br /&gt;
The data imported from Manage2 is displayed within the module itself. This information is located within the ''Licenses'', ''Groups'', and ''Packages'' tabs. This allows you to quickly review and action your Manage2 data without leaving WHMCS.&lt;br /&gt;
&lt;br /&gt;
====Licenses====&lt;br /&gt;
[[File:CPLic_Manage2DataLicenses.png|thumb|Licenses Tab]]&lt;br /&gt;
&lt;br /&gt;
Licenses are associated with a clients' services. This interface allows modification of the license data stored at Manage2. The WHMCS data can be managed at the linked service.&lt;br /&gt;
&lt;br /&gt;
On this tab you will see ''License ID'', ''Package/Group'', ''IP/Hostname'', ''Assigned Service'', and ''Status'' columns displayed for each license associated with your Manage2 account.&lt;br /&gt;
 &lt;br /&gt;
The '''Actions''' column offers the ability to perform the following actions against the associated license.&lt;br /&gt;
&lt;br /&gt;
*'''Assign License''' - Assign the license to an existing service. More information can be found in the [[WHMCS cPanel Licensing Module#Assign License &amp;amp; Link to Existing License|Assign License &amp;amp; Link to Existing License]] section.&lt;br /&gt;
*'''Change IP''' - Change the license's IP Address.&lt;br /&gt;
*'''Change group''' - Change the license's Group.&lt;br /&gt;
*'''Change package''' - Change the license's Package.&lt;br /&gt;
*'''Expire''' - Expire the license within Manage2.&lt;br /&gt;
*'''View License Details''' - Review a detailed output of license information.&lt;br /&gt;
&lt;br /&gt;
====Groups====&lt;br /&gt;
[[File:CPLic_Manage2DataGroups.png|thumb|Groups Tab]]&lt;br /&gt;
&lt;br /&gt;
Groups are arbitrary categories. They are unique to your Company. They can help keep your licenses organised by modeling how you sell and manage the product-customer lifecycle.&lt;br /&gt;
&lt;br /&gt;
On this tab you will see the ''Group ID'', ''Name'', ''Attributes'', and ''Licenses'' columns displayed for each group associated with your Manage2 account.&lt;br /&gt;
&lt;br /&gt;
The '''Actions''' column offers the ability to perform the following actions against the associated group.&lt;br /&gt;
&lt;br /&gt;
*'''Change name''' - Change the group's name within Manage2.&lt;br /&gt;
*'''Change tax status''' - Change the group's tax status within Manage2.&lt;br /&gt;
*'''Show Licenses''' - Display a filtered list of licenses associated with the specific group.&lt;br /&gt;
&lt;br /&gt;
====Packages====&lt;br /&gt;
[[File:CPLic_Manage2DataPackages.png|thumb|Packages Tab]]&lt;br /&gt;
&lt;br /&gt;
Packages are SKUs. They represent the product, features, or bundled options that are granted to the license holder.&lt;br /&gt;
&lt;br /&gt;
On this tab you will see the ''Package ID'', ''Name'', ''Attributes'', and ''Licenses'' columns displayed for each package associated with your Manage2 account.&lt;br /&gt;
&lt;br /&gt;
The ''Actions'' column offers the ability to perform the following actions against the associated package.&lt;br /&gt;
&lt;br /&gt;
*'''Show Licenses''' - Display a filtered list of licenses associated with the specific package.&lt;br /&gt;
&lt;br /&gt;
===Service Management===&lt;br /&gt;
[[File:CPLic_ServiceManagement.png|thumb|cPanel Licensing Service Panel]]&lt;br /&gt;
&lt;br /&gt;
Services associated with a cPanel Licensing related Option Group will see a panel labeled ''cPanel Licensing'' when viewing that service via the Admin Area.&lt;br /&gt;
&lt;br /&gt;
When a service is associated with a cPanel license, an overview if the license details is displayed along with the following buttons:&lt;br /&gt;
&lt;br /&gt;
*'''Sync IP''' - Change the license's IP Address to the value displayed in the ''Dedicated IP'' field or ''IP Address'' custom field.&lt;br /&gt;
*'''Sync Package''' - Change the license's Package to the value displayed in the cPanel Licensing configurable option.&lt;br /&gt;
*'''View Details''' - Display a modal containing the cPanel License Information.&lt;br /&gt;
*'''Expire''' - Expire the license within Manage2.&lt;br /&gt;
&lt;br /&gt;
The following buttons will be displayed within the panel at all times:&lt;br /&gt;
&lt;br /&gt;
*'''Provision New cPanel License''' - Automatically provision a new license from Manage2 using the package displayed in the cPanel Licensing configurable option and the IP address displayed in the ''Dedicated IP'' field or ''IP Address'' custom field.&lt;br /&gt;
*'''Link to Existing License''' - Display a modal that allows for the search of existing licenses to be assigned to the service. More information can be found in the [[WHMCS cPanel Licensing Module#Assign License &amp;amp; Link to Existing License|Assign License &amp;amp; Link to Existing License]] section.&lt;br /&gt;
&lt;br /&gt;
===Handling Manual License Cancellations===&lt;br /&gt;
Expiring a license, either by clicking '''Expire''' in the '''[[Clients:Products/Services_Tab|Products/Services]]''' tab of the client profile or in Manage2, does not automatically update the '''Recurring Amount''' for the parent service. The system cannot determine whether to bill a license using the license's state.&lt;br /&gt;
&lt;br /&gt;
To cancel a license and ensure that the system updates the '''Recurring Amount''' value correctly:&lt;br /&gt;
# Click '''Expire''' in the '''Service Management''' section.&lt;br /&gt;
# Set the parent service's [[WHMCS cPanel Licensing Module#Configurable Option Settings|configurable option]] to ''None''.&lt;br /&gt;
# Set '''Recalculate on Save''' to ''ON''.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
&lt;br /&gt;
The system will update the parent service's '''Recurring Amount''' to no longer include the cost of the expired license.&lt;br /&gt;
&lt;br /&gt;
===Assign License &amp;amp; Link to Existing License===&lt;br /&gt;
[[File:CPLic_AssignLicense.png|thumb|Assign License Modal]]&lt;br /&gt;
[[File:CPLic_LinkExistingLicense.png|thumb|Link to Existing License Modal]]&lt;br /&gt;
&lt;br /&gt;
Both the Licenses tab, seen on the cPanel Licensing module page, and the cPanel Licensing panel, seen on the Service page, offer the ability to manually assign a service to a license and vice versa.&lt;br /&gt;
&lt;br /&gt;
The '''Assign License''' modal provides a searchable drop-down menu that can be used to locate and select the desired service. Once the service has been selected, clicking on the ''Assign'' button will assign the service to that specific license.&lt;br /&gt;
&lt;br /&gt;
The '''Link to Existing License''' modal provides a searchable drop-down menu that can be used to locate and select the desired license. Once the license has been selected, clicking on the ''Assign'' button will assign the license to that specific service.&lt;br /&gt;
&lt;br /&gt;
In both cases, it is important to note that the configurable option will not be automatically selected. You must navigate to the Service page in the Admin Area, set the configurable option to coincide with the appropriate package if fixed, or enable the autoscale option if applicable. '''This is necessary for automated billing to occur.'''&lt;br /&gt;
&lt;br /&gt;
Additionally, only a singular active license can be assigned to a service. Using the ''Link to Existing License'' or ''Assign License'' functionality to assign a new license to a service already in possession of an active license will result in the replacement of that active license. In this instance, a prompt will appear to confirm this action.&lt;br /&gt;
&lt;br /&gt;
===Updating Manage2 Account Credentials===&lt;br /&gt;
&lt;br /&gt;
The cPanel Licensing Addon uses your Manage2 username and password to authenticate with the Manage2 API. To facilitate this, the system encrypts and stores your Manage2 credentials in WHMCS's database. Because updating your credentials in Manage2 does not automatically trigger an update in WHMCS, the system will no longer be able to successfully authenticate requests.&lt;br /&gt;
&lt;br /&gt;
After updating your Manage2 credentials, ensure that the system can communicate with Manage2:&lt;br /&gt;
&lt;br /&gt;
# In the Admin Area, go to '''Addons &amp;gt; cPanel Licensing''' and click on the '''Settings''' tab.&lt;br /&gt;
# In the '''Manage2 Account''' section, click '''Logout'''.&lt;br /&gt;
# Log in using your Manage2 account credentials.&lt;br /&gt;
&lt;br /&gt;
After successfully logging in, the system will store your new Manage2 login details in the database.&lt;br /&gt;
&lt;br /&gt;
== Upgrading ==&lt;br /&gt;
&lt;br /&gt;
If you have an earlier version of the cPanel Licensing Module installed, follow the steps below:&lt;br /&gt;
&lt;br /&gt;
# Download the latest version from [https://marketplace.whmcs.com/product/4993 the WHMCS Marketplace].&lt;br /&gt;
# Extract the zip file.&lt;br /&gt;
# Upload the 'cpanellicensing' directory to the '/modules/addons' folder of your WHMCS installation.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
This section covers the error messages which may be encountered during license assignment.&lt;br /&gt;
&lt;br /&gt;
===A license was deactivated on the same IP last month before billing could occur===&lt;br /&gt;
This response indicates that the previous cPanel license associated with the service's IP address accrued usage, and was deactivated before billing could occur within Manage2.&lt;br /&gt;
&lt;br /&gt;
A reactivation fee must be paid before a new license can be provisioned for that IP address. This must be done via Manage2 directly.&lt;br /&gt;
&lt;br /&gt;
===This license is already assigned to another service===&lt;br /&gt;
Review the '''Addons &amp;gt; cPanel Licensing''' page to see the current service to which the license is assigned in WHMCS.&lt;br /&gt;
&lt;br /&gt;
Click the ''Assign'' button a second time to remove the current assignment and assign to the current service.&lt;br /&gt;
&lt;br /&gt;
===You cannot assign a license to this service===&lt;br /&gt;
'''You cannot assign a license to this service as the product to which it is assigned does not have a configurable option for a cPanel license'''&lt;br /&gt;
&lt;br /&gt;
There is no license pricing configuration assigned to the product in use, a license can only be assigned when a pricing scheme is associated with the product. The following steps will make the necessary adjustments to the product/service configuration:&lt;br /&gt;
&lt;br /&gt;
# Navigate to the client's '''[[Clients:Products/Services Tab|Products/Services]]''' tab for the service.&lt;br /&gt;
# Check whether the cPanel Licenses configurable option appears. If it does not:&lt;br /&gt;
## Go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Configurable Options]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Configurable Options'''.&lt;br /&gt;
## Click '''Edit''' for the cPanel licensing option group.&lt;br /&gt;
## Press Ctrl + Click to select all the applicable products that will offer a cPanel license option. Make certain to select the product that is currently exhibiting the error.&lt;br /&gt;
## Click '''Save Changes'''.&lt;br /&gt;
# If the cPanel License configurable option is displayed, select the desired cPanel license tier.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
# Use the '''Assign''' or '''Link''' buttons again to complete the task successfully.&lt;br /&gt;
&lt;br /&gt;
===cPanel Licensing options of product are not set for this service===&lt;br /&gt;
&lt;br /&gt;
'''cPanel Licensing options of product are not set for this service. Review and save the cPanel licensing options for this service and try again'''&lt;br /&gt;
&lt;br /&gt;
A license pricing configuration is assigned to the product in use, but the desired option has not been selected for the individual service record. WHMCS needs to know the desired license tier to invoice the client correctly. &lt;br /&gt;
&lt;br /&gt;
The following steps will make the necessary adjustments to the service record:&lt;br /&gt;
&lt;br /&gt;
# Go to the client's '''[[Clients:Products/Services Tab|Products/Services]]''' tab for the service.&lt;br /&gt;
# Use the cPanel License configurable option to select the desired cPanel license tier.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
# Use the '''Assign''' or '''Link''' buttons again to complete the task successfully.&lt;br /&gt;
&lt;br /&gt;
== Change Log ==&lt;br /&gt;
&lt;br /&gt;
''N/A''&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Administrator_Roles&amp;diff=34280</id>
		<title>Administrator Roles</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Administrator_Roles&amp;diff=34280"/>
				<updated>2023-11-17T19:48:48Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Create or Update an Administrator Role */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Administrator roles allow you to set the permissions for different types of admins. You can manage roles in the WHMCS [[Admin Area]].&lt;br /&gt;
&lt;br /&gt;
You can access this feature at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Administrator Roles'''.&lt;br /&gt;
&lt;br /&gt;
For more information about creating and managing admins, see [[Administrator Users]].&lt;br /&gt;
&lt;br /&gt;
==Administrator Roles==&lt;br /&gt;
&lt;br /&gt;
You can set up as many different administrator roles as you want and then assign your admins to them.  &lt;br /&gt;
&lt;br /&gt;
WHMCS includes three default roles: '''Full''', '''Sales''', and '''Support Only'''.&lt;br /&gt;
&lt;br /&gt;
==Create or Update an Administrator Role==&lt;br /&gt;
&lt;br /&gt;
To create or update an administrator role:&lt;br /&gt;
&lt;br /&gt;
# Create or edit a new role:&lt;br /&gt;
#* To create a new role, click '''Add New Role Group''' link and enter a name for it. &lt;br /&gt;
#* To edit a role, click the edit icon for that role. A list of permissions settings will appear.&lt;br /&gt;
# For '''Permissions''', check the desired permissions. &amp;lt;div class=&amp;quot;docs-alert-success&amp;quot;&amp;gt;For all admin roles, you '''must''' enable '''Support Center Overview''' or '''Main Homepage'''. This allows the admin to see the support center overview or admin summary pages after logging in.&amp;lt;/div&amp;gt;&lt;br /&gt;
#* '''Manage''' permissions allow you to manage an item. &lt;br /&gt;
#* '''View''' permissions allow you to view an item.&lt;br /&gt;
#* '''Create''' permissions allow you to create a new item.&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Access Denied&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Many '''Create''' permissions require the related '''Manage''' permission. If you see '''Access Denied''' errors, add the '''Manage''' permission. For example, errors will occur for '''Create Invoice''' if you don't also enable '''Manage Invoices'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
#* '''Configure''' permissions are generally for settings under '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings''' or, prior to WHMCS 8.0, '''Setup'''. &lt;br /&gt;
# For '''Reports Access Controls''':&lt;br /&gt;
#* Select '''Unrestricted''' to allow access to all reports at '''Reports &amp;gt; [[Reports]]'''.&lt;br /&gt;
#* Select '''Restrict Access''' to only allow access to specific reports. Then, check the desired reports.&lt;br /&gt;
# For '''Email Messages''', check the email types that you want admins with that role to receive.&lt;br /&gt;
#* '''System Emails''' includes notifications of the domain sync, daily cron activity, POP/IMAP import errors, failed admin login attempts, and when the WHMCS license is nearing client limits (if they apply). &lt;br /&gt;
#* '''Account Emails''' includes notifications of new orders, client profile changes, automatic provisioning of ordered items (with any error messages), and client-initiated offline direct debit payments (when using the '''[[Direct_Debit|Direct Debit]]''' payment gateway).&lt;br /&gt;
#* '''Support Emails''' includes notifications of new support tickets, replies to existing tickets, and changes to them. The specific notifications that the system sends will depend on admins' assigned support departments, if they are watching the ticket, or if they are flagged on the ticket. For a list of notifications and who will receive them, see [[Support_Tickets#Notifications|Notifications]].&lt;br /&gt;
# Click '''Save'''.&lt;br /&gt;
&lt;br /&gt;
You can then assign the administrator role to an admin at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Administrator Users]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Staff Management &amp;gt; Administrator Users'''.&lt;br /&gt;
&lt;br /&gt;
===Role Permissions===&lt;br /&gt;
&lt;br /&gt;
The system provides options for Admin Area actions and email receiving preferences for system emails, account emails, and support emails.&lt;br /&gt;
&lt;br /&gt;
For an admin user who works with clients and tickets, grant the '''Manage''' and '''View''' permissions for tickets, domains, and client products. If they will be processing client orders or creating new services for clients, also grant the applicable '''Create''' and '''Manage''' permissions.&lt;br /&gt;
&lt;br /&gt;
If an admin will provide remote support and you only want them to view items but not change them, you can grant them the desired '''View''' permissions only.&lt;br /&gt;
&lt;br /&gt;
==Recommendations and Common Role Configurations==&lt;br /&gt;
&lt;br /&gt;
===Limiting access to a specific installed addon===&lt;br /&gt;
&lt;br /&gt;
This is commonly required for allowing third party developers limited access to the WHMCS admin area in order to debug an issue with an installed addon module. For addon modules, the '''Addon Modules''' permission will need to be enabled and then the '''Access Control''' setting on the applicable addon will need to be edited under '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Addon Modules]]''' to give their admin user access to the addon under the Addons menu (if applicable).&lt;br /&gt;
&lt;br /&gt;
Depending on how the addon operates, it may be necessary to enable additional permissions as well (at discretion). For example: if an addon adds a &amp;quot;Support PIN&amp;quot; number on the client summary page, enabling the '''View Clients Summary''' permission may be necessary for the developer to be able to access a test client and verify it is working as expected.&lt;br /&gt;
&lt;br /&gt;
===Debugging provisioning modules===&lt;br /&gt;
&lt;br /&gt;
For debugging provisioning modules, it may be helpful to enable the '''Configure Servers''', '''View Clients Products/Services''', '''View Module Debug Log''', and '''Perform Module Command Operations''' permissions so that the developer is able to ensure the underlying module is correctly configured, test with a test service and obtain any module log data (if their module supports it). Further permissions, such as the ability to edit services with '''Edit Clients Products/Services''', are generally not recommended and should only be considered on a case-by-case basis.&lt;br /&gt;
&lt;br /&gt;
==Managing Two Factor Authentication==&lt;br /&gt;
&lt;br /&gt;
Two-factor authentication adds an additional layer of security by introducing a second step to the login process. It takes something you know (for example, your password), and adds a second factor, typically something you physically have (such as your phone). Since the system will require both to log in, if an attacker obtains your password, two-factor authentication would stop them from accessing your account. &lt;br /&gt;
&lt;br /&gt;
You can apply [[Two-Factor Authentication]] to staff, clients, or both. Instructions for configuring Two-Factor Authentication are on the [[Security_Modules#Configuration|Security Modules page]].&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Administrator_Roles&amp;diff=34279</id>
		<title>Administrator Roles</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Administrator_Roles&amp;diff=34279"/>
				<updated>2023-11-17T19:48:20Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Create or Update an Administrator Role */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Administrator roles allow you to set the permissions for different types of admins. You can manage roles in the WHMCS [[Admin Area]].&lt;br /&gt;
&lt;br /&gt;
You can access this feature at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Administrator Roles'''.&lt;br /&gt;
&lt;br /&gt;
For more information about creating and managing admins, see [[Administrator Users]].&lt;br /&gt;
&lt;br /&gt;
==Administrator Roles==&lt;br /&gt;
&lt;br /&gt;
You can set up as many different administrator roles as you want and then assign your admins to them.  &lt;br /&gt;
&lt;br /&gt;
WHMCS includes three default roles: '''Full''', '''Sales''', and '''Support Only'''.&lt;br /&gt;
&lt;br /&gt;
==Create or Update an Administrator Role==&lt;br /&gt;
&lt;br /&gt;
To create or update an administrator role:&lt;br /&gt;
&lt;br /&gt;
# Create or edit a new role:&lt;br /&gt;
#* To create a new role, click '''Add New Role Group''' link and enter a name for it. &lt;br /&gt;
#* To edit a role, click the edit icon for that role. A list of permissions settings will appear.&lt;br /&gt;
# For '''Permissions''', check the desired permissions. &amp;lt;div class=&amp;quot;docs-alert-success&amp;quot;&amp;gt;For all admin roles, you '''must''' enable '''Support Center Overview''' or '''Main Homepage'''. This allows the admin to see the support center overview or admin summary pages after logging in.&amp;lt;/div&amp;gt;&lt;br /&gt;
#* '''Manage''' permissions allow you to manage an item. &lt;br /&gt;
#* '''View''' permissions allow you to view an item.&lt;br /&gt;
#* '''Create''' permissions allow you to create a new item.&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Access Denied&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Many '''Create''' permissions require the related '''Manage''' permission. If you see '''Access Denied''' errors, add the '''Manage''' permission. For example, errors will occur for '''Create Invoice''' if you don't also enable '''Manage Invoices'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
#* '''Configure''' permissions are generally for settings under '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings''' or, prior to WHMCS 8.0, '''Setup'''. &lt;br /&gt;
# For '''Reports Access Controls''':&lt;br /&gt;
#* Select '''Unrestricted''' to allow access to all reports at '''Reports &amp;gt; [[Reports]]'''.&lt;br /&gt;
#* Select '''Restrict Access''' to only allow access to specific reports. Then, check the desired reports.&lt;br /&gt;
# For '''Email Messages''', check the email types that you want admins with that role to receive.&lt;br /&gt;
# For '''Email Messages''', check the email types that you want admins with that role to receive.&lt;br /&gt;
#* '''System Emails''' includes notifications of the domain sync, daily cron activity, POP/IMAP import errors, failed admin login attempts, and when the WHMCS license is nearing client limits (if they apply). &lt;br /&gt;
#* '''Account Emails''' includes notifications of new orders, client profile changes, automatic provisioning of ordered items (with any error messages), and client-initiated offline direct debit payments (when using the '''[[Direct_Debit|Direct Debit]]''' payment gateway).&lt;br /&gt;
#* '''Support Emails''' includes notifications of new support tickets, replies to existing tickets, and changes to them. The specific notifications that the system sends will depend on admins' assigned support departments, if they are watching the ticket, or if they are flagged on the ticket. For a list of notifications and who will receive them, see [[Support_Tickets#Notifications|Notifications]].&lt;br /&gt;
# Click '''Save'''.&lt;br /&gt;
&lt;br /&gt;
You can then assign the administrator role to an admin at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Administrator Users]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Staff Management &amp;gt; Administrator Users'''.&lt;br /&gt;
&lt;br /&gt;
===Role Permissions===&lt;br /&gt;
&lt;br /&gt;
The system provides options for Admin Area actions and email receiving preferences for system emails, account emails, and support emails.&lt;br /&gt;
&lt;br /&gt;
For an admin user who works with clients and tickets, grant the '''Manage''' and '''View''' permissions for tickets, domains, and client products. If they will be processing client orders or creating new services for clients, also grant the applicable '''Create''' and '''Manage''' permissions.&lt;br /&gt;
&lt;br /&gt;
If an admin will provide remote support and you only want them to view items but not change them, you can grant them the desired '''View''' permissions only.&lt;br /&gt;
&lt;br /&gt;
==Recommendations and Common Role Configurations==&lt;br /&gt;
&lt;br /&gt;
===Limiting access to a specific installed addon===&lt;br /&gt;
&lt;br /&gt;
This is commonly required for allowing third party developers limited access to the WHMCS admin area in order to debug an issue with an installed addon module. For addon modules, the '''Addon Modules''' permission will need to be enabled and then the '''Access Control''' setting on the applicable addon will need to be edited under '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Addon Modules]]''' to give their admin user access to the addon under the Addons menu (if applicable).&lt;br /&gt;
&lt;br /&gt;
Depending on how the addon operates, it may be necessary to enable additional permissions as well (at discretion). For example: if an addon adds a &amp;quot;Support PIN&amp;quot; number on the client summary page, enabling the '''View Clients Summary''' permission may be necessary for the developer to be able to access a test client and verify it is working as expected.&lt;br /&gt;
&lt;br /&gt;
===Debugging provisioning modules===&lt;br /&gt;
&lt;br /&gt;
For debugging provisioning modules, it may be helpful to enable the '''Configure Servers''', '''View Clients Products/Services''', '''View Module Debug Log''', and '''Perform Module Command Operations''' permissions so that the developer is able to ensure the underlying module is correctly configured, test with a test service and obtain any module log data (if their module supports it). Further permissions, such as the ability to edit services with '''Edit Clients Products/Services''', are generally not recommended and should only be considered on a case-by-case basis.&lt;br /&gt;
&lt;br /&gt;
==Managing Two Factor Authentication==&lt;br /&gt;
&lt;br /&gt;
Two-factor authentication adds an additional layer of security by introducing a second step to the login process. It takes something you know (for example, your password), and adds a second factor, typically something you physically have (such as your phone). Since the system will require both to log in, if an attacker obtains your password, two-factor authentication would stop them from accessing your account. &lt;br /&gt;
&lt;br /&gt;
You can apply [[Two-Factor Authentication]] to staff, clients, or both. Instructions for configuring Two-Factor Authentication are on the [[Security_Modules#Configuration|Security Modules page]].&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Google_reCAPTCHA&amp;diff=34273</id>
		<title>Google reCAPTCHA</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Google_reCAPTCHA&amp;diff=34273"/>
				<updated>2023-10-31T20:11:40Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Captcha Locations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Differentiating between humans and bots (computers) is an ever-changing and more challenging task. A number of solutions have been implemented, typically involving increasing obscured text and numbers or images, such as the default 5 character verification of WHMCS.&lt;br /&gt;
&lt;br /&gt;
As bots and software have become more sophisticated, a common solution was to make the text more difficult to read, which can result in frustrated and lost potential clients.  Google's reCAPTCHA set's out to change that.  They have created a system that is easy for people, but hard for bots.  By using an advanced and more secure risk analysis engine, humans and bots are more effectively differentiated.&lt;br /&gt;
&lt;br /&gt;
The first step in authentication is to ask the user to confirm that they are not a robot by checking a checkbox.  Google's risk analysis engine analyzes how the user checked the checkbox, including how the user responds before, during, and after the action.  In cases where the engine cannot confidently differentiate between them, a mobile-friendly verification tool like a CAPTCHA or image selection from a list may appear.&lt;br /&gt;
&lt;br /&gt;
* Google reCAPTCHA V2 is available in WHMCS 7.0 and later.&lt;br /&gt;
* Google Invisible reCAPTCHA is available in WHMCS 7.7 and later.&lt;br /&gt;
&lt;br /&gt;
==Enabling Google reCAPTCHA==&lt;br /&gt;
 &lt;br /&gt;
Google's reCAPTCHA may be enabled by following these steps:&lt;br /&gt;
 &lt;br /&gt;
# Go to the '''[[Security_Tab|Security]]''' tab at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings''' or, prior to WHMCS 8.0, '''Setup &amp;gt; General Settings'''.&lt;br /&gt;
# For '''Captcha Type''', select '''reCAPTCHA v2'''.&lt;br /&gt;
# [https://www.google.com/recaptcha/admin Log in to your Google account .]&lt;br /&gt;
# Select '''&amp;quot;I’m not a robot&amp;quot; Checkbox'''.&lt;br /&gt;
# Enter your domain under the '''domains''' section.&lt;br /&gt;
# Accept the Google terms of service.&lt;br /&gt;
# Click '''Register''' to finish registering your site and generating your keys.&lt;br /&gt;
# Copy the '''Site Key''' and '''Secret Key''' issued by Google and enter them in the fields provided in WHMCS.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
 &lt;br /&gt;
[[File:captcha_config.png|500px]]&lt;br /&gt;
 &lt;br /&gt;
==Enabling Invisible reCAPTCHA==&lt;br /&gt;
To enable the Invisible reCAPTCHA feature for the shopping cart, follow these steps:&lt;br /&gt;
[[File:Recaptcha-configuration.png|thumb|reCAPTCHA Key Generation]]&lt;br /&gt;
 &lt;br /&gt;
# Go to the '''[[Security Tab|Security]]''' tab at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings''' or, prior to WHMCS 8.0, '''Setup &amp;gt; General Settings'''.&lt;br /&gt;
# For '''Captcha Type''', select '''Invisible reCAPTCHA'''.&lt;br /&gt;
# [https://www.google.com/recaptcha/admin Log in to your Google account .]&lt;br /&gt;
# Enter a label for your key.&lt;br /&gt;
# Select '''reCAPTCHA v2'''.&lt;br /&gt;
# Select '''Invisible reCAPTCHA badge'''.&lt;br /&gt;
# Enter your domain under the '''domains''' section.&lt;br /&gt;
# Accept the Google terms of service.&lt;br /&gt;
# Click '''Register''' to finish registering your site and generating your keys.&lt;br /&gt;
# Copy the '''Site Key''' and '''Secret Key''' issued by Google and enter them in the fields provided in WHMCS.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
&lt;br /&gt;
==Captcha Locations==&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-question-circle&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; This page describes a feature available in version 7.7 and above&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can choose which forms have a captcha enabled on them by checking the appropriate boxes in &amp;quot;Captcha for Select Forms&amp;quot;. The following options are available:&lt;br /&gt;
&lt;br /&gt;
* Shopping Cart Checkout - On checkout in the Client Area&lt;br /&gt;
* Domain Checker - The homepage domain checker, and on the Register or Transfer domain pages in the cart&lt;br /&gt;
* Client Registration - register.php&lt;br /&gt;
* Contact Form - contact.php&lt;br /&gt;
* Ticket Submission - When submitting a ticket&lt;br /&gt;
* Login Forms - Admin and Client login forms&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Invalid Site Key/I can't login===&lt;br /&gt;
If the site key specified under General Settings isn't valid for some reason and is preventing logins to the admin area to correct it, it will be necessary to disable reCAPTCHA manually via the database (setting &amp;quot;Captcha Form Protection	&amp;quot; to &amp;quot;Always Off&amp;quot; temporarily to resolve this. Please take a backup of the database and then run the following SQL query using a tool like phpMyAdmin to do so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
UPDATE tblconfiguration SET value = '' WHERE setting = 'CaptchaSetting';&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Database_Backups&amp;diff=34265</id>
		<title>Database Backups</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Database_Backups&amp;diff=34265"/>
				<updated>2023-10-18T14:35:11Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* cPanel Backup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Regular backups help to protect your customer data and WHMCS configuration, and they are vital if you run into certain prolems. WHMCS can automatically back up your database and upload it to a SFTP/FTP location or email it to a designated email address. You can also request a full cPanel backup for a specific user as part of the automatic backup process.&lt;br /&gt;
&lt;br /&gt;
You can access this feature at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Database Backups'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
We added automated backups in WHMCS 7.3.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Enable Automatic Backups==&lt;br /&gt;
&lt;br /&gt;
To enable automatic backups for your WHMCS installation:&lt;br /&gt;
&lt;br /&gt;
# Choose a backup option by clicking the correct heading: '''SFTP/FTP Backup''', '''cPanel Backup''', or '''Daily Email Backups'''.&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Connection Tests&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;The '''SFTP/FTP Backup''' and '''cPanel Backup''' options require a successful connection test before activation. A connection test ensures that the details are valid and the WHMCS installation can connect to the server. Any connection issue allows a resolution before a backup attempt occurs, incurring less chance of a failed connection.&amp;lt;/div&amp;gt;&lt;br /&gt;
# Enter the necessary informaton for that option. For more information on each option, see the sections below.&lt;br /&gt;
# Click '''Test Connection''' or '''Save &amp;amp; Activate'''.&lt;br /&gt;
&lt;br /&gt;
===SFTP/FTP Backup===&lt;br /&gt;
&lt;br /&gt;
The '''SFTP/FTP Backup''' option only supports FTP and SFTP. Other protocols, like FTPS and FTP/TLD, are unsupported.&lt;br /&gt;
&lt;br /&gt;
This backup type stores the WHMCS-generated zipped SQL file on the specified remote server. Check &amp;quot;'Use Secure FTP/SFTP (Recommended)'&amp;quot; to ensure that the backup upload is completed using an SFTP connection. &lt;br /&gt;
&lt;br /&gt;
====FTP Destination====&lt;br /&gt;
&lt;br /&gt;
The '''FTP Destination''' value is relative to the login folder for the FTP/SFTP account you are using. For example, if, when you log in using your FTP details, the folder is &amp;lt;tt&amp;gt;/home/user/&amp;lt;/tt&amp;gt; and the backup will be in &amp;lt;tt&amp;gt;/home/user/backups&amp;lt;/tt&amp;gt;, enter &amp;lt;tt&amp;gt;backups/&amp;lt;/tt&amp;gt; as the '''FTP Destination''' value. &lt;br /&gt;
&lt;br /&gt;
If you intend to upload the backup file to the login folder, leave this field empty.&lt;br /&gt;
&lt;br /&gt;
===cPanel Backup===&lt;br /&gt;
&lt;br /&gt;
The '''cPanel Backup''' option uses the backup API functions that cPanel &amp;amp; WHM provides to generate backups using an API token.&lt;br /&gt;
&lt;br /&gt;
API tokens in cPanel &amp;amp; WHM allow you to restrict the actions that an API token can perform. To do this, you must create a token with the following permissions in WHM at '''Development &amp;gt;&amp;gt; Manage API Tokens''':&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;table class=&amp;quot;table table-striped&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;basic-whm-functions&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;cpanel-api&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====cPanel Username====&lt;br /&gt;
&lt;br /&gt;
When you enter your cPanel account information, the '''cPanel Username''' value is the name of the account that hosts your WHMCS installation.&lt;br /&gt;
&lt;br /&gt;
====Backup Destination====&lt;br /&gt;
&lt;br /&gt;
You can select the following '''Backup Destination''' options:&lt;br /&gt;
&lt;br /&gt;
* '''Remote FTP Server''' — Select this option to use FTP to store the backup file on a remote server.&lt;br /&gt;
* '''Remote FTP Server (Passive connection)''' — Select this option to use passive FTP to store the backup file on a remote server.&lt;br /&gt;
* '''Secure Copy (SCP)''' — Select this option to use SCP to store the backup file on a remote server.&lt;br /&gt;
* '''Home Directory''' — Select this option to save the backup file to the server.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-exclamation-triangle&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;Using '''Home Directory''' will generate the backup file in the cPanel user's home directory. This will count against any disk space limits, and you should manually move it to a better location after completion.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The system cron job will only request the start of a full backup. Completion and relocation of the backup occurs within cPanel, and WHMCS will not notify you about the process.&lt;br /&gt;
&lt;br /&gt;
===Daily Email Backups===&lt;br /&gt;
&lt;br /&gt;
This backup option may fail to complete successfully with large databases due to system memory or time execution limits. We do not recommend this method for larger installations.&lt;br /&gt;
&lt;br /&gt;
==Disable Automatic Backups==&lt;br /&gt;
&lt;br /&gt;
To disable an automatic backup method:&lt;br /&gt;
&lt;br /&gt;
# Click on that option.&lt;br /&gt;
# Click '''Deactivate'''.&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Manage_API_Credentials&amp;diff=34240</id>
		<title>Manage API Credentials</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Manage_API_Credentials&amp;diff=34240"/>
				<updated>2023-09-19T13:48:10Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In WHMCS 7.2 and later, you can generate unique API authentication credentials. This allows for better management and security for provisioning access to API connected devices and systems. &lt;br /&gt;
&lt;br /&gt;
You can access this feature at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; API Credentials'''.&lt;br /&gt;
&lt;br /&gt;
For more information about using the WHMCS API, see our [https://developers.whmcs.com/api/ API documentation].&lt;br /&gt;
&lt;br /&gt;
== API Roles ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-danger&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Roles and Credentials&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
You '''must''' create at least one API role before you can generate API credentials.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
API authentication credentials can limit individual API actions. This enables greater control and security when connected apps and services use credentials to access your WHMCS. For more information about API credentials, see [https://developers.whmcs.com/api/authentication/#authenticating-with-api-credentials our developer documentation].&lt;br /&gt;
&lt;br /&gt;
The API Roles you define provide a authorization subset of [https://developers.whmcs.com/api/ API actions].  API credentials are for one or more of these roles. When something makes an API request, if any role provides permission to the requested action, the system will authorize the request and allow it to complete.&lt;br /&gt;
&lt;br /&gt;
=== Creating API Roles ===&lt;br /&gt;
&lt;br /&gt;
To create an admin API role:&lt;br /&gt;
&lt;br /&gt;
# Choose the '''API Roles''' tab.&lt;br /&gt;
# Click '''Create API Role'''. &lt;br /&gt;
# Enter a role name and description. &lt;br /&gt;
#* The description is optional.&lt;br /&gt;
#* You can change the role name and description at any point in the future.&lt;br /&gt;
# Use the left-side menu to find API permissions.&lt;br /&gt;
# Check the desired API permissions.&lt;br /&gt;
# Click '''Save'''.&lt;br /&gt;
&lt;br /&gt;
=== Viewing and Editing Roles ===&lt;br /&gt;
&lt;br /&gt;
You can view the API permissions for a role by clicking the arrow icon for that role in the list.&lt;br /&gt;
&lt;br /&gt;
[[File:API_Role_show_detail.png|550px]]&lt;br /&gt;
&lt;br /&gt;
To update the role name, description, or API permissions, click the '''Edit''' icon, make the desired updates, and click '''Save'''.&lt;br /&gt;
&lt;br /&gt;
=== Deleting Roles ===&lt;br /&gt;
&lt;br /&gt;
To delete a role, click the '''Trash''' icon and then click '''Delete'''.&lt;br /&gt;
&lt;br /&gt;
When you delete a role, the system will unassign the targeted role from any API credentials. If you recreate the role in the future, the system will not automatically assign it to those affected API credentials again.&lt;br /&gt;
&lt;br /&gt;
== API Credentials ==&lt;br /&gt;
&lt;br /&gt;
You may create as many API credential pairs for an admin as you require. You may remove any credential pair to invalidate access and authentication attempts that are received with that identifier.  &lt;br /&gt;
&lt;br /&gt;
You can also [[Administrator Users|alter the admin's login password]] without invalidating API credentials. If you disable or remove entirely an admin user, any associated API credentials will become invalid.  &lt;br /&gt;
&lt;br /&gt;
If your copy of the secret is lost, create a new API credential pair. Then, use the newly-generated identifier and secret in your integration. Make certain to '''delete''' the previous credential pair.&lt;br /&gt;
&lt;br /&gt;
=== Creating API Credentials ===&lt;br /&gt;
&lt;br /&gt;
[[File:API_Cred_generate_select_admin2.png|right|thumb|250px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-danger&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Roles and Credentials&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
You '''must''' create at least one API role before you can generate API credentials.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To create new admin API authentication credentials:&lt;br /&gt;
&lt;br /&gt;
# Choose the '''API Credentials''' tab.&lt;br /&gt;
# Click '''Generate New API Credential'''.  &lt;br /&gt;
# Select the admin who the new credential will authenticate.&lt;br /&gt;
# Optionally, enter a description.&lt;br /&gt;
# Select the desired API roles (see above).&lt;br /&gt;
# Click '''Generate'''. The system will provision a unique API credential and the credential identifier and secret will display. Use these instead of the admin's username and password for API authentication.[[File:API_Cred_generated_pair2.png|550px]]&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;You must copy the Secret value at this time. If you lose this, you will need to generate a new credential pair.&amp;lt;/div&amp;gt;&lt;br /&gt;
# Click '''Close'''.&lt;br /&gt;
&lt;br /&gt;
The new API credential will appear in the list.&lt;br /&gt;
&lt;br /&gt;
[[File:API_Cred_table2.png|550px]]&lt;br /&gt;
&lt;br /&gt;
=== Viewing and Editing Credentials ===&lt;br /&gt;
&lt;br /&gt;
You can update the description and associated API roles for a credential at any time. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;If you only want to edit the description, click that description in the list of credentials. Update the description and then click the checkmark icon.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To do this:&lt;br /&gt;
&lt;br /&gt;
# Click the '''Edit''' icon for the desired credential.&lt;br /&gt;
# Select the desired API roles.&lt;br /&gt;
# Click '''Save'''.&lt;br /&gt;
&lt;br /&gt;
Associating one or more API roles to an API credential will determine the permitted actions when WHMCS receives an API request containing the credential's authorization details. Credentials without an assigned role will effectively have no authorization. If there are one or more assigned roles but none of the roles have any allowed API actions, the system will deny all requests for authorization.&lt;br /&gt;
&lt;br /&gt;
===Removing Admin API Authentication Credentials===&lt;br /&gt;
&lt;br /&gt;
You may revoke API authentication by removing a generated credential.&lt;br /&gt;
&lt;br /&gt;
To remove a authentication with a given credential, find that credential in the list, click the '''Trash''' icon, and then click '''Delete'''.&lt;br /&gt;
&lt;br /&gt;
==Compatibility Role On Update to v7.4==&lt;br /&gt;
&lt;br /&gt;
API credentials that you generate in WHMCS v7.2 and v7.3 follow a simple authorization model. The system grants full authorization to any API request if the identifier and secret pass the authentication verification check. This is the same behavior that the system uses with an Admin username and password in all previous and current versions of WHMCS.&lt;br /&gt;
&lt;br /&gt;
We removed this simple authorization model in WHMCS v7.4 for API Credentials and replaced it with a Role Based Access Control (RBAC) authorization model. This new model allows for both easy management and explicit authorization across all your API apps and service integrations.&lt;br /&gt;
&lt;br /&gt;
The system performs a one-time forward compatibility routine in the background when updating to WHMCS v7.4. This routine will identify any previously-generated API credentials. If the system finds any credentials, the routine will perform two operations on your behalf:&lt;br /&gt;
&lt;br /&gt;
* It will generate a compatibility role that has all currently-selected API actions (emulating the previous, simple authorization model).&lt;br /&gt;
* It will assign the compatibility role to any found credentials.&lt;br /&gt;
&lt;br /&gt;
These operations ensure that all API credential authorizations continue to function without interruption. The compatibility role selects all API actions that are available in WHMCS v7.3. The system won't automatically maintain this compatibility role since its purpose is merely to prevent immediate disruption. You may modify or remove this role for your integrations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;We recommend creating and assigning targeted API roles that individually, and collectively, limit authorization for integrations. The continued use of a role that provides unrestricted authorization may expose unnecessary security risks.&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=System_Environment_Guide&amp;diff=34183</id>
		<title>System Environment Guide</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=System_Environment_Guide&amp;diff=34183"/>
				<updated>2023-08-08T11:58:04Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Required */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WHMCS is compatible with most web server environments.  Installing WHMCS in your web environment is usually straight forward.  As well, WHMCS is continually providing updates which can seamlessly support environment updates from the upstream providers.  However, as new technologies emerge and your current system's environment has access to new updates, it's important that you are aware of how they might affect your WHMCS deployment.  This guide is designed help you and your system administrator prepare and manage your environment.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toclimit-2&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
WHMCS is designed for a traditional LAMP (Linux, Apache, MySQL, PHP) environment. The minimum requirements and basic version compatibility related to those sub-systems are provided in our [[System Requirements]].&lt;br /&gt;
&lt;br /&gt;
The development of WHMCS is such that alternative technologies may be viable, however they are not tested and assistance from our Support Team will be limited.  For example, if you wish to use NGINX instead of Apache, it may be technically possible.  However, our Support will have limited knowledge about how to properly configure NGINX or debug behaviors that are specific to NGINX.  &lt;br /&gt;
&lt;br /&gt;
If you require the use of something other than Linux, Apache, or MySQL please consult with your system administrator to evaluate the immediate possibilities for (in)compatibility and long-term viability so that your environment management strategy accommodates for your specific requirements.&lt;br /&gt;
&lt;br /&gt;
== Operating System ==&lt;br /&gt;
WHMCS is designed to run in a standard Linux operating/file system.  WHMCS relies on PHP for interaction with the file system.  In some operating systems (such as Windows) or environments (such as jails or chroots) the file system may have restrictions or inherent behaviors which may be hard to detect or uncommon.  When possible, WHMCS provides notices that indicates incompatibility. If you require a different operating/file system, please discuss with your system administrator.  Our Support Team is available to provide limited assistance to your system administrator for your custom environment.&lt;br /&gt;
&lt;br /&gt;
Also of note, WHMCS relies heavily on the Linux Cron sub-system to trigger background tasks and perform periodic automation tasks such as deferred provisioning, service synchronization, invoice generation, billing, and more.  You may learn more at the [[Crons| crons documentation]].  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-info-circle fa-fw&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;Please note, the command line PHP used to invoke the cron will need to meet the same requirements as the [[#PHP| PHP]] binary used by your web server.  This includes ini settings and enabled extensions.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Web Server ==&lt;br /&gt;
WHMCS is designed to work with the Apache web server version 2.x.  While there are no special Apache configurations required for WHMCS, there are some advantages available to you and your WHMCS deployment that you may wish to consider.&lt;br /&gt;
&lt;br /&gt;
=== Extensions ===&lt;br /&gt;
&lt;br /&gt;
;mod_rewrite&lt;br /&gt;
:The Apache mod_rewrite module allows Apache to inspect and modify URLs and redirects through the use of .htaccess files within your web server docroot.  WHMCS can create and manage a .htaccess file, and thus generate and consume friendly URLs in various parts of the product. This feature is described in more detail at [[Friendly URLs]].&lt;br /&gt;
&lt;br /&gt;
=== Handler ===&lt;br /&gt;
The web server is responsible for all web applications on the server, and thus the Unix permissions granted to the php process (php handler) that operate with your web application are important. Some PHP handlers will execute all php code on the system as the same Unix user (server wide handlers like CGI &amp;amp; mod_php) while other handlers execute the PHP process as a specific user based on domain name (per vhost handlers like suphp, mod_ruid2). Both options are viable for WHMCS.  However, as a matter of security, you need to ensure that no other applications on the server, outside your control, executes as the same Unix user. Your system administrator should be able to configure the web server so that this minimum level of security is met, or more conservatively, that the WHMCS web application process is executed by a user that is wholly unique amongst any other application on the server (even those within your control).&lt;br /&gt;
&lt;br /&gt;
=== Directives ===&lt;br /&gt;
&lt;br /&gt;
WHMCS uses configuration directives to alter the web server configuration on a per-directory basis. As Apache is the recommended web server software platform to run WHMCS on, these directives are included via the following .htaccess files.&lt;br /&gt;
&lt;br /&gt;
; ~/.htaccess&lt;br /&gt;
: This file contains the mod_rewrite directives responsible for sending routable paths through the index.php file. This in turn allows the internal routing system to function, and furnishes WHMCS with the ability to create consumer friendly URLs. More information can be found on the [[Friendly URLs]] documentation page.&lt;br /&gt;
&lt;br /&gt;
; ~/vendor/.htaccess&lt;br /&gt;
: This file prevents access to the ~/vendor directory. This ensures that the web server is not serving file requests directly from this location, and that WHMCS is still capable of accessing the libraries it needs to function. More information can be found on the [[Further_Security_Steps#Vendor_Directory|Further Security Steps]] documentation page.&lt;br /&gt;
&lt;br /&gt;
While other web server technologies are not officially supported, we understand that some users do wish to run WHMCS in environments other than Apache. For those that do, you must ensure that the functionality offered by the aforementioned directives has been implemented by your web server configuration.&lt;br /&gt;
&lt;br /&gt;
How this is achieved depends on the web server itself. If uncertain, then you should consult with your server administrator. As an example, you can find a guide detailing how to secure the vendor directory on the NGINX web server on the [[Nginx Directory Access Restriction]] documentation page.&lt;br /&gt;
&lt;br /&gt;
== Database ==&lt;br /&gt;
WHMCS is designed to work with the MySQL database.  Binary compatible alternatives (such as MariaDB) should be suitable, however their default configurations and optimizations are likely to be different and you should consult with your system administrator or database administrator.&lt;br /&gt;
&lt;br /&gt;
=== Version Compatibility ===&lt;br /&gt;
{{:MySQL Version Support Matrix}}&lt;br /&gt;
&lt;br /&gt;
=== Database Privileges ===&lt;br /&gt;
When installing or updating WHMCS, or when activating or deactivating modules, the following privileges are required:&lt;br /&gt;
* ALTER&lt;br /&gt;
* CREATE&lt;br /&gt;
* DROP&lt;br /&gt;
* INDEX&lt;br /&gt;
&lt;br /&gt;
For day to day use, only the following database privileges are required. All others may be disabled.&lt;br /&gt;
* DELETE&lt;br /&gt;
* INSERT&lt;br /&gt;
* SELECT&lt;br /&gt;
* UPDATE&lt;br /&gt;
* LOCK TABLES&lt;br /&gt;
&lt;br /&gt;
If you choose to restrict the privileges for day to day use, don't forget to grant the former privileges so database schema changes and optimizations can be performed by the update process.&lt;br /&gt;
&lt;br /&gt;
=== Database Interaction ===&lt;br /&gt;
WHMCS internals utilize the PDO database API.  If the PHP environment is v5.6, both a PDO based connection and a MySQL handle will be used for compatibility with legacy code.&lt;br /&gt;
&lt;br /&gt;
If you are developing code for the WHMCS platform, it is recommended that you interact with the database via the [https://developers.whmcs.com/api/internal-api/ Local API], [https://developers.whmcs.com/advanced/db-interaction/ DBAL &amp;amp; ORM], or [[Using Models|Models]].  All three methods will abstract database connection details and system compatibility for you and will be supported by WHMCS for the foreseeable future.  The [https://docs.whmcs.com/SQL_Helper_Functions?redirect=no SQL Helper Functions] are still present, although deprecated.  Due to their ubiquitous usage, we anticipate supporting them as long as possible but recommend that you use one of the other methods above.  You can learn more at [https://developers.whmcs.com/advanced/db-interaction/ Interacting with the Database] on our developer's site.&lt;br /&gt;
&lt;br /&gt;
=== Encrypted Database Connections ===&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt; We added this support in WHMCS 8.8.&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Support for encrypted MySQL connections requires adding configuration variables to the &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt; file. You can use the following variables:&lt;br /&gt;
 &lt;br /&gt;
* &amp;lt;tt&amp;gt;db_tls_ca&amp;lt;/tt&amp;gt; — The path to the CA .pem file (for example, &amp;lt;tt&amp;gt;/var/www/html/whmcs/ca.pem&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* &amp;lt;tt&amp;gt;db_tls_ca_path&amp;lt;/tt&amp;gt; — The path to the directory that contains the CA certificate files.&lt;br /&gt;
* &amp;lt;tt&amp;gt;db_tls_cert&amp;lt;/tt&amp;gt; — The path to the client's certificate.&lt;br /&gt;
* &amp;lt;tt&amp;gt;db_tls_cipher&amp;lt;/tt&amp;gt; — A list of one or more ciphers to use for SSL encryption, in an OpenSSL-compatible format.&lt;br /&gt;
* &amp;lt;tt&amp;gt;db_tls_key&amp;lt;/tt&amp;gt; — The path to the client's key.&lt;br /&gt;
* &amp;lt;tt&amp;gt;db_tls_verify_cert&amp;lt;/tt&amp;gt; — Disable (&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt;) or enable (&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt;) the server certificate.&lt;br /&gt;
 &lt;br /&gt;
You can add these variables before, during, or after installation using the [[Install On The Command Line|command-line installation method]] or after installation using the [[Installing WHMCS|browser-based installation method]]. For steps, see [https://help.whmcs.com/m/installation/l/1706785-enabling-encrypted-mysql-connections Enabling Encrypted MySQL Connections].&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div id=&amp;quot;PHP_Version&amp;quot;&amp;gt; &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PHP ==&lt;br /&gt;
WHMCS is written in PHP.  Your environment's PHP will need to be a version supported by the version of WHMCS you are using.  In general, this will be one of the PHP versions that is either under active development or is receiving security fixes from the upstream PHP maintainers.&lt;br /&gt;
&lt;br /&gt;
Whenever possible, it is usually preferable to utilize a version of PHP that is under active development.  Unfortunately, there can be a number of circumstances that may complicate the viability of using the latest stable release of PHP.  These can range from a lack of control panel build support to incompatibility for other web applications on your server to backwards breaking behavior in PHP that inhibit ionCube Loader® support.  Regardless, WHMCS always provides support for a security-monitored PHP version available from the PHP maintainers and we are continually prioritizing compatibility with their releases.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-info-circle fa-fw&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;Our [[PHP Upgrade Guide]] outlines the essential steps you can follow in preparation for a PHP upgrade.  In WHMCS 7.5 we also provide the [[PHP_Version_Compatibility_Assessment| PHP Version Compatibility Assessment Utility]] designed to scan your WHMCS for any encoded files that may not be compatible for your desired PHP version.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Version Compatibility ===&lt;br /&gt;
{{:PHP Version Support Matrix}}&lt;br /&gt;
&lt;br /&gt;
=== Extensions ===&lt;br /&gt;
&lt;br /&gt;
WHMCS requires most of the default compiled extensions (for example, PDO, mysqlnd,  JSON, libxml, DOM, or Fileinfo). We assume that you will not intentionally disable them in the environment. &lt;br /&gt;
&lt;br /&gt;
You must also compile and enable the following additional extensions:&lt;br /&gt;
&lt;br /&gt;
==== Required ====&lt;br /&gt;
; cURL with SSL Support&lt;br /&gt;
: cURL is used when interacting with APIs of external systems such as the WHMCS Licensing &amp;amp; Update servers, payment gateways, servers that host your products, etc.  cURL's SSL support must be enabled so that verified and encrypted communication is possible.&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-info-circle fa-fw&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;WHMCS will check for Curl version 7.36 or above.&amp;lt;/div&amp;gt;&lt;br /&gt;
; GD2 &lt;br /&gt;
: GD2 Image Library is used when performing graphic manipulation, such as image thumbnails and PDFs.&lt;br /&gt;
; IMAP**&lt;br /&gt;
: **IMAP is only required if you are utilizing support departments which access mailboxes.&lt;br /&gt;
; ionCube Loader&lt;br /&gt;
: See the [[#ionCube| ionCube Loader]] section below for more detail.&lt;br /&gt;
; JSON&lt;br /&gt;
: JSON exchanges data in the UI (for example, displaying success messages after completing an action like changing a password on a service).&lt;br /&gt;
; MYSQL**&lt;br /&gt;
: ** The original MySQL extension is required if, and only if, your environment uses PHP v5.6.&lt;br /&gt;
; PDO_MYSQL&lt;br /&gt;
: While the basic PDO API extension is compiled by default in PHP, you must also have the PDO MySQL driver enabled so that PDO can communicate with your MySQL database server.&lt;br /&gt;
;Reflection&lt;br /&gt;
: Reflection adds the ability to examine and identify classes, interfaces, functions, methods, and extensions within your application. As part of this, the extension can check also for and retrieve documented comments within the same classes, interfaces, functions, and methods.&lt;br /&gt;
; SOAP**&lt;br /&gt;
: **SOAP is only required by some specific, but possibly important, modules. It is used when interacting with their corresponding external services, such as EU VAT, OpenSRS, eWay Tokens, etc.&lt;br /&gt;
; XML&lt;br /&gt;
: WHMCS uses the SimpleXML extension that PHP compiles by default. It is highly used for communication with remote systems, such as registrars, payment gateways, and servers.&lt;br /&gt;
&lt;br /&gt;
==== Recommended ====&lt;br /&gt;
; BC Math&lt;br /&gt;
: The functions provided by BC Math are used when available. They provide performance improvements for when generating cryptographic data.&lt;br /&gt;
; Fileinfo&lt;br /&gt;
: The functions provided by Fileinfo are used when available. They provide functionalities to aid in determining the content type and encoding of uploaded files.&lt;br /&gt;
; GMP&lt;br /&gt;
: The functions provided by GMP are used when available. They provide significant performance improvements for when generating cryptographic data.&lt;br /&gt;
; iconv&lt;br /&gt;
: The iconv extension is for character set conversion, i.e. managing different non-latin characters. If available, this extension provides significant performance improvements and is highly recommended.&lt;br /&gt;
; Intl&lt;br /&gt;
: Intl performs character inspection and transformation, such as in IDN to perform Punycode conversions and transliterations. While we provide a third party dependency to compensate for the absence of Intl, it is much more performant to have the actual extension in the environment.&lt;br /&gt;
; mbstring&lt;br /&gt;
: The mbstring extension is for multi-byte character support, i.e managing non-Latin characters and glyphs.  If available, this extension provides significant performance, allows for broader support of characters and glyphs common throughout digital communications, and is highly recommended.&lt;br /&gt;
; OpenSSL&lt;br /&gt;
: OpenSSL is for secure communications and random number generation.  If available, this extension will be used and provide significant performance improvements for cryptographic routines.&lt;br /&gt;
&lt;br /&gt;
=== PHP INI Settings ===&lt;br /&gt;
; allow_url_fopen&lt;br /&gt;
: allow_url_fopen must be enabled for the WHMCS Updater.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;IonCube_Version&amp;quot;&amp;gt; &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ionCube ==&lt;br /&gt;
&lt;br /&gt;
ionCube is a set of encoding and decoding tools that provide obfuscation and performance for PHP software. The decoder tool is a &amp;quot;loader&amp;quot; in the server environment. The encoder tool, an &amp;quot;encoder,&amp;quot; is part of PHP developers' publication processes.&lt;br /&gt;
&lt;br /&gt;
WHMCS is encoded with ionCube and requires that you install and enable the ionCube Loader extension in your server environment. We recommend running the latest version of the ionCube Loader for your PHP version. Our [[ioncube Installation Tutorial|ionCube Installation Tutorial]] provides an overview for installing this extension in your environment.&lt;br /&gt;
&lt;br /&gt;
Usually, ionCube will publish a complementing loader several weeks following a new PHP version. &lt;br /&gt;
&lt;br /&gt;
Using this latest loader will afford you two benefits: &lt;br /&gt;
* You have the potential for running previously-encoded files using a new base PHP version and running unencoded (raw) PHP code that is compatible with the base PHP version.  &lt;br /&gt;
* You can run newly-encoded files from a new ionCube Encoder (if one was published).&lt;br /&gt;
&lt;br /&gt;
The ionCube Encoder requires the developer to itemize the PHP versions to support. This helps to mitigate the limitations for supporting certain PHP versions concurrently: it is common for PHP applications to not support the latest PHP version on the initial PHP release date. Applications may also have further requirements about the oldest supported PHP version and the required loader.&lt;br /&gt;
&lt;br /&gt;
Each WHMCS version has always supported at least two PHP versions. Each new version of WHMCS has always supported at least one of the PHP versions supported in the previous WHMCS publication. This perpetual overlap of PHP version support across WHMCS publications means that you always have a path to upgrade your PHP environment without having to update the WHMCS software at the same time. As well, it allows the WHMCS Updater to safely automate updates for your current environment. Providing this overlap is integral to enabling your environment maintenance strategy, giving you the best balance of security, stability and forward compatibility as soon as possible.&lt;br /&gt;
&lt;br /&gt;
=== Version Compatibility ===&lt;br /&gt;
{{:IonCube Loader Version Matrix}}&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=System_Environment_Guide&amp;diff=34182</id>
		<title>System Environment Guide</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=System_Environment_Guide&amp;diff=34182"/>
				<updated>2023-08-08T11:55:37Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Recommended */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WHMCS is compatible with most web server environments.  Installing WHMCS in your web environment is usually straight forward.  As well, WHMCS is continually providing updates which can seamlessly support environment updates from the upstream providers.  However, as new technologies emerge and your current system's environment has access to new updates, it's important that you are aware of how they might affect your WHMCS deployment.  This guide is designed help you and your system administrator prepare and manage your environment.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toclimit-2&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
WHMCS is designed for a traditional LAMP (Linux, Apache, MySQL, PHP) environment. The minimum requirements and basic version compatibility related to those sub-systems are provided in our [[System Requirements]].&lt;br /&gt;
&lt;br /&gt;
The development of WHMCS is such that alternative technologies may be viable, however they are not tested and assistance from our Support Team will be limited.  For example, if you wish to use NGINX instead of Apache, it may be technically possible.  However, our Support will have limited knowledge about how to properly configure NGINX or debug behaviors that are specific to NGINX.  &lt;br /&gt;
&lt;br /&gt;
If you require the use of something other than Linux, Apache, or MySQL please consult with your system administrator to evaluate the immediate possibilities for (in)compatibility and long-term viability so that your environment management strategy accommodates for your specific requirements.&lt;br /&gt;
&lt;br /&gt;
== Operating System ==&lt;br /&gt;
WHMCS is designed to run in a standard Linux operating/file system.  WHMCS relies on PHP for interaction with the file system.  In some operating systems (such as Windows) or environments (such as jails or chroots) the file system may have restrictions or inherent behaviors which may be hard to detect or uncommon.  When possible, WHMCS provides notices that indicates incompatibility. If you require a different operating/file system, please discuss with your system administrator.  Our Support Team is available to provide limited assistance to your system administrator for your custom environment.&lt;br /&gt;
&lt;br /&gt;
Also of note, WHMCS relies heavily on the Linux Cron sub-system to trigger background tasks and perform periodic automation tasks such as deferred provisioning, service synchronization, invoice generation, billing, and more.  You may learn more at the [[Crons| crons documentation]].  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-info-circle fa-fw&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;Please note, the command line PHP used to invoke the cron will need to meet the same requirements as the [[#PHP| PHP]] binary used by your web server.  This includes ini settings and enabled extensions.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Web Server ==&lt;br /&gt;
WHMCS is designed to work with the Apache web server version 2.x.  While there are no special Apache configurations required for WHMCS, there are some advantages available to you and your WHMCS deployment that you may wish to consider.&lt;br /&gt;
&lt;br /&gt;
=== Extensions ===&lt;br /&gt;
&lt;br /&gt;
;mod_rewrite&lt;br /&gt;
:The Apache mod_rewrite module allows Apache to inspect and modify URLs and redirects through the use of .htaccess files within your web server docroot.  WHMCS can create and manage a .htaccess file, and thus generate and consume friendly URLs in various parts of the product. This feature is described in more detail at [[Friendly URLs]].&lt;br /&gt;
&lt;br /&gt;
=== Handler ===&lt;br /&gt;
The web server is responsible for all web applications on the server, and thus the Unix permissions granted to the php process (php handler) that operate with your web application are important. Some PHP handlers will execute all php code on the system as the same Unix user (server wide handlers like CGI &amp;amp; mod_php) while other handlers execute the PHP process as a specific user based on domain name (per vhost handlers like suphp, mod_ruid2). Both options are viable for WHMCS.  However, as a matter of security, you need to ensure that no other applications on the server, outside your control, executes as the same Unix user. Your system administrator should be able to configure the web server so that this minimum level of security is met, or more conservatively, that the WHMCS web application process is executed by a user that is wholly unique amongst any other application on the server (even those within your control).&lt;br /&gt;
&lt;br /&gt;
=== Directives ===&lt;br /&gt;
&lt;br /&gt;
WHMCS uses configuration directives to alter the web server configuration on a per-directory basis. As Apache is the recommended web server software platform to run WHMCS on, these directives are included via the following .htaccess files.&lt;br /&gt;
&lt;br /&gt;
; ~/.htaccess&lt;br /&gt;
: This file contains the mod_rewrite directives responsible for sending routable paths through the index.php file. This in turn allows the internal routing system to function, and furnishes WHMCS with the ability to create consumer friendly URLs. More information can be found on the [[Friendly URLs]] documentation page.&lt;br /&gt;
&lt;br /&gt;
; ~/vendor/.htaccess&lt;br /&gt;
: This file prevents access to the ~/vendor directory. This ensures that the web server is not serving file requests directly from this location, and that WHMCS is still capable of accessing the libraries it needs to function. More information can be found on the [[Further_Security_Steps#Vendor_Directory|Further Security Steps]] documentation page.&lt;br /&gt;
&lt;br /&gt;
While other web server technologies are not officially supported, we understand that some users do wish to run WHMCS in environments other than Apache. For those that do, you must ensure that the functionality offered by the aforementioned directives has been implemented by your web server configuration.&lt;br /&gt;
&lt;br /&gt;
How this is achieved depends on the web server itself. If uncertain, then you should consult with your server administrator. As an example, you can find a guide detailing how to secure the vendor directory on the NGINX web server on the [[Nginx Directory Access Restriction]] documentation page.&lt;br /&gt;
&lt;br /&gt;
== Database ==&lt;br /&gt;
WHMCS is designed to work with the MySQL database.  Binary compatible alternatives (such as MariaDB) should be suitable, however their default configurations and optimizations are likely to be different and you should consult with your system administrator or database administrator.&lt;br /&gt;
&lt;br /&gt;
=== Version Compatibility ===&lt;br /&gt;
{{:MySQL Version Support Matrix}}&lt;br /&gt;
&lt;br /&gt;
=== Database Privileges ===&lt;br /&gt;
When installing or updating WHMCS, or when activating or deactivating modules, the following privileges are required:&lt;br /&gt;
* ALTER&lt;br /&gt;
* CREATE&lt;br /&gt;
* DROP&lt;br /&gt;
* INDEX&lt;br /&gt;
&lt;br /&gt;
For day to day use, only the following database privileges are required. All others may be disabled.&lt;br /&gt;
* DELETE&lt;br /&gt;
* INSERT&lt;br /&gt;
* SELECT&lt;br /&gt;
* UPDATE&lt;br /&gt;
* LOCK TABLES&lt;br /&gt;
&lt;br /&gt;
If you choose to restrict the privileges for day to day use, don't forget to grant the former privileges so database schema changes and optimizations can be performed by the update process.&lt;br /&gt;
&lt;br /&gt;
=== Database Interaction ===&lt;br /&gt;
WHMCS internals utilize the PDO database API.  If the PHP environment is v5.6, both a PDO based connection and a MySQL handle will be used for compatibility with legacy code.&lt;br /&gt;
&lt;br /&gt;
If you are developing code for the WHMCS platform, it is recommended that you interact with the database via the [https://developers.whmcs.com/api/internal-api/ Local API], [https://developers.whmcs.com/advanced/db-interaction/ DBAL &amp;amp; ORM], or [[Using Models|Models]].  All three methods will abstract database connection details and system compatibility for you and will be supported by WHMCS for the foreseeable future.  The [https://docs.whmcs.com/SQL_Helper_Functions?redirect=no SQL Helper Functions] are still present, although deprecated.  Due to their ubiquitous usage, we anticipate supporting them as long as possible but recommend that you use one of the other methods above.  You can learn more at [https://developers.whmcs.com/advanced/db-interaction/ Interacting with the Database] on our developer's site.&lt;br /&gt;
&lt;br /&gt;
=== Encrypted Database Connections ===&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt; We added this support in WHMCS 8.8.&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Support for encrypted MySQL connections requires adding configuration variables to the &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt; file. You can use the following variables:&lt;br /&gt;
 &lt;br /&gt;
* &amp;lt;tt&amp;gt;db_tls_ca&amp;lt;/tt&amp;gt; — The path to the CA .pem file (for example, &amp;lt;tt&amp;gt;/var/www/html/whmcs/ca.pem&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* &amp;lt;tt&amp;gt;db_tls_ca_path&amp;lt;/tt&amp;gt; — The path to the directory that contains the CA certificate files.&lt;br /&gt;
* &amp;lt;tt&amp;gt;db_tls_cert&amp;lt;/tt&amp;gt; — The path to the client's certificate.&lt;br /&gt;
* &amp;lt;tt&amp;gt;db_tls_cipher&amp;lt;/tt&amp;gt; — A list of one or more ciphers to use for SSL encryption, in an OpenSSL-compatible format.&lt;br /&gt;
* &amp;lt;tt&amp;gt;db_tls_key&amp;lt;/tt&amp;gt; — The path to the client's key.&lt;br /&gt;
* &amp;lt;tt&amp;gt;db_tls_verify_cert&amp;lt;/tt&amp;gt; — Disable (&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt;) or enable (&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt;) the server certificate.&lt;br /&gt;
 &lt;br /&gt;
You can add these variables before, during, or after installation using the [[Install On The Command Line|command-line installation method]] or after installation using the [[Installing WHMCS|browser-based installation method]]. For steps, see [https://help.whmcs.com/m/installation/l/1706785-enabling-encrypted-mysql-connections Enabling Encrypted MySQL Connections].&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div id=&amp;quot;PHP_Version&amp;quot;&amp;gt; &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PHP ==&lt;br /&gt;
WHMCS is written in PHP.  Your environment's PHP will need to be a version supported by the version of WHMCS you are using.  In general, this will be one of the PHP versions that is either under active development or is receiving security fixes from the upstream PHP maintainers.&lt;br /&gt;
&lt;br /&gt;
Whenever possible, it is usually preferable to utilize a version of PHP that is under active development.  Unfortunately, there can be a number of circumstances that may complicate the viability of using the latest stable release of PHP.  These can range from a lack of control panel build support to incompatibility for other web applications on your server to backwards breaking behavior in PHP that inhibit ionCube Loader® support.  Regardless, WHMCS always provides support for a security-monitored PHP version available from the PHP maintainers and we are continually prioritizing compatibility with their releases.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-info-circle fa-fw&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;Our [[PHP Upgrade Guide]] outlines the essential steps you can follow in preparation for a PHP upgrade.  In WHMCS 7.5 we also provide the [[PHP_Version_Compatibility_Assessment| PHP Version Compatibility Assessment Utility]] designed to scan your WHMCS for any encoded files that may not be compatible for your desired PHP version.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Version Compatibility ===&lt;br /&gt;
{{:PHP Version Support Matrix}}&lt;br /&gt;
&lt;br /&gt;
=== Extensions ===&lt;br /&gt;
&lt;br /&gt;
WHMCS requires most of the default compiled extensions (for example, PDO, mysqlnd,  JSON, libxml, DOM, or Fileinfo). We assume that you will not intentionally disable them in the environment. &lt;br /&gt;
&lt;br /&gt;
You must also compile and enable the following additional extensions:&lt;br /&gt;
&lt;br /&gt;
==== Required ====&lt;br /&gt;
; ionCube Loader&lt;br /&gt;
: See the [[#ionCube| ionCube Loader]] section below for more detail.&lt;br /&gt;
; PDO_MYSQL&lt;br /&gt;
: While the basic PDO API extension is compiled by default in PHP, you must also have the PDO MySQL driver enabled so that PDO can communicate with your MySQL database server.&lt;br /&gt;
; cURL with SSL Support&lt;br /&gt;
: cURL is used when interacting with APIs of external systems such as the WHMCS Licensing &amp;amp; Update servers, payment gateways, servers that host your products, etc.  cURL's SSL support must be enabled so that verified and encrypted communication is possible.&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-info-circle fa-fw&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;WHMCS will check for Curl version 7.36 or above.&amp;lt;/div&amp;gt;&lt;br /&gt;
; GD2 &lt;br /&gt;
: GD2 Image Library is used when performing graphic manipulation, such as image thumbnails and PDFs.&lt;br /&gt;
;Reflection&lt;br /&gt;
: Reflection adds the ability to examine and identify classes, interfaces, functions, methods, and extensions within your application. As part of this, the extension can check also for and retrieve documented comments within the same classes, interfaces, functions, and methods.&lt;br /&gt;
; XML&lt;br /&gt;
: WHMCS uses the SimpleXML extension that PHP compiles by default. It is highly used for communication with remote systems, such as registrars, payment gateways, and servers.&lt;br /&gt;
; JSON&lt;br /&gt;
: JSON exchanges data in the UI (for example, displaying success messages after completing an action like changing a password on a service).&lt;br /&gt;
; SOAP**&lt;br /&gt;
: **SOAP is only required by some specific, but possibly important, modules. It is used when interacting with their corresponding external services, such as EU VAT, OpenSRS, eWay Tokens, etc.&lt;br /&gt;
; IMAP**&lt;br /&gt;
: **IMAP is only required if you are utilizing support departments which access mailboxes.&lt;br /&gt;
; MYSQL**&lt;br /&gt;
: ** The original MySQL extension is required if, and only if, your environment uses PHP v5.6.&lt;br /&gt;
&lt;br /&gt;
==== Recommended ====&lt;br /&gt;
; BC Math&lt;br /&gt;
: The functions provided by BC Math are used when available. They provide performance improvements for when generating cryptographic data.&lt;br /&gt;
; Fileinfo&lt;br /&gt;
: The functions provided by Fileinfo are used when available. They provide functionalities to aid in determining the content type and encoding of uploaded files.&lt;br /&gt;
; GMP&lt;br /&gt;
: The functions provided by GMP are used when available. They provide significant performance improvements for when generating cryptographic data.&lt;br /&gt;
; iconv&lt;br /&gt;
: The iconv extension is for character set conversion, i.e. managing different non-latin characters. If available, this extension provides significant performance improvements and is highly recommended.&lt;br /&gt;
; Intl&lt;br /&gt;
: Intl performs character inspection and transformation, such as in IDN to perform Punycode conversions and transliterations. While we provide a third party dependency to compensate for the absence of Intl, it is much more performant to have the actual extension in the environment.&lt;br /&gt;
; mbstring&lt;br /&gt;
: The mbstring extension is for multi-byte character support, i.e managing non-Latin characters and glyphs.  If available, this extension provides significant performance, allows for broader support of characters and glyphs common throughout digital communications, and is highly recommended.&lt;br /&gt;
; OpenSSL&lt;br /&gt;
: OpenSSL is for secure communications and random number generation.  If available, this extension will be used and provide significant performance improvements for cryptographic routines.&lt;br /&gt;
&lt;br /&gt;
=== PHP INI Settings ===&lt;br /&gt;
; allow_url_fopen&lt;br /&gt;
: allow_url_fopen must be enabled for the WHMCS Updater.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;IonCube_Version&amp;quot;&amp;gt; &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ionCube ==&lt;br /&gt;
&lt;br /&gt;
ionCube is a set of encoding and decoding tools that provide obfuscation and performance for PHP software. The decoder tool is a &amp;quot;loader&amp;quot; in the server environment. The encoder tool, an &amp;quot;encoder,&amp;quot; is part of PHP developers' publication processes.&lt;br /&gt;
&lt;br /&gt;
WHMCS is encoded with ionCube and requires that you install and enable the ionCube Loader extension in your server environment. We recommend running the latest version of the ionCube Loader for your PHP version. Our [[ioncube Installation Tutorial|ionCube Installation Tutorial]] provides an overview for installing this extension in your environment.&lt;br /&gt;
&lt;br /&gt;
Usually, ionCube will publish a complementing loader several weeks following a new PHP version. &lt;br /&gt;
&lt;br /&gt;
Using this latest loader will afford you two benefits: &lt;br /&gt;
* You have the potential for running previously-encoded files using a new base PHP version and running unencoded (raw) PHP code that is compatible with the base PHP version.  &lt;br /&gt;
* You can run newly-encoded files from a new ionCube Encoder (if one was published).&lt;br /&gt;
&lt;br /&gt;
The ionCube Encoder requires the developer to itemize the PHP versions to support. This helps to mitigate the limitations for supporting certain PHP versions concurrently: it is common for PHP applications to not support the latest PHP version on the initial PHP release date. Applications may also have further requirements about the oldest supported PHP version and the required loader.&lt;br /&gt;
&lt;br /&gt;
Each WHMCS version has always supported at least two PHP versions. Each new version of WHMCS has always supported at least one of the PHP versions supported in the previous WHMCS publication. This perpetual overlap of PHP version support across WHMCS publications means that you always have a path to upgrade your PHP environment without having to update the WHMCS software at the same time. As well, it allows the WHMCS Updater to safely automate updates for your current environment. Providing this overlap is integral to enabling your environment maintenance strategy, giving you the best balance of security, stability and forward compatibility as soon as possible.&lt;br /&gt;
&lt;br /&gt;
=== Version Compatibility ===&lt;br /&gt;
{{:IonCube Loader Version Matrix}}&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=System_Environment_Guide&amp;diff=34106</id>
		<title>System Environment Guide</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=System_Environment_Guide&amp;diff=34106"/>
				<updated>2023-06-07T14:53:56Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Recommended */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WHMCS is compatible with most web server environments.  Installing WHMCS in your web environment is usually straight forward.  As well, WHMCS is continually providing updates which can seamlessly support environment updates from the upstream providers.  However, as new technologies emerge and your current system's environment has access to new updates, it's important that you are aware of how they might affect your WHMCS deployment.  This guide is designed help you and your system administrator prepare and manage your environment.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toclimit-2&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
WHMCS is designed for a traditional LAMP (Linux, Apache, MySQL, PHP) environment. The minimum requirements and basic version compatibility related to those sub-systems are provided in our [[System Requirements]].&lt;br /&gt;
&lt;br /&gt;
The development of WHMCS is such that alternative technologies may be viable, however they are not tested and assistance from our Support Team will be limited.  For example, if you wish to use NGINX instead of Apache, it may be technically possible.  However, our Support will have limited knowledge about how to properly configure NGINX or debug behaviors that are specific to NGINX.  &lt;br /&gt;
&lt;br /&gt;
If you require the use of something other than Linux, Apache, or MySQL please consult with your system administrator to evaluate the immediate possibilities for (in)compatibility and long-term viability so that your environment management strategy accommodates for your specific requirements.&lt;br /&gt;
&lt;br /&gt;
== Operating System ==&lt;br /&gt;
WHMCS is designed to run in a standard Linux operating/file system.  WHMCS relies on PHP for interaction with the file system.  In some operating systems (such as Windows) or environments (such as jails or chroots) the file system may have restrictions or inherent behaviors which may be hard to detect or uncommon.  When possible, WHMCS provides notices that indicates incompatibility. If you require a different operating/file system, please discuss with your system administrator.  Our Support Team is available to provide limited assistance to your system administrator for your custom environment.&lt;br /&gt;
&lt;br /&gt;
Also of note, WHMCS relies heavily on the Linux Cron sub-system to trigger background tasks and perform periodic automation tasks such as deferred provisioning, service synchronization, invoice generation, billing, and more.  You may learn more at the [[Crons| crons documentation]].  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-info-circle fa-fw&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;Please note, the command line PHP used to invoke the cron will need to meet the same requirements as the [[#PHP| PHP]] binary used by your web server.  This includes ini settings and enabled extensions.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Web Server ==&lt;br /&gt;
WHMCS is designed to work with the Apache web server version 2.x.  While there are no special Apache configurations required for WHMCS, there are some advantages available to you and your WHMCS deployment that you may wish to consider.&lt;br /&gt;
&lt;br /&gt;
=== Extensions ===&lt;br /&gt;
&lt;br /&gt;
;mod_rewrite&lt;br /&gt;
:The Apache mod_rewrite module allows Apache to inspect and modify URLs and redirects through the use of .htaccess files within your web server docroot.  WHMCS can create and manage a .htaccess file, and thus generate and consume friendly URLs in various parts of the product. This feature is described in more detail at [[Friendly URLs]].&lt;br /&gt;
&lt;br /&gt;
=== Handler ===&lt;br /&gt;
The web server is responsible for all web applications on the server, and thus the Unix permissions granted to the php process (php handler) that operate with your web application are important. Some PHP handlers will execute all php code on the system as the same Unix user (server wide handlers like CGI &amp;amp; mod_php) while other handlers execute the PHP process as a specific user based on domain name (per vhost handlers like suphp, mod_ruid2). Both options are viable for WHMCS.  However, as a matter of security, you need to ensure that no other applications on the server, outside your control, executes as the same Unix user. Your system administrator should be able to configure the web server so that this minimum level of security is met, or more conservatively, that the WHMCS web application process is executed by a user that is wholly unique amongst any other application on the server (even those within your control).&lt;br /&gt;
&lt;br /&gt;
=== Directives ===&lt;br /&gt;
&lt;br /&gt;
WHMCS uses configuration directives to alter the web server configuration on a per-directory basis. As Apache is the recommended web server software platform to run WHMCS on, these directives are included via the following .htaccess files.&lt;br /&gt;
&lt;br /&gt;
; ~/.htaccess&lt;br /&gt;
: This file contains the mod_rewrite directives responsible for sending routable paths through the index.php file. This in turn allows the internal routing system to function, and furnishes WHMCS with the ability to create consumer friendly URLs. More information can be found on the [[Friendly URLs]] documentation page.&lt;br /&gt;
&lt;br /&gt;
; ~/vendor/.htaccess&lt;br /&gt;
: This file prevents access to the ~/vendor directory. This ensures that the web server is not serving file requests directly from this location, and that WHMCS is still capable of accessing the libraries it needs to function. More information can be found on the [[Further_Security_Steps#Vendor_Directory|Further Security Steps]] documentation page.&lt;br /&gt;
&lt;br /&gt;
While other web server technologies are not officially supported, we understand that some users do wish to run WHMCS in environments other than Apache. For those that do, you must ensure that the functionality offered by the aforementioned directives has been implemented by your web server configuration.&lt;br /&gt;
&lt;br /&gt;
How this is achieved depends on the web server itself. If uncertain, then you should consult with your server administrator. As an example, you can find a guide detailing how to secure the vendor directory on the NGINX web server on the [[Nginx Directory Access Restriction]] documentation page.&lt;br /&gt;
&lt;br /&gt;
== Database ==&lt;br /&gt;
WHMCS is designed to work with the MySQL database.  Binary compatible alternatives (such as MariaDB) should be suitable, however their default configurations and optimizations are likely to be different and you should consult with your system administrator or database administrator.&lt;br /&gt;
&lt;br /&gt;
=== Version Compatibility ===&lt;br /&gt;
{{:MySQL Version Support Matrix}}&lt;br /&gt;
&lt;br /&gt;
=== Database Privileges ===&lt;br /&gt;
When installing or updating WHMCS, or when activating or deactivating modules, the following privileges are required:&lt;br /&gt;
* ALTER&lt;br /&gt;
* CREATE&lt;br /&gt;
* DROP&lt;br /&gt;
* INDEX&lt;br /&gt;
&lt;br /&gt;
For day to day use, only the following database privileges are required. All others may be disabled.&lt;br /&gt;
* DELETE&lt;br /&gt;
* INSERT&lt;br /&gt;
* SELECT&lt;br /&gt;
* UPDATE&lt;br /&gt;
* LOCK TABLES&lt;br /&gt;
&lt;br /&gt;
If you choose to restrict the privileges for day to day use, don't forget to grant the former privileges so database schema changes and optimizations can be performed by the update process.&lt;br /&gt;
&lt;br /&gt;
=== Database Interaction ===&lt;br /&gt;
WHMCS internals utilize the PDO database API.  If the PHP environment is v5.6, both a PDO based connection and a MySQL handle will be used for compatibility with legacy code.&lt;br /&gt;
&lt;br /&gt;
If you are developing code for the WHMCS platform, it is recommended that you interact with the database via the [https://developers.whmcs.com/api/internal-api/ Local API], [https://developers.whmcs.com/advanced/db-interaction/ DBAL &amp;amp; ORM], or [[Using Models|Models]].  All three methods will abstract database connection details and system compatibility for you and will be supported by WHMCS for the foreseeable future.  The [https://docs.whmcs.com/SQL_Helper_Functions?redirect=no SQL Helper Functions] are still present, although deprecated.  Due to their ubiquitous usage, we anticipate supporting them as long as possible but recommend that you use one of the other methods above.  You can learn more at [https://developers.whmcs.com/advanced/db-interaction/ Interacting with the Database] on our developer's site.&lt;br /&gt;
&amp;lt;div id=&amp;quot;PHP_Version&amp;quot;&amp;gt; &amp;lt;/div&amp;gt;&lt;br /&gt;
== PHP ==&lt;br /&gt;
WHMCS is written in PHP.  Your environment's PHP will need to be a version supported by the version of WHMCS you are using.  In general, this will be one of the PHP versions that is either under active development or is receiving security fixes from the upstream PHP maintainers.&lt;br /&gt;
&lt;br /&gt;
Whenever possible, it is usually preferable to utilize a version of PHP that is under active development.  Unfortunately, there can be a number of circumstances that may complicate the viability of using the latest stable release of PHP.  These can range from a lack of control panel build support to incompatibility for other web applications on your server to backwards breaking behavior in PHP that inhibit ionCube Loader® support.  Regardless, WHMCS always provides support for a security-monitored PHP version available from the PHP maintainers and we are continually prioritizing compatibility with their releases.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-info-circle fa-fw&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;Our [[PHP Upgrade Guide]] outlines the essential steps you can follow in preparation for a PHP upgrade.  In WHMCS 7.5 we also provide the [[PHP_Version_Compatibility_Assessment| PHP Version Compatibility Assessment Utility]] designed to scan your WHMCS for any encoded files that may not be compatible for your desired PHP version.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Version Compatibility ===&lt;br /&gt;
{{:PHP Version Support Matrix}}&lt;br /&gt;
&lt;br /&gt;
=== Extensions ===&lt;br /&gt;
&lt;br /&gt;
WHMCS requires most of the default compiled extensions (for example, PDO, mysqlnd,  JSON, libxml, DOM, or Fileinfo). We assume that you will not intentionally disable them in the environment. &lt;br /&gt;
&lt;br /&gt;
You must also compile and enable the following additional extensions:&lt;br /&gt;
&lt;br /&gt;
==== Required ====&lt;br /&gt;
; ionCube Loader&lt;br /&gt;
: See the [[#ionCube| ionCube Loader]] section below for more detail.&lt;br /&gt;
; PDO_MYSQL&lt;br /&gt;
: While the basic PDO API extension is compiled by default in PHP, you must also have the PDO MySQL driver enabled so that PDO can communicate with your MySQL database server.&lt;br /&gt;
; cURL with SSL Support&lt;br /&gt;
: cURL is used when interacting with APIs of external systems such as the WHMCS Licensing &amp;amp; Update servers, payment gateways, servers that host your products, etc.  cURL's SSL support must be enabled so that verified and encrypted communication is possible.&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-info-circle fa-fw&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;WHMCS will check for Curl version 7.36 or above.&amp;lt;/div&amp;gt;&lt;br /&gt;
; GD2 &lt;br /&gt;
: GD2 Image Library is used when performing graphic manipulation, such as image thumbnails and PDFs.&lt;br /&gt;
; XML&lt;br /&gt;
: WHMCS uses the SimpleXML extension that PHP compiles by default. It is highly used for communication with remote systems, such as registrars, payment gateways, and servers.&lt;br /&gt;
; JSON&lt;br /&gt;
: JSON exchanges data in the UI (for example, displaying success messages after completing an action like changing a password on a service).&lt;br /&gt;
; SOAP**&lt;br /&gt;
: **SOAP is only required by some specific, but possibly important, modules. It is used when interacting with their corresponding external services, such as EU VAT, OpenSRS, eWay Tokens, etc.&lt;br /&gt;
; IMAP**&lt;br /&gt;
: **IMAP is only required if you are utilizing support departments which access mailboxes.&lt;br /&gt;
; MYSQL**&lt;br /&gt;
: ** The original MySQL extension is required if, and only if, your environment uses PHP v5.6.&lt;br /&gt;
&lt;br /&gt;
==== Recommended ====&lt;br /&gt;
; Intl&lt;br /&gt;
: Intl performs character inspection and transformation, such as in IDN to perform Punycode conversions and transliterations. While we provide a third party dependency to compensate for the absence of Intl, it is much more performant to have the actual extension in the environment.&lt;br /&gt;
; iconv&lt;br /&gt;
: The iconv extension is for character set conversion, i.e. managing different non-latin characters. If available, this extension provides significant performance improvements and is highly recommended.&lt;br /&gt;
; mbstring&lt;br /&gt;
: The mbstring extension is for multi-byte character support, i.e managing non-Latin characters and glyphs.  If available, this extension provides significant performance, allows for broader support of characters and glyphs common throughout digital communications, and is highly recommended.&lt;br /&gt;
; OpenSSL&lt;br /&gt;
: OpenSSL is for secure communications and random number generation.  If available, this extension will be used and provide significant performance improvements for cryptographic routines.&lt;br /&gt;
; GMP&lt;br /&gt;
: The functions provided by GMP are used when available. They provide significant performance improvements for when generating cryptographic data.&lt;br /&gt;
; BC Math&lt;br /&gt;
: The functions provided by BC Math are used when available. They provide performance improvements for when generating cryptographic data.&lt;br /&gt;
; Fileinfo&lt;br /&gt;
: The functions provided by Fileinfo are used when available. They provide functionalities to aid in determining the content type and encoding of uploaded files.&lt;br /&gt;
&lt;br /&gt;
=== PHP INI Settings ===&lt;br /&gt;
; allow_url_fopen&lt;br /&gt;
: allow_url_fopen must be enabled for the WHMCS Updater.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;IonCube_Version&amp;quot;&amp;gt; &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ionCube ==&lt;br /&gt;
&lt;br /&gt;
ionCube is a set of encoding and decoding tools that provide obfuscation and performance for PHP software. The decoder tool is a &amp;quot;loader&amp;quot; in the server environment. The encoder tool, an &amp;quot;encoder,&amp;quot; is part of PHP developers' publication processes.&lt;br /&gt;
&lt;br /&gt;
WHMCS is encoded with ionCube and requires that you install and enable the ionCube Loader extension in your server environment. We recommend running the latest version of the ionCube Loader for your PHP version. Our [[ioncube Installation Tutorial|ionCube Installation Tutorial]] provides an overview for installing this extension in your environment.&lt;br /&gt;
&lt;br /&gt;
Usually, ionCube will publish a complementing loader several weeks following a new PHP version. &lt;br /&gt;
&lt;br /&gt;
Using this latest loader will afford you two benefits: &lt;br /&gt;
* You have the potential for running previously-encoded files using a new base PHP version and running unencoded (raw) PHP code that is compatible with the base PHP version.  &lt;br /&gt;
* You can run newly-encoded files from a new ionCube Encoder (if one was published).&lt;br /&gt;
&lt;br /&gt;
The ionCube Encoder requires the developer to itemize the PHP versions to support. This helps to mitigate the limitations for supporting certain PHP versions concurrently: it is common for PHP applications to not support the latest PHP version on the initial PHP release date. Applications may also have further requirements about the oldest supported PHP version and the required loader.&lt;br /&gt;
&lt;br /&gt;
Each WHMCS version has always supported at least two PHP versions. Each new version of WHMCS has always supported at least one of the PHP versions supported in the previous WHMCS publication. This perpetual overlap of PHP version support across WHMCS publications means that you always have a path to upgrade your PHP environment without having to update the WHMCS software at the same time. As well, it allows the WHMCS Updater to safely automate updates for your current environment. Providing this overlap is integral to enabling your environment maintenance strategy, giving you the best balance of security, stability and forward compatibility as soon as possible.&lt;br /&gt;
&lt;br /&gt;
=== Version Compatibility ===&lt;br /&gt;
{{:IonCube Loader Version Matrix}}&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=System_Environment_Guide&amp;diff=34105</id>
		<title>System Environment Guide</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=System_Environment_Guide&amp;diff=34105"/>
				<updated>2023-06-07T14:53:31Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Required */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WHMCS is compatible with most web server environments.  Installing WHMCS in your web environment is usually straight forward.  As well, WHMCS is continually providing updates which can seamlessly support environment updates from the upstream providers.  However, as new technologies emerge and your current system's environment has access to new updates, it's important that you are aware of how they might affect your WHMCS deployment.  This guide is designed help you and your system administrator prepare and manage your environment.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toclimit-2&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
WHMCS is designed for a traditional LAMP (Linux, Apache, MySQL, PHP) environment. The minimum requirements and basic version compatibility related to those sub-systems are provided in our [[System Requirements]].&lt;br /&gt;
&lt;br /&gt;
The development of WHMCS is such that alternative technologies may be viable, however they are not tested and assistance from our Support Team will be limited.  For example, if you wish to use NGINX instead of Apache, it may be technically possible.  However, our Support will have limited knowledge about how to properly configure NGINX or debug behaviors that are specific to NGINX.  &lt;br /&gt;
&lt;br /&gt;
If you require the use of something other than Linux, Apache, or MySQL please consult with your system administrator to evaluate the immediate possibilities for (in)compatibility and long-term viability so that your environment management strategy accommodates for your specific requirements.&lt;br /&gt;
&lt;br /&gt;
== Operating System ==&lt;br /&gt;
WHMCS is designed to run in a standard Linux operating/file system.  WHMCS relies on PHP for interaction with the file system.  In some operating systems (such as Windows) or environments (such as jails or chroots) the file system may have restrictions or inherent behaviors which may be hard to detect or uncommon.  When possible, WHMCS provides notices that indicates incompatibility. If you require a different operating/file system, please discuss with your system administrator.  Our Support Team is available to provide limited assistance to your system administrator for your custom environment.&lt;br /&gt;
&lt;br /&gt;
Also of note, WHMCS relies heavily on the Linux Cron sub-system to trigger background tasks and perform periodic automation tasks such as deferred provisioning, service synchronization, invoice generation, billing, and more.  You may learn more at the [[Crons| crons documentation]].  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-info-circle fa-fw&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;Please note, the command line PHP used to invoke the cron will need to meet the same requirements as the [[#PHP| PHP]] binary used by your web server.  This includes ini settings and enabled extensions.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Web Server ==&lt;br /&gt;
WHMCS is designed to work with the Apache web server version 2.x.  While there are no special Apache configurations required for WHMCS, there are some advantages available to you and your WHMCS deployment that you may wish to consider.&lt;br /&gt;
&lt;br /&gt;
=== Extensions ===&lt;br /&gt;
&lt;br /&gt;
;mod_rewrite&lt;br /&gt;
:The Apache mod_rewrite module allows Apache to inspect and modify URLs and redirects through the use of .htaccess files within your web server docroot.  WHMCS can create and manage a .htaccess file, and thus generate and consume friendly URLs in various parts of the product. This feature is described in more detail at [[Friendly URLs]].&lt;br /&gt;
&lt;br /&gt;
=== Handler ===&lt;br /&gt;
The web server is responsible for all web applications on the server, and thus the Unix permissions granted to the php process (php handler) that operate with your web application are important. Some PHP handlers will execute all php code on the system as the same Unix user (server wide handlers like CGI &amp;amp; mod_php) while other handlers execute the PHP process as a specific user based on domain name (per vhost handlers like suphp, mod_ruid2). Both options are viable for WHMCS.  However, as a matter of security, you need to ensure that no other applications on the server, outside your control, executes as the same Unix user. Your system administrator should be able to configure the web server so that this minimum level of security is met, or more conservatively, that the WHMCS web application process is executed by a user that is wholly unique amongst any other application on the server (even those within your control).&lt;br /&gt;
&lt;br /&gt;
=== Directives ===&lt;br /&gt;
&lt;br /&gt;
WHMCS uses configuration directives to alter the web server configuration on a per-directory basis. As Apache is the recommended web server software platform to run WHMCS on, these directives are included via the following .htaccess files.&lt;br /&gt;
&lt;br /&gt;
; ~/.htaccess&lt;br /&gt;
: This file contains the mod_rewrite directives responsible for sending routable paths through the index.php file. This in turn allows the internal routing system to function, and furnishes WHMCS with the ability to create consumer friendly URLs. More information can be found on the [[Friendly URLs]] documentation page.&lt;br /&gt;
&lt;br /&gt;
; ~/vendor/.htaccess&lt;br /&gt;
: This file prevents access to the ~/vendor directory. This ensures that the web server is not serving file requests directly from this location, and that WHMCS is still capable of accessing the libraries it needs to function. More information can be found on the [[Further_Security_Steps#Vendor_Directory|Further Security Steps]] documentation page.&lt;br /&gt;
&lt;br /&gt;
While other web server technologies are not officially supported, we understand that some users do wish to run WHMCS in environments other than Apache. For those that do, you must ensure that the functionality offered by the aforementioned directives has been implemented by your web server configuration.&lt;br /&gt;
&lt;br /&gt;
How this is achieved depends on the web server itself. If uncertain, then you should consult with your server administrator. As an example, you can find a guide detailing how to secure the vendor directory on the NGINX web server on the [[Nginx Directory Access Restriction]] documentation page.&lt;br /&gt;
&lt;br /&gt;
== Database ==&lt;br /&gt;
WHMCS is designed to work with the MySQL database.  Binary compatible alternatives (such as MariaDB) should be suitable, however their default configurations and optimizations are likely to be different and you should consult with your system administrator or database administrator.&lt;br /&gt;
&lt;br /&gt;
=== Version Compatibility ===&lt;br /&gt;
{{:MySQL Version Support Matrix}}&lt;br /&gt;
&lt;br /&gt;
=== Database Privileges ===&lt;br /&gt;
When installing or updating WHMCS, or when activating or deactivating modules, the following privileges are required:&lt;br /&gt;
* ALTER&lt;br /&gt;
* CREATE&lt;br /&gt;
* DROP&lt;br /&gt;
* INDEX&lt;br /&gt;
&lt;br /&gt;
For day to day use, only the following database privileges are required. All others may be disabled.&lt;br /&gt;
* DELETE&lt;br /&gt;
* INSERT&lt;br /&gt;
* SELECT&lt;br /&gt;
* UPDATE&lt;br /&gt;
* LOCK TABLES&lt;br /&gt;
&lt;br /&gt;
If you choose to restrict the privileges for day to day use, don't forget to grant the former privileges so database schema changes and optimizations can be performed by the update process.&lt;br /&gt;
&lt;br /&gt;
=== Database Interaction ===&lt;br /&gt;
WHMCS internals utilize the PDO database API.  If the PHP environment is v5.6, both a PDO based connection and a MySQL handle will be used for compatibility with legacy code.&lt;br /&gt;
&lt;br /&gt;
If you are developing code for the WHMCS platform, it is recommended that you interact with the database via the [https://developers.whmcs.com/api/internal-api/ Local API], [https://developers.whmcs.com/advanced/db-interaction/ DBAL &amp;amp; ORM], or [[Using Models|Models]].  All three methods will abstract database connection details and system compatibility for you and will be supported by WHMCS for the foreseeable future.  The [https://docs.whmcs.com/SQL_Helper_Functions?redirect=no SQL Helper Functions] are still present, although deprecated.  Due to their ubiquitous usage, we anticipate supporting them as long as possible but recommend that you use one of the other methods above.  You can learn more at [https://developers.whmcs.com/advanced/db-interaction/ Interacting with the Database] on our developer's site.&lt;br /&gt;
&amp;lt;div id=&amp;quot;PHP_Version&amp;quot;&amp;gt; &amp;lt;/div&amp;gt;&lt;br /&gt;
== PHP ==&lt;br /&gt;
WHMCS is written in PHP.  Your environment's PHP will need to be a version supported by the version of WHMCS you are using.  In general, this will be one of the PHP versions that is either under active development or is receiving security fixes from the upstream PHP maintainers.&lt;br /&gt;
&lt;br /&gt;
Whenever possible, it is usually preferable to utilize a version of PHP that is under active development.  Unfortunately, there can be a number of circumstances that may complicate the viability of using the latest stable release of PHP.  These can range from a lack of control panel build support to incompatibility for other web applications on your server to backwards breaking behavior in PHP that inhibit ionCube Loader® support.  Regardless, WHMCS always provides support for a security-monitored PHP version available from the PHP maintainers and we are continually prioritizing compatibility with their releases.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-info-circle fa-fw&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;Our [[PHP Upgrade Guide]] outlines the essential steps you can follow in preparation for a PHP upgrade.  In WHMCS 7.5 we also provide the [[PHP_Version_Compatibility_Assessment| PHP Version Compatibility Assessment Utility]] designed to scan your WHMCS for any encoded files that may not be compatible for your desired PHP version.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Version Compatibility ===&lt;br /&gt;
{{:PHP Version Support Matrix}}&lt;br /&gt;
&lt;br /&gt;
=== Extensions ===&lt;br /&gt;
&lt;br /&gt;
WHMCS requires most of the default compiled extensions (for example, PDO, mysqlnd,  JSON, libxml, DOM, or Fileinfo). We assume that you will not intentionally disable them in the environment. &lt;br /&gt;
&lt;br /&gt;
You must also compile and enable the following additional extensions:&lt;br /&gt;
&lt;br /&gt;
==== Required ====&lt;br /&gt;
; ionCube Loader&lt;br /&gt;
: See the [[#ionCube| ionCube Loader]] section below for more detail.&lt;br /&gt;
; PDO_MYSQL&lt;br /&gt;
: While the basic PDO API extension is compiled by default in PHP, you must also have the PDO MySQL driver enabled so that PDO can communicate with your MySQL database server.&lt;br /&gt;
; cURL with SSL Support&lt;br /&gt;
: cURL is used when interacting with APIs of external systems such as the WHMCS Licensing &amp;amp; Update servers, payment gateways, servers that host your products, etc.  cURL's SSL support must be enabled so that verified and encrypted communication is possible.&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-info-circle fa-fw&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;WHMCS will check for Curl version 7.36 or above.&amp;lt;/div&amp;gt;&lt;br /&gt;
; GD2 &lt;br /&gt;
: GD2 Image Library is used when performing graphic manipulation, such as image thumbnails and PDFs.&lt;br /&gt;
; XML&lt;br /&gt;
: WHMCS uses the SimpleXML extension that PHP compiles by default. It is highly used for communication with remote systems, such as registrars, payment gateways, and servers.&lt;br /&gt;
; JSON&lt;br /&gt;
: JSON exchanges data in the UI (for example, displaying success messages after completing an action like changing a password on a service).&lt;br /&gt;
; SOAP**&lt;br /&gt;
: **SOAP is only required by some specific, but possibly important, modules. It is used when interacting with their corresponding external services, such as EU VAT, OpenSRS, eWay Tokens, etc.&lt;br /&gt;
; IMAP**&lt;br /&gt;
: **IMAP is only required if you are utilizing support departments which access mailboxes.&lt;br /&gt;
; MYSQL**&lt;br /&gt;
: ** The original MySQL extension is required if, and only if, your environment uses PHP v5.6.&lt;br /&gt;
&lt;br /&gt;
==== Recommended ====&lt;br /&gt;
; iconv&lt;br /&gt;
: The iconv extension is for character set conversion, i.e. managing different non-latin characters. If available, this extension provides significant performance improvements and is highly recommended.&lt;br /&gt;
; mbstring&lt;br /&gt;
: The mbstring extension is for multi-byte character support, i.e managing non-Latin characters and glyphs.  If available, this extension provides significant performance, allows for broader support of characters and glyphs common throughout digital communications, and is highly recommended.&lt;br /&gt;
; OpenSSL&lt;br /&gt;
: OpenSSL is for secure communications and random number generation.  If available, this extension will be used and provide significant performance improvements for cryptographic routines.&lt;br /&gt;
; GMP&lt;br /&gt;
: The functions provided by GMP are used when available. They provide significant performance improvements for when generating cryptographic data.&lt;br /&gt;
; BC Math&lt;br /&gt;
: The functions provided by BC Math are used when available. They provide performance improvements for when generating cryptographic data.&lt;br /&gt;
; Fileinfo&lt;br /&gt;
: The functions provided by Fileinfo are used when available. They provide functionalities to aid in determining the content type and encoding of uploaded files.&lt;br /&gt;
&lt;br /&gt;
=== PHP INI Settings ===&lt;br /&gt;
; allow_url_fopen&lt;br /&gt;
: allow_url_fopen must be enabled for the WHMCS Updater.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;IonCube_Version&amp;quot;&amp;gt; &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ionCube ==&lt;br /&gt;
&lt;br /&gt;
ionCube is a set of encoding and decoding tools that provide obfuscation and performance for PHP software. The decoder tool is a &amp;quot;loader&amp;quot; in the server environment. The encoder tool, an &amp;quot;encoder,&amp;quot; is part of PHP developers' publication processes.&lt;br /&gt;
&lt;br /&gt;
WHMCS is encoded with ionCube and requires that you install and enable the ionCube Loader extension in your server environment. We recommend running the latest version of the ionCube Loader for your PHP version. Our [[ioncube Installation Tutorial|ionCube Installation Tutorial]] provides an overview for installing this extension in your environment.&lt;br /&gt;
&lt;br /&gt;
Usually, ionCube will publish a complementing loader several weeks following a new PHP version. &lt;br /&gt;
&lt;br /&gt;
Using this latest loader will afford you two benefits: &lt;br /&gt;
* You have the potential for running previously-encoded files using a new base PHP version and running unencoded (raw) PHP code that is compatible with the base PHP version.  &lt;br /&gt;
* You can run newly-encoded files from a new ionCube Encoder (if one was published).&lt;br /&gt;
&lt;br /&gt;
The ionCube Encoder requires the developer to itemize the PHP versions to support. This helps to mitigate the limitations for supporting certain PHP versions concurrently: it is common for PHP applications to not support the latest PHP version on the initial PHP release date. Applications may also have further requirements about the oldest supported PHP version and the required loader.&lt;br /&gt;
&lt;br /&gt;
Each WHMCS version has always supported at least two PHP versions. Each new version of WHMCS has always supported at least one of the PHP versions supported in the previous WHMCS publication. This perpetual overlap of PHP version support across WHMCS publications means that you always have a path to upgrade your PHP environment without having to update the WHMCS software at the same time. As well, it allows the WHMCS Updater to safely automate updates for your current environment. Providing this overlap is integral to enabling your environment maintenance strategy, giving you the best balance of security, stability and forward compatibility as soon as possible.&lt;br /&gt;
&lt;br /&gt;
=== Version Compatibility ===&lt;br /&gt;
{{:IonCube Loader Version Matrix}}&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=IWHMCS_iPhone_App&amp;diff=34081</id>
		<title>IWHMCS iPhone App</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=IWHMCS_iPhone_App&amp;diff=34081"/>
				<updated>2023-05-19T15:02:16Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Acceptable Password Characters&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
You cannot use the following characters in an administrator password:&lt;br /&gt;
 &amp;amp; &amp;quot; ' &amp;lt; &amp;gt; &lt;br /&gt;
(ampersand, double quotes, single quotes, less than or greater than). &lt;br /&gt;
You can use other symbols without restrictions.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
For more information, see [https://www.whmcs.com/mobile-apps/ the iWHMCS website].&lt;br /&gt;
&lt;br /&gt;
==Setup Instructions==&lt;br /&gt;
&lt;br /&gt;
1. To begin with (if you haven't already done so), you will need to order the iPhone addon from our client area. It's available as an addon to a license and can be ordered by logging into our client area at [http://www.whmcs.com/members/clientarea.php www.whmcs.com/members/clientarea.php] and selecting &amp;quot;View Available Addons&amp;quot; from the navigation bar.&lt;br /&gt;
&lt;br /&gt;
2. Once you've ordered and paid, the addon will be instantly activated and you'll just need to perform a local key update by clicking '''Force License Update''' at '''Help &amp;gt; [[License Information]]''' inside your WHMCS installation to have it take effect.&lt;br /&gt;
&lt;br /&gt;
3. Now, you're ready to download the iWHMCS app from the Apple iTunes App Store which you can do by [http://itunes.apple.com/gb/app/iwhmcs/id343647658?mt=8 finding iWHMCS in iTunes].&lt;br /&gt;
&lt;br /&gt;
4. Once downloaded, sync your phone to install the app.&lt;br /&gt;
&lt;br /&gt;
5. Now locate and open the app on your iphone's home screen&lt;br /&gt;
&lt;br /&gt;
6. The first time you start it, you'll be asked to enter your authentication details.  These consist of your WHMCS URL, admin username &amp;amp; password and an access key.&lt;br /&gt;
&lt;br /&gt;
7. The WHMCS URL should be the URL to the frontend (client area), for example &amp;quot;http://demo.whmcs.com/&amp;quot; or &amp;quot;http://www.example.com/whmcs/&amp;quot; and the admin username &amp;amp; password the same as you use to login to the main admin area.&lt;br /&gt;
&lt;br /&gt;
8. For the access key, you need to open up the configuration.php file for your WHMCS installation and add a line to it such as the one below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$api_access_key = &amp;quot;abc123&amp;quot;;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The '''abc123''' in the above should be replaced with a random series of letters and numbers created by you, and that same value is what you'll need to enter into the Access Key field of the iWHMCS configuration screen.&lt;br /&gt;
&lt;br /&gt;
9. Then simply click Save and the connection will be tested. If any of the details were entered incorrectly you'll receive an Access Denied (username/password failure) or Invalid Access Key error message and be returned to re-enter the details.&lt;br /&gt;
&lt;br /&gt;
10. If all was correct, you'll be taken straight to the homepage overview.&lt;br /&gt;
&lt;br /&gt;
===Security PIN===&lt;br /&gt;
The app offers a security Personal Identification Number (PIN) feature. When a PIN has been configured you will be prompted to enter it when starting or returning to the aWHMCS app, so that even if your device is lost, stolen or being used by friends/family, they cannot access your business data. To configure the PIN:&lt;br /&gt;
[[File:android_pin.png|thumb|Edit Security PIN]]&lt;br /&gt;
&lt;br /&gt;
*From the Home screen, tap the options icon,&lt;br /&gt;
*Tap Settings&lt;br /&gt;
*Tap PIN code&lt;br /&gt;
*Follow on on screen instructions to choose your 4 digit PIN and confirm it.&lt;br /&gt;
&lt;br /&gt;
To change or remove the security PIN:&lt;br /&gt;
&lt;br /&gt;
*From the Home screen, tap the options icon,&lt;br /&gt;
*Tap Settings&lt;br /&gt;
*Tap PIN code&lt;br /&gt;
*Enter your current PIN&lt;br /&gt;
*Enter the new PIN and press OK to confirm, or tap Clear and the PIN protection will be removed.&lt;br /&gt;
&lt;br /&gt;
==Common Problems==&lt;br /&gt;
&lt;br /&gt;
===Invalid IP===&lt;br /&gt;
This error means the API Access Key has not been added successfully to the configuration.php file. Please refer to step 8 above. The $api_access_key line should go before the closing ?&amp;gt; tag.&lt;br /&gt;
&lt;br /&gt;
===No Server Response/Invalid URL===&lt;br /&gt;
Seeing either the &amp;quot;No Server Response&amp;quot; or &amp;quot;Invalid URL&amp;quot; error suggests an empty or malformed response was received by the server. This is often caused by a blank space in user modifiable files. Please refer to [[Blank_Pages#Blank_Pages_Elsewhere]] for steps to resolve this error.&lt;br /&gt;
&lt;br /&gt;
===Access Denied===&lt;br /&gt;
iWHMCS uses the API to communicate with your WHMCS installation. Therefore the Administrator Roles of staff using the app will require the &amp;quot;API Access&amp;quot; permission. To grant this permission:&lt;br /&gt;
* Navigate to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Administrator Roles]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Staff Management &amp;gt; Administrator Roles'''.&lt;br /&gt;
* Edit the staff member's role.&lt;br /&gt;
* Check the ''API Access'' checkbox.&lt;br /&gt;
* Click '''Save Changes'''.&lt;br /&gt;
&lt;br /&gt;
===iWHMCS features other than the home screen require the iWHMCS addon to be purchased===&lt;br /&gt;
In order to view pages other than the app home screen it is necessary to purchase the iWHMCS addon for your main WHMCS licence. If you haven't done so already, this can be ordered by logging into our [http://www.whmcs.com/members client area] and selecting '''View Available Addons''' from the navigation bar.&lt;br /&gt;
&lt;br /&gt;
If the addon has already been purchased, please ensure it is associated with the correct licence key. In our client area, navigate to '''Services &amp;gt; Licences &amp;amp; Services''', click &amp;quot;View Details&amp;quot; next to your main WHMCS licence key, select the '''Addons tab''', and ensure the iWHMCS addon is listed. If you're unsure which licence key you're using, navigate to '''Help &amp;gt; [[License Information]]''' inside your WHMCS installation's admin area.&lt;br /&gt;
&lt;br /&gt;
Finally, remote licence checks are performed occasionally, so to have the purchase take immediate effect please force a remote licence check. To do this visit '''Help &amp;gt; [[License Information]]''' and click '''Force Licence Update'''. The action of loading the page will initiate a connection to our licensing server and update your local licence file.&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=AWHMCS_Android_App&amp;diff=34080</id>
		<title>AWHMCS Android App</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=AWHMCS_Android_App&amp;diff=34080"/>
				<updated>2023-05-19T15:01:53Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Acceptable Password Characters&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Don't use the following characters in an administrator password: &amp;lt;tt&amp;gt;&amp;amp; &amp;quot; ' &amp;lt; &amp;gt;&amp;lt;/tt&amp;gt; (ampersand, double quotes, single quotes, less than or greater than). Any other symbols (for example, &amp;lt;tt&amp;gt;# ! £ $ % ^ * ( ) . , /&amp;lt;/tt&amp;gt;) are perfectly acceptable.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
aWHMCS is the Official Android App for WHMCS. For the iOS App, see [[IWHMCS iPhone App]].&lt;br /&gt;
&lt;br /&gt;
The app is available for either $2.99 monthly or $29.99 per year. After you purchase a license, all of your staff can use aWHMCS in conjunction with your WHMCS installation on any of their Android devices (the same licensing scheme as with all our mobile editions).&lt;br /&gt;
&lt;br /&gt;
For more information, see the [https://www.whmcs.com/mobile-apps/ aWHMCS website].&lt;br /&gt;
&lt;br /&gt;
==Setup Instructions==&lt;br /&gt;
&lt;br /&gt;
To set up the app: &lt;br /&gt;
&lt;br /&gt;
# If you haven't already done so, order the ''Android App'' addon from our client area. It's available as an addon to a license and you can order it by logging in to our [http://www.whmcs.com/members/clientarea.php Client Area] and selecting '''View Available Addons''' from the navigation bar. When you pay, we will instantly activate the addon.&lt;br /&gt;
# Perform a local key update by going to '''Help &amp;gt; [[License Information]]''' inside your WHMCS installation and clicking '''Force License Update'''.&lt;br /&gt;
# Download the aWHMCS App. You can download this from the Google Play Store [https://play.google.com/store/apps/details?id=com.whmcs.awhmcs2 by searching for &amp;quot;aWHMCS&amp;quot;].&lt;br /&gt;
# Find and open the app on your Android device. The first time that you open the app, you will see a configuration screen to fill out your WHMCS connection details.&lt;br /&gt;
#* For the URL, use the URL to your WHMCS directory without a trailing slash. For example, if you installed WHMCS at &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://demo.whmcs.com/&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; then the URL setting would be &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://demo.whmcs.com&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; and the admin username and password would be the same as your login for the main admin area. Remember that your Admin account role needs to have API Access permission.&lt;br /&gt;
#* For the access key, open the &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt; file for your WHMCS installation and add a line to it like the one below:&amp;lt;div class=&amp;quot;source-cli&amp;quot;&amp;gt;$api_access_key = &amp;quot;abc123&amp;quot;;&amp;lt;/div&amp;gt;Replace &amp;lt;tt&amp;gt;abc123&amp;lt;/tt&amp;gt; with a random series of letters and numbers. You will also need to enter that value in the Access Key field on your phone.&lt;br /&gt;
# Click '''Save''' and the system will test the connection. If you entered any of the details incorrectly, you'll receive an ''Access Denied'' (username and password failure) or ''Invalid Access Key'' error message. Otherwise, the home page will appear and you will be able to start using the app.&lt;br /&gt;
&lt;br /&gt;
===Security PIN===&lt;br /&gt;
&lt;br /&gt;
The app offers a security Personal Identification Number (PIN) feature. When you configure a PIN, you will need to enter it when starting or returning to the aWHMCS app. If your device is lost, stolen, or friends or family use it, they won't be able to access your business data.&lt;br /&gt;
&lt;br /&gt;
[[File:android_pin.png|thumb|Edit Security PIN]]&lt;br /&gt;
&lt;br /&gt;
To configure the PIN:&lt;br /&gt;
&lt;br /&gt;
#From the '''Home''' screen, tap the '''options''' icon.&lt;br /&gt;
#Tap '''Settings'''.&lt;br /&gt;
#Tap '''PIN code'''.&lt;br /&gt;
#Follow the onscreen instructions to choose your four-digit PIN and confirm it.&lt;br /&gt;
&lt;br /&gt;
To change or remove the security PIN:&lt;br /&gt;
&lt;br /&gt;
#From the '''Home''' screen, tap the options icon.&lt;br /&gt;
#Tap '''Settings'''.&lt;br /&gt;
#Tap '''PIN code'''.&lt;br /&gt;
#Enter your current PIN.&lt;br /&gt;
#Enter the new PIN and press '''OK''' to confirm, or tap '''Clear''' to remove the PIN protection.&lt;br /&gt;
&lt;br /&gt;
==Using the App==&lt;br /&gt;
Don't forget to press the menu button on your handset to access extra options. Almost every screen has this ability.&lt;br /&gt;
If your handset does not have an options button, an icon consisting of three dots will appear in the top corner instead.&lt;br /&gt;
&lt;br /&gt;
[[File:Android ss2.png]]&lt;br /&gt;
&lt;br /&gt;
==Common Problems==&lt;br /&gt;
&lt;br /&gt;
===Invalid IP===&lt;br /&gt;
An ''Invalid IP'' error indicates that you didn't add the API Access Key to the &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt; file successfully. For help with this, see the instructions above. The &amp;lt;tt&amp;gt;$api_access_key&amp;lt;/tt&amp;gt; line should go before the closing &amp;lt;tt&amp;gt;?&amp;gt;&amp;lt;/tt&amp;gt; tag.&lt;br /&gt;
&lt;br /&gt;
===Access Denied===&lt;br /&gt;
iWHMCS uses the API to communicate with your WHMCS installation. The Administrator Roles of staff using the app will require the &amp;quot;API Access&amp;quot; permission. &lt;br /&gt;
&lt;br /&gt;
To grant this permission:&lt;br /&gt;
#Navigate to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; [[Administrator Users|Admin Users]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Staff Management &amp;gt; Administrator Roles'''.&lt;br /&gt;
#Edit the role to which your staff member belongs.&lt;br /&gt;
#Check the '''API Access''' checkbox.&lt;br /&gt;
#Click '''Save Changes'''.&lt;br /&gt;
&lt;br /&gt;
===404 URL Not Found===&lt;br /&gt;
A ''Not Found'' error indicates that the system can't find the &amp;lt;tt&amp;gt;/includes/api.php&amp;lt;/tt&amp;gt; file from the URL that you entered into the app's connection settings.&lt;br /&gt;
&lt;br /&gt;
Make sure that the URL to your WHMCS client area is correct. It should be the same as the URL of your WHMCS Client Area. WHMCS will then navigate up the folder tree from this URL to find the &amp;lt;tt&amp;gt;api.php&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
A common mistake is to enter the Administration Area URL. The app '''requires''' the Client Area URL instead.&lt;br /&gt;
&lt;br /&gt;
===aWHMCS features other than the home screen require the aWHMCS addon to be purchased===&lt;br /&gt;
In order to view pages other than the app home screen, you must purchase the aWHMCS addon for your main WHMCS license. If you haven't done so already, log in to our [http://www.whmcs.com/members client area] and select '''View Available Addons''' from the navigation bar.&lt;br /&gt;
&lt;br /&gt;
If you have already purchased the addon, make sure you associated it with the correct license key:&lt;br /&gt;
&lt;br /&gt;
# In your account in WHMCS's members area, navigate to '''Services &amp;gt; Licences &amp;amp; Services'''.&lt;br /&gt;
# Click '''View Details''' next to your main WHMCS license key.&lt;br /&gt;
# Select the '''Addons''' tab.&lt;br /&gt;
# Check whether the list includes the aWHMCS addon. &lt;br /&gt;
&lt;br /&gt;
If you're unsure which license key you're using, navigate to '''Help &amp;gt; [[License Information]]''' inside your WHMCS installation's admin area.&lt;br /&gt;
&lt;br /&gt;
To ensure the purchase takes immediate effect, force a remote licence check. To do this, visit '''Help &amp;gt; Licence Information''' and click '''Force Licence Update'''. The action of loading the page will initiate a connection to our licensing server and update your local license file.&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=System_Environment_Guide&amp;diff=34079</id>
		<title>System Environment Guide</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=System_Environment_Guide&amp;diff=34079"/>
				<updated>2023-05-17T13:36:54Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Required */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WHMCS is compatible with most web server environments.  Installing WHMCS in your web environment is usually straight forward.  As well, WHMCS is continually providing updates which can seamlessly support environment updates from the upstream providers.  However, as new technologies emerge and your current system's environment has access to new updates, it's important that you are aware of how they might affect your WHMCS deployment.  This guide is designed help you and your system administrator prepare and manage your environment.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toclimit-2&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
WHMCS is designed for a traditional LAMP (Linux, Apache, MySQL, PHP) environment. The minimum requirements and basic version compatibility related to those sub-systems are provided in our [[System Requirements]].&lt;br /&gt;
&lt;br /&gt;
The development of WHMCS is such that alternative technologies may be viable, however they are not tested and assistance from our Support Team will be limited.  For example, if you wish to use NGINX instead of Apache, it may be technically possible.  However, our Support will have limited knowledge about how to properly configure NGINX or debug behaviors that are specific to NGINX.  &lt;br /&gt;
&lt;br /&gt;
If you require the use of something other than Linux, Apache, or MySQL please consult with your system administrator to evaluate the immediate possibilities for (in)compatibility and long-term viability so that your environment management strategy accommodates for your specific requirements.&lt;br /&gt;
&lt;br /&gt;
== Operating System ==&lt;br /&gt;
WHMCS is designed to run in a standard Linux operating/file system.  WHMCS relies on PHP for interaction with the file system.  In some operating systems (such as Windows) or environments (such as jails or chroots) the file system may have restrictions or inherent behaviors which may be hard to detect or uncommon.  When possible, WHMCS provides notices that indicates incompatibility. If you require a different operating/file system, please discuss with your system administrator.  Our Support Team is available to provide limited assistance to your system administrator for your custom environment.&lt;br /&gt;
&lt;br /&gt;
Also of note, WHMCS relies heavily on the Linux Cron sub-system to trigger background tasks and perform periodic automation tasks such as deferred provisioning, service synchronization, invoice generation, billing, and more.  You may learn more at the [[Crons| crons documentation]].  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-info-circle fa-fw&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;Please note, the command line PHP used to invoke the cron will need to meet the same requirements as the [[#PHP| PHP]] binary used by your web server.  This includes ini settings and enabled extensions.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Web Server ==&lt;br /&gt;
WHMCS is designed to work with the Apache web server version 2.x.  While there are no special Apache configurations required for WHMCS, there are some advantages available to you and your WHMCS deployment that you may wish to consider.&lt;br /&gt;
&lt;br /&gt;
=== Extensions ===&lt;br /&gt;
&lt;br /&gt;
;mod_rewrite&lt;br /&gt;
:The Apache mod_rewrite module allows Apache to inspect and modify URLs and redirects through the use of .htaccess files within your web server docroot.  WHMCS can create and manage a .htaccess file, and thus generate and consume friendly URLs in various parts of the product. This feature is described in more detail at [[Friendly URLs]].&lt;br /&gt;
&lt;br /&gt;
=== Handler ===&lt;br /&gt;
The web server is responsible for all web applications on the server, and thus the Unix permissions granted to the php process (php handler) that operate with your web application are important. Some PHP handlers will execute all php code on the system as the same Unix user (server wide handlers like CGI &amp;amp; mod_php) while other handlers execute the PHP process as a specific user based on domain name (per vhost handlers like suphp, mod_ruid2). Both options are viable for WHMCS.  However, as a matter of security, you need to ensure that no other applications on the server, outside your control, executes as the same Unix user. Your system administrator should be able to configure the web server so that this minimum level of security is met, or more conservatively, that the WHMCS web application process is executed by a user that is wholly unique amongst any other application on the server (even those within your control).&lt;br /&gt;
&lt;br /&gt;
=== Directives ===&lt;br /&gt;
&lt;br /&gt;
WHMCS uses configuration directives to alter the web server configuration on a per-directory basis. As Apache is the recommended web server software platform to run WHMCS on, these directives are included via the following .htaccess files.&lt;br /&gt;
&lt;br /&gt;
; ~/.htaccess&lt;br /&gt;
: This file contains the mod_rewrite directives responsible for sending routable paths through the index.php file. This in turn allows the internal routing system to function, and furnishes WHMCS with the ability to create consumer friendly URLs. More information can be found on the [[Friendly URLs]] documentation page.&lt;br /&gt;
&lt;br /&gt;
; ~/vendor/.htaccess&lt;br /&gt;
: This file prevents access to the ~/vendor directory. This ensures that the web server is not serving file requests directly from this location, and that WHMCS is still capable of accessing the libraries it needs to function. More information can be found on the [[Further_Security_Steps#Vendor_Directory|Further Security Steps]] documentation page.&lt;br /&gt;
&lt;br /&gt;
While other web server technologies are not officially supported, we understand that some users do wish to run WHMCS in environments other than Apache. For those that do, you must ensure that the functionality offered by the aforementioned directives has been implemented by your web server configuration.&lt;br /&gt;
&lt;br /&gt;
How this is achieved depends on the web server itself. If uncertain, then you should consult with your server administrator. As an example, you can find a guide detailing how to secure the vendor directory on the NGINX web server on the [[Nginx Directory Access Restriction]] documentation page.&lt;br /&gt;
&lt;br /&gt;
== Database ==&lt;br /&gt;
WHMCS is designed to work with the MySQL database.  Binary compatible alternatives (such as MariaDB) should be suitable, however their default configurations and optimizations are likely to be different and you should consult with your system administrator or database administrator.&lt;br /&gt;
&lt;br /&gt;
=== Version Compatibility ===&lt;br /&gt;
{{:MySQL Version Support Matrix}}&lt;br /&gt;
&lt;br /&gt;
=== Database Privileges ===&lt;br /&gt;
When installing or updating WHMCS, or when activating or deactivating modules, the following privileges are required:&lt;br /&gt;
* ALTER&lt;br /&gt;
* CREATE&lt;br /&gt;
* DROP&lt;br /&gt;
* INDEX&lt;br /&gt;
&lt;br /&gt;
For day to day use, only the following database privileges are required. All others may be disabled.&lt;br /&gt;
* DELETE&lt;br /&gt;
* INSERT&lt;br /&gt;
* SELECT&lt;br /&gt;
* UPDATE&lt;br /&gt;
* LOCK TABLES&lt;br /&gt;
&lt;br /&gt;
If you choose to restrict the privileges for day to day use, don't forget to grant the former privileges so database schema changes and optimizations can be performed by the update process.&lt;br /&gt;
&lt;br /&gt;
=== Database Interaction ===&lt;br /&gt;
WHMCS internals utilize the PDO database API.  If the PHP environment is v5.6, both a PDO based connection and a MySQL handle will be used for compatibility with legacy code.&lt;br /&gt;
&lt;br /&gt;
If you are developing code for the WHMCS platform, it is recommended that you interact with the database via the [https://developers.whmcs.com/api/internal-api/ Local API], [https://developers.whmcs.com/advanced/db-interaction/ DBAL &amp;amp; ORM], or [[Using Models|Models]].  All three methods will abstract database connection details and system compatibility for you and will be supported by WHMCS for the foreseeable future.  The [https://docs.whmcs.com/SQL_Helper_Functions?redirect=no SQL Helper Functions] are still present, although deprecated.  Due to their ubiquitous usage, we anticipate supporting them as long as possible but recommend that you use one of the other methods above.  You can learn more at [https://developers.whmcs.com/advanced/db-interaction/ Interacting with the Database] on our developer's site.&lt;br /&gt;
&amp;lt;div id=&amp;quot;PHP_Version&amp;quot;&amp;gt; &amp;lt;/div&amp;gt;&lt;br /&gt;
== PHP ==&lt;br /&gt;
WHMCS is written in PHP.  Your environment's PHP will need to be a version supported by the version of WHMCS you are using.  In general, this will be one of the PHP versions that is either under active development or is receiving security fixes from the upstream PHP maintainers.&lt;br /&gt;
&lt;br /&gt;
Whenever possible, it is usually preferable to utilize a version of PHP that is under active development.  Unfortunately, there can be a number of circumstances that may complicate the viability of using the latest stable release of PHP.  These can range from a lack of control panel build support to incompatibility for other web applications on your server to backwards breaking behavior in PHP that inhibit ionCube Loader® support.  Regardless, WHMCS always provides support for a security-monitored PHP version available from the PHP maintainers and we are continually prioritizing compatibility with their releases.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-info-circle fa-fw&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;Our [[PHP Upgrade Guide]] outlines the essential steps you can follow in preparation for a PHP upgrade.  In WHMCS 7.5 we also provide the [[PHP_Version_Compatibility_Assessment| PHP Version Compatibility Assessment Utility]] designed to scan your WHMCS for any encoded files that may not be compatible for your desired PHP version.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Version Compatibility ===&lt;br /&gt;
{{:PHP Version Support Matrix}}&lt;br /&gt;
&lt;br /&gt;
=== Extensions ===&lt;br /&gt;
&lt;br /&gt;
WHMCS requires most of the default compiled extensions (for example, PDO, mysqlnd,  JSON, libxml, DOM, or Fileinfo). We assume that you will not intentionally disable them in the environment. &lt;br /&gt;
&lt;br /&gt;
You must also compile and enable the following additional extensions:&lt;br /&gt;
&lt;br /&gt;
==== Required ====&lt;br /&gt;
; ionCube Loader&lt;br /&gt;
: See the [[#ionCube| ionCube Loader]] section below for more detail.&lt;br /&gt;
; PDO_MYSQL&lt;br /&gt;
: While the basic PDO API extension is compiled by default in PHP, you must also have the PDO MySQL driver enabled so that PDO can communicate with your MySQL database server.&lt;br /&gt;
; cURL with SSL Support&lt;br /&gt;
: cURL is used when interacting with APIs of external systems such as the WHMCS Licensing &amp;amp; Update servers, payment gateways, servers that host your products, etc.  cURL's SSL support must be enabled so that verified and encrypted communication is possible.&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-info-circle fa-fw&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;WHMCS will check for Curl version 7.36 or above.&amp;lt;/div&amp;gt;&lt;br /&gt;
; GD2 &lt;br /&gt;
: GD2 Image Library is used when performing graphic manipulation, such as image thumbnails and PDFs.&lt;br /&gt;
; SOAP**&lt;br /&gt;
: **SOAP is only required by some specific, but possibly important, modules. It is used when interacting with their corresponding external services, such as EU VAT, OpenSRS, eWay Tokens, etc.&lt;br /&gt;
; IMAP**&lt;br /&gt;
: **IMAP is only required if you are utilizing support departments which access mailboxes.&lt;br /&gt;
; MYSQL**&lt;br /&gt;
: ** The original MySQL extension is required if, and only if, your environment uses PHP v5.6.&lt;br /&gt;
&lt;br /&gt;
==== Recommended ====&lt;br /&gt;
; iconv&lt;br /&gt;
: The iconv extension is for character set conversion, i.e. managing different non-latin characters. If available, this extension provides significant performance improvements and is highly recommended.&lt;br /&gt;
; mbstring&lt;br /&gt;
: The mbstring extension is for multi-byte character support, i.e managing non-Latin characters and glyphs.  If available, this extension provides significant performance, allows for broader support of characters and glyphs common throughout digital communications, and is highly recommended.&lt;br /&gt;
; OpenSSL&lt;br /&gt;
: OpenSSL is for secure communications and random number generation.  If available, this extension will be used and provide significant performance improvements for cryptographic routines.&lt;br /&gt;
; GMP&lt;br /&gt;
: The functions provided by GMP are used when available. They provide significant performance improvements for when generating cryptographic data.&lt;br /&gt;
; BC Math&lt;br /&gt;
: The functions provided by BC Math are used when available. They provide performance improvements for when generating cryptographic data.&lt;br /&gt;
; Fileinfo&lt;br /&gt;
: The functions provided by Fileinfo are used when available. They provide functionalities to aid in determining the content type and encoding of uploaded files.&lt;br /&gt;
&lt;br /&gt;
=== PHP INI Settings ===&lt;br /&gt;
; allow_url_fopen&lt;br /&gt;
: allow_url_fopen must be enabled for the WHMCS Updater.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;IonCube_Version&amp;quot;&amp;gt; &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ionCube ==&lt;br /&gt;
&lt;br /&gt;
ionCube is a set of encoding and decoding tools that provide obfuscation and performance for PHP software. The decoder tool is a &amp;quot;loader&amp;quot; in the server environment. The encoder tool, an &amp;quot;encoder,&amp;quot; is part of PHP developers' publication processes.&lt;br /&gt;
&lt;br /&gt;
WHMCS is encoded with ionCube and requires that you install and enable the ionCube Loader extension in your server environment. We recommend running the latest version of the ionCube Loader for your PHP version. Our [[ioncube Installation Tutorial|ionCube Installation Tutorial]] provides an overview for installing this extension in your environment.&lt;br /&gt;
&lt;br /&gt;
Usually, ionCube will publish a complementing loader several weeks following a new PHP version. &lt;br /&gt;
&lt;br /&gt;
Using this latest loader will afford you two benefits: &lt;br /&gt;
* You have the potential for running previously-encoded files using a new base PHP version and running unencoded (raw) PHP code that is compatible with the base PHP version.  &lt;br /&gt;
* You can run newly-encoded files from a new ionCube Encoder (if one was published).&lt;br /&gt;
&lt;br /&gt;
The ionCube Encoder requires the developer to itemize the PHP versions to support. This helps to mitigate the limitations for supporting certain PHP versions concurrently: it is common for PHP applications to not support the latest PHP version on the initial PHP release date. Applications may also have further requirements about the oldest supported PHP version and the required loader.&lt;br /&gt;
&lt;br /&gt;
Each WHMCS version has always supported at least two PHP versions. Each new version of WHMCS has always supported at least one of the PHP versions supported in the previous WHMCS publication. This perpetual overlap of PHP version support across WHMCS publications means that you always have a path to upgrade your PHP environment without having to update the WHMCS software at the same time. As well, it allows the WHMCS Updater to safely automate updates for your current environment. Providing this overlap is integral to enabling your environment maintenance strategy, giving you the best balance of security, stability and forward compatibility as soon as possible.&lt;br /&gt;
&lt;br /&gt;
=== Version Compatibility ===&lt;br /&gt;
{{:IonCube Loader Version Matrix}}&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=System_Environment_Guide&amp;diff=34073</id>
		<title>System Environment Guide</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=System_Environment_Guide&amp;diff=34073"/>
				<updated>2023-05-16T13:22:01Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Required */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WHMCS is compatible with most web server environments.  Installing WHMCS in your web environment is usually straight forward.  As well, WHMCS is continually providing updates which can seamlessly support environment updates from the upstream providers.  However, as new technologies emerge and your current system's environment has access to new updates, it's important that you are aware of how they might affect your WHMCS deployment.  This guide is designed help you and your system administrator prepare and manage your environment.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toclimit-2&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
WHMCS is designed for a traditional LAMP (Linux, Apache, MySQL, PHP) environment. The minimum requirements and basic version compatibility related to those sub-systems are provided in our [[System Requirements]].&lt;br /&gt;
&lt;br /&gt;
The development of WHMCS is such that alternative technologies may be viable, however they are not tested and assistance from our Support Team will be limited.  For example, if you wish to use NGINX instead of Apache, it may be technically possible.  However, our Support will have limited knowledge about how to properly configure NGINX or debug behaviors that are specific to NGINX.  &lt;br /&gt;
&lt;br /&gt;
If you require the use of something other than Linux, Apache, or MySQL please consult with your system administrator to evaluate the immediate possibilities for (in)compatibility and long-term viability so that your environment management strategy accommodates for your specific requirements.&lt;br /&gt;
&lt;br /&gt;
== Operating System ==&lt;br /&gt;
WHMCS is designed to run in a standard Linux operating/file system.  WHMCS relies on PHP for interaction with the file system.  In some operating systems (such as Windows) or environments (such as jails or chroots) the file system may have restrictions or inherent behaviors which may be hard to detect or uncommon.  When possible, WHMCS provides notices that indicates incompatibility. If you require a different operating/file system, please discuss with your system administrator.  Our Support Team is available to provide limited assistance to your system administrator for your custom environment.&lt;br /&gt;
&lt;br /&gt;
Also of note, WHMCS relies heavily on the Linux Cron sub-system to trigger background tasks and perform periodic automation tasks such as deferred provisioning, service synchronization, invoice generation, billing, and more.  You may learn more at the [[Crons| crons documentation]].  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-info-circle fa-fw&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;Please note, the command line PHP used to invoke the cron will need to meet the same requirements as the [[#PHP| PHP]] binary used by your web server.  This includes ini settings and enabled extensions.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Web Server ==&lt;br /&gt;
WHMCS is designed to work with the Apache web server version 2.x.  While there are no special Apache configurations required for WHMCS, there are some advantages available to you and your WHMCS deployment that you may wish to consider.&lt;br /&gt;
&lt;br /&gt;
=== Extensions ===&lt;br /&gt;
&lt;br /&gt;
;mod_rewrite&lt;br /&gt;
:The Apache mod_rewrite module allows Apache to inspect and modify URLs and redirects through the use of .htaccess files within your web server docroot.  WHMCS can create and manage a .htaccess file, and thus generate and consume friendly URLs in various parts of the product. This feature is described in more detail at [[Friendly URLs]].&lt;br /&gt;
&lt;br /&gt;
=== Handler ===&lt;br /&gt;
The web server is responsible for all web applications on the server, and thus the Unix permissions granted to the php process (php handler) that operate with your web application are important. Some PHP handlers will execute all php code on the system as the same Unix user (server wide handlers like CGI &amp;amp; mod_php) while other handlers execute the PHP process as a specific user based on domain name (per vhost handlers like suphp, mod_ruid2). Both options are viable for WHMCS.  However, as a matter of security, you need to ensure that no other applications on the server, outside your control, executes as the same Unix user. Your system administrator should be able to configure the web server so that this minimum level of security is met, or more conservatively, that the WHMCS web application process is executed by a user that is wholly unique amongst any other application on the server (even those within your control).&lt;br /&gt;
&lt;br /&gt;
=== Directives ===&lt;br /&gt;
&lt;br /&gt;
WHMCS uses configuration directives to alter the web server configuration on a per-directory basis. As Apache is the recommended web server software platform to run WHMCS on, these directives are included via the following .htaccess files.&lt;br /&gt;
&lt;br /&gt;
; ~/.htaccess&lt;br /&gt;
: This file contains the mod_rewrite directives responsible for sending routable paths through the index.php file. This in turn allows the internal routing system to function, and furnishes WHMCS with the ability to create consumer friendly URLs. More information can be found on the [[Friendly URLs]] documentation page.&lt;br /&gt;
&lt;br /&gt;
; ~/vendor/.htaccess&lt;br /&gt;
: This file prevents access to the ~/vendor directory. This ensures that the web server is not serving file requests directly from this location, and that WHMCS is still capable of accessing the libraries it needs to function. More information can be found on the [[Further_Security_Steps#Vendor_Directory|Further Security Steps]] documentation page.&lt;br /&gt;
&lt;br /&gt;
While other web server technologies are not officially supported, we understand that some users do wish to run WHMCS in environments other than Apache. For those that do, you must ensure that the functionality offered by the aforementioned directives has been implemented by your web server configuration.&lt;br /&gt;
&lt;br /&gt;
How this is achieved depends on the web server itself. If uncertain, then you should consult with your server administrator. As an example, you can find a guide detailing how to secure the vendor directory on the NGINX web server on the [[Nginx Directory Access Restriction]] documentation page.&lt;br /&gt;
&lt;br /&gt;
== Database ==&lt;br /&gt;
WHMCS is designed to work with the MySQL database.  Binary compatible alternatives (such as MariaDB) should be suitable, however their default configurations and optimizations are likely to be different and you should consult with your system administrator or database administrator.&lt;br /&gt;
&lt;br /&gt;
=== Version Compatibility ===&lt;br /&gt;
{{:MySQL Version Support Matrix}}&lt;br /&gt;
&lt;br /&gt;
=== Database Privileges ===&lt;br /&gt;
When installing or updating WHMCS, or when activating or deactivating modules, the following privileges are required:&lt;br /&gt;
* ALTER&lt;br /&gt;
* CREATE&lt;br /&gt;
* DROP&lt;br /&gt;
* INDEX&lt;br /&gt;
&lt;br /&gt;
For day to day use, only the following database privileges are required. All others may be disabled.&lt;br /&gt;
* DELETE&lt;br /&gt;
* INSERT&lt;br /&gt;
* SELECT&lt;br /&gt;
* UPDATE&lt;br /&gt;
* LOCK TABLES&lt;br /&gt;
&lt;br /&gt;
If you choose to restrict the privileges for day to day use, don't forget to grant the former privileges so database schema changes and optimizations can be performed by the update process.&lt;br /&gt;
&lt;br /&gt;
=== Database Interaction ===&lt;br /&gt;
WHMCS internals utilize the PDO database API.  If the PHP environment is v5.6, both a PDO based connection and a MySQL handle will be used for compatibility with legacy code.&lt;br /&gt;
&lt;br /&gt;
If you are developing code for the WHMCS platform, it is recommended that you interact with the database via the [https://developers.whmcs.com/api/internal-api/ Local API], [https://developers.whmcs.com/advanced/db-interaction/ DBAL &amp;amp; ORM], or [[Using Models|Models]].  All three methods will abstract database connection details and system compatibility for you and will be supported by WHMCS for the foreseeable future.  The [https://docs.whmcs.com/SQL_Helper_Functions?redirect=no SQL Helper Functions] are still present, although deprecated.  Due to their ubiquitous usage, we anticipate supporting them as long as possible but recommend that you use one of the other methods above.  You can learn more at [https://developers.whmcs.com/advanced/db-interaction/ Interacting with the Database] on our developer's site.&lt;br /&gt;
&amp;lt;div id=&amp;quot;PHP_Version&amp;quot;&amp;gt; &amp;lt;/div&amp;gt;&lt;br /&gt;
== PHP ==&lt;br /&gt;
WHMCS is written in PHP.  Your environment's PHP will need to be a version supported by the version of WHMCS you are using.  In general, this will be one of the PHP versions that is either under active development or is receiving security fixes from the upstream PHP maintainers.&lt;br /&gt;
&lt;br /&gt;
Whenever possible, it is usually preferable to utilize a version of PHP that is under active development.  Unfortunately, there can be a number of circumstances that may complicate the viability of using the latest stable release of PHP.  These can range from a lack of control panel build support to incompatibility for other web applications on your server to backwards breaking behavior in PHP that inhibit ionCube Loader® support.  Regardless, WHMCS always provides support for a security-monitored PHP version available from the PHP maintainers and we are continually prioritizing compatibility with their releases.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-info-circle fa-fw&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;Our [[PHP Upgrade Guide]] outlines the essential steps you can follow in preparation for a PHP upgrade.  In WHMCS 7.5 we also provide the [[PHP_Version_Compatibility_Assessment| PHP Version Compatibility Assessment Utility]] designed to scan your WHMCS for any encoded files that may not be compatible for your desired PHP version.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Version Compatibility ===&lt;br /&gt;
{{:PHP Version Support Matrix}}&lt;br /&gt;
&lt;br /&gt;
=== Extensions ===&lt;br /&gt;
&lt;br /&gt;
WHMCS requires most of the default compiled extensions (for example, PDO, mysqlnd,  JSON, libxml, DOM, or Fileinfo). We assume that you will not intentionally disable them in the environment. &lt;br /&gt;
&lt;br /&gt;
You must also compile and enable the following additional extensions:&lt;br /&gt;
&lt;br /&gt;
==== Required ====&lt;br /&gt;
; ionCube Loader&lt;br /&gt;
: See the [[#ionCube| ionCube Loader]] section below for more detail.&lt;br /&gt;
; PDO_MYSQL&lt;br /&gt;
: While the basic PDO API extension is compiled by default in PHP, you must also have the PDO MySQL driver enabled so that PDO can communicate with your MySQL database server.&lt;br /&gt;
; cURL with SSL Support&lt;br /&gt;
: cURL is used when interacting with APIs of external systems such as the WHMCS Licensing &amp;amp; Update servers, payment gateways, servers that host your products, etc.  cURL's SSL support must be enabled so that verified and encrypted communication is possible.&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-info-circle fa-fw&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;WHMCS will check for Curl version 7.36 or above.&amp;lt;/div&amp;gt;&lt;br /&gt;
; GD2 &lt;br /&gt;
: GD2 Image Library is used when performing graphic manipulation, such as image thumbnails and PDFs.&lt;br /&gt;
; SOAP**&lt;br /&gt;
: **SOAP is only required by some specific, but possibly important, modules. It is used when interacting with their corresponding external services, such as EU VAT, OpenSRS, eWay Tokens, etc.&lt;br /&gt;
; IMAP**&lt;br /&gt;
: **IMAP is only required if you are utilizing support departments which access mailboxes.&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-info-circle fa-fw&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;IMAP is only required for WHMCS 7.10 and older.&amp;lt;/div&amp;gt;&lt;br /&gt;
; MYSQL**&lt;br /&gt;
: ** The original MySQL extension is required if, and only if, your environment uses PHP v5.6.&lt;br /&gt;
&lt;br /&gt;
==== Recommended ====&lt;br /&gt;
; iconv&lt;br /&gt;
: The iconv extension is for character set conversion, i.e. managing different non-latin characters. If available, this extension provides significant performance improvements and is highly recommended.&lt;br /&gt;
; mbstring&lt;br /&gt;
: The mbstring extension is for multi-byte character support, i.e managing non-Latin characters and glyphs.  If available, this extension provides significant performance, allows for broader support of characters and glyphs common throughout digital communications, and is highly recommended.&lt;br /&gt;
; OpenSSL&lt;br /&gt;
: OpenSSL is for secure communications and random number generation.  If available, this extension will be used and provide significant performance improvements for cryptographic routines.&lt;br /&gt;
; GMP&lt;br /&gt;
: The functions provided by GMP are used when available. They provide significant performance improvements for when generating cryptographic data.&lt;br /&gt;
; BC Math&lt;br /&gt;
: The functions provided by BC Math are used when available. They provide performance improvements for when generating cryptographic data.&lt;br /&gt;
; Fileinfo&lt;br /&gt;
: The functions provided by Fileinfo are used when available. They provide functionalities to aid in determining the content type and encoding of uploaded files.&lt;br /&gt;
&lt;br /&gt;
=== PHP INI Settings ===&lt;br /&gt;
; allow_url_fopen&lt;br /&gt;
: allow_url_fopen must be enabled for the WHMCS Updater.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;IonCube_Version&amp;quot;&amp;gt; &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ionCube ==&lt;br /&gt;
&lt;br /&gt;
ionCube is a set of encoding and decoding tools that provide obfuscation and performance for PHP software. The decoder tool is a &amp;quot;loader&amp;quot; in the server environment. The encoder tool, an &amp;quot;encoder,&amp;quot; is part of PHP developers' publication processes.&lt;br /&gt;
&lt;br /&gt;
WHMCS is encoded with ionCube and requires that you install and enable the ionCube Loader extension in your server environment. We recommend running the latest version of the ionCube Loader for your PHP version. Our [[ioncube Installation Tutorial|ionCube Installation Tutorial]] provides an overview for installing this extension in your environment.&lt;br /&gt;
&lt;br /&gt;
Usually, ionCube will publish a complementing loader several weeks following a new PHP version. &lt;br /&gt;
&lt;br /&gt;
Using this latest loader will afford you two benefits: &lt;br /&gt;
* You have the potential for running previously-encoded files using a new base PHP version and running unencoded (raw) PHP code that is compatible with the base PHP version.  &lt;br /&gt;
* You can run newly-encoded files from a new ionCube Encoder (if one was published).&lt;br /&gt;
&lt;br /&gt;
The ionCube Encoder requires the developer to itemize the PHP versions to support. This helps to mitigate the limitations for supporting certain PHP versions concurrently: it is common for PHP applications to not support the latest PHP version on the initial PHP release date. Applications may also have further requirements about the oldest supported PHP version and the required loader.&lt;br /&gt;
&lt;br /&gt;
Each WHMCS version has always supported at least two PHP versions. Each new version of WHMCS has always supported at least one of the PHP versions supported in the previous WHMCS publication. This perpetual overlap of PHP version support across WHMCS publications means that you always have a path to upgrade your PHP environment without having to update the WHMCS software at the same time. As well, it allows the WHMCS Updater to safely automate updates for your current environment. Providing this overlap is integral to enabling your environment maintenance strategy, giving you the best balance of security, stability and forward compatibility as soon as possible.&lt;br /&gt;
&lt;br /&gt;
=== Version Compatibility ===&lt;br /&gt;
{{:IonCube Loader Version Matrix}}&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=System_Requirements&amp;diff=34072</id>
		<title>System Requirements</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=System_Requirements&amp;diff=34072"/>
				<updated>2023-05-16T13:18:36Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Most current web servers* that use PHP and MySQL® can run WHMCS.&lt;br /&gt;
&lt;br /&gt;
The following table shows the minimum and recommended system requirements for running '''WHMCS 8.0''' and later.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-danger&amp;quot;&amp;gt;&lt;br /&gt;
Looking for the requirements for the earlier WHMCS 7.5 - 7.10 versions?  [[Version 7.5-7.10 System Requirements|Click here.]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;table table-striped&amp;quot;&lt;br /&gt;
! '''Requirement'''&lt;br /&gt;
! '''Minimum'''&lt;br /&gt;
! '''Recommended'''&lt;br /&gt;
|-&lt;br /&gt;
| PHP Version&lt;br /&gt;
| 7.2&lt;br /&gt;
| WHMCS 8.0 through 8.5 — ''Latest'' 7.4 Release &amp;lt;br /&amp;gt; WHMCS 8.6 and later — ''Latest'' 7.4 or 8.1 Release&lt;br /&gt;
|-&lt;br /&gt;
| PHP Memory Limit&lt;br /&gt;
| 64MB&lt;br /&gt;
| 128MB**&lt;br /&gt;
|-&lt;br /&gt;
| PHP Database Extension&lt;br /&gt;
| PDO&lt;br /&gt;
| PDO&lt;br /&gt;
|-&lt;br /&gt;
| PHP Extensions&lt;br /&gt;
| Curl with SSL***&amp;lt;br/&amp;gt;&lt;br /&gt;
GD2 Image Library&amp;lt;br/&amp;gt;&lt;br /&gt;
JSON Support&amp;lt;br /&amp;gt;&lt;br /&gt;
XML&amp;lt;br/&amp;gt;&lt;br /&gt;
| BC Math&amp;lt;br/&amp;gt;&lt;br /&gt;
Fileinfo&amp;lt;br/&amp;gt;&lt;br /&gt;
GMP&amp;lt;br/&amp;gt;&lt;br /&gt;
Iconv&amp;lt;br/&amp;gt;&lt;br /&gt;
Intl&amp;lt;br/&amp;gt;&lt;br /&gt;
MBString&amp;lt;br/&amp;gt;&lt;br /&gt;
OpenSSL***&amp;lt;br/&amp;gt;&lt;br /&gt;
SOAP&amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| MySQL Version&lt;br /&gt;
| 5.2.0&lt;br /&gt;
| ''Latest'' 5.7&lt;br /&gt;
|-&lt;br /&gt;
| ionCube Loader®&lt;br /&gt;
| 10.4.5 or later for PHP 7.2 through 7.4&amp;lt;br/&amp;gt;&lt;br /&gt;
12.0.1 or later for PHP 8.1&lt;br /&gt;
| The latest ionCube Loader version for your PHP version&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
View all supported '''PHP versions''' for each version of WHMCS in the [[PHP Version Support Matrix]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
While these are the minimum requirements, we '''''strongly recommend using the latest available, stable releases of all software and extensions'''''.  Recommendations are correct as at September 2022.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-success&amp;quot;&amp;gt;&lt;br /&gt;
For details on the recommended system environment configurations (OS, web server, database engine, PHP, and ionCube Loader), see the [[System Environment Guide]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;* We validate WHMCS to run in Linux based environments running the Apache web server. Other environments like Windows-based configurations may experience compatibility issues with which Technical Support cannot assist.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;** Memory requirements vary depending upon the size and volume of activity in an installation. Your exact requirements may differ.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*** As part of PCI compliance, a SSL library capable of TLS 1.2 may be required. If using OpenSSL, version 1.0.1c or newer is recommended. &amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Domain_Registrars&amp;diff=34020</id>
		<title>Domain Registrars</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Domain_Registrars&amp;diff=34020"/>
				<updated>2023-04-04T13:57:58Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Supported Domain Registrars */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WHMCS allows you to configure automated domain registration and management and manage many domain-related functions. &lt;br /&gt;
&lt;br /&gt;
You can access this feature at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Domain Registrars''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Domain Registrars'''.&lt;br /&gt;
&lt;br /&gt;
==Configure a Domain Registrar==&lt;br /&gt;
&lt;br /&gt;
To configure a registrar:&lt;br /&gt;
&lt;br /&gt;
# If it is not already active, activate the desired registrar. To do this, click '''Activate''' for that registrar in the list. A success message and the applicable registrar settings will appear.&lt;br /&gt;
# If the registrar module is already active, click '''Configure''' for that registrar in the list. The applicable registrar settings will appear.&lt;br /&gt;
# Enter or update the relevant details for your account with that registrar. &amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;Each registrar that WHMCS supports has specific instructions and requirements (see below).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
Make certain that you set the default nameservers that WHMCS uses for domain-only registrations in the '''[[Domains Tab|Domains]]''' tab at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings''' or, prior to WHMCS 8.0, '''Setup &amp;gt; General Settings'''.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Supported Domain Registrars===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;table table-striped&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[101Domain]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Affordable Domains]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[BizCN]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[CentralNic Reseller]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Distribute IT]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[DotDNS]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Email]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Enom]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[ENom New TLDs]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[GMO Internet]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[GoDaddy]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Heart Internet Domains]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[HexoNet|HEXONET]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[InternetBS]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[IPMirror]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Namecheap]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[NetEarthOne]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Nominet]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[OnlineNIC]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[OpenSRS]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[OVH]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Realtime Register]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Registercom]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Regstereu]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[ResellerCamp]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[ResellerClub]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[ResellOne]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[RRPProxy]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Stargate]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[TPP Wholesale]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[TransIP]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[VentraIP Wholesale]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[WebNIC]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Deactivate a Registrar==&lt;br /&gt;
&lt;br /&gt;
To deactivate an active registrar, click '''Deactivate''' for that registrar in the list and then click '''OK'''.&lt;br /&gt;
&lt;br /&gt;
==Automatic Registration==&lt;br /&gt;
&lt;br /&gt;
WHMCS allows you to specify which registrar to use on a per-TLD basis. You can use multiple suppliers for different TLDs in order to reduce your total costs. &lt;br /&gt;
&lt;br /&gt;
To do this, select the desired registrars for each TLD from the '''Auto Registration''' menu at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Domain Pricing]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Domain Pricing'''.&lt;br /&gt;
&lt;br /&gt;
==Domain Synchronisation==&lt;br /&gt;
&lt;br /&gt;
If you wish to sync the expiry date, next due date, and status with your registrar for your domains, you can do this using the '''[[Domain Synchronisation|Domain Sync Settings]]''' section at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Automation Settings]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Automation Settings'''.&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=System_Requirements&amp;diff=34019</id>
		<title>System Requirements</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=System_Requirements&amp;diff=34019"/>
				<updated>2023-03-28T13:39:44Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Most current web servers* that use PHP and MySQL® can run WHMCS.&lt;br /&gt;
&lt;br /&gt;
The following table shows the minimum and recommended system requirements for running '''WHMCS 8.0''' and later.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-danger&amp;quot;&amp;gt;&lt;br /&gt;
Looking for the requirements for the earlier WHMCS 7.5 - 7.10 versions?  [[Version 7.5-7.10 System Requirements|Click here.]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;table table-striped&amp;quot;&lt;br /&gt;
! '''Requirement'''&lt;br /&gt;
! '''Minimum'''&lt;br /&gt;
! '''Recommended'''&lt;br /&gt;
|-&lt;br /&gt;
| PHP Version&lt;br /&gt;
| 7.2&lt;br /&gt;
| WHMCS 8.0 through 8.5 — ''Latest'' 7.4 Release &amp;lt;br /&amp;gt; WHMCS 8.6 and later — ''Latest'' 7.4 or 8.1 Release&lt;br /&gt;
|-&lt;br /&gt;
| PHP Memory Limit&lt;br /&gt;
| 64MB&lt;br /&gt;
| 128MB**&lt;br /&gt;
|-&lt;br /&gt;
| PHP Database Extension&lt;br /&gt;
| PDO&lt;br /&gt;
| PDO&lt;br /&gt;
|-&lt;br /&gt;
| PHP Extensions&lt;br /&gt;
| Curl with SSL***&amp;lt;br/&amp;gt;&lt;br /&gt;
GD2 Image Library&amp;lt;br/&amp;gt;&lt;br /&gt;
JSON Support&amp;lt;br /&amp;gt;&lt;br /&gt;
XML&amp;lt;br/&amp;gt;&lt;br /&gt;
| BC Math&amp;lt;br/&amp;gt;&lt;br /&gt;
Fileinfo&amp;lt;br/&amp;gt;&lt;br /&gt;
GMP&amp;lt;br/&amp;gt;&lt;br /&gt;
Iconv&amp;lt;br/&amp;gt;&lt;br /&gt;
IMAP&amp;lt;br/&amp;gt;&lt;br /&gt;
Intl&amp;lt;br/&amp;gt;&lt;br /&gt;
MBString&amp;lt;br/&amp;gt;&lt;br /&gt;
OpenSSL***&amp;lt;br/&amp;gt;&lt;br /&gt;
SOAP&amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| MySQL Version&lt;br /&gt;
| 5.2.0&lt;br /&gt;
| ''Latest'' 5.7&lt;br /&gt;
|-&lt;br /&gt;
| ionCube Loader®&lt;br /&gt;
| 10.4.5 or later for PHP 7.2 through 7.4&amp;lt;br/&amp;gt;&lt;br /&gt;
12.0.1 or later for PHP 8.1&lt;br /&gt;
| The latest ionCube Loader version for your PHP version&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
View all supported '''PHP versions''' for each version of WHMCS in the [[PHP Version Support Matrix]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
While these are the minimum requirements, we '''''strongly recommend using the latest available, stable releases of all software and extensions'''''.  Recommendations are correct as at September 2022.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-success&amp;quot;&amp;gt;&lt;br /&gt;
For details on the recommended system environment configurations (OS, web server, database engine, PHP, and ionCube Loader), see the [[System Environment Guide]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;* We validate WHMCS to run in Linux based environments running the Apache web server. Other environments like Windows-based configurations may experience compatibility issues with which Technical Support cannot assist.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;** Memory requirements vary depending upon the size and volume of activity in an installation. Your exact requirements may differ.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*** As part of PCI compliance, a SSL library capable of TLS 1.2 may be required. If using OpenSSL, version 1.0.1c or newer is recommended. &amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Clients:Users_Tab&amp;diff=34018</id>
		<title>Clients:Users Tab</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Clients:Users_Tab&amp;diff=34018"/>
				<updated>2023-03-28T13:29:55Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Password Reset */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client Management}}&lt;br /&gt;
 &lt;br /&gt;
In WHMCS 8.0 and later, [[Users and Accounts|users]] can own multiple client accounts, allowing a single user to switch between accounts and manage each separately.&lt;br /&gt;
&lt;br /&gt;
You can access this tab when you view a client's profile at '''Clients &amp;gt; [[Client Management|View/Search Clients]]'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
'''Disable Client Area User Management''' in the '''[[Other Tab|Other]]''' tab at&lt;br /&gt;
'''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings''' disables user management for account owners and prevents them from inviting new users.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==Associate a User==&lt;br /&gt;
&lt;br /&gt;
To add a new user, you can use this tab or [https://help.whmcs.com/m/managing/l/1275668-adding-and-managing-users the Client Area].&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
If you send an invitation to an email address for an existing account, they can access the client account using their existing login credentials. If the email address does not correspond to an existing account, they can create one.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
To associate a user and client account:&lt;br /&gt;
 &lt;br /&gt;
# Click '''Associate User'''.&lt;br /&gt;
# Choose an account from '''Select User''' or enter an email address.&lt;br /&gt;
# Select the desired '''Permissions''' settings or select '''Check All''' to select all of them.&lt;br /&gt;
# Toggle '''Send Invite''' to ''Yes'' to send an invitation email.&lt;br /&gt;
# Click '''Invite User'''.&lt;br /&gt;
 &lt;br /&gt;
After you add or associate a user, they will display in '''Users''' in the client's profile. Click '''Resend Invite''' to resend the invitation email, or click '''Cancel Invite''' to cancel the invitation.&lt;br /&gt;
 &lt;br /&gt;
==Manage==&lt;br /&gt;
&lt;br /&gt;
Click '''Manage''' to manage the user within the context of this account.&lt;br /&gt;
  &lt;br /&gt;
To manage individual user information outside of the context of an associated account, go to '''Clients &amp;gt; [[Manage Users]]'''.&lt;br /&gt;
  &lt;br /&gt;
===Manage Users===&lt;br /&gt;
&lt;br /&gt;
To manage a user's information or permissions for the account, click '''Manage''' for that user and select '''Manage User'''. You can update the user's name, email address, and permissions, disable [[Two-Factor Authentication]] or security questions, and transfer account ownership to the user.&lt;br /&gt;
 &lt;br /&gt;
Disabling security questions for the user removes their current security question and answer and allows them to set a new one in the Client Area.&lt;br /&gt;
  &lt;br /&gt;
===Password Reset===&lt;br /&gt;
&lt;br /&gt;
To reset a user's password, click the arrow next to '''Manage User''' for that user and select '''Password Reset'''. Click '''OK''' on the confirmation window that appears and the system will send a password reset email to the user.&lt;br /&gt;
&lt;br /&gt;
===Remove===&lt;br /&gt;
&lt;br /&gt;
To remove a user's access to a client's account, click '''Manage''' for that user and select '''Remove'''. This will remove access to the account, but will not delete the user from WHMCS.&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Affiliates&amp;diff=34017</id>
		<title>Affiliates</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Affiliates&amp;diff=34017"/>
				<updated>2023-03-28T13:28:31Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Affiliate Codes and Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Affiliates help generate revenue by referring customers to your business. WHMCS includes a comprehensive affiliate system with support for one-time and recurring commissions, either in percentages or fixed values. It also includes payout delays, minimum withdrawal limits, and live statistics and information for affiliates in the Client Area. &lt;br /&gt;
&lt;br /&gt;
You can access this feature at '''Clients &amp;gt; [[Manage Affiliates]]'''.&lt;br /&gt;
&lt;br /&gt;
== Commissions ==&lt;br /&gt;
&lt;br /&gt;
Affiliates earn commission for products and services (including configurable options) only. They can't earn commission on:&lt;br /&gt;
 &lt;br /&gt;
* Domain names.&lt;br /&gt;
* [[Product Addons]].&lt;br /&gt;
* Upgrade orders. &amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;Any recurring commissions will increase with new renewal prices.&amp;lt;/div&amp;gt;&lt;br /&gt;
* Manually-created invoices.&lt;br /&gt;
* [[Usage_Billing|Usage billing]], invoiced in a arrears.  &lt;br /&gt;
 &lt;br /&gt;
== Affiliate System Configuration ==&lt;br /&gt;
&lt;br /&gt;
Before you can use the affiliate system, you must:&lt;br /&gt;
&lt;br /&gt;
* Configure the settings in the '''[[Affiliates_Tab|Affiliates]]''' tab at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[General Settings]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; General Settings'''.&lt;br /&gt;
* Activate affiliate status for the desired clients in the [[Clients:Summary_Tab|client profile '''Summary''' tab]]. &lt;br /&gt;
&lt;br /&gt;
=== Setting Overrides ===&lt;br /&gt;
 &lt;br /&gt;
You can overide these settings on a ''per-client'' basis and set a specific commission rate for an individual affiliate at '''Clients &amp;gt; [[Manage Affiliates]]'''.&lt;br /&gt;
 &lt;br /&gt;
You can override these settings on a ''per-product'' basis when you configure a product in the '''Other''' tab at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Products_and_Services|Products/Services]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Product/Services'''.&lt;br /&gt;
&lt;br /&gt;
=== Setting Commission Per-Product ===&lt;br /&gt;
&lt;br /&gt;
To offer a higher commission on a certain product, edit the product and go to the Other tab at  '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Products_and_Services|Products/Services]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Product/Services'''.&lt;br /&gt;
&lt;br /&gt;
From here you can choose a percentage or fixed amount commission. Selecting the One Time Payout checkbox will give the commission only once. The default commission setting for WHMCS is recurring.&lt;br /&gt;
&lt;br /&gt;
It is possible to disable commission entirely for an individual product from this page by selecting the '''No Commission''' option. This setting takes priority over the default commission. However, if you have set either the client or the product commission to One Time Payout, that setting will override this.&lt;br /&gt;
&lt;br /&gt;
=== Setting Commission Per-Client ===&lt;br /&gt;
&lt;br /&gt;
To offer a unique commission, click the &amp;quot;'View Affiliate Details'&amp;quot; link on the &amp;quot;client's [[Clients:Summary_Tab|'''Summary''']] tab&amp;quot; and you can set the commission as above. This setting will take priority over all others. However, if you have set either the client or the product commission to One Time Payout, that setting will override this. &lt;br /&gt;
 &lt;br /&gt;
=== Delays and Reversals ===&lt;br /&gt;
 &lt;br /&gt;
WHMCS includes tools to help you prevent losses due to disputes, cancellations, or refunds on transactions for which you pay commissions.&lt;br /&gt;
 &lt;br /&gt;
The '''Affiliate Commission Delay''' setting at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[General Settings]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; General Settings''' helps you avoid this by delaying commission payment for a set number of days after the transaction.&lt;br /&gt;
* This setting applies to commissions for both initial orders and renewals.&lt;br /&gt;
* At the time of payment, the affiliate's '''Pending Commissions Balance''' will increase by the amount of commission for the order but their '''Available to Withdraw Balance''' will not.&lt;br /&gt;
* WHMCS only awards commission if the product or service is in the '''Active''' status when payout would occur according to your settings.&lt;br /&gt;
** This is either at the end of the delay period or, if you did not set a delay period, immediately.&lt;br /&gt;
** If it is in another status, the commission will be removed and can only be awarded manually.&lt;br /&gt;
 &lt;br /&gt;
In WHMCS 8.3 and later, you can also perform reversals on commission.&lt;br /&gt;
* WHMCS can reverse commissions when you refund the invoice that incurred the affiliate commission.&lt;br /&gt;
** When you perform a full refund, WHMCS automatically reverses all of the associated commissions.&lt;br /&gt;
** When you perform a partial refund, you can choose whether to also reverse the commission. You cannot, however, choose an amount of the commission to reverse. Reversing the commission must reverse the entire amount.&lt;br /&gt;
* If you choose '''not''' to perform a commission reversal, the commission payment will not be affected.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
If you paid a commission before upgrading to WHMCS 8.3, WHMCS will not present the option to reverse commissions.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Working with Affiliates ==&lt;br /&gt;
 &lt;br /&gt;
Before a client can receive commissions, they must become an activated affiliate.&lt;br /&gt;
 &lt;br /&gt;
* You can activate affiliates in their client profile's '''Summary''' tab. To do this, navigate to the [[Clients:Summary_Tab|client profile '''Summary''' tab]] and click '''Activate as Affiliate''' under '''Other Actions'''.&lt;br /&gt;
* After you have enabled the affiliate system as described above, clients can also activate affiliate status for themselves in the Client Area.&lt;br /&gt;
 &lt;br /&gt;
=== Managing Affiliates ===&lt;br /&gt;
 &lt;br /&gt;
To view and manage affiliates and create manual commission payments and withdrawals, go to '''Clients &amp;gt; [[Manage Affiliates]]'''. &lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
You '''must''' also configure the settings in the [[#Affiliate System Configuration|Affiliate System Configuration]] section above. Otherwise, affiliate information will ''not'' display in the Client Area and the affiliate system will not function.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Assigning an Affiliate to an Existing Order ===&lt;br /&gt;
 &lt;br /&gt;
To assign an affiliate to an existing referral-free order that contains a service:&lt;br /&gt;
 &lt;br /&gt;
# Go to '''Orders &amp;gt; List'''.&lt;br /&gt;
# Locate the order you want to assign to the affiliate.&lt;br /&gt;
# Click the '''Order ID''' number to open the details for that order.&lt;br /&gt;
# Click '''Manual Assign''' in the '''Affiliate''' section.&lt;br /&gt;
# From the menu that appears, select the affiliate to assign to the order. Alternately, start typing the name of the desired affiliate.&lt;br /&gt;
# Click '''Save'''.&lt;br /&gt;
&lt;br /&gt;
=== Unassigning an Affiliate from an Order ===&lt;br /&gt;
 &lt;br /&gt;
To unassign an affiliate from an order:&lt;br /&gt;
 &lt;br /&gt;
# Visit '''Clients &amp;gt; Manage Affiliates'''.&lt;br /&gt;
# Select the order's assigned affiliate.&lt;br /&gt;
# Select the '''Referred Signups''' tab.&lt;br /&gt;
# Delete the relevant signup using the red button on the right hand side.&lt;br /&gt;
You can now assign the order to another affiliate using the [[#Assigning_an_Affiliate_to_an_Existing_Order|Assigning an Affiliate to an Existing Order]] section above.&lt;br /&gt;
 &lt;br /&gt;
=== Paying Commission for a Paid Order ===&lt;br /&gt;
 &lt;br /&gt;
You may wish to apply an affiliate to an order after it is paid, in which case the affiliate has missed the initial commission for that order.&lt;br /&gt;
 &lt;br /&gt;
To correct this:&lt;br /&gt;
 &lt;br /&gt;
# Use the steps above to assign the affiliate to the order.&lt;br /&gt;
# Go to '''Clients &amp;gt; [[Manage Affiliates]]'''.&lt;br /&gt;
# In the '''Referrals''' tab, click '''Manual Payout''' for that order.&lt;br /&gt;
 &lt;br /&gt;
WHMCS will perform the necessary steps to credit the affiliate.&lt;br /&gt;
 &lt;br /&gt;
== Affiliate Codes and Links ==&lt;br /&gt;
 &lt;br /&gt;
WHMCS generates a unique code for each affiliate to use on their website. For example:&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;https://www.example.com/aff.php?aff=001&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Affiliates can obtain their unique link via the Client Area. To view the link, they can log in to the Client Area and click '''Affiliates''' in the main menu. &lt;br /&gt;
&lt;br /&gt;
When a visitor follows an affiliate link, the system will redirect them to the URL that you specified for '''Domain''' in the '''[[General_Tab|General]]''' tab at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[General Settings]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; General Settings''' and will save a cookie in their browser. If the visitor places an order for a product or service with the cookie present, the affiliate will earn a commission. By default, the cookie persists for three months.    &lt;br /&gt;
 &lt;br /&gt;
=== Affiliate Linking Code ===&lt;br /&gt;
 &lt;br /&gt;
You can specify '''Affiliate Link''' code in the '''[[Affiliates Tab|Affiliates]]''' tab at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[General Settings]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; General Settings'''. For example:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;a href=&amp;quot;[AffiliateLinkCode]&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;http://www.yourcompany.com/banners/468x60banner.gif&amp;quot; width=&amp;quot;468&amp;quot; height=&amp;quot;60&amp;quot; border=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;(a href=&amp;quot;[AffiliateLinkCode]&amp;quot;)&amp;gt;&amp;lt;(img src=&amp;quot;http://www.yourcompany.com/banners/468x60banner.gif&amp;quot; width=&amp;quot;468&amp;quot; height=&amp;quot;60&amp;quot; border=&amp;quot;0&amp;quot;)&amp;gt;&amp;lt;(/a)&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;a href=&amp;quot;[AffiliateLinkCode]&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;http://www.yourcompany.com/banners/120x60banner.gif&amp;quot; width=&amp;quot;120&amp;quot; height=&amp;quot;60&amp;quot; border=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;(a href=&amp;quot;[AffiliateLinkCode]&amp;quot;)&amp;gt;&amp;lt;(img src=&amp;quot;http://www.yourcompany.com/banners/120x60banner.gif&amp;quot; width=&amp;quot;120&amp;quot; height=&amp;quot;60&amp;quot; border=&amp;quot;0&amp;quot;)&amp;gt;&amp;lt;(/a)&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
If you enter this code, it will display the image preview of the banner first and then the code below it for the affiliate to use. The &amp;lt;tt&amp;gt;&amp;lt;(&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;)&amp;gt;&amp;lt;/tt&amp;gt; are parts of a special syntax that you '''must''' use to ensure that the code is '''not''' executed as HTML. WHMCS modifies this during display to cause it to appear as normal HTML.&lt;br /&gt;
 &lt;br /&gt;
You can add advanced link code directly to the &amp;lt;tt&amp;gt;affiliates.tpl&amp;lt;/tt&amp;gt; template file in your active template folder using the &amp;lt;tt&amp;gt;{$referrallink}&amp;lt;/tt&amp;gt; template field wherever you want to include the affiliate's unique referral URL.&lt;br /&gt;
 &lt;br /&gt;
For more information about linking to WHMCS, see [[Linking to WHMCS]].&lt;br /&gt;
 &lt;br /&gt;
=== Linking to a Product Group ===&lt;br /&gt;
 &lt;br /&gt;
You can link directly to the order form for a specific product group. To do this, append &amp;lt;tt&amp;gt;&amp;amp;gid=x&amp;lt;/tt&amp;gt; to the end of the &amp;lt;tt&amp;gt;[AffiliateLinkCode]&amp;lt;/tt&amp;gt;, where &amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt; is the ID of the product group. For example:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;[AffiliateLinkCode]&amp;amp;gid=2&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;http://www.yourcompany.com/banners/468x60banner.gif&amp;quot; width=&amp;quot;468&amp;quot; height=&amp;quot;60&amp;quot; border=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt; &amp;lt;(a href=&amp;quot;[AffiliateLinkCode]&amp;amp;gid=2&amp;quot;)&amp;gt;&amp;lt;(img src=http://www.yourcompany.com/banners/468x60banner.gif&amp;quot; width=&amp;quot;468&amp;quot; height=&amp;quot;60&amp;quot; border=&amp;quot;0&amp;quot;)&amp;gt;&amp;lt;(/a)&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
=== Linking to a Product ===&lt;br /&gt;
 &lt;br /&gt;
You can link directly to the order form for a specific product. To do this, append &amp;lt;tt&amp;gt;&amp;amp;pid=x&amp;lt;/tt&amp;gt; to the end of the &amp;lt;tt&amp;gt;[AffiliateLinkCode]&amp;lt;/tt&amp;gt;, where &amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt; is the product ID. For example:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;[AffiliateLinkCode]&amp;amp;pid=2&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;http://www.yourcompany.com/banners/468x60banner.gif&amp;quot; width=&amp;quot;468&amp;quot; height=&amp;quot;60&amp;quot; border=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt; &amp;lt;(a href=&amp;quot;[AffiliateLinkCode]&amp;amp;pid=2&amp;quot;)&amp;gt;&amp;lt;(img src=http://www.yourcompany.com/banners/468x60banner.gif&amp;quot; width=&amp;quot;468&amp;quot; height=&amp;quot;60&amp;quot; border=&amp;quot;0&amp;quot;)&amp;gt;&amp;lt;(/a)&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
=== Linking to the Cart ===&lt;br /&gt;
 &lt;br /&gt;
You can link directly to the cart. To do this, append &amp;lt;tt&amp;gt;&amp;amp;gocart=true&amp;lt;/tt&amp;gt; to the end of the &amp;lt;tt&amp;gt;[AffiliateLinkCode]&amp;lt;/tt&amp;gt;. For example:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;[AffiliateLinkCode]&amp;amp;gocart=true&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;http://www.yourcompany.com/banners/468x60banner.gif&amp;quot; width=&amp;quot;468&amp;quot; height=&amp;quot;60&amp;quot; border=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt; &amp;lt;(a href=&amp;quot;[AffiliateLinkCode]&amp;amp;gocart=true&amp;quot;)&amp;gt;&amp;lt;(img src=http://www.yourcompany.com/banners/468x60banner.gif&amp;quot; width=&amp;quot;468&amp;quot; height=&amp;quot;60&amp;quot; border=&amp;quot;0&amp;quot;)&amp;gt;&amp;lt;(/a)&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
=== Linking to the Registration Form ===&lt;br /&gt;
 &lt;br /&gt;
You can link directly to the registration form. To do this, append &amp;lt;tt&amp;gt;&amp;amp;register=true&amp;lt;/tt&amp;gt; to the end of the &amp;lt;tt&amp;gt;[AffiliateLinkCode]&amp;lt;/tt&amp;gt;. For example:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;[AffiliateLinkCode]&amp;amp;register=true&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;http://www.yourcompany.com/banners/468x60banner.gif&amp;quot; width=&amp;quot;468&amp;quot; height=&amp;quot;60&amp;quot; border=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt; &amp;lt;(a href=&amp;quot;[AffiliateLinkCode]&amp;amp;register=true&amp;quot;)&amp;gt;&amp;lt;(img src=http://www.yourcompany.com/banners/468x60banner.gif&amp;quot; width=&amp;quot;468&amp;quot; height=&amp;quot;60&amp;quot; border=&amp;quot;0&amp;quot;)&amp;gt;&amp;lt;(/a)&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Affiliate Cookies ==&lt;br /&gt;
 &lt;br /&gt;
The affiliate link cookie lasts for three months on the user's computer by default. You can change the cookie duration by editing the &amp;lt;tt&amp;gt;aff.php&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
 &lt;br /&gt;
Line 24 controls the creation of the cookie and how long it lasts:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
Cookie::set('AffiliateID',$aff,'3m');&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
When editing this line, only alter the final argument (&amp;lt;tt&amp;gt;3m&amp;lt;/tt&amp;gt;).&lt;br /&gt;
 &lt;br /&gt;
The final argument defines the lifetime of the cookie using [http://php.net/manual/en/function.time.php PHP Timestamps]. For convenience, we offer a helper when defining months. When you require months, specify the number of months and append &amp;lt;tt&amp;gt;m&amp;lt;/tt&amp;gt; as in the example above.&lt;br /&gt;
 &lt;br /&gt;
The following examples are commonly-used lifetimes:&lt;br /&gt;
 &lt;br /&gt;
===== One Day =====&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
Cookie::set('AffiliateID', $aff, time() + (24*60*60));&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
===== Seven Days =====&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
Cookie::set('AffiliateID', $aff, time() + (7*24*60*60));&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
===== Fourteen Days =====&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
Cookie::set('AffiliateID', $aff, time() + (14*24*60*60));&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
===== One Month =====&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
Cookie::set('AffiliateID', $aff, '1m');&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
== Affiliate System Commission Logic ==&lt;br /&gt;
 &lt;br /&gt;
The affiliate system uses the following logic when processing commissions:&lt;br /&gt;
 &lt;br /&gt;
=== Setup Fees ===&lt;br /&gt;
 &lt;br /&gt;
If there is a setup fee, the initial commission will include it. Then, the system bases recurring commissions on the product's '''[[Products_and_Services#Pricing Recurring Amount|pricing recurring amount]]'''.&lt;br /&gt;
&lt;br /&gt;
=== Promotions ===&lt;br /&gt;
 &lt;br /&gt;
If a referred client uses a promotional code when signing up and you have configured a percentage commission, the system will reduce the value of the commission. If you have configured a fixed amount commission, they will still receive the full commission.&lt;br /&gt;
 &lt;br /&gt;
For example, if someone uses an affiliate's ''three months free'' promotional code, the affiliate gets the commission based on the first payment amount. Then, they receive recurring amounts according to the product's settings. In this example, the affiliate would receive a percentage of ''zero'' for the first three months.&lt;br /&gt;
  &lt;br /&gt;
=== Product Upgrades and Downgrades ===&lt;br /&gt;
 &lt;br /&gt;
If a referred client upgrades or downgrades their product, the system will adjust the affiliate's future commissions to match the price of the new product.&lt;br /&gt;
 &lt;br /&gt;
* This won't affect commission payments that the affiliate has already earned.&lt;br /&gt;
* There is no commission on the upgrade or downgrade order itself.&lt;br /&gt;
* This does not apply to one-time commissions.&lt;br /&gt;
 &lt;br /&gt;
=== Multi Currency ===&lt;br /&gt;
 &lt;br /&gt;
When you pay percentage commissions, WHMCS will convert the value in the purchaser's currency to the affiliate's currency using the current exchange rate. If you select to pay a fixed amount, it pays the same amount in any currency.&lt;br /&gt;
 &lt;br /&gt;
The system converts the '''Affiliate Bonus Deposit''' amount and '''Affiliate Payout Amount''' into the affiliate's currency.&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=General_Tab&amp;diff=34016</id>
		<title>General Tab</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=General_Tab&amp;diff=34016"/>
				<updated>2023-03-28T13:24:49Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Domain */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{General Settings}}&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The '''General''' tab allows you to configure basic settings within WHMCS. &lt;br /&gt;
&lt;br /&gt;
You can access this tab at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[General Settings]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; General Settings'''.&lt;br /&gt;
 &lt;br /&gt;
===Company Name===&lt;br /&gt;
Enter your company name as you wish it to appear throughout the WHMCS Admin and Client Areas.&lt;br /&gt;
 &lt;br /&gt;
===Email Address===&lt;br /&gt;
This is the default email address that will appear as the sender on all of the email that WHMCS sends to you and your customers.&lt;br /&gt;
 &lt;br /&gt;
===Domain===&lt;br /&gt;
The URL for the domain that hosts your WHMCS installation. When a visitor follows an affiliate link, they will be redirected to this URL.&lt;br /&gt;
&lt;br /&gt;
===Logo URL===&lt;br /&gt;
The URL for the logo image that will appear in email messages, on invoices, and in the WHMCS Client Area.&lt;br /&gt;
 &lt;br /&gt;
===Pay To Text===&lt;br /&gt;
The text to display on invoices as the ''Pay To'' details.&lt;br /&gt;
 &lt;br /&gt;
===WHMCS System URL===&lt;br /&gt;
This setting defines the URL to use to access your WHMCS installation. This is based on the location of the files on your server. If possible, WHMCS attempts to set this value automatically during installation. If you use the command line for installation, WHMCS will prompt you for this value. For example, &amp;lt;tt&amp;gt;http://www.example.com/members/&amp;lt;/tt&amp;gt;.&lt;br /&gt;
  &lt;br /&gt;
We recommend installing an SSL certificate. This will let you enter the SSL URL to enable encrypted connections between WHMCS and your customers and between your staff and the Admin Area. For example, &amp;lt;tt&amp;gt;https://www.example.com/members/&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For more information about including this value in custom development, see [[WHMCS Base URL Template Variable]].&lt;br /&gt;
&lt;br /&gt;
===System Theme===&lt;br /&gt;
The system theme that you want to use for WHMCS's Client Area. We ship two by default:&lt;br /&gt;
 &lt;br /&gt;
* ''Twenty-One'' was introduced in WHMCS 8.1. We recommend that you use this system theme. For more information, see [[New Twenty-One Client Area Theme]].&lt;br /&gt;
* ''Six'' was introduced in WHMCS 6.0. We plan to remove this system theme in a future WHMCS version.&lt;br /&gt;
 &lt;br /&gt;
In WHMCS 8.1 and higher, when you select a '''System Theme''', WHMCS will validate it for compatibility with the order form templates you use.&lt;br /&gt;
 &lt;br /&gt;
For information on developing your own custom system theme, see [https://developers.whmcs.com/themes/ Themes] in our [https://developers.whmcs.com/ Developer Documentation].&lt;br /&gt;
&lt;br /&gt;
===Limit Activity Log===&lt;br /&gt;
The maximum number of system-related entries to store in '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; [[System Logs]]''' or, prior to WHMCS 8.0, '''Utilities &amp;gt; Logs'''. System-related entries display the user of '''System/Automated''' and client of '''None'''.&lt;br /&gt;
&lt;br /&gt;
WHMCS purges system-related entries daily during the execution of the cron, when the activity log is viewed within the Admin Area, or when the '''Limit Activity Log''' setting is modified.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
Entries for specific clients are stored indefinitely for auditing purposes. You can prune client-specific log entries at '''Utilities &amp;gt; System &amp;gt; [[System_Utilities#System_Cleanup|System Cleanup]]'''.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Records to Display per Page===&lt;br /&gt;
The number of records to display in the '''Clients''' list, lists of invoices, and other lists in WHMCS.&lt;br /&gt;
 &lt;br /&gt;
===Maintenance Mode===&lt;br /&gt;
Enabling this option will prevent your customers from accessing the Client Area and display the '''Maintenance Mode Message''' (or redirect to another URL, if you enter a '''Maintenance Mode Redirect URL'''.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
Admins will still be able to see the client area. Both the API and hooks will continue to function unobstructed while '''Maintenance Mode''' is enabled.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Maintenance Mode Message===&lt;br /&gt;
If you enable '''Maintenance Mode''', your customers will see the message you enter here in the Client Area.&lt;br /&gt;
 &lt;br /&gt;
===Maintenance Mode Redirect URL===&lt;br /&gt;
When you enter a URL here, clients will be redirected there when '''Maintenance Mode''' is enabled instead of seeing the maintenance message.&lt;br /&gt;
 &lt;br /&gt;
===Friendly URLs===&lt;br /&gt;
&lt;br /&gt;
The Friendly URLs feature alters WHMCS URLs to use a human-readable format. For more information, see [[Friendly URLs]].&lt;br /&gt;
&lt;br /&gt;
You can choose the following URI path modes:&lt;br /&gt;
&lt;br /&gt;
* '''Full Friendly Rewrite''' — This option will generate highly systematic URLs, which are excellent for search engines and visitors alike.  They are completely decoupled from the file system.  &lt;br /&gt;
** This mode is only valid in environments that support Apache &amp;lt;tt&amp;gt;mod_rewrite&amp;lt;/tt&amp;gt; behavior.  &lt;br /&gt;
** For example: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://example.com/knowledgebase&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* '''Friendly index.php''' — This option will generate systematic URLs but is coupled to the filesystem. It is a good option for search engines and visitors if your environment does not support Apache &amp;lt;tt&amp;gt;mod_rewrite&amp;lt;/tt&amp;gt;.  &lt;br /&gt;
** This mode is only valid in environments that support Apache &amp;lt;tt&amp;gt;AcceptPathInfo&amp;lt;/tt&amp;gt; behavior.  &lt;br /&gt;
** For example: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://example.com/index.php/knowledgebase&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* '''Basic URLs''' — This option will generate URLs that all web environments support. Most search engine technologies are capable of moderate to advanced indexing when analyzing these types of URLs. However, some internet users find these URLs unattractive and cumbersome. &lt;br /&gt;
** For example: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://example.com/index.php?rp=/knowledgebase&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you select an option, the system saves it automatically. If it does not match the detected setting (see below) it displays '''Manual Override''' next to the setting.  &lt;br /&gt;
&lt;br /&gt;
==== Detected Mode ====&lt;br /&gt;
&lt;br /&gt;
WHMCS automatically detects the best option for your server environment and highlights it with a green background. &lt;br /&gt;
&lt;br /&gt;
* To detect the best option again, click the circular arrow icon. This performs an environment detection and immediately updates your '''Friendly URLs''' settings.  &lt;br /&gt;
* If the '''Auto-Managed Rewrite''' setting is not enabled and the system detects that modifications to your rewrite file (&amp;lt;tt&amp;gt;.htaccess&amp;lt;/tt&amp;gt;) may occur during the optimization routine, the system will prompt you to enable it before any changes are applied.&lt;br /&gt;
&lt;br /&gt;
==== Advanced Settings ====&lt;br /&gt;
 &lt;br /&gt;
Click '''Advanced Settings''' to further customize how this feature behaves. We only recommend changing the advanced settings if you are confident maintaining your own &amp;lt;tt&amp;gt;mod_rewrite&amp;lt;/tt&amp;gt; rules.&lt;br /&gt;
&lt;br /&gt;
* The '''Path Mode''' tab allows you to manually override the system-detected URI path mode and shows which modes are supported by your environment.&lt;br /&gt;
* The '''Rewrite File''' tab allows you to manually select how WHMCS should control the rewrite file (&amp;lt;tt&amp;gt;.htaccess&amp;lt;/tt&amp;gt;) as well as a copy of the WHMCS rewrite rules. Rewrite rules alter inbound HTTP requests so that the application can effectively process Friendly URLs.&lt;br /&gt;
&lt;br /&gt;
===== Path Mode =====&lt;br /&gt;
&lt;br /&gt;
The '''Path Mode''' tab allows you to manually override the system-detected URI Path Mode and shows which modes are known to be support by your environment.&lt;br /&gt;
&lt;br /&gt;
[[File:UriPathModeMgmt.png|550px]]&lt;br /&gt;
&lt;br /&gt;
The settings here perform the same result as the '''Simple Mode Selection''' but with more explicit control. You may enable the manual override option while selecting a '''URI Path Mode''' that is the same as the system detected value.&lt;br /&gt;
&lt;br /&gt;
===== Rewrite File =====&lt;br /&gt;
&lt;br /&gt;
The '''Rewrite File''' tab allows you to manually select how WHMCS should control the rewrite file (&amp;lt;tt&amp;gt;.htaccess&amp;lt;/tt&amp;gt;) as well as a copy of the WHMCS rewrite rules.  Rewrite rules alter inbound HTTP requests so that the application can effectively process friendly URLs.&lt;br /&gt;
&lt;br /&gt;
[[File:UriMgmtRewriteRuleTab.png|550px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Upgrade to WHMCS 7.2&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
When you upgrade to WHMCS 7.2, WHMCS will perform an evaluation of your current environment. For more information, see [[Friendly URLs]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Auto-Managed Rewrite=====&lt;br /&gt;
&lt;br /&gt;
When you enable '''Auto-Managed Rewrite''', the system applies new rules from a WHMCS update to the &amp;lt;tt&amp;gt;.htaccess&amp;lt;/tt&amp;gt; file of the WHMCS root directory during the update.&lt;br /&gt;
&lt;br /&gt;
Manually enabling or disabling '''Auto-Managed Rewrite''' will not automatically reevaluate or synchronize the WHMCS ruleset.&lt;br /&gt;
&lt;br /&gt;
===== Synchronize =====&lt;br /&gt;
&lt;br /&gt;
If the current contents of the &amp;lt;tt&amp;gt;.htaccess&amp;lt;/tt&amp;gt; file are not in sync with the WHMCS ruleset, click '''Synchronize''' to synchronize it.&lt;br /&gt;
&lt;br /&gt;
When the system applies rules to the &amp;lt;tt&amp;gt;.htaccess&amp;lt;/tt&amp;gt; file, it places them between comment markers that clearly indicate the beginning and end of the WHMCS ruleset. If you require custom rulesets for other destinations within the WHMCS root directory, make sure that you place them before or after these comment markers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp; WHMCS cannot automatically detect compatibility with other rules. WHMCS Technical Support can only provided limited suggestions based on WHMCS’s requirements.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===WHMCS Rules===&lt;br /&gt;
&lt;br /&gt;
A copy of the WHMCS ruleset for your current version of WHMCS is displayed for your inspection and application.  Some web environments provide alternative mechanisms for performing URI rewrites on inbound HTTP requests.  Your system administrative staff should be able to update your alternative web environment based on this information to fully utilize the Friendly URLs feature of WHMCS.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-question-circle&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; These .htaccess rules apply to WHMCS version 7.2 and above.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
### BEGIN - WHMCS managed rules - DO NOT EDIT BETWEEN WHMCS MARKERS ###&lt;br /&gt;
&amp;lt;IfModule mod_rewrite.c&amp;gt;&lt;br /&gt;
RewriteEngine on&lt;br /&gt;
&lt;br /&gt;
# RewriteBase is set to &amp;quot;/&amp;quot; so rules do not need updating if the&lt;br /&gt;
# installation directory is relocated.  It is imperative that&lt;br /&gt;
# there is also a RewriteCond rule later that can effectively get&lt;br /&gt;
# the actual value by comparison against the request URI.&lt;br /&gt;
# &lt;br /&gt;
# If there are _any_ other RewriteBase directives in this file,&lt;br /&gt;
# the last entry will take precedence!&lt;br /&gt;
RewriteBase /&lt;br /&gt;
&lt;br /&gt;
# Redirect directories to an address with slash&lt;br /&gt;
RewriteCond %{REQUEST_FILENAME} -d&lt;br /&gt;
RewriteRule ^(.+[^/])$  $1/ [R]&lt;br /&gt;
&lt;br /&gt;
# Send all remaining (routable paths) through index.php&lt;br /&gt;
RewriteCond %{REQUEST_FILENAME} !-f&lt;br /&gt;
RewriteCond %{REQUEST_FILENAME} !-d&lt;br /&gt;
# Determine and use the actual base&lt;br /&gt;
RewriteCond $0#%{REQUEST_URI} ([^#]*)#(.*)\1$&lt;br /&gt;
RewriteRule ^.*$ %2index.php [QSA,L]&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
### END - WHMCS managed rules - DO NOT EDIT BETWEEN WHMCS MARKERS ###&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== IIS Environments =====&lt;br /&gt;
&lt;br /&gt;
To enable Friendly URLs for IIS environments:&lt;br /&gt;
&lt;br /&gt;
# Ensure that the URL rewrite module [http://learn.iis.net/page.aspx/460/using-the-url-rewrite-module/ is installed for IIS].&lt;br /&gt;
# Open '''IIS Manager'''.&lt;br /&gt;
# Go to the site you want to add the rule to.&lt;br /&gt;
# In the right pane, double-click and select ''urlrewrite''.&lt;br /&gt;
# On the right side inbound rules, select ''import rules''.&lt;br /&gt;
# Extract the &amp;lt;tt&amp;gt;mod_rewrite&amp;lt;/tt&amp;gt; rules from the WHMCS's rewrite file at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings''' or, prior to WHMCS 8.0, '''Setup &amp;gt; General Settings''', in the '''Advanced Settings''' section.&lt;br /&gt;
# Paste those rules into the '''rewrite rules''' field.&lt;br /&gt;
# Click '''Apply'''.&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Stripe_SEPA&amp;diff=33880</id>
		<title>Stripe SEPA</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Stripe_SEPA&amp;diff=33880"/>
				<updated>2023-02-07T14:44:45Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Payment Workflow */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this Module ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
We added this module in WHMCS 7.9.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Stripe SEPA payment gateway module is available in WHMCS.&lt;br /&gt;
{{gateways&lt;br /&gt;
| type = token&lt;br /&gt;
| recurring = yes&lt;br /&gt;
| onetime = yes&lt;br /&gt;
| refunds = yes&lt;br /&gt;
| deletecc = yes&lt;br /&gt;
}}&lt;br /&gt;
== Adding the Stripe SEPA Payment Gateway ==&lt;br /&gt;
&lt;br /&gt;
To set up the Stripe SEPA payment gateway in WHMCS:&lt;br /&gt;
 &lt;br /&gt;
# Go to the appropriate location for your version of WHMCS:&lt;br /&gt;
#* For WHMCS 8.0 and later, go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; Apps &amp;amp; Integrations''' or '''Addons &amp;gt; [[Apps and Integrations|Apps &amp;amp; Integrations]]'''.&lt;br /&gt;
#* For WHMCS 7.10 and earlier, go to '''Setup &amp;gt; Products/Services &amp;gt; [[Payment Gateways]]''' and choose '''All Payment Gateways'''.&lt;br /&gt;
# Click '''Stripe SEPA'''.&lt;br /&gt;
# Check '''Show on Order Form''' to display this payment method in the Client Area during checkout. &lt;br /&gt;
# Enter your Stripe credentials.&lt;br /&gt;
#* If you currently also use the [[Stripe]] payment gateway, you can check '''Use Stripe Configuration''' to use your existing API keys.&lt;br /&gt;
#* You can find your credentials in [https://dashboard.stripe.com/account/apikeys the Stripe portal].&lt;br /&gt;
#* Do not enter a value for the Webhook Secret Key. The system will generate it automatically. &lt;br /&gt;
#** The Stripe SEPA module requires a valid Webhook and Secret Key in order for payments to be recognised and automatically applied to invoices.&lt;br /&gt;
#** If you modify the secret key for the webhook at Stripe, you must also update it in WHMCS.&lt;br /&gt;
#* Do not enter a value for '''Webhook Endpoint Secret'''.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
&lt;br /&gt;
=== Test Mode ===  &lt;br /&gt;
&lt;br /&gt;
This module does not support test mode.&lt;br /&gt;
&lt;br /&gt;
== Transaction Fees ==&lt;br /&gt;
&lt;br /&gt;
Stripe returns transaction fees in the default currency of the Stripe account. If you have a different default currency in WHMCS, you must ensure you have configured the currency of your Stripe account in '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Currencies]]''' or, prior to WHMCS 8.0, ''Setup &amp;gt; Payments &amp;gt; Currencies'' along with a valid exchange rate to allow WHMCS to be able to convert the fee into your other currencies.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Supported Currencies ==&lt;br /&gt;
&lt;br /&gt;
Stripe SEPA '''only''' supports the EUR currency. For other currencies, the Stripe SEPA option won't appear when placing orders or paying invoices.&lt;br /&gt;
&lt;br /&gt;
==Payment Workflow==&lt;br /&gt;
&lt;br /&gt;
This module supports automated recurring and on-demand billing. &lt;br /&gt;
&lt;br /&gt;
SEPA Direct Debit is a pull-based, reusable, and asynchronous payment method. This means that it can take up to 14 business days to confirm the success or failure of a payment after you initiate a debit from the customer’s account, though the average is five business days.. The invoice will be placed in Payment Pending until the payment has cleared.&lt;br /&gt;
&lt;br /&gt;
When making a payment, customers are able to select to use a previously stored bank account or enter a new one. Customers never leave your WHMCS installation during checkout or adding/removing a new bank account. Personal bank information is submitted directly to Stripe and is never stored in your local WHMCS installation.&lt;br /&gt;
&lt;br /&gt;
The Stripe API is used for refunds and obtaining transaction information.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
''N/A''&lt;br /&gt;
&lt;br /&gt;
{{modules}}&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Stripe_SEPA&amp;diff=33879</id>
		<title>Stripe SEPA</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Stripe_SEPA&amp;diff=33879"/>
				<updated>2023-02-07T14:44:21Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Adding the Stripe SEPA Payment Gateway */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this Module ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
We added this module in WHMCS 7.9.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Stripe SEPA payment gateway module is available in WHMCS.&lt;br /&gt;
{{gateways&lt;br /&gt;
| type = token&lt;br /&gt;
| recurring = yes&lt;br /&gt;
| onetime = yes&lt;br /&gt;
| refunds = yes&lt;br /&gt;
| deletecc = yes&lt;br /&gt;
}}&lt;br /&gt;
== Adding the Stripe SEPA Payment Gateway ==&lt;br /&gt;
&lt;br /&gt;
To set up the Stripe SEPA payment gateway in WHMCS:&lt;br /&gt;
 &lt;br /&gt;
# Go to the appropriate location for your version of WHMCS:&lt;br /&gt;
#* For WHMCS 8.0 and later, go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; Apps &amp;amp; Integrations''' or '''Addons &amp;gt; [[Apps and Integrations|Apps &amp;amp; Integrations]]'''.&lt;br /&gt;
#* For WHMCS 7.10 and earlier, go to '''Setup &amp;gt; Products/Services &amp;gt; [[Payment Gateways]]''' and choose '''All Payment Gateways'''.&lt;br /&gt;
# Click '''Stripe SEPA'''.&lt;br /&gt;
# Check '''Show on Order Form''' to display this payment method in the Client Area during checkout. &lt;br /&gt;
# Enter your Stripe credentials.&lt;br /&gt;
#* If you currently also use the [[Stripe]] payment gateway, you can check '''Use Stripe Configuration''' to use your existing API keys.&lt;br /&gt;
#* You can find your credentials in [https://dashboard.stripe.com/account/apikeys the Stripe portal].&lt;br /&gt;
#* Do not enter a value for the Webhook Secret Key. The system will generate it automatically. &lt;br /&gt;
#** The Stripe SEPA module requires a valid Webhook and Secret Key in order for payments to be recognised and automatically applied to invoices.&lt;br /&gt;
#** If you modify the secret key for the webhook at Stripe, you must also update it in WHMCS.&lt;br /&gt;
#* Do not enter a value for '''Webhook Endpoint Secret'''.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
&lt;br /&gt;
=== Test Mode ===  &lt;br /&gt;
&lt;br /&gt;
This module does not support test mode.&lt;br /&gt;
&lt;br /&gt;
== Transaction Fees ==&lt;br /&gt;
&lt;br /&gt;
Stripe returns transaction fees in the default currency of the Stripe account. If you have a different default currency in WHMCS, you must ensure you have configured the currency of your Stripe account in '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Currencies]]''' or, prior to WHMCS 8.0, ''Setup &amp;gt; Payments &amp;gt; Currencies'' along with a valid exchange rate to allow WHMCS to be able to convert the fee into your other currencies.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Supported Currencies ==&lt;br /&gt;
&lt;br /&gt;
Stripe SEPA '''only''' supports the EUR currency. For other currencies, the Stripe SEPA option won't appear when placing orders or paying invoices.&lt;br /&gt;
&lt;br /&gt;
==Payment Workflow==&lt;br /&gt;
&lt;br /&gt;
This module supports automated recurring and on-demand billing. &lt;br /&gt;
&lt;br /&gt;
SEPA Direct Debit is a pull-based, reusable, and asynchronous payment method. This means that it can take up to 14 business days to confirm the success or failure of a payment after you initiate a debit from the customer’s account, though the average is five business days.. The invoice will be placed in Payment Pending until the payment has cleared.&lt;br /&gt;
&lt;br /&gt;
When making a payment, customers are able to select to use a previously stored bank account or enter a new one. Customers never leave your WHMCS installation during checkout or adding/removing a new bank account. Personal bank information is submitted directly to Stripe/Plaid and is never stored in your local WHMCS installation.&lt;br /&gt;
&lt;br /&gt;
The Stripe API is used for refunds and obtaining transaction information.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
''N/A''&lt;br /&gt;
&lt;br /&gt;
{{modules}}&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=AsiaPay&amp;diff=33878</id>
		<title>AsiaPay</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=AsiaPay&amp;diff=33878"/>
				<updated>2023-02-07T13:46:47Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Troubleshooting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this Module ==&lt;br /&gt;
 &lt;br /&gt;
[http://www.asiapay.com AsiaPay] is an online payment service and solutions provider in Asia that provides electronic payment gateway solutions.  AsiaPay offers multi-currency, multi-lingual, multi-card, and multi-channel functionality together with advanced fraud detection and management solutions. &lt;br /&gt;
&lt;br /&gt;
Headquartered in Hong Kong, AsiaPay supports 12 countries including Asia including: Hong Kong, China, India, Indonesia, Malaysia, Singapore, Philippines, Taiwan, Thailand and Vietnam and is rapidly expanding to new Asia Pacific markets.&lt;br /&gt;
{{gateways&lt;br /&gt;
| onetime = yes&lt;br /&gt;
| recurring = yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Adding the AsiaPay Payment Gateway ==&lt;br /&gt;
&lt;br /&gt;
To set up the AsiaPay payment gateway in WHMCS:&lt;br /&gt;
 &lt;br /&gt;
# Go to the appropriate location for your version of WHMCS:&lt;br /&gt;
#* For WHMCS 8.0 and later, go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; Apps &amp;amp; Integrations''' or '''Addons &amp;gt; [[Apps and Integrations|Apps &amp;amp; Integrations]]'''.&lt;br /&gt;
#* For WHMCS 7.10 and earlier, go to '''Setup &amp;gt; Products/Services &amp;gt; [[Payment Gateways]]''' and choose '''All Payment Gateways'''.&lt;br /&gt;
# Click '''AsiaPay'''.&lt;br /&gt;
# Check '''Show on Order Form''' to display this payment method in the Client Area during checkout. &lt;br /&gt;
# Optionally, update the '''Display Name''' value.&lt;br /&gt;
# Enter your merchant ID.&lt;br /&gt;
# Enter your secure hash key (see below).&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
&lt;br /&gt;
=== Secure Hash Key ===&lt;br /&gt;
&lt;br /&gt;
We recommend using the Secure Hash Key to protect against unauthorized callbacks.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;As of WHMCS 6.0, configuring a Secure Hash Key is required. No callbacks will be accepted or processed without it.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To setup a Secure Hash Key within your AsiaPay account, you must contact the PayDollar Service Department (service@paydollar.com) to request the Secure Hash function be enabled for your merchant account.  Once enabled, you can retrieve the hash from within the Merchant Administration Interface by navigating to '''Profile &amp;gt; Payment Information'''.&lt;br /&gt;
&lt;br /&gt;
Once you have obtained your Secure Hash, enter it into the &amp;quot;Secure Hash Key&amp;quot; field within the WHMCS Payment Gateway Configuration area for the AsiaPay module.&lt;br /&gt;
&lt;br /&gt;
The instructions above are correct as of the time of writing (June 2015).&lt;br /&gt;
&lt;br /&gt;
=== Test Mode ===  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Note&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
''Notes about any module-specific requirements.''&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can use test mode to simulate payment processing without actually causing a transaction to occur. This can be useful to test your configuration.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== Parameter currCode Incorrect ===&lt;br /&gt;
 &lt;br /&gt;
Receiving this error when attempting to make a payment indicates that AsiaPay doesn't support the client's currency. This module supports the following currencies:&lt;br /&gt;
 &lt;br /&gt;
* USD&lt;br /&gt;
* HKD&lt;br /&gt;
* SGD&lt;br /&gt;
* CNY&lt;br /&gt;
* JPY&lt;br /&gt;
* TWD&lt;br /&gt;
* AUD&lt;br /&gt;
* EUR&lt;br /&gt;
* GBP&lt;br /&gt;
* CAD&lt;br /&gt;
* MOP&lt;br /&gt;
* PHP&lt;br /&gt;
* THB&lt;br /&gt;
* MYR&lt;br /&gt;
* IDR&lt;br /&gt;
* KRW&lt;br /&gt;
&lt;br /&gt;
{{modules}}&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Downloads&amp;diff=33728</id>
		<title>Downloads</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Downloads&amp;diff=33728"/>
				<updated>2022-12-13T13:24:48Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Add a Download */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can offer downloads for your users. This could be anything from product user manuals, relevant software utilities or even the actual products being sold. They can either be hosted locally or remotely. &lt;br /&gt;
&lt;br /&gt;
You can access this feature at '''Support &amp;gt; Downloads'''.&lt;br /&gt;
&lt;br /&gt;
== Add Downloads ==&lt;br /&gt;
&lt;br /&gt;
To offer downloads, you must first create categories. Then, you can add the individual download files.&lt;br /&gt;
&lt;br /&gt;
=== Add a Category ===&lt;br /&gt;
&lt;br /&gt;
To add a category:&lt;br /&gt;
&lt;br /&gt;
# Use the list of categories to navigate to the desired parent category.&lt;br /&gt;
# Select the '''Add Category''' tab.&lt;br /&gt;
# Enter a name to display.&lt;br /&gt;
# Optionally, check '''Hide''' to make this category invisible. If you do this, the category will be available only via direct links. &lt;br /&gt;
# Enter a description.&lt;br /&gt;
# Click '''Add Category'''.&lt;br /&gt;
&lt;br /&gt;
=== Add a Download ===&lt;br /&gt;
&lt;br /&gt;
To add a download:&lt;br /&gt;
&lt;br /&gt;
# Use the list of categories to navigate to the desired category.&lt;br /&gt;
# Select the '''Add Download''' tab.&lt;br /&gt;
# Select a file type.&lt;br /&gt;
# Enter the title and description.&lt;br /&gt;
# In the '''Upload File''' section, select the location of the file:&lt;br /&gt;
#* For remotely-hosted files, choose '''Manual FTP Upload to Downloads Folder''' and enter the full URL to the file, including &amp;lt;tt&amp;gt;http://&amp;lt;/tt&amp;gt;.&lt;br /&gt;
#* For locally-hosted files that exist in the specified '''Downloads''' location at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Storage Settings]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Storage Settings''', enter the filename.&lt;br /&gt;
#* For large files, we recommend uploading via FTP and choosing '''Manual FTP Upload to Downloads Folder'''.&lt;br /&gt;
#* For small files, we recommend uploading by clicking '''Upload File'''. This will upload the file to the &amp;lt;tt&amp;gt;downloads&amp;lt;/tt&amp;gt; directory.&lt;br /&gt;
# To only offer this download to authenticated clients, check '''Clients Only'''.&lt;br /&gt;
# To only offer this download after a purchase, check '''Product Download'''. For more information, see [[Product Downloads Distribution]].&lt;br /&gt;
# To hide this download in the Client Area, check '''Hidden'''.&lt;br /&gt;
# Click '''Add Download'''.&lt;br /&gt;
&lt;br /&gt;
== Edit Downloads ==&lt;br /&gt;
&lt;br /&gt;
To edit an existing download, use the list of categories to navigate to the desired category and then click on the download name.&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Enom&amp;diff=33657</id>
		<title>Enom</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Enom&amp;diff=33657"/>
				<updated>2022-11-15T14:30:32Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* User not permitted from this IP address */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this Module ==&lt;br /&gt;
&lt;br /&gt;
The Enom module allows you to register and manage domains with Enom.&lt;br /&gt;
{{registrar&lt;br /&gt;
| register = yes&lt;br /&gt;
| transfer = yes&lt;br /&gt;
| renew = yes&lt;br /&gt;
| lock = yes&lt;br /&gt;
| dns = yes&lt;br /&gt;
| whois = yes&lt;br /&gt;
| getepp = yes&lt;br /&gt;
| regns = yes&lt;br /&gt;
| dnsmanagement = yes&lt;br /&gt;
| emailforwarding = yes&lt;br /&gt;
| domainsync = yes&lt;br /&gt;
| premium = yes&lt;br /&gt;
| transferout = yes&lt;br /&gt;
| tldpricingsync = yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Activation==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-success&amp;quot;&amp;gt;&lt;br /&gt;
You must create an [https://www.whmcs.com/partners/enom/ Enom account].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To activate and begin using the Enom registrar module:&lt;br /&gt;
&lt;br /&gt;
# Log in to your account on the [https://www.enom.com/apitokens/default.aspx Enom website].&lt;br /&gt;
# Enter an identifying name in the textbox (for example, &amp;lt;tt&amp;gt;WHMCS&amp;lt;/tt&amp;gt;).&lt;br /&gt;
# Click '''Generate New API Token'''.&lt;br /&gt;
# Copy the generated API token.&lt;br /&gt;
# Log in to the WHMCS Admin Area.&lt;br /&gt;
# Go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Domain Registrars]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Domain Registrars'''.&lt;br /&gt;
# Find '''Enom''' in the list.&lt;br /&gt;
# Click '''Activate'''.&lt;br /&gt;
# Enter your Enom username.&lt;br /&gt;
# Paste in the API token.&lt;br /&gt;
# Check '''Disable IRTP''' to prevent WHMCS from displaying contact information verification notices.&lt;br /&gt;
# Check '''Use Default Nameservers''' to use Enom's default nameservers for new registrations, overriding the nameservers in WHMCS.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
# In your Enom account, go to '''Resellers &amp;gt; Manage &amp;gt; API''' and add your server's IP address. &lt;br /&gt;
#* You can find this address in WHMCS at '''Help &amp;gt; [[License Information]]'''.&lt;br /&gt;
#* If you do not do this, you will see a '''Registrar Error Invalid Client IP''' error.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;a href=&amp;quot;http://www.youtube.com/watch?v=0Sz9mkBzLN0&amp;amp;hd=1&amp;quot; class=&amp;quot;docs-video-tutorial&amp;quot;&amp;gt;&amp;lt;em&amp;gt;Watch the video tutorial for this feature&amp;lt;/em&amp;gt;&amp;lt;span&amp;gt;&amp;amp;nbsp;&amp;lt;img src=&amp;quot;https://assets.whmcs.com/icons/youtube.png&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;Before you can begin using the Enom API with your account. you must authorize your server IP address for access to your account. See below for steps to do this.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test Mode ===&lt;br /&gt;
&lt;br /&gt;
You can use test mode to simulate domain registration and management function without registering a domain or incurring charges. This can be useful to test WHMCS configurations.&lt;br /&gt;
&lt;br /&gt;
Before you enable '''Test Mode''' in WHMCS, you must register on Enom's Reseller Test environment:&lt;br /&gt;
&lt;br /&gt;
# Log in to [https://resellertest.enom.com/resellers/reseller-testaccount.aspx Enom's Reseller Test Account].&lt;br /&gt;
# Click all three links under '''Test Interface Options''' to configure the test account.&lt;br /&gt;
# [https://resellertest.enom.com/apitokens/default.aspx Generate a test API token.]&lt;br /&gt;
&lt;br /&gt;
When you place domain registration orders in WHMCS with test mode active, the domains will appear on your demo Enom account (&amp;lt;tt&amp;gt;http://resellertest.enom.com&amp;lt;/tt&amp;gt;) but no domain will actually be registered and you will not be charged.&lt;br /&gt;
&lt;br /&gt;
=== .ca Registrations ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;.ca&amp;lt;/tt&amp;gt; registrations require additional fields. The &amp;lt;tt&amp;gt;Invalid registrant information&amp;lt;/tt&amp;gt; error is due to problems with the location field. &lt;br /&gt;
&lt;br /&gt;
Instead of entering the full place name, use one of the following province abbreviations:&lt;br /&gt;
&lt;br /&gt;
* Alberta — &amp;lt;tt&amp;gt;AB&amp;lt;/tt&amp;gt;&lt;br /&gt;
* British Columbia — &amp;lt;tt&amp;gt;BC&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Manitoba — &amp;lt;tt&amp;gt;MB&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* New Brunswick — &amp;lt;tt&amp;gt;NB&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Newfoundland and Labrador — &amp;lt;tt&amp;gt;NL&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Northwest Territories — &amp;lt;tt&amp;gt;NT&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Nova Scotia — &amp;lt;tt&amp;gt;NS&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Nunavut — &amp;lt;tt&amp;gt;NU&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Ontario — &amp;lt;tt&amp;gt;ON&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Prince Edward Island — &amp;lt;tt&amp;gt;PE&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Quebec — &amp;lt;tt&amp;gt;QC&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Saskatchewan — &amp;lt;tt&amp;gt;SK&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Yukon — &amp;lt;tt&amp;gt;YT&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Transfer Pricing ==&lt;br /&gt;
&lt;br /&gt;
Enom does not allow a domain's registration term to be defined when transferring a domain name.&lt;br /&gt;
 &lt;br /&gt;
When configuring pricing for TLDs to transfer using Enom, only configure a one year transfer price. Set all other transfer prices to &amp;lt;tt&amp;gt;-1.00&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Automatic Registration ==&lt;br /&gt;
&lt;br /&gt;
WHMCS allows you to set up automatic domain registration on a per-extension basis, enabling you to use different registrars for different TLDs.&lt;br /&gt;
&lt;br /&gt;
To enable automatic registration, see [[Domain Pricing]]. &lt;br /&gt;
&lt;br /&gt;
== Automatic Domain Synchronization ==&lt;br /&gt;
&lt;br /&gt;
This module supports automatic domain synchronization for syncing expiry dates and status changes for incoming transfers.&lt;br /&gt;
&lt;br /&gt;
To use this, enable '''Domain Sync Enabled''' in the '''[[Domains_Tab|Domains]]''' tab at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings''' or, prior to WHMCS 8.0, '''Setup &amp;gt; General Settings'''. You must also make certain to configure the '''[[Crons#Domain_Sync_Cron|Domain Sync Cron]]'''.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== User not permitted from this IP address ===&lt;br /&gt;
&lt;br /&gt;
This error message indicates that you haven't yet allowed your server's IP to [[#Activation|access your Enom account via the API]] as described in step 14 above. This must be done via the Enom website before you can use the integration.&lt;br /&gt;
&lt;br /&gt;
The IP you need to authorize is typically the main shared IP of the server, usually most easily found from the IP your WHMCS license is assigned to, but if you're unsure or neither of those IPs work, then Enom can assist and advise you of the IP they see your connection tests as coming from via a support ticket.&lt;br /&gt;
&lt;br /&gt;
=== Cannot parse empty response from server/Empty data response from server - Please try again later ===&lt;br /&gt;
&lt;br /&gt;
This can occur only if an empty response is received from Enom. This isn't a curl error, but an empty response from the Enom API. This suggests a temporary problem at Enom's end. Trying the command again later should be successful.&lt;br /&gt;
&lt;br /&gt;
=== Invalid data response from server - Please try again later ===&lt;br /&gt;
&lt;br /&gt;
This can occur when an unexpected response occurs; e.g. a 404 error or other non-XML method. This suggests a temporary problem at Enom's end. Trying the command again later should be successful.&lt;br /&gt;
 &lt;br /&gt;
=== CURL Error ===&lt;br /&gt;
&lt;br /&gt;
A standard curl error which indicates a connection issue between your server and Enom's API. Make certain that your server is able to make cURL calls to the following URLs:&lt;br /&gt;
 &lt;br /&gt;
Demo Mode: &amp;lt;tt&amp;gt;resellertest.enom.com&amp;lt;/tt&amp;gt;&lt;br /&gt;
Live Mode: &amp;lt;tt&amp;gt;reseller.enom.com&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Domain name not found ===&lt;br /&gt;
&lt;br /&gt;
This error occurs when the domain does not exist in your Enom account. This message will be displayed when a domain transfer is in progress but will automatically disappear when the transfer is complete. &lt;br /&gt;
&lt;br /&gt;
{{modules}}&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Enom&amp;diff=33656</id>
		<title>Enom</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Enom&amp;diff=33656"/>
				<updated>2022-11-15T14:29:20Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* User not permitted from this IP address */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this Module ==&lt;br /&gt;
&lt;br /&gt;
The Enom module allows you to register and manage domains with Enom.&lt;br /&gt;
{{registrar&lt;br /&gt;
| register = yes&lt;br /&gt;
| transfer = yes&lt;br /&gt;
| renew = yes&lt;br /&gt;
| lock = yes&lt;br /&gt;
| dns = yes&lt;br /&gt;
| whois = yes&lt;br /&gt;
| getepp = yes&lt;br /&gt;
| regns = yes&lt;br /&gt;
| dnsmanagement = yes&lt;br /&gt;
| emailforwarding = yes&lt;br /&gt;
| domainsync = yes&lt;br /&gt;
| premium = yes&lt;br /&gt;
| transferout = yes&lt;br /&gt;
| tldpricingsync = yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Activation==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-success&amp;quot;&amp;gt;&lt;br /&gt;
You must create an [https://www.whmcs.com/partners/enom/ Enom account].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To activate and begin using the Enom registrar module:&lt;br /&gt;
&lt;br /&gt;
# Log in to your account on the [https://www.enom.com/apitokens/default.aspx Enom website].&lt;br /&gt;
# Enter an identifying name in the textbox (for example, &amp;lt;tt&amp;gt;WHMCS&amp;lt;/tt&amp;gt;).&lt;br /&gt;
# Click '''Generate New API Token'''.&lt;br /&gt;
# Copy the generated API token.&lt;br /&gt;
# Log in to the WHMCS Admin Area.&lt;br /&gt;
# Go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Domain Registrars]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Domain Registrars'''.&lt;br /&gt;
# Find '''Enom''' in the list.&lt;br /&gt;
# Click '''Activate'''.&lt;br /&gt;
# Enter your Enom username.&lt;br /&gt;
# Paste in the API token.&lt;br /&gt;
# Check '''Disable IRTP''' to prevent WHMCS from displaying contact information verification notices.&lt;br /&gt;
# Check '''Use Default Nameservers''' to use Enom's default nameservers for new registrations, overriding the nameservers in WHMCS.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
# In your Enom account, go to '''Resellers &amp;gt; Manage &amp;gt; API''' and add your server's IP address. &lt;br /&gt;
#* You can find this address in WHMCS at '''Help &amp;gt; [[License Information]]'''.&lt;br /&gt;
#* If you do not do this, you will see a '''Registrar Error Invalid Client IP''' error.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;a href=&amp;quot;http://www.youtube.com/watch?v=0Sz9mkBzLN0&amp;amp;hd=1&amp;quot; class=&amp;quot;docs-video-tutorial&amp;quot;&amp;gt;&amp;lt;em&amp;gt;Watch the video tutorial for this feature&amp;lt;/em&amp;gt;&amp;lt;span&amp;gt;&amp;amp;nbsp;&amp;lt;img src=&amp;quot;https://assets.whmcs.com/icons/youtube.png&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;Before you can begin using the Enom API with your account. you must authorize your server IP address for access to your account. See below for steps to do this.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test Mode ===&lt;br /&gt;
&lt;br /&gt;
You can use test mode to simulate domain registration and management function without registering a domain or incurring charges. This can be useful to test WHMCS configurations.&lt;br /&gt;
&lt;br /&gt;
Before you enable '''Test Mode''' in WHMCS, you must register on Enom's Reseller Test environment:&lt;br /&gt;
&lt;br /&gt;
# Log in to [https://resellertest.enom.com/resellers/reseller-testaccount.aspx Enom's Reseller Test Account].&lt;br /&gt;
# Click all three links under '''Test Interface Options''' to configure the test account.&lt;br /&gt;
# [https://resellertest.enom.com/apitokens/default.aspx Generate a test API token.]&lt;br /&gt;
&lt;br /&gt;
When you place domain registration orders in WHMCS with test mode active, the domains will appear on your demo Enom account (&amp;lt;tt&amp;gt;http://resellertest.enom.com&amp;lt;/tt&amp;gt;) but no domain will actually be registered and you will not be charged.&lt;br /&gt;
&lt;br /&gt;
=== .ca Registrations ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;.ca&amp;lt;/tt&amp;gt; registrations require additional fields. The &amp;lt;tt&amp;gt;Invalid registrant information&amp;lt;/tt&amp;gt; error is due to problems with the location field. &lt;br /&gt;
&lt;br /&gt;
Instead of entering the full place name, use one of the following province abbreviations:&lt;br /&gt;
&lt;br /&gt;
* Alberta — &amp;lt;tt&amp;gt;AB&amp;lt;/tt&amp;gt;&lt;br /&gt;
* British Columbia — &amp;lt;tt&amp;gt;BC&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Manitoba — &amp;lt;tt&amp;gt;MB&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* New Brunswick — &amp;lt;tt&amp;gt;NB&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Newfoundland and Labrador — &amp;lt;tt&amp;gt;NL&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Northwest Territories — &amp;lt;tt&amp;gt;NT&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Nova Scotia — &amp;lt;tt&amp;gt;NS&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Nunavut — &amp;lt;tt&amp;gt;NU&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Ontario — &amp;lt;tt&amp;gt;ON&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Prince Edward Island — &amp;lt;tt&amp;gt;PE&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Quebec — &amp;lt;tt&amp;gt;QC&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Saskatchewan — &amp;lt;tt&amp;gt;SK&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Yukon — &amp;lt;tt&amp;gt;YT&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Transfer Pricing ==&lt;br /&gt;
&lt;br /&gt;
Enom does not allow a domain's registration term to be defined when transferring a domain name.&lt;br /&gt;
 &lt;br /&gt;
When configuring pricing for TLDs to transfer using Enom, only configure a one year transfer price. Set all other transfer prices to &amp;lt;tt&amp;gt;-1.00&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Automatic Registration ==&lt;br /&gt;
&lt;br /&gt;
WHMCS allows you to set up automatic domain registration on a per-extension basis, enabling you to use different registrars for different TLDs.&lt;br /&gt;
&lt;br /&gt;
To enable automatic registration, see [[Domain Pricing]]. &lt;br /&gt;
&lt;br /&gt;
== Automatic Domain Synchronization ==&lt;br /&gt;
&lt;br /&gt;
This module supports automatic domain synchronization for syncing expiry dates and status changes for incoming transfers.&lt;br /&gt;
&lt;br /&gt;
To use this, enable '''Domain Sync Enabled''' in the '''[[Domains_Tab|Domains]]''' tab at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings''' or, prior to WHMCS 8.0, '''Setup &amp;gt; General Settings'''. You must also make certain to configure the '''[[Crons#Domain_Sync_Cron|Domain Sync Cron]]'''.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== User not permitted from this IP address ===&lt;br /&gt;
&lt;br /&gt;
This error message indicates that you haven't yet allowed your server's IP to [[#Activation)|access your Enom account via the API]] as described in step 14 above. This must be done via the Enom website before you can use the integration.&lt;br /&gt;
&lt;br /&gt;
The IP you need to authorize is typically the main shared IP of the server, usually most easily found from the IP your WHMCS license is assigned to, but if you're unsure or neither of those IPs work, then Enom can assist and advise you of the IP they see your connection tests as coming from via a support ticket.&lt;br /&gt;
&lt;br /&gt;
=== Cannot parse empty response from server/Empty data response from server - Please try again later ===&lt;br /&gt;
&lt;br /&gt;
This can occur only if an empty response is received from Enom. This isn't a curl error, but an empty response from the Enom API. This suggests a temporary problem at Enom's end. Trying the command again later should be successful.&lt;br /&gt;
&lt;br /&gt;
=== Invalid data response from server - Please try again later ===&lt;br /&gt;
&lt;br /&gt;
This can occur when an unexpected response occurs; e.g. a 404 error or other non-XML method. This suggests a temporary problem at Enom's end. Trying the command again later should be successful.&lt;br /&gt;
 &lt;br /&gt;
=== CURL Error ===&lt;br /&gt;
&lt;br /&gt;
A standard curl error which indicates a connection issue between your server and Enom's API. Make certain that your server is able to make cURL calls to the following URLs:&lt;br /&gt;
 &lt;br /&gt;
Demo Mode: &amp;lt;tt&amp;gt;resellertest.enom.com&amp;lt;/tt&amp;gt;&lt;br /&gt;
Live Mode: &amp;lt;tt&amp;gt;reseller.enom.com&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Domain name not found ===&lt;br /&gt;
&lt;br /&gt;
This error occurs when the domain does not exist in your Enom account. This message will be displayed when a domain transfer is in progress but will automatically disappear when the transfer is complete. &lt;br /&gt;
&lt;br /&gt;
{{modules}}&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Enom&amp;diff=33655</id>
		<title>Enom</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Enom&amp;diff=33655"/>
				<updated>2022-11-15T14:28:38Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* User not permitted from this IP address */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this Module ==&lt;br /&gt;
&lt;br /&gt;
The Enom module allows you to register and manage domains with Enom.&lt;br /&gt;
{{registrar&lt;br /&gt;
| register = yes&lt;br /&gt;
| transfer = yes&lt;br /&gt;
| renew = yes&lt;br /&gt;
| lock = yes&lt;br /&gt;
| dns = yes&lt;br /&gt;
| whois = yes&lt;br /&gt;
| getepp = yes&lt;br /&gt;
| regns = yes&lt;br /&gt;
| dnsmanagement = yes&lt;br /&gt;
| emailforwarding = yes&lt;br /&gt;
| domainsync = yes&lt;br /&gt;
| premium = yes&lt;br /&gt;
| transferout = yes&lt;br /&gt;
| tldpricingsync = yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Activation==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-success&amp;quot;&amp;gt;&lt;br /&gt;
You must create an [https://www.whmcs.com/partners/enom/ Enom account].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To activate and begin using the Enom registrar module:&lt;br /&gt;
&lt;br /&gt;
# Log in to your account on the [https://www.enom.com/apitokens/default.aspx Enom website].&lt;br /&gt;
# Enter an identifying name in the textbox (for example, &amp;lt;tt&amp;gt;WHMCS&amp;lt;/tt&amp;gt;).&lt;br /&gt;
# Click '''Generate New API Token'''.&lt;br /&gt;
# Copy the generated API token.&lt;br /&gt;
# Log in to the WHMCS Admin Area.&lt;br /&gt;
# Go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Domain Registrars]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Domain Registrars'''.&lt;br /&gt;
# Find '''Enom''' in the list.&lt;br /&gt;
# Click '''Activate'''.&lt;br /&gt;
# Enter your Enom username.&lt;br /&gt;
# Paste in the API token.&lt;br /&gt;
# Check '''Disable IRTP''' to prevent WHMCS from displaying contact information verification notices.&lt;br /&gt;
# Check '''Use Default Nameservers''' to use Enom's default nameservers for new registrations, overriding the nameservers in WHMCS.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
# In your Enom account, go to '''Resellers &amp;gt; Manage &amp;gt; API''' and add your server's IP address. &lt;br /&gt;
#* You can find this address in WHMCS at '''Help &amp;gt; [[License Information]]'''.&lt;br /&gt;
#* If you do not do this, you will see a '''Registrar Error Invalid Client IP''' error.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;a href=&amp;quot;http://www.youtube.com/watch?v=0Sz9mkBzLN0&amp;amp;hd=1&amp;quot; class=&amp;quot;docs-video-tutorial&amp;quot;&amp;gt;&amp;lt;em&amp;gt;Watch the video tutorial for this feature&amp;lt;/em&amp;gt;&amp;lt;span&amp;gt;&amp;amp;nbsp;&amp;lt;img src=&amp;quot;https://assets.whmcs.com/icons/youtube.png&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;Before you can begin using the Enom API with your account. you must authorize your server IP address for access to your account. See below for steps to do this.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test Mode ===&lt;br /&gt;
&lt;br /&gt;
You can use test mode to simulate domain registration and management function without registering a domain or incurring charges. This can be useful to test WHMCS configurations.&lt;br /&gt;
&lt;br /&gt;
Before you enable '''Test Mode''' in WHMCS, you must register on Enom's Reseller Test environment:&lt;br /&gt;
&lt;br /&gt;
# Log in to [https://resellertest.enom.com/resellers/reseller-testaccount.aspx Enom's Reseller Test Account].&lt;br /&gt;
# Click all three links under '''Test Interface Options''' to configure the test account.&lt;br /&gt;
# [https://resellertest.enom.com/apitokens/default.aspx Generate a test API token.]&lt;br /&gt;
&lt;br /&gt;
When you place domain registration orders in WHMCS with test mode active, the domains will appear on your demo Enom account (&amp;lt;tt&amp;gt;http://resellertest.enom.com&amp;lt;/tt&amp;gt;) but no domain will actually be registered and you will not be charged.&lt;br /&gt;
&lt;br /&gt;
=== .ca Registrations ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;.ca&amp;lt;/tt&amp;gt; registrations require additional fields. The &amp;lt;tt&amp;gt;Invalid registrant information&amp;lt;/tt&amp;gt; error is due to problems with the location field. &lt;br /&gt;
&lt;br /&gt;
Instead of entering the full place name, use one of the following province abbreviations:&lt;br /&gt;
&lt;br /&gt;
* Alberta — &amp;lt;tt&amp;gt;AB&amp;lt;/tt&amp;gt;&lt;br /&gt;
* British Columbia — &amp;lt;tt&amp;gt;BC&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Manitoba — &amp;lt;tt&amp;gt;MB&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* New Brunswick — &amp;lt;tt&amp;gt;NB&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Newfoundland and Labrador — &amp;lt;tt&amp;gt;NL&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Northwest Territories — &amp;lt;tt&amp;gt;NT&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Nova Scotia — &amp;lt;tt&amp;gt;NS&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Nunavut — &amp;lt;tt&amp;gt;NU&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Ontario — &amp;lt;tt&amp;gt;ON&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Prince Edward Island — &amp;lt;tt&amp;gt;PE&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Quebec — &amp;lt;tt&amp;gt;QC&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Saskatchewan — &amp;lt;tt&amp;gt;SK&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Yukon — &amp;lt;tt&amp;gt;YT&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Transfer Pricing ==&lt;br /&gt;
&lt;br /&gt;
Enom does not allow a domain's registration term to be defined when transferring a domain name.&lt;br /&gt;
 &lt;br /&gt;
When configuring pricing for TLDs to transfer using Enom, only configure a one year transfer price. Set all other transfer prices to &amp;lt;tt&amp;gt;-1.00&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Automatic Registration ==&lt;br /&gt;
&lt;br /&gt;
WHMCS allows you to set up automatic domain registration on a per-extension basis, enabling you to use different registrars for different TLDs.&lt;br /&gt;
&lt;br /&gt;
To enable automatic registration, see [[Domain Pricing]]. &lt;br /&gt;
&lt;br /&gt;
== Automatic Domain Synchronization ==&lt;br /&gt;
&lt;br /&gt;
This module supports automatic domain synchronization for syncing expiry dates and status changes for incoming transfers.&lt;br /&gt;
&lt;br /&gt;
To use this, enable '''Domain Sync Enabled''' in the '''[[Domains_Tab|Domains]]''' tab at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings''' or, prior to WHMCS 8.0, '''Setup &amp;gt; General Settings'''. You must also make certain to configure the '''[[Crons#Domain_Sync_Cron|Domain Sync Cron]]'''.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== User not permitted from this IP address ===&lt;br /&gt;
&lt;br /&gt;
This error message indicates that you haven't yet allowed your server's IP to [[Enom#Activation)|access your Enom account via the API]] as described in step 14 above. This must be done via the Enom website before you can use the integration.&lt;br /&gt;
&lt;br /&gt;
The IP you need to authorize is typically the main shared IP of the server, usually most easily found from the IP your WHMCS license is assigned to, but if you're unsure or neither of those IPs work, then Enom can assist and advise you of the IP they see your connection tests as coming from via a support ticket.&lt;br /&gt;
&lt;br /&gt;
=== Cannot parse empty response from server/Empty data response from server - Please try again later ===&lt;br /&gt;
&lt;br /&gt;
This can occur only if an empty response is received from Enom. This isn't a curl error, but an empty response from the Enom API. This suggests a temporary problem at Enom's end. Trying the command again later should be successful.&lt;br /&gt;
&lt;br /&gt;
=== Invalid data response from server - Please try again later ===&lt;br /&gt;
&lt;br /&gt;
This can occur when an unexpected response occurs; e.g. a 404 error or other non-XML method. This suggests a temporary problem at Enom's end. Trying the command again later should be successful.&lt;br /&gt;
 &lt;br /&gt;
=== CURL Error ===&lt;br /&gt;
&lt;br /&gt;
A standard curl error which indicates a connection issue between your server and Enom's API. Make certain that your server is able to make cURL calls to the following URLs:&lt;br /&gt;
 &lt;br /&gt;
Demo Mode: &amp;lt;tt&amp;gt;resellertest.enom.com&amp;lt;/tt&amp;gt;&lt;br /&gt;
Live Mode: &amp;lt;tt&amp;gt;reseller.enom.com&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Domain name not found ===&lt;br /&gt;
&lt;br /&gt;
This error occurs when the domain does not exist in your Enom account. This message will be displayed when a domain transfer is in progress but will automatically disappear when the transfer is complete. &lt;br /&gt;
&lt;br /&gt;
{{modules}}&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Enom&amp;diff=33654</id>
		<title>Enom</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Enom&amp;diff=33654"/>
				<updated>2022-11-15T14:28:10Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* User not permitted from this IP address */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this Module ==&lt;br /&gt;
&lt;br /&gt;
The Enom module allows you to register and manage domains with Enom.&lt;br /&gt;
{{registrar&lt;br /&gt;
| register = yes&lt;br /&gt;
| transfer = yes&lt;br /&gt;
| renew = yes&lt;br /&gt;
| lock = yes&lt;br /&gt;
| dns = yes&lt;br /&gt;
| whois = yes&lt;br /&gt;
| getepp = yes&lt;br /&gt;
| regns = yes&lt;br /&gt;
| dnsmanagement = yes&lt;br /&gt;
| emailforwarding = yes&lt;br /&gt;
| domainsync = yes&lt;br /&gt;
| premium = yes&lt;br /&gt;
| transferout = yes&lt;br /&gt;
| tldpricingsync = yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Activation==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-success&amp;quot;&amp;gt;&lt;br /&gt;
You must create an [https://www.whmcs.com/partners/enom/ Enom account].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To activate and begin using the Enom registrar module:&lt;br /&gt;
&lt;br /&gt;
# Log in to your account on the [https://www.enom.com/apitokens/default.aspx Enom website].&lt;br /&gt;
# Enter an identifying name in the textbox (for example, &amp;lt;tt&amp;gt;WHMCS&amp;lt;/tt&amp;gt;).&lt;br /&gt;
# Click '''Generate New API Token'''.&lt;br /&gt;
# Copy the generated API token.&lt;br /&gt;
# Log in to the WHMCS Admin Area.&lt;br /&gt;
# Go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Domain Registrars]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Domain Registrars'''.&lt;br /&gt;
# Find '''Enom''' in the list.&lt;br /&gt;
# Click '''Activate'''.&lt;br /&gt;
# Enter your Enom username.&lt;br /&gt;
# Paste in the API token.&lt;br /&gt;
# Check '''Disable IRTP''' to prevent WHMCS from displaying contact information verification notices.&lt;br /&gt;
# Check '''Use Default Nameservers''' to use Enom's default nameservers for new registrations, overriding the nameservers in WHMCS.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
# In your Enom account, go to '''Resellers &amp;gt; Manage &amp;gt; API''' and add your server's IP address. &lt;br /&gt;
#* You can find this address in WHMCS at '''Help &amp;gt; [[License Information]]'''.&lt;br /&gt;
#* If you do not do this, you will see a '''Registrar Error Invalid Client IP''' error.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;a href=&amp;quot;http://www.youtube.com/watch?v=0Sz9mkBzLN0&amp;amp;hd=1&amp;quot; class=&amp;quot;docs-video-tutorial&amp;quot;&amp;gt;&amp;lt;em&amp;gt;Watch the video tutorial for this feature&amp;lt;/em&amp;gt;&amp;lt;span&amp;gt;&amp;amp;nbsp;&amp;lt;img src=&amp;quot;https://assets.whmcs.com/icons/youtube.png&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;Before you can begin using the Enom API with your account. you must authorize your server IP address for access to your account. See below for steps to do this.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test Mode ===&lt;br /&gt;
&lt;br /&gt;
You can use test mode to simulate domain registration and management function without registering a domain or incurring charges. This can be useful to test WHMCS configurations.&lt;br /&gt;
&lt;br /&gt;
Before you enable '''Test Mode''' in WHMCS, you must register on Enom's Reseller Test environment:&lt;br /&gt;
&lt;br /&gt;
# Log in to [https://resellertest.enom.com/resellers/reseller-testaccount.aspx Enom's Reseller Test Account].&lt;br /&gt;
# Click all three links under '''Test Interface Options''' to configure the test account.&lt;br /&gt;
# [https://resellertest.enom.com/apitokens/default.aspx Generate a test API token.]&lt;br /&gt;
&lt;br /&gt;
When you place domain registration orders in WHMCS with test mode active, the domains will appear on your demo Enom account (&amp;lt;tt&amp;gt;http://resellertest.enom.com&amp;lt;/tt&amp;gt;) but no domain will actually be registered and you will not be charged.&lt;br /&gt;
&lt;br /&gt;
=== .ca Registrations ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;.ca&amp;lt;/tt&amp;gt; registrations require additional fields. The &amp;lt;tt&amp;gt;Invalid registrant information&amp;lt;/tt&amp;gt; error is due to problems with the location field. &lt;br /&gt;
&lt;br /&gt;
Instead of entering the full place name, use one of the following province abbreviations:&lt;br /&gt;
&lt;br /&gt;
* Alberta — &amp;lt;tt&amp;gt;AB&amp;lt;/tt&amp;gt;&lt;br /&gt;
* British Columbia — &amp;lt;tt&amp;gt;BC&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Manitoba — &amp;lt;tt&amp;gt;MB&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* New Brunswick — &amp;lt;tt&amp;gt;NB&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Newfoundland and Labrador — &amp;lt;tt&amp;gt;NL&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Northwest Territories — &amp;lt;tt&amp;gt;NT&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Nova Scotia — &amp;lt;tt&amp;gt;NS&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Nunavut — &amp;lt;tt&amp;gt;NU&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Ontario — &amp;lt;tt&amp;gt;ON&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Prince Edward Island — &amp;lt;tt&amp;gt;PE&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Quebec — &amp;lt;tt&amp;gt;QC&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Saskatchewan — &amp;lt;tt&amp;gt;SK&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Yukon — &amp;lt;tt&amp;gt;YT&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Transfer Pricing ==&lt;br /&gt;
&lt;br /&gt;
Enom does not allow a domain's registration term to be defined when transferring a domain name.&lt;br /&gt;
 &lt;br /&gt;
When configuring pricing for TLDs to transfer using Enom, only configure a one year transfer price. Set all other transfer prices to &amp;lt;tt&amp;gt;-1.00&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Automatic Registration ==&lt;br /&gt;
&lt;br /&gt;
WHMCS allows you to set up automatic domain registration on a per-extension basis, enabling you to use different registrars for different TLDs.&lt;br /&gt;
&lt;br /&gt;
To enable automatic registration, see [[Domain Pricing]]. &lt;br /&gt;
&lt;br /&gt;
== Automatic Domain Synchronization ==&lt;br /&gt;
&lt;br /&gt;
This module supports automatic domain synchronization for syncing expiry dates and status changes for incoming transfers.&lt;br /&gt;
&lt;br /&gt;
To use this, enable '''Domain Sync Enabled''' in the '''[[Domains_Tab|Domains]]''' tab at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings''' or, prior to WHMCS 8.0, '''Setup &amp;gt; General Settings'''. You must also make certain to configure the '''[[Crons#Domain_Sync_Cron|Domain Sync Cron]]'''.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== User not permitted from this IP address ===&lt;br /&gt;
&lt;br /&gt;
This error message indicates that you haven't yet allowed your server's IP to [[Enom#Activation)|access your Enom account via the API as described in step 14 above]]. This must be done via the Enom website before you can use the integration.&lt;br /&gt;
&lt;br /&gt;
The IP you need to authorize is typically the main shared IP of the server, usually most easily found from the IP your WHMCS license is assigned to, but if you're unsure or neither of those IPs work, then Enom can assist and advise you of the IP they see your connection tests as coming from via a support ticket.&lt;br /&gt;
&lt;br /&gt;
=== Cannot parse empty response from server/Empty data response from server - Please try again later ===&lt;br /&gt;
&lt;br /&gt;
This can occur only if an empty response is received from Enom. This isn't a curl error, but an empty response from the Enom API. This suggests a temporary problem at Enom's end. Trying the command again later should be successful.&lt;br /&gt;
&lt;br /&gt;
=== Invalid data response from server - Please try again later ===&lt;br /&gt;
&lt;br /&gt;
This can occur when an unexpected response occurs; e.g. a 404 error or other non-XML method. This suggests a temporary problem at Enom's end. Trying the command again later should be successful.&lt;br /&gt;
 &lt;br /&gt;
=== CURL Error ===&lt;br /&gt;
&lt;br /&gt;
A standard curl error which indicates a connection issue between your server and Enom's API. Make certain that your server is able to make cURL calls to the following URLs:&lt;br /&gt;
 &lt;br /&gt;
Demo Mode: &amp;lt;tt&amp;gt;resellertest.enom.com&amp;lt;/tt&amp;gt;&lt;br /&gt;
Live Mode: &amp;lt;tt&amp;gt;reseller.enom.com&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Domain name not found ===&lt;br /&gt;
&lt;br /&gt;
This error occurs when the domain does not exist in your Enom account. This message will be displayed when a domain transfer is in progress but will automatically disappear when the transfer is complete. &lt;br /&gt;
&lt;br /&gt;
{{modules}}&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Tax_Configuration&amp;diff=33615</id>
		<title>Tax Configuration</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Tax_Configuration&amp;diff=33615"/>
				<updated>2022-11-01T14:17:44Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Tax Calculation Mode */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-question-circle&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;For this feature in WHMCS 7.6 and earlier, [https://docs.whmcs.com/index.php?title=Tax/VAT&amp;amp;redirect=no click here].&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
WHMCS can gather necessary taxes when you make sales.&lt;br /&gt;
&lt;br /&gt;
You can access this feature at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Tax Configuration''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Payments &amp;gt; Tax Configuration'''.&lt;br /&gt;
&lt;br /&gt;
==Enabling Tax Support==&lt;br /&gt;
&lt;br /&gt;
In order to charge tax:&lt;br /&gt;
&lt;br /&gt;
# Enable '''Tax Support'''.&lt;br /&gt;
# Click '''Save Changes'''. &lt;br /&gt;
# Set the desired settings below.&lt;br /&gt;
# Click '''Save Changes''' again.&lt;br /&gt;
&lt;br /&gt;
==General Tax Settings==&lt;br /&gt;
&lt;br /&gt;
===Tax/VAT ID Number===&lt;br /&gt;
Enter your company Tax/VAT ID in this field. Invoices will display this under the company address in the client area and on PDF printable invoices.&lt;br /&gt;
&lt;br /&gt;
===Inclusive/Exclusive Tax===&lt;br /&gt;
&lt;br /&gt;
By default, tax is exclusive. You need to add tax onto the prices you enter in WHMCS at the rate you entered. The alternative is inclusive tax, in which the prices you enter in WHMCS already include tax. For inclusive tax, WHMCS needs to work backwards to calculate the amount of tax to charge based on the rates you've set. &lt;br /&gt;
&lt;br /&gt;
*'''Exclusive Tax''' &amp;gt; Tax Amount = Item Price x ( Tax Rate / 100 )&lt;br /&gt;
*'''Inclusive Tax''' &amp;gt; Tax Amount = ( Item Price / ( 100 + Tax Rate ) ) x Tax Rate&lt;br /&gt;
&lt;br /&gt;
==Custom Invoice Numbering==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;Custom Invoice Number is part of the EU VAT Addon.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To enable Custom Invoice Numbering, toggle the appropriate switch on '''Tax Configuration''' and click '''Save Changes'''. After you enable it, the configured custom invoice numbering will apply to invoices that you generate from then on.&lt;br /&gt;
&lt;br /&gt;
===Custom Invoice Numbering Format===&lt;br /&gt;
&lt;br /&gt;
This is the format of the custom invoice number to apply to the invoices WHMCS generates. The default value of this is &amp;lt;tt&amp;gt;{NUMBER}&amp;lt;/tt&amp;gt;, which will contain only the value from '''Next Invoice Number'''.&lt;br /&gt;
The field can contain any text in the invoice number that the client will see. You can add more tags to the field, which the system will replace when it generates the invoice. &lt;br /&gt;
&lt;br /&gt;
Available tags are:&lt;br /&gt;
* &amp;lt;tt&amp;gt;{NUMBER}&amp;lt;/tt&amp;gt; — The value for '''Next Invoice Number'''.&lt;br /&gt;
* &amp;lt;tt&amp;gt;{YEAR}&amp;lt;/tt&amp;gt; — The four-digit year value for the current date.&lt;br /&gt;
* &amp;lt;tt&amp;gt;{MONTH}&amp;lt;/tt&amp;gt; — The two-digit month value for the current date.&lt;br /&gt;
* &amp;lt;tt&amp;gt;{DAY}&amp;lt;/tt&amp;gt; — The two-digit day value for the current date.&lt;br /&gt;
&lt;br /&gt;
===Next Invoice Number===&lt;br /&gt;
&lt;br /&gt;
The number that the system will assign to the next invoice it generates.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;Only fill in this field if you want to change the number of the next invoice. Only increase this number; do not decrease it.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Auto Reset Numbering===&lt;br /&gt;
This allows you to automatically reset the invoice number periodically. The automatic invoice numbering reset occurs when the automation cron runs on the last day of the month or year. If you want to use this feature, we recommend that you configure the cron job to run late at night in '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Automation Settings]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Automation Settings'''.&lt;br /&gt;
&lt;br /&gt;
==VAT Settings==&lt;br /&gt;
 &lt;br /&gt;
===VAT Mode===&lt;br /&gt;
&lt;br /&gt;
Toggle '''VAT Mode''' to ''ON''. This will automatically display a window allowing you to set your VAT label display name. Enter one and then click '''Create Rules'''.&lt;br /&gt;
 &lt;br /&gt;
====Auto Configure VAT Tax Rules====&lt;br /&gt;
&lt;br /&gt;
If you accidentally delete a rule or need to recreate or change the name of a rule, click here. Follow the prompts, using the appropriate VAT Rate for each EU country.&lt;br /&gt;
 &lt;br /&gt;
===Custom Field Migration===&lt;br /&gt;
&lt;br /&gt;
If a WHMCS installation previously used the EU VAT Addon and a custom field to contain the client VAT Number, this option will display to perform a migration of the tax numbers from the custom field to store them in the client table.&lt;br /&gt;
 &lt;br /&gt;
===VAT Number Validation===&lt;br /&gt;
&lt;br /&gt;
Toggle this to ''ON'' to enable validation of VAT numbers during registration and checkout. WHMCS uses VIES to validate EU VAT numbers and HMRC to validate UK VAT numbers.&lt;br /&gt;
 &lt;br /&gt;
===Auto Tax Exempt===&lt;br /&gt;
&lt;br /&gt;
Check this to set clients as tax exempt when their VAT number successfully validates.&lt;br /&gt;
 &lt;br /&gt;
===Your Home Country===&lt;br /&gt;
&lt;br /&gt;
Select the country for your main business location.&lt;br /&gt;
 &lt;br /&gt;
===Home Country Exclusion===&lt;br /&gt;
&lt;br /&gt;
Check this to always charge VAT if the customer's billing address is in the country you selected above.&lt;br /&gt;
 &lt;br /&gt;
===Proforma Invoicing/Sequential Paid Invoice Numbering===&lt;br /&gt;
&lt;br /&gt;
Toggle this to ''ON'' to enable the invoice numbering format you set below.&lt;br /&gt;
 &lt;br /&gt;
===Sequential Invoice Number Format===&lt;br /&gt;
&lt;br /&gt;
Enter a format for invoice numbering. You can include these tags, which will be replaced with the corresponding information when the invoice is generated:&lt;br /&gt;
 &lt;br /&gt;
* &amp;lt;tt&amp;gt;{YEAR}&amp;lt;/tt&amp;gt; — The current year.&lt;br /&gt;
* &amp;lt;tt&amp;gt;{MONTH}&amp;lt;/tt&amp;gt; — The current month.&lt;br /&gt;
* &amp;lt;tt&amp;gt;{DAY}&amp;lt;/tt&amp;gt; — The current day.&lt;br /&gt;
* &amp;lt;tt&amp;gt;{NUMBER}&amp;lt;/tt&amp;gt; — The sequential invoice number.&lt;br /&gt;
 &lt;br /&gt;
===Next Paid Invoice Number===&lt;br /&gt;
&lt;br /&gt;
Enter a number to use to number the next invoice that WHMCS generates.&lt;br /&gt;
 &lt;br /&gt;
===Auto Reset Numbering===&lt;br /&gt;
&lt;br /&gt;
Select the frequency with which WHMCS should automatically reset invoice numbering. Select ''Never'' if you do not want to automatically reset numbering.&lt;br /&gt;
 &lt;br /&gt;
===Set Invoice Date on Payment===&lt;br /&gt;
&lt;br /&gt;
Check this to set the invoice date to the current date when payment is applied.&lt;br /&gt;
&lt;br /&gt;
==Tax Rules==&lt;br /&gt;
&lt;br /&gt;
You must configure tax rules in order to automatically charge tax in the cart. You can view and add tax rules in the '''Tax Rules''' tab.&lt;br /&gt;
&lt;br /&gt;
===Adding a Rule===&lt;br /&gt;
&lt;br /&gt;
To add a rule:&lt;br /&gt;
&lt;br /&gt;
* For '''Name''', enter a name for the tax zone, which allows you to identify it.&lt;br /&gt;
* For '''Country''', choose whether this tax rate applies to all countries or only applies to a selected country.&lt;br /&gt;
* For the state, choose whether it applies to all states in the selected country or only a selected state.&lt;br /&gt;
* Finally, enter the tax rate as a percentage (for example, &amp;lt;tt&amp;gt;17.5&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* Click '''Add Rule'''. The system will create the tax rule and automatically add it to the appropriate table for Level 1 or Level 2 rules.&lt;br /&gt;
&lt;br /&gt;
For example, a UK business would set up the system to charge VAT. In the country field, you would choose '''United Kingdom''' and for the state you would choose '''Apply Rule to All States'''. You would then enter the tax rate of '''20.0''' and click '''Add Rule'''. You can set up an unlimited number of tax rules.&lt;br /&gt;
&lt;br /&gt;
===Changing Tax Rates===&lt;br /&gt;
&lt;br /&gt;
Sometimes, governments change the sales tax rates. This is significant, since you must also update your rates accordingly.&lt;br /&gt;
&lt;br /&gt;
For more information, see [[Changing Tax Rates on Existing Invoices]].&lt;br /&gt;
&lt;br /&gt;
===Supported Values===&lt;br /&gt;
&lt;br /&gt;
WHMCS 8.0 and later supports tax rates with up to three decimal places and currency values up to 99 trillion.&lt;br /&gt;
&lt;br /&gt;
[[File:TaxDecimals.png|500px|thumb|center|Tax Rates]]&lt;br /&gt;
&lt;br /&gt;
Prior to WHMCS 8.0, WHMCS only supported tax rates with up to two decimal places.&lt;br /&gt;
&lt;br /&gt;
==Advanced Rules==&lt;br /&gt;
&lt;br /&gt;
===Setting Taxed Items===&lt;br /&gt;
&lt;br /&gt;
The flexible tax system in WHMCS allows you to set, individually, which items apply for tax. WHMCS sets products as untaxed by default. Even if you have tax rules set up, the system won't charge tax for it. This allows you to, for example, charge tax on the products you offer but not on services.&lt;br /&gt;
&lt;br /&gt;
====Setting a Product/Service as Taxable====&lt;br /&gt;
&lt;br /&gt;
To do this:&lt;br /&gt;
&lt;br /&gt;
#Go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Products and Services|Products/Services]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Products/Services'''.&lt;br /&gt;
#Click the edit icon next to the product you wish to set to be taxable.&lt;br /&gt;
#Check the checkbox next to the item labelled '''Tax Product'''.&lt;br /&gt;
#Save your changes to the product.&lt;br /&gt;
&lt;br /&gt;
====Setting Domains as Taxable====&lt;br /&gt;
&lt;br /&gt;
You can set whether to apply taxes to domains.&lt;br /&gt;
&lt;br /&gt;
====Setting Billable Items as Taxable====&lt;br /&gt;
&lt;br /&gt;
You can set whether to apply tax to billable items.&lt;br /&gt;
&lt;br /&gt;
====Setting Late Fees as Taxable====&lt;br /&gt;
&lt;br /&gt;
You can set whether to apply tax to late fees on invoices.&lt;br /&gt;
&lt;br /&gt;
====Setting Custom Invoices as Taxable====&lt;br /&gt;
&lt;br /&gt;
You can set whether to apply tax to custom (manually created) invoices.&lt;br /&gt;
&lt;br /&gt;
===Compound Tax===&lt;br /&gt;
&lt;br /&gt;
The system calculates compound tax after and on top of a primary tax. If you need to add the Level 2 tax to the Level 1 tax, toggle this option on the advanced tab.&lt;br /&gt;
&lt;br /&gt;
===Deduct Tax Amount===&lt;br /&gt;
&lt;br /&gt;
If the '''Tax Type''' is ''Inclusive'' and the client's country and state or province selections result in them not meeting any of the configured tax rules, deduct an amount from the order. Base this on the total amount for taxable items on the order and the percentage of tax that would apply to the default country in the '''[[Localisation Tab|Localisation]]''' tab at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings''' or, prior to WHMCS 8.0, '''Setup &amp;gt; General Settings'''. It will deduct the percentage that applies to the first applicable Level 1 and Level 2 tax rules.&lt;br /&gt;
&lt;br /&gt;
===Tax Calculation Mode===&lt;br /&gt;
&lt;br /&gt;
The '''Calculation Mode''' setting determines how the system calculates taxes.&lt;br /&gt;
&lt;br /&gt;
[[File:tax_calculation_method.png|500px]]&lt;br /&gt;
&lt;br /&gt;
There are two possible values for this setting:&lt;br /&gt;
&lt;br /&gt;
* '''Calculate individually per line item''' — Selecting this option will calculate taxes on a per line item basis. When you select this, the system will calculate tax for each line item, rounded to 2 decimal places. It will also calculate the total tax using the sum of the tax calculation for each individual line item.&lt;br /&gt;
* '''Calculate based on collective sum of the taxable line items''' — Selecting this option will calculate taxes using the sum of the taxable line items on an invoice. When you select this, the system totals the individual taxable line items and calculates tax based on the sum total of those taxable line items.&lt;br /&gt;
&lt;br /&gt;
====Tax Amount Differences====&lt;br /&gt;
Due to rounding for tax calculation modes and the calculation amounts, the resulting tax amounts may differ.&lt;br /&gt;
&lt;br /&gt;
=====Calculate Individually per Line Item=====&lt;br /&gt;
&lt;br /&gt;
Example tax calculation for 11 line items at $2.21 each:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-related-pages&amp;quot;&amp;gt;&lt;br /&gt;
(2.21 x 20%) + (2.21 x 20%) + (2.21 x 20%) + (2.21 x 20%) + (2.21 x 20%) + (2.21 x 20%) + (2.21 x 20%) + (2.21 x 20%) + (2.21 x 20%) + (2.21 x 20%) + (2.21 x 20%) = 4.84&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Calculate Based on the Collective Sum of the Taxable Line Items=====&lt;br /&gt;
&lt;br /&gt;
Example tax calculation for 11 line items at $2.21 each:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-related-pages&amp;quot;&amp;gt;&lt;br /&gt;
(24.31 x 20%) = 4.86&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Common_Promotions&amp;diff=33614</id>
		<title>Common Promotions</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Common_Promotions&amp;diff=33614"/>
				<updated>2022-11-01T13:41:13Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Time Limited Recurring Promotion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
Certain promotions are particularly common in the hosting industry, such as free trials and free domain names. WHMCS's features offer complete support for these promotions.&lt;br /&gt;
&lt;br /&gt;
==Free Domain Name==&lt;br /&gt;
&lt;br /&gt;
You are able to offer free domains with your packages when purchased with certain payment terms. For example, you might want to offer a free domain when a package is purchased annually.&lt;br /&gt;
&lt;br /&gt;
You can set this up when you edit a product at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Products_and_Services|Products/Services]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services'''.&lt;br /&gt;
&lt;br /&gt;
For more information, see [[Free Domains]].&lt;br /&gt;
&lt;br /&gt;
==Free Trial==&lt;br /&gt;
&lt;br /&gt;
[[Products_and_Services#Pricing_Tab|Free Trial functionality]] is built into WHMCS. It will automatically terminate an account x days after ordering and send an email to the client.&lt;br /&gt;
&lt;br /&gt;
You can configure this promotion when you:&lt;br /&gt;
&lt;br /&gt;
# Edit a product at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Products and Services|Products/Services]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Products/Services'''.&lt;br /&gt;
# Configure a promotion code at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Promotions]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Payments &amp;gt; Promotions'''.&lt;br /&gt;
&lt;br /&gt;
For more information, see [[Free Trials]].&lt;br /&gt;
&lt;br /&gt;
==Time Limited Recurring Promotion==&lt;br /&gt;
&lt;br /&gt;
You are able to offer a time limited recurring promotion with your packages. You can configure this promotion when you create a promotion code at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Promotions]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Payments &amp;gt; Promotions''' with '''Recurring''' enabled and '''Recur For''' set to a specific number of billing cycles.&lt;br /&gt;
&lt;br /&gt;
For example, you might want to offer a 50% off discount for the first 6 months of a monthly service. For that, you would enable '''Recurring''' and set '''Recur For''' to &amp;lt;tt&amp;gt;6&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For more information, see [[Promotions#Limited_Recurring_Promotions|Limited Recurring Promotions]].&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Common_Promotions&amp;diff=33613</id>
		<title>Common Promotions</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Common_Promotions&amp;diff=33613"/>
				<updated>2022-11-01T13:40:33Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Time Limited Recurring Promotion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
Certain promotions are particularly common in the hosting industry, such as free trials and free domain names. WHMCS's features offer complete support for these promotions.&lt;br /&gt;
&lt;br /&gt;
==Free Domain Name==&lt;br /&gt;
&lt;br /&gt;
You are able to offer free domains with your packages when purchased with certain payment terms. For example, you might want to offer a free domain when a package is purchased annually.&lt;br /&gt;
&lt;br /&gt;
You can set this up when you edit a product at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Products_and_Services|Products/Services]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services'''.&lt;br /&gt;
&lt;br /&gt;
For more information, see [[Free Domains]].&lt;br /&gt;
&lt;br /&gt;
==Free Trial==&lt;br /&gt;
&lt;br /&gt;
[[Products_and_Services#Pricing_Tab|Free Trial functionality]] is built into WHMCS. It will automatically terminate an account x days after ordering and send an email to the client.&lt;br /&gt;
&lt;br /&gt;
You can configure this promotion when you:&lt;br /&gt;
&lt;br /&gt;
# Edit a product at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Products and Services|Products/Services]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Products/Services'''.&lt;br /&gt;
# Configure a promotion code at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Promotions]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Payments &amp;gt; Promotions'''.&lt;br /&gt;
&lt;br /&gt;
For more information, see [[Free Trials]].&lt;br /&gt;
&lt;br /&gt;
==Time Limited Recurring Promotion==&lt;br /&gt;
&lt;br /&gt;
You are able to offer a time limited recurring promotion with your packages. You can configure this promotion when you create a promotion code at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Promotions]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Payments &amp;gt; Promotions''' with '''Recurring''' enabled and '''Recur For''' set to a specific number of billing cycles.&lt;br /&gt;
&lt;br /&gt;
For example, you might want to offer a 50% off discount for the first 6 months of a monthly service. For that, you would enable '''Recurring''' and set '''Recur For''' to &amp;lt;tt&amp;gt;6&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For more information, see [Promotions#Limited_Recurring_Promotions|Limited Recurring Promotions].&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Common_Promotions&amp;diff=33612</id>
		<title>Common Promotions</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Common_Promotions&amp;diff=33612"/>
				<updated>2022-11-01T13:39:49Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Time Limited Recurring Promotion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
Certain promotions are particularly common in the hosting industry, such as free trials and free domain names. WHMCS's features offer complete support for these promotions.&lt;br /&gt;
&lt;br /&gt;
==Free Domain Name==&lt;br /&gt;
&lt;br /&gt;
You are able to offer free domains with your packages when purchased with certain payment terms. For example, you might want to offer a free domain when a package is purchased annually.&lt;br /&gt;
&lt;br /&gt;
You can set this up when you edit a product at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Products_and_Services|Products/Services]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services'''.&lt;br /&gt;
&lt;br /&gt;
For more information, see [[Free Domains]].&lt;br /&gt;
&lt;br /&gt;
==Free Trial==&lt;br /&gt;
&lt;br /&gt;
[[Products_and_Services#Pricing_Tab|Free Trial functionality]] is built into WHMCS. It will automatically terminate an account x days after ordering and send an email to the client.&lt;br /&gt;
&lt;br /&gt;
You can configure this promotion when you:&lt;br /&gt;
&lt;br /&gt;
# Edit a product at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Products and Services|Products/Services]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Products/Services'''.&lt;br /&gt;
# Configure a promotion code at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Promotions]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Payments &amp;gt; Promotions'''.&lt;br /&gt;
&lt;br /&gt;
For more information, see [[Free Trials]].&lt;br /&gt;
&lt;br /&gt;
==Time Limited Recurring Promotion==&lt;br /&gt;
&lt;br /&gt;
You are able to offer a time limited recurring promotion with your packages. You can configure this promotion when you create a promotion code at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Promotions]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Payments &amp;gt; Promotions''' with '''Recurring''' enabled and '''Recur For''' set to a specific number of billing cycles.&lt;br /&gt;
&lt;br /&gt;
For example, you might want to offer a 50% off discount for the first 6 months of a monthly service. For that, you would enable '''Recurring''' and set '''Recur For''' to &amp;lt;tt&amp;gt;6&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For more information, see [[Limited_Recurring_Promotions][Promotions#Limited_Recurring_Promotions]].&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Common_Promotions&amp;diff=33611</id>
		<title>Common Promotions</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Common_Promotions&amp;diff=33611"/>
				<updated>2022-11-01T13:38:48Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Time Limited Recurring Promotion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
Certain promotions are particularly common in the hosting industry, such as free trials and free domain names. WHMCS's features offer complete support for these promotions.&lt;br /&gt;
&lt;br /&gt;
==Free Domain Name==&lt;br /&gt;
&lt;br /&gt;
You are able to offer free domains with your packages when purchased with certain payment terms. For example, you might want to offer a free domain when a package is purchased annually.&lt;br /&gt;
&lt;br /&gt;
You can set this up when you edit a product at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Products_and_Services|Products/Services]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services'''.&lt;br /&gt;
&lt;br /&gt;
For more information, see [[Free Domains]].&lt;br /&gt;
&lt;br /&gt;
==Free Trial==&lt;br /&gt;
&lt;br /&gt;
[[Products_and_Services#Pricing_Tab|Free Trial functionality]] is built into WHMCS. It will automatically terminate an account x days after ordering and send an email to the client.&lt;br /&gt;
&lt;br /&gt;
You can configure this promotion when you:&lt;br /&gt;
&lt;br /&gt;
# Edit a product at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Products and Services|Products/Services]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Products/Services'''.&lt;br /&gt;
# Configure a promotion code at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Promotions]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Payments &amp;gt; Promotions'''.&lt;br /&gt;
&lt;br /&gt;
For more information, see [[Free Trials]].&lt;br /&gt;
&lt;br /&gt;
==Time Limited Recurring Promotion==&lt;br /&gt;
&lt;br /&gt;
You are able to offer a time limited recurring promotion with your packages. You can configure this promotion when you create a promotion code at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Promotions]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Payments &amp;gt; Promotions''' with '''Recurring''' enabled and '''Recur For''' set to a specific number of billing cycles.&lt;br /&gt;
&lt;br /&gt;
For example, you might want to offer a 50% off discount for the first 6 months of a monthly service. For that, you would enable '''Recurring''' and set '''Recur For''' to &amp;lt;tt&amp;gt;6&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For more information, see [[Promotions#Limited_Recurring_Promotions]].&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Common_Promotions&amp;diff=33610</id>
		<title>Common Promotions</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Common_Promotions&amp;diff=33610"/>
				<updated>2022-11-01T13:37:29Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
Certain promotions are particularly common in the hosting industry, such as free trials and free domain names. WHMCS's features offer complete support for these promotions.&lt;br /&gt;
&lt;br /&gt;
==Free Domain Name==&lt;br /&gt;
&lt;br /&gt;
You are able to offer free domains with your packages when purchased with certain payment terms. For example, you might want to offer a free domain when a package is purchased annually.&lt;br /&gt;
&lt;br /&gt;
You can set this up when you edit a product at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Products_and_Services|Products/Services]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services'''.&lt;br /&gt;
&lt;br /&gt;
For more information, see [[Free Domains]].&lt;br /&gt;
&lt;br /&gt;
==Free Trial==&lt;br /&gt;
&lt;br /&gt;
[[Products_and_Services#Pricing_Tab|Free Trial functionality]] is built into WHMCS. It will automatically terminate an account x days after ordering and send an email to the client.&lt;br /&gt;
&lt;br /&gt;
You can configure this promotion when you:&lt;br /&gt;
&lt;br /&gt;
# Edit a product at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Products and Services|Products/Services]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Products/Services'''.&lt;br /&gt;
# Configure a promotion code at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Promotions]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Payments &amp;gt; Promotions'''.&lt;br /&gt;
&lt;br /&gt;
For more information, see [[Free Trials]].&lt;br /&gt;
&lt;br /&gt;
==Time Limited Recurring Promotion==&lt;br /&gt;
&lt;br /&gt;
You are able to offer a time limited recurring promotion with your packages. You can offer this promotion when you configure a promotion code at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Promotions]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Payments &amp;gt; Promotions''' with '''Recurring''' enabled and '''Recur For''' set to a specific number of billing cycles.&lt;br /&gt;
&lt;br /&gt;
For example, you might want to offer a 50% off discount for the first 6 months of a monthly service. For that, you would enable '''Recurring''' and set '''Recur For''' to &amp;lt;tt&amp;gt;6&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For more information, see [[Promotions#Limited_Recurring_Promotions]].&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Plesk&amp;diff=33549</id>
		<title>Plesk</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Plesk&amp;diff=33549"/>
				<updated>2022-10-04T12:21:46Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Overriding Overage Billing Soft Limits with Configurable Options */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this Module ==&lt;br /&gt;
&lt;br /&gt;
The Plesk module allows you to add and manage Plesk servers in WHMCS.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
* This module is compatible with Plesk versions 11, 11.5, 12, 12.5, Onyx, and Obsidian.&lt;br /&gt;
* You can also [[Plesk Single Sign-On|use single sign-on with Plesk]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{Provisioning_Module&lt;br /&gt;
| changepackage = Yes&lt;br /&gt;
| changepw = Yes&lt;br /&gt;
| usageupdates = Yes&lt;br /&gt;
| clientarealink = Yes&lt;br /&gt;
| port = 8443}}&lt;br /&gt;
== Adding a Plesk Server ==&lt;br /&gt;
&lt;br /&gt;
To set up a Plesk server in WHMCS:&lt;br /&gt;
 &lt;br /&gt;
# Go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Servers]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Servers'''.&lt;br /&gt;
# Click '''Add New Server'''.&lt;br /&gt;
# Select ''Plesk'' from the menu. &lt;br /&gt;
# Enter the hostname or IP address.&lt;br /&gt;
# Enter a username and password.&lt;br /&gt;
# Click '''Test Connection'''.&lt;br /&gt;
# Enter the desired additional server details.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
# If this is the only Plesk server that is currently in WHMCS, click on the name and ensure that it results in an asterisk (*) next to it. This indicates that it is the default to use when any other non-specific configuration doesn't apply.&lt;br /&gt;
&lt;br /&gt;
For more information, see [https://help.whmcs.com/m/87388/l/1076210 Creating Your First Plesk Server] and [[Plesk Onyx]].&lt;br /&gt;
&lt;br /&gt;
== Creating a Plesk Product ==&lt;br /&gt;
&lt;br /&gt;
[[File:plesk12_3new.png|thumb|Creating a Plesk Product]]&lt;br /&gt;
 &lt;br /&gt;
You can create a product that provisions accounts on your Plesk server at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Products_and_Services|Products/Services]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Products/Services'''.   &lt;br /&gt;
 &lt;br /&gt;
=== Configurable Options ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
* If you set up configurable options, you will also use Plesk's Panel Addons. This Plesk feature is '''not''' part of WHMCS's product addon system.&lt;br /&gt;
* A friendly name can be assigned to configurable options in order to display a different name to clients. This is sometimes preferable to displaying the system value as it appears inside Plesk. For more information, see [[Addons_and_Configurable_Options#Friendly_Display_Names|Friendly Display Names]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
[[File:Plesk_addons.png |thumb|Plesk Panel Addons]]&lt;br /&gt;
[[File:Plesk_config_opt_setup_8-2.png |thumb|WHMCS Plesk Configurable Options]]&lt;br /&gt;
[[File:WHMCS-plesk-extra-bandwidth-8-2.png |thumb|WHMCS Plesk Bandwidth Configurable Options]]&lt;br /&gt;
 &lt;br /&gt;
To create configurable options that attach Plesk's Panel Addons to your Plesk products:&lt;br /&gt;
 &lt;br /&gt;
# Go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Configurable Options]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Configurable Options'''.&lt;br /&gt;
# Perform one of the following actions:&lt;br /&gt;
#* Click the '''Edit''' icon for an existing group.&lt;br /&gt;
#* Click '''Create a New Group''', configure the group name, description, and assigned products, and then click '''Save Changes'''.&lt;br /&gt;
# Click '''Add New Configurable Option'''.&lt;br /&gt;
# Enter an option name using the &amp;lt;tt&amp;gt;Plesk Panel-Addon-Name&amp;lt;/tt&amp;gt; name format, replacing &amp;lt;tt&amp;gt;Panel-Addon-Name&amp;lt;/tt&amp;gt; with the exact name that displays in Plesk for that Plesk Panel Addon. For example:&lt;br /&gt;
#* In the '''Plesk Panel Addons''' image above, one of the configured Panel Addons is '''Extra Bandwidth''', with resources of &amp;lt;tt&amp;gt;5GB&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;10GB&amp;lt;/tt&amp;gt;.&lt;br /&gt;
#* In WHMCS in the '''WHMCS Plesk Configurable Options''' image above, this is '''Plesk Extra Bandwidth'''.&lt;br /&gt;
#* In the '''WHMCS Plesk Bandwidth Configurable Options''' image above, '''10GB Extra Bandwidth''' and '''5GB Extra Bandwidth''' are set to ensure that the bandwidth options in Plesk and WHMCS match.&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;We recommend that you set the first option to '''None''' or a similar value. When you do this, ensure that the '''Panel Addon''' uses a value of &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt;. This gives the user the ability to choose not to have any additional values per option.&amp;lt;/div&amp;gt;&lt;br /&gt;
# Select ''Yes/No'' or ''Dropdown'' as the '''Option Type''' setting.&lt;br /&gt;
# Enter the desired options and display order.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
# Create each desired additional option.&lt;br /&gt;
# Click '''Close Window'''.&lt;br /&gt;
# Select the desired products in the '''Assigned Products''' list.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
# Go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Products_and_Services|Products/Services]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Products/Services'''.&lt;br /&gt;
# Edit the desired product or service.&lt;br /&gt;
# In the '''Configurable Options''' tab, select the desired options.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
&lt;br /&gt;
==== Dedicated IP Address ====&lt;br /&gt;
 &lt;br /&gt;
To create configurable options that provision a dedicated IP address, use either or both of these exact names when you create configurable options:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;Dedicated IPv4&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;Dedicated IPv6&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Select ''Yes/No'' from the '''Option Type''' menu for these options.&lt;br /&gt;
&lt;br /&gt;
====Overriding Overage Billing Soft Limits with Configurable Options====&lt;br /&gt;
 &lt;br /&gt;
When using configurable options to override the soft limits for overage billing on a Plesk product, you must create a &amp;lt;tt&amp;gt;config.ini&amp;lt;/tt&amp;gt; file in the &amp;lt;tt&amp;gt;/modules/servers&amp;lt;/tt&amp;gt; directory with the following contents:&lt;br /&gt;
 &lt;br /&gt;
 ;WHMCS Plesk Provisioning Module Config File&lt;br /&gt;
 skip_addon_prefix = true&lt;br /&gt;
&lt;br /&gt;
After you create this file, ensure that you have configured &amp;lt;tt&amp;gt;Disk Space&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Bandwidth&amp;lt;/tt&amp;gt; configurable options using our [[Disk_Space_and_Bandwidth_Overage_Billing#Custom_Fields_and_Configurable_Options|Custom Fields and Configurable Options]] documentation. This will ensure that the overrides function correctly.&lt;br /&gt;
&lt;br /&gt;
=== Add-On Features ===&lt;br /&gt;
 &lt;br /&gt;
In WHMCS 8.2 and later, in addition to WHMCS's existing product addon functionality (now an '''Independent Product'''), you can create an '''Add-On Feature'''. These addons let you sell module-specific features like the WordPress Toolkit offerings available through both cPanel &amp;amp; WHM and Plesk.&lt;br /&gt;
 &lt;br /&gt;
For more information and steps to create an addon, see [[Product Addons]].&lt;br /&gt;
&lt;br /&gt;
=== Reseller Packages ===&lt;br /&gt;
&lt;br /&gt;
When creating a reseller package, create the service plan on your Plesk server in the '''Reseller Plans''' tab at '''Hosting Services &amp;gt; Service Plans'''.&lt;br /&gt;
&lt;br /&gt;
When you configure the product in WHMCS, use the following settings:&lt;br /&gt;
&lt;br /&gt;
* In the '''Details''' tab, set the '''Product Type''' setting to ''Reseller Account''.&lt;br /&gt;
* In the '''Module Settings''' tab, set the '''Service Plan Name''' ''and'' '''Reseller Plan Name''' settings.&lt;br /&gt;
&lt;br /&gt;
Creating a reseller account will '''not''' create a shared hosting space for the reseller's website. After account creation, the reseller can log in to Plesk and set up their own hosting space.&lt;br /&gt;
&lt;br /&gt;
===Metric Billing===&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-info-circle&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;We added metric billing for Plesk in WHMCS 8.5.&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
You can bill clients for their use of individual items like databases or bandwidth. You can choose whether to include a certain amount in the base price and only charge for exceeding a certain limit, offer tiered pricing, or charge for every unit of an item.&lt;br /&gt;
 &lt;br /&gt;
You can configure metric billing in the '''Metric Billing''' tab.&lt;br /&gt;
 &lt;br /&gt;
When a client orders this product, WHMCS will track the account's use of the items you configured. On the service's '''Next Due Date''', the system will record that period's usage and add the cost to the service's renewal invoice.&lt;br /&gt;
 &lt;br /&gt;
For more information, see [[Usage Billing]].&lt;br /&gt;
&lt;br /&gt;
=== Log in to Plesk ===&lt;br /&gt;
&lt;br /&gt;
When you click '''Log in to Plesk''' in the Client Area ''or'' Admin Area, WHMCS bases its actions on the server hostname if it is available. If it is not, WHMCS uses the IP address. &lt;br /&gt;
&lt;br /&gt;
The use of &amp;lt;tt&amp;gt;http&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;https&amp;lt;/tt&amp;gt; login links depends on the '''Secure''' setting in your server's configuration.&lt;br /&gt;
&lt;br /&gt;
=== WHMCS Connect ===&lt;br /&gt;
&lt;br /&gt;
WHMCS Connect allows you and your administrators to quickly and easily access the control panels of all the servers configured in your WHMCS installation that support Single Sign-On, enabling you and your staff to administer and make changes without ever needing to re-authenticate.&lt;br /&gt;
 &lt;br /&gt;
For more information, see [[WHMCS_Connect]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== The client account is getting setup but the domain is not ===&lt;br /&gt;
&lt;br /&gt;
This is usually due to the permissions of the domain template exceeding the server resources or containing something unsupported (for example, ColdFusion). Always test whether your domain template works directly in Plesk after setting it up.&lt;br /&gt;
&lt;br /&gt;
=== I get a blank command error from WHMCS when it tries to setup an account ===&lt;br /&gt;
&lt;br /&gt;
This can occur if your firewall is blocking connections on port 8443. You need to open it on both the server WHMCS is on and the server WHMCS is connecting to for inbound and outbound connections.&lt;br /&gt;
&lt;br /&gt;
=== With accounts created on my Plesk server from WHMCS the www. subdomain doesn't work ===&lt;br /&gt;
&lt;br /&gt;
This happens due to the default DNS settings on a Plesk server and the requirement to check a box when creating an account to enable it. &lt;br /&gt;
&lt;br /&gt;
To avoid that, simply follow the steps below.&lt;br /&gt;
# Log in to Plesk.&lt;br /&gt;
# Click '''Server'''.&lt;br /&gt;
# Click '''DNS Settings'''.&lt;br /&gt;
# Click '''Add New Record'''.&lt;br /&gt;
# Choose '''CNAME''' under the record type.&lt;br /&gt;
# Enter &amp;lt;tt&amp;gt;www&amp;lt;/tt&amp;gt; in '''Enter Domain Name'''.&lt;br /&gt;
# Enter &amp;lt;tt&amp;gt;&amp;lt;domain&amp;gt;&amp;lt;/tt&amp;gt; in '''Enter Canonical Name'''.&lt;br /&gt;
# Click '''OK''' to complete the changes.&lt;br /&gt;
&lt;br /&gt;
=== Page not Found/Timeout/502 Bad Gateway error creating accounts ===&lt;br /&gt;
&lt;br /&gt;
By default, Plesk performs a forced restart of Apache when an account is created or suspended. This causes WHMCS to lose connection to the server, and, if WHMCS is on the same server, you will also lose connection to WHMCS.&lt;br /&gt;
&lt;br /&gt;
To resolve this, see [https://support.plesk.com/hc/en-us/articles/213907285 Plesk's support article].&lt;br /&gt;
&lt;br /&gt;
=== 503 Service Temporarily Unavailable error creating accounts ===&lt;br /&gt;
&lt;br /&gt;
By default, Plesk performs a forced restart of Apache when an account is created or suspended. This causes WHMCS to lose connection to the server, and, if WHMCS is on the same server, you will also lose connection to WHMCS.&lt;br /&gt;
&lt;br /&gt;
To resolve this, see [https://support.plesk.com/hc/en-us/articles/115003664213-Unable-to-create-domain-through-WHMCS-503-Service-Temporarily-Unavailable Plesk's support article].&lt;br /&gt;
&lt;br /&gt;
===Unable to create account in Panel. The field 'username' is required.===&lt;br /&gt;
&lt;br /&gt;
This means the username under the client's '''Products/Services''' tab is empty.&lt;br /&gt;
&lt;br /&gt;
Enter a username, save changes, and try module creation again. Then, ensure that '''Require Domains''' is enabled for the product at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Products and Services|Products/Services]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services'''.&lt;br /&gt;
&lt;br /&gt;
===0 - Unable to find appropriate manager for this version of Panel. Plesk should be at least 8.0 version===&lt;br /&gt;
&lt;br /&gt;
This is a generic error message that the Plesk module returns. For example, it could indicate a connection error or invalid credentials. &lt;br /&gt;
&lt;br /&gt;
To identify the underlying error that is occurring, check the '''Module Log''' at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; [[System Logs]]''' or, prior to WHMCS 8.0, '''Utilities &amp;gt; Logs &amp;gt; Module Log'''. Enable it, reproduce the error, disable it again, and the ''''Response''' column will show the underlying error.&lt;br /&gt;
&lt;br /&gt;
For more information, see [[Troubleshooting_Module_Problems]].&lt;br /&gt;
&lt;br /&gt;
===1006 - Permission denied===&lt;br /&gt;
&lt;br /&gt;
This indicates that your Plesk login doesn't have the necessary permissions to use the API. You need the server administrator to grant your Plesk reseller account the '''Ability to use remote API''' permission.&lt;br /&gt;
&lt;br /&gt;
===1013 - Template does not exist===&lt;br /&gt;
&lt;br /&gt;
This error message is coming directly from the Plesk API and indicates that the client and domain template names are incorrect or missing. You can correct these in the product's '''Module Settings''' tab.&lt;br /&gt;
&lt;br /&gt;
===1013 - Error message: Customer with email 'johndoe@example.com' is not found in panel===&lt;br /&gt;
&lt;br /&gt;
There are two potential causes of this error message:&lt;br /&gt;
&lt;br /&gt;
==== Incorrect product type ====&lt;br /&gt;
&lt;br /&gt;
The product type is set incorrectly in WHMCS (for example, a reseller plan is configured as a shared hosting product in WHMCS). &lt;br /&gt;
&lt;br /&gt;
To resolve this:&lt;br /&gt;
&lt;br /&gt;
# Log in to WHMCS Admin Area.&lt;br /&gt;
# Navigate to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Products and Services|Products/Services]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Products/Services'''.&lt;br /&gt;
# Set '''Product Type''' to ''Shared Hosting'' or ''Reseller Hosting'' to match the Plesk plan type.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
&lt;br /&gt;
==== Missing data from a table inside Plesk ====&lt;br /&gt;
&lt;br /&gt;
If the error persists after following the ''Incorrect product type'' steps above, see [https://support.plesk.com/hc/en-us/articles/213932225-Error-while-accessing-Plesk-from-WHMCS-via-API-Customer-with-external-id-whmcs-plesk-XX-is-not-found-in-panel this article].&lt;br /&gt;
&lt;br /&gt;
===1013 - Error message: Customer with external id 'xxxxxxxx' is not found in panel===&lt;br /&gt;
&lt;br /&gt;
Refer to the solution for [[#1013 - Error message: Customer with email 'johndoe@example.com' is not found in panel|1013 - Error message: Customer with email 'johndoe@example.com' is not found in panel]] above.&lt;br /&gt;
&lt;br /&gt;
===1014 - Parser error: Request is invalid===&lt;br /&gt;
&lt;br /&gt;
This error message indicates there is a field value missing. This is most commonly caused by having no assigned IP addresses in the client or domain template's IP pool.&lt;br /&gt;
&lt;br /&gt;
===1014 - Parser error: Cannot parse the XML from the source specified===&lt;br /&gt;
&lt;br /&gt;
The Plesk API only supports the characters a-z and 0-9. If the client's profile contains accents or other characters, it will cause account creation to fail. Edit the client's profile to remove these characters.&lt;br /&gt;
&lt;br /&gt;
===1018 - Unable to create hosting. IP address does not exist in client's pool===&lt;br /&gt;
&lt;br /&gt;
This error indicates that there is an issue with the IP address pool configuration in Plesk. For example, there may not be any available IP addresses or the first IP address may be set as dedicated instead of shared.&lt;br /&gt;
&lt;br /&gt;
===1023 - Unable to accept the template: the following limitations are exceeded===&lt;br /&gt;
&lt;br /&gt;
This issue occurs when the resources provided by the serivce plan addon were already used by the subscription. &lt;br /&gt;
&lt;br /&gt;
To resolve this:&lt;br /&gt;
&lt;br /&gt;
# In the subscription for that domain name, remove the referenced addon in Plesk. &lt;br /&gt;
# In WHMCS, go to the product or service's '''Products/Services''' tab.&lt;br /&gt;
# Use the &amp;quot;Upgrade/Downgrade&amp;quot; option to create an upgrade order. &lt;br /&gt;
&lt;br /&gt;
===2306 - Domain adding was failed. Error: xxxxx template failed: Unable to apply limits===&lt;br /&gt;
&lt;br /&gt;
This error message comes direct from the Plesk API. It indicates that the template you are attempting to use exceeds your limits or has a feature your server doesn't support. Create an account with the template inside Plesk to retrieve further details.&lt;br /&gt;
&lt;br /&gt;
===Plesk login requires user authentication===&lt;br /&gt;
&lt;br /&gt;
This issue can happen when the user has a dynamic IP addresses or an unstable internet connection. Selecting '''Allow IP changes during one session''' in Plesk [https://docs.plesk.com/en-US/obsidian/administrator-guide/server-administration/session-preferences.60305/ will resolve this].&lt;br /&gt;
&lt;br /&gt;
{{modules}}&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Plesk&amp;diff=33548</id>
		<title>Plesk</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Plesk&amp;diff=33548"/>
				<updated>2022-10-04T12:21:28Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Configurable Options */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this Module ==&lt;br /&gt;
&lt;br /&gt;
The Plesk module allows you to add and manage Plesk servers in WHMCS.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
* This module is compatible with Plesk versions 11, 11.5, 12, 12.5, Onyx, and Obsidian.&lt;br /&gt;
* You can also [[Plesk Single Sign-On|use single sign-on with Plesk]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{Provisioning_Module&lt;br /&gt;
| changepackage = Yes&lt;br /&gt;
| changepw = Yes&lt;br /&gt;
| usageupdates = Yes&lt;br /&gt;
| clientarealink = Yes&lt;br /&gt;
| port = 8443}}&lt;br /&gt;
== Adding a Plesk Server ==&lt;br /&gt;
&lt;br /&gt;
To set up a Plesk server in WHMCS:&lt;br /&gt;
 &lt;br /&gt;
# Go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Servers]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Servers'''.&lt;br /&gt;
# Click '''Add New Server'''.&lt;br /&gt;
# Select ''Plesk'' from the menu. &lt;br /&gt;
# Enter the hostname or IP address.&lt;br /&gt;
# Enter a username and password.&lt;br /&gt;
# Click '''Test Connection'''.&lt;br /&gt;
# Enter the desired additional server details.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
# If this is the only Plesk server that is currently in WHMCS, click on the name and ensure that it results in an asterisk (*) next to it. This indicates that it is the default to use when any other non-specific configuration doesn't apply.&lt;br /&gt;
&lt;br /&gt;
For more information, see [https://help.whmcs.com/m/87388/l/1076210 Creating Your First Plesk Server] and [[Plesk Onyx]].&lt;br /&gt;
&lt;br /&gt;
== Creating a Plesk Product ==&lt;br /&gt;
&lt;br /&gt;
[[File:plesk12_3new.png|thumb|Creating a Plesk Product]]&lt;br /&gt;
 &lt;br /&gt;
You can create a product that provisions accounts on your Plesk server at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Products_and_Services|Products/Services]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Products/Services'''.   &lt;br /&gt;
 &lt;br /&gt;
=== Configurable Options ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
* If you set up configurable options, you will also use Plesk's Panel Addons. This Plesk feature is '''not''' part of WHMCS's product addon system.&lt;br /&gt;
* A friendly name can be assigned to configurable options in order to display a different name to clients. This is sometimes preferable to displaying the system value as it appears inside Plesk. For more information, see [[Addons_and_Configurable_Options#Friendly_Display_Names|Friendly Display Names]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
[[File:Plesk_addons.png |thumb|Plesk Panel Addons]]&lt;br /&gt;
[[File:Plesk_config_opt_setup_8-2.png |thumb|WHMCS Plesk Configurable Options]]&lt;br /&gt;
[[File:WHMCS-plesk-extra-bandwidth-8-2.png |thumb|WHMCS Plesk Bandwidth Configurable Options]]&lt;br /&gt;
 &lt;br /&gt;
To create configurable options that attach Plesk's Panel Addons to your Plesk products:&lt;br /&gt;
 &lt;br /&gt;
# Go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Configurable Options]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Configurable Options'''.&lt;br /&gt;
# Perform one of the following actions:&lt;br /&gt;
#* Click the '''Edit''' icon for an existing group.&lt;br /&gt;
#* Click '''Create a New Group''', configure the group name, description, and assigned products, and then click '''Save Changes'''.&lt;br /&gt;
# Click '''Add New Configurable Option'''.&lt;br /&gt;
# Enter an option name using the &amp;lt;tt&amp;gt;Plesk Panel-Addon-Name&amp;lt;/tt&amp;gt; name format, replacing &amp;lt;tt&amp;gt;Panel-Addon-Name&amp;lt;/tt&amp;gt; with the exact name that displays in Plesk for that Plesk Panel Addon. For example:&lt;br /&gt;
#* In the '''Plesk Panel Addons''' image above, one of the configured Panel Addons is '''Extra Bandwidth''', with resources of &amp;lt;tt&amp;gt;5GB&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;10GB&amp;lt;/tt&amp;gt;.&lt;br /&gt;
#* In WHMCS in the '''WHMCS Plesk Configurable Options''' image above, this is '''Plesk Extra Bandwidth'''.&lt;br /&gt;
#* In the '''WHMCS Plesk Bandwidth Configurable Options''' image above, '''10GB Extra Bandwidth''' and '''5GB Extra Bandwidth''' are set to ensure that the bandwidth options in Plesk and WHMCS match.&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;We recommend that you set the first option to '''None''' or a similar value. When you do this, ensure that the '''Panel Addon''' uses a value of &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt;. This gives the user the ability to choose not to have any additional values per option.&amp;lt;/div&amp;gt;&lt;br /&gt;
# Select ''Yes/No'' or ''Dropdown'' as the '''Option Type''' setting.&lt;br /&gt;
# Enter the desired options and display order.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
# Create each desired additional option.&lt;br /&gt;
# Click '''Close Window'''.&lt;br /&gt;
# Select the desired products in the '''Assigned Products''' list.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
# Go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Products_and_Services|Products/Services]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Products/Services'''.&lt;br /&gt;
# Edit the desired product or service.&lt;br /&gt;
# In the '''Configurable Options''' tab, select the desired options.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
&lt;br /&gt;
==== Dedicated IP Address ====&lt;br /&gt;
 &lt;br /&gt;
To create configurable options that provision a dedicated IP address, use either or both of these exact names when you create configurable options:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;Dedicated IPv4&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;Dedicated IPv6&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Select ''Yes/No'' from the '''Option Type''' menu for these options.&lt;br /&gt;
&lt;br /&gt;
====Overriding Overage Billing Soft Limits with Configurable Options====&lt;br /&gt;
 &lt;br /&gt;
When using configurable options to override the soft limits for overage billing on a Plesk product, you must create a &amp;lt;tt&amp;gt;config.ini&amp;lt;/tt&amp;gt; file in the &amp;lt;tt&amp;gt;/modules/servers&amp;lt;/tt&amp;gt; directory with the following contents:&lt;br /&gt;
 &lt;br /&gt;
 ;WHMCS Plesk Provisioning Module Config File&lt;br /&gt;
 skip_addon_prefix = true&lt;br /&gt;
 &lt;br /&gt;
After you create this file, ensure that you have configured &amp;lt;tt&amp;gt;Disk Space&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Bandwidth&amp;lt;/tt&amp;gt; configurable options using our [[Disk_Space_and_Bandwidth_Overage_Billing#Custom_Fields_and_Configurable_Options|Custom Fields and Configurable Options]] documentation. This will ensure that the overrides function correctly.&lt;br /&gt;
&lt;br /&gt;
=== Add-On Features ===&lt;br /&gt;
 &lt;br /&gt;
In WHMCS 8.2 and later, in addition to WHMCS's existing product addon functionality (now an '''Independent Product'''), you can create an '''Add-On Feature'''. These addons let you sell module-specific features like the WordPress Toolkit offerings available through both cPanel &amp;amp; WHM and Plesk.&lt;br /&gt;
 &lt;br /&gt;
For more information and steps to create an addon, see [[Product Addons]].&lt;br /&gt;
&lt;br /&gt;
=== Reseller Packages ===&lt;br /&gt;
&lt;br /&gt;
When creating a reseller package, create the service plan on your Plesk server in the '''Reseller Plans''' tab at '''Hosting Services &amp;gt; Service Plans'''.&lt;br /&gt;
&lt;br /&gt;
When you configure the product in WHMCS, use the following settings:&lt;br /&gt;
&lt;br /&gt;
* In the '''Details''' tab, set the '''Product Type''' setting to ''Reseller Account''.&lt;br /&gt;
* In the '''Module Settings''' tab, set the '''Service Plan Name''' ''and'' '''Reseller Plan Name''' settings.&lt;br /&gt;
&lt;br /&gt;
Creating a reseller account will '''not''' create a shared hosting space for the reseller's website. After account creation, the reseller can log in to Plesk and set up their own hosting space.&lt;br /&gt;
&lt;br /&gt;
===Metric Billing===&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-info-circle&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;We added metric billing for Plesk in WHMCS 8.5.&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
You can bill clients for their use of individual items like databases or bandwidth. You can choose whether to include a certain amount in the base price and only charge for exceeding a certain limit, offer tiered pricing, or charge for every unit of an item.&lt;br /&gt;
 &lt;br /&gt;
You can configure metric billing in the '''Metric Billing''' tab.&lt;br /&gt;
 &lt;br /&gt;
When a client orders this product, WHMCS will track the account's use of the items you configured. On the service's '''Next Due Date''', the system will record that period's usage and add the cost to the service's renewal invoice.&lt;br /&gt;
 &lt;br /&gt;
For more information, see [[Usage Billing]].&lt;br /&gt;
&lt;br /&gt;
=== Log in to Plesk ===&lt;br /&gt;
&lt;br /&gt;
When you click '''Log in to Plesk''' in the Client Area ''or'' Admin Area, WHMCS bases its actions on the server hostname if it is available. If it is not, WHMCS uses the IP address. &lt;br /&gt;
&lt;br /&gt;
The use of &amp;lt;tt&amp;gt;http&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;https&amp;lt;/tt&amp;gt; login links depends on the '''Secure''' setting in your server's configuration.&lt;br /&gt;
&lt;br /&gt;
=== WHMCS Connect ===&lt;br /&gt;
&lt;br /&gt;
WHMCS Connect allows you and your administrators to quickly and easily access the control panels of all the servers configured in your WHMCS installation that support Single Sign-On, enabling you and your staff to administer and make changes without ever needing to re-authenticate.&lt;br /&gt;
 &lt;br /&gt;
For more information, see [[WHMCS_Connect]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== The client account is getting setup but the domain is not ===&lt;br /&gt;
&lt;br /&gt;
This is usually due to the permissions of the domain template exceeding the server resources or containing something unsupported (for example, ColdFusion). Always test whether your domain template works directly in Plesk after setting it up.&lt;br /&gt;
&lt;br /&gt;
=== I get a blank command error from WHMCS when it tries to setup an account ===&lt;br /&gt;
&lt;br /&gt;
This can occur if your firewall is blocking connections on port 8443. You need to open it on both the server WHMCS is on and the server WHMCS is connecting to for inbound and outbound connections.&lt;br /&gt;
&lt;br /&gt;
=== With accounts created on my Plesk server from WHMCS the www. subdomain doesn't work ===&lt;br /&gt;
&lt;br /&gt;
This happens due to the default DNS settings on a Plesk server and the requirement to check a box when creating an account to enable it. &lt;br /&gt;
&lt;br /&gt;
To avoid that, simply follow the steps below.&lt;br /&gt;
# Log in to Plesk.&lt;br /&gt;
# Click '''Server'''.&lt;br /&gt;
# Click '''DNS Settings'''.&lt;br /&gt;
# Click '''Add New Record'''.&lt;br /&gt;
# Choose '''CNAME''' under the record type.&lt;br /&gt;
# Enter &amp;lt;tt&amp;gt;www&amp;lt;/tt&amp;gt; in '''Enter Domain Name'''.&lt;br /&gt;
# Enter &amp;lt;tt&amp;gt;&amp;lt;domain&amp;gt;&amp;lt;/tt&amp;gt; in '''Enter Canonical Name'''.&lt;br /&gt;
# Click '''OK''' to complete the changes.&lt;br /&gt;
&lt;br /&gt;
=== Page not Found/Timeout/502 Bad Gateway error creating accounts ===&lt;br /&gt;
&lt;br /&gt;
By default, Plesk performs a forced restart of Apache when an account is created or suspended. This causes WHMCS to lose connection to the server, and, if WHMCS is on the same server, you will also lose connection to WHMCS.&lt;br /&gt;
&lt;br /&gt;
To resolve this, see [https://support.plesk.com/hc/en-us/articles/213907285 Plesk's support article].&lt;br /&gt;
&lt;br /&gt;
=== 503 Service Temporarily Unavailable error creating accounts ===&lt;br /&gt;
&lt;br /&gt;
By default, Plesk performs a forced restart of Apache when an account is created or suspended. This causes WHMCS to lose connection to the server, and, if WHMCS is on the same server, you will also lose connection to WHMCS.&lt;br /&gt;
&lt;br /&gt;
To resolve this, see [https://support.plesk.com/hc/en-us/articles/115003664213-Unable-to-create-domain-through-WHMCS-503-Service-Temporarily-Unavailable Plesk's support article].&lt;br /&gt;
&lt;br /&gt;
===Unable to create account in Panel. The field 'username' is required.===&lt;br /&gt;
&lt;br /&gt;
This means the username under the client's '''Products/Services''' tab is empty.&lt;br /&gt;
&lt;br /&gt;
Enter a username, save changes, and try module creation again. Then, ensure that '''Require Domains''' is enabled for the product at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Products and Services|Products/Services]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services'''.&lt;br /&gt;
&lt;br /&gt;
===0 - Unable to find appropriate manager for this version of Panel. Plesk should be at least 8.0 version===&lt;br /&gt;
&lt;br /&gt;
This is a generic error message that the Plesk module returns. For example, it could indicate a connection error or invalid credentials. &lt;br /&gt;
&lt;br /&gt;
To identify the underlying error that is occurring, check the '''Module Log''' at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; [[System Logs]]''' or, prior to WHMCS 8.0, '''Utilities &amp;gt; Logs &amp;gt; Module Log'''. Enable it, reproduce the error, disable it again, and the ''''Response''' column will show the underlying error.&lt;br /&gt;
&lt;br /&gt;
For more information, see [[Troubleshooting_Module_Problems]].&lt;br /&gt;
&lt;br /&gt;
===1006 - Permission denied===&lt;br /&gt;
&lt;br /&gt;
This indicates that your Plesk login doesn't have the necessary permissions to use the API. You need the server administrator to grant your Plesk reseller account the '''Ability to use remote API''' permission.&lt;br /&gt;
&lt;br /&gt;
===1013 - Template does not exist===&lt;br /&gt;
&lt;br /&gt;
This error message is coming directly from the Plesk API and indicates that the client and domain template names are incorrect or missing. You can correct these in the product's '''Module Settings''' tab.&lt;br /&gt;
&lt;br /&gt;
===1013 - Error message: Customer with email 'johndoe@example.com' is not found in panel===&lt;br /&gt;
&lt;br /&gt;
There are two potential causes of this error message:&lt;br /&gt;
&lt;br /&gt;
==== Incorrect product type ====&lt;br /&gt;
&lt;br /&gt;
The product type is set incorrectly in WHMCS (for example, a reseller plan is configured as a shared hosting product in WHMCS). &lt;br /&gt;
&lt;br /&gt;
To resolve this:&lt;br /&gt;
&lt;br /&gt;
# Log in to WHMCS Admin Area.&lt;br /&gt;
# Navigate to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Products and Services|Products/Services]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Products/Services'''.&lt;br /&gt;
# Set '''Product Type''' to ''Shared Hosting'' or ''Reseller Hosting'' to match the Plesk plan type.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
&lt;br /&gt;
==== Missing data from a table inside Plesk ====&lt;br /&gt;
&lt;br /&gt;
If the error persists after following the ''Incorrect product type'' steps above, see [https://support.plesk.com/hc/en-us/articles/213932225-Error-while-accessing-Plesk-from-WHMCS-via-API-Customer-with-external-id-whmcs-plesk-XX-is-not-found-in-panel this article].&lt;br /&gt;
&lt;br /&gt;
===1013 - Error message: Customer with external id 'xxxxxxxx' is not found in panel===&lt;br /&gt;
&lt;br /&gt;
Refer to the solution for [[#1013 - Error message: Customer with email 'johndoe@example.com' is not found in panel|1013 - Error message: Customer with email 'johndoe@example.com' is not found in panel]] above.&lt;br /&gt;
&lt;br /&gt;
===1014 - Parser error: Request is invalid===&lt;br /&gt;
&lt;br /&gt;
This error message indicates there is a field value missing. This is most commonly caused by having no assigned IP addresses in the client or domain template's IP pool.&lt;br /&gt;
&lt;br /&gt;
===1014 - Parser error: Cannot parse the XML from the source specified===&lt;br /&gt;
&lt;br /&gt;
The Plesk API only supports the characters a-z and 0-9. If the client's profile contains accents or other characters, it will cause account creation to fail. Edit the client's profile to remove these characters.&lt;br /&gt;
&lt;br /&gt;
===1018 - Unable to create hosting. IP address does not exist in client's pool===&lt;br /&gt;
&lt;br /&gt;
This error indicates that there is an issue with the IP address pool configuration in Plesk. For example, there may not be any available IP addresses or the first IP address may be set as dedicated instead of shared.&lt;br /&gt;
&lt;br /&gt;
===1023 - Unable to accept the template: the following limitations are exceeded===&lt;br /&gt;
&lt;br /&gt;
This issue occurs when the resources provided by the serivce plan addon were already used by the subscription. &lt;br /&gt;
&lt;br /&gt;
To resolve this:&lt;br /&gt;
&lt;br /&gt;
# In the subscription for that domain name, remove the referenced addon in Plesk. &lt;br /&gt;
# In WHMCS, go to the product or service's '''Products/Services''' tab.&lt;br /&gt;
# Use the &amp;quot;Upgrade/Downgrade&amp;quot; option to create an upgrade order. &lt;br /&gt;
&lt;br /&gt;
===2306 - Domain adding was failed. Error: xxxxx template failed: Unable to apply limits===&lt;br /&gt;
&lt;br /&gt;
This error message comes direct from the Plesk API. It indicates that the template you are attempting to use exceeds your limits or has a feature your server doesn't support. Create an account with the template inside Plesk to retrieve further details.&lt;br /&gt;
&lt;br /&gt;
===Plesk login requires user authentication===&lt;br /&gt;
&lt;br /&gt;
This issue can happen when the user has a dynamic IP addresses or an unstable internet connection. Selecting '''Allow IP changes during one session''' in Plesk [https://docs.plesk.com/en-US/obsidian/administrator-guide/server-administration/session-preferences.60305/ will resolve this].&lt;br /&gt;
&lt;br /&gt;
{{modules}}&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Plesk&amp;diff=33547</id>
		<title>Plesk</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Plesk&amp;diff=33547"/>
				<updated>2022-10-04T12:20:56Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this Module ==&lt;br /&gt;
&lt;br /&gt;
The Plesk module allows you to add and manage Plesk servers in WHMCS.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
* This module is compatible with Plesk versions 11, 11.5, 12, 12.5, Onyx, and Obsidian.&lt;br /&gt;
* You can also [[Plesk Single Sign-On|use single sign-on with Plesk]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{Provisioning_Module&lt;br /&gt;
| changepackage = Yes&lt;br /&gt;
| changepw = Yes&lt;br /&gt;
| usageupdates = Yes&lt;br /&gt;
| clientarealink = Yes&lt;br /&gt;
| port = 8443}}&lt;br /&gt;
== Adding a Plesk Server ==&lt;br /&gt;
&lt;br /&gt;
To set up a Plesk server in WHMCS:&lt;br /&gt;
 &lt;br /&gt;
# Go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Servers]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Servers'''.&lt;br /&gt;
# Click '''Add New Server'''.&lt;br /&gt;
# Select ''Plesk'' from the menu. &lt;br /&gt;
# Enter the hostname or IP address.&lt;br /&gt;
# Enter a username and password.&lt;br /&gt;
# Click '''Test Connection'''.&lt;br /&gt;
# Enter the desired additional server details.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
# If this is the only Plesk server that is currently in WHMCS, click on the name and ensure that it results in an asterisk (*) next to it. This indicates that it is the default to use when any other non-specific configuration doesn't apply.&lt;br /&gt;
&lt;br /&gt;
For more information, see [https://help.whmcs.com/m/87388/l/1076210 Creating Your First Plesk Server] and [[Plesk Onyx]].&lt;br /&gt;
&lt;br /&gt;
== Creating a Plesk Product ==&lt;br /&gt;
&lt;br /&gt;
[[File:plesk12_3new.png|thumb|Creating a Plesk Product]]&lt;br /&gt;
 &lt;br /&gt;
You can create a product that provisions accounts on your Plesk server at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Products_and_Services|Products/Services]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Products/Services'''.   &lt;br /&gt;
 &lt;br /&gt;
=== Configurable Options ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
* If you set up configurable options, you will also use Plesk's Panel Addons. This Plesk feature is '''not''' part of WHMCS's product addon system.&lt;br /&gt;
* A friendly name can be assigned to configurable options in order to display a different name to clients. This is sometimes preferable to displaying the system value as it appears inside Plesk. For more information, see [[Addons_and_Configurable_Options#Friendly_Display_Names|Friendly Display Names]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
[[File:Plesk_addons.png |thumb|Plesk Panel Addons]]&lt;br /&gt;
[[File:Plesk_config_opt_setup_8-2.png |thumb|WHMCS Plesk Configurable Options]]&lt;br /&gt;
[[File:WHMCS-plesk-extra-bandwidth-8-2.png |thumb|WHMCS Plesk Bandwidth Configurable Options]]&lt;br /&gt;
 &lt;br /&gt;
To create configurable options that attach Plesk's Panel Addons to your Plesk products:&lt;br /&gt;
 &lt;br /&gt;
# Go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Configurable Options]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Configurable Options'''.&lt;br /&gt;
# Perform one of the following actions:&lt;br /&gt;
#* Click the '''Edit''' icon for an existing group.&lt;br /&gt;
#* Click '''Create a New Group''', configure the group name, description, and assigned products, and then click '''Save Changes'''.&lt;br /&gt;
# Click '''Add New Configurable Option'''.&lt;br /&gt;
# Enter an option name using the &amp;lt;tt&amp;gt;Plesk Panel-Addon-Name&amp;lt;/tt&amp;gt; name format, replacing &amp;lt;tt&amp;gt;Panel-Addon-Name&amp;lt;/tt&amp;gt; with the exact name that displays in Plesk for that Plesk Panel Addon. For example:&lt;br /&gt;
#* In the '''Plesk Panel Addons''' image above, one of the configured Panel Addons is '''Extra Bandwidth''', with resources of &amp;lt;tt&amp;gt;5GB&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;10GB&amp;lt;/tt&amp;gt;.&lt;br /&gt;
#* In WHMCS in the '''WHMCS Plesk Configurable Options''' image above, this is '''Plesk Extra Bandwidth'''.&lt;br /&gt;
#* In the '''WHMCS Plesk Bandwidth Configurable Options''' image above, '''10GB Extra Bandwidth''' and '''5GB Extra Bandwidth''' are set to ensure that the bandwidth options in Plesk and WHMCS match.&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;We recommend that you set the first option to '''None''' or a similar value. When you do this, ensure that the '''Panel Addon''' uses a value of &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt;. This gives the user the ability to choose not to have any additional values per option.&amp;lt;/div&amp;gt;&lt;br /&gt;
# Select ''Yes/No'' or ''Dropdown'' as the '''Option Type''' setting.&lt;br /&gt;
# Enter the desired options and display order.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
# Create each desired additional option.&lt;br /&gt;
# Click '''Close Window'''.&lt;br /&gt;
# Select the desired products in the '''Assigned Products''' list.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
# Go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Products_and_Services|Products/Services]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Products/Services'''.&lt;br /&gt;
# Edit the desired product or service.&lt;br /&gt;
# In the '''Configurable Options''' tab, select the desired options.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
&lt;br /&gt;
==== Dedicated IP Address ====&lt;br /&gt;
 &lt;br /&gt;
To create configurable options that provision a dedicated IP address, use either or both of these exact names when you create configurable options:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;Dedicated IPv4&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;Dedicated IPv6&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Select ''Yes/No'' from the '''Option Type''' menu for these options.&lt;br /&gt;
 &lt;br /&gt;
=== Add-On Features ===&lt;br /&gt;
 &lt;br /&gt;
In WHMCS 8.2 and later, in addition to WHMCS's existing product addon functionality (now an '''Independent Product'''), you can create an '''Add-On Feature'''. These addons let you sell module-specific features like the WordPress Toolkit offerings available through both cPanel &amp;amp; WHM and Plesk.&lt;br /&gt;
 &lt;br /&gt;
For more information and steps to create an addon, see [[Product Addons]].&lt;br /&gt;
&lt;br /&gt;
=== Reseller Packages ===&lt;br /&gt;
&lt;br /&gt;
When creating a reseller package, create the service plan on your Plesk server in the '''Reseller Plans''' tab at '''Hosting Services &amp;gt; Service Plans'''.&lt;br /&gt;
&lt;br /&gt;
When you configure the product in WHMCS, use the following settings:&lt;br /&gt;
&lt;br /&gt;
* In the '''Details''' tab, set the '''Product Type''' setting to ''Reseller Account''.&lt;br /&gt;
* In the '''Module Settings''' tab, set the '''Service Plan Name''' ''and'' '''Reseller Plan Name''' settings.&lt;br /&gt;
&lt;br /&gt;
Creating a reseller account will '''not''' create a shared hosting space for the reseller's website. After account creation, the reseller can log in to Plesk and set up their own hosting space.&lt;br /&gt;
&lt;br /&gt;
===Metric Billing===&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-info-circle&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;We added metric billing for Plesk in WHMCS 8.5.&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
You can bill clients for their use of individual items like databases or bandwidth. You can choose whether to include a certain amount in the base price and only charge for exceeding a certain limit, offer tiered pricing, or charge for every unit of an item.&lt;br /&gt;
 &lt;br /&gt;
You can configure metric billing in the '''Metric Billing''' tab.&lt;br /&gt;
 &lt;br /&gt;
When a client orders this product, WHMCS will track the account's use of the items you configured. On the service's '''Next Due Date''', the system will record that period's usage and add the cost to the service's renewal invoice.&lt;br /&gt;
 &lt;br /&gt;
For more information, see [[Usage Billing]].&lt;br /&gt;
&lt;br /&gt;
=== Log in to Plesk ===&lt;br /&gt;
&lt;br /&gt;
When you click '''Log in to Plesk''' in the Client Area ''or'' Admin Area, WHMCS bases its actions on the server hostname if it is available. If it is not, WHMCS uses the IP address. &lt;br /&gt;
&lt;br /&gt;
The use of &amp;lt;tt&amp;gt;http&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;https&amp;lt;/tt&amp;gt; login links depends on the '''Secure''' setting in your server's configuration.&lt;br /&gt;
&lt;br /&gt;
=== WHMCS Connect ===&lt;br /&gt;
&lt;br /&gt;
WHMCS Connect allows you and your administrators to quickly and easily access the control panels of all the servers configured in your WHMCS installation that support Single Sign-On, enabling you and your staff to administer and make changes without ever needing to re-authenticate.&lt;br /&gt;
 &lt;br /&gt;
For more information, see [[WHMCS_Connect]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== The client account is getting setup but the domain is not ===&lt;br /&gt;
&lt;br /&gt;
This is usually due to the permissions of the domain template exceeding the server resources or containing something unsupported (for example, ColdFusion). Always test whether your domain template works directly in Plesk after setting it up.&lt;br /&gt;
&lt;br /&gt;
=== I get a blank command error from WHMCS when it tries to setup an account ===&lt;br /&gt;
&lt;br /&gt;
This can occur if your firewall is blocking connections on port 8443. You need to open it on both the server WHMCS is on and the server WHMCS is connecting to for inbound and outbound connections.&lt;br /&gt;
&lt;br /&gt;
=== With accounts created on my Plesk server from WHMCS the www. subdomain doesn't work ===&lt;br /&gt;
&lt;br /&gt;
This happens due to the default DNS settings on a Plesk server and the requirement to check a box when creating an account to enable it. &lt;br /&gt;
&lt;br /&gt;
To avoid that, simply follow the steps below.&lt;br /&gt;
# Log in to Plesk.&lt;br /&gt;
# Click '''Server'''.&lt;br /&gt;
# Click '''DNS Settings'''.&lt;br /&gt;
# Click '''Add New Record'''.&lt;br /&gt;
# Choose '''CNAME''' under the record type.&lt;br /&gt;
# Enter &amp;lt;tt&amp;gt;www&amp;lt;/tt&amp;gt; in '''Enter Domain Name'''.&lt;br /&gt;
# Enter &amp;lt;tt&amp;gt;&amp;lt;domain&amp;gt;&amp;lt;/tt&amp;gt; in '''Enter Canonical Name'''.&lt;br /&gt;
# Click '''OK''' to complete the changes.&lt;br /&gt;
&lt;br /&gt;
=== Page not Found/Timeout/502 Bad Gateway error creating accounts ===&lt;br /&gt;
&lt;br /&gt;
By default, Plesk performs a forced restart of Apache when an account is created or suspended. This causes WHMCS to lose connection to the server, and, if WHMCS is on the same server, you will also lose connection to WHMCS.&lt;br /&gt;
&lt;br /&gt;
To resolve this, see [https://support.plesk.com/hc/en-us/articles/213907285 Plesk's support article].&lt;br /&gt;
&lt;br /&gt;
=== 503 Service Temporarily Unavailable error creating accounts ===&lt;br /&gt;
&lt;br /&gt;
By default, Plesk performs a forced restart of Apache when an account is created or suspended. This causes WHMCS to lose connection to the server, and, if WHMCS is on the same server, you will also lose connection to WHMCS.&lt;br /&gt;
&lt;br /&gt;
To resolve this, see [https://support.plesk.com/hc/en-us/articles/115003664213-Unable-to-create-domain-through-WHMCS-503-Service-Temporarily-Unavailable Plesk's support article].&lt;br /&gt;
&lt;br /&gt;
===Unable to create account in Panel. The field 'username' is required.===&lt;br /&gt;
&lt;br /&gt;
This means the username under the client's '''Products/Services''' tab is empty.&lt;br /&gt;
&lt;br /&gt;
Enter a username, save changes, and try module creation again. Then, ensure that '''Require Domains''' is enabled for the product at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Products and Services|Products/Services]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services'''.&lt;br /&gt;
&lt;br /&gt;
===0 - Unable to find appropriate manager for this version of Panel. Plesk should be at least 8.0 version===&lt;br /&gt;
&lt;br /&gt;
This is a generic error message that the Plesk module returns. For example, it could indicate a connection error or invalid credentials. &lt;br /&gt;
&lt;br /&gt;
To identify the underlying error that is occurring, check the '''Module Log''' at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; [[System Logs]]''' or, prior to WHMCS 8.0, '''Utilities &amp;gt; Logs &amp;gt; Module Log'''. Enable it, reproduce the error, disable it again, and the ''''Response''' column will show the underlying error.&lt;br /&gt;
&lt;br /&gt;
For more information, see [[Troubleshooting_Module_Problems]].&lt;br /&gt;
&lt;br /&gt;
===1006 - Permission denied===&lt;br /&gt;
&lt;br /&gt;
This indicates that your Plesk login doesn't have the necessary permissions to use the API. You need the server administrator to grant your Plesk reseller account the '''Ability to use remote API''' permission.&lt;br /&gt;
&lt;br /&gt;
===1013 - Template does not exist===&lt;br /&gt;
&lt;br /&gt;
This error message is coming directly from the Plesk API and indicates that the client and domain template names are incorrect or missing. You can correct these in the product's '''Module Settings''' tab.&lt;br /&gt;
&lt;br /&gt;
===1013 - Error message: Customer with email 'johndoe@example.com' is not found in panel===&lt;br /&gt;
&lt;br /&gt;
There are two potential causes of this error message:&lt;br /&gt;
&lt;br /&gt;
==== Incorrect product type ====&lt;br /&gt;
&lt;br /&gt;
The product type is set incorrectly in WHMCS (for example, a reseller plan is configured as a shared hosting product in WHMCS). &lt;br /&gt;
&lt;br /&gt;
To resolve this:&lt;br /&gt;
&lt;br /&gt;
# Log in to WHMCS Admin Area.&lt;br /&gt;
# Navigate to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Products and Services|Products/Services]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Products/Services'''.&lt;br /&gt;
# Set '''Product Type''' to ''Shared Hosting'' or ''Reseller Hosting'' to match the Plesk plan type.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
&lt;br /&gt;
==== Missing data from a table inside Plesk ====&lt;br /&gt;
&lt;br /&gt;
If the error persists after following the ''Incorrect product type'' steps above, see [https://support.plesk.com/hc/en-us/articles/213932225-Error-while-accessing-Plesk-from-WHMCS-via-API-Customer-with-external-id-whmcs-plesk-XX-is-not-found-in-panel this article].&lt;br /&gt;
&lt;br /&gt;
===1013 - Error message: Customer with external id 'xxxxxxxx' is not found in panel===&lt;br /&gt;
&lt;br /&gt;
Refer to the solution for [[#1013 - Error message: Customer with email 'johndoe@example.com' is not found in panel|1013 - Error message: Customer with email 'johndoe@example.com' is not found in panel]] above.&lt;br /&gt;
&lt;br /&gt;
===1014 - Parser error: Request is invalid===&lt;br /&gt;
&lt;br /&gt;
This error message indicates there is a field value missing. This is most commonly caused by having no assigned IP addresses in the client or domain template's IP pool.&lt;br /&gt;
&lt;br /&gt;
===1014 - Parser error: Cannot parse the XML from the source specified===&lt;br /&gt;
&lt;br /&gt;
The Plesk API only supports the characters a-z and 0-9. If the client's profile contains accents or other characters, it will cause account creation to fail. Edit the client's profile to remove these characters.&lt;br /&gt;
&lt;br /&gt;
===1018 - Unable to create hosting. IP address does not exist in client's pool===&lt;br /&gt;
&lt;br /&gt;
This error indicates that there is an issue with the IP address pool configuration in Plesk. For example, there may not be any available IP addresses or the first IP address may be set as dedicated instead of shared.&lt;br /&gt;
&lt;br /&gt;
===1023 - Unable to accept the template: the following limitations are exceeded===&lt;br /&gt;
&lt;br /&gt;
This issue occurs when the resources provided by the serivce plan addon were already used by the subscription. &lt;br /&gt;
&lt;br /&gt;
To resolve this:&lt;br /&gt;
&lt;br /&gt;
# In the subscription for that domain name, remove the referenced addon in Plesk. &lt;br /&gt;
# In WHMCS, go to the product or service's '''Products/Services''' tab.&lt;br /&gt;
# Use the &amp;quot;Upgrade/Downgrade&amp;quot; option to create an upgrade order. &lt;br /&gt;
&lt;br /&gt;
===2306 - Domain adding was failed. Error: xxxxx template failed: Unable to apply limits===&lt;br /&gt;
&lt;br /&gt;
This error message comes direct from the Plesk API. It indicates that the template you are attempting to use exceeds your limits or has a feature your server doesn't support. Create an account with the template inside Plesk to retrieve further details.&lt;br /&gt;
&lt;br /&gt;
===Plesk login requires user authentication===&lt;br /&gt;
&lt;br /&gt;
This issue can happen when the user has a dynamic IP addresses or an unstable internet connection. Selecting '''Allow IP changes during one session''' in Plesk [https://docs.plesk.com/en-US/obsidian/administrator-guide/server-administration/session-preferences.60305/ will resolve this].&lt;br /&gt;
&lt;br /&gt;
{{modules}}&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Plesk&amp;diff=33546</id>
		<title>Plesk</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Plesk&amp;diff=33546"/>
				<updated>2022-10-04T12:19:55Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this Module ==&lt;br /&gt;
&lt;br /&gt;
The Plesk module allows you to add and manage Plesk servers in WHMCS.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
* This module is compatible with Plesk versions 11, 11.5, 12, 12.5, Onyx, and Obsidian.&lt;br /&gt;
* You can also [[Plesk Single Sign-On|use single sign-on with Plesk]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{Provisioning_Module&lt;br /&gt;
| changepackage = Yes&lt;br /&gt;
| changepw = Yes&lt;br /&gt;
| usageupdates = Yes&lt;br /&gt;
| clientarealink = Yes&lt;br /&gt;
| port = 8443}}&lt;br /&gt;
== Adding a Plesk Server ==&lt;br /&gt;
&lt;br /&gt;
To set up a Plesk server in WHMCS:&lt;br /&gt;
 &lt;br /&gt;
# Go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Servers]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Servers'''.&lt;br /&gt;
# Click '''Add New Server'''.&lt;br /&gt;
# Select ''Plesk'' from the menu. &lt;br /&gt;
# Enter the hostname or IP address.&lt;br /&gt;
# Enter a username and password.&lt;br /&gt;
# Click '''Test Connection'''.&lt;br /&gt;
# Enter the desired additional server details.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
# If this is the only Plesk server that is currently in WHMCS, click on the name and ensure that it results in an asterisk (*) next to it. This indicates that it is the default to use when any other non-specific configuration doesn't apply.&lt;br /&gt;
&lt;br /&gt;
For more information, see [https://help.whmcs.com/m/87388/l/1076210 Creating Your First Plesk Server] and [[Plesk Onyx]].&lt;br /&gt;
&lt;br /&gt;
== Creating a Plesk Product ==&lt;br /&gt;
&lt;br /&gt;
[[File:plesk12_3new.png|thumb|Creating a Plesk Product]]&lt;br /&gt;
 &lt;br /&gt;
You can create a product that provisions accounts on your Plesk server at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Products_and_Services|Products/Services]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Products/Services'''.   &lt;br /&gt;
 &lt;br /&gt;
=== Configurable Options ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
* If you set up configurable options, you will also use Plesk's Panel Addons. This Plesk feature is '''not''' part of WHMCS's product addon system.&lt;br /&gt;
* A friendly name can be assigned to configurable options in order to display a different name to clients. This is sometimes preferable to displaying the system value as it appears inside Plesk. For more information, see [[Addons_and_Configurable_Options#Friendly_Display_Names|Friendly Display Names]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
[[File:Plesk_addons.png |thumb|Plesk Panel Addons]]&lt;br /&gt;
[[File:Plesk_config_opt_setup_8-2.png |thumb|WHMCS Plesk Configurable Options]]&lt;br /&gt;
[[File:WHMCS-plesk-extra-bandwidth-8-2.png |thumb|WHMCS Plesk Bandwidth Configurable Options]]&lt;br /&gt;
 &lt;br /&gt;
To create configurable options that attach Plesk's Panel Addons to your Plesk products:&lt;br /&gt;
 &lt;br /&gt;
# Go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Configurable Options]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Configurable Options'''.&lt;br /&gt;
# Perform one of the following actions:&lt;br /&gt;
#* Click the '''Edit''' icon for an existing group.&lt;br /&gt;
#* Click '''Create a New Group''', configure the group name, description, and assigned products, and then click '''Save Changes'''.&lt;br /&gt;
# Click '''Add New Configurable Option'''.&lt;br /&gt;
# Enter an option name using the &amp;lt;tt&amp;gt;Plesk Panel-Addon-Name&amp;lt;/tt&amp;gt; name format, replacing &amp;lt;tt&amp;gt;Panel-Addon-Name&amp;lt;/tt&amp;gt; with the exact name that displays in Plesk for that Plesk Panel Addon. For example:&lt;br /&gt;
#* In the '''Plesk Panel Addons''' image above, one of the configured Panel Addons is '''Extra Bandwidth''', with resources of &amp;lt;tt&amp;gt;5GB&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;10GB&amp;lt;/tt&amp;gt;.&lt;br /&gt;
#* In WHMCS in the '''WHMCS Plesk Configurable Options''' image above, this is '''Plesk Extra Bandwidth'''.&lt;br /&gt;
#* In the '''WHMCS Plesk Bandwidth Configurable Options''' image above, '''10GB Extra Bandwidth''' and '''5GB Extra Bandwidth''' are set to ensure that the bandwidth options in Plesk and WHMCS match.&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;We recommend that you set the first option to '''None''' or a similar value. When you do this, ensure that the '''Panel Addon''' uses a value of &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt;. This gives the user the ability to choose not to have any additional values per option.&amp;lt;/div&amp;gt;&lt;br /&gt;
# Select ''Yes/No'' or ''Dropdown'' as the '''Option Type''' setting.&lt;br /&gt;
# Enter the desired options and display order.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
# Create each desired additional option.&lt;br /&gt;
# Click '''Close Window'''.&lt;br /&gt;
# Select the desired products in the '''Assigned Products''' list.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
# Go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Products_and_Services|Products/Services]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Products/Services'''.&lt;br /&gt;
# Edit the desired product or service.&lt;br /&gt;
# In the '''Configurable Options''' tab, select the desired options.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
&lt;br /&gt;
==== Dedicated IP Address ====&lt;br /&gt;
 &lt;br /&gt;
To create configurable options that provision a dedicated IP address, use either or both of these exact names when you create configurable options:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;Dedicated IPv4&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;Dedicated IPv6&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Select ''Yes/No'' from the '''Option Type''' menu for these options.&lt;br /&gt;
 &lt;br /&gt;
=== Add-On Features ===&lt;br /&gt;
 &lt;br /&gt;
In WHMCS 8.2 and later, in addition to WHMCS's existing product addon functionality (now an '''Independent Product'''), you can create an '''Add-On Feature'''. These addons let you sell module-specific features like the WordPress Toolkit offerings available through both cPanel &amp;amp; WHM and Plesk.&lt;br /&gt;
 &lt;br /&gt;
For more information and steps to create an addon, see [[Product Addons]].&lt;br /&gt;
&lt;br /&gt;
=== Reseller Packages ===&lt;br /&gt;
&lt;br /&gt;
When creating a reseller package, create the service plan on your Plesk server in the '''Reseller Plans''' tab at '''Hosting Services &amp;gt; Service Plans'''.&lt;br /&gt;
&lt;br /&gt;
When you configure the product in WHMCS, use the following settings:&lt;br /&gt;
&lt;br /&gt;
* In the '''Details''' tab, set the '''Product Type''' setting to ''Reseller Account''.&lt;br /&gt;
* In the '''Module Settings''' tab, set the '''Service Plan Name''' ''and'' '''Reseller Plan Name''' settings.&lt;br /&gt;
&lt;br /&gt;
Creating a reseller account will '''not''' create a shared hosting space for the reseller's website. After account creation, the reseller can log in to Plesk and set up their own hosting space.&lt;br /&gt;
&lt;br /&gt;
===Metric Billing===&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-info-circle&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;We added metric billing for Plesk in WHMCS 8.5.&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
You can bill clients for their use of individual items like databases or bandwidth. You can choose whether to include a certain amount in the base price and only charge for exceeding a certain limit, offer tiered pricing, or charge for every unit of an item.&lt;br /&gt;
 &lt;br /&gt;
You can configure metric billing in the '''Metric Billing''' tab.&lt;br /&gt;
 &lt;br /&gt;
When a client orders this product, WHMCS will track the account's use of the items you configured. On the service's '''Next Due Date''', the system will record that period's usage and add the cost to the service's renewal invoice.&lt;br /&gt;
 &lt;br /&gt;
For more information, see [[Usage Billing]].&lt;br /&gt;
&lt;br /&gt;
===Overriding Overage Billing Soft Limits with Configurable Options===&lt;br /&gt;
 &lt;br /&gt;
When using configurable options to override the soft limits for overage billing on a Plesk product, you must create a &amp;lt;tt&amp;gt;config.ini&amp;lt;/tt&amp;gt; file in the &amp;lt;tt&amp;gt;/modules/servers&amp;lt;/tt&amp;gt; directory with the following contents:&lt;br /&gt;
 &lt;br /&gt;
 ;WHMCS Plesk Provisioning Module Config File&lt;br /&gt;
 skip_addon_prefix = true&lt;br /&gt;
 &lt;br /&gt;
After you create this file, ensure that you have configured &amp;lt;tt&amp;gt;Disk Space&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Bandwidth&amp;lt;/tt&amp;gt; configurable options using our [[Disk_Space_and_Bandwidth_Overage_Billing#Custom_Fields_and_Configurable_Options|Custom Fields and Configurable Options]] documentation. This will ensure that the overrides function correctly.&lt;br /&gt;
&lt;br /&gt;
=== Log in to Plesk ===&lt;br /&gt;
&lt;br /&gt;
When you click '''Log in to Plesk''' in the Client Area ''or'' Admin Area, WHMCS bases its actions on the server hostname if it is available. If it is not, WHMCS uses the IP address. &lt;br /&gt;
&lt;br /&gt;
The use of &amp;lt;tt&amp;gt;http&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;https&amp;lt;/tt&amp;gt; login links depends on the '''Secure''' setting in your server's configuration.&lt;br /&gt;
&lt;br /&gt;
=== WHMCS Connect ===&lt;br /&gt;
&lt;br /&gt;
WHMCS Connect allows you and your administrators to quickly and easily access the control panels of all the servers configured in your WHMCS installation that support Single Sign-On, enabling you and your staff to administer and make changes without ever needing to re-authenticate.&lt;br /&gt;
 &lt;br /&gt;
For more information, see [[WHMCS_Connect]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== The client account is getting setup but the domain is not ===&lt;br /&gt;
&lt;br /&gt;
This is usually due to the permissions of the domain template exceeding the server resources or containing something unsupported (for example, ColdFusion). Always test whether your domain template works directly in Plesk after setting it up.&lt;br /&gt;
&lt;br /&gt;
=== I get a blank command error from WHMCS when it tries to setup an account ===&lt;br /&gt;
&lt;br /&gt;
This can occur if your firewall is blocking connections on port 8443. You need to open it on both the server WHMCS is on and the server WHMCS is connecting to for inbound and outbound connections.&lt;br /&gt;
&lt;br /&gt;
=== With accounts created on my Plesk server from WHMCS the www. subdomain doesn't work ===&lt;br /&gt;
&lt;br /&gt;
This happens due to the default DNS settings on a Plesk server and the requirement to check a box when creating an account to enable it. &lt;br /&gt;
&lt;br /&gt;
To avoid that, simply follow the steps below.&lt;br /&gt;
# Log in to Plesk.&lt;br /&gt;
# Click '''Server'''.&lt;br /&gt;
# Click '''DNS Settings'''.&lt;br /&gt;
# Click '''Add New Record'''.&lt;br /&gt;
# Choose '''CNAME''' under the record type.&lt;br /&gt;
# Enter &amp;lt;tt&amp;gt;www&amp;lt;/tt&amp;gt; in '''Enter Domain Name'''.&lt;br /&gt;
# Enter &amp;lt;tt&amp;gt;&amp;lt;domain&amp;gt;&amp;lt;/tt&amp;gt; in '''Enter Canonical Name'''.&lt;br /&gt;
# Click '''OK''' to complete the changes.&lt;br /&gt;
&lt;br /&gt;
=== Page not Found/Timeout/502 Bad Gateway error creating accounts ===&lt;br /&gt;
&lt;br /&gt;
By default, Plesk performs a forced restart of Apache when an account is created or suspended. This causes WHMCS to lose connection to the server, and, if WHMCS is on the same server, you will also lose connection to WHMCS.&lt;br /&gt;
&lt;br /&gt;
To resolve this, see [https://support.plesk.com/hc/en-us/articles/213907285 Plesk's support article].&lt;br /&gt;
&lt;br /&gt;
=== 503 Service Temporarily Unavailable error creating accounts ===&lt;br /&gt;
&lt;br /&gt;
By default, Plesk performs a forced restart of Apache when an account is created or suspended. This causes WHMCS to lose connection to the server, and, if WHMCS is on the same server, you will also lose connection to WHMCS.&lt;br /&gt;
&lt;br /&gt;
To resolve this, see [https://support.plesk.com/hc/en-us/articles/115003664213-Unable-to-create-domain-through-WHMCS-503-Service-Temporarily-Unavailable Plesk's support article].&lt;br /&gt;
&lt;br /&gt;
===Unable to create account in Panel. The field 'username' is required.===&lt;br /&gt;
&lt;br /&gt;
This means the username under the client's '''Products/Services''' tab is empty.&lt;br /&gt;
&lt;br /&gt;
Enter a username, save changes, and try module creation again. Then, ensure that '''Require Domains''' is enabled for the product at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Products and Services|Products/Services]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services'''.&lt;br /&gt;
&lt;br /&gt;
===0 - Unable to find appropriate manager for this version of Panel. Plesk should be at least 8.0 version===&lt;br /&gt;
&lt;br /&gt;
This is a generic error message that the Plesk module returns. For example, it could indicate a connection error or invalid credentials. &lt;br /&gt;
&lt;br /&gt;
To identify the underlying error that is occurring, check the '''Module Log''' at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; [[System Logs]]''' or, prior to WHMCS 8.0, '''Utilities &amp;gt; Logs &amp;gt; Module Log'''. Enable it, reproduce the error, disable it again, and the ''''Response''' column will show the underlying error.&lt;br /&gt;
&lt;br /&gt;
For more information, see [[Troubleshooting_Module_Problems]].&lt;br /&gt;
&lt;br /&gt;
===1006 - Permission denied===&lt;br /&gt;
&lt;br /&gt;
This indicates that your Plesk login doesn't have the necessary permissions to use the API. You need the server administrator to grant your Plesk reseller account the '''Ability to use remote API''' permission.&lt;br /&gt;
&lt;br /&gt;
===1013 - Template does not exist===&lt;br /&gt;
&lt;br /&gt;
This error message is coming directly from the Plesk API and indicates that the client and domain template names are incorrect or missing. You can correct these in the product's '''Module Settings''' tab.&lt;br /&gt;
&lt;br /&gt;
===1013 - Error message: Customer with email 'johndoe@example.com' is not found in panel===&lt;br /&gt;
&lt;br /&gt;
There are two potential causes of this error message:&lt;br /&gt;
&lt;br /&gt;
==== Incorrect product type ====&lt;br /&gt;
&lt;br /&gt;
The product type is set incorrectly in WHMCS (for example, a reseller plan is configured as a shared hosting product in WHMCS). &lt;br /&gt;
&lt;br /&gt;
To resolve this:&lt;br /&gt;
&lt;br /&gt;
# Log in to WHMCS Admin Area.&lt;br /&gt;
# Navigate to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Products and Services|Products/Services]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Products/Services'''.&lt;br /&gt;
# Set '''Product Type''' to ''Shared Hosting'' or ''Reseller Hosting'' to match the Plesk plan type.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
&lt;br /&gt;
==== Missing data from a table inside Plesk ====&lt;br /&gt;
&lt;br /&gt;
If the error persists after following the ''Incorrect product type'' steps above, see [https://support.plesk.com/hc/en-us/articles/213932225-Error-while-accessing-Plesk-from-WHMCS-via-API-Customer-with-external-id-whmcs-plesk-XX-is-not-found-in-panel this article].&lt;br /&gt;
&lt;br /&gt;
===1013 - Error message: Customer with external id 'xxxxxxxx' is not found in panel===&lt;br /&gt;
&lt;br /&gt;
Refer to the solution for [[#1013 - Error message: Customer with email 'johndoe@example.com' is not found in panel|1013 - Error message: Customer with email 'johndoe@example.com' is not found in panel]] above.&lt;br /&gt;
&lt;br /&gt;
===1014 - Parser error: Request is invalid===&lt;br /&gt;
&lt;br /&gt;
This error message indicates there is a field value missing. This is most commonly caused by having no assigned IP addresses in the client or domain template's IP pool.&lt;br /&gt;
&lt;br /&gt;
===1014 - Parser error: Cannot parse the XML from the source specified===&lt;br /&gt;
&lt;br /&gt;
The Plesk API only supports the characters a-z and 0-9. If the client's profile contains accents or other characters, it will cause account creation to fail. Edit the client's profile to remove these characters.&lt;br /&gt;
&lt;br /&gt;
===1018 - Unable to create hosting. IP address does not exist in client's pool===&lt;br /&gt;
&lt;br /&gt;
This error indicates that there is an issue with the IP address pool configuration in Plesk. For example, there may not be any available IP addresses or the first IP address may be set as dedicated instead of shared.&lt;br /&gt;
&lt;br /&gt;
===1023 - Unable to accept the template: the following limitations are exceeded===&lt;br /&gt;
&lt;br /&gt;
This issue occurs when the resources provided by the serivce plan addon were already used by the subscription. &lt;br /&gt;
&lt;br /&gt;
To resolve this:&lt;br /&gt;
&lt;br /&gt;
# In the subscription for that domain name, remove the referenced addon in Plesk. &lt;br /&gt;
# In WHMCS, go to the product or service's '''Products/Services''' tab.&lt;br /&gt;
# Use the &amp;quot;Upgrade/Downgrade&amp;quot; option to create an upgrade order. &lt;br /&gt;
&lt;br /&gt;
===2306 - Domain adding was failed. Error: xxxxx template failed: Unable to apply limits===&lt;br /&gt;
&lt;br /&gt;
This error message comes direct from the Plesk API. It indicates that the template you are attempting to use exceeds your limits or has a feature your server doesn't support. Create an account with the template inside Plesk to retrieve further details.&lt;br /&gt;
&lt;br /&gt;
===Plesk login requires user authentication===&lt;br /&gt;
&lt;br /&gt;
This issue can happen when the user has a dynamic IP addresses or an unstable internet connection. Selecting '''Allow IP changes during one session''' in Plesk [https://docs.plesk.com/en-US/obsidian/administrator-guide/server-administration/session-preferences.60305/ will resolve this].&lt;br /&gt;
&lt;br /&gt;
{{modules}}&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Domains_Management&amp;diff=33545</id>
		<title>Domains Management</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Domains_Management&amp;diff=33545"/>
				<updated>2022-10-04T11:55:28Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Manually Registering or Renewing a Domain */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WHMCS allows the '''automated management''' of domains with a wide selection of built in registrars. &lt;br /&gt;
&lt;br /&gt;
In WHMCS, you can configure your settings and choose registrars to customize how you sell domains. After domain purchases, you can perform all of the common tasks you are likely to need when providing and supporting users with their domains.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Domain Management Features&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The exact domain management features that are available depend on the domain registrar you choose. For a list of available features, see the [[Domain_Registrars|individual registrar's documentation]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Domain Configuration ==&lt;br /&gt;
&lt;br /&gt;
Before you can sell domains, you must configure domain registration and other important settings. You can configure the following domain-related settings:&lt;br /&gt;
&lt;br /&gt;
=== System Domain Settings ===&lt;br /&gt;
&lt;br /&gt;
You can configure the domain options you offer (registration, transfers, or using the client's own domain) and various payment and renewal settings in the '''[[Domains Tab|Domains]]''' tab at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings''' or, prior to WHMCS 8.0, '''Setup &amp;gt; General Settings'''. &lt;br /&gt;
&lt;br /&gt;
=== Registrar Configuration ===&lt;br /&gt;
&lt;br /&gt;
You can configure domain registrars at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Domain Registrars]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Domain Registrars'''. &lt;br /&gt;
&lt;br /&gt;
You can use the [[Email]] registrar module to sell TLDs that none of the supported registrar modules allow. This lets you use WHMCS to accept the order and invoice the client while you perform the domain registration, renewals, and updates manually. &lt;br /&gt;
&lt;br /&gt;
=== Domain Pricing ===&lt;br /&gt;
&lt;br /&gt;
You can configure your own pricing for domain registrations at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Domain Pricing]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Domain Pricing'''. &lt;br /&gt;
&lt;br /&gt;
You can also use automatic domain registration for many TLDs to ensure that WHMCS automatically submits renewal requests as soon as you receive payment.&lt;br /&gt;
&lt;br /&gt;
=== Offering Free Domain Registration with Selected Packages ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Note&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
In WHMCS 8.2 and higher:&lt;br /&gt;
* Domains cannot be renewed individually through the Client Area if they are eligible for free renewal bundled with a product or service..&lt;br /&gt;
* You can choose whether to send free domain renewal notices. For more information, see [[Domain Renewal Notices]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
With WHMCS, you are able to offer free domains with your packages clients purchase them with certain payment terms. For example, you might want to offer a free domain when a client purchases an annual package. &lt;br /&gt;
&lt;br /&gt;
For more information, see [[Free Domains]].&lt;br /&gt;
&lt;br /&gt;
== Domain Renewals ==&lt;br /&gt;
&lt;br /&gt;
You can configure whether domains renew before sales, or you can enable or disable auto renewals for a specific purchased domain from within the client profile. &lt;br /&gt;
&lt;br /&gt;
To disable automatic renewals for a specific domain if, for example, you do not want to generate an invoice and want the domain to expire, toggle '''Disable Auto Renew''' to '''YES''' in the '''[[Clients:Products/Services Tab|Products/Services]]''' tab of the client's profile. Clients can do this by toggling the option in the Client Area domain details page.&lt;br /&gt;
&lt;br /&gt;
For specific information about domain renewals, renewal pricing, and auto-renewals in WHMCS, see [[Domain Renewals]].&lt;br /&gt;
 &lt;br /&gt;
=== Domain Renewal Notices ===&lt;br /&gt;
&lt;br /&gt;
[[File:Domain Reminder Settings.png|thumb|Domain Reminder Settings]]&lt;br /&gt;
 &lt;br /&gt;
By default, the system sends at least two domain renewal notices prior to expiration and one following it. &lt;br /&gt;
&lt;br /&gt;
* You can change the timing, send reminders before and after a domain's expiration date, or disable it. &lt;br /&gt;
* You can view information about past remimnders in the client's '''[[Clients:Emails/Notes/Logs_Tabs|Email]]''' tab or in the system logs in the [[Reports#Domain_Renewal_Reminder_Emails|Domain Renewal Reminder Emails]] report for ICANN compliance, if your module supports this.&lt;br /&gt;
* You can change the interval at which WHMCS sends domain renewal reminder notices at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Automation Settings]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Automation Settings'''.&lt;br /&gt;
* You can customize renewal notice emails at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Email Templates]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Email Templates'''.&lt;br /&gt;
&lt;br /&gt;
For more information, see [[Domain Renewal Notices]].&lt;br /&gt;
&lt;br /&gt;
== Customizations ==&lt;br /&gt;
&lt;br /&gt;
WHMCS allows you to customize certain aspects of domain sales and management:&lt;br /&gt;
&lt;br /&gt;
=== WHOIS and Domain Field Customization Retentions ===&lt;br /&gt;
&lt;br /&gt;
WHMCS 7.0 introduced override capabilities to WHOIS servers and additional domain fields. These provide an easy way to maintain customisations during automatic updates. In addition, the location and format for some of these files changed. &lt;br /&gt;
&lt;br /&gt;
For more information, see [[WHOIS Servers]] and [[Additional Domain Fields]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
WHMCS will report the results from the Whois servers. Some Whois servers may not correctly report reserved or premium domains.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Domain Name Length Restrictions ===&lt;br /&gt;
&lt;br /&gt;
The major TLDs have length limits by default. You can specify your own for any others by adding lines like these to the WHMCS configuration.php file:&lt;br /&gt;
&lt;br /&gt;
 $DomainMinLengthRestrictions[&amp;quot;.asia&amp;quot;] = 3;&lt;br /&gt;
 $DomainMaxLengthRestrictions[&amp;quot;.asia&amp;quot;] = 64;&lt;br /&gt;
 $DomainMinLengthRestrictions[&amp;quot;.ws&amp;quot;] = 4;&lt;br /&gt;
 $DomainMaxLengthRestrictions[&amp;quot;.ws&amp;quot;] = 63;&lt;br /&gt;
&lt;br /&gt;
=== Domain Renewal Restrictions ===&lt;br /&gt;
&lt;br /&gt;
Many TLDs have restrictions on renewal before and after expiration (the grace period). For example, you can typically renew a .com 40 days after the expiry date, while you can renew .uk domains between 180 days prior to expiration up to 97 days afterwards (registrar dependent).&lt;br /&gt;
&lt;br /&gt;
The major TLDs have grace periods by default. You can specify your own for any others by adding lines such as these to the configuration.php file:&lt;br /&gt;
&lt;br /&gt;
 $DomainRenewalGracePeriods[&amp;quot;.com&amp;quot;] = &amp;quot;40&amp;quot;;&lt;br /&gt;
 $DomainRenewalMinimums[&amp;quot;.co.uk&amp;quot;] = &amp;quot;180&amp;quot;;&lt;br /&gt;
 $DomainRenewalGracePeriods[&amp;quot;.co.uk&amp;quot;] = &amp;quot;97&amp;quot;; &lt;br /&gt;
&lt;br /&gt;
You can also specify multiple grace periods and minimum advance renewal restrictions in a single entry:&lt;br /&gt;
&lt;br /&gt;
 $DomainRenewalGracePeriods = array(&amp;quot;.com&amp;quot;=&amp;gt;&amp;quot;30&amp;quot;,&amp;quot;.net&amp;quot;=&amp;gt;&amp;quot;40&amp;quot;,&amp;quot;.uk&amp;quot;=&amp;gt;&amp;quot;97&amp;quot;);&lt;br /&gt;
 $DomainRenewalMinimums = array(&amp;quot;.com&amp;quot;=&amp;gt;&amp;quot;180&amp;quot;,&amp;quot;.com.au&amp;quot;=&amp;gt;&amp;quot;90&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
There are defined default Domain Grace and Redemption Period values for over 800 of the most common TLDs and extensions. For more information, see [[Domain_Grace_and_Redemption_Grace_Periods#Domain_Grace_and_Redemption_Period_Defaults|Domain Grace and Redemption Period Defaults]].&lt;br /&gt;
 &lt;br /&gt;
The default Minimum Renewal Periods are:&lt;br /&gt;
&lt;br /&gt;
 .co.uk = 180,.org.uk = 180,.me.uk = 180,.com.au = 90,.net.au = 90,.org.au = 90&lt;br /&gt;
&lt;br /&gt;
The default minimum length is three characters and the default maximum length is 63 characters for the following TLDs:&lt;br /&gt;
&lt;br /&gt;
 .com, net, .org, .info, biz, .mobi, .name, .asia, .tel,.in, .mn, .bz, .cc&lt;br /&gt;
 .tv, .us, .me, .co.uk, .me.uk, .org.uk, .net.uk, .ch, .li, .de, .jp&lt;br /&gt;
&lt;br /&gt;
=== Domain Pricing Page Layout ===&lt;br /&gt;
&lt;br /&gt;
The '''Client Area Domain Extension Pricing''' page is at &amp;lt;tt&amp;gt;cart.php?a=add&amp;amp;domain=register&amp;lt;/tt&amp;gt;. It is designed to provide visitors and clients an intuitive overview of your extension pricing. The layout of this client area page should aid you in promoting your best extensions.&lt;br /&gt;
&lt;br /&gt;
[[File:Tld_client_spotlight_logo.png|700px]]&lt;br /&gt;
&lt;br /&gt;
For more information about domain spotlights, see [[Domain Pricing Matrix]].&lt;br /&gt;
&lt;br /&gt;
=== Domain Categories ===&lt;br /&gt;
&lt;br /&gt;
Domain Categories are used on &amp;lt;tt&amp;gt;cart.php?a=add&amp;amp;domain=register&amp;lt;/tt&amp;gt; to group domain TLDs into categories such as '''Popular''', '''Shopping''', or '''Real Estate''' and makes it easier for clients to navigate and find their ideal domain extension. &lt;br /&gt;
&lt;br /&gt;
For more information about customising the domain categories, see [[Domain Categories]].&lt;br /&gt;
&lt;br /&gt;
== Managing Client Domains ==&lt;br /&gt;
&lt;br /&gt;
=== Domain Registrations ===&lt;br /&gt;
&lt;br /&gt;
Some scenarios may require you to work with domain registrations as they occur:&lt;br /&gt;
&lt;br /&gt;
==== Handling New Domain Registrations and Transfers ====&lt;br /&gt;
&lt;br /&gt;
To perform a new domain registration or initiate a transfer, someone must first place an order for it. A customer can do that from the client area or you can create one using the admin side order process.  Once you have the order, the system can process the domain registration in several ways.&lt;br /&gt;
&lt;br /&gt;
* If you have '''automatic registration on payment enabled''', then you can navigate to the invoice for the domain registration order and mark it as paid, either by '''manually applying a payment''', or by '''running a capture''' from a customers selected payment method. As soon as the invoice is successfully paid, the system will submit the domain order to the domain registrar.&lt;br /&gt;
* If you haven't enabled automatic registration, you have the option to attempt the registration when '''accepting the pending order''' by selecting the '''Send to Registrar''' checkbox and choosing the registrar to use in the '''Registrar''' menu in the order accept options.&lt;br /&gt;
* If you haven't enabled automatic registration and the order is already accepted, you can navigate to the domains record within the clients profile area, and from there select a domain registrar to use in the '''Registrar''' menu. Then, save before clicking on either of the required '''Register''' or '''Transfer''' buttons in the '''Registrar Commands''' options.  These buttons allow you to initiate the remote API calls manually (this is the same process as reattempting a failed registration or transfer below).&lt;br /&gt;
&lt;br /&gt;
==== Handling a Failed Domain Registration ====&lt;br /&gt;
&lt;br /&gt;
If an automated domain registration (or transfer initiation) attempt fails, the system will notify administrators in the following ways:&lt;br /&gt;
&lt;br /&gt;
* An &amp;quot;WHMCS Automatic Domain Renewal Failed&amp;quot; email to administrator roles with the ''Account Emails'' permission.&lt;br /&gt;
* An entry in '''Utilities &amp;gt; [[To-Do List]]'''.&lt;br /&gt;
* And entry in '''Utilities &amp;gt; [[Module Queue]]'''.&lt;br /&gt;
**The daily '''WHMCS Cron Job Activity''' email contains a summary of pending module actions in the queue at the bottom.&lt;br /&gt;
&lt;br /&gt;
Once the error has been corrected, you can have WHMCS reattempt the registration or transfer.  To do this, navigate to the domain record for the domain in question. Make sure the appropriate domain registrar is selected in the '''Registrar''' menu (saving changes if you need to make an adjustment). Then, click the '''Register''' or '''Transfer''' buttons from the '''Registrar Commands''' row of buttons.  The system will prompt you to confirm you want to proceed before reattempting to submit the calls to the domain registrar's API.  There is no need to place a new order if it fails.&lt;br /&gt;
&lt;br /&gt;
Any errors that come back from the remote systems API will display on the screen immediately when performing a manual registration attempt in this way.  &lt;br /&gt;
&lt;br /&gt;
For more information and common errors, see  [[Domain Registrars]] or contact the registrar.&lt;br /&gt;
&lt;br /&gt;
=== Domain Management for Clients ===&lt;br /&gt;
&lt;br /&gt;
Clients receive full access to the management tools from the client area. If the associated registrar supports it, they can perform actions like:&lt;br /&gt;
&lt;br /&gt;
* Changing or registering nameservers.&lt;br /&gt;
* Changing the domain's lock status.&lt;br /&gt;
* Changing the auto renewal setting or ordering renewals.&lt;br /&gt;
* Viewing or editing WHOIS information.&lt;br /&gt;
* Managing DNS records.&lt;br /&gt;
* Configuring email forwarding.&lt;br /&gt;
* Requesting EPP codes.&lt;br /&gt;
&lt;br /&gt;
=== Domain Management for Admins ===&lt;br /&gt;
&lt;br /&gt;
As an admin, you can manage individual domains from the '''[[Clients:Domains Tab|Domains]]''' tab in a client's profile. &lt;br /&gt;
&lt;br /&gt;
* This displays current nameservers and lock status with the stored values from the database.&lt;br /&gt;
* You can use this page to perform registrar commands (for example, '''Renew''', '''Modify WHOIS''', and '''Get EPP Code''').&lt;br /&gt;
* You can enable or disable domain addons (for example, DNS management, ID protection and email forwarding).&lt;br /&gt;
&lt;br /&gt;
==== Managing Domains In Bulk ====&lt;br /&gt;
&lt;br /&gt;
The following bulk actions are available to clients beneath the Domains list in the client profile. They allow you to make the same changes to a number of domains. &lt;br /&gt;
&lt;br /&gt;
To use this, select the domains to modify and select one of the following options from the menu:&lt;br /&gt;
&lt;br /&gt;
*Manage Nameservers — Select '''Use default nameservers''' and WHMCS will automatically match the server to which you have assigned the hosting account for the same domain (if hosting exists), or using the system wide default for domain-only orders. Select '''Use custom nameservers''' to activate the fields to enter other nameservers.&lt;br /&gt;
*Auto Renewal Status — Enable or Disable Auto-Renewal of all the selected domains.&lt;br /&gt;
*Registrar Lock Status — Enable or Disable the registrar lock for all the selected domains.&lt;br /&gt;
*Edit Contact Information — Select '''Use existing account contact''' and use the menu to use the details of one of the contacts or sub-accounts under this client's account. Select '''Specify custom information below''' to enter the contact details to apply to the selected domains.&lt;br /&gt;
*Renew Domains — Renew the selected domains. On the next screen you will be able to choose how long to renew each domain for individually.&lt;br /&gt;
&lt;br /&gt;
====Viewing/Editing Domain Nameservers====&lt;br /&gt;
&lt;br /&gt;
For any domain you have assigned to a registrar module in WHMCS, viewing and editing the nameservers the domain points to is a seamless integrated process.  The nameserver fields will appear as part of the domain records fields when viewing a domains details via '''[[Clients:Domains Tab|Domains]]''' tab inside a Clients Profile.  The system will communicate any changes you make to those fields and submit remotely to the selected domain registrar in the background by WHMCS, and update them automatically.&lt;br /&gt;
&lt;br /&gt;
====Viewing/Editing Locking Status====&lt;br /&gt;
&lt;br /&gt;
Similarly, if the domain's registrar module supports domain locking and unlocking, a Registrar Lock field will appear along with the nameserver fields on the domains management page. Checking or unchecking the box and saving will submit that change to the domain registrar as well.&lt;br /&gt;
&lt;br /&gt;
====Viewing/Editing WHOIS Information====&lt;br /&gt;
&lt;br /&gt;
To view and make changes to the WHOIS Contact Information for a domain inside WHMCS, from the '''[[Clients:Domains Tab|Domains]]''' tab within a Clients Profile, click '''Modify Domain Contact Details''' in '''Registrar Commands'''.  A screen will appear listing the current contact information, which allows you to make changes to it and submit them.  The system doesn't store WHOIS Information locally in WHMCS, so it always queries it in real-time from the selected domain registrar so any updates you make will take immediate effect.&lt;br /&gt;
&lt;br /&gt;
====Moving a Domain to another Client====&lt;br /&gt;
&lt;br /&gt;
[[File:Transfer product.png|thumb|Transfer Domain Popup]]&lt;br /&gt;
&lt;br /&gt;
To move a domain to a new client:&lt;br /&gt;
&lt;br /&gt;
# When viewing the domain you want to move in the '''[[Clients:Domains Tab|Domains]]''' tab, click '''Move Domain to Another Client''' at the top-right of the page. &lt;br /&gt;
# In the window that appears, enter the ID of the new owner. If you don't know the client's ID, you can search by name, company, or email address. Click the client's name and the system will fill in the ID.&lt;br /&gt;
# Click '''Transfer'''. The system will move the domain, the window will close, and the original window will refresh to show the domain under its new owner.&lt;br /&gt;
&lt;br /&gt;
This process won't change the WHOIS details on the domain. If you wish to update those, click '''Modify Contact Details''' in the '''[[Clients:Domains Tab|Domains]]''' tab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
You can't move invoices between clients. Because of this, when moving a domain, any invoices will remain under the old owner. We recommend that you check the old owner's Invoices tab for any unpaid invoices for this domain and cancel them. If you wish to invoice the new owner for the domain, move the Next Due Date forward or back by one day and the system will generate a new invoice when the cron next runs.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Deleting a Domain from a Client ====&lt;br /&gt;
&lt;br /&gt;
When viewing the domain you want to delete, scroll to the bottom of the page and click the red '''Delete''' link. After clicking this link, the system will prompt you to confirm whether you are sure you want to delete the domain. &lt;br /&gt;
&lt;br /&gt;
* If you click No, you will return to the page. &lt;br /&gt;
* If you click Yes, the system will delete the item and you will view the next domain under that client.&lt;br /&gt;
&lt;br /&gt;
Deleting a domain from WHMCS will not perform any action at the domain registrar.&lt;br /&gt;
&lt;br /&gt;
===Domain Renewals===&lt;br /&gt;
&lt;br /&gt;
By default, domains will invoice automatically in advance of the renewal date. Your invoice generation settings in '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Automation Settings]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Automation Settings''' determine how far in advance renewal invoicing occurs.&lt;br /&gt;
&lt;br /&gt;
Domains will auto invoice for renewal if they are in Active status and the &amp;quot;Do Not Renew&amp;quot; option is deselected in the domains profile. Clients also have the ability to both enable and disable the Do Not Renew option via the Auto Renew settings for a domain in the client area.  This can be enabled or disabled on a per domain basis.&lt;br /&gt;
&lt;br /&gt;
For Auto Renew, if a domain is invoiced for renewal, and you use a merchant payment gateway, and your client has chosen to pay via that method, and they have a credit card on file, then, on the due date, the system will automatically attempt that invoice for capture.&lt;br /&gt;
&lt;br /&gt;
Automatic invoices for renewal generate using the '''Recurring Amount''' value that you set for the domain at the time of purchase.  This means that if you increase your domain prices, it will not affect existing clients' prices.  If you would like to change existing customers pricing then that can be achieved using the [[Bulk Pricing Update Utility]].&lt;br /&gt;
&lt;br /&gt;
Whenever the system marks an invoice for a domain renewal as paid, either automatically as above or manually due to an admin applying payment to it from the admin area, if you assigned the domain to a registrar module in WHMCS, then the system will send a renewal command to that domain registrar's API to process the renewal. You can control this via the setting '''Auto Renew on Payment''' in the '''[[Domains Tab|Domains]]''' tab at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings''' or, prior to WHMCS 8.0, '''Setup &amp;gt; General Settings'''. If '''Auto Renew on Payment''' is disabled, the system will not send a renewal command to the registrar.  Instead, if '''Create To-Do List Entries''' is enabled, the system will add an entry at '''Utilities &amp;gt; [[To-Do List]]'''. If both '''Auto Renew on Payment''' and '''Create To-Do List Entries''' are disabled, the system will not perform any action.&lt;br /&gt;
&lt;br /&gt;
Clients can also order renewals on demand at any time.  This enables a client to renew a domain early, well in advance of expiry, to extend their domains at any time they wish.  This is done via the shopping cart by selecting the Domain Renewals category.  Domain renewals that clients order in this way use the current pricing in '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Domain Pricing]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Domain Pricing''' for the renewals.&lt;br /&gt;
&lt;br /&gt;
==== Subscriptions and Renewals ====&lt;br /&gt;
&lt;br /&gt;
Certain payment gateways (such as PayPal® and 2Checkout) offer Subscriptions: the ability to automatically send payments of a fixed amount on a fixed schedule. Domains can have a different billing cycle from an associated service (for example, a monthly product but an annual domain) which increases the complexity for a subscription. When the gateway supports such functionality, the system creates a subscription to automatically send payment for domain renewals:&lt;br /&gt;
&lt;br /&gt;
* 2Checkout Inline Mode&lt;br /&gt;
&lt;br /&gt;
For other subscriptions, WHMCS will not offer clients the option to create subscriptions when paying for a domain renewal invoice:&lt;br /&gt;
&lt;br /&gt;
* PayPal Subscriptions&lt;br /&gt;
* 2Checkout Standard Mode&lt;br /&gt;
&lt;br /&gt;
==== Domain Renewal Notices ====&lt;br /&gt;
&lt;br /&gt;
You can configure WHMCS to send Domain Renewal Notices before and after a domain has expired.  You can use these to remind and encourage your customers to renew their expiring domains with you.&lt;br /&gt;
&lt;br /&gt;
For more information on this functionality, see the [[Domain Renewal Notices]] documentation.&lt;br /&gt;
&lt;br /&gt;
=== Manually Registering or Renewing a Domain ===&lt;br /&gt;
For some trusted customers, or your own domains, you may wish to register or renew a domain without payment. To do this:&lt;br /&gt;
==== Manually Registering a Domain ====&lt;br /&gt;
To manually register a domain:&lt;br /&gt;
# Navigate to the desired domain in the '''[[Clients:Domains Tab|Domains]]''' tab in the client's profile.&lt;br /&gt;
# Click '''Register''' in the '''Registrar Commands''' section to immediately send a registration request to the domain registrar. If the request succeeds, the expiry date will update.&lt;br /&gt;
==== Manually Renewing a Domain ====&lt;br /&gt;
To manually renew a domain:&lt;br /&gt;
# Navigate to the desired domain in the '''[[Clients:Domains Tab|Domains]]''' tab in the client's profile.&lt;br /&gt;
# Click '''Renew''' in the '''Registrar Commands''' section to immediately send a renewal request to the domain registrar. If the request succeeds, the expiry date will update.&lt;br /&gt;
# You should also increment the next due date if you are manually handling payment according to the steps below.&lt;br /&gt;
If the domain is already invoiced, and automatic renewal on payment is enabled, when that invoice is paid under normal circumstances, the system sends another domain renewal request to the registrar. If you need to stop this, perform these steps:&lt;br /&gt;
# Locate the invoice for the domain. To do this, click '''View Invoices''' on the domain page to see a list of invoices for just that domain.&lt;br /&gt;
# Copy the line item and amount for the domain from the existing line to a new invoice line item and save.&lt;br /&gt;
# Delete the original line item from the invoice. You are removing the actual link to the domain so no further renewal will occur.&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Disk_Space_and_Bandwidth_Overage_Billing&amp;diff=33443</id>
		<title>Disk Space and Bandwidth Overage Billing</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Disk_Space_and_Bandwidth_Overage_Billing&amp;diff=33443"/>
				<updated>2022-09-13T12:17:11Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Invoicing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*Overage billing allows you to bill based on the disk and/or bandwidth used for a given month over and above the base amount allowed with a package&lt;br /&gt;
*Products can still have a base price or the price and soft limits can be set at zero to bill solely based on the usage&lt;br /&gt;
*Usage charges are calculated on the last day of each month&lt;br /&gt;
*They can be invoiced on the last day of the month independantly from the related product or added as billable items to be included on the next invoice the client gets sent&lt;br /&gt;
*Native support is included for cPanel, Plesk, and DirectAdmin modules using the values returned from the respective control panel API's but this feature can also be used by developers with their own control panels passing usage data direct to the WHMCS database&lt;br /&gt;
&lt;br /&gt;
==How to Configure==&lt;br /&gt;
&lt;br /&gt;
To enable and configure overage billing for a product:&lt;br /&gt;
&lt;br /&gt;
# Go to the '''Other''' tab at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Products and Services|Products/Services]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services'''.&lt;br /&gt;
# Check '''Overages Billing'''.&lt;br /&gt;
# Enter the '''Soft Disk Limit''' and '''Soft Bandwidth Limit''' to include with the package.&lt;br /&gt;
# Enter the cost for disk space and bandwidth in your default currency for '''Disk Overages Cost''' and '''Bandwidth Overages Cost'''. &lt;br /&gt;
#* You can use up to four decimal places. &lt;br /&gt;
#* The system will multiply this by the overused amount.&lt;br /&gt;
# Choose the unit of measure for overages (Megabytes, Gigabytes or Terabytes)&amp;lt;br/&amp;gt;1 GB = 1024 MB, 1 TB = 1024 GB.&lt;br /&gt;
# Click '''Save'''.&lt;br /&gt;
# Go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Automation Settings]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Automation Settings'''.&lt;br /&gt;
# Use the '''Overage Billing Charges''' option to choose when clients are invoiced for their overage usage.&lt;br /&gt;
&lt;br /&gt;
==Invoicing==&lt;br /&gt;
Overages are calculated with a precision of one tenth of one gigabytyte. For example, an overage of 1.5 GB at $1.00 per GB will bill $1.50.&lt;br /&gt;
&lt;br /&gt;
If you have selected for WHMCS to add the overage charge to the next invoice, it will be added as the final line item on the invoice. Or if the invoice independently option was selected, it will be the sole item on the invoice.&lt;br /&gt;
&lt;br /&gt;
Overage invoice line items are generated with a format as follows:&lt;br /&gt;
&lt;br /&gt;
 Shared Hosting - whmcsdemo.com (01/05/2014 - 31/05/2014)&lt;br /&gt;
 Total Disk Usage = 1.5 GB - Overage Charge = 0.5 GB @ 1.50/GB&lt;br /&gt;
&lt;br /&gt;
 Shared Hosting - whmcsdemo.com (01/05/2014 - 31/05/2014)&lt;br /&gt;
 Total Bandwidth Usage = 7.5 GB - Overage Charge = 2.5 GB @ 2.50/GB&lt;br /&gt;
&lt;br /&gt;
==Custom Fields and Configurable Options==&lt;br /&gt;
The overage billing limits for a product can be overridden by custom fields or configurable options named either '''Disk Space''' or '''Bandwidth'''. The values provided will instead be used when performing overage calculations.&lt;br /&gt;
&lt;br /&gt;
For example, if the soft disk limit was set to 10MB, and a configurable option was set to 20MB, then the client would only be charged for overage once they go above 20MB.&lt;br /&gt;
&lt;br /&gt;
When setting up a configurable option for the purpose of overriding overage billing limits, the option type can be any that returns a numerical value (''Drop Down'', ''Radio'', or ''Quantity''). While only numerical values can be used as options, [[Addons_and_Configurable_Options#Friendly_Display_Names|friendly names]] can display non-numerical values to the customer. The unit of measurement is obtained from the '''Other''' tab of the product configuration at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Products and Services|Products/Services]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services'''. For example:&lt;br /&gt;
&lt;br /&gt;
 150|150GB&lt;br /&gt;
or&lt;br /&gt;
 999|999MB&lt;br /&gt;
&lt;br /&gt;
The '''Configurable Option''' value will always use the same unit of measurement configured in the product configuration '''Other''' tab, although [[Addons_and_Configurable_Options#Friendly_Display_Names|friendly names]] allow you to display a different unit of measurement if required. For example, if the product is configured with MB as the unit of measurement but it is desirable to display 10 Gigabytes to clients:&lt;br /&gt;
&lt;br /&gt;
 10000|10 Gigabytes&lt;br /&gt;
&lt;br /&gt;
When setting up a '''Product Custom Field''' for the purpose of overriding '''Overage Billing Limits''', the Field Type can be any which returns a numerical value; this would be the Text Box, Drop Down, and Text Area types. Additionally, it is important to note that values defined by a '''Configurable Option''' will override values set by a '''Product Custom Field'''. As with '''Configurable Options''', the unit of measurement is obtained from the '''Other''' tab of the product configuration at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Products and Services|Products/Services]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services'''.&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
If you only wish to charge for one of the items (ie. charge only for bandwidth overages) set the soft disk limit to a very high value, say 999999999. That way the user will never exceed it and thus never be charged for any disk overage.&lt;br /&gt;
&lt;br /&gt;
If you'd like to have WHMCS automatically suspend a service when its overage costs are not paid, the ''Include on the Next Invoice'' option must be selected at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Automation Settings]]''' or, prior to WHMCS 8.0, ''Setup &amp;gt; Automation Settings''.&lt;br /&gt;
&lt;br /&gt;
Overage billing may only be configured in your system's default currency. WHMCS will automatically convert overage prices into a client's currency using the rates listed at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Currencies]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Currencies'''.&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Disk_Space_and_Bandwidth_Overage_Billing&amp;diff=33442</id>
		<title>Disk Space and Bandwidth Overage Billing</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Disk_Space_and_Bandwidth_Overage_Billing&amp;diff=33442"/>
				<updated>2022-09-13T12:17:00Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Invoicing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*Overage billing allows you to bill based on the disk and/or bandwidth used for a given month over and above the base amount allowed with a package&lt;br /&gt;
*Products can still have a base price or the price and soft limits can be set at zero to bill solely based on the usage&lt;br /&gt;
*Usage charges are calculated on the last day of each month&lt;br /&gt;
*They can be invoiced on the last day of the month independantly from the related product or added as billable items to be included on the next invoice the client gets sent&lt;br /&gt;
*Native support is included for cPanel, Plesk, and DirectAdmin modules using the values returned from the respective control panel API's but this feature can also be used by developers with their own control panels passing usage data direct to the WHMCS database&lt;br /&gt;
&lt;br /&gt;
==How to Configure==&lt;br /&gt;
&lt;br /&gt;
To enable and configure overage billing for a product:&lt;br /&gt;
&lt;br /&gt;
# Go to the '''Other''' tab at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Products and Services|Products/Services]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services'''.&lt;br /&gt;
# Check '''Overages Billing'''.&lt;br /&gt;
# Enter the '''Soft Disk Limit''' and '''Soft Bandwidth Limit''' to include with the package.&lt;br /&gt;
# Enter the cost for disk space and bandwidth in your default currency for '''Disk Overages Cost''' and '''Bandwidth Overages Cost'''. &lt;br /&gt;
#* You can use up to four decimal places. &lt;br /&gt;
#* The system will multiply this by the overused amount.&lt;br /&gt;
# Choose the unit of measure for overages (Megabytes, Gigabytes or Terabytes)&amp;lt;br/&amp;gt;1 GB = 1024 MB, 1 TB = 1024 GB.&lt;br /&gt;
# Click '''Save'''.&lt;br /&gt;
# Go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Automation Settings]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Automation Settings'''.&lt;br /&gt;
# Use the '''Overage Billing Charges''' option to choose when clients are invoiced for their overage usage.&lt;br /&gt;
&lt;br /&gt;
==Invoicing==&lt;br /&gt;
Overages are calculated with a precision of one tenth of one gigabytyte. For example, an overage of 1.5 GB at $1.00 per GB will bill $1.50.&lt;br /&gt;
&lt;br /&gt;
If you have selected for WHMCS to add the overage charge to the next invoice, it will be added as the final line item on the invoice. Or if the invoice independently option was selected, it will be the sole item on the invoice.&lt;br /&gt;
&lt;br /&gt;
Overage invoice line items are generated with a format as follows:&lt;br /&gt;
&lt;br /&gt;
Shared Hosting - whmcsdemo.com (01/05/2014 - 31/05/2014)&lt;br /&gt;
 Total Disk Usage = 1.5 GB - Overage Charge = 0.5 GB @ 1.50/GB&lt;br /&gt;
&lt;br /&gt;
 Shared Hosting - whmcsdemo.com (01/05/2014 - 31/05/2014)&lt;br /&gt;
 Total Bandwidth Usage = 7.5 GB - Overage Charge = 2.5 GB @ 2.50/GB&lt;br /&gt;
&lt;br /&gt;
==Custom Fields and Configurable Options==&lt;br /&gt;
The overage billing limits for a product can be overridden by custom fields or configurable options named either '''Disk Space''' or '''Bandwidth'''. The values provided will instead be used when performing overage calculations.&lt;br /&gt;
&lt;br /&gt;
For example, if the soft disk limit was set to 10MB, and a configurable option was set to 20MB, then the client would only be charged for overage once they go above 20MB.&lt;br /&gt;
&lt;br /&gt;
When setting up a configurable option for the purpose of overriding overage billing limits, the option type can be any that returns a numerical value (''Drop Down'', ''Radio'', or ''Quantity''). While only numerical values can be used as options, [[Addons_and_Configurable_Options#Friendly_Display_Names|friendly names]] can display non-numerical values to the customer. The unit of measurement is obtained from the '''Other''' tab of the product configuration at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Products and Services|Products/Services]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services'''. For example:&lt;br /&gt;
&lt;br /&gt;
 150|150GB&lt;br /&gt;
or&lt;br /&gt;
 999|999MB&lt;br /&gt;
&lt;br /&gt;
The '''Configurable Option''' value will always use the same unit of measurement configured in the product configuration '''Other''' tab, although [[Addons_and_Configurable_Options#Friendly_Display_Names|friendly names]] allow you to display a different unit of measurement if required. For example, if the product is configured with MB as the unit of measurement but it is desirable to display 10 Gigabytes to clients:&lt;br /&gt;
&lt;br /&gt;
 10000|10 Gigabytes&lt;br /&gt;
&lt;br /&gt;
When setting up a '''Product Custom Field''' for the purpose of overriding '''Overage Billing Limits''', the Field Type can be any which returns a numerical value; this would be the Text Box, Drop Down, and Text Area types. Additionally, it is important to note that values defined by a '''Configurable Option''' will override values set by a '''Product Custom Field'''. As with '''Configurable Options''', the unit of measurement is obtained from the '''Other''' tab of the product configuration at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Products and Services|Products/Services]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services'''.&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
If you only wish to charge for one of the items (ie. charge only for bandwidth overages) set the soft disk limit to a very high value, say 999999999. That way the user will never exceed it and thus never be charged for any disk overage.&lt;br /&gt;
&lt;br /&gt;
If you'd like to have WHMCS automatically suspend a service when its overage costs are not paid, the ''Include on the Next Invoice'' option must be selected at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Automation Settings]]''' or, prior to WHMCS 8.0, ''Setup &amp;gt; Automation Settings''.&lt;br /&gt;
&lt;br /&gt;
Overage billing may only be configured in your system's default currency. WHMCS will automatically convert overage prices into a client's currency using the rates listed at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Currencies]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Currencies'''.&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Domains_Management&amp;diff=33441</id>
		<title>Domains Management</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Domains_Management&amp;diff=33441"/>
				<updated>2022-09-13T11:56:30Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Manually Renewing a Domain */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WHMCS allows the '''automated management''' of domains with a wide selection of built in registrars. &lt;br /&gt;
&lt;br /&gt;
In WHMCS, you can configure your settings and choose registrars to customize how you sell domains. After domain purchases, you can perform all of the common tasks you are likely to need when providing and supporting users with their domains.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Domain Management Features&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The exact domain management features that are available depend on the domain registrar you choose. For a list of available features, see the [[Domain_Registrars|individual registrar's documentation]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Domain Configuration ==&lt;br /&gt;
&lt;br /&gt;
Before you can sell domains, you must configure domain registration and other important settings. You can configure the following domain-related settings:&lt;br /&gt;
&lt;br /&gt;
=== System Domain Settings ===&lt;br /&gt;
&lt;br /&gt;
You can configure the domain options you offer (registration, transfers, or using the client's own domain) and various payment and renewal settings in the '''[[Domains Tab|Domains]]''' tab at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings''' or, prior to WHMCS 8.0, '''Setup &amp;gt; General Settings'''. &lt;br /&gt;
&lt;br /&gt;
=== Registrar Configuration ===&lt;br /&gt;
&lt;br /&gt;
You can configure domain registrars at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Domain Registrars]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Domain Registrars'''. &lt;br /&gt;
&lt;br /&gt;
You can use the [[Email]] registrar module to sell TLDs that none of the supported registrar modules allow. This lets you use WHMCS to accept the order and invoice the client while you perform the domain registration, renewals, and updates manually. &lt;br /&gt;
&lt;br /&gt;
=== Domain Pricing ===&lt;br /&gt;
&lt;br /&gt;
You can configure your own pricing for domain registrations at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Domain Pricing]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Domain Pricing'''. &lt;br /&gt;
&lt;br /&gt;
You can also use automatic domain registration for many TLDs to ensure that WHMCS automatically submits renewal requests as soon as you receive payment.&lt;br /&gt;
&lt;br /&gt;
=== Offering Free Domain Registration with Selected Packages ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Note&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
In WHMCS 8.2 and higher:&lt;br /&gt;
* Domains cannot be renewed individually through the Client Area if they are eligible for free renewal bundled with a product or service..&lt;br /&gt;
* You can choose whether to send free domain renewal notices. For more information, see [[Domain Renewal Notices]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
With WHMCS, you are able to offer free domains with your packages clients purchase them with certain payment terms. For example, you might want to offer a free domain when a client purchases an annual package. &lt;br /&gt;
&lt;br /&gt;
For more information, see [[Free Domains]].&lt;br /&gt;
&lt;br /&gt;
== Domain Renewals ==&lt;br /&gt;
&lt;br /&gt;
You can configure whether domains renew before sales, or you can enable or disable auto renewals for a specific purchased domain from within the client profile. &lt;br /&gt;
&lt;br /&gt;
To disable automatic renewals for a specific domain if, for example, you do not want to generate an invoice and want the domain to expire, toggle '''Disable Auto Renew''' to '''YES''' in the '''[[Clients:Products/Services Tab|Products/Services]]''' tab of the client's profile. Clients can do this by toggling the option in the Client Area domain details page.&lt;br /&gt;
&lt;br /&gt;
For specific information about domain renewals, renewal pricing, and auto-renewals in WHMCS, see [[Domain Renewals]].&lt;br /&gt;
 &lt;br /&gt;
=== Domain Renewal Notices ===&lt;br /&gt;
&lt;br /&gt;
[[File:Domain Reminder Settings.png|thumb|Domain Reminder Settings]]&lt;br /&gt;
 &lt;br /&gt;
By default, the system sends at least two domain renewal notices prior to expiration and one following it. &lt;br /&gt;
&lt;br /&gt;
* You can change the timing, send reminders before and after a domain's expiration date, or disable it. &lt;br /&gt;
* You can view information about past remimnders in the client's '''[[Clients:Emails/Notes/Logs_Tabs|Email]]''' tab or in the system logs in the [[Reports#Domain_Renewal_Reminder_Emails|Domain Renewal Reminder Emails]] report for ICANN compliance, if your module supports this.&lt;br /&gt;
* You can change the interval at which WHMCS sends domain renewal reminder notices at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Automation Settings]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Automation Settings'''.&lt;br /&gt;
* You can customize renewal notice emails at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Email Templates]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Email Templates'''.&lt;br /&gt;
&lt;br /&gt;
For more information, see [[Domain Renewal Notices]].&lt;br /&gt;
&lt;br /&gt;
== Customizations ==&lt;br /&gt;
&lt;br /&gt;
WHMCS allows you to customize certain aspects of domain sales and management:&lt;br /&gt;
&lt;br /&gt;
=== WHOIS and Domain Field Customization Retentions ===&lt;br /&gt;
&lt;br /&gt;
WHMCS 7.0 introduced override capabilities to WHOIS servers and additional domain fields. These provide an easy way to maintain customisations during automatic updates. In addition, the location and format for some of these files changed. &lt;br /&gt;
&lt;br /&gt;
For more information, see [[WHOIS Servers]] and [[Additional Domain Fields]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
WHMCS will report the results from the Whois servers. Some Whois servers may not correctly report reserved or premium domains.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Domain Name Length Restrictions ===&lt;br /&gt;
&lt;br /&gt;
The major TLDs have length limits by default. You can specify your own for any others by adding lines like these to the WHMCS configuration.php file:&lt;br /&gt;
&lt;br /&gt;
 $DomainMinLengthRestrictions[&amp;quot;.asia&amp;quot;] = 3;&lt;br /&gt;
 $DomainMaxLengthRestrictions[&amp;quot;.asia&amp;quot;] = 64;&lt;br /&gt;
 $DomainMinLengthRestrictions[&amp;quot;.ws&amp;quot;] = 4;&lt;br /&gt;
 $DomainMaxLengthRestrictions[&amp;quot;.ws&amp;quot;] = 63;&lt;br /&gt;
&lt;br /&gt;
=== Domain Renewal Restrictions ===&lt;br /&gt;
&lt;br /&gt;
Many TLDs have restrictions on renewal before and after expiration (the grace period). For example, you can typically renew a .com 40 days after the expiry date, while you can renew .uk domains between 180 days prior to expiration up to 97 days afterwards (registrar dependent).&lt;br /&gt;
&lt;br /&gt;
The major TLDs have grace periods by default. You can specify your own for any others by adding lines such as these to the configuration.php file:&lt;br /&gt;
&lt;br /&gt;
 $DomainRenewalGracePeriods[&amp;quot;.com&amp;quot;] = &amp;quot;40&amp;quot;;&lt;br /&gt;
 $DomainRenewalMinimums[&amp;quot;.co.uk&amp;quot;] = &amp;quot;180&amp;quot;;&lt;br /&gt;
 $DomainRenewalGracePeriods[&amp;quot;.co.uk&amp;quot;] = &amp;quot;97&amp;quot;; &lt;br /&gt;
&lt;br /&gt;
You can also specify multiple grace periods and minimum advance renewal restrictions in a single entry:&lt;br /&gt;
&lt;br /&gt;
 $DomainRenewalGracePeriods = array(&amp;quot;.com&amp;quot;=&amp;gt;&amp;quot;30&amp;quot;,&amp;quot;.net&amp;quot;=&amp;gt;&amp;quot;40&amp;quot;,&amp;quot;.uk&amp;quot;=&amp;gt;&amp;quot;97&amp;quot;);&lt;br /&gt;
 $DomainRenewalMinimums = array(&amp;quot;.com&amp;quot;=&amp;gt;&amp;quot;180&amp;quot;,&amp;quot;.com.au&amp;quot;=&amp;gt;&amp;quot;90&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
There are defined default Domain Grace and Redemption Period values for over 800 of the most common TLDs and extensions. For more information, see [[Domain_Grace_and_Redemption_Grace_Periods#Domain_Grace_and_Redemption_Period_Defaults|Domain Grace and Redemption Period Defaults]].&lt;br /&gt;
 &lt;br /&gt;
The default Minimum Renewal Periods are:&lt;br /&gt;
&lt;br /&gt;
 .co.uk = 180,.org.uk = 180,.me.uk = 180,.com.au = 90,.net.au = 90,.org.au = 90&lt;br /&gt;
&lt;br /&gt;
The default minimum length is three characters and the default maximum length is 63 characters for the following TLDs:&lt;br /&gt;
&lt;br /&gt;
 .com, net, .org, .info, biz, .mobi, .name, .asia, .tel,.in, .mn, .bz, .cc&lt;br /&gt;
 .tv, .us, .me, .co.uk, .me.uk, .org.uk, .net.uk, .ch, .li, .de, .jp&lt;br /&gt;
&lt;br /&gt;
=== Domain Pricing Page Layout ===&lt;br /&gt;
&lt;br /&gt;
The '''Client Area Domain Extension Pricing''' page is at &amp;lt;tt&amp;gt;cart.php?a=add&amp;amp;domain=register&amp;lt;/tt&amp;gt;. It is designed to provide visitors and clients an intuitive overview of your extension pricing. The layout of this client area page should aid you in promoting your best extensions.&lt;br /&gt;
&lt;br /&gt;
[[File:Tld_client_spotlight_logo.png|700px]]&lt;br /&gt;
&lt;br /&gt;
For more information about domain spotlights, see [[Domain Pricing Matrix]].&lt;br /&gt;
&lt;br /&gt;
=== Domain Categories ===&lt;br /&gt;
&lt;br /&gt;
Domain Categories are used on &amp;lt;tt&amp;gt;cart.php?a=add&amp;amp;domain=register&amp;lt;/tt&amp;gt; to group domain TLDs into categories such as '''Popular''', '''Shopping''', or '''Real Estate''' and makes it easier for clients to navigate and find their ideal domain extension. &lt;br /&gt;
&lt;br /&gt;
For more information about customising the domain categories, see [[Domain Categories]].&lt;br /&gt;
&lt;br /&gt;
== Managing Client Domains ==&lt;br /&gt;
&lt;br /&gt;
=== Domain Registrations ===&lt;br /&gt;
&lt;br /&gt;
Some scenarios may require you to work with domain registrations as they occur:&lt;br /&gt;
&lt;br /&gt;
==== Handling New Domain Registrations and Transfers ====&lt;br /&gt;
&lt;br /&gt;
To perform a new domain registration or initiate a transfer, someone must first place an order for it. A customer can do that from the client area or you can create one using the admin side order process.  Once you have the order, the system can process the domain registration in several ways.&lt;br /&gt;
&lt;br /&gt;
* If you have '''automatic registration on payment enabled''', then you can navigate to the invoice for the domain registration order and mark it as paid, either by '''manually applying a payment''', or by '''running a capture''' from a customers selected payment method. As soon as the invoice is successfully paid, the system will submit the domain order to the domain registrar.&lt;br /&gt;
* If you haven't enabled automatic registration, you have the option to attempt the registration when '''accepting the pending order''' by selecting the '''Send to Registrar''' checkbox and choosing the registrar to use in the '''Registrar''' menu in the order accept options.&lt;br /&gt;
* If you haven't enabled automatic registration and the order is already accepted, you can navigate to the domains record within the clients profile area, and from there select a domain registrar to use in the '''Registrar''' menu. Then, save before clicking on either of the required '''Register''' or '''Transfer''' buttons in the '''Registrar Commands''' options.  These buttons allow you to initiate the remote API calls manually (this is the same process as reattempting a failed registration or transfer below).&lt;br /&gt;
&lt;br /&gt;
==== Handling a Failed Domain Registration ====&lt;br /&gt;
&lt;br /&gt;
If an automated domain registration (or transfer initiation) attempt fails, the system will notify administrators in the following ways:&lt;br /&gt;
&lt;br /&gt;
* An &amp;quot;WHMCS Automatic Domain Renewal Failed&amp;quot; email to administrator roles with the ''Account Emails'' permission.&lt;br /&gt;
* An entry in '''Utilities &amp;gt; [[To-Do List]]'''.&lt;br /&gt;
* And entry in '''Utilities &amp;gt; [[Module Queue]]'''.&lt;br /&gt;
**The daily '''WHMCS Cron Job Activity''' email contains a summary of pending module actions in the queue at the bottom.&lt;br /&gt;
&lt;br /&gt;
Once the error has been corrected, you can have WHMCS reattempt the registration or transfer.  To do this, navigate to the domain record for the domain in question. Make sure the appropriate domain registrar is selected in the '''Registrar''' menu (saving changes if you need to make an adjustment). Then, click the '''Register''' or '''Transfer''' buttons from the '''Registrar Commands''' row of buttons.  The system will prompt you to confirm you want to proceed before reattempting to submit the calls to the domain registrar's API.  There is no need to place a new order if it fails.&lt;br /&gt;
&lt;br /&gt;
Any errors that come back from the remote systems API will display on the screen immediately when performing a manual registration attempt in this way.  &lt;br /&gt;
&lt;br /&gt;
For more information and common errors, see  [[Domain Registrars]] or contact the registrar.&lt;br /&gt;
&lt;br /&gt;
=== Domain Management for Clients ===&lt;br /&gt;
&lt;br /&gt;
Clients receive full access to the management tools from the client area. If the associated registrar supports it, they can perform actions like:&lt;br /&gt;
&lt;br /&gt;
* Changing or registering nameservers.&lt;br /&gt;
* Changing the domain's lock status.&lt;br /&gt;
* Changing the auto renewal setting or ordering renewals.&lt;br /&gt;
* Viewing or editing WHOIS information.&lt;br /&gt;
* Managing DNS records.&lt;br /&gt;
* Configuring email forwarding.&lt;br /&gt;
* Requesting EPP codes.&lt;br /&gt;
&lt;br /&gt;
=== Domain Management for Admins ===&lt;br /&gt;
&lt;br /&gt;
As an admin, you can manage individual domains from the '''[[Clients:Domains Tab|Domains]]''' tab in a client's profile. &lt;br /&gt;
&lt;br /&gt;
* This displays current nameservers and lock status with the stored values from the database.&lt;br /&gt;
* You can use this page to perform registrar commands (for example, '''Renew''', '''Modify WHOIS''', and '''Get EPP Code''').&lt;br /&gt;
* You can enable or disable domain addons (for example, DNS management, ID protection and email forwarding).&lt;br /&gt;
&lt;br /&gt;
==== Managing Domains In Bulk ====&lt;br /&gt;
&lt;br /&gt;
The following bulk actions are available to clients beneath the Domains list in the client profile. They allow you to make the same changes to a number of domains. &lt;br /&gt;
&lt;br /&gt;
To use this, select the domains to modify and select one of the following options from the menu:&lt;br /&gt;
&lt;br /&gt;
*Manage Nameservers — Select '''Use default nameservers''' and WHMCS will automatically match the server to which you have assigned the hosting account for the same domain (if hosting exists), or using the system wide default for domain-only orders. Select '''Use custom nameservers''' to activate the fields to enter other nameservers.&lt;br /&gt;
*Auto Renewal Status — Enable or Disable Auto-Renewal of all the selected domains.&lt;br /&gt;
*Registrar Lock Status — Enable or Disable the registrar lock for all the selected domains.&lt;br /&gt;
*Edit Contact Information — Select '''Use existing account contact''' and use the menu to use the details of one of the contacts or sub-accounts under this client's account. Select '''Specify custom information below''' to enter the contact details to apply to the selected domains.&lt;br /&gt;
*Renew Domains — Renew the selected domains. On the next screen you will be able to choose how long to renew each domain for individually.&lt;br /&gt;
&lt;br /&gt;
====Viewing/Editing Domain Nameservers====&lt;br /&gt;
&lt;br /&gt;
For any domain you have assigned to a registrar module in WHMCS, viewing and editing the nameservers the domain points to is a seamless integrated process.  The nameserver fields will appear as part of the domain records fields when viewing a domains details via '''[[Clients:Domains Tab|Domains]]''' tab inside a Clients Profile.  The system will communicate any changes you make to those fields and submit remotely to the selected domain registrar in the background by WHMCS, and update them automatically.&lt;br /&gt;
&lt;br /&gt;
====Viewing/Editing Locking Status====&lt;br /&gt;
&lt;br /&gt;
Similarly, if the domain's registrar module supports domain locking and unlocking, a Registrar Lock field will appear along with the nameserver fields on the domains management page. Checking or unchecking the box and saving will submit that change to the domain registrar as well.&lt;br /&gt;
&lt;br /&gt;
====Viewing/Editing WHOIS Information====&lt;br /&gt;
&lt;br /&gt;
To view and make changes to the WHOIS Contact Information for a domain inside WHMCS, from the '''[[Clients:Domains Tab|Domains]]''' tab within a Clients Profile, click '''Modify Domain Contact Details''' in '''Registrar Commands'''.  A screen will appear listing the current contact information, which allows you to make changes to it and submit them.  The system doesn't store WHOIS Information locally in WHMCS, so it always queries it in real-time from the selected domain registrar so any updates you make will take immediate effect.&lt;br /&gt;
&lt;br /&gt;
====Moving a Domain to another Client====&lt;br /&gt;
&lt;br /&gt;
[[File:Transfer product.png|thumb|Transfer Domain Popup]]&lt;br /&gt;
&lt;br /&gt;
To move a domain to a new client:&lt;br /&gt;
&lt;br /&gt;
# When viewing the domain you want to move in the '''[[Clients:Domains Tab|Domains]]''' tab, click '''Move Domain to Another Client''' at the top-right of the page. &lt;br /&gt;
# In the window that appears, enter the ID of the new owner. If you don't know the client's ID, you can search by name, company, or email address. Click the client's name and the system will fill in the ID.&lt;br /&gt;
# Click '''Transfer'''. The system will move the domain, the window will close, and the original window will refresh to show the domain under its new owner.&lt;br /&gt;
&lt;br /&gt;
This process won't change the WHOIS details on the domain. If you wish to update those, click '''Modify Contact Details''' in the '''[[Clients:Domains Tab|Domains]]''' tab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
You can't move invoices between clients. Because of this, when moving a domain, any invoices will remain under the old owner. We recommend that you check the old owner's Invoices tab for any unpaid invoices for this domain and cancel them. If you wish to invoice the new owner for the domain, move the Next Due Date forward or back by one day and the system will generate a new invoice when the cron next runs.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Deleting a Domain from a Client ====&lt;br /&gt;
&lt;br /&gt;
When viewing the domain you want to delete, scroll to the bottom of the page and click the red '''Delete''' link. After clicking this link, the system will prompt you to confirm whether you are sure you want to delete the domain. &lt;br /&gt;
&lt;br /&gt;
* If you click No, you will return to the page. &lt;br /&gt;
* If you click Yes, the system will delete the item and you will view the next domain under that client.&lt;br /&gt;
&lt;br /&gt;
Deleting a domain from WHMCS will not perform any action at the domain registrar.&lt;br /&gt;
&lt;br /&gt;
===Domain Renewals===&lt;br /&gt;
&lt;br /&gt;
By default, domains will invoice automatically in advance of the renewal date. Your invoice generation settings in '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Automation Settings]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Automation Settings''' determine how far in advance renewal invoicing occurs.&lt;br /&gt;
&lt;br /&gt;
Domains will auto invoice for renewal if they are in Active status and the &amp;quot;Do Not Renew&amp;quot; option is deselected in the domains profile. Clients also have the ability to both enable and disable the Do Not Renew option via the Auto Renew settings for a domain in the client area.  This can be enabled or disabled on a per domain basis.&lt;br /&gt;
&lt;br /&gt;
For Auto Renew, if a domain is invoiced for renewal, and you use a merchant payment gateway, and your client has chosen to pay via that method, and they have a credit card on file, then, on the due date, the system will automatically attempt that invoice for capture.&lt;br /&gt;
&lt;br /&gt;
Automatic invoices for renewal generate using the '''Recurring Amount''' value that you set for the domain at the time of purchase.  This means that if you increase your domain prices, it will not affect existing clients' prices.  If you would like to change existing customers pricing then that can be achieved using the [[Bulk Pricing Update Utility]].&lt;br /&gt;
&lt;br /&gt;
Whenever the system marks an invoice for a domain renewal as paid, either automatically as above or manually due to an admin applying payment to it from the admin area, if you assigned the domain to a registrar module in WHMCS, then the system will send a renewal command to that domain registrar's API to process the renewal. You can control this via the setting '''Auto Renew on Payment''' in the '''[[Domains Tab|Domains]]''' tab at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings''' or, prior to WHMCS 8.0, '''Setup &amp;gt; General Settings'''. If '''Auto Renew on Payment''' is disabled, the system will not send a renewal command to the registrar.  Instead, if '''Create To-Do List Entries''' is enabled, the system will add an entry at '''Utilities &amp;gt; [[To-Do List]]'''. If both '''Auto Renew on Payment''' and '''Create To-Do List Entries''' are disabled, the system will not perform any action.&lt;br /&gt;
&lt;br /&gt;
Clients can also order renewals on demand at any time.  This enables a client to renew a domain early, well in advance of expiry, to extend their domains at any time they wish.  This is done via the shopping cart by selecting the Domain Renewals category.  Domain renewals that clients order in this way use the current pricing in '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Domain Pricing]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Domain Pricing''' for the renewals.&lt;br /&gt;
&lt;br /&gt;
==== Subscriptions and Renewals ====&lt;br /&gt;
&lt;br /&gt;
Certain payment gateways (such as PayPal® and 2Checkout) offer Subscriptions: the ability to automatically send payments of a fixed amount on a fixed schedule. Domains can have a different billing cycle from an associated service (for example, a monthly product but an annual domain) which increases the complexity for a subscription. When the gateway supports such functionality, the system creates a subscription to automatically send payment for domain renewals:&lt;br /&gt;
&lt;br /&gt;
* 2Checkout Inline Mode&lt;br /&gt;
&lt;br /&gt;
For other subscriptions, WHMCS will not offer clients the option to create subscriptions when paying for a domain renewal invoice:&lt;br /&gt;
&lt;br /&gt;
* PayPal Subscriptions&lt;br /&gt;
* 2Checkout Standard Mode&lt;br /&gt;
&lt;br /&gt;
==== Domain Renewal Notices ====&lt;br /&gt;
&lt;br /&gt;
You can configure WHMCS to send Domain Renewal Notices before and after a domain has expired.  You can use these to remind and encourage your customers to renew their expiring domains with you.&lt;br /&gt;
&lt;br /&gt;
For more information on this functionality, see the [[Domain Renewal Notices]] documentation.&lt;br /&gt;
&lt;br /&gt;
=== Manually Registering or Renewing a Domain ===&lt;br /&gt;
&lt;br /&gt;
For some trusted customers, or your own domains, you may wish to register or renew a domain without payment. To do this:&lt;br /&gt;
&lt;br /&gt;
==== Manually Registering a Domain ====&lt;br /&gt;
To manually register a domain:&lt;br /&gt;
&lt;br /&gt;
# Navigate to the desired domain in the '''[[Clients:Domains Tab|Domains]]''' tab in the client's profile .&lt;br /&gt;
# Click '''Register''' in the '''Registrar Commands''' section to immediately send a registration request to the domain registrar. If the request succeeds, the expiry date will update.&lt;br /&gt;
&lt;br /&gt;
==== Manually Renewing a Domain ====&lt;br /&gt;
To manually renew a domain:&lt;br /&gt;
&lt;br /&gt;
# Navigate to the desired domain in the '''[[Clients:Domains Tab|Domains]]''' tab in the client's profile.&lt;br /&gt;
# Click '''Renew''' in the '''Registrar Commands''' section to immediately send a renewal request to the domain registrar. If the request succeeds, the expiry date will update.&lt;br /&gt;
# You should also increment the next due date if you are manually handling payment according to the steps below.&lt;br /&gt;
&lt;br /&gt;
If the domain is already invoiced, and automatic renewal on payment is enabled, when that invoice is paid under normal circumstances, the system sends another domain renewal request to the registrar. If you need to stop this, perform these steps:&lt;br /&gt;
&lt;br /&gt;
# Locate the invoice for the domain. To do this, click the '''View Invoices''' link on the domain page to see a list of invoices for just that domain.&lt;br /&gt;
# Copy the line item and amount for the domain from the existing line to a new invoice line item and save.&lt;br /&gt;
# Delete the original line item from the invoice. You are removing the actual link to the domain so no further renewal will occur.&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Domains_Management&amp;diff=33440</id>
		<title>Domains Management</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Domains_Management&amp;diff=33440"/>
				<updated>2022-09-13T11:56:19Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Manually Registering a Domain */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WHMCS allows the '''automated management''' of domains with a wide selection of built in registrars. &lt;br /&gt;
&lt;br /&gt;
In WHMCS, you can configure your settings and choose registrars to customize how you sell domains. After domain purchases, you can perform all of the common tasks you are likely to need when providing and supporting users with their domains.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Domain Management Features&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The exact domain management features that are available depend on the domain registrar you choose. For a list of available features, see the [[Domain_Registrars|individual registrar's documentation]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Domain Configuration ==&lt;br /&gt;
&lt;br /&gt;
Before you can sell domains, you must configure domain registration and other important settings. You can configure the following domain-related settings:&lt;br /&gt;
&lt;br /&gt;
=== System Domain Settings ===&lt;br /&gt;
&lt;br /&gt;
You can configure the domain options you offer (registration, transfers, or using the client's own domain) and various payment and renewal settings in the '''[[Domains Tab|Domains]]''' tab at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings''' or, prior to WHMCS 8.0, '''Setup &amp;gt; General Settings'''. &lt;br /&gt;
&lt;br /&gt;
=== Registrar Configuration ===&lt;br /&gt;
&lt;br /&gt;
You can configure domain registrars at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Domain Registrars]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Domain Registrars'''. &lt;br /&gt;
&lt;br /&gt;
You can use the [[Email]] registrar module to sell TLDs that none of the supported registrar modules allow. This lets you use WHMCS to accept the order and invoice the client while you perform the domain registration, renewals, and updates manually. &lt;br /&gt;
&lt;br /&gt;
=== Domain Pricing ===&lt;br /&gt;
&lt;br /&gt;
You can configure your own pricing for domain registrations at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Domain Pricing]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Domain Pricing'''. &lt;br /&gt;
&lt;br /&gt;
You can also use automatic domain registration for many TLDs to ensure that WHMCS automatically submits renewal requests as soon as you receive payment.&lt;br /&gt;
&lt;br /&gt;
=== Offering Free Domain Registration with Selected Packages ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Note&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
In WHMCS 8.2 and higher:&lt;br /&gt;
* Domains cannot be renewed individually through the Client Area if they are eligible for free renewal bundled with a product or service..&lt;br /&gt;
* You can choose whether to send free domain renewal notices. For more information, see [[Domain Renewal Notices]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
With WHMCS, you are able to offer free domains with your packages clients purchase them with certain payment terms. For example, you might want to offer a free domain when a client purchases an annual package. &lt;br /&gt;
&lt;br /&gt;
For more information, see [[Free Domains]].&lt;br /&gt;
&lt;br /&gt;
== Domain Renewals ==&lt;br /&gt;
&lt;br /&gt;
You can configure whether domains renew before sales, or you can enable or disable auto renewals for a specific purchased domain from within the client profile. &lt;br /&gt;
&lt;br /&gt;
To disable automatic renewals for a specific domain if, for example, you do not want to generate an invoice and want the domain to expire, toggle '''Disable Auto Renew''' to '''YES''' in the '''[[Clients:Products/Services Tab|Products/Services]]''' tab of the client's profile. Clients can do this by toggling the option in the Client Area domain details page.&lt;br /&gt;
&lt;br /&gt;
For specific information about domain renewals, renewal pricing, and auto-renewals in WHMCS, see [[Domain Renewals]].&lt;br /&gt;
 &lt;br /&gt;
=== Domain Renewal Notices ===&lt;br /&gt;
&lt;br /&gt;
[[File:Domain Reminder Settings.png|thumb|Domain Reminder Settings]]&lt;br /&gt;
 &lt;br /&gt;
By default, the system sends at least two domain renewal notices prior to expiration and one following it. &lt;br /&gt;
&lt;br /&gt;
* You can change the timing, send reminders before and after a domain's expiration date, or disable it. &lt;br /&gt;
* You can view information about past remimnders in the client's '''[[Clients:Emails/Notes/Logs_Tabs|Email]]''' tab or in the system logs in the [[Reports#Domain_Renewal_Reminder_Emails|Domain Renewal Reminder Emails]] report for ICANN compliance, if your module supports this.&lt;br /&gt;
* You can change the interval at which WHMCS sends domain renewal reminder notices at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Automation Settings]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Automation Settings'''.&lt;br /&gt;
* You can customize renewal notice emails at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Email Templates]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Email Templates'''.&lt;br /&gt;
&lt;br /&gt;
For more information, see [[Domain Renewal Notices]].&lt;br /&gt;
&lt;br /&gt;
== Customizations ==&lt;br /&gt;
&lt;br /&gt;
WHMCS allows you to customize certain aspects of domain sales and management:&lt;br /&gt;
&lt;br /&gt;
=== WHOIS and Domain Field Customization Retentions ===&lt;br /&gt;
&lt;br /&gt;
WHMCS 7.0 introduced override capabilities to WHOIS servers and additional domain fields. These provide an easy way to maintain customisations during automatic updates. In addition, the location and format for some of these files changed. &lt;br /&gt;
&lt;br /&gt;
For more information, see [[WHOIS Servers]] and [[Additional Domain Fields]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
WHMCS will report the results from the Whois servers. Some Whois servers may not correctly report reserved or premium domains.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Domain Name Length Restrictions ===&lt;br /&gt;
&lt;br /&gt;
The major TLDs have length limits by default. You can specify your own for any others by adding lines like these to the WHMCS configuration.php file:&lt;br /&gt;
&lt;br /&gt;
 $DomainMinLengthRestrictions[&amp;quot;.asia&amp;quot;] = 3;&lt;br /&gt;
 $DomainMaxLengthRestrictions[&amp;quot;.asia&amp;quot;] = 64;&lt;br /&gt;
 $DomainMinLengthRestrictions[&amp;quot;.ws&amp;quot;] = 4;&lt;br /&gt;
 $DomainMaxLengthRestrictions[&amp;quot;.ws&amp;quot;] = 63;&lt;br /&gt;
&lt;br /&gt;
=== Domain Renewal Restrictions ===&lt;br /&gt;
&lt;br /&gt;
Many TLDs have restrictions on renewal before and after expiration (the grace period). For example, you can typically renew a .com 40 days after the expiry date, while you can renew .uk domains between 180 days prior to expiration up to 97 days afterwards (registrar dependent).&lt;br /&gt;
&lt;br /&gt;
The major TLDs have grace periods by default. You can specify your own for any others by adding lines such as these to the configuration.php file:&lt;br /&gt;
&lt;br /&gt;
 $DomainRenewalGracePeriods[&amp;quot;.com&amp;quot;] = &amp;quot;40&amp;quot;;&lt;br /&gt;
 $DomainRenewalMinimums[&amp;quot;.co.uk&amp;quot;] = &amp;quot;180&amp;quot;;&lt;br /&gt;
 $DomainRenewalGracePeriods[&amp;quot;.co.uk&amp;quot;] = &amp;quot;97&amp;quot;; &lt;br /&gt;
&lt;br /&gt;
You can also specify multiple grace periods and minimum advance renewal restrictions in a single entry:&lt;br /&gt;
&lt;br /&gt;
 $DomainRenewalGracePeriods = array(&amp;quot;.com&amp;quot;=&amp;gt;&amp;quot;30&amp;quot;,&amp;quot;.net&amp;quot;=&amp;gt;&amp;quot;40&amp;quot;,&amp;quot;.uk&amp;quot;=&amp;gt;&amp;quot;97&amp;quot;);&lt;br /&gt;
 $DomainRenewalMinimums = array(&amp;quot;.com&amp;quot;=&amp;gt;&amp;quot;180&amp;quot;,&amp;quot;.com.au&amp;quot;=&amp;gt;&amp;quot;90&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
There are defined default Domain Grace and Redemption Period values for over 800 of the most common TLDs and extensions. For more information, see [[Domain_Grace_and_Redemption_Grace_Periods#Domain_Grace_and_Redemption_Period_Defaults|Domain Grace and Redemption Period Defaults]].&lt;br /&gt;
 &lt;br /&gt;
The default Minimum Renewal Periods are:&lt;br /&gt;
&lt;br /&gt;
 .co.uk = 180,.org.uk = 180,.me.uk = 180,.com.au = 90,.net.au = 90,.org.au = 90&lt;br /&gt;
&lt;br /&gt;
The default minimum length is three characters and the default maximum length is 63 characters for the following TLDs:&lt;br /&gt;
&lt;br /&gt;
 .com, net, .org, .info, biz, .mobi, .name, .asia, .tel,.in, .mn, .bz, .cc&lt;br /&gt;
 .tv, .us, .me, .co.uk, .me.uk, .org.uk, .net.uk, .ch, .li, .de, .jp&lt;br /&gt;
&lt;br /&gt;
=== Domain Pricing Page Layout ===&lt;br /&gt;
&lt;br /&gt;
The '''Client Area Domain Extension Pricing''' page is at &amp;lt;tt&amp;gt;cart.php?a=add&amp;amp;domain=register&amp;lt;/tt&amp;gt;. It is designed to provide visitors and clients an intuitive overview of your extension pricing. The layout of this client area page should aid you in promoting your best extensions.&lt;br /&gt;
&lt;br /&gt;
[[File:Tld_client_spotlight_logo.png|700px]]&lt;br /&gt;
&lt;br /&gt;
For more information about domain spotlights, see [[Domain Pricing Matrix]].&lt;br /&gt;
&lt;br /&gt;
=== Domain Categories ===&lt;br /&gt;
&lt;br /&gt;
Domain Categories are used on &amp;lt;tt&amp;gt;cart.php?a=add&amp;amp;domain=register&amp;lt;/tt&amp;gt; to group domain TLDs into categories such as '''Popular''', '''Shopping''', or '''Real Estate''' and makes it easier for clients to navigate and find their ideal domain extension. &lt;br /&gt;
&lt;br /&gt;
For more information about customising the domain categories, see [[Domain Categories]].&lt;br /&gt;
&lt;br /&gt;
== Managing Client Domains ==&lt;br /&gt;
&lt;br /&gt;
=== Domain Registrations ===&lt;br /&gt;
&lt;br /&gt;
Some scenarios may require you to work with domain registrations as they occur:&lt;br /&gt;
&lt;br /&gt;
==== Handling New Domain Registrations and Transfers ====&lt;br /&gt;
&lt;br /&gt;
To perform a new domain registration or initiate a transfer, someone must first place an order for it. A customer can do that from the client area or you can create one using the admin side order process.  Once you have the order, the system can process the domain registration in several ways.&lt;br /&gt;
&lt;br /&gt;
* If you have '''automatic registration on payment enabled''', then you can navigate to the invoice for the domain registration order and mark it as paid, either by '''manually applying a payment''', or by '''running a capture''' from a customers selected payment method. As soon as the invoice is successfully paid, the system will submit the domain order to the domain registrar.&lt;br /&gt;
* If you haven't enabled automatic registration, you have the option to attempt the registration when '''accepting the pending order''' by selecting the '''Send to Registrar''' checkbox and choosing the registrar to use in the '''Registrar''' menu in the order accept options.&lt;br /&gt;
* If you haven't enabled automatic registration and the order is already accepted, you can navigate to the domains record within the clients profile area, and from there select a domain registrar to use in the '''Registrar''' menu. Then, save before clicking on either of the required '''Register''' or '''Transfer''' buttons in the '''Registrar Commands''' options.  These buttons allow you to initiate the remote API calls manually (this is the same process as reattempting a failed registration or transfer below).&lt;br /&gt;
&lt;br /&gt;
==== Handling a Failed Domain Registration ====&lt;br /&gt;
&lt;br /&gt;
If an automated domain registration (or transfer initiation) attempt fails, the system will notify administrators in the following ways:&lt;br /&gt;
&lt;br /&gt;
* An &amp;quot;WHMCS Automatic Domain Renewal Failed&amp;quot; email to administrator roles with the ''Account Emails'' permission.&lt;br /&gt;
* An entry in '''Utilities &amp;gt; [[To-Do List]]'''.&lt;br /&gt;
* And entry in '''Utilities &amp;gt; [[Module Queue]]'''.&lt;br /&gt;
**The daily '''WHMCS Cron Job Activity''' email contains a summary of pending module actions in the queue at the bottom.&lt;br /&gt;
&lt;br /&gt;
Once the error has been corrected, you can have WHMCS reattempt the registration or transfer.  To do this, navigate to the domain record for the domain in question. Make sure the appropriate domain registrar is selected in the '''Registrar''' menu (saving changes if you need to make an adjustment). Then, click the '''Register''' or '''Transfer''' buttons from the '''Registrar Commands''' row of buttons.  The system will prompt you to confirm you want to proceed before reattempting to submit the calls to the domain registrar's API.  There is no need to place a new order if it fails.&lt;br /&gt;
&lt;br /&gt;
Any errors that come back from the remote systems API will display on the screen immediately when performing a manual registration attempt in this way.  &lt;br /&gt;
&lt;br /&gt;
For more information and common errors, see  [[Domain Registrars]] or contact the registrar.&lt;br /&gt;
&lt;br /&gt;
=== Domain Management for Clients ===&lt;br /&gt;
&lt;br /&gt;
Clients receive full access to the management tools from the client area. If the associated registrar supports it, they can perform actions like:&lt;br /&gt;
&lt;br /&gt;
* Changing or registering nameservers.&lt;br /&gt;
* Changing the domain's lock status.&lt;br /&gt;
* Changing the auto renewal setting or ordering renewals.&lt;br /&gt;
* Viewing or editing WHOIS information.&lt;br /&gt;
* Managing DNS records.&lt;br /&gt;
* Configuring email forwarding.&lt;br /&gt;
* Requesting EPP codes.&lt;br /&gt;
&lt;br /&gt;
=== Domain Management for Admins ===&lt;br /&gt;
&lt;br /&gt;
As an admin, you can manage individual domains from the '''[[Clients:Domains Tab|Domains]]''' tab in a client's profile. &lt;br /&gt;
&lt;br /&gt;
* This displays current nameservers and lock status with the stored values from the database.&lt;br /&gt;
* You can use this page to perform registrar commands (for example, '''Renew''', '''Modify WHOIS''', and '''Get EPP Code''').&lt;br /&gt;
* You can enable or disable domain addons (for example, DNS management, ID protection and email forwarding).&lt;br /&gt;
&lt;br /&gt;
==== Managing Domains In Bulk ====&lt;br /&gt;
&lt;br /&gt;
The following bulk actions are available to clients beneath the Domains list in the client profile. They allow you to make the same changes to a number of domains. &lt;br /&gt;
&lt;br /&gt;
To use this, select the domains to modify and select one of the following options from the menu:&lt;br /&gt;
&lt;br /&gt;
*Manage Nameservers — Select '''Use default nameservers''' and WHMCS will automatically match the server to which you have assigned the hosting account for the same domain (if hosting exists), or using the system wide default for domain-only orders. Select '''Use custom nameservers''' to activate the fields to enter other nameservers.&lt;br /&gt;
*Auto Renewal Status — Enable or Disable Auto-Renewal of all the selected domains.&lt;br /&gt;
*Registrar Lock Status — Enable or Disable the registrar lock for all the selected domains.&lt;br /&gt;
*Edit Contact Information — Select '''Use existing account contact''' and use the menu to use the details of one of the contacts or sub-accounts under this client's account. Select '''Specify custom information below''' to enter the contact details to apply to the selected domains.&lt;br /&gt;
*Renew Domains — Renew the selected domains. On the next screen you will be able to choose how long to renew each domain for individually.&lt;br /&gt;
&lt;br /&gt;
====Viewing/Editing Domain Nameservers====&lt;br /&gt;
&lt;br /&gt;
For any domain you have assigned to a registrar module in WHMCS, viewing and editing the nameservers the domain points to is a seamless integrated process.  The nameserver fields will appear as part of the domain records fields when viewing a domains details via '''[[Clients:Domains Tab|Domains]]''' tab inside a Clients Profile.  The system will communicate any changes you make to those fields and submit remotely to the selected domain registrar in the background by WHMCS, and update them automatically.&lt;br /&gt;
&lt;br /&gt;
====Viewing/Editing Locking Status====&lt;br /&gt;
&lt;br /&gt;
Similarly, if the domain's registrar module supports domain locking and unlocking, a Registrar Lock field will appear along with the nameserver fields on the domains management page. Checking or unchecking the box and saving will submit that change to the domain registrar as well.&lt;br /&gt;
&lt;br /&gt;
====Viewing/Editing WHOIS Information====&lt;br /&gt;
&lt;br /&gt;
To view and make changes to the WHOIS Contact Information for a domain inside WHMCS, from the '''[[Clients:Domains Tab|Domains]]''' tab within a Clients Profile, click '''Modify Domain Contact Details''' in '''Registrar Commands'''.  A screen will appear listing the current contact information, which allows you to make changes to it and submit them.  The system doesn't store WHOIS Information locally in WHMCS, so it always queries it in real-time from the selected domain registrar so any updates you make will take immediate effect.&lt;br /&gt;
&lt;br /&gt;
====Moving a Domain to another Client====&lt;br /&gt;
&lt;br /&gt;
[[File:Transfer product.png|thumb|Transfer Domain Popup]]&lt;br /&gt;
&lt;br /&gt;
To move a domain to a new client:&lt;br /&gt;
&lt;br /&gt;
# When viewing the domain you want to move in the '''[[Clients:Domains Tab|Domains]]''' tab, click '''Move Domain to Another Client''' at the top-right of the page. &lt;br /&gt;
# In the window that appears, enter the ID of the new owner. If you don't know the client's ID, you can search by name, company, or email address. Click the client's name and the system will fill in the ID.&lt;br /&gt;
# Click '''Transfer'''. The system will move the domain, the window will close, and the original window will refresh to show the domain under its new owner.&lt;br /&gt;
&lt;br /&gt;
This process won't change the WHOIS details on the domain. If you wish to update those, click '''Modify Contact Details''' in the '''[[Clients:Domains Tab|Domains]]''' tab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
You can't move invoices between clients. Because of this, when moving a domain, any invoices will remain under the old owner. We recommend that you check the old owner's Invoices tab for any unpaid invoices for this domain and cancel them. If you wish to invoice the new owner for the domain, move the Next Due Date forward or back by one day and the system will generate a new invoice when the cron next runs.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Deleting a Domain from a Client ====&lt;br /&gt;
&lt;br /&gt;
When viewing the domain you want to delete, scroll to the bottom of the page and click the red '''Delete''' link. After clicking this link, the system will prompt you to confirm whether you are sure you want to delete the domain. &lt;br /&gt;
&lt;br /&gt;
* If you click No, you will return to the page. &lt;br /&gt;
* If you click Yes, the system will delete the item and you will view the next domain under that client.&lt;br /&gt;
&lt;br /&gt;
Deleting a domain from WHMCS will not perform any action at the domain registrar.&lt;br /&gt;
&lt;br /&gt;
===Domain Renewals===&lt;br /&gt;
&lt;br /&gt;
By default, domains will invoice automatically in advance of the renewal date. Your invoice generation settings in '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Automation Settings]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Automation Settings''' determine how far in advance renewal invoicing occurs.&lt;br /&gt;
&lt;br /&gt;
Domains will auto invoice for renewal if they are in Active status and the &amp;quot;Do Not Renew&amp;quot; option is deselected in the domains profile. Clients also have the ability to both enable and disable the Do Not Renew option via the Auto Renew settings for a domain in the client area.  This can be enabled or disabled on a per domain basis.&lt;br /&gt;
&lt;br /&gt;
For Auto Renew, if a domain is invoiced for renewal, and you use a merchant payment gateway, and your client has chosen to pay via that method, and they have a credit card on file, then, on the due date, the system will automatically attempt that invoice for capture.&lt;br /&gt;
&lt;br /&gt;
Automatic invoices for renewal generate using the '''Recurring Amount''' value that you set for the domain at the time of purchase.  This means that if you increase your domain prices, it will not affect existing clients' prices.  If you would like to change existing customers pricing then that can be achieved using the [[Bulk Pricing Update Utility]].&lt;br /&gt;
&lt;br /&gt;
Whenever the system marks an invoice for a domain renewal as paid, either automatically as above or manually due to an admin applying payment to it from the admin area, if you assigned the domain to a registrar module in WHMCS, then the system will send a renewal command to that domain registrar's API to process the renewal. You can control this via the setting '''Auto Renew on Payment''' in the '''[[Domains Tab|Domains]]''' tab at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings''' or, prior to WHMCS 8.0, '''Setup &amp;gt; General Settings'''. If '''Auto Renew on Payment''' is disabled, the system will not send a renewal command to the registrar.  Instead, if '''Create To-Do List Entries''' is enabled, the system will add an entry at '''Utilities &amp;gt; [[To-Do List]]'''. If both '''Auto Renew on Payment''' and '''Create To-Do List Entries''' are disabled, the system will not perform any action.&lt;br /&gt;
&lt;br /&gt;
Clients can also order renewals on demand at any time.  This enables a client to renew a domain early, well in advance of expiry, to extend their domains at any time they wish.  This is done via the shopping cart by selecting the Domain Renewals category.  Domain renewals that clients order in this way use the current pricing in '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[Domain Pricing]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Domain Pricing''' for the renewals.&lt;br /&gt;
&lt;br /&gt;
==== Subscriptions and Renewals ====&lt;br /&gt;
&lt;br /&gt;
Certain payment gateways (such as PayPal® and 2Checkout) offer Subscriptions: the ability to automatically send payments of a fixed amount on a fixed schedule. Domains can have a different billing cycle from an associated service (for example, a monthly product but an annual domain) which increases the complexity for a subscription. When the gateway supports such functionality, the system creates a subscription to automatically send payment for domain renewals:&lt;br /&gt;
&lt;br /&gt;
* 2Checkout Inline Mode&lt;br /&gt;
&lt;br /&gt;
For other subscriptions, WHMCS will not offer clients the option to create subscriptions when paying for a domain renewal invoice:&lt;br /&gt;
&lt;br /&gt;
* PayPal Subscriptions&lt;br /&gt;
* 2Checkout Standard Mode&lt;br /&gt;
&lt;br /&gt;
==== Domain Renewal Notices ====&lt;br /&gt;
&lt;br /&gt;
You can configure WHMCS to send Domain Renewal Notices before and after a domain has expired.  You can use these to remind and encourage your customers to renew their expiring domains with you.&lt;br /&gt;
&lt;br /&gt;
For more information on this functionality, see the [[Domain Renewal Notices]] documentation.&lt;br /&gt;
&lt;br /&gt;
=== Manually Registering or Renewing a Domain ===&lt;br /&gt;
&lt;br /&gt;
For some trusted customers, or your own domains, you may wish to register or renew a domain without payment. To do this:&lt;br /&gt;
&lt;br /&gt;
==== Manually Registering a Domain ====&lt;br /&gt;
To manually register a domain:&lt;br /&gt;
&lt;br /&gt;
# Navigate to the desired domain in the '''[[Clients:Domains Tab|Domains]]''' tab in the client's profile .&lt;br /&gt;
# Click '''Register''' in the '''Registrar Commands''' section to immediately send a registration request to the domain registrar. If the request succeeds, the expiry date will update.&lt;br /&gt;
&lt;br /&gt;
==== Manually Renewing a Domain ====&lt;br /&gt;
To manually renew a domain:&lt;br /&gt;
&lt;br /&gt;
# Navigate to the desired domain on the '''[[Clients:Domains Tab|Domains]]''' tab in the client's profile.&lt;br /&gt;
# Click '''Renew''' in the '''Registrar Commands''' section to immediately send a renewal request to the domain registrar. If the request succeeds, the expiry date will update.&lt;br /&gt;
# You should also increment the next due date if you are manually handling payment according to the steps below.&lt;br /&gt;
&lt;br /&gt;
If the domain is already invoiced, and automatic renewal on payment is enabled, when that invoice is paid under normal circumstances, the system sends another domain renewal request to the registrar. If you need to stop this, perform these steps:&lt;br /&gt;
&lt;br /&gt;
# Locate the invoice for the domain. To do this, click the '''View Invoices''' link on the domain page to see a list of invoices for just that domain.&lt;br /&gt;
# Copy the line item and amount for the domain from the existing line to a new invoice line item and save.&lt;br /&gt;
# Delete the original line item from the invoice. You are removing the actual link to the domain so no further renewal will occur.&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	</feed>