1. How to start an e-commerce business
Presented by Aleksandar Sabotinov
developer
2. I. Some points to clarify when you have
the intention to start e-commerce.
1.1. Why build an electronic shop, but not a real
one?
Internet shops have two major advantages:
- Require less effort and money to build and
maintain than a real existing shop(no expenses
for rents, maintaining available goods in the
shop, sellers and others);
- Typically have more visitors than the normal
shops.
3. 1.2. What do you want to sell?
- Have in mind the profit margin of the goods
you want to sell. They are very different and
can vary from 10% for mobile computers to
50% and more for clothes
- Look at the statistics what is being sold
through the internet;
- Take care about legal issues. In Bulgaria the law
(Закон за защита на потребителите, чл. 51)
forbids trading with food supplements,
homeopathy remedies and medicines online.
4. 1.3. What are the basic attributes that allow us
to distinguish a web site as an e-shop?
- There must be a product catalog;
- There must be a shopping cart where the user to put
what he has selected for purchase from the product
catalog;
- Most e-shops have an option for online payments. A
few provide only option for payment on delivery;
- The customer can receive the product at suitable
address for him;
Many companies provide information about their
products and services on the internet, but this is still
not an e-shop because they are missing the other
components.
5. 1.4. Common mistakes when building e-shops, that
can lead to the dead of the e-shop
The e-commerce platform does not support Search Engine Optimization
(SEO). Put a lot of effort here as this will save you money from advertising;
No advertising - There is no way people can learn about your e-shop(except
search engines), unless you put some links to it, and some advertisements.
For advertising media better use Internet, as you are targeting Internet
users;
Lack of convenient payment options(credit cards, debit cards, other);
Poor design and lack of latest web technologies - ajax, ... There must be
enough pictures of the product, with appropriate size, so that the user can
preview the product in details, before buying it.
There is no search or appropriate filters (by category, price range or
product properties);
Lack of products variety;
Delivery terms are too long, or are not obeyed. - For most of the goods,
more than two days for delivery are too much;
6. 1.5. Make a business plan before starting.
Estimate how much it will cost you to open an internet
shop. Solutions can be within the range between 10 Euro
to 10 000 euro per month. It depends on:
- How much do you advertise;
- What platform you use - opensource or not. If not, this
means that you:
1. need to write all the code for the shop by yourself, that
takes a lot of effort and time;
2. or you buy a ready e-shop solution (for example
Magento professional of Enterprice edition );
- How many people are involved in the e-shop - for servicing
the orders, phoning the customers and so on. Typically the
delivery is done by a courier, but you could also have your
own department servicing the deliveries.
7. II. Selecting and installing an
opensource e-commerce system
2.1. Common e-commerce system features. The
features list on the next slides is based on some
of the most popular e-commerce platforms
including ОsCommerce, Joomla with VirtueMart,
Magento, ZenCart, Opencart.
8. Common product features
• Products can be grouped into categories. Categories can have
subcategories. Each category has a picture;
• Each product has a photo (thumbnail and large);
• has a description, price, weight, size, etc
• can be stopped / started or selected a specific method of
delivery;
• may have properties / features that can add or subtract value
from the base price when selected by the customer;
• maximum or minimum quantity of purchase;
• delivery type can be specified - free or following the normal
rules of delivery;
• delivery price calculation methods: free, flat rate, per item,
weight based shipping, etc.
• promotion of special products at a discount, products in focus,
new / latest products;
9. Customer common features
• can do search and advanced search;
• can put in a cart things they want to buy;
• can use various payment methods;
• can register into the site;
• can write reviews;
• users can filter products by manufacturer;
10. Administrator common features
• switch on/off specific sections from the site view;
• option for discount coupons (discount codes);
• switch on/off letters for new orders;
• can use built-in modules for payments through PayPal, 2Checkout,
MoneyBookers and more.;
• can install plug-ins to link with other systems for online payments;
• choice of units (kilograms pounds, centimeters, inches, etc.) for the
product parameters;
• select price display currency;
• introduce new currencies, indicating the exchange rate to the base
currency;
• maintenance mode switch is available, that can be used when the
store is closed for maintenance. Some shops in maintenance mode can
hide only part of the contents, header, footer, prices, left / right
column (Zencart);
• generation of reports about: products sold; viewed products; sales;
11. 2.2. Select a platform for the e-shop
There are huge amount of opensource solutions. How to
select one of them? Here are some advices.
2.2.1.You better select a platform that supports Search Engine
Optimization (SEO) features
What means SEO features? They include:
- search engine friendly URLs (e.g.
http://www.myshop.com.mk/canon_camera_c200A);
- proper titles of product pages;
- proper keyword and description tags in the product pages ;
- others.
The general idea of the SEO features is to provide easy way of
potential customers to find your site.
12. 2.2.2. Select a platform that is easy to change
and customize.
More is the separation between the processing code and the view,
better is the system, because it allows easier customization. In my
opinion the best solution from this point of view is OpenCart,
because it supports Model-View-Controller structure. Other popular
solutions are osCommerce, ZenCart, Joomla with VirtueMart;
Model-View-Architecture:
- The View is that part of the code that determines the presentation of
the information to the user. This includes how the controls to be
ordered, colors, etc. In the case of web application this in general is
the HTML that is send to the browser;
- The Controller is that part of the code, that receives user input,
processes it, and loads the proper View with the proper data objects
from the Model;
- The Model provides access to the database, and common functions
for processing the domain objects.
13. 2.2.3. Take a look at the existing free extensions
for the platform.
• More free extensions for a specific platform,
better is the choice of it.
14. 2.3. Installing opensource shopping
card system
This can be done in 15 minutes, following the steps below
1. Find a hosting company supporting the requirements of the
selected shopping cart system. Typically the requirements for
the hosting are PHP 5 or above MySql, Curl, GD. This type of
hosting costs about 2-5 euro per month. If there are any
hosting settings that are different from what the shopping
cart system expects, it will warn you;
2. Create a database (typically MySql);
3. Create a database user, and give him the needed user rights.
You can accomplish points 2 and 3 by the hosting admin
panel or by the following example MySql code:
CREATE DATABASE ecomtest;
GRANT ALL ON ecomtest.* TO ‘eltrade'@'yourHostAddress‘
IDENTIFIED BY 'password';
15. 4. Download and move the selected e-commerce
platform to the designated hosting folder.
5. Open the site in web browser and follow the
instructions. You will be asked to enter database name,
database server address and user data for accessing
the database.(demo with Opencart)
6. Click next several times, finally remove the install
directory and you are ready.
Now you have an internet store. It was easy to install.
What comes next is the customization and adding
payment options.
16. III. Payments
3.1. Most often used payment types in Bulgaria:
• Payment on delivery – the customer pays when the goods are delivered.
• Bank transfer (also called wire transfer) – the customer sends money to the
trader bank account. Sometimes it takes a few days until the trader receives
the payment. When the trader receives the payment, he ships the goods.
• Payment with SMS. In Bulgaria usually by SMS are payed small sums up to 5
euro. This a very convenient way of small payments, but the commission of the
payment gateway is very high, sometimes 50%.
• Payments with credit/debit cards. There are wide variety of systems that allow
payments with credit cards. The most popular ones are supported by the
opensource E-commerce systems. For the rest, the developers can write a
payment plugin. Most of the banks offer their own systems for virtual POS
terminals. These systems process the card data, and allow the trader to avoid
storing credit cards numbers and other sensitive data.
• Wallet systems. Example of a trader wallet system is http://wallet.dir.bg . They
allow the customer fist to credit his virtual wallet, then use these money to buy
goods or services from the merchant e-shop.
17. 3.2 SMS payments
There are two most common variants of SMS payment sequence.
Variant I:
1. The customer reads in your site about the payment and the number
for sending SMS.
2. The customer sends SMS to the specified number, and if required
containing special text.
3. The SMS payment operator receives the message through the
mobile operator of the customer. Based on the text inside, or only
on the number, it sends the data to url address on the trader server.
4. The trader receives the data, processes it, and returns an answer to
the SMS payment operator. This message most often is a password.
The processing can include generation of user account, or activating
one for a specific period in time.
5. The message received will be send by the SMS payment operator to
the mobile operator, who delivers it to the customer.
18. Variant II
1. The user enters his mobile number in the traders
web site.
2. The trader site sends SMS to the customer,
containing message with the payment sum, or
other information.
3. The customer answers with “yes” or in other way
to confirm the payment operation.
For both variants the trader monthly or weekly
receives the money customers have payed, reduced
by the commission of the mobile operator and the
SMS payments operator
19. 3.3.Card payment gateways
Most of the banks in Bulgaria offer some kind of payment
gateway for their customers wishing to receive online payments.
If the bank does not offer one, the merchant can use other
popular gateways like www.ebg.bg, www.epay.bg,
www.transcard.bg and others. These gateways offer detailed
information how to build the interface connecting them with the
merchant site.
When payment is made trough the payment gateway, most
often both client and the merchant are paying a tax. This tax can
be fixed amount, or a percentage of the payment amount.
• For customers the commission on transactions with cards vary
from 0.65%(or for free for some special cards) to 2,9% from the
payment sum.
• For traders – on average 1,2% + some percentage of the
transferred amount (from 0,78% to 3,45%). There is an option
for the merchant, this percentage to be payed by the customer.
20. Basic participants in card payments
Merchant e-
commerce site
Payment
gateway
Card issuing
bank
Merchant
bank
Card
networks
Customer
Merchant
operator
21. The payment processes can be described as passing the
following stages:
• The customer selects a product from Merchant e-commerce site, and initiates
a payment.
• After the customer specifies address and time for delivery, and agrees the
Terms and Conditions of payment he is redirected the Payment gateway. There
he enters his credit card details.
• The Payment gateway contacts the needed Card network, the Card issuing
bank and the Merchant bank.
• After getting transaction result, the Payment gateway redirects the customer
back to the Merchant e-commerce site. The redirect includes parameter for
the transaction result (successful, unsuccessful-error code). Some systems
support redirect to two different url on the Merchant e-commerce site – one
for successful payments and one for unsuccessful.
• The Customer sees the result of his payment attempt. Typically the
visualization on the screen is accompanied by an email alert to both customer
and merchant operator.
• The Merchant operator receives a notification letter. Then he checks the order
info and status in administrator panel, that can be located either on the
Merchant e-commerce site or on the Payment gateway, or on both of them.
• If payment successful the Merchant operator contacts the customer and ships
the product to the him.
22. Communication between the Payment gateway and the
Merchant e-commerce site
This data exchange can vary because of the wide variety of systems
and interfaces. In any case it includes the following operations:
• The merchant site typically sends to the payment gateway
parameters including the following basic order data: Order number,
Payment sum and currency, Order description, Order date, Language.
• For security reasons in addition the above mentioned parameters a
signed hash of the basic order data is being send.
• When the Payment gateway receives the data, it checks if the
signature of the hash corresponds to the merchant certificate. If not,
this means someone is trying to fake the transaction.
• The Payment gateway can send the result of transaction either
immediately, or later on a specified by the merchant URL or both.
23. 3.4. Creating a custom payment
extensions
There are slightly different approaches when
building payment extensions for the different e-
commerce systems.
(demo - building a payment extension with
OpenCart)
24. 3.5. Customizing themes
When you need to customize the theme of the system, you
have the following options:
• Use the CMS admin panel to change basic settings, visibility
of sections, panels and so on. (demo with OpenCart)
• Find a new template in the internet, build for your type of
e-commerce CMS. Be careful to download the template
exactly for your version of the product, because most often
the versions are not compatible each other.
• Change the code of existing template, so that it matches
your requirements. When making upgrade to newer version
of the CMS, it will most often require the template
customization to be done again. Template files are generally
grouped in three groups – CSS files, Javascript files, and
HTML + PHP files. (demo changing some css styles on
OpenCart)
25. IV. Links for further reading
• http://www.ebg.bg/dev/eBG.bg_Merchant_API
_v1.1.pdf - eBG.bg Payment Gateway Merchant
Interface API
• http://www.borica.bg/index.php?p=about02 –
Borica bank organization for payments