home | contact us
» Archive by category "ecommerce"

category: ecommerce


Most online merchants who are into multichannel selling (that’s all of you, right?) must have heard of Play.com.

Never quite up there with Amazon and Ebay it was often the one that merchants asked us to integrate with once the two big ones were taken care of. Play was originally a pure online retailer but decided a few years ago to jump on the marketplace bandwagon like market leaders Amazon.

Now it seems Play have been bought out by a Japanese company and thanks to a lucrative VAT loophole being closed (and rightly so) they have now decided to abandon retail sales completely and concentrate purely on their marketplace business.

You can read more about it here:
http://www.mcvuk.com//news/read/play-com-to-shut-down-retail-business/0109042

And it might be worth checking out their current clearance for particularly good offers as well from a punters point of view.


 

So, 6am this morning (Wed 29 2012), a bunch of geeks eagerly awaiting the Raspberry Pi have killed the websites of both RS Components and Farnell

Why, you ask? Because the servers were not prepared for the influx of visitors that such an announcement brings. Raspberry Pi themselves (a UK Foundation, like a Charity) were well prepared and are presently serving up a static page.

So, if you’re running an eCommerce site, like Magento or osCommerce, and are warned by one of your suppliers, or your manufacturing department that you’re launching a new product, be prepared. Raspberry Pi certainly were and provided their suppliers with the information that they would be getting a huge amount of traffic, unfortunately those suppliers didn’t listen hard enough.

This is to all intents a DDoS attack, but not an intentional attack. Well done for keeping everyone updated via twitter though @raspberrypi, we know it isn’t your fault.


 

It may be obvious but after a discussion in the office we decided to put together a simple guideline for getting into e-commerce.

This is a list of things that you need to do in order to start selling from your own web site.

Get a Domain Name
These are so cheap yet so fundamentally important it really should be one of the first things you do. Always ensure you can get the .com even if you intend to run from the .co.uk. If budget allows, buy all the top level domains you can afford simply to ensure they are yours – eg .com, .net, .co.uk, .org.uk, .info etc etc.

Find a Supplier
The first thing you need is a supplier that you can buy from cheap enough to markup and earn a reasonable profit. Often this is one of the hardest bits, especially when you are starting out, finding a supplier that will agree to supply you can be tough. Be prepared to pay for stock up front initially and also to take on stock holdings.

You May need Retail Shop
Even though you intend to make ecommerce the primary focus of your business, you may find some suppliers simply will not work with you if you do not have a retail shop. You need to double check this. Some times it is enough to have a few counters or a display rack in your warehouse, or some kind of “trade counter”. Other times you may really need a plate glass high street store front to get supply.

Decide on your Fulfillment
You need to decide how you are going to fulfill customer orders. Are you going to do everything yourself? Are you going to use a fulfilment company to take care of this for you. You may find that your supplier(s) offer a drop shipping service where they will fulfill orders directly for you.

Decide on Shipping Methods and Charges
Are you going to offer next day courier? Do you need to worry about insurance? Can you get away with Royal Mail? There are lots of things to consider when thinking about this aspect of the business.

Merchant Account
If you want to take credit card payments, and any serious ecommerce business should – I definitely believe it is not enough to simply offer paypal – then you are going to need a merchant account. You will also need a business account – these do not have to be from the same bank, though they would have you believe they do. Shop around for the best rates – this can have a distinct impact on your bottom line, especially if margins are tight.

Payment Service Provider
The payment service provider is the system that will actually allow customers to enter card details and will report transactions back to your merchant account. Again its worth shopping around for the best rates. Bear in mind you can only have one PSP per merchant account.

Choose your Shopping Cart Platform
You need to choose which platform you want to base the site on. Choices generally include Magento which is without a doubt the most popular and powerful, Open Cart, osCommerce and derivatives are still popular though not really for new sites these days.

Get a Design
Your choices for design range from using an off the shelf theme which is the cheapest option through to getting a full custom design created. If you are looking for templates, simply search google for {platform} template or {platform} theme. For example Magento Templates.

Implement your design on your Cart
If you have chosen a template then this is usually a case of installing that template and then making whatever customisations you want/need to make in order to brand the site with your logos, colour schemes etc. If you have chosen to go for a custom design then this is a much larger task but the end result is something that is exactly what you want. This is definitely something that Edmonds Commerce can help you with.

Load your Product Data
You need to populate your store with product information. In its barest form this should include name, description, SKU, price and images. You may find getting the data is tricky. Alternatively you may be lucky enough to have suppliers that offer a full data feed and images for their products making this very easy. If you need to bridge the gap, getting a custom scraper built to get product data from your suppliers web sites can be a very cost effective solution.

