Jump to content


  • Content count

  • Joined

  • Last visited

  • Days Won


Everything posted by Kian

  1. Kian

    How to make payment gateway

    Read this article.
  2. Kian

    Document Access

    Alternatively you could use a small "cheat". Create a Support Department dedicated to translations that unlocks only when customers paid for your translation service. Support tickets already integrate a file uploader therefore they can use it to attach their files. Keep in mind that you could design this specific Support Department so that it doesn't even look like a ticket. You can hide title, content, name, email fields leaving the uploader with description.
  3. Okay, all you need is looking for solutions that allow to use multiple domains on the same installation of WHMCS. There's Multi-Brand of ModulesGarden and another one that will be released soon. Once your domains have been configured, the Affiliate program should work without any problem. This way you'll have one WHMC that can be accessed from multiple domain names. Each domain will work for affiliates.
  4. Even though I did a good amount of custom templates, I never released a "generalist" one that can be purchased multiple times by anyone exactly for the reason you have just described here. In my opinion a template should have things like navbar manager (add, remove, move items from an interface), image carousel creator (upload an image, write description, define call to action, link to product, set order etc.), an interface to edit header/footer on the fly, change colors, create custom pages and so on. Long story short the same stuff you have on WordPress. This way anyone can get very good results just playing with a GUI instead of editing Smarty and hooks. As you can imagine, this is more than just a template made of CSS, images, js, HTML. It requires an extensive addon module (PHP, MySQL, hooks). Creating such a structure takes several months to complete and it's harder to maintain. On the other hand completing a one-off template takes hours, days or weeks and you just need to make sure that it still works with the latest version of WHMCS every 6-12 months. I think that this explains why there very few (maybe none) "advanced" templates. That's my opinion.
  5. Let's ignore for a moment affiliates. Do you need to run both domains (and additional ones) on the same WHMCS?
  6. I'm completing the refactoring of a module that I initially released on 2015 that allows to pay commissions to Affiliates depending on their sales, performance levels and monthly achievements. It has nothing to do with the Affiliates system of WHMCS. The current version of the module is still functional but has a problem. It has too many types of commissions which makes the module very difficult to use. That's what you get when you give too much room to bad users' feedback 🤔 My bad. The refactored module is based on making it simple to use for administrators and affiliates therefore I refused to implement subterfuges like 3% + 5% commissions (you don't get 8%), misleading mechanics and bonus scheme that requires a supercomputer to be explained. I'll never implement such things again. That said, I'm looking for feedback (good ones 😀), ideas and suggestions. Am I missing something important? Backend Commissions [ Click to enlarge ] You can define commission payouts based on specific Products/Services, TLDs and Product Addons both percentage and fixed amount. It is also possible to define group-based commissions (eg. all VPS servers, all TLDs). You can use padlocks to lock certain items so that they don't get updated when you change parents. Achievements [ Click to enlarge ] You can set multiple achievements to encourage Affiliates to keep selling your products. On a monthly basis the module automatically rewards them for reaching the goals you set. Achievements are based on Revenue, New Signups and Number of Sales. These same achievements can be used also to reward Top Affiliates (eg. first 5 Affiliates that brings you 1000€ of Revenue, Affiliates reaching 1000€ earn a bonus of 100€ etc.). The system pays commissions based on the following Attribution Metrics (Manual, Cookie-based, Interactive). You can put limits to Affiliation program and Payouts. There are also many other pages in backend (Dashboard, View/Filter/Manage Affiliates, Sales, Payouts, Settings) but right now I'd like to focus on the above ones. Before you ask the module already handles multiple currencies and conversion rates. Clientarea Earnings [ Click to enlarge ] This is how your Affiliates can monitor their sales, revenues and request payouts from Clientarea. Achievements [ Click to enlarge ] Here they review not only unlocked Achievements but also next ones. At a glance they can get an idea of their progress by simply looking at progress bars. This way they can decide to focus on a particular goal. Subscriptions [ Click to enlarge ] This area is for recurring commissions that can be lifetime or last for a certain amount of months. Statistics [ Click to enlarge ] We're still working on this page since we need to decide what metrics to represent in graphs. Quite frankly I really don't know. Revenue, Commissions, Payouts, ROI... what else? I'm not a "marketing guy".
  7. Kian

    Database Structure issue

    Alternatively you could create a new table (tblmfoland 😀) and store all your stuff there. You could retreive everything with a simple JOIN by User ID.
  8. No problem but as I said weeks ago... At the moment I had to pause this project because of this: Anyway I confirm you that it's 100% doable so don't worry.
  9. Kian

    Database Structure issue

    I think it depends on sql_mode NO_ZERO_DATE. With this setting I can't run the query for the same reason (I cannot change my sql_mode atm).
  10. Mercury is a revolution for WHMCS, a feature-rich platform designed to simplify user interaction. You can manage News, Docs, Changelog, Development and much more, in one place, quickly and intuitively. Discover / Purchase » Start spreading the News! Mercury provides you with a News section to communicate with your customers. Everything is perfectly integrated, with as many as 3 widgets available. Thanks to the author profile, signature, role and profile image are customizable by each administrator Scheduled automated publishing tool You will easily manage the creation and publication of news and establish a link with your readers. Documentation A Docs section always available to show your customers the features and the use of products and make learning faster. Each product is a category General categories for articles not concerning specific products Anchor navigation within the articles By providing detailed documentation, you will be able to simplify and streamline ticket support. Your customers will find most of the information they need here. Welcome to the Lab! Lab is a new concept. A meeting point where customers actively participate in product development. Make a request for a Feature or a Bug-fix in a few steps Get and organize customer feedback in a snap Rating system to rate existing features Dedicated widgets available, for a perfect integration Now you can focus on important things. Thanks to the ranking algorithm you will immediately know which features are most interesting for your users. A small revolution in your development model. Changelog? Done With Mercury comes one more big news. You can show everyone the evolution of your projects and inform customers about changes in your releases. Each release will have an associated changelog Real-time changelog creation interface Ability to add images to the changelog Intuitive and accessible frontend template, with dedicated widget Finally the changelog is gonna be quick to write and very easy to browse. Your control center Given the large number of features, you need a place to keep everything under control. The Dashboard is designed for this, Mercury at a glance. For each section, display what require your attention Add and organize notes on the fly directly in the to-do list The Dashboard is your starting point, an overview of what's going on and a quick access point for all of the Mercury sections. SEO Mercury automatically manages URL rewriting for News, Documentation, Lab and Changelogs to consolidate your presence on the web. Locale specific Friendly URL Safe from duplicate content Proper use of canonical URL We took care of everything even of the maleficent Black Hat SEO techniques implementing features that automatically detects and nullify these activities. Katamaze technology Mercury includes a number of proprietary technologies that enhance the user experience for both the administrator and visitors. SorTables for displaying data Multilingual content with HereLang Optimal data entry with MagicInput Discover / Purchase » Screenshots - Click to expand Discover / Purchase »
  11. Sorry, I have just noticed your reply to this thread. Like I have already said you via PM, the idea is that Mercury will have a sort of site-builder where you can change colors on the fly, create mutiple versions of the same template (one for christmas, one for labour day etc.), upload banners for sliders with all the necessary options (settings for animations, URLs, call to actions etc.), add, remove and move widgets on the fly just dragging them on the page (latest news, latest posts, top features etc.). Below you can find a preview (click to enlarge). The problem is that we had to pause this project because at the moment we're: Working on Electronic invoicing for Slovenia and Portugal Implementing RCTI/GST and ABN lookups for Australian companies in Billing Extension, Commission Manager and Affiliates on WHMCS (this mess 🤢) Creating a new module that allows to use multiple domains/subdomains on the same WHMCS like we do on our own website (katamaze.it in italian language, katamaze.com in english) and also multiple brands. For each brand you will be able to: Set a Template Define Default Language Hide/Show specific Products/Services Hide/Show specific Support Departments Have different logo on invoices Allow/Disallow registered customers to order from other brands Report a bug (maybe?) to ionCube Move into a new house Move into a new office Complete 2x custom projects Watch Solo: A Star Wars Story... I bet that it is no longer available in theaters... I need to reserve a table for dinner tonight otherwise I'm a dead man I need a vacation 😩
  12. Kian

    Sell Software

    Fattura24 gives me shivers. I suggest you not invest money for an integration with their platform. They invented an XML that has nothing to do with the XML of electronic invoicing but that looks similar. This way customers spend money for an integration that cannot be used elsewhere meaning that they can't move to another platform unless you accept to lose all the money you spent. That's how you secure customer's loyalty in 2019 🤑
  13. You can no longer edit your post. You could try to mention @WHMCS ChrisD that hopefully will remove the picture. It could work but make sure that: "Payment Gateway Fee" can be replaced with your "Marca da bollo apposta in originale ai sensi di..." It can work according to regulations. Read this article for more details (it's written in Italian and it is "hilarious" 🤮 good luck) p.s. Knowing how/when Tax Stamp should be applied is still a mystery to me therefore before you start doing anything I suggest you to contact your accountant. I've seen people who wanted tax stamp on VAT-free operations, others based on Intra/Extra-EU status, sex, religion, size... 🤬 1 law 100 interpretations. I've stopped trying to understand how invoicing work long time ago. All I do now is to provide all options so that anyone can freely choose his/her interpretation.
  14. Kian

    Database Structure issue

    As far as I know the problem is that created_at columns uses 0000-00-00 00:00:00 as default value that is not correct. Timestamp data type supports dates from 1970-01-01 00:00:01 to 2038-01-19 03:14:07. The 0000-00-00 00:00:00 used by WHMCS as default is clearly out of range hence the error.
  15. Kian

    localAPI and hook

    Yes. For example if you run CreateInvoice API you'll trigger InvoiceCreated hook point.
  16. Fixed. @mywebsolutions Maybe you want remove the image from your post since we can see all the details of your customer.
  17. You have to use UpdateInvoiceTotal hook point and run UpdateInvoice API command to add that line. Tax Stamp must be applied only when the following criteria are met: Amount greater than and not equal to 77.47 euro (the price of Tax Stamp - 2 euro - doesn't count) If you use multiple currencies, amounts must be converted into euro Tax Stamp can be applied on Invoices and Proformas but NOT on Credit Notes Only VAT-Free operations require Tax Stamp If for some reason the amount of your invoice changes, Tax Stamp must be applied or removed accordingly Make sure that Tax Stamp doesn't exist yet on the invoice (having duplicated Tax Stamps is bad) That said, keep in mind that it's not that simple since you'll need to find a way to detect your Tax Stamp line in every moment otherwise your calculations will be wrong and you risk to have duplicated Tax Stamps every time you update an invoice. Sadly you can do that via API. You'll need to do that manually with queries. As a reference it took me 7 queries (SELECT, UPDATE and DELETE). It's boring and frustrating 🤮
  18. Kian

    WHMCS as main Website first steps

    Hi, As I said many times, there's no need to use WordPress, Joomla, Drupal or any other CMS that comes to mind. It takes weeks to get a decent integration and keeping it functional is a never ending process with lot of cons that I'm not going to list now. On the other hand it takes few weeks more to expand WHMCS to the point that you no longer need to use any external software. It took me years and tens of integrations to realize this concept 😅 but now I'm fine since I no longer need to put so much efforts in such a silly activity. There's no question that your page can be integrated in WHMCS and personally I wouldn't consider any other alternative. Using WHMCS in example.com rather than client.example.com makes absolutely no difference. Not to mention that getting rid of WordPress lets you to save time and money for a number of reasons. In conclusion using WordPress and WHMCS feels like using the abacus - that's my personal opinion.
  19. At the moment I can't test it on a quanty field (no computer available) but this is how you link a product with a configurable option already set. example.com/cart.php?a=add&pid=100&configoption[8]=14
  20. Kian

    Increase your WHMCS security now

    8- Further Security Steps 9- Auto-scan checksums but that's complicated
  21. I can't say that this is a bug but for sure it's something that should be looked into since it can hugely increase page loading times. Every time WHMCS can't load a file it triggers a 404 which is perfectly normal. The problem is that every 404 loads the entire website (header, navbar, sidebar, body, footer and all the related action hooks) just to display the "Oops, page not found". Let me show how this could lead to severe issues. In the example below I have intentionally removed 5 images from a module that I'm creating so that WHMCS triggers six 404 (5x for images 1x favicon.ico). The website finished loading in 184ms but missing files increased this value up to 7173ms (+3800%) just because I removed 6 images. As I said earlier, the reason is that each 404 loads clientarea page. In other words on every page load you'll load clientarea 6 times because of missing files even when you're browsing the admin interface of WHMCS. Of course missing files should be fixed upfront but handling 404 in this way in my opinion is inefficient especially because the only purpose is to display the beautiful "Oops, page not found" page. I want to underline that Firefox always requests favicon.ico file on every page view (that was a design decision). As we all know WHMCS doesn't have a favicon.ico file therefore every time we load a page WHMCS "secretly" loads clientarea (hooks, navbar, sidebar, body...) increasing loading times for no reason even if you have no missing files at all.
  22. Before we start talking about open source, I think it is important to underline that nowadays most of the times open source is used just to get a cheap deal. I started working on WHMCS 10 years ago. Before I started creating my own modules, I worked for hundreds of Providers mainly on modules created by others. With my extensive experience I had to request an open source version only once but I'm baffled that there are so many people that want the open source mainly for the following reasons: «We don't trust you» - Why are you buying if you are skeptical? 🤔 «For security reasons» - Yeah, I'm pretty sure that you can spot a backdoor with your visual skill or find a vulnerability just randomly looking at 20.000+ lines of code «What if you stop providing updates?» - What if I don't? What if the contract you signed states that I'll give you the open source as soon as I stop supporting the module? «We want to add functionalities» - What do you need? Tell me. I'll include it for free in next release. «We prefer to code it by ourselves» «Our corporate policy doesn't allow us to use encoded softwares» - Why are you using WHMCS? Anyway I'm sorry but our corporate policy doesn't allow us to provide software as open source Based on my experience, most of the times the real reason why people want the open source is that they don't want to pay on a yearly basis. In the same time they still expect support & updates because «Hey, I paid you 5 times the annual fee of your module so I want you to help me for the rest of your life for free!». I want to stress that concept providing some real examples that happened to me: «I need feature Y, Z and W. Give me the open source so that I can add them». Few days later I give him Y, Z and W for free but he still wants the open source and refuses to buy «I need the open source to get some data from your module» I include a Web Service (API) in my module that works exactly like the API of WHMCS but he still wants the open source and refuses to buy «I want the open source because I don't like having encoded software». I say «That's fine, good bye» and he replyes «Could you give me a discount?» 🤨 Maybe other developers are luckier than me but that's my experience. In 10 years of using WHMCS I never had to get the open source of a single file of WHMCS. Hooks and API are more than enough to do everything. I don't get why modules should work differently. I'm not saying that open source is all based on false needs but we must admit that people want it just to save money. That's not the point of open source projects. On paper the only reason why people buy open source is that they can edit the code (in reality is just to get a cheap deal but let's ignore it for a moment). Say that you buy the open source of a module that is currently on version 1.0. You download it and start to edit the code for weeks till version 1.1 is out. Now you'll need to spend hours or days to perform the upgrade since you're running a fork of 1.0. The process repeats for version 1.2, 1.3, 1.4 ecc. forever. Before you start thinking about relying on open source make sure you're prepared to invest time in this never ending task. Personally I always prefer to get the encoded versions because I can upgrade the module without worrying too much. I can easily get support and report bugs since I'm not running a fork. I can also request features that hopefully will be added by the developer. On the other hand with open source it's all under my responsibility.
  23. Kian

    Multiple Affiliates

    There's a module that awards commission based on multiple attribution models: referral links (cookie-based), manually (Guy X says "Guy Y purchased product Z thanks to me" and administrators can manually assign create the commission between X and Y), interactive (newly registered clients are asked to specify their sales representatives from a list X days after they completed an order with you).
  24. We have a module that does exactly what you said with a lot of additional features. The module automatically awards commissions to affiliates based on multiple attribution models (referral link, interactive, manual) and conversions (sales, signups, revenue). Commissions can be set as recurring, one-time, lifetime and based on fixed amounts and/or percentages. Moreover affiliates can compete with each other to unlock achievements that boost their income (eg. #1 Top Revenue +3% commission, #2 Top Revenue +2%, Top Sales #1 to #5 +2 EUR etc.). You can find all details here.
  25. There's an extremely boring way to remove that thing. Usually when I need to change an hard coded modal, I simply replace it with my own one with jQuery inside AdminAreaHeaderOutput hook point + onPageLoad event using the most specific selector available then I do the following: Override the event/trigger that opens the modal so that it opens mine instead of the one of WHMCS If there's just one modal in the page put my replacement somewhere in the body ready to fire otherwise I use an ajax POST to get the information I need from a custom script As I said earlier, it's boring and long to code 🤢 In fact you need JQuery to override, replace and fire the modal and also a custom .php script to retreive all the information you need. That's part of the game.

Important Information

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