There is a really nice Magento extension for the Amazon Payment system. It's free, which is nice. The only drawback is the installation and lots of spent hours trying to get things working. And this is just the beginning.

So, to even start thinking about testing the Amazon Payment Magento module, you must have the Amazon Payment account, a publicly available domain with the SSL certificate from the Amazon's white list. Then, put that account in a test (sandbox) mode. Surely, it's wise to read the Amazon's documentation first.

Check and set up your Amazon Seller account. In the Payment Integration part of the settings, there are some obvious things such as setting a thank you page, a cancel page etc. There are two not-so-well-documented links you have to set up, the Merchant and the Integrator URLs. This is the example from my configuration:

Merchant URL: https://www.yourdomain.com/amazonpayments/cba/notification
Integrator URL: https://www.yourdomain.com/amazonpayments/cba/callback

Amazon Payment system works like this: when a customer orders something from the Magento store, click on "Checkout by Amazon" button when he/she wants to checkout, the customer will be redirected to the Amazon to log in and to confirm the address, credit card info and such. When the order is complete, the customer will be redirected back to the Magento store.
Immediately after a customer has placed an order, Amazon will send a notification to your store using the provided "Merchant Url". The Magento's module will pick up the data from the Amazon notification, sent as the xml. New order in Magento will be created by using a quote id sent back from the Amazon.

Hooray, is what I said when I saw an order from the Amazon in Magento's admin panel. But some of the customer's info was missing, such as the customer's telephone number, the second row of the address (or the company name), etc. But the biggest issue was the customer's name. If, for some reason, a customer has more than 2 words in his full name, e.g. John M. Smith, you will see John as the first name and M. as the last name, in Magento. So, you will discover that they're just exploding the customer's name by using space (sent as one field from Amazon) in the module , and then setting the first and the second element of the array as the first and the last name, respectively. So, I just modified that code to get the last word as the last name, while everything before is saved as the first name. Maybe it is not really elegant, but it's more correct.
Saving telephone number was a little bit trickier, because there is no such field as a telephone number in the data sent from Amazon! However, since I added logging of all incoming data from the Amazon, I discovered telephone numbers in some notifications. About 15 minutes from the initial "New Order" notification, "Order Ready To Ship" notification is sent with all of the customer's data from the first notification, and, this time only, a telephone number. Since the module only saves a notification and does not update a customer's data, I added a code for saving a telephone number, and it works.
The same thing happens with the 2nd row of the address, the code for collecting and storing is missing completely. So, check what Amazon is sending, find where the other data is collected and stored, add a few lines of a code, and Magento will be happy to store it for you.
While I was checking the module's code, I also noticed that there is a plenty of missed "get store", which will cause even more troubles in the multi-store environment .
Getting this module to work is not an easy job, and you will spend lots of hours, or even days, but it will pay out, eventually.
Do not forget to put your Amazon Seller Central account to test (sandbox) mode before submitting test orders. Failing to do so (e.g. if you cancel those orders) can drop your store's rating. Ruining your store's rating is not really a good idea.
Have fun!


Back Older article Newer article

New theme released

Responsive Magento Theme - Gala Marcos

A truly impressive Magento template for fashion store from Galathemes, Gala Marcos. It amazes visitors by modern and high-fashion look, and also, neat design.

Read more

Our services

Installation

Magento Custom Development

Magento is the most powerful eCommerce system offering rich customization possibilities by extensions and modules.

We offer custom extension development performed by our full-time Magento experts to ensure the custom extension developed follow Magento code standard, optimized and pass our quality tests.

Read more

design

Magento Custom Design

Design and development a custom Magento template for your Magento store. Our designers and developers are specialists in Magento Commerce and have strong experience in Magento projects.

We provide all design in PSD files, template package and sample data. We also help you install the theme on your store if required. We start your project instantly and with highest priority.

Read more

Magento Template Conversion

PSD to Magento Theme Conversion

PSD to Magento Theme Conversion is a leading strength of us. We have an intelligent process and experienced staff, so you will save much time.

We easily convert a store designs in PSD format into a fully functional Magento commerce template. Quick and convenient for you to create an online store based on Magento is through "PSD to Magento Theme Conversion" service. We bring the flexibility, user friendly modules, and the extensions to improve the functionality of Magento.

Read more

Development

Magento Site Development

We update our Magento knowledge everyday. Having an excellent knowledge on Magento design, Magento programming and server optimization, we guarantee your project get done perfectly.

We apply the philosophy of agile project management to ensure your project always performs on the right way, you'll get updates frequently, any changes of scope of project can be informed early to minimize risks, time and cost.

Read more

Optimization

Magento Server Optimization

We realy provide the best service for you. Among them are optimized for Magento server is very important. Your ecommerce shop will flexibility and agility absolute. Connecting with customers, processing speed, the gentle query and sensitive to the search engine is very easy

Read more