Choose a Hosting Company
Whilst your store is in development you will not generally need hosting. All of our client work is carried out on our local environment and staging server. It is only when the site is ready to go live that hosting is required. When choosing a host there is lots to consider. The first and most obvious is the hardware spec of your server. Are you going to go for the cheapest shared hosting, a VPS with reasonable power or a dedicated with large RAM and CPU resources?

The other big question that I think a lot of people do not consider in enough detail is the level of support you need from your hosting company. This has a dramatic impact on the price. It’s possible to get a very powerful dedicated for around the £100 per month mark. However don’t bother calling the support line at 2am on a Saturday Morning. If you need full phone support, especially 24/7 then expect to pay for this. I would also advise trying to ring the support lines at these kinds of times just to check that it really is there.

Launch Your Store
You can launch your store as soon as you have product data and a means of payment set up and the store is accessible by visiting your domain name. There are different schools of thought on when you should launch. One is that you should not launch until your site is 100% finished and ready to impress your visitors with its sheer amazingness. Another school of thought is that you should launch ASAP to allow search engine spiders to get in and also to allow visitors to start trickling in allowing you to ensure your systems are all working properly before you switch on the more powerful marketing that will drive large traffic.

Register Self Employed
If you are starting out in business you need to remember to register yourself as self employed with the revenue. Here is some more info.

Unleash the Marketing
Your store will not succeed unless you have an effective marketing strategy in place. This could involve simply SEO + PPC or might extend through to TV adverts, billboards etc. The main differentiator is scale and budget. SEO is a long term strategy, it is unlikley you will achieve great results from the get go. PPC offers an instant response though the costs can be very high so maintaining profitability can be a concern.

Continuous Improvement
Once your ecommerce business is up and running you should commit yourself to a continuous cycle of improvement. It’s the only way to ensure you stay ahead of the game and achieve the level of progress you desire.

You need to plan on the fact that you will need to periodically upgrade your shopping cart. Especially if you are using Magento – it is being updated all the time.


 

So now that everyone uses Google Shopping, Google are making life difficult for the merchants and they all have to jump through hoops.

The current push from Google is enforcing some things that are very difficult for small companies to conform with :-

* EAN Numbers – This is the BIG one, Google are making EAN Numbers required – for some retailers, they just don’t exist, and for a lot of older or cheaper shopping cart systems, they don’t have anywhere to enter them.
* Google Category – This is a fairly obvious one, they are attempting to enable shoppers to browse products and find a motherboard for instance with a 1156 socket rather than a CPU that fits an 1156 socket. The answer is to add an extra field to a site’s category system to map site categories to Google categories, or to restructure your products into google’s categorisations.
* Product Images – Google are making this mandatory as well, which most people are getting round by using stock or illustration-only images.
* Availability – This one actually helps retailers, putting orderable products that are out of stock in front of customers, and is a small change to most scripts exporting to Google

The above changes are being phased in now but should your feed suddenly stop working, how big is the impact on your business? Whilst some of the changes are little tweaks, such as the availability flag, others require fairly substantial changes in the back-end of many cart systems. We are getting many aggrieved businesses contacting us asking for fast turnaround on their Google products feed as they are loosing money all the time that Google are rejecting their products.

What normally (given past changes) has been little tweaks for feeds to be compatible has lately become hours and hours of work both on developers and store-owners. Are you ready to jump through the latest burning hoop Google is holding out for you?


 

After the recent Sage Pay troubles, they offered a technical report which if requested they will send to you.

Not sure why they created this extra step to get to this information so I thought I would post it here for general consumption:

Sage Pay Technical Report — 3 & 4 March 2011

At 01:05 Thursday 3 March 2011 our system monitoring functionality alerted us to a potential issue with the Sage Pay Live gateway.

Our Incident Management team immediately initiated our incident management processes updating the monitor page, activating engineers to further investigate the situation and engaging with senior members of the business.

It was initially unclear as to the extent of the issue — Live transactions were not being processed at this time, but My Sage Pay was available. In total during this time the Live gateway was unavailable for approximately 1 hour 45 minutes.

Remedial work to re-enable our transaction processing was completed at 04:25am. The nature of this work meant that transactions were not archiving to our warehouse and reporting databases.

By 07:30am all transactions were able to be processed (including refunds, repeats etc), however at this point they were not appearing in My Sage Pay.

We remained in this state until 11:45am. In order to try and resolve the issues with My Sage Pay, our warehouse and reporting database processes required restarting; this was performed at 11:45 but had a direct impact on our front-end web servers, resulting in a 50% reduction in transaction processing between 11:45 and 11:50.

Live transaction processing on the gateway continued at a degraded level throughout the afternoon despite our efforts to resolve the issues fully. Between 13:56 – 14:10 the live gateway was unavailable.

At 19:20 normal volumes of transactions through the Live gateway were resumed following the resolution of issues with the warehouse databases. The gateway has since maintained full service with no further service degradation.

