Jump to content

All Activity

This stream auto-updates

  1. Yesterday
  2. 1. Unban Center For WHMCS 2.5.0 - 25% OFF! Anyone who works with hosting knows the feeling: suddenly an IP gets blocked, and everything stops for no good reason. Our Unban Center For WHMCS exists to make moments like these quick and easy to fix. And now the module has been updated to version 2.5.0, bringing a feature many will find genuinely useful! The biggest advantage of this release is the new integration with BitNinja, a well-known security service used by hosting companies around the world. Thanks to this update, Unban Center For WHMCS can automatically check and unblock IP addresses through BitNinja without any extra work on your side. What makes this worth a deeper look? BitNinja uses reputation data, smart filters, and real-time threat sharing to avoid unnecessary blocks. In everyday use, it means fewer mistakes, fewer support tickets, and faster solutions when someone gets blocked by accident. If you're looking for something that reduces frustration, speeds up routine tasks, and helps customers get back into their services without delay, Unban Center For WHMCS has been built for exactly that. Now's a perfect moment to give it a try. The module is featured as our Deal Of The Week, which means you can grab it with a vast 25% discount for the next few days! Experience advanced security with Unban Center For WHMCS 2.5.0! 2. Payment Gateway Charges For WHMCS 3.0 Managing payment gateway fees may seem like a small detail, but it's often the detail that decides how smoothly billing runs in the long term. With that in mind, Payment Gateway Charges For WHMCS has recently moved into its 3.0 generation to introduce: More flexible rule handling to cover fees or discounts for individual billing cycles at the product level.A more approachable way to edit translations without leaving the module.Refined access control settings so only the right people can make or manage changes within the module. Comprehensive logs that finally show exactly what you need without digging for information. Together, these new features form a practical step forward meant to support you as your billing structure becomes more complex. Look into the 3.0 chapter of Payment Gateway Charges For WHMCS! Need WHMCS Module Development For Your Business? Get Your Free Quote Now! We can customize our modules to fit your exact needs or even create a completely new one from scratch to give your WHMCS platform an added boost!
  3. This is a really cool update that adds a lot of functionality!
  4. Last week
  5. Please contact us here https://whmcsglobalservices.com/whmcs-custom-development we can do the Custom WHMCS modules & WordPress plugins Development work.
  6. Please check the README on GitHub; you must create Configurable Options - look for "osid".
  7. Hello , the module is very good , but a question how can the user choose the "Operating System" on the order page with hostname and the Nameservers ? this option i svery importnat for users , so that don't need to reintsall the server to choose an other "Operating System" , is there any setting for this please ?
  8. We are a dedicated WHMCS development startup providing custom solutions for hosting businesses. Our goal is to deliver secure, scalable, and efficient WHMCS tools to help automate and improve your operations. Our WHMCS Services: Custom WHMCS Modules WHMCS Addon Development Payment Gateway Integrations Domain Registrar Integrations Server Integrations (cPanel, Plesk, DirectAdmin) Custom Hooks and Business Logic Automation WHMCS API Development and Integrations Template and Client Area Customization Email Automation and Custom Notification Systems Reporting Tools and Analytics Dashboards Why Choose Us: Experienced WHMCS specialists Clean, optimized, and secure development Fast delivery and ongoing support Ready for custom ideas and new projects If you need custom WHMCS development, integrations, or module creation from scratch, we are ready to help. Website: https://whmcstechlab.com Email: info@whmcstechlab.com Phone: +91 86999 91697
  9. This week or next! It sure would be nice to double the size of the engineering team temporarily for one release every few years!
  10. @towhiddex was correct. I did not initially catch the fact he was talking about where I referenced $values for the postdata but used $postData with the api request. I have resolved. Correct code as he called out: $clientid = (int) $vars['params']['userid']; $command = 'GetInvoices'; $postData = array( // instead of $values 'userid' => $clientid, 'status' => 'Unpaid', 'limitstart' => 0, 'limitnum' => 3000, );
  11. Can you send me a private message, so that we can discuss further there?
  12. We appreciate your help 🙂 Kindly check this equation. $Temp = New Product Price ($27) - Original Payment ($10); Assume $Temp = $17, then we need to calculate the remaining days for his subscription. $newPrice = $Temp / 365 * Remaining days (Due Date - Current Date);
  13. Hello, https://developers.whmcs.com/hooks-reference/shopping-cart/#orderproductupgradeoverride If you want to work with this hook, I can try it for you. With this hook, we can customize the price based on the new product selected. We might need to create a clear document of the price structure based on the new product.
  14. Here are some screenshots. One shows view of client record invoices (there are only two invoices, and none are unpaid) The other reflects what was captured from the declared/captured values (25 for num of invoices is from numreturned).
  15. @towhiddex The one thing you missed is that I did pass in the $clientid (params userid assignment). The client in question had no Unpaid invoices (as defined in the postdata array. When I tested similar using postman request to our production (there are limits in our dev) it returned anticipated results of 0 for totalresults and numreturned which is what I am anticipating. I am not concerned about limitnum because the default return of 25 would be fine. All I need to evaluate is whether it is 0 or >=1.
  16. Even with setting the $clientid as integer and using that in the API request, it still acts like no clientid reference is supplied. What am I missing.
  17. Hello everyone, I’m building a custom client area for a hosting project, using the WHMCS API from the official documentation: https://developers.whmcs.com/api-reference/ Everything works fine except for one major issue: User security management. It appears that in recent WHMCS versions, the API no longer provides any parameters or endpoints to: Update a client/user password Enable/disable Two-Factor Authentication (2FA) Modify any security-related user settings I’ve confirmed that UpdateClient and other related APIs no longer accept password fields, and I can’t find any API method for managing 2FA status either. My questions: Is there an official or recommended way (API or internal function) to allow a client to update their own password from a custom front-end? Is 2FA status manageable programmatically at all, or only through the built-in WHMCS interface? If the solution must be implemented inside WHMCS using internal models (e.g., WHMCS\User\User), what should I be looking for? If support needs to be contacted, what exactly should I ask them regarding password/2FA programmatic updates? Any direction, keywords, or examples from developers who already implemented a custom client panel would be extremely helpful. Thank you!
  18. It is acting like it is not recognizing the client id and returning for all client invoices matching unpaid. not sure why. Will be declaring $clientid as int and then passing it in. We'll see. $client = $vars['params']['userid']; // triggered from premodulerenew hook $clientid = (int) $client; The module params documentation indicates userid is Id from tblclients.id, which indicates in schema it is already an int. The curious thing is, I pulled same code from another hook that used same localAPI for GetInvoices and it had no issues at all.
  19. your API call isn’t using the filter array you think it is, and you’re reading the wrong field from the response. 1103 = totalresults for all unpaid invoices (because filters weren’t applied). 25 = numreturned default page size, with no limitnum specified. $clientid = (int) $vars['params']['userid']; $command = 'GetInvoices'; $postData = array( 'userid' => $clientid, 'status' => 'Unpaid', 'limitstart' => 0, 'limitnum' => 3000, ); $getClientInvoices = localAPI($command, $postData); // , $adminuser if needed $invoicecount = 0; if ($getClientInvoices['result'] === 'success') { $invoicecount = (int) $getClientInvoices['totalresults']; } if ($invoicecount >= 1) { logActivity( 'Service renewal will be aborted for client ' . $clientid . '. It is not qualified because it has ' . $invoicecount . ' unpaid invoices - by hook_send_renewal_notice_toadmin...' ); }
  20. I am using the following localAPI request in a hook (excerpt) to determine number of invoices matching the request (e.g. # unpaid for a defined client). $clientid = $vars['params']['userid']; // triggered from premodulerenew hook $invoicecount = 1; $command = 'GetInvoices'; $values = array( 'userid' => $clientid, 'status' => 'Unpaid' ); $getClientInvoices = localAPI($command, $postData); if ($getClientInvoices['result'] == 'success') { $invoicecount = $getClientInvoices['numreturned']; } if ($invoicecount >= 1) { logActivity('Service renewal will be aborted for client ' . $clientid . '. It is not qualified because it has ' . $invoicecount . ' unpaid invoices - by hook_send_renewal_notice_toadmin...'); } The $clientid listed in the logactivity matches the clientid passed to the LocalAPI ('userid' => $clientid), but it first returned over a 1103 as totalresult in the response. So, I thought I would switch to numreturned in the response, and it went to 25 (which is default for number to return) 1103 from $invoicecount from response.totalresults Service renewal will be aborted for client 585. It is not qualified because it has 1103 unpaid invoices - by hook_send_renewal_notice_toadmin... 25 from $invoicecount using response.numreturned Service renewal will be aborted for client 585. It is not qualified because it has 25 unpaid invoices - by hook_send_renewal_notice_toadmin... 585 is the correct clientid as reported in the logactivity so how in the world is it reporting 1103 and 25? There only 2 invoices recorded for the client and only 1 is unpaid.
  21. Earlier
  22. Sorry, but sounds more like a personal (shortage) issue to me.
  23. Hi @towhiddex Thank you for taking your time with me. I have aplied this hook, I tried to create imediately new billable item on next cron, but no invoice was generated, not sure why yet..but let me test it more and will post here.
  24. Strange bug indeed… it happened to me too!!
  25. You may also want to check with WHMCS, since your license isn't active: https://www.whmcs.com/members/verifydomain.php/verifydomain.php
  26. Is there any update on when a beta or release candidate for version 9.0 will be available? Should we expect it within the next few days or rather in the coming weeks?
  1. Load more activity
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use & Guidelines and understand your posts will initially be pre-moderated