One of the biggest problems that merchants face today is that they need to do more than what is possible with out-of-the-box features that e-commerce solutions have. Hotcakes Commerce has you covered. There are five (5) incredibly flexible ways that you can extend your store to meet your needs – whether that means simply changing design elements, connecting to various payment providers, or writing complimentary applications that “talk” to your store.
The following information is required to already be known:
- An understanding of API’s and development
Extension point and extensibility is a very common word that pretty much every software vendor in the world tries to market to developers. The fact of the matter is, if you cannot change how the software works without getting the vendor involved or changing the “core code” of the application, it’s not extensible at all.
Hotcakes commerce makes it possible for you to alter nearly everything about your store without having to change the code of the software itself. All you need to do is know which extension points are possible, and what they do for you.
Everything that a customer sees in your store is provided by something called a “view” and this view is part of a collection of views called a “viewset.” These views include things like your product details, shopping cart, and checkout pages. Hotcakes Commerce allows you to alter one or all of the view in the viewset to do things like:
- Change the HTML output
- Add more or less product information
- Add new client-side functionality (like additional buttons & jQuery)
- Support various client-side frameworks (like Bootstrap)
- Display information from other data sources
These viewsets are built using the Razor view engine. You can take advantage of existing skill sets and reference materials. Razor is being used by many thousands of organizations and millions of developers around the world. This means that you do not need to learn and use a new template engine, technique or language.
Hotcakes Commerce comes with a default viewset and a starter viewset project for your developers and designers to use to build the store exactly how you want it. If you want a uniquely branded user experience from the ground up, simply start with the viewset project and re-rand all of the views to match your company branding.
Partial Views & Custom Controllers
Hotcakes Commerce is built on Microsoft’s popular MVC framework. The real power of MVC is that it completely abstracts the business logic that developers create from the design elements that designers are responsible for. This allows you to have the ultimate control over the logic and quality of your server-side integration and design of your store.
In Hotcakes, this allows you to completely create your own server-side logic inside of a custom controller which would then power a partial view. This would be a completely new element that you could have in your store. Get creative… How you extend using this extension point is completely up to you.
Action Delegate Pipeline Integration
The integration pipeline makes available to you some key actions where you can integrate with other systems and data sources to make intelligent and live decisions to determine whether or not the store action should complete, and perhaps perform other kind of server-side actions. These actions include:
- Before Product Added to Cart
- Before Proceed to Checkout
- Before Checkout Completed
There are a seemingly endless number of examples of how you can benefit from the integration pipeline actions. You might have a very high transaction store and have a need to check and re-check inventory throughout the cart experience. In an example like this, you could check inventory in another system before the product is added to the cart and before the customer gets to the checkout page. Thus, ensuring that the customer doesn’t order an out of stock item. Finally, you would be able to update inventory before the checkout process completes.
In your store, you will always want to make things happen at just the right time, and this is never truer than during your order workflow process. Every merchant needs to be able to execute logic at specific times that an order is being managed. The order workflow allows you to execute code at any point of the order process. A great example of this might be to make an API call to your ERP when an order is marked as paid. You can do this and much more. Here is a listing of the order workflow points of integration.
- Process New Order – Runs with the order is moved from the “New” to “To Do” state
- Verify Order Size – Runs whenever a customer checks out
- Drop Ship – Runs whenever an order is marked as “Shipped”
- Package Shipped – Runs after a package is marked as “Shipped”
- Order Edited – Runs whenever an order is edited
- Payment Changed – Runs whenever a payment has been applied
- Payment Complete – Runs after a payment has been applied
- Process New Order Payments – Runs after a new order has been accepted to process
- Process New Order After Payments – Runs after payments have been applied
- Shipping Changed – Runs after the status of shipping has changed
- Shipping Complete – Runs after shipping is marked “Complete”
- Third Party Checkout Selected – Runs to execute external checkout providers (like PayPal Express)
Each of the workflow points above will already execute any number of tasks in Hotcakes Commerce. By building a custom order workflow of your own, you will be able to add your own tasks to occur at a specific point in the existing workflow or alter the existing workflow.
If you are thinking that you might have a unique payment gateway to use, you wouldn't be the first one. It is for this reason that we made sure that you can plug-in any payment gateway that you need to. Like the rest of the extension points, you'll find great documentation, videos, and sample Visual Studio solutions to get your team started right away. This specific extension point allows you to also change the way that another payment gateway works. For example, if you wanted to have your own version of a supported gateway like Authorize.Net, it's only a download away. Just add your code, build, and add to your site. From there, it's simply a configuration change to begin accepting payments using your new payment gateway.
A payment gateway helps you change credit card processors. However, you might want a different form of payment altogether. This is where a custom payment method comes in. Your custom payment method will combine your custom viewset and a custom workflow to allow you to use third party payment methods, offsite payments, and pretty much any kind of payment that we haven't even thought of yet.
Gift Card Gateway
Hotcakes Commerce can handle the sale and processing of your gift cards just fine. However, if you are coming to us with your own gateway processor for accepting gift cards, we can handle that too. All you have to do is implement the gift card gateway provider using our sample Visual Studio project. It works nearly identically to how a credit card gateway works - in fact, in many cases your gateway service will be the same, only using an additional extension point.
Hotcakes Commerce already has it's own tax schedules feature that merchants can use to define taxes that will be charged to customers during checkout. This is even easier when you use Avalara's Avatax. What if you have or want to use a different tax calculation provider though? You can easily connect Hotcakes to your preferred tax service to calculate, sync, and commit taxes for line items and orders in your store. This works nearly identically to our other extension points.
REST stands for “representational state transfer” and is a fancy way to say that Hotcakes Commerce offers you a set of lightweight web services for you out-of-the-box. The REST API allows you to access and call any of the end points that you see in the store admin. For example, you can push data to the store and pull from the store at times where it doesn’t need to be based upon an event (like the integration points above). This could include things like updating orders or the product catalog. It could be to build an integration with another application in your organization, such as an intranet dashboard. It’s all up to you. Like with the other extension points, we've taken the work out of getting started with a sample REST API project.
See the rest of our developer documentation to get more details about each of these extension points and how you can use them.