My Sage Pay issues continued into Thursday evening and during the day on Friday. We were unable to display real-time transactions, as the reporting databases were not being populated. We took the decision to re-index the reporting database, which began at 23:59 on Thursday in order to ensure improved performance when My Sage Pay was brought back online. Due to the issue on 3 March, this work took three times longer than expected and caused My Sage Pay to remain unavailable until 16:35 on Friday 4 March.

During Saturday 5 March and Sunday 6 March further work took place to populate fraud results, correct settlement discrepancies and complete the migration of the remaining transactions.

All work was complete and My Sage Pay was fully up-to-date by midday on Monday 7 March.


 

If you are testing out your SagePay integration, you need to be able to input some test card details that the test.sagepay.com system will accept.

Here they are:

or testing transactions on the Protx test server, use the following card numbers.

NB: there are NO dummy cards to use on the Live server. Actual Live bank cards must be used.

Card Type Protx Card Name Card Number Issue Number
Visa VISA 4929000000006 n/a
Visa Delta DELTA 4462000000000003 n/a
Visa Electron UK Debit UKE 4917300000000008 n/a
Mastercard MC 5404000000000001 n/a
UK Maestro MAESTRO 5641820000000005 01
International Maestro MAESTRO 300000000000000004 n/a
Solo SOLO 6334900000000005 1
American Express AMEX 374200000000004 n/a
Japan Credit Bureau (JCB) JCB 3569990000000009 n/a
Diners Club DC 36000000000008 n/a

You’ll also need to supply an Expiry Date in the future and the following values for CV2, Billing Address Numbers and Billing Post Code Numbers. These are the only values which will return as Matched. Any other values will return a Not Matched.

CV2: 123
Billing Address: 88
Billing PostCode: 412


 

If you are struggling to understand the Batch Import file layout from the exceptionally sparse details supplied in the “Getting Started” document’s Appendix B which supposedly details the file layout, then this is the solution you need.

It looks very much like there are simply some pages missing from this document. There is another document called “Interfacing With Your System” which has these missing pages.

You won’t get anywhere without it!


 

Amazon helpfully supply a java package called AMTU which does the grunt work of the XML integration for Amazon marketplace. With AMTU you can easily update products, stock levels, prices and also grab order info etc.

Being based on Java, AMTU can run on pretty much any operating system. It uses a “hot folder” system so integration with client systems is as simple as dropping files into certain folders.

There are some good instructions for setting up AMTU on windows. That’s great if you want to run it on your desktop (or a windows server if you are that way inclinded…. :-) ). However if you are one of my clients you are running a Linux server and need it setting up on there.

Unfortunately the documentation for AMTU on Linux is pretty lightweight. This blog post aims to help out anyone struggling with getting AMTU working on their server.

Before you start. Open up the README file (just download the package to your local machine). Have a quick read through and then understand that the README is simply wrong. It is a guide at best, but not strict instructions. They definitely haven’t made it easy for us.

Speaking to Amazon about this, it is apparent that AMTU was developed by someone who is no longer around to support it. They have released it as open source software and basically left us to it. They are not willing to support it themselves.

Here’s my instructions:

1. Log into SSH as root on your server.
Using your favourite SSH client. If you use linux you can just use the terminal, definitely my favourite way of handling SSH.

2. Navigate to the root folder that you want to install AMTU to.

cd /opt

3. Download the AMTU Files

mkdir amtu

cd amtu

wget http://freefr.dl.sourceforge.net/sourceforge/amtu/amtu-linux-1.0.9.tar.gz

4. Unpack the Archive

tar -xvf amtu-linux-1.0.9.tar.gz

5. Edit the config files

5.1 Find your JAVA_HOME

This may change depending on what version of Linux you are using. If you are not sure then use the following command to find out:

cat /etc/issue

The following command will show you which Java version you are running. If you are it doesn’t work then it looks like you don’t have Java installed. Please see Apendix A for Java install instructions.

 java -version

You need to find out the exact path for java. You can use this command:

find / -name java

This will display a few lines. There is usually only one Java folder though with the others being symlinks (shortcuts kind of ) to the Java folder.

5.2 Edit the Install.sh File

First get into the AMTU folder:

 cd /opt/amtu/

Now make sure you have your path to the JRE noted down somewhere and open up the install.sh for editing. For me the path is /usr/bin/java

 vi install.sh

(vi is a text editor for linux. If you are not familiar with it simply search for “vi common commands or something like that).

Now go to the top of the file and add a new line. Replace /usr/bin/java with your own path to Java.

	export JAVA_HOME=/usr/bin/java
	

6. Run the Install Script

First we need to make the install script executable.

 chmod a+x install.sh

Now run the install script.

./install.sh

7. Configure AMTU

