<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ModulesGarden Blog &#187; extensions</title>
	<atom:link href="https://www.blog.modulesgarden.com/tag/extensions/feed" rel="self" type="application/rss+xml" />
	<link>https://www.blog.modulesgarden.com</link>
	<description>Where Creativity Meets Technology</description>
	<lastBuildDate>Thu, 16 Apr 2026 11:45:52 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
		<item>
		<title>Slashing New Year!</title>
		<link>https://www.blog.modulesgarden.com/have-a-slashing-new-year</link>
		<comments>https://www.blog.modulesgarden.com/have-a-slashing-new-year#comments</comments>
		<pubDate>Wed, 27 Dec 2017 07:13:43 +0000</pubDate>
		<dc:creator>Dominika Kusy</dc:creator>
				<category><![CDATA[Main]]></category>
		<category><![CDATA[contest]]></category>
		<category><![CDATA[discount]]></category>
		<category><![CDATA[extensions]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[marketplace]]></category>
		<category><![CDATA[New Year]]></category>
		<category><![CDATA[products]]></category>
		<category><![CDATA[promo code]]></category>
		<category><![CDATA[responsive design]]></category>
		<category><![CDATA[software project]]></category>
		<category><![CDATA[WHMCS]]></category>
		<category><![CDATA[WHMCS modules]]></category>

		<guid isPermaLink="false">https://www.blog.modulesgarden.com/?p=4633</guid>
		<description><![CDATA[With 2017 winding down and 2018 on our doorstep, the entire ModulesGarden team joins in wishing you all the best in this upcoming year. May all your future endeavors garner nothing but success and appreciation, and the work you keep &#8230; <a href="https://www.blog.modulesgarden.com/have-a-slashing-new-year">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">With 2017 winding down and 2018 on our doorstep, the entire ModulesGarden team joins in <strong>wishing you all the best in this upcoming year</strong>. May all your future endeavors garner nothing but success and appreciation, and the work you keep doing always go hand in hand with your personal as well as professional growth!<strong><span id="more-4633"></span></strong></p>
<p style="text-align: justify;">As we look back upon the past twelve months, we realize how much progress our own company has made throughout this time and how many milestones we have reached with you, our cherished clients, by our side.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-4120" style="padding: 0px; border: 0px none;" src="https://www.blog.modulesgarden.com/wp-content/uploads/2017/12/New-Year-wishes-2017-ModulesGarden.png" alt="Rocking New Year 2017 with ModulesGarden" width="576" height="576" /></p>
<p style="text-align: justify;">Here is the list of accomplishments we are most proud of this year:</p>
<ul>
<li style="text-align: justify;"><strong>236 updates</strong> of both modules and extensions altogether.</li>
<li style="margin-top: 20px; text-align: justify;"><strong>10 novel modules and extensions</strong> realeased.</li>
<li style="margin-top: 20px; text-align: justify;"><strong>3500 more clients</strong> boarded our ship.</li>
<li style="margin-top: 20px; text-align: justify;">Complex package of <strong><a href="https://www.blog.modulesgarden.com/all-in-one-solutions-for-your-business/" target="_blank">3 new services</a></strong> broadened our offer to drum up your business: <strong><a href="https://www.modulesgarden.com/premium-assistance" target="_blank">Premium Assistance</a>, <a href="https://www.modulesgarden.com/devops-outsourcing" target="_blank">DevOps Outsourcing</a></strong>, and <strong><a href="https://www.modulesgarden.com/business-consulting" target="_blank">Business Consulting</a></strong>.</li>
<li style="margin-top: 20px; text-align: justify;">Over <strong><a href="https://www.blog.modulesgarden.com/we-have-changed-for-you/" target="_blank">500 positive opinions</a></strong> received from you on the innovative design of our brand new website, Marketplace, and the client area. Look out for even more attractions on the horizon of 2018!</li>
<li style="margin-top: 20px; text-align: justify;">Extensively <strong>optimized Software Project Control Center</strong> section accessible from the client area allowing for a convenient project status tracking, unobstructed exchange of information, and more precise project quotation.</li>
<li style="margin-top: 20px; text-align: justify;">Two more <a href="https://www.modulesgarden.com/products/" target="_blank">attractive bargains</a> introduced:</li>
</ul>
<p style="padding-left: 38px; text-align: justify;">- <strong>Bulk Order Discount</strong> – purchase more products and pay less thanks to the additional discount generated automatically while placing an order.</p>
<p style="padding-left: 38px; text-align: justify;">- <strong>Deal Of The Day</strong> and <strong>Deal Of The Week</strong> – uncover new products at a discounted price every day.</p>
<ul>
<li style="margin-top: 20px; text-align: justify;"><strong>4 modules bolstered with a brand new code and <a href="https://www.blog.modulesgarden.com/where-minimalism-meets-modernity/" target="_blank">ultra modern framework</a></strong>, setting a new direction in the development of our products:</li>
</ul>
<p style="padding-left: 38px;">- <a href="https://www.modulesgarden.com/products/whmcs/resellers-center" target="_blank">Resellers Center For WHMCS 3.0</a></p>
<p style="padding-left: 38px;">- <a href="https://www.modulesgarden.com/products/whmcs/multibrand" target="_blank">Multibrand For WHMCS 2.0</a></p>
<p style="padding-left: 38px;">- <a href="https://www.modulesgarden.com/products/whmcs/domain-orders-extended" target="_blank">Domain Orders Extended For WHMCS 3.0</a></p>
<p style="padding-left: 38px;">- <a href="https://www.modulesgarden.com/products/whmcs/hosting-renewals" target="_blank">Hosting Renewals For WHMCS 3.0</a></p>
<p style="text-align: justify;">Since none of these accomplishments would be even remotely possible without your help, let us know which of the upgrades amazed you to the greatest extent.</p>
<p><script type="text/javascript">
(function(d, s, id){
  var js,
      fjs = d.getElementsByTagName(s)[0],
      r = Math.floor(new Date().getTime() / 1000000);
  if (d.getElementById(id)) {return;}
  js = d.createElement(s); js.id = id; js.async=1;
  js.src = "https://www.opinionstage.com/assets/loader.js?" + r;
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'os-widget-jssdk'));
</script>
<div class="os_poll" data-path="/polls/2478755" id="os-widget-2478755"></div>
<p style="text-align: justify;">But we have boasted about our successes for too long. Now it is time for you to show off your most admirable achievement of the past year and unlock for yourself a possibility to win <span style="color: #5a88a3;"><strong>a staggering 33% discount on any product from our offer</strong></span> (open source version excluded) valid for three months. Leave a comment in the section below <strong>until 15th January</strong> and we will<strong> randomly choose three</strong> out of all most ingenious submissions &#8211; just to be fair and objective.</p>
<p style="text-align: justify;">Claim the reward for your above-average effort and charge up for the new year ahead!</p>
]]></content:encoded>
			<wfw:commentRss>https://www.blog.modulesgarden.com/have-a-slashing-new-year/feed</wfw:commentRss>
		<slash:comments>45</slash:comments>
		</item>
		<item>
		<title>Cyber Monday Deals March In!</title>
		<link>https://www.blog.modulesgarden.com/cyber-monday-deals-march-in</link>
		<comments>https://www.blog.modulesgarden.com/cyber-monday-deals-march-in#comments</comments>
		<pubDate>Mon, 27 Nov 2017 05:00:07 +0000</pubDate>
		<dc:creator>Dominika Kusy</dc:creator>
				<category><![CDATA[Main]]></category>
		<category><![CDATA[Cyber Monday]]></category>
		<category><![CDATA[discount]]></category>
		<category><![CDATA[extensions]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[products]]></category>
		<category><![CDATA[promo code]]></category>
		<category><![CDATA[promotion]]></category>
		<category><![CDATA[sales]]></category>
		<category><![CDATA[WHMCS]]></category>
		<category><![CDATA[WHMCS modules]]></category>

		<guid isPermaLink="false">https://www.blog.modulesgarden.com/?p=4407</guid>
		<description><![CDATA[How are your spirits after this wild, three-day-long Black Friday shopping spree? We genuinely hope your appetite for delicacies has not dropped down yet because today’s Cyber Monday unmatched promotion has a whole lot more sweet deals to still treat &#8230; <a href="https://www.blog.modulesgarden.com/cyber-monday-deals-march-in">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">How are your spirits after this wild, three-day-long Black Friday shopping spree? We genuinely hope your appetite for delicacies has not dropped down yet because today’s <strong>Cyber Monday</strong> unmatched promotion has a whole lot more sweet deals to still treat you with!<strong><span id="more-4407"></span></strong></p>
<p style="text-align: left;"><img class="aligncenter size-full wp-image-4120" style="padding: 0px; border: 0px none; margin-bottom: 5px;" src="https://www.blog.modulesgarden.com/wp-content/uploads/2017/11/ModulesGarden-The-Most-Anticipated-Annual-Promotion.jpg" alt="ModulesGarden -  Best Deals with Cyber Monday Promotion" width="577" height="573" /></p>
<p style="text-align: justify;">This year we are in an exceptionally good mood for the celebration which we would very much like to pass onto you too! Witnessing how much excitement was caused by our Black Friday offer, we have decided to not only prolong its ravishing deal granting you <span style="color: #ca20f3;"><strong>a 25% discount</strong></span> <strong>on all modules and extensions from our Marketplace</strong> but stretch out the promotion even further and turn it applicable to products with <span style="color: #ca20f3;"><strong>open source version</strong></span> as well! How to come into possession of your desired item at a reduced price? No rocket science here – all you have to do is put in the following code in the appropriate box while making an order.</p>
<p style="text-align: center; font-size: 22px; padding: 0px; border: 0px none; margin-bottom: 35px;"><strong>Promo Code:<span style="color: #370459;"> #CyberMondayFeast</span></strong></p>
<p style="text-align: justify;">Having such powerful weapons at your disposal, you are more than sure to drive off the post-Black Friday blues syndrome. Make sure you extract as much as you can from our enthralling Cyber Monday deal &#8211; opportunities like these do not knock twice! The party will last <strong>until Tuesday inclusively.</strong></p>
<p style="text-align: justify;"><span style="display: block; text-align: center;"><a style="text-decoration: none; display: inline-block; margin: 28px 0px 28px 0px;" href="https://www.modulesgarden.com/products/"><span style="-webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; background: #370459; color: #ffffff; padding: 15px 20px; text-decoration: none;"><strong>Jump Into The Future!</strong></span></a></span></p>
]]></content:encoded>
			<wfw:commentRss>https://www.blog.modulesgarden.com/cyber-monday-deals-march-in/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Black Friday Fever Raises Up!</title>
		<link>https://www.blog.modulesgarden.com/black-friday-fever</link>
		<comments>https://www.blog.modulesgarden.com/black-friday-fever#comments</comments>
		<pubDate>Thu, 23 Nov 2017 12:30:39 +0000</pubDate>
		<dc:creator>Dominika Kusy</dc:creator>
				<category><![CDATA[Main]]></category>
		<category><![CDATA[Black Friday]]></category>
		<category><![CDATA[discount]]></category>
		<category><![CDATA[extensions]]></category>
		<category><![CDATA[products]]></category>
		<category><![CDATA[promo code]]></category>
		<category><![CDATA[promotion]]></category>
		<category><![CDATA[sales]]></category>
		<category><![CDATA[WHMCS]]></category>
		<category><![CDATA[WHMCS modules]]></category>

		<guid isPermaLink="false">https://www.blog.modulesgarden.com/?p=4384</guid>
		<description><![CDATA[At last it is upon us. The crazy day when wallets feel bottomless, the body amazingly brisk, and you yourself like having the whole world at your feet. The frantic day of unrestrained shopping spree called BLACK FRIDAY! As each &#8230; <a href="https://www.blog.modulesgarden.com/black-friday-fever">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">At last it is upon us. The crazy day when wallets feel bottomless, the body amazingly brisk, and you yourself like having the whole world at your feet. The frantic day of unrestrained shopping spree called <strong>BLACK FRIDAY!</strong> As each year, ModulesGarden goes to great lengths to satisfy your hunger for smashing bargains – just wait to see what we have come up for you this time!<strong><span id="more-4384"></span></strong></p>
<p style="text-align: left;"><img class="aligncenter size-full wp-image-4478" style="padding: 0px; border: 0px none; margin-bottom: 5px;" src="https://www.blog.modulesgarden.com/wp-content/uploads/2017/11/ModulesGarden-Unmatched-Bargain.png" alt="Black Friday Discount 2017 - ModulesGarden" width="575" height="575" /></p>
<p style="text-align: justify;">No matter whether you already have your eye on the specific module or extension that you will lay your hands on, or just intend to buy something on a whim &#8211; this year&#8217;s Black Friday truly special deal is going to sweep you off your feet all the same. <strong>25% discount on every single product from our Marketplace</strong> (open source versions excluded) is now yours to exploit – just copy the below code while placing an order!</p>
<p style="text-align: center; font-size: 22px; padding: 0px; border: 0px none; margin-bottom: 35px;"><strong>Promo Code:<span style="color: #bb0404;"> #WildBlackFriday</span></strong></p>
<p style="text-align: justify;">We know how difficult it is to wrap up a good party. For this very reason we have decided to prolong ours <strong>until Monday!</strong> Or, as it happens, smoothly blend it into another one – the no less thrilling Cyber Monday!</p>
<p style="text-align: justify;"><span style="display: block; text-align: center;"><a style="text-decoration: none; display: inline-block; margin: 28px 0px 28px 0px;" href="https://www.modulesgarden.com/products/"><span style="-webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; background: #bb0404; color: #ffffff; padding: 15px 20px; text-decoration: none;"><strong>Give In to Your Desires!</strong></span></a></span></p>
]]></content:encoded>
			<wfw:commentRss>https://www.blog.modulesgarden.com/black-friday-fever/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Heat Up Your Fall With Our Hot Promotion!</title>
		<link>https://www.blog.modulesgarden.com/fall-promotion</link>
		<comments>https://www.blog.modulesgarden.com/fall-promotion#comments</comments>
		<pubDate>Wed, 27 Sep 2017 14:00:18 +0000</pubDate>
		<dc:creator>Dominika Kusy</dc:creator>
				<category><![CDATA[Main]]></category>
		<category><![CDATA[Blesta]]></category>
		<category><![CDATA[discount]]></category>
		<category><![CDATA[extensions]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[products]]></category>
		<category><![CDATA[promo code]]></category>
		<category><![CDATA[promotion]]></category>
		<category><![CDATA[software project]]></category>
		<category><![CDATA[WHMCS]]></category>
		<category><![CDATA[WHMCS modules]]></category>

		<guid isPermaLink="false">https://www.blog.modulesgarden.com/?p=4055</guid>
		<description><![CDATA[During fall the level of your motivation may mysteriously decrease – maybe you have already fallen victim to this common ailment. Fortunately, ModulesGarden knows a trick or two how to uplift your spirits in an instant! Drive all the bleak &#8230; <a href="https://www.blog.modulesgarden.com/fall-promotion">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p align="justify">During fall the level of your motivation may mysteriously decrease – maybe you have already fallen victim to this common ailment. Fortunately, ModulesGarden knows a trick or two how to uplift your spirits in an instant! Drive all the bleak thoughts away with our freshly launched, <strong>unmatched promotion</strong>– save a considerable amount of money by spending money! Is it even possible? Read on and decide for yourself!<strong><span id="more-4055"></span></strong></p>
<p align="justify">We are delighted to announce that from now on <strong>up until 8</strong><sup><strong>th</strong></sup><strong> </strong><strong>October</strong> you have a unique chance to buy every product in our offer at <strong><span style="color: #9c1c3c;">a special 10% discount!</span></strong> All you have to do is copy the promotional code below, add the items you are keen on to your shopping cart and watch as the money you have just saved slip right back into your pocket!</p>
<p style="text-align: center; font-size: 22px; padding: 0px; border: 0px none; margin-bottom: 35px;"><strong>Promo Code:<span style="color: #e78970;"> #GoldenFallBoost</span></strong></p>
<p style="text-align: left;"><img class="aligncenter size-full wp-image-4120" style="padding: 0px; border: 0px none; margin-bottom: 5px;" src="https://www.blog.modulesgarden.com/wp-content/uploads/2017/09/ModulesGarden-Fall-Discounts.png" alt="ModulesGarden - Fall Discounts" width="575" height="572" /></p>
<p align="justify">Do not get overexcited yet since this is not the end of our fall surprises! Are you contemplating buying our software goods, but feel that the annual license would not entirely satisfy your business needs? This is your lucky day – the above promo code is valid with open source products as well!</p>
<p align="justify">Such a milestone is truly exceptional even to our unique standards. Do not delay then – boost your core platform with any piece of software your heart desires:</p>
<ul>
<li>
<p align="justify"><a href="https://www.modulesgarden.com/products/whmcs"><strong>WHMCS</strong> Modules</a></p>
</li>
<li>
<p align="justify"><a href="https://www.modulesgarden.com/products/magento"><strong>Magento</strong> Extensions</a></p>
</li>
<li>
<p align="justify"><a href="https://www.modulesgarden.com/products/prestashop"><strong>PrestaShop</strong> Modules</a></p>
</li>
<li>
<p align="justify"><a href="https://www.modulesgarden.com/products/cpanel"><strong>cPanel</strong> Modules</a></p>
</li>
<li>
<p align="justify"><a href="https://www.modulesgarden.com/products/blesta"><strong>Blesta</strong> Extensions</a></p>
</li>
</ul>
<p align="justify">Believe it or not, but this is still not where our revelation ends! If you are interested in a tailor-made solution designed according to your very specifications, we have a different, yet even more appealing proposition just for you. Each and every customization requested and paid for <strong>by the end of </strong><strong>October</strong><strong> </strong>will be awarded with <strong><span style="color: #9c1c3c;">a massive 50% discount</span></strong> for any single module or extension of your choosing!</p>
<p style="text-align: justify;"><span style="display: block; text-align: center;"><a style="text-decoration: none; display: inline-block; margin: 28px 0px 28px 0px;" href="https://www.modulesgarden.com/custom-software-development-project"><span style="-webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; background: #DE746A; color: #ffffff; padding: 15px 20px; text-decoration: none;"><strong>Submit Your Project!</strong></span></a></span></p>
<p align="justify">Do you still feel like all fall has to offer is chill and low spirits? We sincerely hope our exhilarating promotion will warm up these upcoming cold days and your mood a little bit!</p>
]]></content:encoded>
			<wfw:commentRss>https://www.blog.modulesgarden.com/fall-promotion/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Calling Out All Magento Enthusiasts!</title>
		<link>https://www.blog.modulesgarden.com/crm-for-magento</link>
		<comments>https://www.blog.modulesgarden.com/crm-for-magento#comments</comments>
		<pubDate>Mon, 23 May 2016 13:50:33 +0000</pubDate>
		<dc:creator>Joanna Byjoś</dc:creator>
				<category><![CDATA[Main]]></category>
		<category><![CDATA[CRM]]></category>
		<category><![CDATA[eCommerce]]></category>
		<category><![CDATA[extensions]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[team]]></category>

		<guid isPermaLink="false">https://www.blog.modulesgarden.com/?p=2812</guid>
		<description><![CDATA[We are extraordinarily zealous to spread the news that our team is all ready to get back on track and pamper you with more extensions aimed at enhancing your favorite eCommerce platform! In the first round of novel releases, CRM &#8230; <a href="https://www.blog.modulesgarden.com/crm-for-magento">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">We are extraordinarily zealous to spread the news that our team is all ready to get back on track and pamper you with more extensions aimed at enhancing your favorite eCommerce platform!<strong><span id="more-2812"></span></strong></p>
<p style="text-align: justify;">In the first round of novel releases, <strong>CRM For WHMCS 1.X</strong> and <strong>CRM For WHMCS 2.0</strong> await your discovery! The extensions are centered around a modern, automated model of customer relationship management. As such, they provide a rich spectrum of components to let you handle your leads and potentials with remarkable ease yet perfect efficiency.</p>
<p style="text-align: center;"><img class="size-full wp-image-2824 aligncenter" src="https://www.blog.modulesgarden.com/wp-content/uploads/2016/05/ModulesGarden-Extensions-For-Magento.jpg" alt="ModulesGarden Extensions For Magento" width="600" height="600" /></p>
<p style="text-align: justify;">Choose the extension compatible with your Magento version and learn how to derive long-term gains from enormous potential of prospective customers!</p>
<p><span style="display: block; text-align: center;"><a style="text-decoration: none; display: inline-block; margin: 10px 0;" href="http://www.modulesgarden.com/products/magento/crm_m1/features"><span style="-webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; background: #ef672f; color: #fff; padding: 13px 18px; text-decoration: none;"><strong>CRM For Magento 1.X</strong></span></a> <a style="text-decoration: none; display: inline-block; margin: 10px 0 10px 50px;" href="http://www.modulesgarden.com/products/magento/crm_m2/features"><span style="-webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; background: #ef672f; color: #fff; padding: 13px 18px; text-decoration: none;"><strong>CRM For Magento 2.0</strong></span></a></span></p>
<p style="text-align: justify; margin-top: 40px;">We strive to keep up the rapid rate of development and create more solutions dedicated to every Magento user -  stay tuned for next great releases in June!</p>
]]></content:encoded>
			<wfw:commentRss>https://www.blog.modulesgarden.com/crm-for-magento/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Sneak Peak Into Magento 2.0</title>
		<link>https://www.blog.modulesgarden.com/a-sneak-peak-into-magento-2-0</link>
		<comments>https://www.blog.modulesgarden.com/a-sneak-peak-into-magento-2-0#comments</comments>
		<pubDate>Tue, 14 Apr 2015 13:22:41 +0000</pubDate>
		<dc:creator>Joanna Byjoś</dc:creator>
				<category><![CDATA[Main]]></category>
		<category><![CDATA[eCommerce]]></category>
		<category><![CDATA[extensions]]></category>
		<category><![CDATA[Magento]]></category>

		<guid isPermaLink="false">https://www.blog.modulesgarden.com/?p=1921</guid>
		<description><![CDATA[There is not much time left, three quarters precisely, to the long-awaited stable release of Magento 2.0. Nonetheless, we can already learn about the changes and new features from the lately released &#8216;Developer Release Candidate&#8217; version. Let&#8217;s take a look &#8230; <a href="https://www.blog.modulesgarden.com/a-sneak-peak-into-magento-2-0">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">There is not much time left, three quarters precisely, to the long-awaited stable release of Magento 2.0. Nonetheless, we can already learn about the changes and new features from the lately released &#8216;Developer Release Candidate&#8217; version. Let&#8217;s take a look and find out what authors have prepared for us.<strong><span id="more-1921"></span></strong></p>
<p style="text-align: justify;">The first change plain to see for administrators of new system is refreshed Admin Panel theme. Large spaces, soft colors and pleasing lightness will help you get started and quickly adapt to rich set of system functions. One can even get an impression that Magento 2.0, in comparison to the current version, will offer less options but that is just an illusion. Navigation has been moved to the left as a side panel, which upon clicking on &#8216;Menu&#8217; icon, shows links divided into specific groups.</p>
<p style="text-align: justify;"><img class="alignnone  wp-image-1920" src="https://www.blog.modulesgarden.com/wp-content/uploads/2015/04/Magento-2.0-Admin-Panel-Dashboard.png" alt="Magento 2.0 Admin Panel Dashboard" width="1903" height="1112" /></p>
<p style="text-align: justify;">The biggest change, however, affects products management. New product edition panel has been simplified to such an extent that adding a new entry may be limited to merely one tab. It will contain all fields necessary to introduce details of products, including categories, attributes and configuration for different types of products.</p>
<p style="text-align: justify;"><img class="alignnone  wp-image-1919" src="https://www.blog.modulesgarden.com/wp-content/uploads/2015/04/Magento-2.0-Product-Edition-Panel.png" alt="Magento 2.0 Product Edition Panel" width="1903" height="1467" /></p>
<p style="text-align: justify;">But what really makes Magento 2.0 unique is 20% growth in productivity which has been achieved through Cache system rebuilding. In its new form the system both derives solutions from Enterprise version and implements entirely new type: Full Page Cache, which so far has been obtained only by means of third party modules. Furthermore, introducing support to Varnish Cashe library reduces the number of server requests and responses stored in cache memory. It will save both time and money spent on machine maintenance.</p>
<p style="text-align: justify;">The changes will also facilitate further development of software. jQuery, RequireJS, CSS3 with LESS preprocessor, HTML5 and Composer will become an integral part of Magento 2.0. It will certainly prove convenient for all users as it will make providing stable, compliant with modern standards software much easier. So far, the only native library was Prototype which has not been developed in any way for a few years and as such it extended the website loading time a lot. Implementing jQuery and RequireJS to Magento 2.0 not only eliminates the problem but also reduces the loading time. Owing to simultaneous scripts download, a user will be able to view the website quicker, while the rest of files are downloaded and run.</p>
<p style="text-align: justify;">After releasing Magento 2.0, support for versions 1.0 and further will last for three years. Such a time period should be sufficient to migrate online stores as well as develop lots of new extensions expanding basic platform functionality. Having in mind that mentioned changes will significantly improve running and further development of online stores we can only hope that the stable release of Magento 2.0 will happen sooner. There is a lot to wait for!</p>
]]></content:encoded>
			<wfw:commentRss>https://www.blog.modulesgarden.com/a-sneak-peak-into-magento-2-0/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What Can We Develop For You?</title>
		<link>https://www.blog.modulesgarden.com/what-can-we-develop-for-you</link>
		<comments>https://www.blog.modulesgarden.com/what-can-we-develop-for-you#comments</comments>
		<pubDate>Wed, 20 Aug 2014 08:03:56 +0000</pubDate>
		<dc:creator>Piotr Dołęga</dc:creator>
				<category><![CDATA[Main]]></category>
		<category><![CDATA[Blesta]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[cPanel]]></category>
		<category><![CDATA[custom software]]></category>
		<category><![CDATA[customization]]></category>
		<category><![CDATA[DirectAdmin]]></category>
		<category><![CDATA[eCommerce]]></category>
		<category><![CDATA[extensions]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[Plesk]]></category>
		<category><![CDATA[software developer]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[software house]]></category>
		<category><![CDATA[software project]]></category>
		<category><![CDATA[WHMCS]]></category>
		<category><![CDATA[WHMCS modules]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">https://www.blog.modulesgarden.com/?p=804</guid>
		<description><![CDATA[Commonly available systems and web applications are very often not suitable for an immediate deployment in your company. Out of the box software will not always meet your expectations in 100%. However this is not the end of the world &#8230; <a href="https://www.blog.modulesgarden.com/what-can-we-develop-for-you">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Commonly available systems and web applications are very often not suitable for an immediate deployment in your company. Out of the box software will not always meet your expectations in 100%. However this is not the end of the world because each software can be modified and adjusted to your business needs. <strong><span id="more-804"></span></strong></p>
<p style="text-align: center;"><a href="https://www.modulesgarden.com/software-development"><img class="aligncenter  wp-image-838" src="https://www.blog.modulesgarden.com/wp-content/uploads/2014/01/Software-tailored-to-your-business-needs.png" alt="Software tailored to your business needs" width="590" height="400" /></a></p>
<p style="text-align: justify;">And here ModulesGarden moves in. We can help you adjust CMS or any kind of web hosting and eCommerce related software to your specific needs. But this is just the tip of the iceberg and only a little piece of the big cake that we can bake for you!</p>
<p style="text-align: justify;">Specially for you we will adapt an application and its design to your own needs, create an adequate addon, an entirely new module or even a complete system. We can advise how to solve your problems and propose an optimal solution for your business. Our Team composed of experts will always find the way to help you achieve your goals.</p>
<p style="text-align: justify;"><strong>We develop software for:</strong></p>
<ul style="text-align: justify;">
<li>Web hosting systems</li>
<li>Control panels</li>
<li>Web applications</li>
<li>Billing solutions</li>
<li>Servers management</li>
<li>Cloud management</li>
<li>Data center management</li>
<li>User management</li>
<li>Support/help desk solutions</li>
<li>Data sharing systems</li>
<li>eCommerce platforms</li>
<li>CMS</li>
<li>Telco</li>
<li>ISP</li>
</ul>
<p style="text-align: justify;"><strong> We offer everything you need:</strong></p>
<ul>
<li style="text-align: justify;">Web hosting control panels improvements (e.g. 3rd party integrations, advanced management plugins for admins and clients)</li>
<li style="text-align: justify;">eCommerce modules &amp; modifications (e.g. payment gateways, management modules, frontend/backend logic modification, 3rd party integrations)</li>
<li style="text-align: justify;">CMS modules &amp; modifications (e.g. management modules &amp; improvements, hooks, 3rd party integrations)</li>
<li style="text-align: justify;">Complex solutions and multilevel integrations (e.g. between data centers/servers/cloud management and billing/support/user management solutions)</li>
<li style="text-align: justify;">Full-featured, complex systems mostly related with web hosting and eCommerce</li>
</ul>
<p style="text-align: justify;"><strong>Examples of what we can do for you:</strong></p>
<ul style="text-align: justify;">
<li>Multilevel reseller platform for WHMCS</li>
<li>Multiple method payment gateway for Magento</li>
<li>Advanced privileges management for WHMCS</li>
<li>VoIP provisioning over 4PSA</li>
<li>Zendesk/Freshdesk integration for Blesta</li>
<li>Inventory management plugin for WHMCS</li>
<li>Complex management modules dedicated for cPanel, DirectAdmin and Plesk</li>
<li>Switches/PDU control for WHMCS</li>
<li>Sales and cart improvements for Magento</li>
<li>Custom standalone reseller system</li>
<li>APS package of your web application</li>
<li>Extensions &amp; plugins for Magento, Shopify and PrestaShop</li>
<li>Solutions for OnApp</li>
<li>Customized CRM solution</li>
</ul>
<p style="text-align: justify;"><strong>Something even more interesting:</strong></p>
<ul style="text-align: justify;">
<li>Advanced hosting provisioning modules (e.g. VMware, OpenStack, DigitalOcean)</li>
<li>Domain/payment/addon modules</li>
<li>Usage billing integrations &#8211; Pay As You Go implementation (e.g. OpenStack, VMware Chargeback, VoIP)</li>
<li>Dedicated/virtual servers management improvements (e.g. Customized solutions for inventory/asset management, DCIM, usage billing, switch ports management, PDU integration)</li>
<li>Domain registrar system based on chosen platform</li>
<li>Brand new web applications, control panels, systems and platforms</li>
</ul>
<p style="text-align: justify;">These are just examples and general outlines of what we can offer you. We are open for any project ideas and challenges because nothing is impossible for ModulesGarden.</p>
<p style="text-align: justify;">Just let us know what you need and we will make this for you &#8211; quickly, capably and with full professionalism.</p>
<p style="text-align: justify;">Learn more detailed information about our custom software development offer:</p>
<ul style="text-align: justify;">
<li><span style="text-decoration: underline;"><span style="color: #3366ff;"><a title="Custom Software Development For Web Hosting Software by ModulesGarden" href="https://www.modulesgarden.com/software-development#web-hosting-software"><span style="color: #3366ff; text-decoration: underline;">Web Hosting Software</span></a></span></span></li>
<li><span style="text-decoration: underline;"><span style="color: #3366ff;"><a title="Custom Software Development For eCommerce Platforms by ModulesGarden" href="https://www.modulesgarden.com/software-development#ecommerce-platforms"><span style="color: #3366ff; text-decoration: underline;">eCommerce Platforms<br />
</span></a></span></span></li>
<li><span style="text-decoration: underline;"><span style="color: #3366ff;"><a title="Custom Software Development For CMS by ModulesGarden" href="https://www.modulesgarden.com/software-development#cms"><span style="color: #3366ff; text-decoration: underline;">CMS</span></a></span></span></li>
<li><span style="text-decoration: underline;"><span style="color: #3366ff;"><a title="Web Apps Built From Scratch by ModulesGarden" href="https://www.modulesgarden.com/software-development"><span style="color: #3366ff; text-decoration: underline;">Web Apps Built From Scratch</span></a></span></span></li>
<li><span style="text-decoration: underline;"><span style="color: #3366ff;"><a title="Custom Software Development For Web Hosting Software by ModulesGarden" href="https://www.modulesgarden.com/software-development#enterprises"><span style="color: #3366ff; text-decoration: underline;">Services For Enterprises<br />
</span></a></span></span></li>
</ul>
<p style="text-align: justify;">Are you interested?<br />
Create your custom software development request <a href="https://www.modulesgarden.com/custom-software-development-project"><span style="text-decoration: underline;"><span style="color: #3366ff; text-decoration: underline;"><span style="color: #3366ff; text-decoration: underline;">here</span></span></span></a> and find out more!</p>
]]></content:encoded>
			<wfw:commentRss>https://www.blog.modulesgarden.com/what-can-we-develop-for-you/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>ModulesGarden Dedicated eCommerce Team</title>
		<link>https://www.blog.modulesgarden.com/modulesgarden-dedicated-ecommerce-team</link>
		<comments>https://www.blog.modulesgarden.com/modulesgarden-dedicated-ecommerce-team#comments</comments>
		<pubDate>Mon, 14 Jul 2014 10:56:49 +0000</pubDate>
		<dc:creator>Piotr Dołęga</dc:creator>
				<category><![CDATA[Main]]></category>
		<category><![CDATA[eCommerce]]></category>
		<category><![CDATA[extensions]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[team]]></category>

		<guid isPermaLink="false">https://www.blog.modulesgarden.com/?p=1315</guid>
		<description><![CDATA[You may be wondering why we changed our logo or why we updated our website significantly. There are several good reasons, but one of the most important is a new direction to which ModulesGarden will move towards. We are well-known &#8230; <a href="https://www.blog.modulesgarden.com/modulesgarden-dedicated-ecommerce-team">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">You may be wondering why we changed our logo or why we updated our website significantly. There are several good reasons, but one of the most important is a new direction to which ModulesGarden will move towards.<strong><span id="more-1315"></span></strong></p>
<p style="text-align: justify;">We are well-known from our software solutions connected with WHMCS and we are proud of our collaboration with the WHMCS. We will certainly continue to grow in this direction.</p>
<p style="text-align: justify;">In parallel we will offer our services to the eCommerce industry. Since very beginning of ModulesGarden&#8217;s existence we have been offering custom software development services for eCommerce platforms like Magento or PrestaShop. These a few years of experience let us confirm ourselves in the belief that we can proceed with our offer to the next level.</p>
<p style="text-align: justify;">Therefore we introduced <strong>ModulesGarden Dedicated eCommerce Team</strong> consisting of our most skilled and experienced developers who will help you customize and extend the functionality of your online store. We can create for you any custom extension/module/plugin/script/theme as well as integrate your design and even install &amp; configure an eCommerce platform for you. Our main target is Magento, Shopify and PrestaShop but we offer our services for other solutions too. We also started creating our official extensions for Magento. Soon you will see much more of them on our website.</p>
<p style="text-align: justify;">Broadening of our offer for dedicated software development for eCommerce solutions like Magento does not mean abandoning our existing business path related to hosting software. Very soon you will hear more about our next modules and services for WHMCS and other web applications.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.blog.modulesgarden.com/modulesgarden-dedicated-ecommerce-team/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Recurring Payments In Magento</title>
		<link>https://www.blog.modulesgarden.com/recurring-payments-in-magento</link>
		<comments>https://www.blog.modulesgarden.com/recurring-payments-in-magento#comments</comments>
		<pubDate>Mon, 30 Jun 2014 12:20:29 +0000</pubDate>
		<dc:creator>Piotr Dołęga</dc:creator>
				<category><![CDATA[Main]]></category>
		<category><![CDATA[eCommerce]]></category>
		<category><![CDATA[extensions]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">https://www.blog.modulesgarden.com/?p=1052</guid>
		<description><![CDATA[We would like to discuss one of the most interesting payment functionalities of Magento &#8211; recurring payments. It is not an easy task to find a complete guide showing how to set up a recurring profile step-by-step therefore we decided &#8230; <a href="https://www.blog.modulesgarden.com/recurring-payments-in-magento">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><strong></strong>We would like to discuss one of the most interesting payment functionalities of Magento &#8211; recurring payments. It is not an easy task to find a complete guide showing how to set up a recurring profile step-by-step therefore we decided to create one.<strong><span id="more-1052"></span></strong></p>
<p style="text-align: justify;">Magento&#8217;s payment gateway sample for recurring profiles includes all the functionalities (but trials) that recurring profiles for products have: different billing period units, frequency, initial fee etc. A necessary functionality, autocharging, had to be created by us and it is contained in our sample which we will describe in details below. In Magento CE, there is only one recurring gateway installed &#8211; PayPal. However, there is no barrier to create another one, and that is why we are posting our sample.</p>
<p style="text-align: justify;"><strong>1. Why you should care</strong><br />
As a WHMCS experts we know that recurring payments are often used in the hosting industry. Why do not use it in your Magento store to increase your sales? We are very surprised that this part is still a niche in the Magento market. For more info about recurring profiles, see <span style="text-decoration: underline;"><span style="color: #3366ff;"><a title="Magento KnowledeBase - Recurring Profiles" href="http://www.magentocommerce.com/knowledge-base/entry/working-with-recurring-profiles" target="_blank"><span style="color: #3366ff; text-decoration: underline;">official Magento knowledgebase</span></a></span></span>.</p>
<p style="text-align: justify;"><strong>2. Download the sample</strong><br />
You can test it in your development Magento installation. Do not install it on production Magento as this is just a demo of recurring profiles. Installation is very simple: Download zip package, upload it to your Magento, clear cache and new section should appear at System &gt; Configuration &gt; Payment Methods &gt; Recurring Payments Sample. We tested it on Magento CE versions 1.8.1.0 and 1.9.0.0. Download link can be found in further part of the article.</p>
<p style="text-align: center;"><img class="aligncenter  wp-image-1109" src="https://www.blog.modulesgarden.com/wp-content/uploads/2014/06/ModulesGarden-Magento-Ordering.png" alt="ModulesGarden Magento - Ordering" width="864" height="565" /><strong></strong></p>
<p style="text-align: justify;"><strong>3. How it works (step-by-step)</strong><br />
After installing the extension, administrator should go to the gateway configuration (System &gt; Configuration &gt; Payment Methods &gt; Recurring Payments Sample) and enable it. API ID and API Key are just fake fields and there is no need to fill them (more about it in programming description below). After that, you should create product that will have a recurring profile enabled. When client buys this product there are two API calls which are sent to the real gateway (of course not in sample case): first for recurring initialization with initial fee, and second one for the first payment. That part could be different for other gateways. Extension adds cron job for sending request to the remote API when profile should be charged. Magento does not do that and we have to use very long SQL query for checking all of recurring profiles. On next profile&#8217;s time period our gateway is trying to charge it. After successful attempt, new order is created with transaction assigned.</p>
<p style="text-align: center;"><img class="aligncenter  wp-image-1107" src="https://www.blog.modulesgarden.com/wp-content/uploads/2014/06/ModulesGarden-Magento-Backend-Profile.png" alt="ModulesGarden Magento - Backend Profile" width="1109" height="603" /><strong></strong></p>
<p style="text-align: justify;"><strong>4. Programming description</strong><br />
In this part we assume that you have a basic knowledge how to build Magento Extension. We will put attention to the gateway part and skip basic explanations.</p>
<p style="text-align: justify;"><strong>4.1 Configuration</strong><br />
The first thing what we would like to do is to create configuration for our gateway. In extension&#8217;s <em>etc/system.xml</em> we will use:</p>
<p></p><pre class="crayon-plain-tag">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;config&gt;
    &lt;sections&gt;
        &lt;payment&gt;
            &lt;groups&gt;
                &lt;recurringpaymentssample translate="label comment" module="recurringpaymentssample"&gt;
                    &lt;label&gt;Recurring Payments Sample&lt;/label&gt;
                    &lt;frontend_type&gt;text&lt;/frontend_type&gt;
                    &lt;sort_order&gt;10&lt;/sort_order&gt;
                    &lt;show_in_default&gt;1&lt;/show_in_default&gt;
                    &lt;show_in_website&gt;1&lt;/show_in_website&gt;
                    &lt;show_in_store&gt;1&lt;/show_in_store&gt;
                    &lt;fields&gt;
                        &lt;active translate="label"&gt;
                            &lt;label&gt;Enabled&lt;/label&gt;
                            &lt;frontend_type&gt;select&lt;/frontend_type&gt;
                            &lt;source_model&gt;adminhtml/system_config_source_yesno&lt;/source_model&gt;
                            &lt;sort_order&gt;10&lt;/sort_order&gt;
                            &lt;show_in_default&gt;1&lt;/show_in_default&gt;
                            &lt;show_in_website&gt;1&lt;/show_in_website&gt;
                            &lt;show_in_store&gt;0&lt;/show_in_store&gt;
                        &lt;/active&gt;
                        &lt;title translate="label"&gt;
                            &lt;label&gt;Title&lt;/label&gt;
                            &lt;frontend_type&gt;text&lt;/frontend_type&gt;
                            &lt;sort_order&gt;20&lt;/sort_order&gt;
                            &lt;show_in_default&gt;1&lt;/show_in_default&gt;
                            &lt;show_in_website&gt;1&lt;/show_in_website&gt;
                            &lt;show_in_store&gt;0&lt;/show_in_store&gt;
                        &lt;/title&gt;
                        &lt;api_id&gt;
                            &lt;label&gt;API ID&lt;/label&gt;
                            &lt;frontend_type&gt;obscure&lt;/frontend_type&gt;
                            &lt;backend_model&gt;adminhtml/system_config_backend_encrypted&lt;/backend_model&gt;
                            &lt;sort_order&gt;60&lt;/sort_order&gt;
                            &lt;show_in_default&gt;1&lt;/show_in_default&gt;
                            &lt;show_in_website&gt;1&lt;/show_in_website&gt;
                            &lt;show_in_store&gt;0&lt;/show_in_store&gt;
                        &lt;/api_id&gt;
                        &lt;api_key&gt;
                            &lt;label&gt;API Key&lt;/label&gt;
                            &lt;frontend_type&gt;obscure&lt;/frontend_type&gt;
                            &lt;backend_model&gt;adminhtml/system_config_backend_encrypted&lt;/backend_model&gt;
                            &lt;sort_order&gt;62&lt;/sort_order&gt;
                            &lt;show_in_default&gt;1&lt;/show_in_default&gt;
                            &lt;show_in_website&gt;1&lt;/show_in_website&gt;
                            &lt;show_in_store&gt;0&lt;/show_in_store&gt;
                        &lt;/api_key&gt;
                        &lt;cctypes translate="label"&gt;
                            &lt;label&gt;Credit Card Types&lt;/label&gt;
                            &lt;frontend_type&gt;multiselect&lt;/frontend_type&gt;
                            &lt;source_model&gt;paygate/authorizenet_source_cctype&lt;/source_model&gt;
                            &lt;sort_order&gt;64&lt;/sort_order&gt;
                            &lt;show_in_default&gt;1&lt;/show_in_default&gt;
                            &lt;show_in_website&gt;1&lt;/show_in_website&gt;
                            &lt;show_in_store&gt;0&lt;/show_in_store&gt;
                        &lt;/cctypes&gt;
                        &lt;allowspecific translate="label"&gt;
                            &lt;label&gt;Payment Applicable From&lt;/label&gt;
                            &lt;frontend_type&gt;select&lt;/frontend_type&gt;
                            &lt;sort_order&gt;65&lt;/sort_order&gt;
                            &lt;source_model&gt;adminhtml/system_config_source_payment_allspecificcountries&lt;/source_model&gt;
                            &lt;show_in_default&gt;1&lt;/show_in_default&gt;
                            &lt;show_in_website&gt;1&lt;/show_in_website&gt;
                            &lt;show_in_store&gt;0&lt;/show_in_store&gt;
                        &lt;/allowspecific&gt;
                        &lt;specificcountry translate="label"&gt;
                            &lt;label&gt;Countries Payment Applicable From&lt;/label&gt;
                            &lt;frontend_type&gt;multiselect&lt;/frontend_type&gt;
                            &lt;sort_order&gt;66&lt;/sort_order&gt;
                            &lt;source_model&gt;adminhtml/system_config_source_country&lt;/source_model&gt;
                            &lt;depends&gt;
                                &lt;allowspecific&gt;1&lt;/allowspecific&gt;
                            &lt;/depends&gt;
                            &lt;show_in_default&gt;1&lt;/show_in_default&gt;
                            &lt;show_in_website&gt;1&lt;/show_in_website&gt;
                            &lt;show_in_store&gt;0&lt;/show_in_store&gt;
                        &lt;/specificcountry&gt;
                        &lt;sort_order translate="label"&gt;
                            &lt;label&gt;Sort Order&lt;/label&gt;
                            &lt;frontend_type&gt;text&lt;/frontend_type&gt;
                            &lt;sort_order&gt;70&lt;/sort_order&gt;
                            &lt;show_in_default&gt;1&lt;/show_in_default&gt;
                            &lt;show_in_website&gt;1&lt;/show_in_website&gt;
                            &lt;show_in_store&gt;0&lt;/show_in_store&gt;
                        &lt;/sort_order&gt;
                    &lt;/fields&gt;
                &lt;/recurringpaymentssample&gt;
            &lt;/groups&gt;
        &lt;/payment&gt;
    &lt;/sections&gt;
&lt;/config&gt;</pre><p></p>
<p style="text-align: justify;">This file is mostly self-explanatory. You can create as many fields as gateway requires. We added fake fields api_id and api_key. In real gateway they could be used. Fields <em>&#8216;active&#8217;</em>, <em>&#8216;title&#8217;</em>, <em>&#8216;cctypes&#8217;</em>, <em>&#8216;allowspecific&#8217;</em>, <em>&#8216;specificcountry&#8217;</em>,<em> &#8216;sort_order&#8217;</em> are used by default Magento mechanisms and should be used in all of gateways.</p>
<p style="text-align: center;"><img class="aligncenter  wp-image-1108" src="https://www.blog.modulesgarden.com/wp-content/uploads/2014/06/ModulesGarden-Magento-Configuration.png" alt="ModulesGarden Magento - Configuration" width="891" height="690" /><strong></strong></p>
<p style="text-align: justify;"><strong>4.2 Gateway</strong><br />
Magento should &#8220;know&#8221; that we would like to add payment gateway and we should define it in <em>etc/config.xml</em> file:</p>
<p></p><pre class="crayon-plain-tag">&lt;config&gt;
    ...
    &lt;default&gt;
        &lt;payment&gt;
            &lt;recurringpaymentssample&gt;
                &lt;model&gt;recurringpaymentssample/payment&lt;/model&gt;
                &lt;title&gt;Recurring Payments Sample&lt;/title&gt;
                &lt;enabled&gt;1&lt;/enabled&gt;
                &lt;sort_order&gt;0&lt;/sort_order&gt;
            &lt;/recurringpaymentssample&gt;
        &lt;/payment&gt;
    &lt;/default&gt;
    ...
&lt;/config&gt;</pre><p>This part describes that main payment PHP class will be located in extensions&#8217;s <em>Model/Payment.php</em> and named <em>Modulesgarden_Recurringpaymentssample_Model_Payment</em>. The important fact is that class must extend <em>Mage_Payment_Model_Method_Abstract</em> and implement <em>Mage_Payment_Model_Recurring_Profile_MethodInterface</em>. Now Magento &#8220;knows&#8221; exactly what we want to do. Our class must implement these methods:</p>
<ul style="text-align: justify;">
<li>validateRecurringProfile</li>
<li>submitRecurringProfile (this is the most important method &#8211; it will send our profile to the gateway after order of recurring product)</li>
<li>getRecurringProfileDetails</li>
<li>canGetRecurringProfileDetails</li>
<li>updateRecurringProfile</li>
<li>updateRecurringProfileStatus</li>
</ul>
<p style="text-align: justify;">All of methods are logged in Magento log files in <em>var/log/recurringpaymentssample.log</em> file (enable logging in Magento configuration), so you can monitor what and when is called. Check out the screenshot of logs after placing an order.</p>
<p style="text-align: center;"><img class="aligncenter  wp-image-1106" src="https://www.blog.modulesgarden.com/wp-content/uploads/2014/06/ModulesGarden-Magento-After-Ordering.png" alt="ModulesGarden Magento - After Ordering" width="1259" height="293" /></p>
<p style="text-align: justify;">Source code for <em>submitRecurringProfile</em> method:</p>
<p></p><pre class="crayon-plain-tag">public function submitRecurringProfile(Mage_Payment_Model_Recurring_Profile $profile, Mage_Payment_Model_Info $payment){

        Mage::log(__METHOD__.'; Profile #'.$profile-&gt;getId(), null, 'recurringpaymentssample.log');

        $response = $this-&gt;_sendRequest('chargeInitAmount', array(
            'amount' =&gt; $profile-&gt;getInitAmount()
        ));

        if ($response['result'] == 'SUCCESS'){
            $profile-&gt;setReferenceId( $response['token'] );
            $payment-&gt;setSkipTransactionCreation(true);

            // add order assigned to the recurring profile with initial fee
            if ((float)$profile-&gt;getInitAmount()){
                $productItemInfo = new Varien_Object;
                $productItemInfo-&gt;setPaymentType(Mage_Sales_Model_Recurring_Profile::PAYMENT_TYPE_INITIAL);
                $productItemInfo-&gt;setPrice($profile-&gt;getInitAmount());

                $order = $profile-&gt;createOrder($productItemInfo);
                $trans_id = 'trans-' . uniqid();

                $payment = $order-&gt;getPayment();
                $payment-&gt;setTransactionId($trans_id)-&gt;setIsTransactionClosed(1);
                $order-&gt;save();
                $profile-&gt;addOrderRelation($order-&gt;getId());
                $order-&gt;save();
                $payment-&gt;save();

                $transaction= Mage::getModel('sales/order_payment_transaction');
                $transaction-&gt;setTxnId($trans_id);
                $transaction-&gt;setTxnType(Mage_Sales_Model_Order_Payment_Transaction::TYPE_CAPTURE);
                $transaction-&gt;setPaymentId($payment-&gt;getId());
                $transaction-&gt;setOrderId($order-&gt;getId());
                $transaction-&gt;setOrderPaymentObject($payment);
                $transaction-&gt;setIsClosed( 1 );
                $transaction-&gt;save();
            }

            // send fake request to charge
            $this-&gt;chargeRecurringProfile($profile);

            return $this;

        } else {

            if (!$profile-&gt;getInitMayFail()){
                $profile-&gt;setState(Mage_Sales_Model_Recurring_Profile::STATE_SUSPENDED);
                $profile-&gt;save();
            }

            Mage::throwException( $response['msg'] );

        }
    }</pre><p></p>
<p style="text-align: justify;">The problem with this gateway is that it will be shown while ordering of all products (non-recurring). To hide it from regular payments we have to create another method (overwrite from parent):</p>
<p></p><pre class="crayon-plain-tag">public function canUseCheckout(){
        $cart = Mage::getModel('checkout/cart')-&gt;getQuote();
        foreach ($cart-&gt;getAllItems() as $item) {
            if (!$item-&gt;getProduct()-&gt;getIsRecurring())
                return false;
        }
        return true;
    }</pre><p></p>
<p style="text-align: justify;">Methods checks whether the cart contains &#8220;regular&#8221; products. If so, then just disables it.</p>
<p style="text-align: justify;"><strong>4.3 Cron</strong><br />
The first question is: where is the method for cyclical payments? There is no such method! PayPal (the only recurring gateway in Magento) does the job on its side and does not require it. We have to implement it by ourselves. In <em>config.xml</em> file we have to add cron job:</p>
<p></p><pre class="crayon-plain-tag">&lt;config&gt;
    ...
    &lt;crontab&gt;
        &lt;jobs&gt;
            &lt;recurringpaymentssample_charge&gt;
                &lt;schedule&gt;
                    &lt;cron_expr&gt;* * * * *&lt;/cron_expr&gt;
                &lt;/schedule&gt;
                &lt;run&gt;
                    &lt;model&gt;recurringpaymentssample/observer::chargeRecurringProfiles&lt;/model&gt;
                &lt;/run&gt;
            &lt;/recurringpaymentssample_charge&gt;
        &lt;/jobs&gt;
    &lt;/crontab&gt;
    ...
&lt;/config&gt;</pre><p>It will call<em> Modulesgarden_Recurringpaymentssample_Model_Observer::chargeRecurringProfiles</em> every minute (just for example). This method runs log SQL query for profiles that needs top be charged:</p><pre class="crayon-plain-tag">class Modulesgarden_Recurringpaymentssample_Model_Observer {

    /**
     * Cron job method to charge recurring profiles
     *
     * @param Mage_Cron_Model_Schedule $schedule
     */
    public function chargeRecurringProfiles(Mage_Cron_Model_Schedule $schedule){
        Mage::log('Cron run, '.__METHOD__, null, 'recurringpaymentssample.log');

        $_resource = Mage::getSingleton('core/resource');
        $sql = '
            SELECT
                CASE srp.period_unit
                    WHEN "day"             THEN FLOOR(DATEDIFF(NOW(), srp.updated_at) / srp.period_frequency)
                    WHEN "week"         THEN FLOOR(FLOOR(DATEDIFF(NOW(), srp.updated_at) / 7) / srp.period_frequency)
                    WHEN "semi_month"     THEN FLOOR(FLOOR(DATEDIFF(NOW(), srp.updated_at) / 14) / srp.period_frequency)
                    WHEN "month"         THEN FLOOR(PERIOD_DIFF(DATE_FORMAT(NOW(), "%Y%m"), DATE_FORMAT(srp.updated_at, "%Y%m")) - (DATE_FORMAT(NOW(), "%d") &lt; DATE_FORMAT(srp.updated_at, "%d")) / srp.period_frequency)
                    WHEN "year"         THEN FLOOR(YEAR(NOW()) - YEAR(srp.updated_at) - (DATE_FORMAT(NOW(), "%m%d") &lt; DATE_FORMAT(srp.updated_at, "%m%d")) / srp.period_frequency)
                END
                AS billing_count,
                srp.*
            FROM '.$_resource-&gt;getTableName('sales_recurring_profile').' AS srp
            WHERE
                srp.method_code = "recurringpaymentssample" AND
                srp.state = "active" AND
                srp.updated_at &lt;= NOW() AND
                srp.start_datetime &lt;= NOW() AND
                NOW() &gt;= CASE srp.period_unit
                    WHEN "day"             THEN DATE_ADD(srp.updated_at, INTERVAL srp.period_frequency DAY)
                    WHEN "week"         THEN DATE_ADD(srp.updated_at, INTERVAL srp.period_frequency WEEK)
                    WHEN "semi_month"     THEN DATE_ADD(srp.updated_at, INTERVAL (srp.period_frequency * 2) WEEK)
                    WHEN "month"         THEN DATE_ADD(srp.updated_at, INTERVAL srp.period_frequency MONTH)
                    WHEN "year"         THEN DATE_ADD(srp.updated_at, INTERVAL srp.period_frequency YEAR)
                END
        ';

        $connection = $_resource-&gt;getConnection('core_read');
        $recurring = Mage::getModel('recurringpaymentssample/payment');

        foreach ($connection-&gt;fetchAll($sql) as $profileArr) {

            $profile = Mage::getModel('sales/recurring_profile')-&gt;addData($profileArr);
            $orders = $profile-&gt;getResource()-&gt;getChildOrderIds($profile);
            $countBillingCycling = count($orders);
            if ($profile-&gt;getInitAmount())
                $countBillingCycling--;

            if ($profile-&gt;getBillFailedLater()){ // Auto Bill on Next Cycle
                // multi charges
                for ($i = 0; $i &lt; $profile-&gt;getBillingCount(); $i++){
                    if ($recurring-&gt;chargeRecurringProfile($profile)){
                        $countBillingCycling++;
                    } else {
                        break;
                    }

                    if ($countBillingCycling &gt;= $profile-&gt;getPeriodMaxCycles()){
                        $profile-&gt;setState(Mage_Sales_Model_Recurring_Profile::STATE_SUSPENDED);
                        break;
                    }
                }

            } else {
                // single charge
                if ($recurring-&gt;chargeRecurringProfile($profile))
                    $countBillingCycling++;

                if ($countBillingCycling &gt;= $profile-&gt;getPeriodMaxCycles())
                    $profile-&gt;setState(Mage_Sales_Model_Recurring_Profile::STATE_SUSPENDED);
            }
        }
    }

}</pre><p></p>
<p style="text-align: justify;">Finally, the method for charging a profile:</p>
<p></p><pre class="crayon-plain-tag">public function chargeRecurringProfile(Mage_Payment_Model_Recurring_Profile $profile){
        Mage::log(__METHOD__.'; Profile #'.$profile-&gt;getId(), null, 'recurringpaymentssample.log');

        // send fake request to charge
        $responseRecurring = $this-&gt;_sendRequest('chargeRecurringAmount', array(
            'amount' =&gt; $profile-&gt;getTaxAmount() + $profile-&gt;getBillingAmount() + $profile-&gt;getShippingAmount(),
            'token' =&gt; $profile-&gt;getReferenceId()
        ));

        if ($responseRecurring['result'] == 'SUCCESS'){
            $productItemInfo = new Varien_Object;
            $productItemInfo-&gt;setPaymentType(Mage_Sales_Model_Recurring_Profile::PAYMENT_TYPE_REGULAR);
            $productItemInfo-&gt;setPrice( $profile-&gt;getTaxAmount() + $profile-&gt;getBillingAmount() + $profile-&gt;getShippingAmount() );

            $order = $profile-&gt;createOrder($productItemInfo);
            $order-&gt;setState(Mage_Sales_Model_Order::STATE_NEW);
            $trans_id = 'trans-' . uniqid();

            $payment = $order-&gt;getPayment();
            $payment-&gt;setTransactionId($trans_id)-&gt;setIsTransactionClosed(1);
            $order-&gt;save();
            $profile-&gt;addOrderRelation($order-&gt;getId());
            $payment-&gt;save();

            $transaction= Mage::getModel('sales/order_payment_transaction');
            $transaction-&gt;setTxnId($trans_id);
            $transaction-&gt;setTxnType(Mage_Sales_Model_Order_Payment_Transaction::TYPE_CAPTURE);
            $transaction-&gt;setPaymentId($payment-&gt;getId());
            $transaction-&gt;setOrderId($order-&gt;getId());
            $transaction-&gt;setOrderPaymentObject($payment);
            $transaction-&gt;setIsClosed( 1 );
            $transaction-&gt;save();

            $profile-&gt;setState(Mage_Sales_Model_Recurring_Profile::STATE_ACTIVE);

            // change updated_at to one cycle ahead
            $this-&gt;_setUpdateDateToNextPeriod($profile-&gt;getId());

            return true;

        }

        return false;
    }</pre><p></p>
<p style="text-align: justify;">To get the full source code, just download the sample gateway from the link below.</p>
<p style="text-align: justify;"><a title="Download ModulesGarden Recurring Profiles Sample For Magento" href="https://www.modulesgarden.com/client-area/dl.php?type=d&#038;id=226"><strong><span style="text-decoration: underline; font-color: green; background: #ffffcc; font-size: 17px;">Download ModulesGarden Recurring Profiles Sample For Magento</span></strong></a></p>
<p style="text-align: justify;"><strong>5. Amazing extension &#8211; GPN DATA For Magento</strong></p>
<p style="text-align: justify;">GPN DATA payment gateway offers reliable and secure online payment solutions for IT business all over the world. A big piece of cake of that business are online stores, such as Magento.</p>
<p style="text-align: justify;">We have created a payment gateway for recurring profiles. It is named GPN DATA For Magento. It is using a similar logic as in this sample extension showed above but it is a little bit more complex. The real gateway is called in that case. The communication exists in both directions: magento-gateway and gateway-magento. These are GPN DATA requirements. Owing to GPN DATA For Magento module you will be able implement proven GPN DATA services directly to your sales platform.</p>
<p style="text-align: justify;">For more information visit our <span style="text-decoration: underline;"><strong><span style="color: #3366ff;"><a title="GPN DATA For Magento" href="http://www.modulesgarden.com/products/magento/gpn_data/features" target="_blank"><span style="color: #3366ff; text-decoration: underline;">website</span></a></span></strong></span>.</p>
<p style="text-align: justify;"><strong>6. Summary</strong><br />
This is a great opportunity for your online store to earn more money. We could also create such a gateway for you &#8211; just ask us for a custom software development <span style="text-decoration: underline;"><strong><span style="color: #3366ff; text-decoration: underline;"><a title="Magento Custom Software Development" href="https://www.modulesgarden.com/order/request" target="_blank"><span style="color: #3366ff; text-decoration: underline;">here</span></a></span></strong></span>.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.blog.modulesgarden.com/recurring-payments-in-magento/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
	</channel>
</rss>
