Jump to content

All Activity

This stream auto-updates     

  1. Past hour
  2. Yes, I think it would be nice if they could unlock everything except the two license files, but I won't hold my breath on that one, otherwise I'll be as dead as Atari ! Meanwhile, if there is no announcement soon, we will have to start looking at alternatives... Does Blesta have project management yet?
  3. Today
  4. Finding an alternative for 2 files is much less of an undertaking though! Whmcs encrypted everything (imo to hide it from criticism) I think wise and host alongside whmcs could struggle with the fully encrypted model to change to something else! Although it may speed up the decision to go fully hosted like they're clearly planning!
  5. Funny, and maybe "good" for WHMCS, is the ioncube wait would hit Blesta -- because of its license bits being encoded. I don't think 7.0 was that bad or not as bad as 5.0 .
  6. Hello, How to update the Credit Balance for a client after changing the Invoice and InvoiceItems? I'm using Paddle for processing my payments. When sending the invoice data to Paddle I send it without taxes. Then Paddle handles the taxes and at the Subscription Payment Success webhook I get if there are any taxes. Then I change the Invoice Items and the Invoice. ((((Don't know if UpdateClientProduct autorecalc is not working in v8.2 or it is used for something else)))) At the end I also update the Invoice with tax amount and the new total with taxes. I'm new with WHMCS (2 months now) and PHP (3 months). Now, I can't find the way how to update or trigger something to update the Credit Balance on the Summary for Client. It is still the old value that was before adding taxes to Invoices. Is there an API to update the Clients amounts, including Credit Balance and do I need to update something else after my changes to the Invoices? Here the part of the code that is doing this: $withoutTax = $fields['balance_fee'] + $fields['balance_earnings']; $taxAmount = $fields['balance_tax']; $withTax = $fields['balance_gross']; if ( $withoutTax <> 0 ) { $taxPercent = round(($taxAmount / $withoutTax) * 100, 2); } else { $taxPercent = 0; } if ( $taxPercent <> 0 ) { $itemTaxed = 1; } else { $itemTaxed = 0; } $command = 'GetInvoice'; $values = array( 'invoiceid' => $invoiceId, ); //$adminUsername = 'ADMIN_USERNAME'; // Optional for WHMCS 7.2 and later // Call the localAPI function $invoice = localAPI($command, $values, $adminUsername); logModuleCall('paddle_checkout_gateway_callback', 'UpdateInvoice_localAPI_invoice', $invoice, ""); if ($invoice['result'] == 'success') { foreach ($invoice['items']['item'] as $item) { //error_log($vars['invoiceid'].' item '.$item['id'].' has description of "'.$item['description'].'"'); $text = $item['description']; $updatedInfo = array( 'invoiceid' => $invoiceId, 'taxrate' => $taxPercent, 'itemdescription' => array($item['id'] => $text), 'itemamount' => array($item['id'] => $item['amount']), 'itemtaxed' => array($item['id'] => $itemTaxed) ); $updatedInvoice = localAPI('UpdateInvoice', $updatedInfo, $adminUsername); logModuleCall('paddle_checkout_gateway_callback', 'UpdateInvoice', $updatedInfo, $updatedInvoice); } } else { //echo "An Error Occurred: " . $results['result']; } // let's now trigger the recalculate of each hostingId from this updated invoiceid // I think that this is not working in v8.2 or the UpdateClientProduct autorecalc is used for something else $invoiceitems = Capsule::table('tblinvoiceitems') ->where('invoiceid', $invoiceId) ->where('type', 'Hosting')->get(); //->first(); foreach( $invoiceitems as $invoiceitem ){ //$invoiceitem->relid this is the id from the tblHosting table $resultOfAPI = localAPI('UpdateClientProduct', array('serviceid' => $invoiceitem->relid, 'autorecalc' => true), $adminUsername); logModuleCall('paddle_checkout_gateway_callback', 'recalculateProductItems', $invoiceitem->relid, $resultOfAPI); } // 20210927 maybe a bug in v8.2 // not updating the tax and the total amount of the invoice with UpdateClientProduct 'autorecalc' // manualy updating the table tblinvoices try { Capsule::table('tblinvoices') ->where('id', $invoiceId) ->update([ "tax" => $taxAmount, "total" => $withTax ]); } catch (\Exception $e) { logModuleCall('paddle_checkout_gateway_callback', 'recalculateProductItems_ERROR', "tax " .$taxAmount . " total " .$withtax ,$e); echo "Error in updating tblInvoices. {$e->getMessage()}"; }
  7. To get json in to WHMCS's chain / given variables and thus in to its hooks and supported module functions, you would need to pass it as a POST variable in the ajax request. If the whole POST has to be a json post, then this requires a separate file you can post to and that php file would expect php://input to be json -- can't give example due to web filters but a google search should for that should show the code. That file then needs to include the init.php file and such if it wants to access parts of WHMCS . What would be the use case here?
  8. Hi testers! With WHMCS 8.3 you can now customize friendly URLs for each of your products. Once you have created one or more product URLs, you can easily view the number of visits for the active (most recent) product URL. To learn more check out the new Friendly URLs Documentation During the pre-release testing we want to hear about your experiences with feature. Some potential starting points for discussion are: What was your experience configuring the Friendly URLs options? Was the process for changing Friendly URLs for products and services clear? Did clients experience any errors using the Friendly URLs on the shopping cart? Have you observed any quantifiable Search Engine Ranking change after implementation? In addition to resolving any errors which might occur, understanding any pain points is of particular interest to us. Your input will help us tweak messaging in the product or documentation and publish support articles. Please submit your feedback by reply to this thread or via the feedback form at https://beta.whmcs.com Thanks for your help in the pre-release testing!
  9. Hello, How can I stop these emails (not the actual tasks, just the emails) WHMCS Cron Job Activity WHMCS Domain Synchronisation Cron Report I keep on getting them, but do not want to receive them from my panel multiple times a day, Thank you.
  10. I was looking for this as well, but must wait for ioncube. The problem with that is, ioncube dont give a shi* They are not responding to any php8 threads, nor are they giving any timeframes. So might be never 😕 ok they finally replied in their thread, basicly they are waiting for php8.1 before ioncube releases anything https://community.ioncube.com/viewtopic.php?t=4592&postdays=0&postorder=asc&start=15&sid=03a8d53a49e7ea01777f9f4836cb3041
  11. Hello everyone, Is there any way that ı can get only a json data in a module or a hook point ? I want to get a data to my module by clicking a button that gets the data from this page using ajax. Please guys help mee 😞
  12. I would return false in the refund function and change the error message to its own text via javascript using the AdminAreaFooterOutput hook, maybe even change the CSS class so that the notice doesn't appear in red. After you received the callback from Paddle, you process the refund properly. It would also be useful to notify the staff about the output of the refund, for this you can either create a ticket or use the WHMCS notification system. In order to continue to use the normal refund function from WHMCS, I would add a second argument to the function, such as: function paddle_refund ($params, $fromCallback = null) { if ($fromCallback) { .... return [ 'status' => 'success' ]; } else { .... return [ 'status' => 'error' ]; } }
  13. Thanks @steven99 for interesting view of possible workaround and for taking the time. I need to think about it and test it heavily. Davor
  14. Yesterday
  15. It's pointless, as has been pointed out they don't act upon it! They listen to the secret hidden voices (some would see a doctor, but who am I to judge?) And then feed us the "Highly requested" nonsense 🙄 It's so see-through and absolutely tragic, they'd get more respect by admitting they're only interested in further monetising their customer base as directed at the shareholder meeting! The request page is literally a box ticking exercise and a way to not give an answer! Hopefully with the new money coming in they'll be able to hire some competent devs to implement useful features and not just ones that pay them commission!
  16. Hey all, I am half way through developing my site and have been using a hook file to import the pricing for the products and domains from the database. Does anyone know if there is a way to increase the page load speed as it takes some time to load all the pricing especially when it comes to a page that has a lot of services on that need to be loaded. The reason for loading them from the db is because I use multi currencies and if not used the prices wont updated when the currency is changed in the header. I would appreciate any support on this?
  17. Added vote on both as well, we often get this request from customers.
  18. Is it possible to setup notification rule condition where "contains" can be more than just 1 value ? Etc. can only get it working if only 1 value is added. Would be nice to make several OR contains, instead of having to make 1 rule per keyword. Example case: is looking for a list of keywords in ticket subjects.
  19. check it use WHMCS\Database\Capsule; use WHMCS\Carbon; add_hook('AfterCronJob', 1, function($vars) { if(Carbon::now()->format('H') == '14'){ $todayRun = Capsule::table('tblactivitylog')->where("description",'like',"I did it!") ->where("date",">" , Carbon::now()->addMinutes("-30") )->first()->id ; if (Carbon::now()->format('H) == '14' AND !$todayRun) { // Do your stuff logActivity('I did it!'); } } });
  20. hi @davidashu your request does not include enough description,
  21. Does 203 make it more viable? The requests site and how it works is ambiguous at best. Especially with no dates/times.
  22. You probably added the hooks.php file after the module was activated. If you add the file after the module activation, WHMCS will not load it automatically. To solve the problem, go to the addon settings and click on "Save Changes" for the relevant module without changing any settings. The hooks.php file will then be recognized by WHMCS.
  23. Domain Renewal invoice generation depends on expiration date value for domains with Auto-renewal enabled
  24. Domain Renewal invoice generation depends on expiration date value for domains with Auto-renewal enabled
  25. Last week
  26. There's a few, a quick Google will show you! Depends upon your needs really! WiseCP is my favourite
  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