WHMCS Integration - Strange WHMCS Error state

Hi guys,

we are also facing the issues discussed here:
https://premium.wpmudev.org/forums/topic/wordpress-46-update-caused-whmcs-integration-failure-line-376

Customers are able to open single pages but fail, when doing some AJAX or POST to the WHMCS installation.

I already tried to narrow down the issue.
The "line 376" error is related to the cache file not being created.
$this->cache = WHMCS_INTEGRATION_CACHE_DIR . "{$this->sid}.txt";
The file seems not to be created anymore but I don't know for what reasons.

I added a touch($this->cache); to the next line to circumvent the issue. Nevertheless the txt files was once created and isn't anymore.

We integrate the order flow into our WP site using the modern template with AJAX.
cart.php -> is working fine with selection of the product
cart.php -> Domain selection is working partly. You can enter a domain and get the popup stating, that the domain is available.
Hitting the "Continue" button triggers the error. The ajax requests to communicate with WHMCS is triggered but only returns a WHMCS error.

I traced it down to
$_LANG['invoiceserror']

Which is quite weird in particular, as the order flow has nothing todo with invoices or quotes. So there might be another relation deep in the encoded WHMCS sources where this error messages is used. As I only have the encrypted sources, I have no chance to dig deeper.

At all, I believe this might be some crude bug coming from WP4.6 or a recent WHMCS security update.
You might want to get in touch with WHMCS regarding the code where the error message might be triggered.

Reproduction:
- Open the Chrome / Safari / Firefox Dev Tools and look into the network Tab (admin-ajax.php Requests)
- Open https://wlwp.eu/bestellen/wlwp/cart.php/?a=add&pid=5
- Put in any not taken domain into the first field (like "niowaifjaowfjwaoi":wink: and hit "Weiter" (blue button)
- Overlay appears, click "Weiter" there. The overlay will disappear and you are stuck
- Now take a look at the Dev Tools and the return value of the last AJAX call. I attached a screenshot for you. This message comes from WHMCS (notice the ".--" at the end, I added that manually to the WHMCS language file).

Already did all debugging through WordPress as well as the Debug Mechanisms of the plugin. No obvious errors are in there. I also excluded the verifyimage.php include to get rid of the "Invalid Character" exception of the XML parser.

Support Access is granted.

Best Regards,

Jan