<?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=John</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=John"/>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/Special:Contributions/John"/>
		<updated>2026-04-03T19:31:53Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.29.1</generator>

	<entry>
		<id>http://3.19.219.109/index.php?title=Migration_Guide&amp;diff=34577</id>
		<title>Migration Guide</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Migration_Guide&amp;diff=34577"/>
				<updated>2024-05-24T07:31:35Z</updated>
		
		<summary type="html">&lt;p&gt;John: /* ImportAssist */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We understand that the majority of companies already have a billing system in place to manage their hosting clients and worry about the difficulties of switching to a new billing system. With that in mind, we provide the following guides and automation scripts in order to make importing easy.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;a href=&amp;quot;https://www.whmcs.com/services#installation?utm_medium=docs&amp;quot; class=&amp;quot;docs-video-tutorial&amp;quot;&amp;gt;&amp;lt;em&amp;gt;&amp;lt;small&amp;gt;&amp;lt;b&amp;gt;Migration Services:&amp;lt;/b&amp;gt; Contact our team to discuss our migration services.&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&amp;lt;span class=&amp;quot;button&amp;quot;&amp;gt;Services&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ImportAssist==&lt;br /&gt;
&lt;br /&gt;
[[File:import_assist_banner_2.png|link=https://marketplace.whmcs.com/product/46]]&lt;br /&gt;
&lt;br /&gt;
When performing a migration from another billing system or WHMCS installation, we recommend using our ImportAssist addon, which supports importing data from multiple billing systems. At this time, this supports the following systems:&lt;br /&gt;
&lt;br /&gt;
* WHMCS Version 6.2.x, 6.3.x, 7.0.x, 7.1.x, 7.2.x, 7.3.x, 7.4.x, 7.5.x, 7.6.x, 7.7.x&lt;br /&gt;
* Blesta Version 2.x, 3.x, 4.1, 5.x&lt;br /&gt;
* ClientExec Version 5.3+&lt;br /&gt;
* HostBill 2016 Version&lt;br /&gt;
&lt;br /&gt;
For detailed information on obtaining and using ImportAssist, see [[ImportAssist]].&lt;br /&gt;
&lt;br /&gt;
==Server Sync Tool==&lt;br /&gt;
&lt;br /&gt;
In WHMCS 7.8 and later, you can compare and sync details from cPanel, Plesk and DirectAdmin servers using the '''[[Server Sync Tool]]''' 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; [[Servers]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Servers'''. &lt;br /&gt;
&lt;br /&gt;
This is particularly useful for performing an initial import when first starting with WHMCS, but you can also use it for other purposes, such as identifying and importing missing domains, syncing usernames and package information, and terminating inactive domains.&lt;br /&gt;
&lt;br /&gt;
==cPanel &amp;amp; WHM Import Script==&lt;br /&gt;
&lt;br /&gt;
In WHMCS 7.7 or older, you can import all of the domains on your existing cPanel &amp;amp; WHM servers using the tools at '''Utilities &amp;gt; [[CPanel/WHM_Import|WHM Import Tool]]'''.&lt;br /&gt;
&lt;br /&gt;
==Manual Entry==&lt;br /&gt;
&lt;br /&gt;
We understand that the ImportAssist addon and Server Sync Tool may not always meet your needs for adding clients and their items (for example, when you need to add a client manually and there is no associated hosting account or domain registrar for their items). In these circumstances, it is possible to add clients and their items manually via the admin area using the instructions below.&lt;br /&gt;
&lt;br /&gt;
===Adding Clients===&lt;br /&gt;
&lt;br /&gt;
To manually import your clients, use the following steps for each client:&lt;br /&gt;
&lt;br /&gt;
#Go to '''Clients &amp;gt; Add New Client'''.&lt;br /&gt;
#Fill out the client details. You must provide, at least, the first and last names, email address, and password.&lt;br /&gt;
#Optionally, deselect the checkbox to send a '''New Account Information Message'''.&lt;br /&gt;
#Click '''Add Client'''.&lt;br /&gt;
&lt;br /&gt;
You have now finished adding your client. However, the system will not automatically notify your client that you added them. You can now add the applicable items to their account in the section below.&lt;br /&gt;
&lt;br /&gt;
===Adding Services===&lt;br /&gt;
&lt;br /&gt;
Once you have added the clients, you can proceed to add their services (such as hosting accounts).  Perform the following steps for each client:&lt;br /&gt;
&lt;br /&gt;
# In the '''[[Clients:Summary Tab|Summary]]''' tab in the client profile, click '''Add New Order'''. The system will preselect the client. &lt;br /&gt;
# Fill out the rest of the form, beginning with choosing the payment gateway you want their future invoices to use.&lt;br /&gt;
# Choose the applicable product or service and the billing cycle.&lt;br /&gt;
# If the service has an associated domain name, enter it in the textbox. &lt;br /&gt;
# If you also control the domain name registration, select ''Register'' on the domain section below and choose any addons the user has for their domain.&lt;br /&gt;
# Deselect the boxes for '''Order Confirmation''' and '''Generate Invoice'''. This will ensure that the system doesn't email the client about the order you are adding.&lt;br /&gt;
# Select '''Active''' from the '''Order Status''' menu. &lt;br /&gt;
# Click '''Submit'''.&lt;br /&gt;
&lt;br /&gt;
The system will display the order details page, which will summarise the details of the order you added.&lt;br /&gt;
&lt;br /&gt;
As the final step, go into the service details and set the correct next due date. To do this from the order details page, click on the link in the '''Item''' column of the items ordered. This will take you to the service details page. From there, you can edit the next due payment date. For hosting accounts, select the correct server and enter the username for the account to allow WHMCS to perform suspensions and terminations.&lt;br /&gt;
&lt;br /&gt;
===Adding Domains===&lt;br /&gt;
&lt;br /&gt;
To add a domain without a product:&lt;br /&gt;
&lt;br /&gt;
# In the '''[[Clients:Summary Tab|Summary]]''' tab in the client profile, click the  '''Add New Order''' link in the '''Actions''' panel. The system will preselect the client. &lt;br /&gt;
# Fill out the rest of the form, beginning with choosing the payment gateway for future invoices to use by default.&lt;br /&gt;
# Select '''Active''' from the '''Order Status''' menu.&lt;br /&gt;
# Deselect the checkboxes for sending an order confirmation and generating an invoice. This will ensure that the client is not emailed about the order you are adding and no invoice is raised.&lt;br /&gt;
# Select '''Registration''' for the domain registration type. The domain fields will then be shown.&lt;br /&gt;
# Enter the domain in the '''Domain''' field.&lt;br /&gt;
# Choose the number of years you want to invoice the client for at the time of renewal.&lt;br /&gt;
# Select any addons that the user has for their domain such as DNS Management.&lt;br /&gt;
# Click '''Submit''' to add the order to WHMCS. The system will display the order details page, which will summarise the details of the order you added.&lt;br /&gt;
# Click '''Domain''' in the '''Item''' column to check whether the next due date, expiry date, and registrar settings are correct. Make any necessary updates and then click '''Save Changes'''.&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Migration_Guide&amp;diff=34576</id>
		<title>Migration Guide</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Migration_Guide&amp;diff=34576"/>
				<updated>2024-05-24T07:31:12Z</updated>
		
		<summary type="html">&lt;p&gt;John: /* ImportAssist */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We understand that the majority of companies already have a billing system in place to manage their hosting clients and worry about the difficulties of switching to a new billing system. With that in mind, we provide the following guides and automation scripts in order to make importing easy.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;a href=&amp;quot;https://www.whmcs.com/services#installation?utm_medium=docs&amp;quot; class=&amp;quot;docs-video-tutorial&amp;quot;&amp;gt;&amp;lt;em&amp;gt;&amp;lt;small&amp;gt;&amp;lt;b&amp;gt;Migration Services:&amp;lt;/b&amp;gt; Contact our team to discuss our migration services.&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&amp;lt;span class=&amp;quot;button&amp;quot;&amp;gt;Services&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ImportAssist==&lt;br /&gt;
&lt;br /&gt;
[[File:import_assist_banner_2.png|link=https://marketplace.whmcs.com/product/46]]&lt;br /&gt;
&lt;br /&gt;
When performing a migration from another billing system or WHMCS installation, we recommend using our ImportAssist addon, which supports importing data from multiple billing systems. At this time, this supports the following systems:&lt;br /&gt;
&lt;br /&gt;
* WHMCS Version 6.2.x, 6.3.x, 7.0.x, 7.1.x, 7.2.x, 7.3.x, 7.4.x, 7.5.x, 7.6.x, 7.7.x&lt;br /&gt;
* Blesta Version 2.x, 3.x, 5.x&lt;br /&gt;
* ClientExec Version 5.3+&lt;br /&gt;
* HostBill 2016 Version&lt;br /&gt;
&lt;br /&gt;
For detailed information on obtaining and using ImportAssist, see [[ImportAssist]].&lt;br /&gt;
&lt;br /&gt;
==Server Sync Tool==&lt;br /&gt;
&lt;br /&gt;
In WHMCS 7.8 and later, you can compare and sync details from cPanel, Plesk and DirectAdmin servers using the '''[[Server Sync Tool]]''' 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; [[Servers]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Servers'''. &lt;br /&gt;
&lt;br /&gt;
This is particularly useful for performing an initial import when first starting with WHMCS, but you can also use it for other purposes, such as identifying and importing missing domains, syncing usernames and package information, and terminating inactive domains.&lt;br /&gt;
&lt;br /&gt;
==cPanel &amp;amp; WHM Import Script==&lt;br /&gt;
&lt;br /&gt;
In WHMCS 7.7 or older, you can import all of the domains on your existing cPanel &amp;amp; WHM servers using the tools at '''Utilities &amp;gt; [[CPanel/WHM_Import|WHM Import Tool]]'''.&lt;br /&gt;
&lt;br /&gt;
==Manual Entry==&lt;br /&gt;
&lt;br /&gt;
We understand that the ImportAssist addon and Server Sync Tool may not always meet your needs for adding clients and their items (for example, when you need to add a client manually and there is no associated hosting account or domain registrar for their items). In these circumstances, it is possible to add clients and their items manually via the admin area using the instructions below.&lt;br /&gt;
&lt;br /&gt;
===Adding Clients===&lt;br /&gt;
&lt;br /&gt;
To manually import your clients, use the following steps for each client:&lt;br /&gt;
&lt;br /&gt;
#Go to '''Clients &amp;gt; Add New Client'''.&lt;br /&gt;
#Fill out the client details. You must provide, at least, the first and last names, email address, and password.&lt;br /&gt;
#Optionally, deselect the checkbox to send a '''New Account Information Message'''.&lt;br /&gt;
#Click '''Add Client'''.&lt;br /&gt;
&lt;br /&gt;
You have now finished adding your client. However, the system will not automatically notify your client that you added them. You can now add the applicable items to their account in the section below.&lt;br /&gt;
&lt;br /&gt;
===Adding Services===&lt;br /&gt;
&lt;br /&gt;
Once you have added the clients, you can proceed to add their services (such as hosting accounts).  Perform the following steps for each client:&lt;br /&gt;
&lt;br /&gt;
# In the '''[[Clients:Summary Tab|Summary]]''' tab in the client profile, click '''Add New Order'''. The system will preselect the client. &lt;br /&gt;
# Fill out the rest of the form, beginning with choosing the payment gateway you want their future invoices to use.&lt;br /&gt;
# Choose the applicable product or service and the billing cycle.&lt;br /&gt;
# If the service has an associated domain name, enter it in the textbox. &lt;br /&gt;
# If you also control the domain name registration, select ''Register'' on the domain section below and choose any addons the user has for their domain.&lt;br /&gt;
# Deselect the boxes for '''Order Confirmation''' and '''Generate Invoice'''. This will ensure that the system doesn't email the client about the order you are adding.&lt;br /&gt;
# Select '''Active''' from the '''Order Status''' menu. &lt;br /&gt;
# Click '''Submit'''.&lt;br /&gt;
&lt;br /&gt;
The system will display the order details page, which will summarise the details of the order you added.&lt;br /&gt;
&lt;br /&gt;
As the final step, go into the service details and set the correct next due date. To do this from the order details page, click on the link in the '''Item''' column of the items ordered. This will take you to the service details page. From there, you can edit the next due payment date. For hosting accounts, select the correct server and enter the username for the account to allow WHMCS to perform suspensions and terminations.&lt;br /&gt;
&lt;br /&gt;
===Adding Domains===&lt;br /&gt;
&lt;br /&gt;
To add a domain without a product:&lt;br /&gt;
&lt;br /&gt;
# In the '''[[Clients:Summary Tab|Summary]]''' tab in the client profile, click the  '''Add New Order''' link in the '''Actions''' panel. The system will preselect the client. &lt;br /&gt;
# Fill out the rest of the form, beginning with choosing the payment gateway for future invoices to use by default.&lt;br /&gt;
# Select '''Active''' from the '''Order Status''' menu.&lt;br /&gt;
# Deselect the checkboxes for sending an order confirmation and generating an invoice. This will ensure that the client is not emailed about the order you are adding and no invoice is raised.&lt;br /&gt;
# Select '''Registration''' for the domain registration type. The domain fields will then be shown.&lt;br /&gt;
# Enter the domain in the '''Domain''' field.&lt;br /&gt;
# Choose the number of years you want to invoice the client for at the time of renewal.&lt;br /&gt;
# Select any addons that the user has for their domain such as DNS Management.&lt;br /&gt;
# Click '''Submit''' to add the order to WHMCS. The system will display the order details page, which will summarise the details of the order you added.&lt;br /&gt;
# Click '''Domain''' in the '''Item''' column to check whether the next due date, expiry date, and registrar settings are correct. Make any necessary updates and then click '''Save Changes'''.&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Version_8.9_Release_Notes&amp;diff=34464</id>
		<title>Version 8.9 Release Notes</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Version_8.9_Release_Notes&amp;diff=34464"/>
				<updated>2024-03-14T15:03:28Z</updated>
		
		<summary type="html">&lt;p&gt;John: /* Duo® Universal Prompt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot; style=&amp;quot;max-width:370px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Release Information&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Version: 8.9.0&amp;lt;br /&amp;gt;&lt;br /&gt;
Release Type: General Availability&amp;lt;br /&amp;gt;&lt;br /&gt;
Latest Update: 6th March 2024&amp;lt;br /&amp;gt;&lt;br /&gt;
Distribution Types: Full and Via Automatic Updater&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 more information on WHMCS 8.9's important changes and exciting features, see [[New and Improved in WHMCS 8.9]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
==Version History==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;onlyinclude&amp;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;&amp;lt;td&amp;gt;8.9.0&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Beta&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;6th December 2023&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;8.9.0&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Release Candidate&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;7th February 2024&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;8.9.0&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;General Availability&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;6th March 2024&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==Download==&lt;br /&gt;
 &lt;br /&gt;
Download the latest version of WHMCS from https://download.whmcs.com/&lt;br /&gt;
 &lt;br /&gt;
==Upgrade Process==&lt;br /&gt;
  &lt;br /&gt;
WHMCS 8.0 and above requires PHP 7.2 or later. WHMCS 8.0 introduced support for PHP 7.4, and WHMCS 8.6 introduced support for PHP 8.1.&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 update to a WHMCS version that supports your desired PHP version or higher '''before''' updating PHP.&lt;br /&gt;
* The [[Automatic Updater]] only displays updates if you are running a PHP version that is compatible with that WHMCS version.&lt;br /&gt;
* For example, if you are running PHP 7.1 or earlier, you must update to PHP 7.2 or later before updating to WHMCS 8.0 or higher.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
     &lt;br /&gt;
[[Upgrading|Upgrade Instructions]]&lt;br /&gt;
    &lt;br /&gt;
===Automatic Updating===&lt;br /&gt;
    &lt;br /&gt;
If you are running WHMCS 7.0 or later, you can use the built-in [[Automatic Updater]].&lt;br /&gt;
      &lt;br /&gt;
Go to '''Utilities &amp;gt; Update WHMCS''' to begin the process.&lt;br /&gt;
      &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
If the update was released recently, you may need to click '''Check for Updates''' before the update will be available.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
== Release Notes ==&lt;br /&gt;
 &lt;br /&gt;
=== New PayPal® Payment Gateways ===&lt;br /&gt;
   &lt;br /&gt;
The new '''PayPal Payments''' payment gateway module allows merchants to process and store payment methods using PayPal's latest secure tokenization system, including the advanced security of merchant-level vaulting with PayPal Vault for supported merchants.&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
Currently, PayPal supports vaulting for merchants in:&lt;br /&gt;
* The United States&lt;br /&gt;
* Canada&lt;br /&gt;
* The United Kingdom&lt;br /&gt;
* Australia&lt;br /&gt;
* The following EU countries: Belgium, Bulgaria, The Republic of Cyprus, Czech Republic, Germany, Denmark, Estonia, Spain, Finland, France, Greece, Hungary, Italy, Lithuania, Luxembourg, Latvia, Malta, Netherland, Poland, Portugal, Romania, Sweden, Slovenia, and Slovakia.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
When you use '''PayPal Payments''', clients can make one-click payments using PayPal during checkout and on invoices.&lt;br /&gt;
   &lt;br /&gt;
When you activate '''PayPal Payments''', it also activates the '''[[PayPal Card Payments]]''' module. This module augments '''PayPal Payments''', allowing you to display a separate unbranded option to accept credit and debit cards during checkout. Both modules use the '''PayPal Payments''' configured PayPal account information for a seamless experience.&lt;br /&gt;
   &lt;br /&gt;
You can enable the new '''PayPal Payments''' module 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; [[Apps and Integrations|Apps &amp;amp; Integrations]]'''. For more information, see [https://help.whmcs.com/m/payments/l/1782848-start-using-paypal-payments Start Using PayPal Payments].&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;If you enabled these modules while using the Beta release of WHMCS 8.9, you '''must''' reactivate them before using them with WHMCS 8.9 Release Candidate or later. If you do not do this, you may experience problems with some payment methods.&amp;lt;/div&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
[[PayPal|Learn More]]&lt;br /&gt;
 &lt;br /&gt;
=== Transactions List ===&lt;br /&gt;
 &lt;br /&gt;
We have updated the displayed transaction details at '''Billing &amp;gt; [[Transactions|Transactions List]]''' to include additional information and currency codes for some amounts.&lt;br /&gt;
&lt;br /&gt;
=== On-Demand Renewals ===  &lt;br /&gt;
 &lt;br /&gt;
On-Demand Renewals now allow early renewals for product addons. When you enable on-demand renewals, clients can renew services in the Client Area before WHMCS generates their next invoice, with no manual action from your staff.&lt;br /&gt;
 &lt;br /&gt;
* You can configure on-demand renewals globally in the '''[[Ordering_Tab|Ordering]]''' 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'''.&lt;br /&gt;
* You can configure on-demand renewals for individual product addons in the '''Pricing''' 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; [[Product Addons]]'''.&lt;br /&gt;
 &lt;br /&gt;
[[On-Demand Renewals|Learn More]]&lt;br /&gt;
 &lt;br /&gt;
==== On-Demand Renewal Product Settings ====&lt;br /&gt;
 &lt;br /&gt;
We have moved the product-specific '''On-Demand Renewals''' settings 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]]''' from the '''Other''' tab to the '''Pricing''' tab.  &lt;br /&gt;
 &lt;br /&gt;
[https://help.whmcs.com/m/payments/l/1706772-configuring-on-demand-renewals Learn More]&lt;br /&gt;
&lt;br /&gt;
=== Separated Invoice Viewing and Management ===&lt;br /&gt;
 &lt;br /&gt;
Invoices in the WHMCS Admin Area now default to a view-only mode. This prevents accidental editing while viewing an invoice and gives admins more fine-grained control over staff permissions.&lt;br /&gt;
 &lt;br /&gt;
* This change affects invoices at '''Billing &amp;gt; [[Invoices]]''' and in a client's profile's '''[[Clients:Invoices_Tab|Invoices]]''' tab.&lt;br /&gt;
* Admins can still add payments, resend emails, and perform certain other tasks in view-only mode if they have the related permissions for those tasks.&lt;br /&gt;
 &lt;br /&gt;
A new ''View Invoice'' permission 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]]''' grants admins the ability to view, but not alter, existing invoices. Admins who already had the ''Manage Invoices'' permission will continue to be able to edit invoices by clicking '''Manage Invoice''' while viewing an invoice.&lt;br /&gt;
 &lt;br /&gt;
[[Invoices|Learn More]]&lt;br /&gt;
&lt;br /&gt;
=== Duo® Universal Prompt ===&lt;br /&gt;
 &lt;br /&gt;
We have updated our integration with Duo Security to use the new [https://guide.duo.com/universal-prompt|Universal Prompt] login process. This change replaces the previous iframe-based experience and implements a simplified interface that continues to support Duo's wide range of Two-Factor Authentication options.  &lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
Duo has announced that support for the previous iframe-based Duo Prompt will [https://duo.com/docs/universal-prompt-update-guide end on March 30, 2024].&lt;br /&gt;
 &lt;br /&gt;
* Duo's support teams will no longer be able to troubleshoot issues with the previous Duo Prompt after this date. &lt;br /&gt;
* After you upgrade to WHMCS 8.9 or later, we '''strongly''' recommend activating [https://guide.duo.com/universal-prompt Duo Universal Prompt] in your Duo customer portal to ensure continued functionality. If you do not do this, your customers may experience problems.&lt;br /&gt;
&amp;lt;/div&amp;gt;  &lt;br /&gt;
 &lt;br /&gt;
[[Duo Security|Learn More]]&lt;br /&gt;
&lt;br /&gt;
=== Show on Order Form State ===&lt;br /&gt;
 &lt;br /&gt;
Payment gateway modules now support a &amp;lt;tt&amp;gt;VisibleDefault&amp;lt;/tt&amp;gt; metadata parameter that defines the default '''Show on Order Form''' setting. This parameter defaults to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; for all payment gateway modules.&lt;br /&gt;
 &lt;br /&gt;
[https://developers.whmcs.com/payment-gateways/meta-data-params/ Learn More]&lt;br /&gt;
 &lt;br /&gt;
=== Improved Invoice ID Incrementation ===&lt;br /&gt;
 &lt;br /&gt;
To improve how WHMCS handles incrementing invoice ID numbers, we have updated the following settings in the '''[[Invoice_Tab|Invoices]]''' 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''':&lt;br /&gt;
 &lt;br /&gt;
* '''Invoice # Incrementation''' now has a maximum value of &amp;lt;tt&amp;gt;999&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* '''Invoice Starting #''' now has a maximum value of &amp;lt;tt&amp;gt;499,999,999&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* The maximum invoice ID number that the system can generate has increased from &amp;lt;tt&amp;gt;2,147,483,647&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;4,294,967,295&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Improved Apps &amp;amp; Integrations Experience ===&lt;br /&gt;
 &lt;br /&gt;
We have optimized page performance 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; [[Apps_and_Integrations|Apps &amp;amp; Integrations]]''', allowing you to search for modules faster.&lt;br /&gt;
 &lt;br /&gt;
=== Stripe™ Module API Updates ===&lt;br /&gt;
 &lt;br /&gt;
We have updated the [[Stripe]], [[Stripe ACH]], and [[Stripe SEPA]] modules. We have updated the Stripe PHP Library and implemented other module improvements.&lt;br /&gt;
 &lt;br /&gt;
Additionally, '''Stripe ACH''' and '''Stripe SEPA''' now use Stripe's &amp;lt;tt&amp;gt;PaymentIntents&amp;lt;/tt&amp;gt; API instead of the now-deprecated Stripe API. Patches will be available soon for installations that run WHMCS 8.5, 8.6, 8.7, or 8.8.&lt;br /&gt;
 &lt;br /&gt;
[[Stripe|Learn More]]&lt;br /&gt;
&lt;br /&gt;
=== Enhanced Domain Pricing Validation ===&lt;br /&gt;
 &lt;br /&gt;
The system now validates your PHP configuration's &amp;lt;tt&amp;gt;max_input_vars&amp;lt;/tt&amp;gt; setting before saving changes 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]]'''. This helps to prevent MySQL® errors and other issues that low &amp;lt;tt&amp;gt;max_input_vars&amp;lt;/tt&amp;gt; values may cause.&lt;br /&gt;
 &lt;br /&gt;
[https://go.whmcs.com/1809/PHP-max-input-vars-Setting-Errors Learn More]&lt;br /&gt;
&lt;br /&gt;
=== Blesta 5 Support in ImportAssist ===&lt;br /&gt;
&lt;br /&gt;
The [[ImportAssist]] addon module now supports importing data from Blesta 5. This is a direct change to the '''ImportAssist''' module and is not specific to WHMCS 8.9.&lt;br /&gt;
&lt;br /&gt;
[[ImportAssist|Learn More]]&lt;br /&gt;
&lt;br /&gt;
== Deprecation and Removal Notices ==&lt;br /&gt;
&lt;br /&gt;
=== Plaid Settings in Stripe ACH Module ===&lt;br /&gt;
 &lt;br /&gt;
We have removed support for Plaid from the [[Stripe ACH]] payment gateway module. This includes removing the '''Plaid Client Id''', '''Plaid Secret''', and '''Plaid Environment''' settings from the module's configuration.&lt;br /&gt;
  &lt;br /&gt;
== Templates ==&lt;br /&gt;
    &lt;br /&gt;
For a list of changed files and a graphical view of the exact changes, see the GitHub™ repositories below.&lt;br /&gt;
    &lt;br /&gt;
===Twenty-One Theme===&lt;br /&gt;
    &lt;br /&gt;
The following link provides a comparison of changes between 8.8.0 and 8.9.0:&lt;br /&gt;
    &lt;br /&gt;
https://github.com/WHMCS/templates-twenty-one/compare/v8.8.0-release.1...v8.9.0-release.1&lt;br /&gt;
 &lt;br /&gt;
=== Six Theme ===&lt;br /&gt;
             &lt;br /&gt;
The following link provides a comparison of changes between 8.8.0 and 8.9.0:&lt;br /&gt;
    &lt;br /&gt;
https://github.com/WHMCS/templates-six/compare/v8.8.0-release.1...v8.9.0-release.1&lt;br /&gt;
 &lt;br /&gt;
=== Standard Cart Order Form ===&lt;br /&gt;
             &lt;br /&gt;
The following link provides a comparison of changes between 8.8.0 and 8.9.0:&lt;br /&gt;
    &lt;br /&gt;
https://github.com/WHMCS/orderforms-standard_cart/compare/v8.8.0-release.1...v8.9.0-release.1&lt;br /&gt;
 &lt;br /&gt;
== Changelog ==&lt;br /&gt;
  &lt;br /&gt;
* [[Changelog:WHMCS_V8.9.0_Beta_1|Version 8.9.0 Beta 1]]&lt;br /&gt;
* [[Changelog:WHMCS_V8.9.0_RC_1|Version 8.9.0 RC 1]]&lt;br /&gt;
* [[Changelog:WHMCS_V8.9.0_GA|Version 8.9.0 GA 1]]&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=DuoSecurity&amp;diff=34463</id>
		<title>DuoSecurity</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=DuoSecurity&amp;diff=34463"/>
				<updated>2024-03-14T15:02:35Z</updated>
		
		<summary type="html">&lt;p&gt;John: Updated Alert box&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://docs.whmcs.com/Two-Factor_Authentication &amp;lt; Back to Two-Factor Authentication]&lt;br /&gt;
&lt;br /&gt;
Duo® Security increases security with [[Two Factor Authentication]] (2FA). 2FA using Duo Security combines traditional account credentials (like a username and password) with a code or other verification from a device like a smart phone. Requiring both to log in decreases the threat of a leaked password. &lt;br /&gt;
&lt;br /&gt;
Use of Duo Security is free for up to 10 accounts, and the Duo® Mobile app is available on all major smartphone platforms.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
In WHMCS 8.9 and later, our Duo Security integration uses [https://guide.duo.com/universal-prompt Duo Universal Prompt], which uses Duo Push by default. This pushes login or transaction details to your phone, allowing for immediate one-tap approval. If you already used Duo Security with the previous integration, you '''must''' log in to the Duo portal and upgrade your API credentials to use Duo Universal Prompt.&lt;br /&gt;
&lt;br /&gt;
* Duo has announced that support for the previous iframe-based Duo Prompt will [https://duo.com/docs/universal-prompt-update-guide end on March 30, 2024]. Duo's support teams will no longer be able to troubleshoot issues with the previous Duo Prompt after this date. &lt;br /&gt;
* After you upgrade to WHMCS 8.9 or later, we '''strongly''' recommend activating [https://guide.duo.com/universal-prompt Duo Universal Prompt] in your Duo customer portal to ensure continued functionality. If you do not do this, your customers may experience problems.&lt;br /&gt;
* You will require a Duo Security account with an account level of '''Duo MFA''' or higher in order to access the Duo API. [https://go.whmcs.com/918/duo-security-signup Click here to sign up].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuring Duo Security ==&lt;br /&gt;
&lt;br /&gt;
Before you can configure Duo Security globally in WHMCS, you must perform additional steps to retrieve your Duo credentials.&lt;br /&gt;
&lt;br /&gt;
To configure Duo Security in WHMCS:&lt;br /&gt;
&lt;br /&gt;
# Log in to [https://admin.duosecurity.com/ your Duo Security account].&lt;br /&gt;
# Click '''Applications''' in the left sidebar.&lt;br /&gt;
# Click '''Protect an Application'''.&lt;br /&gt;
#* For WHMCS 8.9 and later, under '''Web SDK''', click '''Protect this Application'''.&lt;br /&gt;
#* For WHMCS 8.8 and earlier, under '''Auth API''', click '''Protect this Application'''.&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;If you don't see this option, contact Duo support.&amp;lt;/div&amp;gt;&lt;br /&gt;
# Retrieve the following values:  [[File:duo-configuration.png|thumb|Duo Universal Prompt credentials (WHMCS 8.9 and later)]]&lt;br /&gt;
#* For WHMCS 8.9 and later, retrieve the '''Client ID''', '''Client Secret''', and '''API hostname''' values.&lt;br /&gt;
#* For WHMCS 8.8 and earlier, retrieve the '''Integration Key''', '''Secret Key''', and '''API hostname''' values.&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; [[Two Factor Authentication]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Staff Management &amp;gt; Two-Factor Authentication'''.&lt;br /&gt;
# Click '''Activate''' for '''Duo Security'''.&lt;br /&gt;
# To enable Duo Security as a two-factor option for staff, check '''Enable for Staff'''.&lt;br /&gt;
# To enable Duo Security for customers, check '''Enable for Clients'''.&lt;br /&gt;
# Enter the credentials and hostname that you retrieved from your Duo Security account.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
&lt;br /&gt;
== Enabling Duo Security as an Admin User ==&lt;br /&gt;
&lt;br /&gt;
To enable Duo Security for an admin:&lt;br /&gt;
&lt;br /&gt;
# Perform the steps above to configure Duo Security. &lt;br /&gt;
# Navigate to the '''My Account''' page within the WHMCS Admin Area. &lt;br /&gt;
# Click '''Enable Two-Factor Authentication'''.&lt;br /&gt;
# Follow the instructions to complete the setup process.&lt;br /&gt;
&lt;br /&gt;
== Enabling Duo Security as a Client ==&lt;br /&gt;
&lt;br /&gt;
To enable Duo Security as a client:&lt;br /&gt;
&lt;br /&gt;
# Log in to the WHMCS Client Area.&lt;br /&gt;
# Go to  '''Account &amp;gt; My Account &amp;gt; Security Settings''' or, prior to WHMCS 8.0, '''My Account &amp;gt; Security Settings'''.&lt;br /&gt;
# Click '''Enable Two-Factor Authentication'''.&lt;br /&gt;
# Follow the instructions to complete the setup process.&lt;br /&gt;
&lt;br /&gt;
On all future login attempts, the client will be asked to complete the Two-Factor Authentication process.&lt;br /&gt;
&lt;br /&gt;
==Using Existing Duo Accounts With WHMCS==&lt;br /&gt;
&lt;br /&gt;
The WHMCS Duo integration uses the following format for admins that it transmits to Duo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;source-cli&amp;quot;&amp;gt;&lt;br /&gt;
adminemailaddress:adminemailaddress:whmcslicensekey  &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can use existing Duo accounts or users to complete two-factor authentication into the Admin Area. To do this, use the alias function in Duo to create an alias for the admin. For more information, see Duo's [https://help.duo.com/s/article/aliases-guide?language=en_US Aliases Guide ] documentation.&lt;br /&gt;
&lt;br /&gt;
== Reactivating a user ==&lt;br /&gt;
 &lt;br /&gt;
When a user replaces or loses a two-factor device, they will need to reauthenticate DuoSecurity in order to enable the prompt. To achieve this, an admin will need to delete and restore the users from within the Duo dashboard. &lt;br /&gt;
 &lt;br /&gt;
For more information, see [https://duo.com/docs/administration-users#activating-duo-mobile Duo's documentation].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== The second factor you supplied was incorrect. Please try again ===&lt;br /&gt;
&lt;br /&gt;
Seeing this error when activating the DuoSecurity method for the first time indicates that the code does not match what DuoSecurity expects. This is caused by the time on your server not matching DuoSecurity's clocks.&lt;br /&gt;
&lt;br /&gt;
You can see the time in the top-right corner of your WHMCS Admin Area. WHMCS retrieves this directly from your server's PHP configuration and you must ensure that the server time is synced exactly with UTC. For example, if the server time is 00:01 and the time at DuoSecurity is 00:00, you will see this error. Syncing the server with [http://en.wikipedia.org/wiki/Network_Time_Protocol NTP] to verify the time will resolve this.&lt;br /&gt;
&lt;br /&gt;
Different timezones are taken into account, ensuring that these differences won't cause a problem.&lt;br /&gt;
&lt;br /&gt;
=== Invalid Integration ===&lt;br /&gt;
An Invalid Integration error is displayed on the Duo authentication screen when the keys/hostname used in Duo module  configuration are incorrect. Please reconfigure the module settings by [[#Configuring_Duo_Security|following the steps above]].&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=DuoSecurity&amp;diff=34462</id>
		<title>DuoSecurity</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=DuoSecurity&amp;diff=34462"/>
				<updated>2024-03-13T22:17:15Z</updated>
		
		<summary type="html">&lt;p&gt;John: /* Configuring Duo Security */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://docs.whmcs.com/Two-Factor_Authentication &amp;lt; Back to Two-Factor Authentication]&lt;br /&gt;
&lt;br /&gt;
Duo® Security increases security with [[Two Factor Authentication]] (2FA). 2FA using Duo Security combines traditional account credentials (like a username and password) with a code or other verification from a device like a smart phone. Requiring both to log in decreases the threat of a leaked password. &lt;br /&gt;
&lt;br /&gt;
Use of Duo Security is free for up to 10 accounts, and the Duo® Mobile app is available on all major smartphone platforms.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
In WHMCS 8.9 and later, our Duo Security integration uses [https://guide.duo.com/universal-prompt Duo Universal Prompt], which uses Duo Push by default. This pushes login or transaction details to your phone, allowing for immediate one-tap approval. If you already used Duo Security with the previous integration, you '''must''' log in to the Duo portal and upgrade your API credentials to use Duo Universal Prompt.&lt;br /&gt;
&lt;br /&gt;
* Duo has announced that support for the previous iframe-based Duo Prompt will [https://duo.com/docs/universal-prompt-update-guide end on March 30, 2024]. Duo Security will '''not''' function in WHMCS 8.8 and earlier after this date.&lt;br /&gt;
* After you upgrade to WHMCS 8.9 or later, we '''strongly''' recommend activating [https://guide.duo.com/universal-prompt Duo Universal Prompt] in your Duo customer portal to ensure continued functionality. If you do not do this, your customers may experience problems.&lt;br /&gt;
* You will require a Duo Security account with an account level of '''Duo MFA''' or higher in order to access the Duo API. [https://go.whmcs.com/918/duo-security-signup Click here to sign up].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuring Duo Security ==&lt;br /&gt;
&lt;br /&gt;
Before you can configure Duo Security globally in WHMCS, you must perform additional steps to retrieve your Duo credentials.&lt;br /&gt;
&lt;br /&gt;
To configure Duo Security in WHMCS:&lt;br /&gt;
&lt;br /&gt;
# Log in to [https://admin.duosecurity.com/ your Duo Security account].&lt;br /&gt;
# Click '''Applications''' in the left sidebar.&lt;br /&gt;
# Click '''Protect an Application'''.&lt;br /&gt;
#* For WHMCS 8.9 and later, under '''Web SDK''', click '''Protect this Application'''.&lt;br /&gt;
#* For WHMCS 8.8 and earlier, under '''Auth API''', click '''Protect this Application'''.&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;If you don't see this option, contact Duo support.&amp;lt;/div&amp;gt;&lt;br /&gt;
# Retrieve the following values:  [[File:duo-configuration.png|thumb|Duo Universal Prompt credentials (WHMCS 8.9 and later)]]&lt;br /&gt;
#* For WHMCS 8.9 and later, retrieve the '''Client ID''', '''Client Secret''', and '''API hostname''' values.&lt;br /&gt;
#* For WHMCS 8.8 and earlier, retrieve the '''Integration Key''', '''Secret Key''', and '''API hostname''' values.&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; [[Two Factor Authentication]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Staff Management &amp;gt; Two-Factor Authentication'''.&lt;br /&gt;
# Click '''Activate''' for '''Duo Security'''.&lt;br /&gt;
# To enable Duo Security as a two-factor option for staff, check '''Enable for Staff'''.&lt;br /&gt;
# To enable Duo Security for customers, check '''Enable for Clients'''.&lt;br /&gt;
# Enter the credentials and hostname that you retrieved from your Duo Security account.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
&lt;br /&gt;
== Enabling Duo Security as an Admin User ==&lt;br /&gt;
&lt;br /&gt;
To enable Duo Security for an admin:&lt;br /&gt;
&lt;br /&gt;
# Perform the steps above to configure Duo Security. &lt;br /&gt;
# Navigate to the '''My Account''' page within the WHMCS Admin Area. &lt;br /&gt;
# Click '''Enable Two-Factor Authentication'''.&lt;br /&gt;
# Follow the instructions to complete the setup process.&lt;br /&gt;
&lt;br /&gt;
== Enabling Duo Security as a Client ==&lt;br /&gt;
&lt;br /&gt;
To enable Duo Security as a client:&lt;br /&gt;
&lt;br /&gt;
# Log in to the WHMCS Client Area.&lt;br /&gt;
# Go to  '''Account &amp;gt; My Account &amp;gt; Security Settings''' or, prior to WHMCS 8.0, '''My Account &amp;gt; Security Settings'''.&lt;br /&gt;
# Click '''Enable Two-Factor Authentication'''.&lt;br /&gt;
# Follow the instructions to complete the setup process.&lt;br /&gt;
&lt;br /&gt;
On all future login attempts, the client will be asked to complete the Two-Factor Authentication process.&lt;br /&gt;
&lt;br /&gt;
==Using Existing Duo Accounts With WHMCS==&lt;br /&gt;
&lt;br /&gt;
The WHMCS Duo integration uses the following format for admins that it transmits to Duo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;source-cli&amp;quot;&amp;gt;&lt;br /&gt;
adminemailaddress:adminemailaddress:whmcslicensekey  &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can use existing Duo accounts or users to complete two-factor authentication into the Admin Area. To do this, use the alias function in Duo to create an alias for the admin. For more information, see Duo's [https://help.duo.com/s/article/aliases-guide?language=en_US Aliases Guide ] documentation.&lt;br /&gt;
&lt;br /&gt;
== Reactivating a user ==&lt;br /&gt;
 &lt;br /&gt;
When a user replaces or loses a two-factor device, they will need to reauthenticate DuoSecurity in order to enable the prompt. To achieve this, an admin will need to delete and restore the users from within the Duo dashboard. &lt;br /&gt;
 &lt;br /&gt;
For more information, see [https://duo.com/docs/administration-users#activating-duo-mobile Duo's documentation].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== The second factor you supplied was incorrect. Please try again ===&lt;br /&gt;
&lt;br /&gt;
Seeing this error when activating the DuoSecurity method for the first time indicates that the code does not match what DuoSecurity expects. This is caused by the time on your server not matching DuoSecurity's clocks.&lt;br /&gt;
&lt;br /&gt;
You can see the time in the top-right corner of your WHMCS Admin Area. WHMCS retrieves this directly from your server's PHP configuration and you must ensure that the server time is synced exactly with UTC. For example, if the server time is 00:01 and the time at DuoSecurity is 00:00, you will see this error. Syncing the server with [http://en.wikipedia.org/wiki/Network_Time_Protocol NTP] to verify the time will resolve this.&lt;br /&gt;
&lt;br /&gt;
Different timezones are taken into account, ensuring that these differences won't cause a problem.&lt;br /&gt;
&lt;br /&gt;
=== Invalid Integration ===&lt;br /&gt;
An Invalid Integration error is displayed on the Duo authentication screen when the keys/hostname used in Duo module  configuration are incorrect. Please reconfigure the module settings by [[#Configuring_Duo_Security|following the steps above]].&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Version_8.9_Release_Notes&amp;diff=34461</id>
		<title>Version 8.9 Release Notes</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Version_8.9_Release_Notes&amp;diff=34461"/>
				<updated>2024-03-12T16:25:47Z</updated>
		
		<summary type="html">&lt;p&gt;John: Added th to date&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot; style=&amp;quot;max-width:370px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Release Information&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Version: 8.9.0&amp;lt;br /&amp;gt;&lt;br /&gt;
Release Type: General Availability&amp;lt;br /&amp;gt;&lt;br /&gt;
Latest Update: 6th March 2024&amp;lt;br /&amp;gt;&lt;br /&gt;
Distribution Types: Full and Via Automatic Updater&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 more information on WHMCS 8.9's important changes and exciting features, see [[New and Improved in WHMCS 8.9]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
==Version History==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;onlyinclude&amp;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;&amp;lt;td&amp;gt;8.9.0&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Beta&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;6th December 2023&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;8.9.0&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Release Candidate&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;7th February 2024&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;8.9.0&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;General Availability&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;6th March 2024&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==Download==&lt;br /&gt;
 &lt;br /&gt;
Download the latest version of WHMCS from https://download.whmcs.com/&lt;br /&gt;
 &lt;br /&gt;
==Upgrade Process==&lt;br /&gt;
  &lt;br /&gt;
WHMCS 8.0 and above requires PHP 7.2 or later. WHMCS 8.0 introduced support for PHP 7.4, and WHMCS 8.6 introduced support for PHP 8.1.&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 update to a WHMCS version that supports your desired PHP version or higher '''before''' updating PHP.&lt;br /&gt;
* The [[Automatic Updater]] only displays updates if you are running a PHP version that is compatible with that WHMCS version.&lt;br /&gt;
* For example, if you are running PHP 7.1 or earlier, you must update to PHP 7.2 or later before updating to WHMCS 8.0 or higher.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
     &lt;br /&gt;
[[Upgrading|Upgrade Instructions]]&lt;br /&gt;
    &lt;br /&gt;
===Automatic Updating===&lt;br /&gt;
    &lt;br /&gt;
If you are running WHMCS 7.0 or later, you can use the built-in [[Automatic Updater]].&lt;br /&gt;
      &lt;br /&gt;
Go to '''Utilities &amp;gt; Update WHMCS''' to begin the process.&lt;br /&gt;
      &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
If the update was released recently, you may need to click '''Check for Updates''' before the update will be available.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
== Release Notes ==&lt;br /&gt;
 &lt;br /&gt;
=== New PayPal® Payment Gateways ===&lt;br /&gt;
   &lt;br /&gt;
The new '''PayPal Payments''' payment gateway module allows merchants to process and store payment methods using PayPal's latest secure tokenization system, including the advanced security of merchant-level vaulting with PayPal Vault for supported merchants.&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
Currently, PayPal supports vaulting for merchants in:&lt;br /&gt;
* The United States&lt;br /&gt;
* Canada&lt;br /&gt;
* The United Kingdom&lt;br /&gt;
* Australia&lt;br /&gt;
* The following EU countries: Belgium, Bulgaria, The Republic of Cyprus, Czech Republic, Germany, Denmark, Estonia, Spain, Finland, France, Greece, Hungary, Italy, Lithuania, Luxembourg, Latvia, Malta, Netherland, Poland, Portugal, Romania, Sweden, Slovenia, and Slovakia.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
When you use '''PayPal Payments''', clients can make one-click payments using PayPal during checkout and on invoices.&lt;br /&gt;
   &lt;br /&gt;
When you activate '''PayPal Payments''', it also activates the '''[[PayPal Card Payments]]''' module. This module augments '''PayPal Payments''', allowing you to display a separate unbranded option to accept credit and debit cards during checkout. Both modules use the '''PayPal Payments''' configured PayPal account information for a seamless experience.&lt;br /&gt;
   &lt;br /&gt;
You can enable the new '''PayPal Payments''' module 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; [[Apps and Integrations|Apps &amp;amp; Integrations]]'''. For more information, see [https://help.whmcs.com/m/payments/l/1782848-start-using-paypal-payments Start Using PayPal Payments].&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;If you enabled these modules while using the Beta release of WHMCS 8.9, you '''must''' reactivate them before using them with WHMCS 8.9 Release Candidate or later. If you do not do this, you may experience problems with some payment methods.&amp;lt;/div&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
[[PayPal|Learn More]]&lt;br /&gt;
 &lt;br /&gt;
=== Transactions List ===&lt;br /&gt;
 &lt;br /&gt;
We have updated the displayed transaction details at '''Billing &amp;gt; [[Transactions|Transactions List]]''' to include additional information and currency codes for some amounts.&lt;br /&gt;
&lt;br /&gt;
=== On-Demand Renewals ===  &lt;br /&gt;
 &lt;br /&gt;
On-Demand Renewals now allow early renewals for product addons. When you enable on-demand renewals, clients can renew services in the Client Area before WHMCS generates their next invoice, with no manual action from your staff.&lt;br /&gt;
 &lt;br /&gt;
* You can configure on-demand renewals globally in the '''[[Ordering_Tab|Ordering]]''' 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'''.&lt;br /&gt;
* You can configure on-demand renewals for individual product addons in the '''Pricing''' 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; [[Product Addons]]'''.&lt;br /&gt;
 &lt;br /&gt;
[[On-Demand Renewals|Learn More]]&lt;br /&gt;
 &lt;br /&gt;
==== On-Demand Renewal Product Settings ====&lt;br /&gt;
 &lt;br /&gt;
We have moved the product-specific '''On-Demand Renewals''' settings 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]]''' from the '''Other''' tab to the '''Pricing''' tab.  &lt;br /&gt;
 &lt;br /&gt;
[https://help.whmcs.com/m/payments/l/1706772-configuring-on-demand-renewals Learn More]&lt;br /&gt;
&lt;br /&gt;
=== Separated Invoice Viewing and Management ===&lt;br /&gt;
 &lt;br /&gt;
Invoices in the WHMCS Admin Area now default to a view-only mode. This prevents accidental editing while viewing an invoice and gives admins more fine-grained control over staff permissions.&lt;br /&gt;
 &lt;br /&gt;
* This change affects invoices at '''Billing &amp;gt; [[Invoices]]''' and in a client's profile's '''[[Clients:Invoices_Tab|Invoices]]''' tab.&lt;br /&gt;
* Admins can still add payments, resend emails, and perform certain other tasks in view-only mode if they have the related permissions for those tasks.&lt;br /&gt;
 &lt;br /&gt;
A new ''View Invoice'' permission 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]]''' grants admins the ability to view, but not alter, existing invoices. Admins who already had the ''Manage Invoices'' permission will continue to be able to edit invoices by clicking '''Manage Invoice''' while viewing an invoice.&lt;br /&gt;
 &lt;br /&gt;
[[Invoices|Learn More]]&lt;br /&gt;
&lt;br /&gt;
=== Duo® Universal Prompt ===&lt;br /&gt;
 &lt;br /&gt;
We have updated our integration with Duo Security to use the new [https://guide.duo.com/universal-prompt|Universal Prompt] login process. This change replaces the previous iframe-based experience and implements a simplified interface that continues to support Duo's wide range of Two-Factor Authentication options.  &lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
Duo has announced that support for the previous iframe-based Duo Prompt will [https://duo.com/docs/universal-prompt-update-guide end on March 30, 2024].&lt;br /&gt;
 &lt;br /&gt;
* Duo Security will '''not''' function in WHMCS 8.8 and earlier after this date.&lt;br /&gt;
* After you upgrade to WHMCS 8.9 or later, we '''strongly''' recommend activating [https://guide.duo.com/universal-prompt Duo Universal Prompt] in your Duo customer portal to ensure continued functionality. If you do not do this, your customers may experience problems.&lt;br /&gt;
&amp;lt;/div&amp;gt;  &lt;br /&gt;
 &lt;br /&gt;
[[Duo Security|Learn More]]&lt;br /&gt;
&lt;br /&gt;
=== Show on Order Form State ===&lt;br /&gt;
 &lt;br /&gt;
Payment gateway modules now support a &amp;lt;tt&amp;gt;VisibleDefault&amp;lt;/tt&amp;gt; metadata parameter that defines the default '''Show on Order Form''' setting. This parameter defaults to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; for all payment gateway modules.&lt;br /&gt;
 &lt;br /&gt;
[https://developers.whmcs.com/payment-gateways/meta-data-params/ Learn More]&lt;br /&gt;
 &lt;br /&gt;
=== Improved Invoice ID Incrementation ===&lt;br /&gt;
 &lt;br /&gt;
To improve how WHMCS handles incrementing invoice ID numbers, we have updated the following settings in the '''[[Invoice_Tab|Invoices]]''' 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''':&lt;br /&gt;
 &lt;br /&gt;
* '''Invoice # Incrementation''' now has a maximum value of &amp;lt;tt&amp;gt;999&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* '''Invoice Starting #''' now has a maximum value of &amp;lt;tt&amp;gt;499,999,999&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* The maximum invoice ID number that the system can generate has increased from &amp;lt;tt&amp;gt;2,147,483,647&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;4,294,967,295&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Improved Apps &amp;amp; Integrations Experience ===&lt;br /&gt;
 &lt;br /&gt;
We have optimized page performance 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; [[Apps_and_Integrations|Apps &amp;amp; Integrations]]''', allowing you to search for modules faster.&lt;br /&gt;
 &lt;br /&gt;
=== Stripe™ Module API Updates ===&lt;br /&gt;
 &lt;br /&gt;
We have updated the [[Stripe]], [[Stripe ACH]], and [[Stripe SEPA]] modules. We have updated the Stripe PHP Library and implemented other module improvements.&lt;br /&gt;
 &lt;br /&gt;
Additionally, '''Stripe ACH''' and '''Stripe SEPA''' now use Stripe's &amp;lt;tt&amp;gt;PaymentIntents&amp;lt;/tt&amp;gt; API instead of the now-deprecated Stripe API. Patches will be available soon for installations that run WHMCS 8.5, 8.6, 8.7, or 8.8.&lt;br /&gt;
 &lt;br /&gt;
[[Stripe|Learn More]]&lt;br /&gt;
&lt;br /&gt;
=== Enhanced Domain Pricing Validation ===&lt;br /&gt;
 &lt;br /&gt;
The system now validates your PHP configuration's &amp;lt;tt&amp;gt;max_input_vars&amp;lt;/tt&amp;gt; setting before saving changes 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]]'''. This helps to prevent MySQL® errors and other issues that low &amp;lt;tt&amp;gt;max_input_vars&amp;lt;/tt&amp;gt; values may cause.&lt;br /&gt;
 &lt;br /&gt;
[https://go.whmcs.com/1809/PHP-max-input-vars-Setting-Errors Learn More]&lt;br /&gt;
&lt;br /&gt;
=== Blesta 5 Support in ImportAssist ===&lt;br /&gt;
&lt;br /&gt;
The [[ImportAssist]] addon module now supports importing data from Blesta 5. This is a direct change to the '''ImportAssist''' module and is not specific to WHMCS 8.9.&lt;br /&gt;
&lt;br /&gt;
[[ImportAssist|Learn More]]&lt;br /&gt;
&lt;br /&gt;
== Deprecation and Removal Notices ==&lt;br /&gt;
&lt;br /&gt;
=== Plaid Settings in Stripe ACH Module ===&lt;br /&gt;
 &lt;br /&gt;
We have removed support for Plaid from the [[Stripe ACH]] payment gateway module. This includes removing the '''Plaid Client Id''', '''Plaid Secret''', and '''Plaid Environment''' settings from the module's configuration.&lt;br /&gt;
  &lt;br /&gt;
== Templates ==&lt;br /&gt;
    &lt;br /&gt;
For a list of changed files and a graphical view of the exact changes, see the GitHub™ repositories below.&lt;br /&gt;
    &lt;br /&gt;
===Twenty-One Theme===&lt;br /&gt;
    &lt;br /&gt;
The following link provides a comparison of changes between 8.8.0 and 8.9.0:&lt;br /&gt;
    &lt;br /&gt;
https://github.com/WHMCS/templates-twenty-one/compare/v8.8.0-release.1...v8.9.0-release.1&lt;br /&gt;
 &lt;br /&gt;
=== Six Theme ===&lt;br /&gt;
             &lt;br /&gt;
The following link provides a comparison of changes between 8.8.0 and 8.9.0:&lt;br /&gt;
    &lt;br /&gt;
https://github.com/WHMCS/templates-six/compare/v8.8.0-release.1...v8.9.0-release.1&lt;br /&gt;
 &lt;br /&gt;
=== Standard Cart Order Form ===&lt;br /&gt;
             &lt;br /&gt;
The following link provides a comparison of changes between 8.8.0 and 8.9.0:&lt;br /&gt;
    &lt;br /&gt;
https://github.com/WHMCS/orderforms-standard_cart/compare/v8.8.0-release.1...v8.9.0-release.1&lt;br /&gt;
 &lt;br /&gt;
== Changelog ==&lt;br /&gt;
  &lt;br /&gt;
* [[Changelog:WHMCS_V8.9.0_Beta_1|Version 8.9.0 Beta 1]]&lt;br /&gt;
* [[Changelog:WHMCS_V8.9.0_RC_1|Version 8.9.0 RC 1]]&lt;br /&gt;
* [[Changelog:WHMCS_V8.9.0_GA|Version 8.9.0 GA 1]]&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Billing_Logic&amp;diff=34360</id>
		<title>Billing Logic</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Billing_Logic&amp;diff=34360"/>
				<updated>2024-02-06T11:36:20Z</updated>
		
		<summary type="html">&lt;p&gt;John: /* Renewal Invoices */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Billing and invoicing are two of the most important tasks that WHMCS can automate for you. It is important to understand these systems as you configure them so that you can make the best available choices.&lt;br /&gt;
&lt;br /&gt;
==Ordering==&lt;br /&gt;
&lt;br /&gt;
When a new visitor places an order, the system creates several new records, which contain the various pieces of information on the order form:&lt;br /&gt;
&lt;br /&gt;
* A client record, which stores the customer's contact details and payment preferences.&lt;br /&gt;
* The service and domain record(s), which contain the details of the service the client selected on the order form.&lt;br /&gt;
* An invoice record, which records the amount to pay, when it is due, and how to make payment.&lt;br /&gt;
* An order record, which ties all of the above together and records the fraud report details (if you enable them). The order is a static record which reflects the prices and items at the time of ordering. The order won't reflect subsequent changes.&lt;br /&gt;
&lt;br /&gt;
==Invoicing==&lt;br /&gt;
&lt;br /&gt;
===Initial Invoice===&lt;br /&gt;
&lt;br /&gt;
When an initial order creates an invoice, the default behavior is that the invoice is due on the day of ordering. The exception to this is when you use the '''[[Ordering_Tab#Order_Days_Grace|Order Grace Days]]''' setting, in which case the system will set the invoice due date &amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt; days into the future.&lt;br /&gt;
&lt;br /&gt;
Upon payment of the initial invoice, the system checks the associated products to determine whether to take action automatically, based on the configuration in the '''[[Products_and_Services|Module Settings]]''' 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;
&lt;br /&gt;
The system then increments the service's Next Due Date value forward one billing cycle (for example, 1 month, 3 months, 6 months, 1 year, 2 years, or 3 years).&lt;br /&gt;
&lt;br /&gt;
===Renewal Invoices===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
In WHMCS 8.8 and later, you can enable and configure on-demand renewals to allow customers to renew services early, before invoice generation, from within the Client Area. For more information, see [[On-Demand Renewals]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Next Due Date of the service determines the date at which the next payment is due. When the cron job executes the daily automation tasks, the system:&lt;br /&gt;
&lt;br /&gt;
* Analyzes the '''Next Due Date''' of all ''Active'' and ''Suspended'' services.&lt;br /&gt;
* Analyzes the '''Next Due Date''' value for all ''Active'' and ''Pending'' domains for which '''Do Not Renew''' is ''Off''. &lt;br /&gt;
* Determines whether the date is equal to or less than the number of days in the future, based on the Invoice Generation setting.&lt;br /&gt;
* Ensures no invoice item exists for the service on the next due date.&lt;br /&gt;
* Generates a new invoice if the system evaluates the above points as true.&lt;br /&gt;
* Triggers the [https://developers.whmcs.com/hooks-reference/invoices-and-quotes/#invoicecreation InvoiceCreation] Action Hook point.&lt;br /&gt;
* Triggers the [https://developers.whmcs.com/hooks-reference/invoices-and-quotes/#invoicecreationpreemail InvoiceCreationPreEmail] Action Hook point.&lt;br /&gt;
* Sends the Invoice Created email to the client.&lt;br /&gt;
* Triggers the [https://developers.whmcs.com/hooks-reference/invoices-and-quotes/#invoicecreated InvoiceCreated] Action Hook point.&lt;br /&gt;
* Increments the Next Invoice Date of the service by one billing cycle.&lt;br /&gt;
&lt;br /&gt;
In this way, WHMCS will never generate two invoices for a given product, service, or domain with the same due date, even if you have cancelled or deleted the original invoice.&lt;br /&gt;
&lt;br /&gt;
As the Next Due Date is incremented forward based upon the previous value, this means paying an invoice after the due date will not change the client's renewal date to reflect the date of payment. A service always invoices for a contiguous period without gaps. This prevents a situation in which a customer might hope to avoid paying for a service by intentionally paying late.&lt;br /&gt;
&lt;br /&gt;
===Continuous Invoice Generation===&lt;br /&gt;
&lt;br /&gt;
When you enable the '''[[Invoicing_Setup#Continuous_Invoice_Generation|Continuous Invoice Generation]]''' option in the '''[[Invoice Tab|Invoice]]''' 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 alters the invoice generation logic so that the system creates renewal invoices even if the previous one is unpaid.&lt;br /&gt;
&lt;br /&gt;
Checking a hidden field in the service record, Next Invoice Date, enables this. The Next Invoice Date field maintains a separate record of the due date for next invoice to generate. The Next Due Date value determines the next invoice to be paid.&lt;br /&gt;
&lt;br /&gt;
In this mode, when the cron job executes the daily automation tasks, it:&lt;br /&gt;
* Analyzes the Next Invoice Date of all Active, Pending and Suspended services.&lt;br /&gt;
* Determines whether the date is equal to or less than the number of days in the future, based on the Invoice Generation setting.&lt;br /&gt;
* Ensures no invoice item exists for the service on the next invoice date.&lt;br /&gt;
* Generates a new invoice if the system evaluates the above points as true.&lt;br /&gt;
* Triggers the [https://developers.whmcs.com/hooks-reference/invoices-and-quotes/#invoicecreation InvoiceCreation] Action Hook point.&lt;br /&gt;
* Triggers the [https://developers.whmcs.com/hooks-reference/invoices-and-quotes/#invoicecreationpreemail InvoiceCreationPreEmail] Action Hook point.&lt;br /&gt;
* Sends the Invoice Created email to the client.&lt;br /&gt;
* Triggers the [https://developers.whmcs.com/hooks-reference/invoices-and-quotes/#invoicecreated InvoiceCreated] Action Hook point.&lt;br /&gt;
* Increments the Next Invoice Date of the service by one billing cycle.&lt;br /&gt;
&lt;br /&gt;
In this way, WHMCS maintains a separate record of which invoice to generate and which payment is due.&lt;br /&gt;
&lt;br /&gt;
==Payments==&lt;br /&gt;
&lt;br /&gt;
A transaction that fully pays the balance on an invoice, reducing it to &amp;lt;tt&amp;gt;0.00&amp;lt;/tt&amp;gt; and marking it paid, triggers automation on payment. This means that editing an invoice and changing the status to ''Paid'' will ''not'' trigger automation. &lt;br /&gt;
&lt;br /&gt;
Upon adding payment to an invoice for a product, service, or domain, the system:&lt;br /&gt;
&lt;br /&gt;
* Enters a transaction into the database.&lt;br /&gt;
* Triggers the [https://developers.whmcs.com/hooks-reference/invoices-and-quotes/#addtransaction AddTransaction] Action Hook point.&lt;br /&gt;
* Subtracts the transaction amount from the invoice balance.&lt;br /&gt;
* Marks the invoice as paid if the invoice balance is now 0.&lt;br /&gt;
* Changes the invoice status to Paid.&lt;br /&gt;
* Triggers the [https://developers.whmcs.com/hooks-reference/invoices-and-quotes/#invoicepaidpreemail InvoicePaidPreEmail] Action Hook point.&lt;br /&gt;
* Sends a payment confirmation email to the client.&lt;br /&gt;
* Increments the Next Due Date of the associated service or domain by one billing cycle.&lt;br /&gt;
* Triggers the [https://developers.whmcs.com/hooks-reference/invoices-and-quotes/#invoicepaid InvoicePaid] Action Hook point.&lt;br /&gt;
&lt;br /&gt;
===Overpayments===&lt;br /&gt;
 &lt;br /&gt;
If a transaction includes an amount greater than the balance of the invoice, the system:&lt;br /&gt;
 &lt;br /&gt;
* Records the entire transaction against the invoice, making the balance negative.&lt;br /&gt;
* Marks the invoice as paid.&lt;br /&gt;
* Credits the difference between the balance and the transaction amount to the client's account.&lt;br /&gt;
* Changes the credit description format to ''Invoice # Overpayment''.&lt;br /&gt;
 &lt;br /&gt;
Sometimes, fixed payments services (like [[2CheckOut]] and some [[PayPal]]® recurring payments) can send a payment when no payment is due.&lt;br /&gt;
 &lt;br /&gt;
In these situations, the system:&lt;br /&gt;
 &lt;br /&gt;
* Records the entire transaction against the invoice that originally created the billing agreement, making the balance negative.&lt;br /&gt;
* Credits the full transaction amount to the client's account.&lt;br /&gt;
* Changes the credit description format to ''Invoice # Overpayment''.&lt;br /&gt;
&lt;br /&gt;
===Refunds===&lt;br /&gt;
 &lt;br /&gt;
You can issue refunds on transactions for invoices via the '''Refunds''' tab. &lt;br /&gt;
&lt;br /&gt;
When a you initiate a refund, the system:&lt;br /&gt;
 &lt;br /&gt;
* Performs the selected refund action, which could be either of the following actions:&lt;br /&gt;
** It sends a refund command to the payment gateway if it supports it.&lt;br /&gt;
** It adds a credit to the client's account with the description ''Credit from Refund of Invoice ID #''.&lt;br /&gt;
* Records a negative transaction against the invoice.&lt;br /&gt;
* Triggers the [https://developers.whmcs.com/hooks-reference/invoices-and-quotes/#addtransaction AddTransaction Action Hook] point.&lt;br /&gt;
* Increases the invoice's balance by the refunded amount.&lt;br /&gt;
* Changes the invoice's status to Refunded if system refunded the full balance.&lt;br /&gt;
* Triggers the [https://developers.whmcs.com/hooks-reference/invoices-and-quotes/#invoicerefunded InvoiceRefunded] Action Hook point.&lt;br /&gt;
* Sends the Invoice Refund Confirmation email to the client.&lt;br /&gt;
 &lt;br /&gt;
If the refunded transaction resulted in a credit to the client's account, you must choose how to handle the credit:&lt;br /&gt;
&lt;br /&gt;
* Remove the refunded amount from the credit balance.&lt;br /&gt;
* Do not change the credit.&lt;br /&gt;
 &lt;br /&gt;
===Payment Reversals===&lt;br /&gt;
 &lt;br /&gt;
When you issue a [[#Refunds|refund]], you have the option to reverse the payment. This is useful when you want to reverse the automated actions that the payment triggered, typically due to a [[Disputes|dispute]].&lt;br /&gt;
 &lt;br /&gt;
The actions that the system takes when reversing a payment are context sensitive and depend on your payment reversal settings. For more information, see [[Payment Reversals]].&lt;br /&gt;
 &lt;br /&gt;
===Affiliate Commission Reversals===  &lt;br /&gt;
 &lt;br /&gt;
When you issue a [[#Refunds|refund]], you can also reverse any affiliate commissions. This helps you ensure that you do not pay commissions to affiliates unless you also received payment for the transaction.&lt;br /&gt;
 &lt;br /&gt;
When you refund a transaction, one of the following scenarios will occur:&lt;br /&gt;
  &lt;br /&gt;
* If you are giving a full refund, WHMCS will perform the reversal automatically.&lt;br /&gt;
* If you are giving a partial refund, you can choose whether to perform the reversal.&lt;br /&gt;
 &lt;br /&gt;
For more information on affiliate commission reversals and delays, see [[Affiliates]].&lt;br /&gt;
&lt;br /&gt;
===Billing Cycles===&lt;br /&gt;
&lt;br /&gt;
A billing cycle is a calendar period, so &amp;quot;1 month&amp;quot; is not a consistent period of days. When you agree to bill by the month, you are charging the same amount of money for different amounts of service. WHMCS uses the PHP date function's computation to determine the next due date. It adds a month and returns the date, which becomes the Next Due Date.&lt;br /&gt;
&lt;br /&gt;
The following billing cycles are available for products or services and product addons:&lt;br /&gt;
&lt;br /&gt;
* One Time&lt;br /&gt;
* Monthly&lt;br /&gt;
* Quarterly&lt;br /&gt;
* Semi-Annually&lt;br /&gt;
* Annually&lt;br /&gt;
* Biennially&lt;br /&gt;
* Triennially&lt;br /&gt;
&lt;br /&gt;
====February====&lt;br /&gt;
&lt;br /&gt;
The shorter length of February can cause some unique behaviour that does not happen for the other 11 months of a year:&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;'''Order Date'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;'''Renewal Date'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;'''Number of Days'''&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;January 29&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;March 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;31 days&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;January 30 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;March 2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;31 days&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;January 31&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;March 3&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;31 days&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;February 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;March 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;28 days&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;February 2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;March 2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;28 days&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;February 3&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;March 3&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;28 days&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;
==Suspension==&lt;br /&gt;
&lt;br /&gt;
The Next Due Date for the service controls the date of service suspension. When the cron job executes the daily automation tasks, the system:&lt;br /&gt;
&lt;br /&gt;
* Analyzes the Next Due Date of all Active and Pending services.&lt;br /&gt;
* Determines whether the date is equal to or less than the number of days in the future in the Suspension Days setting.&lt;br /&gt;
* Determines whether Automated Suspension is enabled in [[Automation Settings]].&lt;br /&gt;
* Triggers the [https://developers.whmcs.com/hooks-reference/module/#premodulesuspend PreModuleSuspend] Action Hook point if the above items evaluate to true.&lt;br /&gt;
* Suspends the services.&lt;br /&gt;
* Applies a suspension reason of &amp;quot;Overdue on Payment&amp;quot; to the service.&lt;br /&gt;
* Triggers the [https://developers.whmcs.com/hooks-reference/module/#aftermodulesuspend AfterModuleSuspend] Action Hook point if the module returns a success response.&lt;br /&gt;
* Triggers the [https://developers.whmcs.com/hooks-reference/module/#aftermodulesuspendfailed AfterModuleSuspendFailed] Action Hook point If the module returns a failed response.&lt;br /&gt;
&lt;br /&gt;
==Unsuspension==&lt;br /&gt;
&lt;br /&gt;
When payment is made against an invoice for a service with the Suspended status, the system can automatically unsuspend the service. &lt;br /&gt;
&lt;br /&gt;
In addition to the actions in the [[#Payments|Payments]] section, the system:&lt;br /&gt;
&lt;br /&gt;
* Analyzes the invoices associated with a service in Suspended status and a Suspension Reason matching &amp;quot;Overdue on Payment&amp;quot;.&lt;br /&gt;
* Asserts the Enable Unsuspension option is enabled in [[Automation Settings]].&lt;br /&gt;
* Triggers the [https://developers.whmcs.com/hooks-reference/module/#premoduleunsuspend PreModuleUnsuspend] Action Hook point if the points above evaluate to true.&lt;br /&gt;
* Unsuspends the service.&lt;br /&gt;
* Triggers the [https://developers.whmcs.com/hooks-reference/module/#aftermoduleunsuspend  AfterModuleUnsuspend] Action Hook point if the module returns a success response.&lt;br /&gt;
* Triggers the [https://developers.whmcs.com/hooks-reference/module/#aftermoduleunsuspendfailed AfterModuleUnsuspendFailed] Action Hook point if the module returns a failed response.&lt;br /&gt;
&lt;br /&gt;
===Continuous Invoice Generation===&lt;br /&gt;
&lt;br /&gt;
When you use it in conjunction with [[Invoicing_Setup#Continuous_Invoice_Generation|continuous invoice generation]], paying a recent invoice while leaving an older invoice unpaid will keep the service suspended. The exception is if the payment were to increment the Next Due Date forward to a date at which the service was no longer within the Suspension date range. In that case, the service would be unsuspended.&lt;br /&gt;
&lt;br /&gt;
==Termination==&lt;br /&gt;
&lt;br /&gt;
The Next Due Date of the service controls the date when the system terminates services. When the cron job executes the daily automation tasks, the system:&lt;br /&gt;
&lt;br /&gt;
* Analyzes the Next Due Date of all Active, Suspended and Pending services.&lt;br /&gt;
* Determines whether the date is equal to or less than the number of days in the future for the Termination Days setting.&lt;br /&gt;
* Determines whether you enabled Automated Termination in [[Automation Settings]].&lt;br /&gt;
* Triggers the [https://developers.whmcs.com/hooks-reference/module/#premoduleterminate PreModuleTerminate] Action Hook point if the above points evaluate to true.&lt;br /&gt;
* Terminates the services.&lt;br /&gt;
* Triggers the [https://developers.whmcs.com/hooks-reference/module/#aftermoduleterminate AfterModuleTerminate] Action Hook point if the module returns a success response.&lt;br /&gt;
* Triggers the [https://developers.whmcs.com/hooks-reference/module/#aftermoduleterminatefailed AfterModuleTerminateFailed] Action Hook point if the module returns a failure response.&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Stripe&amp;diff=34359</id>
		<title>Stripe</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Stripe&amp;diff=34359"/>
				<updated>2024-01-31T12:31:49Z</updated>
		
		<summary type="html">&lt;p&gt;John: /* You passed an empty string for 'statement_descriptor' */&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;
For other Stripe options, see [[Stripe ACH]] and [[Stripe SEPA]]. &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;
== 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 and PayPal® Checkout 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;
=== 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>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Stripe&amp;diff=34358</id>
		<title>Stripe</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Stripe&amp;diff=34358"/>
				<updated>2024-01-29T16:36:39Z</updated>
		
		<summary type="html">&lt;p&gt;John: /* WebHook Endpoints */&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;
For other Stripe options, see [[Stripe ACH]] and [[Stripe SEPA]]. &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;
== 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 and PayPal® Checkout 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;
=== 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 [[#Setup|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>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=GoCardless&amp;diff=34349</id>
		<title>GoCardless</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=GoCardless&amp;diff=34349"/>
				<updated>2024-01-08T17:41:05Z</updated>
		
		<summary type="html">&lt;p&gt;John: &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-success&amp;quot;&amp;gt;&lt;br /&gt;
We added this payment gateway in WHMCS 7.7.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://gocardless.com GoCardless] is a payment gateway which allows for direct debit payments to be automated electronically.&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;Important&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Due to GoCardless API restrictions, you must contact GoCardless support to enable the feature.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{gateways&lt;br /&gt;
| onetime = yes&lt;br /&gt;
| recurring = yes&lt;br /&gt;
| reversals = yes&lt;br /&gt;
}}&lt;br /&gt;
== Adding the GoCardless Payment Gateway ==&lt;br /&gt;
&lt;br /&gt;
To set up the GoCardless 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 '''GoCardless'''. A GoCardless login page will appear.&lt;br /&gt;
# Either sign up for a new account or log in to your existing account. The system will automatically configure GoCardless for you.&lt;br /&gt;
# Optionally, enter a custom name for the gateway for each of your supported currencies.&lt;br /&gt;
# Check '''Show on Order Form''' to display this payment method in the Client Area during checkout. &lt;br /&gt;
#In WHMCS 8.0 and later, enabling '''Charge Date Preference''' will allow the automation system to omit passing a &amp;lt;tt&amp;gt;charge_date&amp;lt;/tt&amp;gt; value to GoCardless when the automation system triggers a payment attempt. This results in GoCardless starting the transaction as soon as possible.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
&lt;br /&gt;
===Charge Date Preference===&lt;br /&gt;
&lt;br /&gt;
 '''Charge Date Preference''' will determine if WHMCS passes a transaction charge date to GoCardless advising when to initiate the payment.&lt;br /&gt;
&lt;br /&gt;
* Disabling the option will pass through either the '''Next Due Date''' from the service or the &amp;lt;tt&amp;gt;next_possible_charge_date&amp;lt;/tt&amp;gt; that GoCardless sets using the &amp;lt;tt&amp;gt;charge_date&amp;lt;/tt&amp;gt; function depending on which date is later.&lt;br /&gt;
&lt;br /&gt;
* If you enable the option, the system will not pass a &amp;lt;tt&amp;gt;charge_date&amp;lt;/tt&amp;gt; value to GoCardless and this will result in GoCardless beginning the payment process as soon as possible.  In both scenarios, the payment attempt call to GoCardless will not occur until an invoice meets the invoice and payment capture attempt criteria that you set 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]]'''.&lt;br /&gt;
&lt;br /&gt;
To process the payment prior to the '''Next Due Date''' date and according to the '''Process Days Before Due''' date 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]]''', enable this setting. If you do not, the system may attempt the payment on or after the '''Next Due Date''' date.&lt;br /&gt;
&lt;br /&gt;
=== Supported Currencies ===&lt;br /&gt;
&lt;br /&gt;
GoCardless only support the following currencies: &lt;br /&gt;
&lt;br /&gt;
* AUD&lt;br /&gt;
* CAD&lt;br /&gt;
* DKK&lt;br /&gt;
* EUR&lt;br /&gt;
* GBP&lt;br /&gt;
* NZD&lt;br /&gt;
* SEK&lt;br /&gt;
* USD &amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;We added support for USD in WHMCS 7.9.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Clients who do not use one of these currencies cannot make payments using GoCardless.&lt;br /&gt;
&lt;br /&gt;
=== Test Mode ===  &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;
==Payment Workflow==&lt;br /&gt;
&lt;br /&gt;
When the first payment is made, a mandate is set up with the client's bank. This typically takes a few days, so the invoice will change from '''Unpaid''' to '''Payment Pending''' status. At this point, you can view the mandate details and expected payment completion date by viewing the invoice. As soon as the mandate is set up and the first payment has cleared, the invoice's status will change to '''Paid''' and the service will be provisioned by WHMCS automatically.&lt;br /&gt;
&lt;br /&gt;
When the renewal invoice is generated for a recurring service, a capture attempt will be made against the mandate in accordance with '''Process Days Before Due''' 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'''. As it can take a few days for the payment to complete, we recommend a setting of '''3'''. This way, 3 days before the invoice '''Due Date''', the payment process will be initiated by the cron and the invoice status updated from '''Unpaid''' to '''Payment Pending'''. Payment should then complete on the invoice '''Due Date''' and the invoice will be marked '''Paid''' once the payment has cleared.&lt;br /&gt;
&lt;br /&gt;
After you create a mandate, WHMCS can process renewal payments for any other services associated with the client, as long as they also use the GoCardless gateway.&lt;br /&gt;
&lt;br /&gt;
The system redirects clients to GoCardless to enter their bank details when setting up a mandate. Then, GoCardless returns them to WHMCS after the setup is complete. The system submits personal bank information directly to GoCardless and never stores it in your local WHMCS installation.&lt;br /&gt;
&lt;br /&gt;
==Reversed Payments==&lt;br /&gt;
&lt;br /&gt;
The Direct Debit Guarantee scheme allows the payee to file a claim for any payment taken in error. WHMCS will monitor for ''charged_back'' events from GoCardless and will automatically process these as appropriate.&lt;br /&gt;
&lt;br /&gt;
To learn more, visit [[Payment Reversals]]&lt;br /&gt;
&lt;br /&gt;
==Refunding Payments==&lt;br /&gt;
&lt;br /&gt;
While refunds with GoCardless are not directly supported from within WHMCS, they can still be processed directly with GoCardless on a case-by-case basis through their review and approval process.&lt;br /&gt;
&lt;br /&gt;
Please refer to the [https://support.gocardless.com/hc/en-ca/articles/210536269-Refunding-payments refunding payments] section of the GoCardless documentation.&lt;br /&gt;
&lt;br /&gt;
== Mandates ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-success&amp;quot;&amp;gt;&lt;br /&gt;
We added these features in WHMCS 7.8.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Reinstating Mandates ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
Reinstating mandates requires specific permission from GoCardless.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When a mandate has been accidentally cancelled, WHMCS can initiate steps to reinstate the mandate without having the client set it up again.&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; [[Payment Gateways]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt;  Payments &amp;gt; Payment Gateways'''. &lt;br /&gt;
# Click the '''Manage Existing Gateways''' tab. &lt;br /&gt;
# Click '''Manage Cancelled Mandates'''.&lt;br /&gt;
# Follow the instructions in the modal that appears to reinstate a cancelled mandate.&lt;br /&gt;
&lt;br /&gt;
=== Importing Existing Mandates ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
You must disable any automatically-charged mandates that you import in order to prevent possible duplicate charges.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can import mandates that you set up outside of WHMCS and associate them with a client.&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; [[Payment Gateways]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt;  Payments &amp;gt; Payment Gateways'''. &lt;br /&gt;
# Click the '''Manage Existing Gateways''' tab.&lt;br /&gt;
# Click '''Import Existing Mandates'''.&lt;br /&gt;
# Follow the instructions in the modal that appears to import a active mandate to a specific client.&lt;br /&gt;
&lt;br /&gt;
=== Removing Mandates ===&lt;br /&gt;
 &lt;br /&gt;
You can remove mandates by deleting the client's GoCardless [[Pay_Methods|pay method]].&lt;br /&gt;
 &lt;br /&gt;
To do this:&lt;br /&gt;
 &lt;br /&gt;
# Click on the pay method in the '''[[Clients:Summary_Tab|Summary]]''' tab of the client profile.&lt;br /&gt;
# Click '''Delete''' to [[Clients:Summary_Tab#Removing_Card_Details|remove the pay method]] and any associated mandates.&lt;br /&gt;
&lt;br /&gt;
== Reconfiguring Callbacks ==&lt;br /&gt;
&lt;br /&gt;
After moving WHMCS, you must perform the following steps:&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; [[Payment Gateways]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt;  Payments &amp;gt; Payment Gateways'''.&lt;br /&gt;
# Click '''Configure GoCardless Account Connection'''.&lt;br /&gt;
# Log in again using the same details. &lt;br /&gt;
&lt;br /&gt;
This ensures that GoCardless stores and uses the new system URL and gateway callback file URL.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
===Access token not active===&lt;br /&gt;
&lt;br /&gt;
You can only connect each GoCardless account to a single WHMCS at a time. If you connected the GoCardless Account to multiple WHMCS installations, only the last installation that you connected will function correctly. Previously-connected WHMCS installations will show an &amp;lt;tt&amp;gt;Access token not active&amp;lt;/tt&amp;gt; error at '''Billing &amp;gt; [[Gateway Log]]'''.&lt;br /&gt;
&lt;br /&gt;
To resolve this error, you will need to reconnect WHMCS to GoCardless by [[#Reconfiguring_Callbacks|reconfiguring callbacks]]. &lt;br /&gt;
&lt;br /&gt;
===Remote Storage &amp;quot;create&amp;quot; action did NOT provide token===&lt;br /&gt;
This error indicates that the GoCardless account does not have access to the required API endpoint. Due to GoCardless API restrictions, you must contact GoCardless support to enable the feature for your account.&lt;br /&gt;
&lt;br /&gt;
{{modules}}&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=System_Requirements&amp;diff=34253</id>
		<title>System Requirements</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=System_Requirements&amp;diff=34253"/>
				<updated>2023-09-26T08:47:18Z</updated>
		
		<summary type="html">&lt;p&gt;John: &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;
Reflection&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'' 8.0&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>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Template:MarketConnect&amp;diff=34239</id>
		<title>Template:MarketConnect</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Template:MarketConnect&amp;diff=34239"/>
				<updated>2023-09-19T11:46:25Z</updated>
		
		<summary type="html">&lt;p&gt;John: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;div style=&amp;quot;margin-top:15px;padding:10px;background:#F9F9F9;border:1px solid #e8e8e8;text-align:center;&amp;quot;&amp;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; [[MarketConnect]]'''&amp;lt;br /&amp;gt;{{#ifeq:{{{type|}}}|SSL Certificates|'''SSL Certificates'''|[[SSL_Certificates_via_WHMCS_MarketConnect|SSL Certificates]]}} {{!}} {{#ifeq:{{{type|}}}|SpamExperts|'''SpamExperts'''|[[SpamExperts_via_WHMCS_MarketConnect|SpamExperts]]}} {{!}} {{#ifeq:{{{type|}}}|SiteLock|'''SiteLock'''|[[SiteLock_via_WHMCS_MarketConnect|SiteLock]]}} {{!}} {{#ifeq:{{{type|}}}|SiteLock VPN|'''SiteLock VPN'''|[[SiteLock_VPN_via_MarketConnect|SiteLock VPN]]}} {{!}} {{#ifeq:{{{type|}}}|CodeGuard|''&amp;quot;CodeGuard'''|[[CodeGuard_via_WHMCS_MarketConnect|CodeGuard]]}} {{!}}  {{#ifeq:{{{type|}}}|MarketGoo|'''MarketGoo'''|[[Marketgoo_via_WHMCS_MarketConnect|marketgoo]]}}&lt;br /&gt;
&amp;lt;br /&amp;gt; {{#ifeq:{{{type|}}}|OX App Suite|'''OX App Suite'''|[[OX_App_Suite_via_WHMCS_MarketConnect|OX App Suite]]}} {{!}} {{#ifeq:{{{type|}}}|Web.com Site Builder|'''Web.com Site Builder'''|[[Web.com_Site_Builder_via_WHMCS_MarketConnect|Web.com Site Builder]]}} {{!}} {{#ifeq:{{{type|}}}|Weebly|'''Weebly'''|[[Weebly_via_WHMCS_MarketConnect|Weebly]]}} {{!}} {{#ifeq:{{{type|}}}|NordVPN|'''NordVPN'''|[[NordVPN_via_WHMCS_MarketConnect|NordVPN]]}} {{!}} {{#ifeq:{{{type|}}}|XOVI NOW|'''XOVI NOW'''|[[XOVI_NOW_via_WHMCS_MarketConnect|XOVI NOW]]}} {{!}} {{#ifeq:{{{type|}}}|360 Monitoring|'''360 Monitoring'''|[[360_Monitoring_via_WHMCS_MarketConnect|360 Monitoring]]}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
Add &amp;lt;nowiki&amp;gt;{{MarketConnect}}&amp;lt;/nowiki&amp;gt; for a footer to your pages, produces:&lt;br /&gt;
{{MarketConnect}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Stripe&amp;diff=34229</id>
		<title>Stripe</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Stripe&amp;diff=34229"/>
				<updated>2023-08-29T11:57:22Z</updated>
		
		<summary type="html">&lt;p&gt;John: /* 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;
For other Stripe options, see [[Stripe ACH]] and [[Stripe SEPA]]. &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;
== 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;customer.card.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 and 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;
=== 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 [[#Setup|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>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Stripe&amp;diff=34228</id>
		<title>Stripe</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Stripe&amp;diff=34228"/>
				<updated>2023-08-29T11:54:41Z</updated>
		
		<summary type="html">&lt;p&gt;John: /* Payment Request Button */&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;
For other Stripe options, see [[Stripe ACH]] and [[Stripe SEPA]]. &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;
== 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;customer.card.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. In WHMCS 8.8 and later, customers can also pay using [https://stripe.com/en-ca/payments/link Link] for any Stripe transaction.&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 and 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;
=== 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 [[#Setup|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>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Products_Management&amp;diff=34191</id>
		<title>Products Management</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Products_Management&amp;diff=34191"/>
				<updated>2023-08-22T13:54:13Z</updated>
		
		<summary type="html">&lt;p&gt;John: /* Invoicing Early */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WHMCS allows you to offer many different types of products and services, both with or without automation, and to create addons and other additional items to tailor those products and services to your clients' needs.&lt;br /&gt;
&lt;br /&gt;
==Ordering Products and Services==&lt;br /&gt;
&lt;br /&gt;
[[File:Admin-order-form.png|800px]]&lt;br /&gt;
&lt;br /&gt;
To order new products and services for a client:&lt;br /&gt;
&lt;br /&gt;
# Go to '''Orders &amp;gt; Add New Order''' or click '''Add New Order''' in the client profile.&lt;br /&gt;
# Begin entering the client details to select the client (if the system didn't already preselect them).&lt;br /&gt;
# Choose the payment method to use for the order and any resulting invoice.&lt;br /&gt;
# Select a promotion code to apply to the order items (if applicable).&lt;br /&gt;
# Choose the order status. Unless this is for adding an existing service that needs no provisioning, leave it as pending so that you can review the order after payment and ensure any provisioning was successful.&lt;br /&gt;
# Select one of the following options:&lt;br /&gt;
#*Order Confirmation — Keep this selected if you wish to send the Order Confirmation email to the client.&lt;br /&gt;
#*Generate Invoice — Keep this selected if you wish to generate an invoice for the items on the order. This is useful if you are placing an order for a new service on the client's behalf or you will to manually enter an existing service but still want to invoice them right away.&lt;br /&gt;
#*Send Email — Keep this selected if you wish to send the Invoice Created email whenever the system creates an invoice.&lt;br /&gt;
# Enter and select the details for each product you want to add to the order, including a domain name, billing cycle, quantity, and any pricing overrides.&lt;br /&gt;
#* Click '''Add New Product''' to add multiple products to the order.&lt;br /&gt;
#* If the billing cycle and price override fields have not changed, the system will use the pricing from the shortest configured billing cycle.&lt;br /&gt;
#* Use the '''Quantity''' option to order multiples of a single product that doesn't require any specific configuration on the initial order (such as a domain name and configurable options). For example, if you are selling a software license using our Licensing Addon and the customer wishes to receive 10 licenses, you could use 10 for the Quantity and the system will create 10 services on their account after order submission.&lt;br /&gt;
# Optionally, select and enter the appropriate details to add one or more domain names to the order. &lt;br /&gt;
#* Select ''None'' if this order doesn't require a domain,&lt;br /&gt;
#* For registration, the system will prompt you for the domain name, the number of years to register it for, any applicable addons, and finally any pricing overrides for the registration and future renewal amounts. If there isn't a price override, the system uses the regular price for that TLD.&lt;br /&gt;
#* For transfers, the system will prompt you for the same details, along with the EPP code (also commonly called the Transfer Authorization code) from the existing registrar for the domain. During the client area ordering process, the client supplies this, and you may need to obtain it from them first if it is applicable to the domain you are trying to transfer.&lt;br /&gt;
#* For '''Domain Only''' orders, you would not enter anything into the fields in the '''Product/Service''' section ('''Product/Service''', '''Domain''', '''Billing Cycle''', '''Quantity''', and '''Price Override''') and fill in the '''Domain Registration''' section.&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;Premium Domains&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
When ordering domains via the Admin Area, the system does not look up the domain's availability. WHMCS will therefore be unaware of whether it is a premium domain. For premium domains, [[Clients:Summary_Tab#Login_as_Owner|log in as the account owner]] and order them via the Client Area.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Managing a Client's Products and Services==&lt;br /&gt;
&lt;br /&gt;
You can manage a client's products and services in the '''[[Clients:Products/Services Tab|Products/Services]]''' tab in the client's profile. This tab allows you to view and modify all of a products settings. After making any changes, click '''Save Changes'''.&lt;br /&gt;
&lt;br /&gt;
[[File:Module-commands.png|800px]]&lt;br /&gt;
&lt;br /&gt;
If the product or service is linked to a module, the '''Module Commands''' actions display when you view that product or service for the client. This allows you to execute any of the commands available in that module. &lt;br /&gt;
&lt;br /&gt;
Modules can have custom functions, but most use the same basic actions by default.&lt;br /&gt;
&lt;br /&gt;
==Addons==&lt;br /&gt;
&lt;br /&gt;
Product addons allow you to bill for additional items related to the main product but on independent billing cycles from the product (unlike Configurable Options, which have to bill on the same cycle). &lt;br /&gt;
&lt;br /&gt;
You can create new addons or work with preconfigured addons 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; [[Product Addons]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Product Addons'''. Then, clients can order addons from the Client Area product details page or from your store.&lt;br /&gt;
&lt;br /&gt;
[[File:Managing-addon.png|800px]]&lt;br /&gt;
&lt;br /&gt;
After purchase, you can manage addons for individual purchased products in the client profile.&lt;br /&gt;
* To view the list of addons for a product, select the parent product from the menu.&lt;br /&gt;
* To edit an addon, click the edit icon for that addon in the '''Addons''' list.&lt;br /&gt;
&lt;br /&gt;
===Adding Addons to Clients===&lt;br /&gt;
&lt;br /&gt;
[[File:New-addon-button.png|800px]]&lt;br /&gt;
&lt;br /&gt;
To add a new addon for a client:&lt;br /&gt;
&lt;br /&gt;
# Click '''[[Clients:Products/Services Tab|Products/Services]]''' in the client profile.&lt;br /&gt;
# Click '''Click here to Manage''' for '''Addons'''.&lt;br /&gt;
# Click '''Add New Addon'''.&lt;br /&gt;
# If you are adding a predefined addon, select it and leave the name, price, and billing cycle empty.&lt;br /&gt;
# If you are adding a custom addon that will be specific to this client, set '''Predefined Addon''' to ''None'' and enter a custom name, price, and cycle.&lt;br /&gt;
# To delay generation of the invoice, uncheck the generate invoice checkbox.&lt;br /&gt;
# Click '''Save Changes''' to complete the process.&lt;br /&gt;
&lt;br /&gt;
===Promotion Codes===&lt;br /&gt;
&lt;br /&gt;
You can apply promotion codes to an existing service using the menu. For more information, see [[Promotions]]. &lt;br /&gt;
&lt;br /&gt;
===Auto Recalculate Recurring Price on Save===&lt;br /&gt;
&lt;br /&gt;
Check this option to update the recurring amount field. You can use this after changing the product, configurable options, billing cycle, or promo code to auto calculate the new recurring price. We disable this by default to ensure that the system does not overwrite any discounted rates or custom pricing.&lt;br /&gt;
&lt;br /&gt;
===Overide Auto Suspension===&lt;br /&gt;
&lt;br /&gt;
This option can be used to allow extra time for payment to be made for specific individuals.&lt;br /&gt;
&lt;br /&gt;
You can enable or disable this option from the '''[[Clients:Products/Services Tab|Products/Services]]''' tab in the client profile.&lt;br /&gt;
&lt;br /&gt;
== Early Renewals and Invoicing ==&lt;br /&gt;
 &lt;br /&gt;
In some circumstances, you may want to generate your customer's next invoice early, or they may wish to pay for their services in advance.&lt;br /&gt;
 &lt;br /&gt;
=== On-Demand Renewals ===&lt;br /&gt;
 &lt;br /&gt;
In WHMCS 8.8 and later, on-demand renewals allow your customers to renew their services early, before WHMCS has generated the next invoice, in the Client Area.&lt;br /&gt;
 &lt;br /&gt;
You can configure on-demand renewals globally and on a per-product basis. For more information, see [[On-Demand Renewals]].&lt;br /&gt;
 &lt;br /&gt;
=== Invoicing Early ===&lt;br /&gt;
 &lt;br /&gt;
Admins can generate invoices for services, domains, or addons with the ''Pending'', ''Active'', or ''Suspended'' statuses in advance from the client's profile's '''[[Clients:Summary_Tab#Invoice_Selected_Items|Summary]]''' tab.&lt;br /&gt;
&lt;br /&gt;
==Upgrades/Downgrades==&lt;br /&gt;
&lt;br /&gt;
===Admin Area===&lt;br /&gt;
&lt;br /&gt;
[[File:Upgrade button.png|thumb|Upgrade/Downgrade Button]]&lt;br /&gt;
&lt;br /&gt;
If you would like to change the product or service a client is assigned to and automatically charge or credit the difference for that change then you need to use the Upgrade/Downgrade process. You'll find the option for this next to the '''Products/Services''' menu in the '''[[Clients:Products/Services Tab|Products/Services]]''' tab within the client profile.  &lt;br /&gt;
&lt;br /&gt;
To use it:&lt;br /&gt;
# Go to the product that you want to change.&lt;br /&gt;
# Perform the correct action for your WHMCS version:&lt;br /&gt;
#* For WHMCS 8.0 and later, click '''More''' and choose '''Upgrade/Downgrade'''.&lt;br /&gt;
#* For WHMCS 7.10 and earlier, go to the product you want to change, click '''Upgrade/Downgrade'''.&lt;br /&gt;
# Make the new product and billing cycle selections. A preview of what the charge will be for the remainder of the current cycle will display. &lt;br /&gt;
# Click '''Create Order'''. The system will create an order and invoice for the change.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;a href=&amp;quot;http://www.youtube.com/watch?v=wXEulukuHdo&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;
&lt;br /&gt;
There will no immediate changes to the product after creating an upgrade order, the actual product or config option changes won't take effect until the invoice is paid. But as soon as the invoice is paid the product will be updated, the new recurring amount will be set, and with most supported control panels the upgrade is fully automated with the new package details/changes being passed over to the server module being used.  Finally the upgrade email specified in the product configuration is sent to the user advising them of the new products details.&lt;br /&gt;
&lt;br /&gt;
The same process can also be used for configurable options changes and billing the difference for those if the product contains them.&lt;br /&gt;
&lt;br /&gt;
===Client Side===&lt;br /&gt;
&lt;br /&gt;
Clients can also place orders for upgrades &amp;amp; downgrades themselves if you have permitted it in the product configuration.  This allows clients to order upgrades/downgrades and complete them automatically without the need for any staff involvement.&lt;br /&gt;
&lt;br /&gt;
For more information, including how to allow clients upgrades and how the system calculates upgrade charges, see [[Automated Upgrades and Downgrades]].&lt;br /&gt;
&lt;br /&gt;
===Manual Upgrades===&lt;br /&gt;
There may be occasion when you wish to make an upgrade without placing an upgrade order (such as a free upgrade) or processing the upgrade before the client has paid for it. &lt;br /&gt;
&lt;br /&gt;
To do this:&lt;br /&gt;
&lt;br /&gt;
#Navigate to the client's '''[[Clients:Products/Services Tab|Products/Services]]''' tab.&lt;br /&gt;
#Change the product in the menu.&lt;br /&gt;
#Check '''Auto Recalculate on Save'''.&lt;br /&gt;
#Click '''Save Changes'''.&lt;br /&gt;
#Click '''Change Package''' in the '''Module Commands''' section.&lt;br /&gt;
&lt;br /&gt;
==Bulk Actions==&lt;br /&gt;
&lt;br /&gt;
[[File:Bulk-actions.png|thumb|Bulk Actions Tool]]&lt;br /&gt;
&lt;br /&gt;
The bulk actions option in WHMCS allows you to perform changes to two or more products inside a client's profile at the same time. The changes can consist of adjustments to the status, payment method, override auto-suspend date, first payment amount, recurring amount, next due date, and billing cycle. For example, you can use this option if you want to reduce a client's price on a number of separate products to the same level, execute module commands in bulk, or if you would like to bring multiple services in line to a matching due date.&lt;br /&gt;
&lt;br /&gt;
To use this feature, from the client's '''[[Clients:Summary Tab|Summary]]''' tab, check the checkboxes next to the products, services, addons, or domains you want to update. The bulk actions will display under the item lists. Additional actions can be viewed by clicking '''Show Advanced Options'''. Enter any changes you wish to make (leaving blank any fields you don't want to change) and click '''Apply''' to complete the changes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;a href=&amp;quot;http://www.youtube.com/watch?v=WLLsQML6rEU&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;
&lt;br /&gt;
===Create Prorata Invoice===&lt;br /&gt;
&lt;br /&gt;
When you change the Next Due Date of a product, service, addon, or domain, the system creates a pro-rated invoice that covers the period between the current next due date and the new one. This feature includes scenarios in which the various products have different next due dates to start with and will pro-rate each accordingly as separate line items on the invoice. &lt;br /&gt;
&lt;br /&gt;
To use this, specify the new Next Due Date, check '''Create Prorata Invoice''', and then click '''Apply'''.&lt;br /&gt;
&lt;br /&gt;
For example, the client could wish to pay for the following products on the 10th of the month going forward:&lt;br /&gt;
&lt;br /&gt;
 Product A - Next Due Date 01/01/2022 @ $30/month&lt;br /&gt;
 Product B - Next Due Date 05/01/2022 @ $60/month&lt;br /&gt;
&lt;br /&gt;
To do this, set the Next Due Date to 10/01/2022 and check the checkbox, an invoice with the following line items will be generated:&lt;br /&gt;
&lt;br /&gt;
 Product A (01/01/2022 - 09/01/2022) $8.00&lt;br /&gt;
 Product B (05/01/2022 - 09/01/2022) $10.00&lt;br /&gt;
 Total Due Today $18.00&lt;br /&gt;
&lt;br /&gt;
Only once paid will the Next Due Dates for both products be updated and in future both products would be invoiced on the 10th January.&lt;br /&gt;
&lt;br /&gt;
==Cancelling a Product/Service==&lt;br /&gt;
&lt;br /&gt;
===Auto Terminate/Fixed Term===&lt;br /&gt;
You can setup products to automatically terminate after a set number of days from the date of signup. For more information refer to [[Products_and_Services#Pricing_Tab|Configuring Products/Services]].&lt;br /&gt;
&lt;br /&gt;
===Clients Self Service===&lt;br /&gt;
[[File:Request-cancellation-form.png|800px]]&lt;br /&gt;
&lt;br /&gt;
WHMCS can completely automate the process of product cancellation or wait for manual confirmation. To do this navigate 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''', and enable the '''Show Cancellation Link''' option.&lt;br /&gt;
&lt;br /&gt;
Clients can then request cancellation of any of their products &amp;amp; services directly from the client area.&lt;br /&gt;
&lt;br /&gt;
To fully automate cancellation and have the module terminate command run (for example to remove the hosting account from the server) check '''Cancellation Requests''' 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''' option.&lt;br /&gt;
&lt;br /&gt;
Now when the cron runs any services with a cancellation request due today will be removed from the server and the status changed in WHMCS to Cancelled. The process runs as follows:&lt;br /&gt;
&lt;br /&gt;
*Client clicks ''Request Cancellation'' button on the product details page in client area&lt;br /&gt;
*They're prompted to provide a cancellation reason and provided 2 choices for the cancellation - either '''Instant''' (on next cron run) or at the '''End of the Current Billing Cycle'''.&lt;br /&gt;
*If a matching domain exists under the client's account in active status with ''Auto Renew'' enabled, the customer is given the option to disable auto renew too - thereby leaving the domain to expire.&lt;br /&gt;
*Any unpaid invoices for the product will be cancelled ([[Invoice_Tab#Cancellation_Request_Handling|if enabled]])&lt;br /&gt;
*A notification email is sent to administrators and you will be able to review the reason provided in '''Clients &amp;gt; Cancellation Requests'''.&lt;br /&gt;
&lt;br /&gt;
====Manual Cancellation====&lt;br /&gt;
If the Cancellation Request setting is '''not''' enabled then at this point you must navigate to the cancellation requests page, click through to the service page and click the '''Terminate''' module command button to remove the account from the server. The cancellation request is then moved from the ''Open Requests'' page to ''Completed Requests''.&lt;br /&gt;
&lt;br /&gt;
====Automated Cancellation====&lt;br /&gt;
If the Cancellation Request setting '''is''' enabled the cancellation request will be actioned when the daily automation cron runs on the appropriate day. For example if the ''Immediate'' option was selected it will be terminated on the next cron run, if ''End of Billing Period'' was selected it will be terminated when the cron runs on the service's Next Due Date.&lt;br /&gt;
&lt;br /&gt;
====Voiding Cancellation Requests====&lt;br /&gt;
If a Cancellation Request has been submitted by your client and they later change their mind, it is quick and easy to void their cancellation request. Simply navigate to '''Clients &amp;gt; Cancellation Requests''', locate the cancellation you wish to remove, and then click the red X next to the request to remove it. This will stop the cancellation from processing automatically. You'll need to make sure to mark any invoices that were cancelled as &amp;quot;Unpaid&amp;quot; to prevent billing errors.&lt;br /&gt;
&lt;br /&gt;
===Admin Scheduled Cancellations===&lt;br /&gt;
&lt;br /&gt;
As an admin user, you can schedule the termination of a product at the end of the currently active period by going to the Products/Services tab, checking the '''Auto-Terminate End of Cycle''' option and optionally entering a reason/note for it. Any unpaid invoices for the product will be cancelled and will suppress any further renewal invoices from generating for this product and terminate it when the next due date is reached.&lt;br /&gt;
The &amp;quot;Cancellation Requests&amp;quot; setting 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''' must also be enabled.&lt;br /&gt;
&lt;br /&gt;
===Admin Immediate Cancellation===&lt;br /&gt;
&lt;br /&gt;
Finally, if you want to cancel or terminate a product or service immediately then you simply need to locate the item you wish to cancel, and from the Products/Services page, click the '''Terminate''' button if the product is linked to a module or if not, manually change the dropdown status from Active to '''Cancelled'''.  Once you've done this, no further invoices will generate for the item.&lt;br /&gt;
&lt;br /&gt;
===Addons===&lt;br /&gt;
When a product or service is terminated automatically by the WHMCS System, including through the above Admin Scheduled Cancellation routine, any child addon(s) attached to the product/service will also be cancelled at the same time.  Addons do not support independent scheduled cancellations of their own however.&lt;br /&gt;
&lt;br /&gt;
====Termination Date====&lt;br /&gt;
When an addon is Cancelled or Terminated, either manually via the admin interface or automatically as part of a product termination, the Termination Date will be assigned the current date automatically.&lt;br /&gt;
The termination date can be edited manually at any time via the Product Addon management screens within the admin area.&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;A termination date can only be set/edited when the addon is in one of either Terminated or Cancelled status.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Moving a Product/Service to another Client==&lt;br /&gt;
[[File:Transfer product.png|thumb|Transfer Product Popup]]&lt;br /&gt;
#From the Products/Services details page of the product you want to move, click '''Move Product/Service to Another Client''' located at the top-right of the page&lt;br /&gt;
#A popup box will appear (you will need popup blockers disabled to use this)&lt;br /&gt;
#In the popup enter the ID of the new owner. If you don't know the client's ID the Search field can be used to search by name, company or email address. Click the client's name and the ID will be filled in.&lt;br /&gt;
#After selecting the desired click, click the '''Transfer''' button&lt;br /&gt;
#The item will then be transferred, the window will close, and the original window will refresh to show the product under its new owner.&lt;br /&gt;
&lt;br /&gt;
'''N.B.''' Moving a products/service between clients within WHMCS will not have any affect on the account on the server.&lt;br /&gt;
&lt;br /&gt;
===Invoices===&lt;br /&gt;
Invoices cannot be moved between clients, therefore when moving a product/service any invoices will remain under the old owner. Therefore it would be advisable to check the old owner's Invoices tab for any unpaid invoices for this service and cancel them. If you wish to invoice the new owner for the service, move the Next Due Date forward/back by one day and a new invoice will be generated when the cron next runs.&lt;br /&gt;
&lt;br /&gt;
==Deleting a Product/Service from a Client==&lt;br /&gt;
&lt;br /&gt;
#From the Products/Services details page of the product you want to delete, click '''More''' and then click '''Delete'''.&lt;br /&gt;
#After clicking this link, you will be asked to confirm if you are sure you want to delete the item.&lt;br /&gt;
#If you click No you will be returned to the page, if you click Yes, the item will be deleted and you will be taken to the next product/service under that client.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Deleting a product from WHMCS will not terminate it on the server.  If you wanted to remove it from the server aswell, you need to run the Terminate Module Command as explained above before deleting the record from WHMCS.&lt;br /&gt;
&lt;br /&gt;
==Resending Product Welcome Email==&lt;br /&gt;
To re-send a product welcome email simply navigate to the client's Products/Services tab and click the &amp;quot;Resend Product Welcome Email&amp;quot; button at the bottom of the page.&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Clients:Summary_Tab&amp;diff=34184</id>
		<title>Clients:Summary Tab</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Clients:Summary_Tab&amp;diff=34184"/>
				<updated>2023-08-08T13:55:43Z</updated>
		
		<summary type="html">&lt;p&gt;John: /* Invoices/Billing */ Corrected typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client Management}}&lt;br /&gt;
&lt;br /&gt;
The '''Summary''' tab contains an overview of the client's details, billing and service statistics, quick links to many common management actions, and a list of all their services, domains, and addons. &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;
[[File:82ClientSummary.png|thumb|Client Summary Tab]]&lt;br /&gt;
&lt;br /&gt;
==Summary Actions==&lt;br /&gt;
&lt;br /&gt;
The top-left corner of the page displays the client's unique ID number and name. To the right, summary actions allow you to manage billing-related settings. &lt;br /&gt;
&lt;br /&gt;
Click the click '''Yes''' (green) or '''No''' (red) to instantly toggle the status of these options:&lt;br /&gt;
&lt;br /&gt;
* '''Exempt From Tax''' — Do not charge tax, even if the client has a tax rule.&lt;br /&gt;
* '''Auto CC Processing''' — Automatically charge the client's stored credit card on invoice due dates.&lt;br /&gt;
* '''Send Overdue Reminders''' — Send overdue reminder emails when the client's invoices become overdue.&lt;br /&gt;
* '''Apply Late Fees''' — Charge a late fee when the client's invoices become overdue. &amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Late Fees&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;You must activate and configure late fees 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''' and in the '''[[Invoice Tab|Invoice]]''' 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'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Client's Information==&lt;br /&gt;
&lt;br /&gt;
This section displays the client's contact information and the '''Reset &amp;amp; Send Password''' and '''Login as Owner''' links.&lt;br /&gt;
&lt;br /&gt;
=== Phone Numbers ===&lt;br /&gt;
&lt;br /&gt;
In WHMCS 7.4 and later, you can easily enter and store international phone numbers.&lt;br /&gt;
&lt;br /&gt;
[[File:PhoneNumberInputUx.png|500px]]&lt;br /&gt;
&lt;br /&gt;
This system ensures a consistent and uniform phone number format combining the country prefix and phone number:&lt;br /&gt;
&lt;br /&gt;
 + '''[Country Code]''' . '''[Phone Number]'''&lt;br /&gt;
&lt;br /&gt;
In WHMCS 7.4 and later, this feature is enabled by default. The system will save the client's phone number in the database and automatically prefix it with the international country dialing code.&lt;br /&gt;
&lt;br /&gt;
To disable this, uncheck '''Phone Numbers''' 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'''. When you disable this feature, the system will not add the prefix in the database but will display it in the Admin Area and Client Area.&lt;br /&gt;
&lt;br /&gt;
====Automatic Number Formatting====&lt;br /&gt;
&lt;br /&gt;
The pre-selected country will default to your WHMCS system default country. The system will update the selected country whenever you change the client's physical address. This change will occur even if the phone number is currently empty.&lt;br /&gt;
&lt;br /&gt;
Users can also begin typing a phone number that begins with a country code in the format &amp;lt;tt&amp;gt;+XX&amp;lt;/tt&amp;gt; and the system will update the country.&lt;br /&gt;
&lt;br /&gt;
The update process will automatically convert existing client phone numbers when they display in a phone number field. The phone number value will update in the database the first time that an admin or client saves the phone number.&lt;br /&gt;
&lt;br /&gt;
====Order Forms====&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
[[File:PhoneNumberOrderForm.png|500px]]&lt;br /&gt;
&lt;br /&gt;
===Reset &amp;amp; Send Password===&lt;br /&gt;
&lt;br /&gt;
Click to generate a new Client Area password for the client and email it to them.&lt;br /&gt;
&lt;br /&gt;
Clients can also request a password reset by clicking '''Forgotten Password''' on the login form. After entering their email address, if there is a set security question and answer, the system will prompt them to supply the answer. Then, they will receive an email with a confirmation link, to ensure that they are the person who requested the password reset. The link is valid for two hours from the time of request.&lt;br /&gt;
&lt;br /&gt;
* If there is not a set security question and answer, the system sends the email immediately when the client enters their email address.&lt;br /&gt;
* When they click the link in the email, clients will go to the password reset validation page, from which they can set a new password. They can then log in immediately using the new password. If the client didn't request the reset, they can ignore the email.&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;WHMCS 8.0 and later&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
To reset the user's password in WHMCS 8.0 and later, use the client profile '''[[Clients:Users_Tab#Password_Reset|Users]]''' tab.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Login as Owner===&lt;br /&gt;
  &lt;br /&gt;
Click to view the Client Area exactly as the account's owner would see it. Clicking the linked text will open the Client Area in your current tab, or you can click the window icon to open the Client Area in a new tab.&lt;br /&gt;
 &lt;br /&gt;
When you access the Client Area in this way, you can also perform actions on the account owner's behalf, like placing orders or opening tickets. When you are finished, click '''Return to Admin Area''' in the top-right corner to return to the Admin Area.&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
Prior to WHMCS 8.0, this was '''Login as Client'''.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Contacts/Sub-Accounts==&lt;br /&gt;
&lt;br /&gt;
This section lists the client's contacts or sub-accounts. Click a name to edit that record in the '''[[Clients:Contacts_Tab|Contacts]]''' tab.&lt;br /&gt;
&lt;br /&gt;
===Add Contact===&lt;br /&gt;
&lt;br /&gt;
Click to create a new contact or sub-account for this client.&lt;br /&gt;
&lt;br /&gt;
==Pay Methods==&lt;br /&gt;
&lt;br /&gt;
Displays an overview of the client's current registered payment methods in WHMCS.&lt;br /&gt;
&lt;br /&gt;
The default Pay Method will always be displayed at the top of the list, and be indicated via an icon. &lt;br /&gt;
&lt;br /&gt;
===Adding a Pay Method===&lt;br /&gt;
&lt;br /&gt;
You can add a new payment method by clicking '''Add Credit Card''' or '''Add Bank Account'''. These links are only available when there is an appropriate activated module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
These options will only display if you have activated an appropriate [[Payment Gateways|payment gateway]]. If you do not have either an active merchant gateway and/or bank account module, then no options to add payment methods will be displayed.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When multiple payment gateways are active, and include a combination of both local card storage and tokenized payment gateway modules, upon selecting to add a credit card, you will be prompted for the storage method you wish to use. Essentially, you need to tell WHMCS if the card should be tokenized with your desired payment gateway, or stored locally and encrypted in the database. In most cases if you have a tokenization payment gateway in use, you will probably want to use this.&lt;br /&gt;
&lt;br /&gt;
===Managing Pay Methods===&lt;br /&gt;
&lt;br /&gt;
You can manage a pay method by clicking on it in the list. &lt;br /&gt;
&lt;br /&gt;
====View Locally-Stored Credit Card Numbers====&lt;br /&gt;
&lt;br /&gt;
To view the associated locally-stored credit card number (local encryption), click the lock icon and enter your Credit Card Encryption hash (in &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt;). &lt;br /&gt;
&lt;br /&gt;
For tokenisation gateways, viewing the full card number is not possible because WHMCS does not store the details. You can only view the respective token and the last four digits of the card number.&lt;br /&gt;
&lt;br /&gt;
====Removing Card Details====&lt;br /&gt;
&lt;br /&gt;
Click '''Delete''' to remove the card's details from the client and WHMCS.&lt;br /&gt;
&lt;br /&gt;
If an error occurs deleting a remote [[Pay Methods|payment method]], or if the gateway that a remote payment method is associated with has been deactivated, WHMCS will be unable to delete the record. When this happens, a message will be shown displaying the error that occurred and providing an option to ignore and force delete the payment method.&lt;br /&gt;
[[File:PayMethodDeleteFail.png]]&lt;br /&gt;
&lt;br /&gt;
Forcibly deleting a payment method will not run anything on the remote gateway system. Manual removal of any records in a gateway account would need to be done manually if required, when force deleting from WHMCS.&lt;br /&gt;
&lt;br /&gt;
==Invoices/Billing==&lt;br /&gt;
&lt;br /&gt;
In this section quick invoice and billing statistics are displayed; the number of invoices in each status along with the total value of each in brackets.&lt;br /&gt;
&lt;br /&gt;
In the Income sub-section, the statistics are calculated as follows:&lt;br /&gt;
&lt;br /&gt;
* Gross Revenue statistic shows the total of all transactions paid by the client&lt;br /&gt;
* Client Expenses is the sum of transaction fees and refunded transactions&lt;br /&gt;
* Net Income is the Gross Revenue - Client Expenses&lt;br /&gt;
* Credit Balance shows the current amount of credit available to the client to spend&lt;br /&gt;
&lt;br /&gt;
===Create Invoice===&lt;br /&gt;
&lt;br /&gt;
Click '''Create Invoice''' to create a custom invoice. This immediately creates an empty invoice that you can add line items to. Clicking will not send an email to the client.&lt;br /&gt;
&lt;br /&gt;
For steps for the remaining process of adding a custom invoice, see [[Invoicing]].&lt;br /&gt;
&lt;br /&gt;
===Create Add Funds Invoice===&lt;br /&gt;
&lt;br /&gt;
You can create invoices in this way to allow a client to deposit funds to their account, or to charge a specific amount from a clients credit card. A popup will appear allowing the amount of credit to be specified. The customer will receive an email for the invoice that the system generated with a link to pay it. &lt;br /&gt;
&lt;br /&gt;
For more information, see [[Add Funds]] and [[Invoicing]].&lt;br /&gt;
&lt;br /&gt;
===Generate Due Invoices===&lt;br /&gt;
&lt;br /&gt;
Click here to generate any invoices due for the client's services, billable items, domains or addons. Useful if one of the aforementioned items has been modified and a new invoices needs to be generated without the need to run the entire automation cron job. A popup will appear asking whether you wish to send the invoice notification email.&lt;br /&gt;
&lt;br /&gt;
===Add Billable Item===&lt;br /&gt;
&lt;br /&gt;
This link will take you directly to the Add Billable Item interface. For more information, see [[Billable Items]].&lt;br /&gt;
&lt;br /&gt;
===Manage Credits===&lt;br /&gt;
&lt;br /&gt;
Displays a popup displaying the client's credit history; how credits were earned and spent. Credit can also be manually added and removed using the appropriate buttons. You also have the option to delete entries if you wish and they will then be deducted from the credit balance.&lt;br /&gt;
&lt;br /&gt;
For more information, see [[Transactions#Managing_Credit|Managing Credit]].&lt;br /&gt;
&lt;br /&gt;
==Create New Quote==&lt;br /&gt;
&lt;br /&gt;
This link will take you directly to the Quote creation interface. For more information, see [[Quotes]].&lt;br /&gt;
&lt;br /&gt;
==Other Information==&lt;br /&gt;
&lt;br /&gt;
In this section, miscellaneous information is displayed; the client's status, their client group, signup date, length of time since signup and the IP address, hostname, and time of their last login.&lt;br /&gt;
&lt;br /&gt;
==Products/Services==&lt;br /&gt;
&lt;br /&gt;
In this section the numbers all the services, domains quotes, support tickets and affiliate signups for this client are displayed. The active service count is displayed first, with the total - including services in suspended, terminated and cancelled statuses - in brackets.&lt;br /&gt;
&lt;br /&gt;
===View Orders===&lt;br /&gt;
&lt;br /&gt;
Click this link to see a list of all orders placed by this client. For more information, see [[Order Management]].&lt;br /&gt;
&lt;br /&gt;
===Add New Order===&lt;br /&gt;
&lt;br /&gt;
This link will take you to the admin order form. This allows orders to be placed on behalf of the client, and for products and promotional codes to be used in combinations not possible on the public order form.&lt;br /&gt;
&lt;br /&gt;
==Files==&lt;br /&gt;
&lt;br /&gt;
The files section in a client's summary allows you to upload files specific to that customer.&lt;br /&gt;
&lt;br /&gt;
* This can be used for documents, agreements or other downloads specific to the individual&lt;br /&gt;
* Files can be set as Admin Only to only be viewed by admins, otherwise they show on the Client Area homepage for the client to be able to download&lt;br /&gt;
* Files are uploaded to the /attachments directory and can be added and managed from the client profile '''[[Clients:Summary Tab|Summary]]''' tab in the Admin Area.&lt;br /&gt;
&lt;br /&gt;
==Recent Emails==&lt;br /&gt;
&lt;br /&gt;
Displayed here are the last five emails sent to the client by WHMCS. You can view a longer email history in the client profile '''[[Clients:Emails Tab|Emails]]''' tab.&lt;br /&gt;
&lt;br /&gt;
==Other Actions==&lt;br /&gt;
&lt;br /&gt;
Within this section are a number of miscellaneous links which perform a variety of tasks.&lt;br /&gt;
&lt;br /&gt;
===View Account Statement===&lt;br /&gt;
&lt;br /&gt;
This displays a statement of account for this client accounts between a date range. It includes the type (add funds, transaction, invoice), date, description, credits, debits, and a running balance.&lt;br /&gt;
&lt;br /&gt;
===Open New Support Ticket===&lt;br /&gt;
&lt;br /&gt;
This link enables you to open a support ticket under the client's account. This is useful for initiating correspondence with the client and keeping a full record of the conversation.&lt;br /&gt;
&lt;br /&gt;
===View all Support Tickets===&lt;br /&gt;
&lt;br /&gt;
Click here to see see a list of all support tickets assigned to the client in the departments to which your administrator account is assigned. If the client had tickets in departments of which you are not a member, they would not be displayed here.&lt;br /&gt;
&lt;br /&gt;
===Activate as Affiliate===&lt;br /&gt;
&lt;br /&gt;
If enabled clients can join the affiliate program from within the client area. Staff members can also add the client to the affiliate program by clicking this link.&lt;br /&gt;
&lt;br /&gt;
===View Affiliate Details===&lt;br /&gt;
&lt;br /&gt;
Once the client has been activated as an affiliate, the 'View Affiliate Details' link will be displayed in its place. Click it to see the client's referrals, commissions pending and paid, as well as your payments to them. For more information, see [[Affiliates]].&lt;br /&gt;
&lt;br /&gt;
===Merge Client Accounts===&lt;br /&gt;
&lt;br /&gt;
Merging clients combines two separate client accounts in WHMCS into one. This merges everything relating to the two separate entities into one including but not limited to products, invoices, transactions, or tickets.&lt;br /&gt;
&lt;br /&gt;
[[File:Merge clients.png|thumb|Merge Clients Popup]]&lt;br /&gt;
&lt;br /&gt;
To do this:&lt;br /&gt;
&lt;br /&gt;
# Go to the client profile for the first client that you want to merge.&lt;br /&gt;
# Click '''Merge Client Accounts'''.&lt;br /&gt;
# Enter the other client's client ID. If you don't know the client's ID, enter their name, company or email address in the '''Search''' field. Click the client's name and the system will automatically fill in the ID.&lt;br /&gt;
# Choose which profile you want to keep (the client you want to merge the other client's data into).&lt;br /&gt;
# Click '''Submit'''.&lt;br /&gt;
&lt;br /&gt;
===Close Clients Account===&lt;br /&gt;
&lt;br /&gt;
Closing a client's account will prevent them from being able to log in to the client area. This link will also change the status of unpaid invoices to cancelled, and all services to cancelled. It will not run any module termination functions.&lt;br /&gt;
&lt;br /&gt;
===Delete Clients Account===&lt;br /&gt;
 &lt;br /&gt;
To remove a client, click this link. If you also want to remove any associated users that aren't associated with other client accounts, check the checkbox. Then, confirm the deletion. The client will be removed and you will be returned to the '''Clients''' list.&lt;br /&gt;
 &lt;br /&gt;
Deleting a client removes everything related to that client from the WHMCS database, with the exception of transactions. This is because transactions are considered income that isn't being refunded when the client is removed. If you want to also remove the client's transactions, do this in the '''[[Clients:Transactions Tab|Transactions]]''' tab before you delete the client.&lt;br /&gt;
&lt;br /&gt;
===Export Client Data===&lt;br /&gt;
&lt;br /&gt;
Click to go to the '''Client Data Export''' report at '''Reports &amp;gt; More...'''. The system will preselect the current client. From this report, you can download selected client data as a &amp;lt;tt&amp;gt;.json&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
For more information, see [[Reports#Client|Reports]].&lt;br /&gt;
&lt;br /&gt;
==Send Email==&lt;br /&gt;
&lt;br /&gt;
Use this menu to send email to clients. You can send '''General''' email templates or compose custom messages for the individual client.&lt;br /&gt;
&lt;br /&gt;
To send a client-related email message using an existing email template, select that template from '''Send Email''' and click '''Send'''.&lt;br /&gt;
&lt;br /&gt;
For custom emails:&lt;br /&gt;
&lt;br /&gt;
# Select '''New Message''' from '''Send Email'''.&lt;br /&gt;
# Click '''Send'''.&lt;br /&gt;
# Compose your message.&lt;br /&gt;
# If you want to use the message again in the future, check '''Save Message'''.&lt;br /&gt;
# Click '''Send Message'''.&lt;br /&gt;
&lt;br /&gt;
For more information, see [[Messages/Emails]].&lt;br /&gt;
&lt;br /&gt;
==Admin Notes==&lt;br /&gt;
&lt;br /&gt;
Here staff can enter private notes about the client. &lt;br /&gt;
&lt;br /&gt;
Separate notes sections are available under the '''[[Clients:Products/Services Tab|Products/Services]]''', '''[[Clients:Domains Tab|Domains]]''', and  '''[[Clients:Notes Tab|Notes]]''' tabs.&lt;br /&gt;
&lt;br /&gt;
==Filtering Products==&lt;br /&gt;
&lt;br /&gt;
[[File:filtering_products.png|thumb|Product Filtering]]&lt;br /&gt;
&lt;br /&gt;
There may be situations in which it's desirable to filter the client's '''[[Clients:Products/Services Tab|Products/Services]]''' tab to only display items in certain statuses. For example, if a client has a large number of old cancelled services, you may wish to only display the active, pending, and fraudulent products, hiding the cancelled ones.&lt;br /&gt;
&lt;br /&gt;
To do this, click '''Status Filter''' under the '''Admin Notes''' section. A prompt will appear allowing you to select which statuses to display. &lt;br /&gt;
&lt;br /&gt;
* After the filter is applied, the button will be green.&lt;br /&gt;
* This filter will apply across all clients until you close the browser.&lt;br /&gt;
&lt;br /&gt;
==Services, Addon, Domains, Quotes==&lt;br /&gt;
&lt;br /&gt;
The '''Services''', '''Addons''', '''Domains''', and '''Quotes''' lists provide a comprehensive list of all the client's services and include information like the price, signup date, status, and next due date.&lt;br /&gt;
&lt;br /&gt;
The lists are ordered based upon the item's ID number. Click the ID number of the '''Edit icon''' to see the full details of the item from where you can make changes.&lt;br /&gt;
&lt;br /&gt;
The '''Current Quotes''' section displays quotes with a '''Valid Until Date''' up to and including today's date. After this date, you can view them in the '''[[Clients:Quotes_Tab|Quotes]]''' tab.&lt;br /&gt;
&lt;br /&gt;
==Mass Updating Services/Addons/Domains==&lt;br /&gt;
&lt;br /&gt;
[[File:Bulk_actions_panel.png|thumb|Mass Update Panel]]&lt;br /&gt;
&lt;br /&gt;
The mass update options enable you to make changes to more than one of a given clients products, add-ons and domains at a time. This is useful for making bulk changes to a clients products and services.&lt;br /&gt;
&lt;br /&gt;
Supported fields you can change in a mass update include:&lt;br /&gt;
&lt;br /&gt;
* Status&lt;br /&gt;
* Payment Method&lt;br /&gt;
* Override Auto-Suspend&lt;br /&gt;
* Pricing&lt;br /&gt;
* Billing Cycle&lt;br /&gt;
* Next Due Date&lt;br /&gt;
&lt;br /&gt;
You can also perform all the core module commands: &lt;br /&gt;
&lt;br /&gt;
* '''Create'''&lt;br /&gt;
* '''Suspend'''&lt;br /&gt;
* '''Unsuspend'''&lt;br /&gt;
* '''Terminate'''&lt;br /&gt;
* '''Change Package'''&lt;br /&gt;
* '''Change Password'''&lt;br /&gt;
&lt;br /&gt;
To use the feature, follow the steps below:&lt;br /&gt;
&lt;br /&gt;
# Check the checkboxes next to the products, services, addons, and domains you want to update.&lt;br /&gt;
# Under '''Bulk Actions''', click '''Advanced Options'''.&lt;br /&gt;
# Make your changes and selections. Leave any fields that you don't wish to change blank.&lt;br /&gt;
# Click '''Apply'''.&lt;br /&gt;
&lt;br /&gt;
===Due Date Changes Prorata Calculation===&lt;br /&gt;
&lt;br /&gt;
When making a change to the '''Next Due Date''' of products and services, you also have the option to bill for the days between the current next due date and the target next due date you set. This is useful for synchronising multiple different products to a single common due date each billing cycle.&lt;br /&gt;
&lt;br /&gt;
To do this, follow the steps below:&lt;br /&gt;
&lt;br /&gt;
# Check the checkboxes next to the products, services, addons, and domains you want to update.&lt;br /&gt;
# Under '''Bulk Actions''', click '''Advanced Options'''.&lt;br /&gt;
# Enter the desired '''Next Due Date'''.&lt;br /&gt;
# Check '''Create Prorata Invoice'''.&lt;br /&gt;
# Click '''Apply'''.&lt;br /&gt;
&lt;br /&gt;
The page will reload with confirmation of the changes and that an invoice has been generated.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
An invoice will only be generated if the differences for all products result in an amount being due. If the total differences result in a credit then no invoice will be generated and no credit will be issued. &lt;br /&gt;
&lt;br /&gt;
To add a credit for the difference, see [[Credit/Prefunding#Adding_Credit_to_a_Client|Credit/Prefunding]]. &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Invoice Selected Items==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
In WHMCS 8.8 and later, you can enable and configure on-demand renewals to allow customers to renew services early, before invoice generation, from within the Client Area. For more information, see [[On-Demand Renewals]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There may be times where a client asks for you to invoice them for the next renewal date early. To do this, check the checkboxes for the desired products, services, addons, and domains and then click '''Invoice Selected Items'''.&lt;br /&gt;
&lt;br /&gt;
* This may create multiple invoices if the due dates and payment methods differ. This is because this process continues to obey the usual invoicing rules. &lt;br /&gt;
* You cannot generate another invoice if an invoice has already been made for the next due date.&lt;br /&gt;
&lt;br /&gt;
If you select multiple items with the same '''Next Due Date''' and '''Separate Invoices''' is enabled in the client's profile or [[Client Groups|client group]], it will not apply and all possible items will be invoiced together. To split them, edit the resulting invoices and use the '''Split Invoice''' function.&lt;br /&gt;
&lt;br /&gt;
==Delete Selected Items==&lt;br /&gt;
&lt;br /&gt;
Check the checkboxes next to the services, domains, addons, or quotes that you wish to remove and click '''Delete Selected Items''' to delete multiple items at the same time. &lt;br /&gt;
&lt;br /&gt;
This will remove the record from WHMCS but will not trigger any module commands (for example, the hosting account for a service will stay on the server).&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Long_Term_Support&amp;diff=34108</id>
		<title>Long Term Support</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Long_Term_Support&amp;diff=34108"/>
				<updated>2023-06-19T17:59:36Z</updated>
		
		<summary type="html">&lt;p&gt;John: /* WHMCS Version &amp;amp; LTS Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== WHMCS Long-Term Support ==&lt;br /&gt;
&lt;br /&gt;
Product enhancements, bug fixes and security fixes for published versions of WHMCS are common; WHMCS is constantly being refined to ensure a safe and robust experience.  However, it is impractical for customers to always track the latest product refinements at the same pace as our Development Team.  And for that reason, WHMCS has implemented a Long-Term Support Policy for WHMCS.&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
The WHMCS Long-Term Support Policy provides customers with a clear understanding of our commitment to supporting the software they have purchased a license for and installed on their systems.&lt;br /&gt;
&lt;br /&gt;
WHMCS will provide periodic maintenance releases for major and minor versions of WHMCS as part of the normal WHMCS Release Process.  This is called [[#Active Development | Active Development]].  Versions of WHMCS that are not under Active Development will not receive maintenance releases, however, they are candidates for Targeted Critical and Security Releases.  WHMCS will only provide Targeted Releases for candidates that have not reached their [[#Defining End Of Life | End Of Life]].&lt;br /&gt;
&lt;br /&gt;
Please refer to the [[#WHMCS Version &amp;amp; LTS Schedule|WHMCS Version and LTS Schedule]] to see what versions of WHMCS are currently covered by Long-Term Support or under Active Development.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Provisions of Long-Term Support ===&lt;br /&gt;
Once a version of WHMCS is no longer being actively developed it will receive Long-Term Support (LTS) from our Development and Security Teams.  LTS is a finite period which expires on a specific date known as End Of Life (EOL).  Each minor version has it's own EOL date.&lt;br /&gt;
&lt;br /&gt;
Product versions that are in LTS are provided Targeted Critical and Security Releases.&lt;br /&gt;
&lt;br /&gt;
Once a version has moved from Active Development to LTS it will not receive product enhancements or maintenance fixes unless they are deemed critical to the viability of a Targeted Critical or Security Release, and therefore delivered as part of LTS.  If you require product enhancements or maintenance fixes, we suggest updating to a product version that is being actively developed.&lt;br /&gt;
&lt;br /&gt;
=== Active Development ===&lt;br /&gt;
A product version that is under Active Development is in the process of being refined.  Therefore, subsequent revisions are likely to be released until a new minor version is published.  Revision releases can include bug fixes, security enhancements, minor optimizations, third-party updates, as well as Important or Critical updates.&lt;br /&gt;
&lt;br /&gt;
At any given moment in time, there will likely be only one actively developed version of WHMCS available;  it will be the latest version available for our site.  However, to ensure a smooth transition from one major or minor version to the next, WHMCS may extend Active Development of the previously published version.  These overlaps between product versions is usually quite small, on the order of a few weeks at most.&lt;br /&gt;
&lt;br /&gt;
Please refer to [[#WHMCS Version &amp;amp; LTS Schedule|WHMCS Version and LTS Schedule]] to know if your version is currently under Active Development.&lt;br /&gt;
&lt;br /&gt;
=== Defining End Of Life ===&lt;br /&gt;
A core attribute of the Long-Term Support Policy is defining a given version's End Of Life (EOL) date.  The EOL date is established upon the publication of a new minor or major release and typically is set one year into the future.&lt;br /&gt;
&lt;br /&gt;
For example if version 1.0.0 is published January 31, 2012, then it will have an EOL of January 1st 2013 because it is a major release. If 1.1.0 is published on May 1st, 2012, it will have an EOL of May 1st 2013 because it is a minor release. If 1.1.1 is published on May 15th 2012 it will have an EOL of May 1st 2013 because it is a maintenance release to a previous minor release.  Likewise, if 1.1.5 is published on July 24th 2012 it will have  an EOL of May 1st 2013 because it is a maintenance release to a previous minor release.&lt;br /&gt;
&lt;br /&gt;
=== After End Of Life ===&lt;br /&gt;
Once a version's EOL date has passed, no further releases or updates will be provided, regardless of the observed deficiency in that version.&lt;br /&gt;
&lt;br /&gt;
Products that have reached EOL are not available for download from WHMCS.&lt;br /&gt;
&lt;br /&gt;
As noted below in [[#Licensing &amp;amp; Services | Licensing &amp;amp; Services]], the product will continue to function even after the EOL date has passed.  The use of the software is not tied to LTS or EOL, but the active/inactive state of your license.&lt;br /&gt;
&lt;br /&gt;
=== Licensing &amp;amp; Services ===&lt;br /&gt;
WHMCS has historically offered with two types of licenses: Monthly and Owned. Whilst all new sales are of the Monthly type, this document also describes how the policy applies to [[Renewing Support and Updates|grandfathered Owned licenses]].  Each license type is bundled with [[#Help Desk Support | help desk support]] and access to [[#Software Update Service | software updates]] when initially purchased.&lt;br /&gt;
&lt;br /&gt;
A Monthly license always has access to these two services.  An Owned license has access to these two services for one year.  After one year, an Owned license holder can purchase an additional year of these two services as an addon.&lt;br /&gt;
&lt;br /&gt;
An Owned license validates use of the software indefinitely, even after the term of help desk support and access to software updates expires.  A Monthly license validates use of the software, help desk support, and access to software updates in one month durations.  The active status of your license governs the functional state of your WHMCS installation, not the development status (Active Development/LTS/EOL) of the deployed product version.&lt;br /&gt;
&lt;br /&gt;
==== Help Desk Support ====&lt;br /&gt;
The help desk support service allows customers to open tickets with our help desk.  These tickets are managed by our Technical Analysts.  Our Analysts work with customers to resolve a broad range of issues from configuration to identifying deficiency within a given version of WHMCS.  With this service, customers have access to Analysts regardless of which version of the product they are using, even if that version has reached its End Of Life.&lt;br /&gt;
&lt;br /&gt;
It's important to remember, however, that support provided by this service, or deficiencies identified by our Analysts, does not imply future refinements for versions. The [[#WHMCS Version &amp;amp; LTS Schedule|LTS schedule]], along with the severity of the identified issue, will determine what versions of WHMCS are candidates for any future refines.&lt;br /&gt;
&lt;br /&gt;
==== Software Update Service ====&lt;br /&gt;
The software update service allows customers access to the latest versions of WHMCS.  The service does not imply continued development, maintenance, or critical fixes for any given version of WHMCS.  The [[#WHMCS Version &amp;amp; LTS Schedule|LTS schedule]] will determine what versions of WHMCS are candidates for any refinements.  It is recommended that customers leverage this service and keep their WHMCS installation up to date, and optimally, tracking a version that is currently under [[#Active Development | Active Development]].&lt;br /&gt;
&lt;br /&gt;
=== Grandfathered LTS ===&lt;br /&gt;
The WHMCS Long-Term Support policy is effective May 1st, 2013.  Particular versions have been grandfathered, namely 4.5, 5.0, and 5.1.&lt;br /&gt;
 &lt;br /&gt;
=== WHMCS Version &amp;amp; LTS Schedule ===&lt;br /&gt;
This chart is updated upon each major or minor release of WHMCS.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;table table-striped&amp;quot;&lt;br /&gt;
! WHMCS Version&lt;br /&gt;
! Approximate Publication Date&lt;br /&gt;
! Targeted End-Of-Life Date&lt;br /&gt;
! Current Status&lt;br /&gt;
|-&lt;br /&gt;
| 8.7 || December 2022 || February 29th, 2024  || style=&amp;quot;background: #81D153; font-weight: bold;&amp;quot; | [[#Active Development | &amp;lt;span style=&amp;quot;color:#333&amp;quot;&amp;gt;Active Development&amp;lt;/span&amp;gt;]]&lt;br /&gt;
|-&lt;br /&gt;
| 8.6 || September 2022 || October 31st, 2023  || style=&amp;quot;background: #FFCCCC; font-weight: bold;&amp;quot; | LTS&lt;br /&gt;
|-&lt;br /&gt;
| 8.5 || April 2022 || May 31st, 2023  || style=&amp;quot;background: #84807F; font-weight: bold;&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 8.4 || December 2021 || January 31st, 2023  || style=&amp;quot;background: #84807F; font-weight: bold;&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 8.3 || September 2021 || October 31st, 2022  || style=&amp;quot;background: #84807F; font-weight: bold;&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 8.2 || May 2021 || June 30th, 2022  || style=&amp;quot;background: #84807F; font-weight: bold;&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 8.1 || November 2020 || December 31st, 2021  || style=&amp;quot;background: #84807F; font-weight: bold;&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 8.0 || August 2020 || September 30th, 2021  || style=&amp;quot;background: #84807F; font-weight: bold;&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 7.10 || April 2020|| April 30th, 2021  || style=&amp;quot;background: #84807F; font-weight: bold;&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 7.9 || November 2019 || December 31st, 2020  || style=&amp;quot;background: #84807F; font-weight: bold;&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 7.8 || August 2019 || August 31st, 2020  || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 7.7 || January 2019 || January 31st, 2020  || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 7.6 || June 2018 || July 31st, 2019  || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 7.5 || April 2018 || April 30th, 2019  || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 7.4 || November 2017 || November 30th, 2018  || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 7.3 || October 2017 || October 31st, 2018 || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 7.2 || May 2017 || May 31st, 2018 || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 7.1 || December 2016 || December 31, 2017 || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 7.0 || October 2016 || October 31, 2017 || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 6.3 || March 2016 || March 31, 2017 || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 6.2 || December 2015 || December 31, 2016 || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 6.1 || September 2015 || September 30, 2016 || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 6.0 || July 2015 || July 31, 2016 || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 5.3 || September 2013 || October 31, 2015 || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 5.2 || March 2013 || March 31, 2014 || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 5.1 || July 2012 || November 30, 2013 || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 5.0 || December 2011 || July 31, 2013 || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 4.5 || April 2011 || June 30, 2013 || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 4.4 || December 2010 || May 31, 2013 || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 4.3 || September 2010 || May 31, 2013 || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 4.2 || March 2010 || May 31, 2013 || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 4.1 || November 2009 || May 31, 2013 || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 4.0 || May 2009 || May 31, 2013 || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 1.x-3.x || -- || -- || style=&amp;quot;background: #84807F; font-weight: bold; font-style: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Last Updated: {{REVISIONDAY2: Long_Term_Support }}/{{REVISIONMONTH: Long_Term_Support }}/{{REVISIONYEAR: Long_Term_Support }}&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Products_Management&amp;diff=34084</id>
		<title>Products Management</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Products_Management&amp;diff=34084"/>
				<updated>2023-05-30T21:58:21Z</updated>
		
		<summary type="html">&lt;p&gt;John: /* Addons */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WHMCS allows you to offer many different types of products and services, both with or without automation, and to create addons and other additional items to tailor those products and services to your clients' needs.&lt;br /&gt;
&lt;br /&gt;
==Ordering Products and Services==&lt;br /&gt;
&lt;br /&gt;
[[File:Admin-order-form.png|800px]]&lt;br /&gt;
&lt;br /&gt;
To order new products and services for a client:&lt;br /&gt;
&lt;br /&gt;
# Go to '''Orders &amp;gt; Add New Order''' or click '''Add New Order''' in the client profile.&lt;br /&gt;
# Begin entering the client details to select the client (if the system didn't already preselect them).&lt;br /&gt;
# Choose the payment method to use for the order and any resulting invoice.&lt;br /&gt;
# Select a promotion code to apply to the order items (if applicable).&lt;br /&gt;
# Choose the order status. Unless this is for adding an existing service that needs no provisioning, leave it as pending so that you can review the order after payment and ensure any provisioning was successful.&lt;br /&gt;
# Select one of the following options:&lt;br /&gt;
#*Order Confirmation — Keep this selected if you wish to send the Order Confirmation email to the client.&lt;br /&gt;
#*Generate Invoice — Keep this selected if you wish to generate an invoice for the items on the order. This is useful if you are placing an order for a new service on the client's behalf or you will to manually enter an existing service but still want to invoice them right away.&lt;br /&gt;
#*Send Email — Keep this selected if you wish to send the Invoice Created email whenever the system creates an invoice.&lt;br /&gt;
# Enter and select the details for each product you want to add to the order, including a domain name, billing cycle, quantity, and any pricing overrides.&lt;br /&gt;
#* Click '''Add New Product''' to add multiple products to the order.&lt;br /&gt;
#* If the billing cycle and price override fields have not changed, the system will use the pricing from the shortest configured billing cycle.&lt;br /&gt;
#* Use the '''Quantity''' option to order multiples of a single product that doesn't require any specific configuration on the initial order (such as a domain name and configurable options). For example, if you are selling a software license using our Licensing Addon and the customer wishes to receive 10 licenses, you could use 10 for the Quantity and the system will create 10 services on their account after order submission.&lt;br /&gt;
# Optionally, select and enter the appropriate details to add one or more domain names to the order. &lt;br /&gt;
#* Select ''None'' if this order doesn't require a domain,&lt;br /&gt;
#* For registration, the system will prompt you for the domain name, the number of years to register it for, any applicable addons, and finally any pricing overrides for the registration and future renewal amounts. If there isn't a price override, the system uses the regular price for that TLD.&lt;br /&gt;
#* For transfers, the system will prompt you for the same details, along with the EPP code (also commonly called the Transfer Authorization code) from the existing registrar for the domain. During the client area ordering process, the client supplies this, and you may need to obtain it from them first if it is applicable to the domain you are trying to transfer.&lt;br /&gt;
#* For '''Domain Only''' orders, you would not enter anything into the fields in the '''Product/Service''' section ('''Product/Service''', '''Domain''', '''Billing Cycle''', '''Quantity''', and '''Price Override''') and fill in the '''Domain Registration''' section.&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;Premium Domains&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
When ordering domains via the Admin Area, the system does not look up the domain's availability. WHMCS will therefore be unaware of whether it is a premium domain. For premium domains, [[Clients:Summary_Tab#Login_as_Owner|log in as the account owner]] and order them via the Client Area.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Managing a Client's Products and Services==&lt;br /&gt;
&lt;br /&gt;
You can manage a client's products and services in the '''[[Clients:Products/Services Tab|Products/Services]]''' tab in the client's profile. This tab allows you to view and modify all of a products settings. After making any changes, click '''Save Changes'''.&lt;br /&gt;
&lt;br /&gt;
[[File:Module-commands.png|800px]]&lt;br /&gt;
&lt;br /&gt;
If the product or service is linked to a module, the '''Module Commands''' actions display when you view that product or service for the client. This allows you to execute any of the commands available in that module. &lt;br /&gt;
&lt;br /&gt;
Modules can have custom functions, but most use the same basic actions by default.&lt;br /&gt;
&lt;br /&gt;
==Addons==&lt;br /&gt;
&lt;br /&gt;
Product addons allow you to bill for additional items related to the main product but on independent billing cycles from the product (unlike Configurable Options, which have to bill on the same cycle). &lt;br /&gt;
&lt;br /&gt;
You can create new addons or work with preconfigured addons 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; [[Product Addons]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Product Addons'''. Then, clients can order addons from the Client Area product details page or from your store.&lt;br /&gt;
&lt;br /&gt;
[[File:Managing-addon.png|800px]]&lt;br /&gt;
&lt;br /&gt;
After purchase, you can manage addons for individual purchased products in the client profile.&lt;br /&gt;
* To view the list of addons for a product, select the parent product from the menu.&lt;br /&gt;
* To edit an addon, click the edit icon for that addon in the '''Addons''' list.&lt;br /&gt;
&lt;br /&gt;
===Adding Addons to Clients===&lt;br /&gt;
&lt;br /&gt;
[[File:New-addon-button.png|800px]]&lt;br /&gt;
&lt;br /&gt;
To add a new addon for a client:&lt;br /&gt;
&lt;br /&gt;
# Click '''[[Clients:Products/Services Tab|Products/Services]]''' in the client profile.&lt;br /&gt;
# Click '''Click here to Manage''' for '''Addons'''.&lt;br /&gt;
# Click '''Add New Addon'''.&lt;br /&gt;
# If you are adding a predefined addon, select it and leave the name, price, and billing cycle empty.&lt;br /&gt;
# If you are adding a custom addon that will be specific to this client, set '''Predefined Addon''' to ''None'' and enter a custom name, price, and cycle.&lt;br /&gt;
# To delay generation of the invoice, uncheck the generate invoice checkbox.&lt;br /&gt;
# Click '''Save Changes''' to complete the process.&lt;br /&gt;
&lt;br /&gt;
===Promotion Codes===&lt;br /&gt;
&lt;br /&gt;
You can apply promotion codes to an existing service using the menu. For more information, see [[Promotions]]. &lt;br /&gt;
&lt;br /&gt;
===Auto Recalculate Recurring Price on Save===&lt;br /&gt;
&lt;br /&gt;
Check this option to update the recurring amount field. You can use this after changing the product, configurable options, billing cycle, or promo code to auto calculate the new recurring price. We disable this by default to ensure that the system does not overwrite any discounted rates or custom pricing.&lt;br /&gt;
&lt;br /&gt;
===Overide Auto Suspension===&lt;br /&gt;
&lt;br /&gt;
This option can be used to allow extra time for payment to be made for specific individuals.&lt;br /&gt;
&lt;br /&gt;
You can enable or disable this option from the '''[[Clients:Products/Services Tab|Products/Services]]''' tab in the client profile.&lt;br /&gt;
&lt;br /&gt;
==Invoicing Early==&lt;br /&gt;
&lt;br /&gt;
In some circumstances, you may want to generate an invoice for a customer's next renewal date early. &lt;br /&gt;
&lt;br /&gt;
Admins can generate invoices for services, domains, or addons with the ''Pending'', ''Active'', or ''Suspended'' statuses in advance from the client's profile's '''[[Clients:Summary Tab|Summary]]''' tab.&lt;br /&gt;
&lt;br /&gt;
For more information, see [[Clients:Summary Tab]].&lt;br /&gt;
&lt;br /&gt;
==Upgrades/Downgrades==&lt;br /&gt;
&lt;br /&gt;
===Admin Area===&lt;br /&gt;
&lt;br /&gt;
[[File:Upgrade button.png|thumb|Upgrade/Downgrade Button]]&lt;br /&gt;
&lt;br /&gt;
If you would like to change the product or service a client is assigned to and automatically charge or credit the difference for that change then you need to use the Upgrade/Downgrade process. You'll find the option for this next to the '''Products/Services''' menu in the '''[[Clients:Products/Services Tab|Products/Services]]''' tab within the client profile.  &lt;br /&gt;
&lt;br /&gt;
To use it:&lt;br /&gt;
# Go to the product that you want to change.&lt;br /&gt;
# Perform the correct action for your WHMCS version:&lt;br /&gt;
#* For WHMCS 8.0 and later, click '''More''' and choose '''Upgrade/Downgrade'''.&lt;br /&gt;
#* For WHMCS 7.10 and earlier, go to the product you want to change, click '''Upgrade/Downgrade'''.&lt;br /&gt;
# Make the new product and billing cycle selections. A preview of what the charge will be for the remainder of the current cycle will display. &lt;br /&gt;
# Click '''Create Order'''. The system will create an order and invoice for the change.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;a href=&amp;quot;http://www.youtube.com/watch?v=wXEulukuHdo&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;
&lt;br /&gt;
There will no immediate changes to the product after creating an upgrade order, the actual product or config option changes won't take effect until the invoice is paid. But as soon as the invoice is paid the product will be updated, the new recurring amount will be set, and with most supported control panels the upgrade is fully automated with the new package details/changes being passed over to the server module being used.  Finally the upgrade email specified in the product configuration is sent to the user advising them of the new products details.&lt;br /&gt;
&lt;br /&gt;
The same process can also be used for configurable options changes and billing the difference for those if the product contains them.&lt;br /&gt;
&lt;br /&gt;
===Client Side===&lt;br /&gt;
&lt;br /&gt;
Clients can also place orders for upgrades &amp;amp; downgrades themselves if you have permitted it in the product configuration.  This allows clients to order upgrades/downgrades and complete them automatically without the need for any staff involvement.&lt;br /&gt;
&lt;br /&gt;
For more information, including how to allow clients upgrades and how the system calculates upgrade charges, see [[Automated Upgrades and Downgrades]].&lt;br /&gt;
&lt;br /&gt;
===Manual Upgrades===&lt;br /&gt;
There may be occasion when you wish to make an upgrade without placing an upgrade order (such as a free upgrade) or processing the upgrade before the client has paid for it. &lt;br /&gt;
&lt;br /&gt;
To do this:&lt;br /&gt;
&lt;br /&gt;
#Navigate to the client's '''[[Clients:Products/Services Tab|Products/Services]]''' tab.&lt;br /&gt;
#Change the product in the menu.&lt;br /&gt;
#Check '''Auto Recalculate on Save'''.&lt;br /&gt;
#Click '''Save Changes'''.&lt;br /&gt;
#Click '''Change Package''' in the '''Module Commands''' section.&lt;br /&gt;
&lt;br /&gt;
==Bulk Actions==&lt;br /&gt;
&lt;br /&gt;
[[File:Bulk-actions.png|thumb|Bulk Actions Tool]]&lt;br /&gt;
&lt;br /&gt;
The bulk actions option in WHMCS allows you to perform changes to two or more products inside a client's profile at the same time. The changes can consist of adjustments to the status, payment method, override auto-suspend date, first payment amount, recurring amount, next due date, and billing cycle. For example, you can use this option if you want to reduce a client's price on a number of separate products to the same level, execute module commands in bulk, or if you would like to bring multiple services in line to a matching due date.&lt;br /&gt;
&lt;br /&gt;
To use this feature, from the client's '''[[Clients:Summary Tab|Summary]]''' tab, check the checkboxes next to the products, services, addons, or domains you want to update. The bulk actions will display under the item lists. Additional actions can be viewed by clicking '''Show Advanced Options'''. Enter any changes you wish to make (leaving blank any fields you don't want to change) and click '''Apply''' to complete the changes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;a href=&amp;quot;http://www.youtube.com/watch?v=WLLsQML6rEU&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;
&lt;br /&gt;
===Create Prorata Invoice===&lt;br /&gt;
&lt;br /&gt;
When you change the Next Due Date of a product, service, addon, or domain, the system creates a pro-rated invoice that covers the period between the current next due date and the new one. This feature includes scenarios in which the various products have different next due dates to start with and will pro-rate each accordingly as separate line items on the invoice. &lt;br /&gt;
&lt;br /&gt;
To use this, specify the new Next Due Date, check '''Create Prorata Invoice''', and then click '''Apply'''.&lt;br /&gt;
&lt;br /&gt;
For example, the client could wish to pay for the following products on the 10th of the month going forward:&lt;br /&gt;
&lt;br /&gt;
 Product A - Next Due Date 01/01/2022 @ $30/month&lt;br /&gt;
 Product B - Next Due Date 05/01/2022 @ $60/month&lt;br /&gt;
&lt;br /&gt;
To do this, set the Next Due Date to 10/01/2022 and check the checkbox, an invoice with the following line items will be generated:&lt;br /&gt;
&lt;br /&gt;
 Product A (01/01/2022 - 09/01/2022) $8.00&lt;br /&gt;
 Product B (05/01/2022 - 09/01/2022) $10.00&lt;br /&gt;
 Total Due Today $18.00&lt;br /&gt;
&lt;br /&gt;
Only once paid will the Next Due Dates for both products be updated and in future both products would be invoiced on the 10th January.&lt;br /&gt;
&lt;br /&gt;
==Cancelling a Product/Service==&lt;br /&gt;
&lt;br /&gt;
===Auto Terminate/Fixed Term===&lt;br /&gt;
You can setup products to automatically terminate after a set number of days from the date of signup. For more information refer to [[Products_and_Services#Pricing_Tab|Configuring Products/Services]].&lt;br /&gt;
&lt;br /&gt;
===Clients Self Service===&lt;br /&gt;
[[File:Request-cancellation-form.png|800px]]&lt;br /&gt;
&lt;br /&gt;
WHMCS can completely automate the process of product cancellation or wait for manual confirmation. To do this navigate 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''', and enable the '''Show Cancellation Link''' option.&lt;br /&gt;
&lt;br /&gt;
Clients can then request cancellation of any of their products &amp;amp; services directly from the client area.&lt;br /&gt;
&lt;br /&gt;
To fully automate cancellation and have the module terminate command run (for example to remove the hosting account from the server) check '''Cancellation Requests''' 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''' option.&lt;br /&gt;
&lt;br /&gt;
Now when the cron runs any services with a cancellation request due today will be removed from the server and the status changed in WHMCS to Cancelled. The process runs as follows:&lt;br /&gt;
&lt;br /&gt;
*Client clicks ''Request Cancellation'' button on the product details page in client area&lt;br /&gt;
*They're prompted to provide a cancellation reason and provided 2 choices for the cancellation - either '''Instant''' (on next cron run) or at the '''End of the Current Billing Cycle'''.&lt;br /&gt;
*If a matching domain exists under the client's account in active status with ''Auto Renew'' enabled, the customer is given the option to disable auto renew too - thereby leaving the domain to expire.&lt;br /&gt;
*Any unpaid invoices for the product will be cancelled ([[Invoice_Tab#Cancellation_Request_Handling|if enabled]])&lt;br /&gt;
*A notification email is sent to administrators and you will be able to review the reason provided in '''Clients &amp;gt; Cancellation Requests'''.&lt;br /&gt;
&lt;br /&gt;
====Manual Cancellation====&lt;br /&gt;
If the Cancellation Request setting is '''not''' enabled then at this point you must navigate to the cancellation requests page, click through to the service page and click the '''Terminate''' module command button to remove the account from the server. The cancellation request is then moved from the ''Open Requests'' page to ''Completed Requests''.&lt;br /&gt;
&lt;br /&gt;
====Automated Cancellation====&lt;br /&gt;
If the Cancellation Request setting '''is''' enabled the cancellation request will be actioned when the daily automation cron runs on the appropriate day. For example if the ''Immediate'' option was selected it will be terminated on the next cron run, if ''End of Billing Period'' was selected it will be terminated when the cron runs on the service's Next Due Date.&lt;br /&gt;
&lt;br /&gt;
====Voiding Cancellation Requests====&lt;br /&gt;
If a Cancellation Request has been submitted by your client and they later change their mind, it is quick and easy to void their cancellation request. Simply navigate to '''Clients &amp;gt; Cancellation Requests''', locate the cancellation you wish to remove, and then click the red X next to the request to remove it. This will stop the cancellation from processing automatically. You'll need to make sure to mark any invoices that were cancelled as &amp;quot;Unpaid&amp;quot; to prevent billing errors.&lt;br /&gt;
&lt;br /&gt;
===Admin Scheduled Cancellations===&lt;br /&gt;
&lt;br /&gt;
As an admin user, you can schedule the termination of a product at the end of the currently active period by going to the Products/Services tab, checking the '''Auto-Terminate End of Cycle''' option and optionally entering a reason/note for it. Any unpaid invoices for the product will be cancelled and will suppress any further renewal invoices from generating for this product and terminate it when the next due date is reached.&lt;br /&gt;
The &amp;quot;Cancellation Requests&amp;quot; setting 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''' must also be enabled.&lt;br /&gt;
&lt;br /&gt;
===Admin Immediate Cancellation===&lt;br /&gt;
&lt;br /&gt;
Finally, if you want to cancel or terminate a product or service immediately then you simply need to locate the item you wish to cancel, and from the Products/Services page, click the '''Terminate''' button if the product is linked to a module or if not, manually change the dropdown status from Active to '''Cancelled'''.  Once you've done this, no further invoices will generate for the item.&lt;br /&gt;
&lt;br /&gt;
===Addons===&lt;br /&gt;
When a product or service is terminated automatically by the WHMCS System, including through the above Admin Scheduled Cancellation routine, any child addon(s) attached to the product/service will also be cancelled at the same time.  Addons do not support independent scheduled cancellations of their own however.&lt;br /&gt;
&lt;br /&gt;
====Termination Date====&lt;br /&gt;
When an addon is Cancelled or Terminated, either manually via the admin interface or automatically as part of a product termination, the Termination Date will be assigned the current date automatically.&lt;br /&gt;
The termination date can be edited manually at any time via the Product Addon management screens within the admin area.&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;A termination date can only be set/edited when the addon is in one of either Terminated or Cancelled status.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Moving a Product/Service to another Client==&lt;br /&gt;
[[File:Transfer product.png|thumb|Transfer Product Popup]]&lt;br /&gt;
#From the Products/Services details page of the product you want to move, click '''Move Product/Service to Another Client''' located at the top-right of the page&lt;br /&gt;
#A popup box will appear (you will need popup blockers disabled to use this)&lt;br /&gt;
#In the popup enter the ID of the new owner. If you don't know the client's ID the Search field can be used to search by name, company or email address. Click the client's name and the ID will be filled in.&lt;br /&gt;
#After selecting the desired click, click the '''Transfer''' button&lt;br /&gt;
#The item will then be transferred, the window will close, and the original window will refresh to show the product under its new owner.&lt;br /&gt;
&lt;br /&gt;
'''N.B.''' Moving a products/service between clients within WHMCS will not have any affect on the account on the server.&lt;br /&gt;
&lt;br /&gt;
===Invoices===&lt;br /&gt;
Invoices cannot be moved between clients, therefore when moving a product/service any invoices will remain under the old owner. Therefore it would be advisable to check the old owner's Invoices tab for any unpaid invoices for this service and cancel them. If you wish to invoice the new owner for the service, move the Next Due Date forward/back by one day and a new invoice will be generated when the cron next runs.&lt;br /&gt;
&lt;br /&gt;
==Deleting a Product/Service from a Client==&lt;br /&gt;
&lt;br /&gt;
#From the Products/Services details page of the product you want to delete, click '''More''' and then click '''Delete'''.&lt;br /&gt;
#After clicking this link, you will be asked to confirm if you are sure you want to delete the item.&lt;br /&gt;
#If you click No you will be returned to the page, if you click Yes, the item will be deleted and you will be taken to the next product/service under that client.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Deleting a product from WHMCS will not terminate it on the server.  If you wanted to remove it from the server aswell, you need to run the Terminate Module Command as explained above before deleting the record from WHMCS.&lt;br /&gt;
&lt;br /&gt;
==Resending Product Welcome Email==&lt;br /&gt;
To re-send a product welcome email simply navigate to the client's Products/Services tab and click the &amp;quot;Resend Product Welcome Email&amp;quot; button at the bottom of the page.&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Domain_Contact_Verification&amp;diff=34070</id>
		<title>Domain Contact Verification</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Domain_Contact_Verification&amp;diff=34070"/>
				<updated>2023-05-04T13:59:09Z</updated>
		
		<summary type="html">&lt;p&gt;John: /* Supported Registrars */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The current Transfer Policy for domains as enforced by ICANN states that any time a material change is made to a domain's registrant, organization or email address, a new Change of Registrant process should be triggered.  This Transfer Policy has been mandated by ICANN to all accredited registrars.&lt;br /&gt;
&lt;br /&gt;
The Transfer Policy can be seen in full at https://www.icann.org/resources/pages/transfer-policy-2016-06-01-en&lt;br /&gt;
&lt;br /&gt;
==Supported Functionality==&lt;br /&gt;
&lt;br /&gt;
WHMCS provides the following functionality to help domain registrars using WHMCS be compliant with the ICANN Transfer Policy:&lt;br /&gt;
&lt;br /&gt;
* Provide informational alerts and messaging within the product when a domain is awaiting verification of the WHOIS Contact following a new registration&lt;br /&gt;
* Prior to making a change to the registrant name, organization or email address, a warning will be provided indicating that the change being made will trigger the Change of Registrant process&lt;br /&gt;
* Offer end users and admin users the ability to opt-out of the Transfer Lock imposed following the Change of Registrant process&lt;br /&gt;
* Provide informational alerts and messaging within the product indicating when a Change of Registrant process is pending for a domain, and the date by which verification must be completed&lt;br /&gt;
* Ability to request re-sending of the Verification Emails for the Change of Registrant process&lt;br /&gt;
&lt;br /&gt;
==Supported Registrars==&lt;br /&gt;
&lt;br /&gt;
At the time of writing, ICANN Transfer Policy functionality is supported by the following modules:&lt;br /&gt;
&lt;br /&gt;
* Enom&lt;br /&gt;
* ResellerClub&lt;br /&gt;
* StarGate/UK2&lt;br /&gt;
* ResellerCamp&lt;br /&gt;
* NetEarthOne&lt;br /&gt;
* CentralNIC&lt;br /&gt;
&lt;br /&gt;
==Important Notes==&lt;br /&gt;
&lt;br /&gt;
* WHOIS Contact Verification is required both when a domain is registered for the first time, and when updating the contact information of an already registered domain. Both the former and the new email address of the domain will receive a verification email requesting them to approve the change.&lt;br /&gt;
* All verification emails triggered by WHOIS contact changes are sent directly by the domain registrars and not the WHMCS product.&lt;br /&gt;
* Rules and requirements for opting-out of the Transfer Lock vary by registrar. You should check with your chosen registrar what the requirements are for your use case.&lt;br /&gt;
&lt;br /&gt;
==Example Messaging==&lt;br /&gt;
&lt;br /&gt;
Below are examples of the alerts and messaging users will see when managing domains within WHMCS.&lt;br /&gt;
&lt;br /&gt;
'''New Registration Verification'''&lt;br /&gt;
&lt;br /&gt;
WHOIS Contact Verification is required when a domain is registered for the first time.  Until that verification is completed, users will see a message as follows.&lt;br /&gt;
&lt;br /&gt;
[[File:Domain-contact-verification-required.png]]&lt;br /&gt;
&lt;br /&gt;
'''IRTP Transfer Lock Enabled'''&lt;br /&gt;
&lt;br /&gt;
When a domain is registered for the first time, or when a change of registrant is made without opting-out of the transfer lock, the domain will be locked for transfer and users will see a message as follows:&lt;br /&gt;
&lt;br /&gt;
[[File:Domain-irtp-transfer-lock.png]]&lt;br /&gt;
&lt;br /&gt;
'''Change of Registrant Opt-Out Confirmation'''&lt;br /&gt;
&lt;br /&gt;
When making a change to the registrant name, organization or email address, the following dialog will be displayed upon submission indicating that the IRTP Transfer Lock will be triggered by this change and providing the option to Opt-Out.&lt;br /&gt;
&lt;br /&gt;
[[File:Domain-transfer-lock-opt-out.png]]&lt;br /&gt;
&lt;br /&gt;
'''Contact Change Successful - Approval Required'''&lt;br /&gt;
&lt;br /&gt;
Following submission of a WHOIS Contact Change that triggers the Verification Process, users will be shown a message indicating that the change requires verification and that an email has been sent to them.&lt;br /&gt;
&lt;br /&gt;
Any requested changes will not be made to the WHOIS Contact Information until the verification has been successfully completed.&lt;br /&gt;
&lt;br /&gt;
[[File:Domain-contact-verification-required2.png]]&lt;br /&gt;
&lt;br /&gt;
'''Pending Contact Change with Transfer Lock'''&lt;br /&gt;
&lt;br /&gt;
When a contact change is pending, the alert will provide the date approval is needed by if it is made available by the chosen domain registrar.&lt;br /&gt;
&lt;br /&gt;
[[File:Domain-contact-change-pending.png]]&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Database_Errors&amp;diff=34057</id>
		<title>Database Errors</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Database_Errors&amp;diff=34057"/>
				<updated>2023-04-25T12:48:53Z</updated>
		
		<summary type="html">&lt;p&gt;John: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You may see the following errors when working with databases:&lt;br /&gt;
&lt;br /&gt;
==Down for Maintenance - An upgrade is currently in progress==&lt;br /&gt;
&lt;br /&gt;
This error indicates that the version of WHMCS's files does not match the version of your database. For example, you may have uploaded files for WHMCS 8.6 but, because the upgrade script has not run, the database is still set up for WHMCS 8.5. &lt;br /&gt;
&lt;br /&gt;
To resolve this, upload the current version's WHMCS files again and perform the upgrade process. After the upgrade, you will be able to access the system again.&lt;br /&gt;
&lt;br /&gt;
For more information, see [[Updating]] and [https://help.whmcs.com/m/updating/l/1431723-troubleshooting-a-down-for-maintenance-error-while-updating-whmcs Troubleshooting a Down for Maintenance Error while Updating WHMCS].&lt;br /&gt;
&lt;br /&gt;
==Critical Error - Unable to connect to the database==&lt;br /&gt;
&lt;br /&gt;
This error indicates that the system cannot connect to your database. Check and update the database connection details in the &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt; file. For example, you may need to make corrections if you recently changed the password or renamed the database itself. This could also be an issue with MySQL® or an empty &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
If you have confirmed that the database name, username, and password are correct, make certain that the MySQL user is assigned to the desired database and has full access. For help, contact your hosting provider or system administrator.&lt;br /&gt;
&lt;br /&gt;
==Critical Error - Could not connect to the database==&lt;br /&gt;
&lt;br /&gt;
This error indicates that the system cannot connect to your database. Check and update the database connection details in the &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt; file. If you've made changes to your PHP version or configuration, check whether the &amp;lt;tt&amp;gt;[https://www.php.net/manual/en/ref.pdo-mysql.php PDO_MySQL]&amp;lt;/tt&amp;gt; PHP extension is installed and your system meets all of our [[System Requirements|system requirements]].&lt;br /&gt;
&lt;br /&gt;
You can find more details about the error by [[Blank_or_Partially_Rendered_Pages#Enabling_From_Your_Configuration_File|enabling error reporting]] and reloading the page. For help, contact your hosting provider or system administrator.&lt;br /&gt;
&lt;br /&gt;
==Critical Error - Could not connect to the $db_name database. PDO extension not found==&lt;br /&gt;
&lt;br /&gt;
The application requires the &amp;lt;tt&amp;gt;[https://www.php.net/manual/en/ref.pdo-mysql.php PDO_MySQL]&amp;lt;/tt&amp;gt; PHP extension in order to connect to your MySQL® database but it is not available in your server's PHP configuration.&lt;br /&gt;
&lt;br /&gt;
Check to ensure that your system meets all of our [[System Requirements|system requirements]]. &lt;br /&gt;
&lt;br /&gt;
==Error Message &amp;quot;Field xxx doesn't have a default value&amp;quot; during installation==&lt;br /&gt;
&lt;br /&gt;
This error indicates that you attempted to install WHMCS with MySQL Strict Mode enabled. WHMCS requires you to disable this before installation.&lt;br /&gt;
&lt;br /&gt;
For steps to disable this, see [https://help.whmcs.com/m/installation/l/678317-disabling-mysql-strict-mode Disabling MySQL Strict Mode].&lt;br /&gt;
&lt;br /&gt;
==MySQL server has gone away==&lt;br /&gt;
&lt;br /&gt;
This error indicates that the MySQL server is closing the connection WHMCS is using for the current task. You may see this when upgrading WHMCS due to the large number of MySQL queries that upgrading performs. In most cases, this occurs because the timeout value is too low to allow all the upgrade tasks to finish.&lt;br /&gt;
&lt;br /&gt;
To resolve this during generation operations, work with your system administrator or hosting provider to increase the &amp;lt;tt&amp;gt;wait_timeout&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;max_allowed_packet&amp;lt;/tt&amp;gt; values in the MySQL configuration. If you were performing an upgrade, make certain to restore your pre-upgrade database backups before running the upgrade script again.&lt;br /&gt;
&lt;br /&gt;
{{troubleshooting}}&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Automated_Upgrades_and_Downgrades&amp;diff=34023</id>
		<title>Automated Upgrades and Downgrades</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Automated_Upgrades_and_Downgrades&amp;diff=34023"/>
				<updated>2023-04-04T16:00:57Z</updated>
		
		<summary type="html">&lt;p&gt;John: /* Admin Upgrades */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==How it works==&lt;br /&gt;
&lt;br /&gt;
In WHMCS, your clients can upgrade or downgrade their products and packages directly in the Client Area. When they place an upgrade or downgrade order, they will receive a refund for any value they haven't used of the current cycle on the existing product or service. Then, the system will charge them for the remainder of the cycle at the new product's or service's price. The next due date doesn't change.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;'''Old Product/Service'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Price Per Day * Number of days until next due date = Amount Credited&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
'''Price Per Day''' in the above calculation is the '''Recurring Amount''' of the client's service divided by the number of days in the billing cycle.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;'''New Product/Service'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Price Per Day * Number of days until next due date = Amount Debited&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
'''Price Per Day''' in the above calculation is the cost of the new service divided by the number of days in the billing cycle.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;'''Total Payable Today = Amount Debited - Amount Credited'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Free to Paid Products===&lt;br /&gt;
&lt;br /&gt;
When a client upgrades a free product to a paid product, you must set a '''Next Due Date''' to determine when it will renew. WHMCS sets this automatically to one billing cycle from the date of upgrade.&lt;br /&gt;
&lt;br /&gt;
For example, if a client upgraded from a free product to a monthly paid product on the 1st of January, the '''Next Due Date''' would become the 1st of February.&lt;br /&gt;
&lt;br /&gt;
===Promotion Codes===&lt;br /&gt;
&lt;br /&gt;
====Upgrade Discounts====&lt;br /&gt;
&lt;br /&gt;
You can configure [[Promotions#Upgrades.2FDowngrades|promotion codes]] to apply to upgrades. This is useful for incentivizing clients to upgrade to higher-tier products. When the client places an upgrade order, they will receive the opportunity to enter a promo code. The system calculates the discount based on the total amount due. Clients receive this as a discount on the amount payable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
'''Total Payable Today (from above) - Discount = Discounted Upgrade Price'''&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Lifetime Promotions====&lt;br /&gt;
&lt;br /&gt;
You can configure [[Promotions|promotion codes]] to last the lifetime of a client's service, including through upgrades and downgrades. For these, the system calculates the recurring discount using the full product price after the upgrade. The recurring price is reduced accordingly and then updated on the client's service.&lt;br /&gt;
&lt;br /&gt;
===Upgrade Order Handling===&lt;br /&gt;
&lt;br /&gt;
If an upgrade order is not paid before the renewal invoice is generated by the daily cron task, the system cancels the upgrade order automatically and generates the renewal invoice using the current service details. To upgrade, the client must place another upgrade order.&lt;br /&gt;
&lt;br /&gt;
==Clients Self Service==&lt;br /&gt;
&lt;br /&gt;
To place an upgrade or downgrade order, the client must log in to the Client Area, go to '''Services &amp;gt; My Services''', click to view the full details for the product or service they wish to manage, and then select the desired upgrade options.&lt;br /&gt;
&lt;br /&gt;
==Admin Upgrades==&lt;br /&gt;
&lt;br /&gt;
Admins can also create upgrade orders from the Admin Area. The system doesn't restrict admins to the products or options in the product configuration, so admins can upgrade between any two packages. Using the upgrade process will create the prorata invoice for the difference and auto-provision it on payment. &lt;br /&gt;
&lt;br /&gt;
To create an upgrade order from the Admin Area, go to the service to upgrade and click '''More &amp;gt; Upgrade/Downgrade''' in the product details tab.&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
&lt;br /&gt;
===Product Upgrades===&lt;br /&gt;
&lt;br /&gt;
To allow clients to upgrade and downgrade their packages, you need to specify the products that can upgrade to and downgrade to each of your packages. &lt;br /&gt;
&lt;br /&gt;
To do this, 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''' in the '''Upgrades''' tab of the product configuration.&lt;br /&gt;
&lt;br /&gt;
To select multiple products, hold the '''Ctrl''' key while selecting the products in the list.&lt;br /&gt;
&lt;br /&gt;
===Configurable Options Upgrades===&lt;br /&gt;
&lt;br /&gt;
With the configurable options upgrade configuration, this allows your clients to upgrade or downgrade the configurable option selections you offer on the product.  You do not need to specify any further configuration for this. &lt;br /&gt;
&lt;br /&gt;
Check the checkbox and the client will see the upgrade options in the Client Area. The system calculates the upgrade price for configurable options the same way as the products above.&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Resetting_an_Admin_Password&amp;diff=33966</id>
		<title>Resetting an Admin Password</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Resetting_an_Admin_Password&amp;diff=33966"/>
				<updated>2023-03-07T15:16:56Z</updated>
		
		<summary type="html">&lt;p&gt;John: /* There was an error sending the email. Please try again */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you forget your administrator password for WHMCS, you can request a password reset by clicking &amp;quot;'Forgot your password?''' on the [[Admin Area]] login page. Follow the instructions in the email message you receive.&lt;br /&gt;
&lt;br /&gt;
===Missing Reset Link===&lt;br /&gt;
&lt;br /&gt;
If you do not see the '''Forgot your password?''' link, the option is disabled in 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;
&lt;br /&gt;
To reenable it, follow the steps below:&lt;br /&gt;
&lt;br /&gt;
# Log in to your database administration interface. Usually, this is phpMyAdmin in your server's control panel.&lt;br /&gt;
# Select the WHMCS database in the left-hand menu.&lt;br /&gt;
# Browse to the &amp;lt;tt&amp;gt;tblconfiguration&amp;lt;/tt&amp;gt; table.&lt;br /&gt;
# Ensure that the &amp;lt;tt&amp;gt;DisableAdminPWReset&amp;lt;/tt&amp;gt; setting has a blank value.&lt;br /&gt;
# Click '''Go''' to apply the changes.&lt;br /&gt;
&lt;br /&gt;
If you visit the [[Admin Area]] login page again, you will see the '''Forgot your password?''' link.&lt;br /&gt;
&lt;br /&gt;
===There was an error sending the email. Please try again===&lt;br /&gt;
&lt;br /&gt;
If your system is encountering a technical error that prevents the sending of the reset email, you can change the password directly in the database. &lt;br /&gt;
&lt;br /&gt;
To do this:&lt;br /&gt;
&lt;br /&gt;
# Log in to your database administration interface (usually phpMyAdmin via your server control panel).&lt;br /&gt;
# Select the WHMCS database in the left-hand menu.&lt;br /&gt;
# Browse to the &amp;lt;tt&amp;gt;tbladmins&amp;lt;/tt&amp;gt; table.&lt;br /&gt;
# Click '''Edit''' next to the administrator account that you want to reset.&lt;br /&gt;
# Enter the new password in the '''password''' textbox.&lt;br /&gt;
# From the '''Functions''' menu, select ''MD5''.&lt;br /&gt;
# Clear the contents of the '''passwordhash''' field.&lt;br /&gt;
# Click '''Go''' to apply the changes.&lt;br /&gt;
&lt;br /&gt;
You can now visit the [[Admin Area]] login page and log in using the new password. To troubleshoot the problem with sending email, see [[Email Sending Issues]].&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Email_Importing&amp;diff=33910</id>
		<title>Email Importing</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Email_Importing&amp;diff=33910"/>
				<updated>2023-02-09T18:00:18Z</updated>
		
		<summary type="html">&lt;p&gt;John: Fixed Email Importing Integrations link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Email importing is distinct from email piping and requires a different configuration. We recommend using email importing instead of email piping if you use any control panel other than cPanel or if you want to import email from multiple domains.&lt;br /&gt;
 &lt;br /&gt;
Begin by configuring your support ticket departments. 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; [[Support Departments]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Support &amp;gt; Support Departments'''.  Add each of your departments and the email addresses that you assigned to them.&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;RFC 3834&amp;lt;/strong&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
In WHMCS 8.1 and later, the system sends support emails with RFC 3834-compliant headers by default.&lt;br /&gt;
* You can disable 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; General Settings''' in the '''[[Mail Tab|Mail]]''' tab.&lt;br /&gt;
* Regardless of your settings, WHMCS will not accept email that contains the &amp;lt;tt&amp;gt;Auto-Submitted&amp;lt;/tt&amp;gt; header via email piping or email importing.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
==Email Importing Service Providers==&lt;br /&gt;
  &lt;br /&gt;
In addition to traditional POP3 or IMAP service providers, WHMCS supports email importing via Gmail in WHMCS 8.1 and higher and via Microsoft® services in WHMCS 8.6 and higher. These integrations provide access to your mail provider via secure protocols. Some mail providers require you to use these capabilities or have announced a requirement for it in the future.&lt;br /&gt;
  &lt;br /&gt;
To use these service providers, you will need to both configure your mail service provider and create an app for it via either the Google console or Microsoft Azure®. For more information, see [[Email Importing Integrations]].&lt;br /&gt;
 &lt;br /&gt;
==Configuring Email Importing==&lt;br /&gt;
  &lt;br /&gt;
[[File:Cron piping.png|thumb|The cron command]]&lt;br /&gt;
  &lt;br /&gt;
To configure email importing for a support department:&lt;br /&gt;
  &lt;br /&gt;
# Set up your email accounts:&lt;br /&gt;
#* For POP3 or IMAP, create a unique email account on your mail server for each support department. This must be a mailbox; an alias is not sufficient.&lt;br /&gt;
#* For Google or Microsoft, configure your mail service provider and create an app for it:&lt;br /&gt;
#** For steps to enable Google, see [https://help.whmcs.com/m/support_tools/l/1328652-setting-up-pop3-importing-with-oauth-via-google Setting Up POP3 Importing via Google].&lt;br /&gt;
#** For steps to enable Microsoft, see [https://help.whmcs.com/m/support_tools/l/1600723-setting-up-importing-via-microsoft Setting Up Importing via Microsoft]. &lt;br /&gt;
# In WHMCS, 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; [[Support Departments]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Support &amp;gt; Support Departments'''.&lt;br /&gt;
# Create a new department and enter the top section of information or, for existing departments, click '''Edit'''.&lt;br /&gt;
# Enter the email information for the department:&lt;br /&gt;
## Select a '''Service Provider'''.&lt;br /&gt;
## Enter the appropriate details for your service provider.&lt;br /&gt;
## If you selected ''OAuth2'' as your '''Authentication''' type for '''Google''', enter your '''Email Address''' and the '''ClientID''' and '''Client Secret''' that you generated. Then, click '''Connect'''.&lt;br /&gt;
# Set up a cron job to run the &amp;lt;tt&amp;gt;pop.php&amp;lt;/tt&amp;gt; file using the '''Ticket Importing using Mail Importing (POP3/IMAP)''' command on the '''Support Departments''' page every few minutes. We recommend that you set this to run every five minutes.&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
The system will delete email in the source mailboxes upon successful import into WHMCS.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Client_Groups&amp;diff=33877</id>
		<title>Client Groups</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Client_Groups&amp;diff=33877"/>
				<updated>2023-02-07T13:06:33Z</updated>
		
		<summary type="html">&lt;p&gt;John: /* Create a Client Group */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Client Groups allow you to group various clients together and quickly identify them at a glance. &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; Client Groups''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Client Groups'''.&lt;br /&gt;
&lt;br /&gt;
== Create a Client Group ==&lt;br /&gt;
 &lt;br /&gt;
To create a group, fill in the details under '''Add Client Groups'''.&lt;br /&gt;
 &lt;br /&gt;
*You can assign a color to the group. It will appear in client list, support tickets, and menus (for example, to highlight important customers).&lt;br /&gt;
* You can assign a group discount that will apply to all future invoices for those clients. The system applies the discount at the invoice stage, so it will not appear at checkout.&lt;br /&gt;
*You can exempt the group from suspensions or terminations. This does not apply to fixed-term or free trial products.&lt;br /&gt;
*You can enable '''[[Clients:Profile_Tab#Separate_Invoices|Separate Invoices]]''' for an entire group.&lt;br /&gt;
 &lt;br /&gt;
You can add, edit, and remove client groups here. However, you can't remove a group that is in use.&lt;br /&gt;
 &lt;br /&gt;
Use the client's profile area to assign or change their groups.&lt;br /&gt;
&lt;br /&gt;
==Domain Pricing Slabs==&lt;br /&gt;
&lt;br /&gt;
Domain Pricing Slabs let you specify different prices for clients within a client group. For example, you may wish to set lower domain pricing for a particular client group without offering the blanket discount of the group discount feature. You could even use this to give a single customer custom pricing.&lt;br /&gt;
&lt;br /&gt;
If a TLD doesn't have a set custom price, the system charges the client the default base slab pricing.&lt;br /&gt;
&lt;br /&gt;
===Creating a Slab===&lt;br /&gt;
&lt;br /&gt;
[[File:Slab pricing.png|thumb|Configure Slab Pricing]]&lt;br /&gt;
&lt;br /&gt;
To create a slab:&lt;br /&gt;
&lt;br /&gt;
#Create a group (see above).&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 Pricing]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Domain Pricing'''.&lt;br /&gt;
#Click ''Open Pricing'' next to the first TLD for which you want to set custom pricing.&lt;br /&gt;
#Select the group name from '''Pricing Slab for'''.&lt;br /&gt;
#Click '''Activate Pricing Slab'''.&lt;br /&gt;
#Click '''OK'''.&lt;br /&gt;
#Enter the custom pricing for this domain. The system copies the base slab pricing for your convenience.&lt;br /&gt;
#Click '''Save Changes'''.&lt;br /&gt;
#Repeat this process for each additional domain.&lt;br /&gt;
&lt;br /&gt;
Now, when a member of this client group orders these domains, they will receive the custom slab pricing instead of the default price.&lt;br /&gt;
&lt;br /&gt;
===Deactivating a Slab===&lt;br /&gt;
&lt;br /&gt;
If you no longer want to offer custom pricing on a particular domain, you can disable the slab at any time. To do this:&lt;br /&gt;
&lt;br /&gt;
#Click '''Open Pricing''' next to the TLD.&lt;br /&gt;
#Select the group name from '''Pricing Slab for'''.&lt;br /&gt;
#Click '''Deactivate Pricing Slab'''.&lt;br /&gt;
&lt;br /&gt;
Any new orders from clients in this group will now receive the regular price. Any existing domains that clients ordered while the custom pricing was in effect will retain that price. To change them, use the '''[[Bulk Pricing Update Utility]]'''.&lt;br /&gt;
&lt;br /&gt;
===Assigning a Client to a Client Group===&lt;br /&gt;
&lt;br /&gt;
To assign a client to a client group:&lt;br /&gt;
&lt;br /&gt;
# Navigate to '''Clients &amp;gt; View/Search Clients''' and select the client.&lt;br /&gt;
# Select the '''[[Clients:Profile Tab|Profile]]''' tab.&lt;br /&gt;
# Use the '''Client Group''' menu to set the required client group.&lt;br /&gt;
# Click '''Save Changes'''.&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=EWAY&amp;diff=33876</id>
		<title>EWAY</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=EWAY&amp;diff=33876"/>
				<updated>2023-02-07T13:05:23Z</updated>
		
		<summary type="html">&lt;p&gt;John: /* Troubleshooting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;We added this module in WHMCS 7.9. It supersedes the [[EWAY Rapid 3.1]] module.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
eWAY lets WHMCS users to accept online credit card payments easily and securely so they can grow their business fast. The Secure Fields solution allows merchants to securely and seamlessly process payments from their own website, without exposing the sensitive card data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;[https://my.eway.io/whmcs Create an eWAY Account]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Further, the WHMCS integration takes advantage of Token Payments, allowing customers to securely store the card information within eWAY’s PCI DSS environment, and WHMCS uses the Token (which represent the saved card) to handle all future payments without the customer having to key in their details again.&lt;br /&gt;
{{gateways&lt;br /&gt;
| type = token&lt;br /&gt;
| onetime = yes&lt;br /&gt;
| recurring = yes&lt;br /&gt;
| refunds = yes&lt;br /&gt;
| updatecc = yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Adding the EWAY Payment Gateway ==&lt;br /&gt;
 &lt;br /&gt;
To set up the EWAY 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 '''EWAY'''.&lt;br /&gt;
# Check '''Show on Order Form''' to display this payment method in the Client Area during checkout. &lt;br /&gt;
# Create and enter your EWAY credentials:&lt;br /&gt;
## Create an [https://my.eway.io/whmcs eWay account].&lt;br /&gt;
## Log in to the [https://my.eway.io MYeWAY Dashboard].&lt;br /&gt;
## Go to '''My Account &amp;gt; API Key'''.&lt;br /&gt;
## Copy and paste your API key and password into WHMCS. For information on setting up your API key and password, see the [https://go.eway.io/s/article/How-do-I-setup-my-Live-eWAY-API-Key-and-Password eWAY Knowledge base.].&lt;br /&gt;
## Copy and paste your public API key ('''Pay Now Button Public API key''') into WHMCS. For information on obtaining your Public API Key, see [https://go.eway.io/s/article/How-do-I-find-my-Public-API-Key Finding my Public API Key]&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
&lt;br /&gt;
===Test Mode===&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;
===Migrating to eWAY from eWAY Rapid 3.1===&lt;br /&gt;
&lt;br /&gt;
The eWAY Rapid 3.1 module included in previous versions of WHMCS can be easily replaced with the eWAY module.&lt;br /&gt;
If the WHMCS installation has existing tokens stored from the previous module, a button will be shown on the Payment Gateways configuration page to swiftly migrate the tokens to the new module.&lt;br /&gt;
&lt;br /&gt;
#Obtain the Public API Key from eWAY (see above).&lt;br /&gt;
#Log in to the WHMCS Admin Area.&lt;br /&gt;
#Navigate to the Setup menu.&lt;br /&gt;
#Click on the Payments option, and then again on Payment gateways.&lt;br /&gt;
#Enter your administrator password if prompted.&lt;br /&gt;
#Click on the '''Manage Existing Gateways''' button and locate the eWAY Rapid Module.&lt;br /&gt;
#Click on the '''Migrate to eWAY Module''' button.&lt;br /&gt;
#Enter the Public API Key where prompted and press the '''Migrate''' button&lt;br /&gt;
#The page will save and reload showing the eWAY module is active and the eWAY Rapid Module disabled&lt;br /&gt;
#Update any configuration on the newly activated module as required.&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; The Migrate to eWAY Module will only show if the WHMCS installation has Payment Methods associated with the eWAY Rapid Payments module.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Card Fields are Not Displayed===&lt;br /&gt;
The '''Card Number''', '''Expiry Date''' and '''CVV Number''' fields may not display on the shopping cart or the Manage Pay Methods page in the shopping cart, at '''Hello, User! &amp;gt; Payment Methods''' in the Client Area, or when you click '''Add Credit Card''' in the '''[[Summary_Tab|Summary]]''' tab in the client profile.&lt;br /&gt;
&lt;br /&gt;
This indicates that eWAY is rejecting the eWAY API key in the 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; [[Payment Gateways]]. This might occur if you entered the API key incorrectly, it has expired, or eWAY revoked it.&lt;br /&gt;
&lt;br /&gt;
To resolve the error, perform steps 4 and 5 from [[#Adding_the_EWAY_Payment_Gateway|Adding the EWAY Payment Gateway]] above.&lt;br /&gt;
&lt;br /&gt;
{{modules}}&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Database_Backups&amp;diff=33862</id>
		<title>Database Backups</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Database_Backups&amp;diff=33862"/>
				<updated>2023-01-27T10:06:18Z</updated>
		
		<summary type="html">&lt;p&gt;John: /* cPanel Username */&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 '''Full Backup''' feature of cPanel's '''[https://docs.cpanel.net/cpanel/files/backup-wizard/ Backup Wizard]''' interface.&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>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=System_Environment_Guide&amp;diff=33825</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=33825"/>
				<updated>2023-01-25T15:40:19Z</updated>
		
		<summary type="html">&lt;p&gt;John: /* Extensions */&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 Grant Privileges ===&lt;br /&gt;
When installing or updating WHMCS, or when activating or deactivating modules, the following grant 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 grant 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 grant 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;
WHMCS requires most of the default compiled extensions such as PDO, mysqlnd,  JSON, libxml, DOM, Fileinfo, etc..  It is assumed that these will not be intentionally disabled in the environment.  The following additional extensions will also need to be compiled and enabled:&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>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Namecheap&amp;diff=33812</id>
		<title>Namecheap</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Namecheap&amp;diff=33812"/>
				<updated>2023-01-10T13:02:19Z</updated>
		
		<summary type="html">&lt;p&gt;John: /* Troubleshooting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this Module ==&lt;br /&gt;
&lt;br /&gt;
The Namecheap module allows you to register and manage domains with Namecheap.&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;
| regns = yes&lt;br /&gt;
| dnsmanagement = yes&lt;br /&gt;
| emailforwarding = yes&lt;br /&gt;
| domainsync = yes&lt;br /&gt;
}}&lt;br /&gt;
== Activation ==&lt;br /&gt;
&lt;br /&gt;
To activate and begin using the Namecheap registrar module:&lt;br /&gt;
&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 '''Namecheap''' in the list.&lt;br /&gt;
# Click '''Activate'''.&lt;br /&gt;
# Enter your Namecheap credentials.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
# [https://www.namecheap.com/ Open a Namecheap ticket] to request API access to your Namecheap account for your server's IP address. You can find this IP address in WHMCS at '''Help &amp;gt; [[License Information]]'''.&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;
== 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;
=== Registrar Error Invalid Client IP ===&lt;br /&gt;
&lt;br /&gt;
Seeing this error indicates that your Server IP has not been whitelisted for API access (see above).&lt;br /&gt;
&lt;br /&gt;
===Unable to obtain Nameservers for an unregistered domain===&lt;br /&gt;
&lt;br /&gt;
This error occurs when the domain does not exist in your Namecheap account. This message will display 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>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=CentralNic_Reseller&amp;diff=33810</id>
		<title>CentralNic Reseller</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=CentralNic_Reseller&amp;diff=33810"/>
				<updated>2023-01-05T15:43:15Z</updated>
		
		<summary type="html">&lt;p&gt;John: /* Troubleshooting */&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-success&amp;quot;&amp;gt;&lt;br /&gt;
We added this module in WHMCS 8.7.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
The CentralNic Reseller module allows you to register and manage domains with resellers from the CentralNic group. Currently, this module supports registrations via RRP Proxy.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
This module replaces the previous '''[[RRPProxy]]''' module. It provides the latest and most feature-complete integration for RRP Proxy (now CentralNic Reseller) services.&lt;br /&gt;
&amp;lt;/div&amp;gt;&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;
| domainrelease = yes&lt;br /&gt;
| domainsync = yes&lt;br /&gt;
| premium = yes&lt;br /&gt;
| transferout = yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Activation==&lt;br /&gt;
 &lt;br /&gt;
To activate and begin using the CentralNic Reseller registrar module:&lt;br /&gt;
 &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]]'''.&lt;br /&gt;
# Find '''CentralNic Reseller''' in the list.&lt;br /&gt;
# Click '''Activate'''.&lt;br /&gt;
# Enter your CentralNic Reseller credentials and configuration. For more information, see below.&lt;br /&gt;
# Click '''Save Changes'''.&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;
To use Test Mode, you must create a test account and enter that password in '''Test Password'''.  &lt;br /&gt;
 &lt;br /&gt;
===Proxy Server===&lt;br /&gt;
 &lt;br /&gt;
This setting allows you to specify the proxy server for incoming requests via the cURL &amp;lt;tt&amp;gt;[https://curl.se/libcurl/c/CURLOPT_PROXY.html CURLOPT_PROXY]&amp;lt;/tt&amp;gt; option. Using a proxy server can improve HTTP communication performance by keeping connections open longer.&lt;br /&gt;
 &lt;br /&gt;
This setting is '''optional'''.&lt;br /&gt;
 &lt;br /&gt;
===DNSSEC===&lt;br /&gt;
 &lt;br /&gt;
This setting allows you to choose whether users can configure [https://www.icann.org/resources/pages/dnssec-what-is-it-why-important-2019-03-05-en Domain Name System Security Extensions (DNSSEC)] in the WHMCS Client Area. If you enable this, '''DNSSEC Management''' will display as an option in the Client Area sidebar menu when managing a domain.&lt;br /&gt;
 &lt;br /&gt;
====What is DNSSEC?====&lt;br /&gt;
 &lt;br /&gt;
DNSSEC is a set of IETF specifications for securing information within the DNS system. They provide authentication for the origins of DNS data and denial of existence as well as ensuring data integrity. They do not, however, provide authentication of availability or confidentiality.&lt;br /&gt;
 &lt;br /&gt;
====Key Data to DS Data Conversion====&lt;br /&gt;
 &lt;br /&gt;
If CentralNic requires DS Data but receives Key Data, it will convert the Key Data into DS Data. The conversion uses SHA-256 and DSData digest type 2. This conversion ensures compliance with the relevant industry standards.  &lt;br /&gt;
 &lt;br /&gt;
The module sends the following parameters:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;table class=&amp;quot;table table-striped table-condensed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Flags&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;256&amp;lt;/tt&amp;gt; (zone signing key) or &amp;lt;tt&amp;gt;257&amp;lt;/tt&amp;gt; (key signing key)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Protocol&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;3&amp;lt;/tt&amp;gt; (DNSSEC)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Algorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;tt&amp;gt;8&amp;lt;/tt&amp;gt; (&amp;lt;tt&amp;gt;RSA/SHA256&amp;lt;/tt&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;tt&amp;gt;10&amp;lt;/tt&amp;gt; (&amp;lt;tt&amp;gt;RSA/SHA512&amp;lt;/tt&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;tt&amp;gt;12&amp;lt;/tt&amp;gt; (&amp;lt;tt&amp;gt;GOST R 34.10-2001&amp;lt;/tt&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;tt&amp;gt;13&amp;lt;/tt&amp;gt; (&amp;lt;tt&amp;gt;ECDSA/SHA-256&amp;lt;/tt&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;tt&amp;gt;14&amp;lt;/tt&amp;gt; (&amp;lt;tt&amp;gt;ECDSA/SHA-384&amp;lt;/tt&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;tt&amp;gt;15&amp;lt;/tt&amp;gt; (&amp;lt;tt&amp;gt;Ed25519&amp;lt;/tt&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;tt&amp;gt;16&amp;lt;/tt&amp;gt; (&amp;lt;tt&amp;gt;Ed448&amp;lt;/tt&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;While other [https://www.iana.org/assignments/dns-sec-alg-numbers/dns-sec-alg-numbers.xhtml DNSSEC algorithms] exist, CentralNic Reseller cannot support them because it does not support SHA-1. For more information, see [http://tools.ietf.org/html/rfc4034#appendix-A.1 RFC 4034].&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Pubkey&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;The public key.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
For more information about CentralNic's data conversion process, see [https://kb.centralnicreseller.com/dns/dnssec CentralNic Reseller's DNSSEC documentation] and the [https://nic.cam/static/doc/OperationsManual-v3.2.14.pdf CentralNic Registry Registrar Operations Manual].&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'''.&lt;br /&gt;
 &lt;br /&gt;
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;
===Entity reference not found===&lt;br /&gt;
This error occurs when the domain does not exist in your CentralNic Reseller account. This message will display 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>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Directory_Refresh_Guide&amp;diff=33717</id>
		<title>Directory Refresh Guide</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Directory_Refresh_Guide&amp;diff=33717"/>
				<updated>2022-12-06T22:47:18Z</updated>
		
		<summary type="html">&lt;p&gt;John: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Refreshing a Directory==&lt;br /&gt;
Refreshing directories can help to troubleshoot and resolve some errors. The example below refreshes the &amp;lt;tt&amp;gt;/modules/servers/&amp;lt;/tt&amp;gt; directory.&lt;br /&gt;
 &lt;br /&gt;
To do this:&lt;br /&gt;
# Download and unzip the WHMCS file set that matches the current version of your WHMCS. You can download current versions of WHMCS including Long Term support versions from [https://download.whmcs.com/ WHMCS Downloads Page].&lt;br /&gt;
# Navigate to the directory to refresh &amp;lt;tt&amp;gt;/whmcs/modules/&amp;lt;/tt&amp;gt;.&lt;br /&gt;
# Rename the unaltered ‘’’servers’’’ directory to contain the original name and the date. For example, &amp;lt;tt&amp;gt;servers_new_MM_DD_YYYY&amp;lt;/tt&amp;gt;.&lt;br /&gt;
# Upload the unaltered directory to the parent directory within your WHMCS installation (in this example, the &amp;lt;tt&amp;gt;/modules/&amp;lt;/tt&amp;gt; directory).&lt;br /&gt;
# Rename the previous directory and include the date. For example,&amp;lt;tt&amp;gt;servers_old_MM_DD_YYYY&amp;lt;/tt&amp;gt;.&lt;br /&gt;
# Revert the new directory name to the original name. For example, &amp;lt;tt&amp;gt;servers&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-success&amp;quot;&amp;gt;&lt;br /&gt;
After you finish, check within WHMCS to ensure that refreshing the directory resolved your issue.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Restoring Customisations ==&lt;br /&gt;
 &lt;br /&gt;
After confirming that refreshing the directory has resolved your issue, you may need to restore any customisations.&lt;br /&gt;
 &lt;br /&gt;
To achieve this, you would need to copy the customisation from the ‘&amp;lt;tt&amp;gt;servers_old_MM_DD_YYYY&amp;lt;/tt&amp;gt; directory to the now refreshed &amp;lt;tt&amp;gt;servers &amp;lt;/tt&amp;gt; directory.&lt;br /&gt;
 &lt;br /&gt;
We recommend moving each customisation seperately and checking for errors within WHMCS in between each addition. This allows you to identify any problems by the specific module and allow you to choose whether to remove the customization or contact the third-party developer for help.&amp;quot;&lt;br /&gt;
=== Cron Directory ===&lt;br /&gt;
 &lt;br /&gt;
Refreshing the cron directory may require additional steps, including updating your configuration in the &amp;lt;tt&amp;gt;config.php&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
 &lt;br /&gt;
To do this, use the instructions within the &amp;lt;tt&amp;gt;config.php&amp;lt;/tt&amp;gt; file in the crons directory to uncomment the WHMCS path line and provide the full path to your WHMCS installation.&lt;br /&gt;
&amp;lt;div class=&amp;quot;source-cli&amp;quot;&amp;gt;$whmcspath = /home/username/public_html/whmcs/;&amp;lt;/div&amp;gt; &lt;br /&gt;
In this example, the server runs cPanel &amp;amp; WHM, the account username is &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt;, and &amp;lt;tt&amp;gt;whmcs&amp;lt;/tt&amp;gt; is the WHMCS installation directory.&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Stripe&amp;diff=33663</id>
		<title>Stripe</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Stripe&amp;diff=33663"/>
				<updated>2022-11-17T09:40:14Z</updated>
		
		<summary type="html">&lt;p&gt;John: /* Troubleshooting */&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;
For other Stripe options, see [[Stripe ACH]] and [[Stripe SEPA]]. &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;
== 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 credentials.&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;customer.card.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;
=== 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 payment workflow 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 authorisation 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;
&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 and 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;
=== 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 [[#Setup|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>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Plesk&amp;diff=33465</id>
		<title>Plesk</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Plesk&amp;diff=33465"/>
				<updated>2022-09-28T11:35:16Z</updated>
		
		<summary type="html">&lt;p&gt;John: /* Adding a Plesk Server */&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>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Plesk&amp;diff=33464</id>
		<title>Plesk</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Plesk&amp;diff=33464"/>
				<updated>2022-09-28T11:34:52Z</updated>
		
		<summary type="html">&lt;p&gt;John: /* Adding a Plesk 11 or Plesk 12 Server */&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 11 or Plesk 12 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>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Plesk&amp;diff=33463</id>
		<title>Plesk</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Plesk&amp;diff=33463"/>
				<updated>2022-09-28T11:34:40Z</updated>
		
		<summary type="html">&lt;p&gt;John: /* Adding a Plesk 11 or Plesk 12 Server */&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 11 or Plesk 12 Server ==&lt;br /&gt;
&lt;br /&gt;
To set up a Plesk 11 or Plesk 12 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>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Template:Registrar&amp;diff=33453</id>
		<title>Template:Registrar</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Template:Registrar&amp;diff=33453"/>
				<updated>2022-09-20T09:43:49Z</updated>
		
		<summary type="html">&lt;p&gt;John: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&lt;br /&gt;
{{#if:{{{notitle|}}}||==Supported Features==}}&lt;br /&gt;
{| class=&amp;quot;wikitable&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;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;&amp;quot;| Register &lt;br /&gt;
!style=&amp;quot;border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;&amp;quot;| Transfer&lt;br /&gt;
!style=&amp;quot;border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;&amp;quot;| Renew&lt;br /&gt;
!style=&amp;quot;border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;&amp;quot;| Registrar Lock&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;{{#if:{{{register|}}}|color:darkgreen;|color:red;}}&amp;quot;| {{#if:{{{register|}}}|Yes|No}}&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;{{#if:{{{transfer|}}}|color:darkgreen;|color:red;}}&amp;quot;| {{#if:{{{transfer|}}}|Yes|No}}&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;{{#if:{{{renew|}}}|color:darkgreen;|color:red;}}&amp;quot;| {{#if:{{{renew|}}}|Yes|No}}&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;{{#if:{{{lock|}}}|color:darkgreen;|color:red;}}&amp;quot;| {{#if:{{{lock|}}}|Yes|No}}&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;&amp;quot;| Update Nameservers&lt;br /&gt;
!style=&amp;quot;border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;&amp;quot;| Update WHOIS&lt;br /&gt;
!style=&amp;quot;border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;&amp;quot;| Get EPP Code&lt;br /&gt;
!style=&amp;quot;border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;&amp;quot;| Register Nameservers&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;{{#if:{{{dns|}}}|color:darkgreen;|color:red;}}&amp;quot;| {{#if:{{{dns|}}}|Yes|No}}&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;{{#if:{{{whois|}}}|color:darkgreen;|color:red;}}&amp;quot;| {{#if:{{{whois|}}}|Yes|No}}&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;{{#if:{{{getepp|}}}|color:darkgreen;|color:red;}}&amp;quot;| {{#if:{{{getepp|}}}|Yes|No}}&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;{{#if:{{{regns|}}}|color:darkgreen;|color:red;}}&amp;quot;| {{#if:{{{regns|}}}|Yes|No}}&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;&amp;quot;| DNS Record Management&lt;br /&gt;
!style=&amp;quot;border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;&amp;quot;| Email Forwarding&lt;br /&gt;
!style=&amp;quot;border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;&amp;quot;| Domain Release&lt;br /&gt;
!style=&amp;quot;border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;&amp;quot;| Domain Sync Script&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;{{#if:{{{dnsmanagement|}}}|color:darkgreen;|color:red;}}&amp;quot;| {{#if:{{{dnsmanagement|}}}|Yes|No}}&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;{{#if:{{{emailforwarding|}}}|color:darkgreen;|color:red;}}&amp;quot;| {{#if:{{{emailforwarding|}}}|Yes|No}}&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;{{#if:{{{domainrelease|}}}|color:darkgreen;|color:red;}}&amp;quot;| {{#if:{{{domainrelease|}}}|Yes|No}}&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;{{#if:{{{domainsync|}}}|color:darkgreen;|color:red;}}&amp;quot;| {{#if:{{{domainsync|}}}|Yes|No}}&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;&amp;quot;| Premium Domains&lt;br /&gt;
!style=&amp;quot;border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;&amp;quot;| Transfer Out Automation&lt;br /&gt;
!style=&amp;quot;border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;&amp;quot;| TLD Pricing Sync&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;{{#if:{{{premium|}}}|color:darkgreen;|color:red;}}&amp;quot;| {{#if:{{{premium|}}}|Yes|No}}&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;{{#if:{{{transferout|}}}|color:darkgreen;|color:red;}}&amp;quot;| {{#if:{{{transferout|}}}|Yes|No}}&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;{{#if:{{{tldpricingsync|}}}|color:darkgreen;|color:red;}}&amp;quot;| {{#if:{{{tldpricingsync|}}}|Yes|No}}&lt;br /&gt;
|}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
Registrar features grid template, produces something like:&lt;br /&gt;
{{registrar&lt;br /&gt;
| register = yes&lt;br /&gt;
| transfer = yes&lt;br /&gt;
| renew = yes&lt;br /&gt;
| dns = yes&lt;br /&gt;
| getepp = yes&lt;br /&gt;
| premium = yes&lt;br /&gt;
| tldpricingsync = yes&lt;br /&gt;
}}&lt;br /&gt;
To use:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{registrar&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 | register = yes&lt;br /&gt;
 | transfer = yes&lt;br /&gt;
 | renew = yes&lt;br /&gt;
 | dns = yes&lt;br /&gt;
 | getepp = yes&lt;br /&gt;
 | premium = yes&lt;br /&gt;
 | tldpricingsync = yes&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should '''only''' provide the options that the registrar supports. For example, saying 'whois = no' would not have worked.&lt;br /&gt;
&lt;br /&gt;
Full list of options (case sensitive):&lt;br /&gt;
* register&lt;br /&gt;
* transfer&lt;br /&gt;
* renew&lt;br /&gt;
* dns&lt;br /&gt;
* whois&lt;br /&gt;
* getepp&lt;br /&gt;
* regns&lt;br /&gt;
* dnsmanagement&lt;br /&gt;
* emailforwarding&lt;br /&gt;
* domainrelease&lt;br /&gt;
* domainsync&lt;br /&gt;
* premium&lt;br /&gt;
* transferout&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Template:Registrar&amp;diff=33452</id>
		<title>Template:Registrar</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Template:Registrar&amp;diff=33452"/>
				<updated>2022-09-20T09:43:10Z</updated>
		
		<summary type="html">&lt;p&gt;John: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&lt;br /&gt;
{{#if:{{{notitle|}}}||==Supported Features==}}&lt;br /&gt;
{| class=&amp;quot;wikitable&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;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;&amp;quot;| Register &lt;br /&gt;
!style=&amp;quot;border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;&amp;quot;| Transfer&lt;br /&gt;
!style=&amp;quot;border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;&amp;quot;| Renew&lt;br /&gt;
!style=&amp;quot;border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;&amp;quot;| Registrar Lock&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;{{#if:{{{register|}}}|color:darkgreen;|color:red;}}&amp;quot;| {{#if:{{{register|}}}|Yes|No}}&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;{{#if:{{{transfer|}}}|color:darkgreen;|color:red;}}&amp;quot;| {{#if:{{{transfer|}}}|Yes|No}}&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;{{#if:{{{renew|}}}|color:darkgreen;|color:red;}}&amp;quot;| {{#if:{{{renew|}}}|Yes|No}}&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;{{#if:{{{lock|}}}|color:darkgreen;|color:red;}}&amp;quot;| {{#if:{{{lock|}}}|Yes|No}}&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;&amp;quot;| Update Nameservers&lt;br /&gt;
!style=&amp;quot;border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;&amp;quot;| Update WHOIS&lt;br /&gt;
!style=&amp;quot;border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;&amp;quot;| Get EPP Code&lt;br /&gt;
!style=&amp;quot;border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;&amp;quot;| Register Nameservers&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;{{#if:{{{dns|}}}|color:darkgreen;|color:red;}}&amp;quot;| {{#if:{{{dns|}}}|Yes|No}}&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;{{#if:{{{whois|}}}|color:darkgreen;|color:red;}}&amp;quot;| {{#if:{{{whois|}}}|Yes|No}}&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;{{#if:{{{getepp|}}}|color:darkgreen;|color:red;}}&amp;quot;| {{#if:{{{getepp|}}}|Yes|No}}&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;{{#if:{{{regns|}}}|color:darkgreen;|color:red;}}&amp;quot;| {{#if:{{{regns|}}}|Yes|No}}&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;&amp;quot;| DNS Record Management&lt;br /&gt;
!style=&amp;quot;border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;&amp;quot;| Email Forwarding&lt;br /&gt;
!style=&amp;quot;border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;&amp;quot;| Domain Release&lt;br /&gt;
!style=&amp;quot;border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;&amp;quot;| Domain Sync Script&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;{{#if:{{{dnsmanagement|}}}|color:darkgreen;|color:red;}}&amp;quot;| {{#if:{{{dnsmanagement|}}}|Yes|No}}&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;{{#if:{{{emailforwarding|}}}|color:darkgreen;|color:red;}}&amp;quot;| {{#if:{{{emailforwarding|}}}|Yes|No}}&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;{{#if:{{{domainrelease|}}}|color:darkgreen;|color:red;}}&amp;quot;| {{#if:{{{domainrelease|}}}|Yes|No}}&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;{{#if:{{{domainsync|}}}|color:darkgreen;|color:red;}}&amp;quot;| {{#if:{{{domainsync|}}}|Yes|No}}&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;&amp;quot;| Premium Domains&lt;br /&gt;
!style=&amp;quot;border:1px #AAA solid;padding:0.2em;background:#F2F2F2;text-align:center;&amp;quot;| Transfer Out Automation&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;{{#if:{{{premium|}}}|color:darkgreen;|color:red;}}&amp;quot;| {{#if:{{{premium|}}}|Yes|No}}&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;{{#if:{{{transferout|}}}|color:darkgreen;|color:red;}}&amp;quot;| {{#if:{{{transferout|}}}|Yes|No}}&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;{{#if:{{{tldpricingsync|}}}|color:darkgreen;|color:red;}}&amp;quot;| {{#if:{{{tldpricingsync|}}}|Yes|No}}&lt;br /&gt;
|}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
Registrar features grid template, produces something like:&lt;br /&gt;
{{registrar&lt;br /&gt;
| register = yes&lt;br /&gt;
| transfer = yes&lt;br /&gt;
| renew = yes&lt;br /&gt;
| dns = yes&lt;br /&gt;
| getepp = yes&lt;br /&gt;
| premium = yes&lt;br /&gt;
| tldpricingsync = yes&lt;br /&gt;
}}&lt;br /&gt;
To use:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{registrar&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 | register = yes&lt;br /&gt;
 | transfer = yes&lt;br /&gt;
 | renew = yes&lt;br /&gt;
 | dns = yes&lt;br /&gt;
 | getepp = yes&lt;br /&gt;
 | premium = yes&lt;br /&gt;
 | tldpricingsync = yes&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should '''only''' provide the options that the registrar supports. For example, saying 'whois = no' would not have worked.&lt;br /&gt;
&lt;br /&gt;
Full list of options (case sensitive):&lt;br /&gt;
* register&lt;br /&gt;
* transfer&lt;br /&gt;
* renew&lt;br /&gt;
* dns&lt;br /&gt;
* whois&lt;br /&gt;
* getepp&lt;br /&gt;
* regns&lt;br /&gt;
* dnsmanagement&lt;br /&gt;
* emailforwarding&lt;br /&gt;
* domainrelease&lt;br /&gt;
* domainsync&lt;br /&gt;
* premium&lt;br /&gt;
* transferout&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Promotions&amp;diff=33320</id>
		<title>Promotions</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Promotions&amp;diff=33320"/>
				<updated>2022-08-26T10:13:21Z</updated>
		
		<summary type="html">&lt;p&gt;John: /* Prerequisites */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Promotions can offer discounts on your products and services, product addons, and domains. &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; Promotions''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Payments &amp;gt; Promotions'''&lt;br /&gt;
&lt;br /&gt;
For information on setting up commonly-used promotions, see [[Common Promotions]].&lt;br /&gt;
&lt;br /&gt;
==Types of promotions that can be offered==&lt;br /&gt;
&lt;br /&gt;
*One Time Discounts&lt;br /&gt;
*Recurring Discounts&lt;br /&gt;
*Limited Recurring Discounts (for example, first two months free)&lt;br /&gt;
*Monetary Discounts (for example, $5 Off)&lt;br /&gt;
*Percentage Discounts (for example, 20% Off)&lt;br /&gt;
*Price Override (for example, Regular price $10, Discount price $8)&lt;br /&gt;
*Free Setup&lt;br /&gt;
*Apply to Specific Products/Addons/Domain TLDs&lt;br /&gt;
*Apply to Specific Billing Cycles or Registration Periods&lt;br /&gt;
*Apply Once per Order or to All Applicable Items in Cart&lt;br /&gt;
*Lifetime Promotion&lt;br /&gt;
*Valid for New Signups Only&lt;br /&gt;
*Valid for upgrade orders only&lt;br /&gt;
&lt;br /&gt;
==How to create a new promotion==&lt;br /&gt;
&lt;br /&gt;
To create a new promotion:&lt;br /&gt;
&lt;br /&gt;
# Click '''Add New''' at the top of the page.&lt;br /&gt;
# Enter a promotion code. This is the code that customers will need to enter on the order form to receive the discount.&lt;br /&gt;
# Choose one of the four promotion types:&lt;br /&gt;
#* Percentage — Discount by a percentage of the original price.&lt;br /&gt;
#* Fixed Amount — Discount a specified amount from the original price.&lt;br /&gt;
#* Price Override — Changes the product price to this value. Use this to offer a consistent discount across multiple billing cycles.&lt;br /&gt;
#* Free Setup — Discount any setup fee from the original price.&lt;br /&gt;
# To have the discount only apply to the first invoice, do not check '''Recurring'''. &lt;br /&gt;
#* When you check this, the discount will apply to renewal invoices. &lt;br /&gt;
#* Set '''Recur For''' to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; for all future renewals to discount, or enter a different number to specify how many cycles the discount lasts for. This is in addition to the initial invoice for the product. If you wish to provide a discount 6 times, enter &amp;lt;tt&amp;gt;5&amp;lt;/tt&amp;gt; in the recurring box.&lt;br /&gt;
# For '''Value''', enter the amount of the discount in positive numbers (up to 2 decimals) only.&lt;br /&gt;
# Select the products, addons, and domain TLDs that the promotion applies to and what billing cycles or registration periods the discount requires. These should match those of your products. Your can press &amp;lt;tt&amp;gt;Ctrl+click&amp;lt;/tt&amp;gt; to select multiple entries.&lt;br /&gt;
# Optionally, set the start and expiration dates. If you use one or both of these settings, the coupon will only start working after the start date and will stop working at expiration.&lt;br /&gt;
# Use the following checkboxes to specify who can use the promotion:&lt;br /&gt;
#* Apply Once — If the client orders multiple qualifying products, the system only applies the discount once.&lt;br /&gt;
#* New Signups — Only new clients can use the promotion.&lt;br /&gt;
#* Apply Once / Client — If a client has an existing active order that uses this promotion, they will not be able to use the code a second time.&lt;br /&gt;
#* Lifetime Promotion — Client will retain this discount even if they upgrade or downgrade their service in future, regardless of settings such as maximum uses or expiration date.&lt;br /&gt;
#* Existing Client — Only existing clients with one or more active orders can use the promotion.&lt;br /&gt;
#* Enable for product upgrades – See [[#Upgrades/Downgrades|Upgrades/Downgrades]] below.&lt;br /&gt;
# In the admin notes section, add information that admins may need about the promotion.&lt;br /&gt;
&lt;br /&gt;
The promotion code changes the '''First Payment Amount''' when a customer or administrator uses the code while ordering. It does not change the '''Recurring Amount'''. If it did automatically update the recurring amount, this would prevent administrators from being able to manually update the recurring amount value when a promotion code was in use.&lt;br /&gt;
&lt;br /&gt;
Instead, the system uses the promotion code to discount the '''Recurring Amount''' automatically on renewal invoices.&lt;br /&gt;
&lt;br /&gt;
==Limiting Usage==&lt;br /&gt;
&lt;br /&gt;
You can set the maximum number of times to honor a promotion. To do this:&lt;br /&gt;
&lt;br /&gt;
# Locate the promotion you want to limit the usage of and click the edit icon next to it.&lt;br /&gt;
# For '''Maximum Uses''', enter the number of uses that you want to allow.&lt;br /&gt;
#* The number of times that customers have used the promotion will display below this setting.&lt;br /&gt;
#* For unlimited uses, enter &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt;.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
&lt;br /&gt;
By selecting products from '''Requires''', you can stipulate which products or services the client must also have in their shopping cart before applying the discount. You can use this to offer &amp;quot;buy x get y half price&amp;quot; promotions.&lt;br /&gt;
&lt;br /&gt;
'''Also allow existing products in account to qualify for promotion''' allows the system to include active products that the client already owns in the promotion criteria.&lt;br /&gt;
&lt;br /&gt;
For example, if the client already owns product x with an '''Active''' service status, they would be able to use the promotion code when ordering product y. If you disable this option, the client would need to order both products x and y at the same time to qualify.&lt;br /&gt;
&lt;br /&gt;
==Upgrades/Downgrades==&lt;br /&gt;
&lt;br /&gt;
When you check this checkbox, the client will use the promo code when placing an upgrade or downgrade order, which is particularly useful for offering incentives when upselling. When you check this, some new options will appear:&lt;br /&gt;
&lt;br /&gt;
===Products/Services===&lt;br /&gt;
&lt;br /&gt;
Select ''Products/Services'' as the '''Upgrade Type'''.&lt;br /&gt;
&lt;br /&gt;
Use '''Type''', '''Recurring''', and '''Value''' fields to specify the value of the discount and how long it lasts. &lt;br /&gt;
&lt;br /&gt;
Use '''Applies To''' to select which products to apply the promotional code to. The client will receive the discount when upgrading to this product.&lt;br /&gt;
&lt;br /&gt;
For upgrades and downgrades, use '''Requires''' slightly differently. It restricts which products clients can upgrade. For example, they can upgrade from a selected product to this product and receive a discount, but not upgrade from an unselected product and receive a discount.&lt;br /&gt;
&lt;br /&gt;
===Configurable Options===&lt;br /&gt;
&lt;br /&gt;
To offer discounts to clients for configurable options, select ''Configurable Options'' as the '''Upgrade Type'''.&lt;br /&gt;
&lt;br /&gt;
Use '''Upgrade Discount''' to specify the discount value as a percentage or fixed amount for the configurable options. Then, use '''Config Options Upgrades''' to select which option this discount applies to.&lt;br /&gt;
&lt;br /&gt;
If you use the main '''Type''', '''Recurring''', and '''Value''' at the top of the page, the system will apply a discount to the parent product as well as to the configurable option. Leave this blank to only apply the discount to the configurable option.&lt;br /&gt;
&lt;br /&gt;
==Promotion Links==&lt;br /&gt;
&lt;br /&gt;
You can give links to users that will automatically apply a certain promotion code to their order if it applies. To do that, use a link like the one below:&lt;br /&gt;
&lt;br /&gt;
 cart.php?promocode=TEST '''OR''' cart.php?a=add&amp;amp;pid=1&amp;amp;promocode=TEST&lt;br /&gt;
&lt;br /&gt;
Both of the above will apply the promotion code &amp;lt;tt&amp;gt;TEST&amp;lt;/tt&amp;gt; to the order. With the first link, the user can choose the package they want. With the second, they will go straight to step 2 of the order process with product ID &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; selected.&lt;br /&gt;
&lt;br /&gt;
For more information, see [[Linking to WHMCS]].&lt;br /&gt;
&lt;br /&gt;
==Management==&lt;br /&gt;
&lt;br /&gt;
When you create a promotion, you can specify an expiry date. If you want the promotion code to become invalid before this date, click '''Expire Now'''.&lt;br /&gt;
&lt;br /&gt;
You can create a copy of any promotion by clicking '''Duplicate Promotion'''. This is particularly useful for quickly running a successful promotion again or providing a personalised promo code to a client.&lt;br /&gt;
&lt;br /&gt;
==Manually Applying a Promotion==&lt;br /&gt;
&lt;br /&gt;
WHMCS allows you to manually add a promotion code to an existing service. You can make this type of addition when viewing a client’s existing service in the Admin Area.&lt;br /&gt;
&lt;br /&gt;
Click '''Promotion Code''' for a list of all the active promotions on the installation. From this list, you can select the promotion you would like to apply to the service, and then click '''Save Changes''' to commit your changes.&lt;br /&gt;
&lt;br /&gt;
'''Recurring Amount''' on the service page is the final amount to bill the client for after taking the selected promotion into consideration. Selecting a promotion code by itself will not change the invoice amount.&lt;br /&gt;
&lt;br /&gt;
Due to this behavior, it is important to update '''Recurring Amount''' so that it reflects the amount you want the customer to pay after applying the promotion code. You can do this in one of two ways:&lt;br /&gt;
&lt;br /&gt;
* Manually calculate the amount that you would like the customer to pay after the discount and enter it in '''Recurring Amount'''. Then, click '''Save Changes'''.&lt;br /&gt;
* Select '''Auto Recalculate on Save''', and then click '''Save Changes'''. This option will have WHMCS take the current pricing for the product or service, apply the discount from the selected promotion code, and then set '''Recurring Amount''' for that value.&lt;br /&gt;
&lt;br /&gt;
For client services with a promotion code, WHMCS alters how it generates the service’s invoice items for renewal invoices.&lt;br /&gt;
&lt;br /&gt;
To provide the client with information concerning discounts from promotion codes, WHMCS will generate two invoice items. The first item will display the sum of '''Recurring Amount''' and the discount amount. The second item will display the discount amount.&lt;br /&gt;
&lt;br /&gt;
As an example, if you have a service with a '''Recurring Amount''' of &amp;lt;tt&amp;gt;10.00&amp;lt;/tt&amp;gt; and apply a promotion code that offers a 50% discount, then the system will generate the following invoice items when the service renews:&lt;br /&gt;
&lt;br /&gt;
* Invoice Item for Service Renewal: 20.00&lt;br /&gt;
* Promotion Code (50% Off): -10.00&lt;br /&gt;
* Invoice Total: 10.00&lt;br /&gt;
&lt;br /&gt;
This is the recommended method to convey a discount to clients.&lt;br /&gt;
&lt;br /&gt;
If you had this same service with no promotion code, then the system would generate the following invoice items upon renewal instead:&lt;br /&gt;
&lt;br /&gt;
* Invoice Item for Service Renewal: 10.00&lt;br /&gt;
* Invoice Total: 10.00&lt;br /&gt;
&lt;br /&gt;
Both invoices result in a charge of 10.00, however one shows the client that they are paying this price because of a promotion code.&lt;br /&gt;
&lt;br /&gt;
If you want to provide the client with a discount, but not create a promotion code invoice item, then you could do this by either manually specifying a '''Price Override''' value when creating the order, or by modifying '''Recurring Amount'''.&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&lt;br /&gt;
===Limited Recurring Promotions===&lt;br /&gt;
&lt;br /&gt;
The system counts the number of recurrences for a Limited Recurring promotion (which are configured using the '''Recur For x Times''' setting) by looking at the invoice line items for the service. By looking at the number of invoice line items for a service, WHMCS makes a determination for how many times it has applied the promotional discount. &lt;br /&gt;
&lt;br /&gt;
After the system has used all of a promotion code's recurrences for a given service, the service will revert to the standard price automatically.&lt;br /&gt;
&lt;br /&gt;
If you wish to provide an an extension of the promotion, it would be necessary to increase '''Times''' in the promotion code configuration. This will apply to all existing services using this promo code, instantly. Deleting invoices will not extend the duration of the promotional discount.&lt;br /&gt;
&lt;br /&gt;
===Fixed Amount Promotions and Additional Currencies===&lt;br /&gt;
When defining the value for a '''Fixed Amount''' promotion, it is important to note that this value applies to the base currency. For example, if the installation's '''Base Currency''' is ''USD'', then setting the '''Value''' for a '''Fixed Amount''' promotion to 100 will provide a discount of $100.00 USD when customers use it.&lt;br /&gt;
 &lt;br /&gt;
If the installation has additional currencies beyond the base currency, the system will use '''Base Conversion Rate''' to determine the discount for customers using these additional currencies.&lt;br /&gt;
 &lt;br /&gt;
For more information, see [[Currencies]].&lt;br /&gt;
&lt;br /&gt;
===Create Custom Promo===&lt;br /&gt;
 &lt;br /&gt;
'''Create Custom Promo''' displays next to '''Promotion''' when you manually add a new order via '''Add Order''' in the Admin Area.&lt;br /&gt;
 &lt;br /&gt;
Clicking this button displays a modal that allows you to specify a custom promotion code that the system will automatically create and apply to the immediate order.&lt;br /&gt;
 &lt;br /&gt;
Use of this feature requires that the Administrator User have both '''Use Any Promotion Code on Order''' and '''Create/Edit Promotions''' as permissions. For more about permissions, see [[Administrators_and_Permissions|Administrators and Permissions]].&lt;br /&gt;
&lt;br /&gt;
=== Services With Metric Billing Enabled  ===&lt;br /&gt;
 &lt;br /&gt;
When the system applies a recurring promotion or discount to a product or service for which metric billing enabled, '''only''' the cost of the base product will be eligible for the discount. &lt;br /&gt;
 &lt;br /&gt;
Any usage (metric) charge that the recurring invoice includes '''will not''' receive the promotion or discount.&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Maximising_Performance&amp;diff=33316</id>
		<title>Maximising Performance</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Maximising_Performance&amp;diff=33316"/>
				<updated>2022-08-25T08:05:44Z</updated>
		
		<summary type="html">&lt;p&gt;John: /* MySQL® */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you grow to have a large client base, page loads may become slower. This is because the more data you have, the larger the database becomes, and so calculating and looping through the data will naturally take longer. &lt;br /&gt;
&lt;br /&gt;
The following steps can help you maintain faster speeds:&lt;br /&gt;
&lt;br /&gt;
==Software Related==&lt;br /&gt;
&lt;br /&gt;
=== Disable Ticket Counts ===&lt;br /&gt;
&lt;br /&gt;
When you have a lot of tickets, calculating the number of tickets per status to display each time you open a ticket can slow things down. &lt;br /&gt;
&lt;br /&gt;
To avoid that, disable the ticket counts by adding the following line to your WHMCS &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt; file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;source-cli&amp;quot;&amp;gt;&lt;br /&gt;
$disable_admin_ticket_page_counts = true;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Logging ===&lt;br /&gt;
&lt;br /&gt;
In WHMCS, you can enable logging for, for example, SQL errors, hooks loading, or module commands. &lt;br /&gt;
&lt;br /&gt;
The following settings control debug logging:&lt;br /&gt;
&lt;br /&gt;
* '''SQL Error Reporting''' 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;
* '''Hooks Debug''' 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;
* '''Module Debug 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 Debug Log'''.&lt;br /&gt;
&lt;br /&gt;
Make sure to disable these when you are not actively debugging an issue, since they can and will increase the database size exponentially.&lt;br /&gt;
&lt;br /&gt;
=== Customizations ===&lt;br /&gt;
&lt;br /&gt;
Third party customizations can slow the performance of WHMCS.  Ensure that any customization (for example, hooks and addons) that you are using is up-to-date and works with the version of WHMCS you are running.&lt;br /&gt;
&lt;br /&gt;
=== Database Backups === &lt;br /&gt;
&lt;br /&gt;
The database backup process can be CPU, memory, and disk intensive while the entire database is exported, compressed, and uploaded or emailed. If performance issues are observed at the same time every day during the database backup process, this could be a potential cause. &lt;br /&gt;
&lt;br /&gt;
For more information, see [[Backups#Limitations|Backups]].&lt;br /&gt;
&lt;br /&gt;
==Server Related==&lt;br /&gt;
&lt;br /&gt;
=== Email Provider ===&lt;br /&gt;
&lt;br /&gt;
Long loading times when performing an action involving sending an email (for example, placing an order, opening or replying to a support ticket, or publishing an invoice) are often caused by connection issues to the chosen email provider. &lt;br /&gt;
&lt;br /&gt;
To diagnose and resolve this, see [https://help.whmcs.com/m/troubleshooting/l/1261469-troubleshooting-email-sending-problems Troubleshooting Email Problems].&lt;br /&gt;
&lt;br /&gt;
Consider switching to an external mail provider such as MailGun, SendGrid or SparkPost, as these are often more performant than SMTP systems. For further information see [[Mail_Tab#Configuring_a_Mail_Provider_in_WHMCS_8.0_and_later|Configuring a Mail Provider]].&lt;br /&gt;
&lt;br /&gt;
=== MySQL® === &lt;br /&gt;
&lt;br /&gt;
WHMCS performance is largely dependent on a correct MySQL® configuration, especially for larger databases. Make any changes to the server's &amp;lt;tt&amp;gt;my.cnf&amp;lt;/tt&amp;gt; file under the &amp;lt;tt&amp;gt;mysqld&amp;lt;/tt&amp;gt; section, usually in &amp;lt;tt&amp;gt;/etc/my.cnf&amp;lt;/tt&amp;gt; (cPanel servers and most others). &lt;br /&gt;
&lt;br /&gt;
* As a starting point, set &amp;lt;tt&amp;gt;max_connections&amp;lt;/tt&amp;gt; to a low value like &amp;lt;tt&amp;gt;50&amp;lt;/tt&amp;gt; and increase based on the available RAM. &lt;br /&gt;
* When you are configuring this and the following other important settings, restart MySQL and let it run for 48 hours:&lt;br /&gt;
** &amp;lt;tt&amp;gt;wait_timeout&amp;lt;/tt&amp;gt; (at least 300, so MySQL doesn't drop connections too soon)&lt;br /&gt;
** &amp;lt;tt&amp;gt;sort_buffer_size&amp;lt;/tt&amp;gt; (2–4 MB)&lt;br /&gt;
** &amp;lt;tt&amp;gt;read_buffer_size&amp;lt;/tt&amp;gt; (2–4 MB)&lt;br /&gt;
** &amp;lt;tt&amp;gt;max_allowed_packet&amp;lt;/tt&amp;gt; (16 MB)&lt;br /&gt;
&lt;br /&gt;
=== System Tweaks ===&lt;br /&gt;
&lt;br /&gt;
WHMCS is a PHP MySQL script, and so the more RAM or SWAP memory and raw processing power you have at your disposal, the better the performance from your installation.  &lt;br /&gt;
&lt;br /&gt;
* For more information, see [[System Requirements]]. &lt;br /&gt;
* We recommend using the higher set values and modules under the '''Recommended Settings''' for best results.&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Directory_Refresh_Guide&amp;diff=33314</id>
		<title>Directory Refresh Guide</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Directory_Refresh_Guide&amp;diff=33314"/>
				<updated>2022-08-23T13:25:50Z</updated>
		
		<summary type="html">&lt;p&gt;John: Redirected page to Contents&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Contents]]&lt;br /&gt;
&lt;br /&gt;
Content goes here&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Directory_Refresh_Guide&amp;diff=33313</id>
		<title>Directory Refresh Guide</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Directory_Refresh_Guide&amp;diff=33313"/>
				<updated>2022-08-23T13:25:36Z</updated>
		
		<summary type="html">&lt;p&gt;John: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Content goes here&lt;br /&gt;
&lt;br /&gt;
#REDIRECT [[Contents]]&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Directory_Refresh_Guide&amp;diff=33312</id>
		<title>Directory Refresh Guide</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Directory_Refresh_Guide&amp;diff=33312"/>
				<updated>2022-08-23T13:24:35Z</updated>
		
		<summary type="html">&lt;p&gt;John: Redirected page to Contents&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Contents]]&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Directory_Refresh_Guide&amp;diff=33311</id>
		<title>Directory Refresh Guide</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Directory_Refresh_Guide&amp;diff=33311"/>
				<updated>2022-08-23T13:24:17Z</updated>
		
		<summary type="html">&lt;p&gt;John: Created page with &amp;quot;#REDIRECT [[]]&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[]]&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Products_Management&amp;diff=33307</id>
		<title>Products Management</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Products_Management&amp;diff=33307"/>
				<updated>2022-08-19T11:42:01Z</updated>
		
		<summary type="html">&lt;p&gt;John: /* Clients Self Service */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WHMCS allows you to offer many different types of products and services, both with or without automation, and to create addons and other additional items to tailor those products and services to your clients' needs.&lt;br /&gt;
&lt;br /&gt;
==Ordering Products and Services==&lt;br /&gt;
&lt;br /&gt;
[[File:Admin-order-form.png|800px]]&lt;br /&gt;
&lt;br /&gt;
To order new products and services for a client:&lt;br /&gt;
&lt;br /&gt;
# Go to '''Orders &amp;gt; Add New Order''' or click '''Add New Order''' in the client profile.&lt;br /&gt;
# Begin entering the client details to select the client (if the system didn't already preselect them).&lt;br /&gt;
# Choose the payment method to use for the order and any resulting invoice.&lt;br /&gt;
# Select a promotion code to apply to the order items (if applicable).&lt;br /&gt;
# Choose the order status. Unless this is for adding an existing service that needs no provisioning, leave it as pending so that you can review the order after payment and ensure any provisioning was successful.&lt;br /&gt;
# Select one of the following options:&lt;br /&gt;
#*Order Confirmation — Keep this selected if you wish to send the Order Confirmation email to the client.&lt;br /&gt;
#*Generate Invoice — Keep this selected if you wish to generate an invoice for the items on the order. This is useful if you are placing an order for a new service on the client's behalf or you will to manually enter an existing service but still want to invoice them right away.&lt;br /&gt;
#*Send Email — Keep this selected if you wish to send the Invoice Created email whenever the system creates an invoice.&lt;br /&gt;
# Enter and select the details for each product you want to add to the order, including a domain name, billing cycle, quantity, and any pricing overrides.&lt;br /&gt;
#* Click '''Add New Product''' to add multiple products to the order.&lt;br /&gt;
#* If the billing cycle and price override fields have not changed, the system will use the pricing from the shortest configured billing cycle.&lt;br /&gt;
#* Use the '''Quantity''' option to order multiples of a single product that doesn't require any specific configuration on the initial order (such as a domain name and configurable options). For example, if you are selling a software license using our Licensing Addon and the customer wishes to receive 10 licenses, you could use 10 for the Quantity and the system will create 10 services on their account after order submission.&lt;br /&gt;
# Optionally, select and enter the appropriate details to add one or more domain names to the order. &lt;br /&gt;
#* Select ''None'' if this order doesn't require a domain,&lt;br /&gt;
#* For registration, the system will prompt you for the domain name, the number of years to register it for, any applicable addons, and finally any pricing overrides for the registration and future renewal amounts. If there isn't a price override, the system uses the regular price for that TLD.&lt;br /&gt;
#* For transfers, the system will prompt you for the same details, along with the EPP code (also commonly called the Transfer Authorization code) from the existing registrar for the domain. During the client area ordering process, the client supplies this, and you may need to obtain it from them first if it is applicable to the domain you are trying to transfer.&lt;br /&gt;
#* For '''Domain Only''' orders, you would not enter anything into the fields in the '''Product/Service''' section ('''Product/Service''', '''Domain''', '''Billing Cycle''', '''Quantity''', and '''Price Override''') and fill in the '''Domain Registration''' section.&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;Premium Domains&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
When ordering domains via the Admin Area, the system does not look up the domain's availability. WHMCS will therefore be unaware of whether it is a premium domain. For premium domains, [[Clients:Summary_Tab#Login_as_Owner|log in as the account owner]] and order them via the Client Area.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Managing a Client's Products and Services==&lt;br /&gt;
&lt;br /&gt;
You can manage a client's products and services in the '''[[Clients:Products/Services Tab|Products/Services]]''' tab in the client's profile. This tab allows you to view and modify all of a products settings. After making any changes, click '''Save Changes'''.&lt;br /&gt;
&lt;br /&gt;
[[File:Module-commands.png|800px]]&lt;br /&gt;
&lt;br /&gt;
If the product or service is linked to a module, the '''Module Commands''' actions display when you view that product or service for the client. This allows you to execute any of the commands available in that module. &lt;br /&gt;
&lt;br /&gt;
Modules can have custom functions, but most use the same basic actions by default.&lt;br /&gt;
&lt;br /&gt;
==Addons==&lt;br /&gt;
&lt;br /&gt;
Product addons allow you to bill for additional items related to the main product but on independent billing cycles from the product (unlike Configurable Options, which have to bill on the same cycle). &lt;br /&gt;
&lt;br /&gt;
You can create new addons or work with preconfigured addons 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; [[Product Addons]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Product Addons'''. Then, clients can order addons from the Client Area product details page or from your store.&lt;br /&gt;
&lt;br /&gt;
[[File:Managing-addon.png|800px]]&lt;br /&gt;
&lt;br /&gt;
After purchase, ou can manage addons for individual purchased products in the client profile.&lt;br /&gt;
* To view the list of addons for a product, select the parent product from the menu.&lt;br /&gt;
* To edit an addon, click the edit icon for that addon in the '''Addons''' list.&lt;br /&gt;
&lt;br /&gt;
===Adding Addons to Users===&lt;br /&gt;
&lt;br /&gt;
[[File:New-addon-button.png|800px]]&lt;br /&gt;
&lt;br /&gt;
To add a new addon for a client:&lt;br /&gt;
&lt;br /&gt;
# Click '''[[Clients:Products/Services Tab|Products/Services]]''' in the client profile.&lt;br /&gt;
# Click '''Click here to Manage''' for '''Addons'''.&lt;br /&gt;
# Click '''Add New Addon'''.&lt;br /&gt;
# If you are adding a predefined addon, select it and leave the name, price, and billing cycle empty.&lt;br /&gt;
# If you are adding a custom addon that will be specific to this client, set '''Predefined Addon''' to ''None'' and enter a custom name, price, and cycle.&lt;br /&gt;
# To delay generation of the invoice, uncheck the generate invoice checkbox.&lt;br /&gt;
# Click '''Save Changes''' to complete the process.&lt;br /&gt;
&lt;br /&gt;
===Promotion Codes===&lt;br /&gt;
&lt;br /&gt;
You can apply promotion codes to an existing service using the menu. For more information, see [[Promotions]]. &lt;br /&gt;
&lt;br /&gt;
===Auto Recalculate Recurring Price on Save===&lt;br /&gt;
&lt;br /&gt;
Check this option to update the recurring amount field. You can use this after changing the product, configurable options, billing cycle, or promo code to auto calculate the new recurring price. We disable this by default to ensure that the system does not overwrite any discounted rates or custom pricing.&lt;br /&gt;
&lt;br /&gt;
===Overide Auto Suspension===&lt;br /&gt;
&lt;br /&gt;
This option can be used to allow extra time for payment to be made for specific individuals.&lt;br /&gt;
&lt;br /&gt;
You can enable or disable this option from the '''[[Clients:Products/Services Tab|Products/Services]]''' tab in the client profile.&lt;br /&gt;
&lt;br /&gt;
==Invoicing Early==&lt;br /&gt;
&lt;br /&gt;
There may be times where a client asks for you to invoice them for the next renewal date early.  &lt;br /&gt;
&lt;br /&gt;
To do this:&lt;br /&gt;
&lt;br /&gt;
# Go to the '''[[Clients:Summary Tab|Summary]]''' tab for the client you want to invoice.&lt;br /&gt;
# Check the boxes of the products, services, addons, or domains that you want to generate an invoice for.&lt;br /&gt;
# Click '''Invoice Selected Items''' to create the invoice for them. You can create multiple invoices if the due dates and payment methods differ.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
* You won't be able to generate another invoice if an invoice has already been made for the next due date.&lt;br /&gt;
* If the '''Separate Invoices''' option is enabled in the client's profile or client group, when selecting multiple items here with the same '''Next Due Date''', a single invoice will be generated.&lt;br /&gt;
* The status of the service, domain or addon must be ''Pending'', ''Active'', or ''Suspended'' to generate an invoice.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Upgrades/Downgrades==&lt;br /&gt;
&lt;br /&gt;
===Admin Area===&lt;br /&gt;
&lt;br /&gt;
[[File:Upgrade button.png|thumb|Upgrade/Downgrade Button]]&lt;br /&gt;
&lt;br /&gt;
If you would like to change the product or service a client is assigned to and automatically charge or credit the difference for that change then you need to use the Upgrade/Downgrade process. You'll find the option for this next to the '''Products/Services''' menu in the '''[[Clients:Products/Services Tab|Products/Services]]''' tab within the client profile.  &lt;br /&gt;
&lt;br /&gt;
To use it:&lt;br /&gt;
# Go to the product that you want to change.&lt;br /&gt;
# Perform the correct action for your WHMCS version:&lt;br /&gt;
#* For WHMCS 8.0 and later, click '''More''' and choose '''Upgrade/Downgrade'''.&lt;br /&gt;
#* For WHMCS 7.10 and earlier, go to the product you want to change, click '''Upgrade/Downgrade'''.&lt;br /&gt;
# Make the new product and billing cycle selections. A preview of what the charge will be for the remainder of the current cycle will display. &lt;br /&gt;
# Click '''Create Order'''. The system will create an order and invoice for the change.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;a href=&amp;quot;http://www.youtube.com/watch?v=wXEulukuHdo&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;
&lt;br /&gt;
There will no immediate changes to the product after creating an upgrade order, the actual product or config option changes won't take effect until the invoice is paid. But as soon as the invoice is paid the product will be updated, the new recurring amount will be set, and with most supported control panels the upgrade is fully automated with the new package details/changes being passed over to the server module being used.  Finally the upgrade email specified in the product configuration is sent to the user advising them of the new products details.&lt;br /&gt;
&lt;br /&gt;
The same process can also be used for configurable options changes and billing the difference for those if the product contains them.&lt;br /&gt;
&lt;br /&gt;
===Client Side===&lt;br /&gt;
&lt;br /&gt;
Clients can also place orders for upgrades &amp;amp; downgrades themselves if you have permitted it in the product configuration.  This allows clients to order upgrades/downgrades and complete them automatically without the need for any staff involvement.&lt;br /&gt;
&lt;br /&gt;
For more information, including how to allow clients upgrades and how the system calculates upgrade charges, see [[Automated Upgrades and Downgrades]].&lt;br /&gt;
&lt;br /&gt;
===Manual Upgrades===&lt;br /&gt;
There may be occasion when you wish to make an upgrade without placing an upgrade order (such as a free upgrade) or processing the upgrade before the client has paid for it. &lt;br /&gt;
&lt;br /&gt;
To do this:&lt;br /&gt;
&lt;br /&gt;
#Navigate to the client's '''[[Clients:Products/Services Tab|Products/Services]]''' tab.&lt;br /&gt;
#Change the product in the menu.&lt;br /&gt;
#Check '''Auto Recalculate on Save'''.&lt;br /&gt;
#Click '''Save Changes'''.&lt;br /&gt;
#Click '''Change Package''' in the '''Module Commands''' section.&lt;br /&gt;
&lt;br /&gt;
==Bulk Actions==&lt;br /&gt;
&lt;br /&gt;
[[File:Bulk-actions.png|thumb|Bulk Actions Tool]]&lt;br /&gt;
&lt;br /&gt;
The bulk actions option in WHMCS allows you to perform changes to two or more products inside a client's profile at the same time. The changes can consist of adjustments to the status, payment method, override auto-suspend date, first payment amount, recurring amount, next due date, and billing cycle. For example, you can use this option if you want to reduce a client's price on a number of separate products to the same level, execute module commands in bulk, or if you would like to bring multiple services in line to a matching due date.&lt;br /&gt;
&lt;br /&gt;
To use this feature, from the client's '''[[Clients:Summary Tab|Summary]]''' tab, check the checkboxes next to the products, services, addons, or domains you want to update. The bulk actions will display under the item lists. Additional actions can be viewed by clicking '''Show Advanced Options'''. Enter any changes you wish to make (leaving blank any fields you don't want to change) and click '''Apply''' to complete the changes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;a href=&amp;quot;http://www.youtube.com/watch?v=WLLsQML6rEU&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;
&lt;br /&gt;
===Create Prorata Invoice===&lt;br /&gt;
&lt;br /&gt;
When you change the Next Due Date of a product, service, addon, or domain, the system creates a pro-rated invoice that covers the period between the current next due date and the new one. This feature includes scenarios in which the various products have different next due dates to start with and will pro-rate each accordingly as separate line items on the invoice. &lt;br /&gt;
&lt;br /&gt;
To use this, specify the new Next Due Date, check '''Create Prorata Invoice''', and then click '''Apply'''.&lt;br /&gt;
&lt;br /&gt;
For example, the client could wish to pay for the following products on the 10th of the month going forward:&lt;br /&gt;
&lt;br /&gt;
 Product A - Next Due Date 01/01/2022 @ $30/month&lt;br /&gt;
 Product B - Next Due Date 05/01/2022 @ $60/month&lt;br /&gt;
&lt;br /&gt;
To do this, set the Next Due Date to 10/01/2022 and check the checkbox, an invoice with the following line items will be generated:&lt;br /&gt;
&lt;br /&gt;
 Product A (01/01/2022 - 09/01/2022) $8.00&lt;br /&gt;
 Product B (05/01/2022 - 09/01/2022) $10.00&lt;br /&gt;
 Total Due Today $18.00&lt;br /&gt;
&lt;br /&gt;
Only once paid will the Next Due Dates for both products be updated and in future both products would be invoiced on the 10th January.&lt;br /&gt;
&lt;br /&gt;
==Cancelling a Product/Service==&lt;br /&gt;
&lt;br /&gt;
===Auto Terminate/Fixed Term===&lt;br /&gt;
You can setup products to automatically terminate after a set number of days from the date of signup. For more information refer to [[Products_and_Services#Pricing_Tab|Configuring Products/Services]].&lt;br /&gt;
&lt;br /&gt;
===Clients Self Service===&lt;br /&gt;
[[File:Request-cancellation-form.png|800px]]&lt;br /&gt;
&lt;br /&gt;
WHMCS can completely automate the process of product cancellation or wait for manual confirmation. To do this navigate 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''', and enable the '''Show Cancellation Link''' option.&lt;br /&gt;
&lt;br /&gt;
Clients can then request cancellation of any of their products &amp;amp; services directly from the client area.&lt;br /&gt;
&lt;br /&gt;
To fully automate cancellation and have the module terminate command run (for example to remove the hosting account from the server) check '''Cancellation Requests''' 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''' option.&lt;br /&gt;
&lt;br /&gt;
Now when the cron runs any services with a cancellation request due today will be removed from the server and the status changed in WHMCS to Cancelled. The process runs as follows:&lt;br /&gt;
&lt;br /&gt;
*Client clicks ''Request Cancellation'' button on the product details page in client area&lt;br /&gt;
*They're prompted to provide a cancellation reason and provided 2 choices for the cancellation - either '''Instant''' (on next cron run) or at the '''End of the Current Billing Cycle'''.&lt;br /&gt;
*If a matching domain exists under the client's account in active status with ''Auto Renew'' enabled, the customer is given the option to disable auto renew too - thereby leaving the domain to expire.&lt;br /&gt;
*Any unpaid invoices for the product will be cancelled ([[Invoice_Tab#Cancellation_Request_Handling|if enabled]])&lt;br /&gt;
*A notification email is sent to administrators and you will be able to review the reason provided in '''Clients &amp;gt; Cancellation Requests'''.&lt;br /&gt;
&lt;br /&gt;
====Manual Cancellation====&lt;br /&gt;
If the Cancellation Request setting is '''not''' enabled then at this point you must navigate to the cancellation requests page, click through to the service page and click the '''Terminate''' module command button to remove the account from the server. The cancellation request is then moved from the ''Open Requests'' page to ''Completed Requests''.&lt;br /&gt;
&lt;br /&gt;
====Automated Cancellation====&lt;br /&gt;
If the Cancellation Request setting '''is''' enabled the cancellation request will be actioned when the daily automation cron runs on the appropriate day. For example if the ''Immediate'' option was selected it will be terminated on the next cron run, if ''End of Billing Period'' was selected it will be terminated when the cron runs on the service's Next Due Date.&lt;br /&gt;
&lt;br /&gt;
====Voiding Cancellation Requests====&lt;br /&gt;
If a Cancellation Request has been submitted by your client and they later change their mind, it is quick and easy to void their cancellation request. Simply navigate to '''Clients &amp;gt; Cancellation Requests''', locate the cancellation you wish to remove, and then click the red X next to the request to remove it. This will stop the cancellation from processing automatically. You'll need to make sure to mark any invoices that were cancelled as &amp;quot;Unpaid&amp;quot; to prevent billing errors.&lt;br /&gt;
&lt;br /&gt;
===Admin Scheduled Cancellations===&lt;br /&gt;
&lt;br /&gt;
As an admin user, you can schedule the termination of a product at the end of the currently active period by going to the Products/Services tab, checking the '''Auto-Terminate End of Cycle''' option and optionally entering a reason/note for it. Any unpaid invoices for the product will be cancelled and will suppress any further renewal invoices from generating for this product and terminate it when the next due date is reached.&lt;br /&gt;
The &amp;quot;Cancellation Requests&amp;quot; setting 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''' must also be enabled.&lt;br /&gt;
&lt;br /&gt;
===Admin Immediate Cancellation===&lt;br /&gt;
&lt;br /&gt;
Finally, if you want to cancel or terminate a product or service immediately then you simply need to locate the item you wish to cancel, and from the Products/Services page, click the '''Terminate''' button if the product is linked to a module or if not, manually change the dropdown status from Active to '''Cancelled'''.  Once you've done this, no further invoices will generate for the item.&lt;br /&gt;
&lt;br /&gt;
===Addons===&lt;br /&gt;
When a product or service is terminated automatically by the WHMCS System, including through the above Admin Scheduled Cancellation routine, any child addon(s) attached to the product/service will also be cancelled at the same time.  Addons do not support independent scheduled cancellations of their own however.&lt;br /&gt;
&lt;br /&gt;
====Termination Date====&lt;br /&gt;
When an addon is Cancelled or Terminated, either manually via the admin interface or automatically as part of a product termination, the Termination Date will be assigned the current date automatically.&lt;br /&gt;
The termination date can be edited manually at any time via the Product Addon management screens within the admin area.&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;A termination date can only be set/edited when the addon is in one of either Terminated or Cancelled status.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Moving a Product/Service to another Client==&lt;br /&gt;
[[File:Transfer product.png|thumb|Transfer Product Popup]]&lt;br /&gt;
#From the Products/Services details page of the product you want to move, click '''Move Product/Service to Another Client''' located at the top-right of the page&lt;br /&gt;
#A popup box will appear (you will need popup blockers disabled to use this)&lt;br /&gt;
#In the popup enter the ID of the new owner. If you don't know the client's ID the Search field can be used to search by name, company or email address. Click the client's name and the ID will be filled in.&lt;br /&gt;
#After selecting the desired click, click the '''Transfer''' button&lt;br /&gt;
#The item will then be transferred, the window will close, and the original window will refresh to show the product under its new owner.&lt;br /&gt;
&lt;br /&gt;
'''N.B.''' Moving a products/service between clients within WHMCS will not have any affect on the account on the server.&lt;br /&gt;
&lt;br /&gt;
===Invoices===&lt;br /&gt;
Invoices cannot be moved between clients, therefore when moving a product/service any invoices will remain under the old owner. Therefore it would be advisable to check the old owner's Invoices tab for any unpaid invoices for this service and cancel them. If you wish to invoice the new owner for the service, move the Next Due Date forward/back by one day and a new invoice will be generated when the cron next runs.&lt;br /&gt;
&lt;br /&gt;
==Deleting a Product/Service from a Client==&lt;br /&gt;
&lt;br /&gt;
#From the Products/Services details page of the product you want to delete, scroll to the bottom and click the red '''Delete''' link&lt;br /&gt;
#After clicking this link, you will be asked to confirm if you are sure you want to delete the item&lt;br /&gt;
#If you click No you will be returned to the page, if you click Yes, the item will be deleted and you will be taken to the next product/service under that client&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Deleting a product from WHMCS will not terminate it on the server.  If you wanted to remove it from the server aswell, you need to run the Terminate Module Command as explained above before deleting the record from WHMCS.&lt;br /&gt;
&lt;br /&gt;
==Resending Product Welcome Email==&lt;br /&gt;
To re-send a product welcome email simply navigate to the client's Products/Services tab and click the &amp;quot;Resend Product Welcome Email&amp;quot; button at the bottom of the page.&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Promotions&amp;diff=33264</id>
		<title>Promotions</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Promotions&amp;diff=33264"/>
				<updated>2022-08-12T10:08:55Z</updated>
		
		<summary type="html">&lt;p&gt;John: /* Prerequisites */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Promotions can offer discounts on your products and services, product addons, and domains. &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; Promotions''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Payments &amp;gt; Promotions'''&lt;br /&gt;
&lt;br /&gt;
For information on setting up commonly-used promotions, see [[Common Promotions]].&lt;br /&gt;
&lt;br /&gt;
==Types of promotions that can be offered==&lt;br /&gt;
&lt;br /&gt;
*One Time Discounts&lt;br /&gt;
*Recurring Discounts&lt;br /&gt;
*Limited Recurring Discounts (for example, first two months free)&lt;br /&gt;
*Monetary Discounts (for example, $5 Off)&lt;br /&gt;
*Percentage Discounts (for example, 20% Off)&lt;br /&gt;
*Price Override (for example, Regular price $10, Discount price $8)&lt;br /&gt;
*Free Setup&lt;br /&gt;
*Apply to Specific Products/Addons/Domain TLDs&lt;br /&gt;
*Apply to Specific Billing Cycles or Registration Periods&lt;br /&gt;
*Apply Once per Order or to All Applicable Items in Cart&lt;br /&gt;
*Lifetime Promotion&lt;br /&gt;
*Valid for New Signups Only&lt;br /&gt;
*Valid for upgrade orders only&lt;br /&gt;
&lt;br /&gt;
==How to create a new promotion==&lt;br /&gt;
&lt;br /&gt;
To create a new promotion:&lt;br /&gt;
&lt;br /&gt;
# Click '''Add New''' at the top of the page.&lt;br /&gt;
# Enter a promotion code. This is the code that customers will need to enter on the order form to receive the discount.&lt;br /&gt;
# Choose one of the four promotion types:&lt;br /&gt;
#* Percentage — Discount by a percentage of the original price.&lt;br /&gt;
#* Fixed Amount — Discount a specified amount from the original price.&lt;br /&gt;
#* Price Override — Changes the product price to this value. Use this to offer a consistent discount across multiple billing cycles.&lt;br /&gt;
#* Free Setup — Discount any setup fee from the original price.&lt;br /&gt;
# To have the discount only apply to the first invoice, do not check '''Recurring'''. &lt;br /&gt;
#* When you check this, the discount will apply to renewal invoices. &lt;br /&gt;
#* Set '''Recur For''' to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; for all future renewals to discount, or enter a different number to specify how many cycles the discount lasts for. This is in addition to the initial invoice for the product. If you wish to provide a discount 6 times, enter &amp;lt;tt&amp;gt;5&amp;lt;/tt&amp;gt; in the recurring box.&lt;br /&gt;
# For '''Value''', enter the amount of the discount in positive numbers (up to 2 decimals) only.&lt;br /&gt;
# Select the products, addons, and domain TLDs that the promotion applies to and what billing cycles or registration periods the discount requires. These should match those of your products. Your can press &amp;lt;tt&amp;gt;Ctrl+click&amp;lt;/tt&amp;gt; to select multiple entries.&lt;br /&gt;
# Optionally, set the start and expiration dates. If you use one or both of these settings, the coupon will only start working after the start date and will stop working at expiration.&lt;br /&gt;
# Use the following checkboxes to specify who can use the promotion:&lt;br /&gt;
#* Apply Once — If the client orders multiple qualifying products, the system only applies the discount once.&lt;br /&gt;
#* New Signups — Only new clients can use the promotion.&lt;br /&gt;
#* Apply Once / Client — If a client has an existing active order that uses this promotion, they will not be able to use the code a second time.&lt;br /&gt;
#* Lifetime Promotion — Client will retain this discount even if they upgrade or downgrade their service in future, regardless of settings such as maximum uses or expiration date.&lt;br /&gt;
#* Existing Client — Only existing clients with one or more active orders can use the promotion.&lt;br /&gt;
#* Enable for product upgrades – See [[#Upgrades/Downgrades|Upgrades/Downgrades]] below.&lt;br /&gt;
# In the admin notes section, add information that admins may need about the promotion.&lt;br /&gt;
&lt;br /&gt;
The promotion code changes the '''First Payment Amount''' when a customer or administrator uses the code while ordering. It does not change the '''Recurring Amount'''. If it did automatically update the recurring amount, this would prevent administrators from being able to manually update the recurring amount value when a promotion code was in use.&lt;br /&gt;
&lt;br /&gt;
Instead, the system uses the promotion code to discount the '''Recurring Amount''' automatically on renewal invoices.&lt;br /&gt;
&lt;br /&gt;
==Limiting Usage==&lt;br /&gt;
&lt;br /&gt;
You can set the maximum number of times to honor a promotion. To do this:&lt;br /&gt;
&lt;br /&gt;
# Locate the promotion you want to limit the usage of and click the edit icon next to it.&lt;br /&gt;
# For '''Maximum Uses''', enter the number of uses that you want to allow.&lt;br /&gt;
#* The number of times that customers have used the promotion will display below this setting.&lt;br /&gt;
#* For unlimited uses, enter &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt;.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
&lt;br /&gt;
By selecting products from '''Requires''', you can stipulate which products or services the client must also have in their shopping cart before applying the discount. This can be used to offer &amp;quot;buy x get y half price&amp;quot; style promotions.&lt;br /&gt;
&lt;br /&gt;
'''Also allow existing products in account to qualify for promotion''' allows the system to include Active products that the client already owns in the promotion criteria.&lt;br /&gt;
&lt;br /&gt;
For example, if the client already owns product x with an Active service status, they would be able to use the promotion code when ordering product y. If you disable this option, the client would need to order both products x and y at the same time to qualify.&lt;br /&gt;
&lt;br /&gt;
==Upgrades/Downgrades==&lt;br /&gt;
&lt;br /&gt;
When you check this checkbox, the client will use the promo code when placing an upgrade or downgrade order, which is particularly useful for offering incentives when upselling. When you check this, some new options will appear:&lt;br /&gt;
&lt;br /&gt;
===Products/Services===&lt;br /&gt;
&lt;br /&gt;
Select ''Products/Services'' as the '''Upgrade Type'''.&lt;br /&gt;
&lt;br /&gt;
Use '''Type''', '''Recurring''', and '''Value''' fields to specify the value of the discount and how long it lasts. &lt;br /&gt;
&lt;br /&gt;
Use '''Applies To''' to select which products to apply the promotional code to. The client will receive the discount when upgrading to this product.&lt;br /&gt;
&lt;br /&gt;
For upgrades and downgrades, use '''Requires''' slightly differently. It restricts which products clients can upgrade. For example, they can upgrade from a selected product to this product and receive a discount, but not upgrade from an unselected product and receive a discount.&lt;br /&gt;
&lt;br /&gt;
===Configurable Options===&lt;br /&gt;
&lt;br /&gt;
To offer discounts to clients for configurable options, select ''Configurable Options'' as the '''Upgrade Type'''.&lt;br /&gt;
&lt;br /&gt;
Use '''Upgrade Discount''' to specify the discount value as a percentage or fixed amount for the configurable options. Then, use '''Config Options Upgrades''' to select which option this discount applies to.&lt;br /&gt;
&lt;br /&gt;
If you use the main '''Type''', '''Recurring''', and '''Value''' at the top of the page, the system will apply a discount to the parent product as well as to the configurable option. Leave this blank to only apply the discount to the configurable option.&lt;br /&gt;
&lt;br /&gt;
==Promotion Links==&lt;br /&gt;
&lt;br /&gt;
You can give links to users that will automatically apply a certain promotion code to their order if it applies. To do that, use a link like the one below:&lt;br /&gt;
&lt;br /&gt;
 cart.php?promocode=TEST '''OR''' cart.php?a=add&amp;amp;pid=1&amp;amp;promocode=TEST&lt;br /&gt;
&lt;br /&gt;
Both of the above will apply the promotion code &amp;lt;tt&amp;gt;TEST&amp;lt;/tt&amp;gt; to the order. With the first link, the user can choose the package they want. With the second, they will go straight to step 2 of the order process with product ID &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; selected.&lt;br /&gt;
&lt;br /&gt;
For more information, see [[Linking to WHMCS]].&lt;br /&gt;
&lt;br /&gt;
==Management==&lt;br /&gt;
&lt;br /&gt;
When you create a promotion, you can specify an expiry date. If you want the promotion code to become invalid before this date, click '''Expire Now'''.&lt;br /&gt;
&lt;br /&gt;
You can create a copy of any promotion by clicking '''Duplicate Promotion'''. This is particularly useful for quickly running a successful promotion again or providing a personalised promo code to a client.&lt;br /&gt;
&lt;br /&gt;
==Manually Applying a Promotion==&lt;br /&gt;
&lt;br /&gt;
WHMCS allows you to manually add a promotion code to an existing service. You can make this type of addition when viewing a client’s existing service in the Admin Area.&lt;br /&gt;
&lt;br /&gt;
Click '''Promotion Code''' for a list of all the active promotions on the installation. From this list, you can select the promotion you would like to apply to the service, and then click '''Save Changes''' to commit your changes.&lt;br /&gt;
&lt;br /&gt;
'''Recurring Amount''' on the service page is the final amount to bill the client for after taking the selected promotion into consideration. Selecting a promotion code by itself will not change the invoice amount.&lt;br /&gt;
&lt;br /&gt;
Due to this behavior, it is important to update '''Recurring Amount''' so that it reflects the amount you want the customer to pay after applying the promotion code. You can do this in one of two ways:&lt;br /&gt;
&lt;br /&gt;
* Manually calculate the amount that you would like the customer to pay after the discount and enter it in '''Recurring Amount'''. Then, click '''Save Changes'''.&lt;br /&gt;
* Select '''Auto Recalculate on Save''', and then click '''Save Changes'''. This option will have WHMCS take the current pricing for the product or service, apply the discount from the selected promotion code, and then set '''Recurring Amount''' for that value.&lt;br /&gt;
&lt;br /&gt;
For client services with a promotion code, WHMCS alters how it generates the service’s invoice items for renewal invoices.&lt;br /&gt;
&lt;br /&gt;
To provide the client with information concerning discounts from promotion codes, WHMCS will generate two invoice items. The first item will display the sum of '''Recurring Amount''' and the discount amount. The second item will display the discount amount.&lt;br /&gt;
&lt;br /&gt;
As an example, if you have a service with a '''Recurring Amount''' of &amp;lt;tt&amp;gt;10.00&amp;lt;/tt&amp;gt; and apply a promotion code that offers a 50% discount, then the system will generate the following invoice items when the service renews:&lt;br /&gt;
&lt;br /&gt;
* Invoice Item for Service Renewal: 20.00&lt;br /&gt;
* Promotion Code (50% Off): -10.00&lt;br /&gt;
* Invoice Total: 10.00&lt;br /&gt;
&lt;br /&gt;
This is the recommended method to convey a discount to clients.&lt;br /&gt;
&lt;br /&gt;
If you had this same service with no promotion code, then the system would generate the following invoice items upon renewal instead:&lt;br /&gt;
&lt;br /&gt;
* Invoice Item for Service Renewal: 10.00&lt;br /&gt;
* Invoice Total: 10.00&lt;br /&gt;
&lt;br /&gt;
Both invoices result in a charge of 10.00, however one shows the client that they are paying this price because of a promotion code.&lt;br /&gt;
&lt;br /&gt;
If you want to provide the client with a discount, but not create a promotion code invoice item, then you could do this by either manually specifying a '''Price Override''' value when creating the order, or by modifying '''Recurring Amount'''.&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&lt;br /&gt;
===Limited Recurring Promotions===&lt;br /&gt;
&lt;br /&gt;
The system counts the number of recurrences for a Limited Recurring promotion (which are configured using the '''Recur For x Times''' setting) by looking at the invoice line items for the service. By looking at the number of invoice line items for a service, WHMCS makes a determination for how many times it has applied the promotional discount. &lt;br /&gt;
&lt;br /&gt;
After the system has used all of a promotion code's recurrences for a given service, the service will revert to the standard price automatically.&lt;br /&gt;
&lt;br /&gt;
If you wish to provide an an extension of the promotion, it would be necessary to increase '''Times''' in the promotion code configuration. This will apply to all existing services using this promo code, instantly. Deleting invoices will not extend the duration of the promotional discount.&lt;br /&gt;
&lt;br /&gt;
===Fixed Amount Promotions and Additional Currencies===&lt;br /&gt;
When defining the value for a '''Fixed Amount''' promotion, it is important to note that this value applies to the base currency. For example, if the installation's '''Base Currency''' is ''USD'', then setting the '''Value''' for a '''Fixed Amount''' promotion to 100 will provide a discount of $100.00 USD when customers use it.&lt;br /&gt;
 &lt;br /&gt;
If the installation has additional currencies beyond the base currency, the system will use '''Base Conversion Rate''' to determine the discount for customers using these additional currencies.&lt;br /&gt;
 &lt;br /&gt;
For more information, see [[Currencies]].&lt;br /&gt;
&lt;br /&gt;
===Create Custom Promo===&lt;br /&gt;
 &lt;br /&gt;
'''Create Custom Promo''' displays next to '''Promotion''' when you manually add a new order via '''Add Order''' in the Admin Area.&lt;br /&gt;
 &lt;br /&gt;
Clicking this button displays a modal that allows you to specify a custom promotion code that the system will automatically create and apply to the immediate order.&lt;br /&gt;
 &lt;br /&gt;
Use of this feature requires that the Administrator User have both '''Use Any Promotion Code on Order''' and '''Create/Edit Promotions''' as permissions. For more about permissions, see [[Administrators_and_Permissions|Administrators and Permissions]].&lt;br /&gt;
&lt;br /&gt;
=== Services With Metric Billing Enabled  ===&lt;br /&gt;
 &lt;br /&gt;
When the system applies a recurring promotion or discount to a product or service for which metric billing enabled, '''only''' the cost of the base product will be eligible for the discount. &lt;br /&gt;
 &lt;br /&gt;
Any usage (metric) charge that the recurring invoice includes '''will not''' receive the promotion or discount.&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Maximising_Performance&amp;diff=33263</id>
		<title>Maximising Performance</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Maximising_Performance&amp;diff=33263"/>
				<updated>2022-08-12T09:28:18Z</updated>
		
		<summary type="html">&lt;p&gt;John: /* Email Provider */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you grow to have a large client base, page loads may become slower. This is because the more data you have, the larger the database becomes, and so calculating and looping through the data will naturally take longer. &lt;br /&gt;
&lt;br /&gt;
The following steps can help you maintain faster speeds:&lt;br /&gt;
&lt;br /&gt;
==Software Related==&lt;br /&gt;
&lt;br /&gt;
=== Disable Ticket Counts ===&lt;br /&gt;
&lt;br /&gt;
When you have a lot of tickets, calculating the number of tickets per status to display each time you open a ticket can slow things down. &lt;br /&gt;
&lt;br /&gt;
To avoid that, disable the ticket counts by adding the following line to your WHMCS &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt; file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;source-cli&amp;quot;&amp;gt;&lt;br /&gt;
$disable_admin_ticket_page_counts = true;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Logging ===&lt;br /&gt;
&lt;br /&gt;
In WHMCS, you can enable logging for, for example, SQL errors, hooks loading, or module commands. &lt;br /&gt;
&lt;br /&gt;
The following settings control debug logging:&lt;br /&gt;
&lt;br /&gt;
* '''SQL Error Reporting''' 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;
* '''Hooks Debug''' 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;
* '''Module Debug 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 Debug Log'''.&lt;br /&gt;
&lt;br /&gt;
Make sure to disable these when you are not actively debugging an issue, since they can and will increase the database size exponentially.&lt;br /&gt;
&lt;br /&gt;
=== Customizations ===&lt;br /&gt;
&lt;br /&gt;
Third party customizations can slow the performance of WHMCS.  Ensure that any customization (for example, hooks and addons) that you are using is up-to-date and works with the version of WHMCS you are running.&lt;br /&gt;
&lt;br /&gt;
=== Database Backups === &lt;br /&gt;
&lt;br /&gt;
The database backup process can be CPU, memory, and disk intensive while the entire database is exported, compressed, and uploaded or emailed. If performance issues are observed at the same time every day during the database backup process, this could be a potential cause. &lt;br /&gt;
&lt;br /&gt;
For more information, see [[Backups#Limitations|Backups]].&lt;br /&gt;
&lt;br /&gt;
==Server Related==&lt;br /&gt;
&lt;br /&gt;
=== Email Provider ===&lt;br /&gt;
&lt;br /&gt;
Long loading times when performing an action involving sending an email (for example, placing an order, opening or replying to a support ticket, or publishing an invoice) are often caused by connection issues to the chosen email provider. &lt;br /&gt;
&lt;br /&gt;
To diagnose and resolve this, see [https://help.whmcs.com/m/troubleshooting/l/1261469-troubleshooting-email-sending-problems Troubleshooting Email Problems].&lt;br /&gt;
&lt;br /&gt;
Consider switching to an external mail provider such as MailGun, SendGrid or SparkPost, as these are often more performant than SMTP systems. For further information see [[Mail_Tab#Configuring_a_Mail_Provider_in_WHMCS_8.0_and_later|Configuring a Mail Provider]].&lt;br /&gt;
&lt;br /&gt;
=== MySQL® === &lt;br /&gt;
&lt;br /&gt;
WHMCS performance is largely dependent on a correct MySQL® configuration, especially for larger databases. Make any changes to the server's &amp;lt;tt&amp;gt;my.cnf&amp;lt;/ttt&amp;gt; file under the &amp;lt;tt&amp;gt;mysqld&amp;lt;/tt&amp;gt; section, usually in &amp;lt;tt&amp;gt;/etc/my.cnf&amp;lt;/tt&amp;gt; (cPanel servers and most others). &lt;br /&gt;
&lt;br /&gt;
* As a starting point, set &amp;lt;tt&amp;gt;max_connections&amp;lt;/tt&amp;gt; to a low value like &amp;lt;tt&amp;gt;50&amp;lt;/tt&amp;gt; and increase based on the available RAM. &lt;br /&gt;
* When you are configuring this and the following other important settings, restart MySQL and let it run for 48 hours:&lt;br /&gt;
** &amp;lt;tt&amp;gt;wait_timeout&amp;lt;/tt&amp;gt; (at least 300, so MySQL doesn't drop connections too soon)&lt;br /&gt;
** &amp;lt;tt&amp;gt;sort_buffer_size&amp;lt;/tt&amp;gt; (2–4 MB)&lt;br /&gt;
** &amp;lt;tt&amp;gt;read_buffer_size&amp;lt;/tt&amp;gt; (2–4 MB)&lt;br /&gt;
** &amp;lt;tt&amp;gt;max_allowed_packet&amp;lt;/tt&amp;gt; (16 MB)&lt;br /&gt;
&lt;br /&gt;
=== System Tweaks ===&lt;br /&gt;
&lt;br /&gt;
WHMCS is a PHP MySQL script, and so the more RAM or SWAP memory and raw processing power you have at your disposal, the better the performance from your installation.  &lt;br /&gt;
&lt;br /&gt;
* For more information, see [[System Requirements]]. &lt;br /&gt;
* We recommend using the higher set values and modules under the '''Recommended Settings''' for best results.&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Long_Term_Support&amp;diff=33236</id>
		<title>Long Term Support</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Long_Term_Support&amp;diff=33236"/>
				<updated>2022-07-18T11:56:04Z</updated>
		
		<summary type="html">&lt;p&gt;John: /* WHMCS Version &amp;amp; LTS Schedule */ 8.2 is now EOL&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== WHMCS Long-Term Support ==&lt;br /&gt;
&lt;br /&gt;
Product enhancements, bug fixes and security fixes for published versions of WHMCS are common; WHMCS is constantly being refined to ensure a safe and robust experience.  However, it is impractical for customers to always track the latest product refinements at the same pace as our Development Team.  And for that reason, WHMCS has implemented a Long-Term Support Policy for WHMCS.&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
The WHMCS Long-Term Support Policy provides customers with a clear understanding of our commitment to supporting the software they have purchased a license for and installed on their systems.&lt;br /&gt;
&lt;br /&gt;
WHMCS will provide periodic maintenance releases for major and minor versions of WHMCS as part of the normal WHMCS Release Process.  This is called [[#Active Development | Active Development]].  Versions of WHMCS that are not under Active Development will not receive maintenance releases, however, they are candidates for Targeted Critical and Security Releases.  WHMCS will only provide Targeted Releases for candidates that have not reached their [[#Defining End Of Life | End Of Life]].&lt;br /&gt;
&lt;br /&gt;
Please refer to the [[#WHMCS Version &amp;amp; LTS Schedule|WHMCS Version and LTS Schedule]] to see what versions of WHMCS are currently covered by Long-Term Support or under Active Development.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Provisions of Long-Term Support ===&lt;br /&gt;
Once a version of WHMCS is no longer being actively developed it will receive Long-Term Support (LTS) from our Development and Security Teams.  LTS is a finite period which expires on a specific date known as End Of Life (EOL).  Each minor version has it's own EOL date.&lt;br /&gt;
&lt;br /&gt;
Product versions that are in LTS are provided Targeted Critical and Security Releases.&lt;br /&gt;
&lt;br /&gt;
Once a version has moved from Active Development to LTS it will not receive product enhancements or maintenance fixes unless they are deemed critical to the viability of a Targeted Critical or Security Release, and therefore delivered as part of LTS.  If you require product enhancements or maintenance fixes, we suggest updating to a product version that is being actively developed.&lt;br /&gt;
&lt;br /&gt;
=== Active Development ===&lt;br /&gt;
A product version that is under Active Development is in the process of being refined.  Therefore, subsequent revisions are likely to be released until a new minor version is published.  Revision releases can include bug fixes, security enhancements, minor optimizations, third-party updates, as well as Important or Critical updates.&lt;br /&gt;
&lt;br /&gt;
At any given moment in time, there will likely be only one actively developed version of WHMCS available;  it will be the latest version available for our site.  However, to ensure a smooth transition from one major or minor version to the next, WHMCS may extend Active Development of the previously published version.  These overlaps between product versions is usually quite small, on the order of a few weeks at most.&lt;br /&gt;
&lt;br /&gt;
Please refer to [[#WHMCS Version &amp;amp; LTS Schedule|WHMCS Version and LTS Schedule]] to know if your version is currently under Active Development.&lt;br /&gt;
&lt;br /&gt;
=== Defining End Of Life ===&lt;br /&gt;
A core attribute of the Long-Term Support Policy is defining a given version's End Of Life (EOL) date.  The EOL date is established upon the publication of a new minor or major release and typically is set one year into the future.&lt;br /&gt;
&lt;br /&gt;
For example if version 1.0.0 is published January 31, 2012, then it will have an EOL of January 1st 2013 because it is a major release. If 1.1.0 is published on May 1st, 2012, it will have an EOL of May 1st 2013 because it is a minor release. If 1.1.1 is published on May 15th 2012 it will have an EOL of May 1st 2013 because it is a maintenance release to a previous minor release.  Likewise, if 1.1.5 is published on July 24th 2012 it will have  an EOL of May 1st 2013 because it is a maintenance release to a previous minor release.&lt;br /&gt;
&lt;br /&gt;
=== After End Of Life ===&lt;br /&gt;
Once a version's EOL date has passed, no further releases or updates will be provided, regardless of the observed deficiency in that version.&lt;br /&gt;
&lt;br /&gt;
Products that have reached EOL are not available for download from WHMCS.&lt;br /&gt;
&lt;br /&gt;
As noted below in [[#Licensing &amp;amp; Services | Licensing &amp;amp; Services]], the product will continue to function even after the EOL date has passed.  The use of the software is not tied to LTS or EOL, but the active/inactive state of your license.&lt;br /&gt;
&lt;br /&gt;
=== Licensing &amp;amp; Services ===&lt;br /&gt;
WHMCS has historically offered with two types of licenses: Monthly and Owned. Whilst all new sales are of the Monthly type, this document also describes how the policy applies to [[Renewing Support and Updates|grandfathered Owned licenses]].  Each license type is bundled with [[#Help Desk Support | help desk support]] and access to [[#Software Update Service | software updates]] when initially purchased.&lt;br /&gt;
&lt;br /&gt;
A Monthly license always has access to these two services.  An Owned license has access to these two services for one year.  After one year, an Owned license holder can purchase an additional year of these two services as an addon.&lt;br /&gt;
&lt;br /&gt;
An Owned license validates use of the software indefinitely, even after the term of help desk support and access to software updates expires.  A Monthly license validates use of the software, help desk support, and access to software updates in one month durations.  The active status of your license governs the functional state of your WHMCS installation, not the development status (Active Development/LTS/EOL) of the deployed product version.&lt;br /&gt;
&lt;br /&gt;
==== Help Desk Support ====&lt;br /&gt;
The help desk support service allows customers to open tickets with our help desk.  These tickets are managed by our Technical Analysts.  Our Analysts work with customers to resolve a broad range of issues from configuration to identifying deficiency within a given version of WHMCS.  With this service, customers have access to Analysts regardless of which version of the product they are using, even if that version has reached its End Of Life.&lt;br /&gt;
&lt;br /&gt;
It's important to remember, however, that support provided by this service, or deficiencies identified by our Analysts, does not imply future refinements for versions. The [[#WHMCS Version &amp;amp; LTS Schedule|LTS schedule]], along with the severity of the identified issue, will determine what versions of WHMCS are candidates for any future refines.&lt;br /&gt;
&lt;br /&gt;
==== Software Update Service ====&lt;br /&gt;
The software update service allows customers access to the latest versions of WHMCS.  The service does not imply continued development, maintenance, or critical fixes for any given version of WHMCS.  The [[#WHMCS Version &amp;amp; LTS Schedule|LTS schedule]] will determine what versions of WHMCS are candidates for any refinements.  It is recommended that customers leverage this service and keep their WHMCS installation up to date, and optimally, tracking a version that is currently under [[#Active Development | Active Development]].&lt;br /&gt;
&lt;br /&gt;
=== Grandfathered LTS ===&lt;br /&gt;
The WHMCS Long-Term Support policy is effective May 1st, 2013.  Particular versions have been grandfathered, namely 4.5, 5.0, and 5.1.&lt;br /&gt;
 &lt;br /&gt;
=== WHMCS Version &amp;amp; LTS Schedule ===&lt;br /&gt;
This chart is updated upon each major or minor release of WHMCS.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;table table-striped&amp;quot;&lt;br /&gt;
! WHMCS Version&lt;br /&gt;
! Approximate Publication Date&lt;br /&gt;
! Targeted End-Of-Life Date&lt;br /&gt;
! Current Status&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 8.5 || April 2022 || May 31st, 2023  || style=&amp;quot;background: #81D153; font-weight: bold;&amp;quot; | [[#Active Development | &amp;lt;span style=&amp;quot;color:#333&amp;quot;&amp;gt;Active Development&amp;lt;/span&amp;gt;]]&lt;br /&gt;
|-&lt;br /&gt;
| 8.4 || December 2021 || January 31st, 2023  || style=&amp;quot;background: #FFCCCC; font-weight: bold;&amp;quot; | LTS&lt;br /&gt;
|-&lt;br /&gt;
| 8.3 || September 2021 || October 31st, 2022  || style=&amp;quot;background: #FFCCCC; font-weight: bold;&amp;quot; | LTS&lt;br /&gt;
|-&lt;br /&gt;
| 8.2 || May 2021 || June 30th, 2022  || style=&amp;quot;background: #84807F; font-weight: bold;&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 8.1 || November 2020 || December 31st, 2021  || style=&amp;quot;background: #84807F; font-weight: bold;&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 8.0 || August 2020 || September 30th, 2021  || style=&amp;quot;background: #84807F; font-weight: bold;&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 7.10 || April 2020|| April 30th, 2021  || style=&amp;quot;background: #84807F; font-weight: bold;&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 7.9 || November 2019 || December 31st, 2020  || style=&amp;quot;background: #84807F; font-weight: bold;&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 7.8 || August 2019 || August 31st, 2020  || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 7.7 || January 2019 || January 31st, 2020  || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 7.6 || June 2018 || July 31st, 2019  || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 7.5 || April 2018 || April 30th, 2019  || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 7.4 || November 2017 || November 30th, 2018  || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 7.3 || October 2017 || October 31st, 2018 || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 7.2 || May 2017 || May 31st, 2018 || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 7.1 || December 2016 || December 31, 2017 || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 7.0 || October 2016 || October 31, 2017 || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 6.3 || March 2016 || March 31, 2017 || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 6.2 || December 2015 || December 31, 2016 || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 6.1 || September 2015 || September 30, 2016 || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 6.0 || July 2015 || July 31, 2016 || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 5.3 || September 2013 || October 31, 2015 || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 5.2 || March 2013 || March 31, 2014 || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 5.1 || July 2012 || November 30, 2013 || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 5.0 || December 2011 || July 31, 2013 || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 4.5 || April 2011 || June 30, 2013 || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 4.4 || December 2010 || May 31, 2013 || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 4.3 || September 2010 || May 31, 2013 || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 4.2 || March 2010 || May 31, 2013 || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 4.1 || November 2009 || May 31, 2013 || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 4.0 || May 2009 || May 31, 2013 || style=&amp;quot;background: #84807F; font-weight: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|-&lt;br /&gt;
| 1.x-3.x || -- || -- || style=&amp;quot;background: #84807F; font-weight: bold; font-style: bold;color: black&amp;quot; | EOL&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Last Updated: {{REVISIONDAY2: Long_Term_Support }}/{{REVISIONMONTH: Long_Term_Support }}/{{REVISIONYEAR: Long_Term_Support }}&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Automatic_Updater&amp;diff=33110</id>
		<title>Automatic Updater</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Automatic_Updater&amp;diff=33110"/>
				<updated>2022-06-23T11:44:27Z</updated>
		
		<summary type="html">&lt;p&gt;John: /* Unable to connect to the WHMCS Update Server */&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; This page describes a feature available in version 7.0 and above&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Automatic Update utility allows admin users to update WHMCS quickly and easily in just a few clicks.&lt;br /&gt;
&lt;br /&gt;
You can access this feature at '''Utilities &amp;gt; Update WHMCS'''.&lt;br /&gt;
&lt;br /&gt;
For more information on the way in which updates change files, see [[Updater File Changes]].&lt;br /&gt;
&lt;br /&gt;
== System Requirements ==&lt;br /&gt;
&lt;br /&gt;
For automatic updates to be possible, the following system requirements apply:&lt;br /&gt;
&lt;br /&gt;
* A PHP Memory limit of at least 128MB&lt;br /&gt;
* At least 250 MB of free disk space&lt;br /&gt;
* PHP setting allow_url_fopen enabled&lt;br /&gt;
* PHP max_execution_time in excess of 60 seconds&lt;br /&gt;
* PHP Zip Extension or the proc_open PHP function enabled&lt;br /&gt;
* PHP setting open_basedir to include entire WHMCS docroot&lt;br /&gt;
&lt;br /&gt;
== Configuring Your Update Settings ==&lt;br /&gt;
&lt;br /&gt;
=== Choosing an Update Channel ===&lt;br /&gt;
&lt;br /&gt;
The WHMCS automatic updater allows you to choose an update channel that defines the type of updates you will receive. The update channel setting determines the least stable version you are willing to update to:&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;'''Channel'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;'''Description'''&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;Stable&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;'''Recommended''' for most installations of WHMCS, the Stable channel will only apply Stable updates to your installation.&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;Current Version&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subscribing to this channel will restrict you to only receiving maintenance updates for the major/minor version that is currently installed. For example if you are on a version that is in [[Long Term Support]] and a patch is issued for that series, this channel allows you to apply the patch and remain on that series.&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;This is useful for applying minor updates and security releases. More details below.&amp;lt;/div&amp;gt;&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;Release Candidate&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subscribing to the Release Candidate channel will allow you to receive releases after beta testing but before they are released to the Stable tier.&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;Beta&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subscribing to the Beta release channel will allow you to receive the very latest versions of WHMCS. This tier should only be selected for development and test based installations.&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;
==== Patch and Maintenance Release Updates ====&lt;br /&gt;
&lt;br /&gt;
* If you are on a version that is in [[Long Term Support]] and a patch is issued for that series, you can use the Updater to apply the patch and remain on that series.&lt;br /&gt;
* To do this, select the '''Current Version''' update channel as described above.&lt;br /&gt;
* You many need to click ''Check for Updates'' after any setting changes in order to refresh the available version displayed within the page.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
You may wish to change this setting back to &amp;quot;Stable&amp;quot; after updating to ensure future checks display the latest Active Development version available to you.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Setting a Temporary Update Path ===&lt;br /&gt;
&lt;br /&gt;
A temporary path is required for staging of files during an update. For security reasons it is recommended that this directory be located outside the public doc root, similar to the attachments, downloads and templates_c directories. The path must be an absolute path (i.e. /home/whmcsuser/tmp instead of ~/tmp) and must be writable by the user that is running PHP. &lt;br /&gt;
&lt;br /&gt;
=== Setting a Maintenance Message ===&lt;br /&gt;
&lt;br /&gt;
This option can be used to set a message that will be displayed to both other admin and client users whenever an update is in progress.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;Modifying the update configuration requires the '''Modify Update Configuration''' administrator role permission, which is separate from the &amp;quot;Update WHMCS&amp;quot; permission.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Configureupdatesettings.png|center]]&lt;br /&gt;
&lt;br /&gt;
== Checking for Updates ==&lt;br /&gt;
&lt;br /&gt;
New updates are checked for periodically automatically.&lt;br /&gt;
&lt;br /&gt;
When an update becomes available, a notification will appear in the top left corner of admin area as shown below.&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot 2017-06-01 10.32.27.png|700px]]&lt;br /&gt;
&lt;br /&gt;
===Manually checking for updates===&lt;br /&gt;
&lt;br /&gt;
You can check for updates on-demand by clicking the '''Check for Updates''' button.&lt;br /&gt;
&lt;br /&gt;
If a release has just been published you may need to do this to see the update as available prior to the next automated check.&lt;br /&gt;
&lt;br /&gt;
For Owned licenses, the version fetched by the utility will be the version of WHMCS that was available when your Support and Updates Subscription was active. Downloading the latest version of WHMCS requires an active Support and Updates Subscription.&lt;br /&gt;
&lt;br /&gt;
[[File:UpdateAvailable.png|center]]&lt;br /&gt;
&lt;br /&gt;
== Performing an Update ==&lt;br /&gt;
&lt;br /&gt;
To perform an update:&lt;br /&gt;
&lt;br /&gt;
# Make certain that your server meets the [[System_Requirements|system requirements]] and review the [[Release Notes]] for any important notices and information.&lt;br /&gt;
# Make a full backup of your current installation.&lt;br /&gt;
# In WHMCS, click '''Update Now'''. &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;This option only displays if an update is available for your current update channel.&amp;lt;/div&amp;gt;&lt;br /&gt;
# Follow the prompts to complete the update process. The update process can take anywhere from 30 seconds to a few minutes to complete.&lt;br /&gt;
&lt;br /&gt;
If you have custom template files you will also need to review and make any necessary changes to your custom templates using the information provided in the Template Changes section of the [[Release_Notes|Release Notes]]. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-success&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-warning&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; Your customisations will be preserved during the update if you are leveraging the recommended methods for customising things such as [https://developers.whmcs.com/themes/ templates], [[WHOIS_Servers|WHOIS servers]], [[Additional Domain Fields]] and [[Customising Countries and Calling Codes|Countries]]&amp;lt;/div&amp;gt;&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-check&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; If you have customised the permissions on any of the files eg. /crons/pipe.php. These changes will need to be re-applied after the upgrade is complete.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
The actions performed by the Automatic Updater are recorded in the tblupdatelog table within the WHMCS database. To troubleshoot upgrade problems it is useful to review this table for the most recent entries (the highest id values). A tool such as phpmyadmin can be used to browse to the table contents.&lt;br /&gt;
&lt;br /&gt;
For additional guides to troubleshooting auto-update problems, see [http://help.whmcs.com/m/updating Updating] and [[Upgrading New Installation Prompt]].&lt;br /&gt;
&lt;br /&gt;
===Please ensure you have selected a valid Update Channel and then try again===&lt;br /&gt;
&lt;br /&gt;
Receiving this error message in the cron job report email or activity log, indicates that an Update Channel setting needs selecting. To do this, click '''Configure Update Settings'''.  &lt;br /&gt;
&lt;br /&gt;
Next select one of the four available update channel options, and Click Save Changes. The options are [[#Choosing an Update Channel|described above]].&lt;br /&gt;
&lt;br /&gt;
===Permission Errors===&lt;br /&gt;
&lt;br /&gt;
Permission errors in the update log may resemble the following examples:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[WHMCS\Exception] Failed to perform early file copy during WHMCS file relocation: init.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[RuntimeException] /path/to/whmcs/whmcs does not exist and could not be created.&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;failed to open stream: Permission denied&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;Apply update dry-run detected 1 permission issues&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The exact file permission and ownership issues will depend on the individual server configuration. However, for a standard cPanel &amp;amp; WHM server using the suPHP PHP handler, the following configuration would be an appropriate POSIX file permissions:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt; — &amp;lt;tt&amp;gt;400&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;/crons/pipe.php&amp;lt;/tt&amp;gt; — &amp;lt;tt&amp;gt;755&amp;lt;/tt&amp;gt;&lt;br /&gt;
* All other PHP files — &amp;lt;tt&amp;gt;644&amp;lt;/tt&amp;gt;&lt;br /&gt;
* All directories — &amp;lt;tt&amp;gt;755&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The file ownership and group should be the same as the user directory name. For example, on a cPanel &amp;amp; WHM server with a web root at &amp;lt;tt&amp;gt;/home/username/public_html/&amp;lt;/tt&amp;gt;, the &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; user would own the files and the group would also use the name &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Finally, the owner and group of the PHP process must be the same as the user directory name. For example, on a cPanel &amp;amp; WHM server with a web root at &amp;lt;tt&amp;gt;/home/username/public_html/&amp;lt;/tt&amp;gt;, the PHP process owner and group would both be &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Other types of server and PHP handlers may have different configuration requirements.&lt;br /&gt;
&lt;br /&gt;
===Unable to connect to the WHMCS Update Server===&lt;br /&gt;
This error message may be encountered when attempting to perform an automatic update or appear in the Activity Log. It means that your server was unable to connect to our update server. From your server's command line, attempt the following two cURL connections:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;source-cli&amp;quot;&amp;gt;&lt;br /&gt;
curl -v https://releases.whmcs.com/v2/packages.json&lt;br /&gt;
&lt;br /&gt;
curl -v https://pki.whmcs.com/&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The expected return is a '''StatusCode: 200'''. If any other results is returned please work with your server admin or hosting provider to investigate the connectivity problem between your server and the WHMCS update server.&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Automatic_Updater&amp;diff=33109</id>
		<title>Automatic Updater</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Automatic_Updater&amp;diff=33109"/>
				<updated>2022-06-23T11:42:01Z</updated>
		
		<summary type="html">&lt;p&gt;John: /* Troubleshooting */ Need to have Unable to connect to the WHMCS Update Server heading, as it's referenced in the product.&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; This page describes a feature available in version 7.0 and above&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Automatic Update utility allows admin users to update WHMCS quickly and easily in just a few clicks.&lt;br /&gt;
&lt;br /&gt;
You can access this feature at '''Utilities &amp;gt; Update WHMCS'''.&lt;br /&gt;
&lt;br /&gt;
For more information on the way in which updates change files, see [[Updater File Changes]].&lt;br /&gt;
&lt;br /&gt;
== System Requirements ==&lt;br /&gt;
&lt;br /&gt;
For automatic updates to be possible, the following system requirements apply:&lt;br /&gt;
&lt;br /&gt;
* A PHP Memory limit of at least 128MB&lt;br /&gt;
* At least 250 MB of free disk space&lt;br /&gt;
* PHP setting allow_url_fopen enabled&lt;br /&gt;
* PHP max_execution_time in excess of 60 seconds&lt;br /&gt;
* PHP Zip Extension or the proc_open PHP function enabled&lt;br /&gt;
* PHP setting open_basedir to include entire WHMCS docroot&lt;br /&gt;
&lt;br /&gt;
== Configuring Your Update Settings ==&lt;br /&gt;
&lt;br /&gt;
=== Choosing an Update Channel ===&lt;br /&gt;
&lt;br /&gt;
The WHMCS automatic updater allows you to choose an update channel that defines the type of updates you will receive. The update channel setting determines the least stable version you are willing to update to:&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;'''Channel'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;'''Description'''&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;Stable&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;'''Recommended''' for most installations of WHMCS, the Stable channel will only apply Stable updates to your installation.&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;Current Version&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subscribing to this channel will restrict you to only receiving maintenance updates for the major/minor version that is currently installed. For example if you are on a version that is in [[Long Term Support]] and a patch is issued for that series, this channel allows you to apply the patch and remain on that series.&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;This is useful for applying minor updates and security releases. More details below.&amp;lt;/div&amp;gt;&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;Release Candidate&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subscribing to the Release Candidate channel will allow you to receive releases after beta testing but before they are released to the Stable tier.&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;Beta&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subscribing to the Beta release channel will allow you to receive the very latest versions of WHMCS. This tier should only be selected for development and test based installations.&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;
==== Patch and Maintenance Release Updates ====&lt;br /&gt;
&lt;br /&gt;
* If you are on a version that is in [[Long Term Support]] and a patch is issued for that series, you can use the Updater to apply the patch and remain on that series.&lt;br /&gt;
* To do this, select the '''Current Version''' update channel as described above.&lt;br /&gt;
* You many need to click ''Check for Updates'' after any setting changes in order to refresh the available version displayed within the page.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
You may wish to change this setting back to &amp;quot;Stable&amp;quot; after updating to ensure future checks display the latest Active Development version available to you.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Setting a Temporary Update Path ===&lt;br /&gt;
&lt;br /&gt;
A temporary path is required for staging of files during an update. For security reasons it is recommended that this directory be located outside the public doc root, similar to the attachments, downloads and templates_c directories. The path must be an absolute path (i.e. /home/whmcsuser/tmp instead of ~/tmp) and must be writable by the user that is running PHP. &lt;br /&gt;
&lt;br /&gt;
=== Setting a Maintenance Message ===&lt;br /&gt;
&lt;br /&gt;
This option can be used to set a message that will be displayed to both other admin and client users whenever an update is in progress.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;Modifying the update configuration requires the '''Modify Update Configuration''' administrator role permission, which is separate from the &amp;quot;Update WHMCS&amp;quot; permission.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Configureupdatesettings.png|center]]&lt;br /&gt;
&lt;br /&gt;
== Checking for Updates ==&lt;br /&gt;
&lt;br /&gt;
New updates are checked for periodically automatically.&lt;br /&gt;
&lt;br /&gt;
When an update becomes available, a notification will appear in the top left corner of admin area as shown below.&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot 2017-06-01 10.32.27.png|700px]]&lt;br /&gt;
&lt;br /&gt;
===Manually checking for updates===&lt;br /&gt;
&lt;br /&gt;
You can check for updates on-demand by clicking the '''Check for Updates''' button.&lt;br /&gt;
&lt;br /&gt;
If a release has just been published you may need to do this to see the update as available prior to the next automated check.&lt;br /&gt;
&lt;br /&gt;
For Owned licenses, the version fetched by the utility will be the version of WHMCS that was available when your Support and Updates Subscription was active. Downloading the latest version of WHMCS requires an active Support and Updates Subscription.&lt;br /&gt;
&lt;br /&gt;
[[File:UpdateAvailable.png|center]]&lt;br /&gt;
&lt;br /&gt;
== Performing an Update ==&lt;br /&gt;
&lt;br /&gt;
To perform an update:&lt;br /&gt;
&lt;br /&gt;
# Make certain that your server meets the [[System_Requirements|system requirements]] and review the [[Release Notes]] for any important notices and information.&lt;br /&gt;
# Make a full backup of your current installation.&lt;br /&gt;
# In WHMCS, click '''Update Now'''. &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;This option only displays if an update is available for your current update channel.&amp;lt;/div&amp;gt;&lt;br /&gt;
# Follow the prompts to complete the update process. The update process can take anywhere from 30 seconds to a few minutes to complete.&lt;br /&gt;
&lt;br /&gt;
If you have custom template files you will also need to review and make any necessary changes to your custom templates using the information provided in the Template Changes section of the [[Release_Notes|Release Notes]]. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-success&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-warning&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; Your customisations will be preserved during the update if you are leveraging the recommended methods for customising things such as [https://developers.whmcs.com/themes/ templates], [[WHOIS_Servers|WHOIS servers]], [[Additional Domain Fields]] and [[Customising Countries and Calling Codes|Countries]]&amp;lt;/div&amp;gt;&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-check&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; If you have customised the permissions on any of the files eg. /crons/pipe.php. These changes will need to be re-applied after the upgrade is complete.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
The actions performed by the Automatic Updater are recorded in the tblupdatelog table within the WHMCS database. To troubleshoot upgrade problems it is useful to review this table for the most recent entries (the highest id values). A tool such as phpmyadmin can be used to browse to the table contents.&lt;br /&gt;
&lt;br /&gt;
For additional guides to troubleshooting auto-update problems, see [http://help.whmcs.com/m/updating Updating] and [[Upgrading New Installation Prompt]].&lt;br /&gt;
&lt;br /&gt;
===Please ensure you have selected a valid Update Channel and then try again===&lt;br /&gt;
&lt;br /&gt;
Receiving this error message in the cron job report email or activity log, indicates that an Update Channel setting needs selecting. To do this, click '''Configure Update Settings'''.  &lt;br /&gt;
&lt;br /&gt;
Next select one of the four available update channel options, and Click Save Changes. The options are [[#Choosing an Update Channel|described above]].&lt;br /&gt;
&lt;br /&gt;
===Permission Errors===&lt;br /&gt;
&lt;br /&gt;
Permission errors in the update log may resemble the following examples:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[WHMCS\Exception] Failed to perform early file copy during WHMCS file relocation: init.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[RuntimeException] /path/to/whmcs/whmcs does not exist and could not be created.&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;failed to open stream: Permission denied&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;Apply update dry-run detected 1 permission issues&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The exact file permission and ownership issues will depend on the individual server configuration. However, for a standard cPanel &amp;amp; WHM server using the suPHP PHP handler, the following configuration would be an appropriate POSIX file permissions:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt; — &amp;lt;tt&amp;gt;400&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;/crons/pipe.php&amp;lt;/tt&amp;gt; — &amp;lt;tt&amp;gt;755&amp;lt;/tt&amp;gt;&lt;br /&gt;
* All other PHP files — &amp;lt;tt&amp;gt;644&amp;lt;/tt&amp;gt;&lt;br /&gt;
* All directories — &amp;lt;tt&amp;gt;755&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The file ownership and group should be the same as the user directory name. For example, on a cPanel &amp;amp; WHM server with a web root at &amp;lt;tt&amp;gt;/home/username/public_html/&amp;lt;/tt&amp;gt;, the &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; user would own the files and the group would also use the name &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Finally, the owner and group of the PHP process must be the same as the user directory name. For example, on a cPanel &amp;amp; WHM server with a web root at &amp;lt;tt&amp;gt;/home/username/public_html/&amp;lt;/tt&amp;gt;, the PHP process owner and group would both be &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Other types of server and PHP handlers may have different configuration requirements.&lt;br /&gt;
&lt;br /&gt;
===Unable to connect to the WHMCS Update Server===&lt;br /&gt;
This error message may be encountered when attempting to perform an automatic update or appear in the Activity Log. It means that your server was unable to connect to our update server. From your server's command line, attempt the following two cURL connections:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;source-cli&amp;quot;&amp;gt;&lt;br /&gt;
curl https://releases.whmcs.com/packages.json&lt;br /&gt;
&lt;br /&gt;
curl https://pki.whmcs.com/&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The expected return is a '''StatusCode: 200'''. If any other results is returned please work with your server admin or hosting provider to investigate the connectivity problem between your server and the WHMCS update server.&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Automatic_Updater&amp;diff=33108</id>
		<title>Automatic Updater</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Automatic_Updater&amp;diff=33108"/>
				<updated>2022-06-23T11:41:14Z</updated>
		
		<summary type="html">&lt;p&gt;John: Reverted edits by John (talk) to last revision by SarahK&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; This page describes a feature available in version 7.0 and above&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Automatic Update utility allows admin users to update WHMCS quickly and easily in just a few clicks.&lt;br /&gt;
&lt;br /&gt;
You can access this feature at '''Utilities &amp;gt; Update WHMCS'''.&lt;br /&gt;
&lt;br /&gt;
For more information on the way in which updates change files, see [[Updater File Changes]].&lt;br /&gt;
&lt;br /&gt;
== System Requirements ==&lt;br /&gt;
&lt;br /&gt;
For automatic updates to be possible, the following system requirements apply:&lt;br /&gt;
&lt;br /&gt;
* A PHP Memory limit of at least 128MB&lt;br /&gt;
* At least 250 MB of free disk space&lt;br /&gt;
* PHP setting allow_url_fopen enabled&lt;br /&gt;
* PHP max_execution_time in excess of 60 seconds&lt;br /&gt;
* PHP Zip Extension or the proc_open PHP function enabled&lt;br /&gt;
* PHP setting open_basedir to include entire WHMCS docroot&lt;br /&gt;
&lt;br /&gt;
== Configuring Your Update Settings ==&lt;br /&gt;
&lt;br /&gt;
=== Choosing an Update Channel ===&lt;br /&gt;
&lt;br /&gt;
The WHMCS automatic updater allows you to choose an update channel that defines the type of updates you will receive. The update channel setting determines the least stable version you are willing to update to:&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;'''Channel'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;'''Description'''&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;Stable&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;'''Recommended''' for most installations of WHMCS, the Stable channel will only apply Stable updates to your installation.&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;Current Version&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subscribing to this channel will restrict you to only receiving maintenance updates for the major/minor version that is currently installed. For example if you are on a version that is in [[Long Term Support]] and a patch is issued for that series, this channel allows you to apply the patch and remain on that series.&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;This is useful for applying minor updates and security releases. More details below.&amp;lt;/div&amp;gt;&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;Release Candidate&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subscribing to the Release Candidate channel will allow you to receive releases after beta testing but before they are released to the Stable tier.&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;Beta&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subscribing to the Beta release channel will allow you to receive the very latest versions of WHMCS. This tier should only be selected for development and test based installations.&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;
==== Patch and Maintenance Release Updates ====&lt;br /&gt;
&lt;br /&gt;
* If you are on a version that is in [[Long Term Support]] and a patch is issued for that series, you can use the Updater to apply the patch and remain on that series.&lt;br /&gt;
* To do this, select the '''Current Version''' update channel as described above.&lt;br /&gt;
* You many need to click ''Check for Updates'' after any setting changes in order to refresh the available version displayed within the page.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
You may wish to change this setting back to &amp;quot;Stable&amp;quot; after updating to ensure future checks display the latest Active Development version available to you.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Setting a Temporary Update Path ===&lt;br /&gt;
&lt;br /&gt;
A temporary path is required for staging of files during an update. For security reasons it is recommended that this directory be located outside the public doc root, similar to the attachments, downloads and templates_c directories. The path must be an absolute path (i.e. /home/whmcsuser/tmp instead of ~/tmp) and must be writable by the user that is running PHP. &lt;br /&gt;
&lt;br /&gt;
=== Setting a Maintenance Message ===&lt;br /&gt;
&lt;br /&gt;
This option can be used to set a message that will be displayed to both other admin and client users whenever an update is in progress.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;Modifying the update configuration requires the '''Modify Update Configuration''' administrator role permission, which is separate from the &amp;quot;Update WHMCS&amp;quot; permission.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Configureupdatesettings.png|center]]&lt;br /&gt;
&lt;br /&gt;
== Checking for Updates ==&lt;br /&gt;
&lt;br /&gt;
New updates are checked for periodically automatically.&lt;br /&gt;
&lt;br /&gt;
When an update becomes available, a notification will appear in the top left corner of admin area as shown below.&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot 2017-06-01 10.32.27.png|700px]]&lt;br /&gt;
&lt;br /&gt;
===Manually checking for updates===&lt;br /&gt;
&lt;br /&gt;
You can check for updates on-demand by clicking the '''Check for Updates''' button.&lt;br /&gt;
&lt;br /&gt;
If a release has just been published you may need to do this to see the update as available prior to the next automated check.&lt;br /&gt;
&lt;br /&gt;
For Owned licenses, the version fetched by the utility will be the version of WHMCS that was available when your Support and Updates Subscription was active. Downloading the latest version of WHMCS requires an active Support and Updates Subscription.&lt;br /&gt;
&lt;br /&gt;
[[File:UpdateAvailable.png|center]]&lt;br /&gt;
&lt;br /&gt;
== Performing an Update ==&lt;br /&gt;
&lt;br /&gt;
To perform an update:&lt;br /&gt;
&lt;br /&gt;
# Make certain that your server meets the [[System_Requirements|system requirements]] and review the [[Release Notes]] for any important notices and information.&lt;br /&gt;
# Make a full backup of your current installation.&lt;br /&gt;
# In WHMCS, click '''Update Now'''. &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;This option only displays if an update is available for your current update channel.&amp;lt;/div&amp;gt;&lt;br /&gt;
# Follow the prompts to complete the update process. The update process can take anywhere from 30 seconds to a few minutes to complete.&lt;br /&gt;
&lt;br /&gt;
If you have custom template files you will also need to review and make any necessary changes to your custom templates using the information provided in the Template Changes section of the [[Release_Notes|Release Notes]]. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-success&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-warning&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; Your customisations will be preserved during the update if you are leveraging the recommended methods for customising things such as [https://developers.whmcs.com/themes/ templates], [[WHOIS_Servers|WHOIS servers]], [[Additional Domain Fields]] and [[Customising Countries and Calling Codes|Countries]]&amp;lt;/div&amp;gt;&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-check&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; If you have customised the permissions on any of the files eg. /crons/pipe.php. These changes will need to be re-applied after the upgrade is complete.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
The actions performed by the Automatic Updater are recorded in the tblupdatelog table within the WHMCS database. To troubleshoot upgrade problems it is useful to review this table for the most recent entries (the highest id values). A tool such as phpmyadmin can be used to browse to the table contents.&lt;br /&gt;
&lt;br /&gt;
For additional guides to troubleshooting auto-update problems, see [http://help.whmcs.com/m/updating Updating] and [[Upgrading New Installation Prompt]].&lt;br /&gt;
&lt;br /&gt;
===Please ensure you have selected a valid Update Channel and then try again===&lt;br /&gt;
&lt;br /&gt;
Receiving this error message in the cron job report email or activity log, indicates that an Update Channel setting needs selecting. To do this, click '''Configure Update Settings'''.  &lt;br /&gt;
&lt;br /&gt;
Next select one of the four available update channel options, and Click Save Changes. The options are [[#Choosing an Update Channel|described above]].&lt;br /&gt;
&lt;br /&gt;
===Permission Errors===&lt;br /&gt;
&lt;br /&gt;
Permission errors in the update log may resemble the following examples:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[WHMCS\Exception] Failed to perform early file copy during WHMCS file relocation: init.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[RuntimeException] /path/to/whmcs/whmcs does not exist and could not be created.&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;failed to open stream: Permission denied&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;Apply update dry-run detected 1 permission issues&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The exact file permission and ownership issues will depend on the individual server configuration. However, for a standard cPanel &amp;amp; WHM server using the suPHP PHP handler, the following configuration would be an appropriate POSIX file permissions:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt; — &amp;lt;tt&amp;gt;400&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;/crons/pipe.php&amp;lt;/tt&amp;gt; — &amp;lt;tt&amp;gt;755&amp;lt;/tt&amp;gt;&lt;br /&gt;
* All other PHP files — &amp;lt;tt&amp;gt;644&amp;lt;/tt&amp;gt;&lt;br /&gt;
* All directories — &amp;lt;tt&amp;gt;755&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The file ownership and group should be the same as the user directory name. For example, on a cPanel &amp;amp; WHM server with a web root at &amp;lt;tt&amp;gt;/home/username/public_html/&amp;lt;/tt&amp;gt;, the &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; user would own the files and the group would also use the name &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Finally, the owner and group of the PHP process must be the same as the user directory name. For example, on a cPanel &amp;amp; WHM server with a web root at &amp;lt;tt&amp;gt;/home/username/public_html/&amp;lt;/tt&amp;gt;, the PHP process owner and group would both be &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Other types of server and PHP handlers may have different configuration requirements.&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Automatic_Updater&amp;diff=33107</id>
		<title>Automatic Updater</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Automatic_Updater&amp;diff=33107"/>
				<updated>2022-06-23T11:34:11Z</updated>
		
		<summary type="html">&lt;p&gt;John: &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; This page describes a feature available in version 7.0 and above&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Automatic Update utility allows admin users to update WHMCS quickly and easily in just a few clicks.&lt;br /&gt;
&lt;br /&gt;
== System Requirements ==&lt;br /&gt;
&lt;br /&gt;
For automatic updates to be possible, the following system requirements apply:&lt;br /&gt;
&lt;br /&gt;
* A PHP Memory limit of at least 128MB&lt;br /&gt;
* At least 250 MB of free disk space&lt;br /&gt;
* PHP setting allow_url_fopen enabled&lt;br /&gt;
* PHP max_execution_time in excess of 60 seconds&lt;br /&gt;
* PHP Zip Extension or the proc_open PHP function enabled&lt;br /&gt;
* PHP setting open_basedir to include entire WHMCS docroot&lt;br /&gt;
&lt;br /&gt;
== Checking for Updates ==&lt;br /&gt;
&lt;br /&gt;
New updates are checked for periodically automatically.&lt;br /&gt;
&lt;br /&gt;
When an update becomes available, a notification will appear in the top left corner of admin area as shown below.&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot 2017-06-01 10.32.27.png|700px]]&lt;br /&gt;
&lt;br /&gt;
===Manually checking for updates===&lt;br /&gt;
&lt;br /&gt;
You can check for updates on-demand by navigating to ''Utilities &amp;gt; WHMCS Update'' and clicking the '''Check for Updates''' button.&lt;br /&gt;
&lt;br /&gt;
If a release has just been published you may need to do this to see the update as available prior to the next automated check.&lt;br /&gt;
&lt;br /&gt;
[[File:UpdateAvailable.png|center]]&lt;br /&gt;
&lt;br /&gt;
== Performing an Update ==&lt;br /&gt;
&lt;br /&gt;
To perform an update, navigate to ''Utilities &amp;gt; Update WHMCS'' and click the '''Update Now''' button (pictured above).&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; Please note this option will only show if an update is available based on your current Update Channel Preferences.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will then be guided through the update process.  The update process can take anywhere from 30 seconds to a few minutes to complete.&lt;br /&gt;
&lt;br /&gt;
Before beginning any update, it is strongly recommended to make a full backup of your current installation and review the [[Release Notes]] for any important notices and information.&lt;br /&gt;
&lt;br /&gt;
Watch our video tutorial here: https://vimeo.com/whmcs/automatic-updates-tutorial&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-success&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-warning&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; Your customisations will be preserved during the update provided you are leveraging the recommended methods for customising things such as [[Customising_the_Six_Theme|templates]], [[WHOIS_Servers|WHOIS servers]], [[Additional Domain Fields]] and [[Customising Countries and Calling Codes|Countries]]&amp;lt;/div&amp;gt;&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-check&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; If you have customised the permissions on any of the files eg. /crons/pipe.php. These changes will need to be re-applied after the upgrade is complete.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuring Your Update Settings ==&lt;br /&gt;
&lt;br /&gt;
=== Choosing an Update Channel ===&lt;br /&gt;
&lt;br /&gt;
The WHMCS automatic updater allows you to choose an update channel that defines the type of updates you will receive.&lt;br /&gt;
&lt;br /&gt;
For most users, we recommend choosing the '''Stable''' channel which will only apply Stable updates to your installation.&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;'''Channel'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;'''Description'''&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;Stable&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;'''Recommended''' for most installations of WHMCS, the Stable channel will track the latest stable version that has been released.&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;Release Candidate&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subscribing to the Release Candidate channel will allow you to receive releases after beta testing but before they are released to the Stable tier.&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;Beta&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subscribing to the Beta release channel will allow you to receive the very latest versions of WHMCS. This tier should only be selected for development and test based installations.&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;Current Version&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subscribing to this channel will restrict you to only receiving maintenance updates for the major/minor version that is currently installed. For example if the installed version of WHMCS is 7.0.0-GA, admins will be offered upgrades to 7.0.1-GA and 7.0.2-GA, but not 7.1.0.&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;
=== Setting a Temporary Update Path ===&lt;br /&gt;
&lt;br /&gt;
A temporary path is required for staging of files during an update. For security reasons it is recommended that this directory be located outside the public doc root, similar to the attachments, downloads and templates_c directories. The path must be an absolute path (i.e. /home/whmcsuser/tmp instead of ~/tmp) and must be writable by the user that is running PHP. &lt;br /&gt;
&lt;br /&gt;
=== Setting a Maintenance Message ===&lt;br /&gt;
&lt;br /&gt;
This option can be used to set a message that will be displayed to both other admin and client users whenever an update is in progress.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;Modifying the update configuration requires the '''Modify Update Configuration''' administrator role permission, which is separate from the &amp;quot;Update WHMCS&amp;quot; permission.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Configureupdatesettings.png|center]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
The actions performed by the Automatic Updater are recorded in the tblupdatelog table within the WHMCS database. To troubleshoot upgrade problems it is useful to review this table for the most recent entries (the highest id values). A tool such as phpmyadmin can be used to browse to the table contents.&lt;br /&gt;
&lt;br /&gt;
===Please ensure you have selected a valid Update Channel and then try again===&lt;br /&gt;
Receiving this error message in the cron job report email or activity log, indicates that an Update Channel setting needs selecting. To do this, navigate to ''Utilities &amp;gt; Update WHMCS'' and click '''Configure Update Settings'''.&lt;br /&gt;
&lt;br /&gt;
Next select one of the four available update channel options, and Click Save Changes. The options are [[#Choosing an Update Channel|described above]].&lt;br /&gt;
&lt;br /&gt;
===Unable to connect to the WHMCS Update Server===&lt;br /&gt;
This error message may be encountered when attempting to perform an automatic update or appear in the Activity Log. It means that your server was unable to connect to our update server. From your server's command line, attempt the following two cURL connections:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;source-cli&amp;quot;&amp;gt;&lt;br /&gt;
curl https://releases.whmcs.com/packages.json&lt;br /&gt;
&lt;br /&gt;
curl https://pki.whmcs.com/&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The expected return is a '''StatusCode: 200'''. If any other results is returned please work with your server admin or hosting provider to investigate the connectivity problem between your server and the WHMCS update server.&lt;br /&gt;
&lt;br /&gt;
===Permission Errors===&lt;br /&gt;
Permission errors may manifest themselves in the tblupdatelog table as the following:&lt;br /&gt;
&amp;lt;div class=&amp;quot;source-cli&amp;quot;&amp;gt;&lt;br /&gt;
[WHMCS\Exception] Failed to perform early file copy during WHMCS file relocation: init.php&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;div class=&amp;quot;source-cli&amp;quot;&amp;gt;&lt;br /&gt;
[RuntimeException] /path/to/whmcs/whmcs does not exist and could not be created.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These kinds of file permission and ownership issues are multi-faceted and dependant upon the individual server configuration. However for a standard '''cPanel''' server using the '''suPHP''' PHP Handler an appropriate posix file permissions permissions would be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
configuration.php - 400&amp;lt;br/&amp;gt;&lt;br /&gt;
/crons/pipe.php - 755&amp;lt;br/&amp;gt;&lt;br /&gt;
All other PHP files 644&amp;lt;br/&amp;gt;&lt;br /&gt;
All directories 755&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The file ownership and group should be the same as the user directory name. Eg. On a cPanel box where the web-root is located at ''/home/'''david'''/public_html/'',  files should be owned by '''david''', and the group should be '''david'''.&lt;br /&gt;
&lt;br /&gt;
Finally, the owner and group of the PHP process seeking to take action should be the same as the user directory name. Eg. On a cPanel box where the web-root is located at ''/home/'''david'''/public_html/'',  PHP process owner and group should be '''david'''.&lt;br /&gt;
&lt;br /&gt;
Other types of server and PHP handlers may have different configuration requirements, the above is intended as a guide for one particular possible combination only.&lt;br /&gt;
&lt;br /&gt;
===Curl 77 Error===&lt;br /&gt;
CURL77 errors may manifest as the following in the tblupdatelog table:&lt;br /&gt;
&amp;lt;div class=&amp;quot;source-cli&amp;quot;&amp;gt;&lt;br /&gt;
[WHMCS\Installer\Composer\ComposerUpdateException] Failed to get certificate metadata from keyserver. Error: Unable to download file from URL:  Message cURL error 77: Problem with the SSL CA cert (path? access rights?) update [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--lock] [--no-plugins] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [--with-dependencies] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [-i|--interactive] [--root-reqs] [--] []...&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
This error indicates that the server was unable to connect to the WHMCS update server because the security of the connection could not be verified. The connection is secured using SSL certificates and to verify the certificate your server needs up-to-date root certificates to know which to trust. &lt;br /&gt;
&lt;br /&gt;
Please work with your server administrator or hosting provider to ensure the root CA bundles are fully updated on your server.&lt;/div&gt;</summary>
		<author><name>John</name></author>	</entry>

	</feed>