Our friends at FingerWeights Global, LLC recently reached out to us to help them develop a new website that would allow it’s visitors to purchase products, use discount codes and process payments with the Stripe.com API. They were not concerned with graphics, but more with ease of use and a speedy checkout process because this was to be used by their existing customer base who was already familiar with their products and did not need to be taken down a sales funnel. Our solution was a slick landing page that was designed to mimic a traditional e-commerce product page and also contained a PHP and AJAX powered credit card payment form that is light-weight, very user friendly; and of course it was responsive for mobile devices too!
If you have done business with us in the past then you know that we like to under promise and over deliver! Our clients did not require any kind of “backend” or Content Management System (CMS) for this project, however we knew that they would eventually want to manage a few things such as pricing, discount codes, view a history of the orders that were placed on the site, and maybe even search for an order that was placed in the past. Knowing this, we decided to build out a custom CMS System for our client that would do just that! We built out a small admin tool using a PHP based Micro-Framework called Paris. We also used Twitter Bootstrap for the presentation layer, jQuery & CSS3 for the transitions and a combination of AJAX and PHP to handle inserting, retrieving and updating data in the database. To top it all off we used Modal Windows, or “pop-up’s”, for the add and edit information forms which really enhances the User Experience.
We love a good challenge and there were a few with this project! When creating custom software like this there is no set of rules for solving problems, rather it’s up to the Developer to find the best way to accomplish the goals of the project in the most efficient way while adhering to best practices.
Our main challenge with this project was how to handle the various discount codes that our client was offering. Our client was offering a mixture of percentage and shipping discounts which meant that when applying the discount we had to first check to see if the discount existed in the database, then check to see if it had a shipping charge, then apply the discount to the product total; and then re-calculate the total before submitting the total order value to Stripe for payment. Oh, and yeah we did all of this with AJAX so there was no page refresh. Everything happened automagically in the browser!