Sage Pay payment method implemented

1 Comment(s) | published by Bobkov A. on Thursday, October 29, 2009

Sage Pay is the UK and Ireland's leading independent payment service provider. We have received multiple inquiries about whether LemonStand will have Sage Pay payment methods implemented. We are glad to announce the availability of Sage Pay Direct and Sage Pay Server payment methods out of the box.

Sage Pay Direct

Sage Pay Direct is a payment method which allows you to host the payment form on your website, providing consistent shopping experience for your customers. However, you will need to take corresponding measures, like installing an SSL certificate to your server, in order to satisfy required security level for the payment form.

Sage Pay Server

Sage Pay Server payment method implies redirecting your customers to the Sage Pay-hosted payment form. This method does not require customers to enter any financial information on your website, so security requirements are not as strict as it is with the Direct method.

Both payment methods will be available by default in the LemonStand Beta and 1.0 Release.

How LemonStand protects your data

0 Comment(s) | published by Bobkov A. on Wednesday, October 28, 2009

The worst thing that could happen with an eCommerce website is a data loss. We have developed a number of features which helps to prevent possible data loss caused by hardware faults or human errors.

Backup system

LemonStand has a built-in backup system which can be configured for creating backups of all data on daily, weekly or monthly basis. By all data I mean the database content as well as any files which you can upload to LemonStand, such as product images, CSS files, and any other website resource files. The backup system creates a complete snapshot of the current state and saves it into a file. LemonStand can rotate archive files, keeping only the most recent files (10, 20 or 50 files), or it can be configured to never delete archives. By default, LemonStand creates archives on user login, but you can create an archive manually at any time from the administration area.

If you need to, you can restore a system from an archive and continue working in no time. The backup system can also be used for easily moving a LemonStand website from one server to another.

Concurrency locking

The concurrency locking features helps to prevent database records from being overridden by another user while you are editing the record. This feature protects pages, partials, templates, resource files, products, orders and customers. When you start editing a website page, for example, LemonStand creates a lock in the database. If someone els tries to edit the same page, LemonStand will show a warning.

Another things to note is that LemonStand is smart enough to delete a lock if you close the browser window without leaving the Page Editor form.

Casual form abandonment protection

The causal form abandonment is a most frequent type of human errors. You can be editing a website page and accidentally command your browser to return to a previous page. It happens quite often if you intensively use hot keys during text editing. We took care about this issue and added the protection feature to most of the forms in LemonStand. The feature tracks changes in a form, and asks your confirmation if you try to leave a form with unsaved data.

An Overview of Pages, Templates and Partials in LemonStand

4 Comment(s) | published by Halarewich D. on Wednesday, October 14, 2009

Our main objective in developing LemonStand was to create an eCommerce solution that was flexible. An issue that I specifically resonate with is design integration. Many applications in this category claim they have a "100% customizable design using templates", while anyone with experience knows this might be technically true for certain things, it sure doesn't mean it's going to be easy to do. And some times it's a flat out lie, or misrepresentation of the truth.

Sure, a human being can have a 4-foot vertical jump, but is it easy or simple? Well, implementing a unique design for your eCommerce site should be easy.

Overview

LemonStand's templating engine can be broken into 3 main things: Partials, Templates and Pages. I'll give you a brief overview of how all of these things come together to form the dynamic pages of a LemonStand powered website.

Partials

Partials are sort of like PHP includes on steroids. They are normally used for cases when you want to include the same chunk of code into multiple pages. Reusing code is efficient. For example, you can place all of your footer content into a partial, then include this on every template.

You can also include partials within partials for futher organization. Partials may include LemonStand PHP Calls as well, for displaying dynamic content. They can be included within other partials, templates and pages. They get along with everyone.

Templates

Templates are the main structure of a pages displayed by LemonStand. They include partials, HTML and PHP calls to hold it all together. Templates are generally used to define the global structure of a certain type of page in LemonStand. This might be your home page, product detail page, or maybe a blog post page. Within your template, you define where your page content goes. It's really simple to do so. Simply use this PHP call to define this:

<? $this->render_page() ?>

The "page content" is not neccessarily just content. It can be HTML, PHP or JavaScript code as well. But what you should remember is that wherever you define the render_page call in the template is where the code of the page will be pulled into the template.

Pages

Pages complete the package. They piece together partials, templates and your content to form the pages that your visitors see in their web browsers.

When you create a page, optionally select a template then just enter the page title, URL (SEO friendly) and enter in the content. The content wil be placed wherever the render_page call is defined in it. The page content can contain HTML, PHP or JavaScript. You can edit the HTML of the page content using the handy syntax highlighting code editor, or you may also define content blocks that use a WYSIWYG editor.

You'll notice other things like the Meta tab and so on. These are all important, but outside the scope of this blog post.

Content Blocks

Content blocks allow you to edit content in a simpler fashion and are useful for non-technical people.You can define any number of content blocks on a single page. Set up the HTML like the screenshot above, and continue editing it as so - but you can also edit certain areas of the page using content blocks (WYSIWYG). To define a content block, just use a line of code like this:

<? content_block('block_name', "Block Name") ?>

The "block_name" reference is just that... a way to distinguish that particular content block. You can set up any number of content blocks, just make sure to give them each a unique name.

Currency Conversion API

0 Comment(s) | published by Bobkov A. on Tuesday, October 13, 2009

Currency converting is a common task in eCommerce applications, but despite this fact, it is often ignored even by developers of popular shopping carts. 

During the development of the UPS shipping module, we found that the UPS Online Tools service always returns shipping rates in a currency of originating country. It means that if your shop is in Canada, but you ship products from a warehouse USA, UPS will return quotes in USD instead of CAD. 

We decided to solve the currency converting issue once and forever and developed a graceful and universal currency conversion API. Today many currency conversion services are available on the Web. The base element of the currency conversion API is a converter, which can connect to a specific conversion service. The default converter which will be available out of the box with LemonStand uses the currency rate XML feed provided by European Central Bank. This XML feed contains rates of about 30 currencies.

You can select a currency converter you want to use on the Settings/Currency Converter page. If a selected converter has any configuration parameters, the corresponding controls will be displayed on the Configuration tab. LemonStand takes care of caching the currency rates, minimizing the number of external service calls and thus making the whole system faster. You can choose the cache update interval in the currency conversion parameters form.

More converters to work with other free or paid currency conversion web services can be developed by us or other developers in the future.

rss Subscribe for blog updates

rss Subscribe to blog comments

Get Sent Updates on LemonStand

We’ll let you know as soon as it’s ready for you.

Facebook

>> Join LemonStand on Facebook to get updates, see pictures and network with the community.

Categories