This is where it gets interesting. AMTU is installed, but you haven’t given it any kind of information regarding your Amazon account so how will it be able to connect to your specific account??

You need to use the configure.sh script to do this. For me this wouldn’t work until I edited it and ran it manually. There is a configure.sh in the root amtu folder, however all this seems to do is run the configure script in the service folder.

Lets go straight to the service folder and get that one working.

cd /opt/amtu/service/bin

vi configure.sh

In this file they are mixing up the JAVA_HOME variable and appending /bin/java to it. I’m not really sure why they would do this.

First of all try running the script

./configure.sh

If you get an error like:

./configure.sh: line 3: /bin/java: No such file or directory

Then you will need to edit the file. For me to get it to work I had to remove the following:

$JAVA_HOME/bin/java

and simply replace it with my path to Java which is:

/usr/bin/java

Then run the script again and it will ask you a bunch of questions. For most questions the default answers seem fine to me. You will need to know your SMTP details. You will want to log into your seller central account as well so that you can copy relevant details from there.

If it is all successful you should get a message similar to the following:

Please standby while your account details are verified…
Ping was successful
Updating configuration… done!

To alter this configuration, please use the Configuration Utility in the directory you installed this application.

Exiting Application

8. Starting the AMTU and Monitor services
To start the amt and amt_monitor services you need to manually start them. You can also check the status of these processes.

First get into the bin folder

cd /opt/amtu/service/bin

check status

./amt status

./amt_monitor status

If they are not started simply run the start commands

./amt start

./amt_monitor start

Running these two commands should have created some folders in your DocumentTransport folder. To check this out simply go to the folder and check

cd /opt/amtu/DocumentTransport

ls

You should see a folder called logs and a folder called production. The production folder contains our Hot Folder for sending files up to Amazon.

7. Set up symlinks
Once everything is working nicely, you will probably want to create symlinks from folders accessible by PHP.

Navigate to the place that PHP can access and which you would like to place a symlink to the production/outgoing folder. Then use the following command – replace the details as necessary

cd /home/path/to/php/accessible

ln -s /opt/amtu/DocumentTransport/production/outgoing my_amtu_symlink_folder_name

8. Test it Out
All you need to do to test it out is to drop a file into the /opt/amtu/DocumentTransport/production/outgoing folder (or the symlink to this folder that you have just created). Then wait 5 minutes (cup of tea time) and come back. Now browse through the production folders. If the file is in the /sent folder then your upload has worked OK. If it is in the /failed folder then something has gone wrong.

If like me it didn’t work (surprise surprise) then you need to examine the log files to find out what the problem is. The best log to look in to start with is the audit_log.

cd /opt/amtu/DocumentTransport/logs
vi amtu_audit.log

To go to the bottom of the file use the vi shortcut [shift]+[g]

As for figuring out exactly why AMTU doesn’t like your feed file, I leave that bit to you.



Appendix

A. Install Java

These are instructions for a CentOS Linux install. Your Linux might be a different flavour. Simply search around for instructions for your specific setup.

A.1 Download JRE

Go to the Java downloads page
Find the link to the Linux Java JRE bin. (For CentOS you need the rpm version). Copy the link to your clipboard

	cd opt
	wget {link from clipboard for JRE download}
	

This will download the file. However as it is accessed via a script, it will give it a crazy long filename. Lets just rename that first. To rename a file with special characters simply wrap the filename in “” otherwise it won’t work.

	ls
	

now copy the filename to your clipboard

now paste it into this command

 mv "filename from clipboard" jre-rpm.bin 

Now we need to set the file as executable

 chmod a+x jre-rpm.bin
	

Now we install it

	./jre-rpm.bin
	

This will then flash up a bunch of terms and conditions. Just hold down [return] until you get to the bottom, then type “yes”.

To check its all installed use the command

 java -version

You should get something similar to the following:

java version “1.6.0_12″
Java(TM) SE Runtime Environment (build 1.6.0_12-b04)
Java HotSpot(TM) Server VM (build 11.2-b01, mixed mode)

References
installing the latest jre on centos 5
AMTU Homepage
AMTU Forum – not much of use in there unfortunately

More…


 

If you are feeling lazy, or would like to build in some future proofness into your system, you can use the MySQL Desc query to get table column information and then use this information to create dynamic SQL insertion strings.

For example:

$cols_query = db_query("desc table");
while($cq = mysql_fetch_assoc($cols_query)){
	$cols[]=$cq;
}
foreach($cols as $c){
	if(!empty($_POST[$c['Field']])){
		$sets[] = $c['Field'] . " = '" . mysql_real_escape_string($_POST[$c['Field']]) . "'";
	}
}
mysql_query("insert into table set " . implode(', ', $sets));

 

Check out this link for some handy little tools to help you get Google Checkout up and running properly.

http://demo.globant.com/~brovagnati/tools/


 
rss icon