Integration with a Payment Gateway
Create a Payment Method Service, which integrates uCommerce with an online payment processor such as SagePay, DIBS, PayPal, Cyber Source, or another processor used during checkout. This method involves using straight API integration.
Create a Payment Method Service which handles payment gateway integration using user redirection to a payment page with the payment gateway. This method involves redirecting the customer to a page at the payment gateway, which handling a callback performed by the payment gateway once payment is approved.
How to set up the out of the box payment providers:
Checkout Razor Samples
Looking to create awesome stores using Umbraco and Razor? Take a look at Razor samples from doing everything from adding to basket, calculating orders totals, to accepting payments.
How-to: Build an Apple-style Product Configurator with uCommerce
Variants is a great way to offer up products which have varying properties, but sometimes they are just not enough or it's too cumbersome to maintain each and every variant combination you want.
In this article you'll discover how to build an Apple-style product configurator with uCommerce.
There are two pieces to doing a highly flexible product configurator: The configurator itself and the subsequent presentation of the basket.
We'll cover the configurator itself in this article and do a separate article for the basket itself.
How-to: Manage Multiple Basket Items as One
In a previous article we discussed 4 Steps to Building an Apple-style Product Configurator with uCommerce, which detailed how to piece together a complete product from multiple product options configured in the catalog.
This article will help you deal with those composite items as a unit rather than separate line items.
How-to: Build a Recently Browsed Items List
Learn how to build and maintain a list of the products a customer lokks at while browsing your stores. The technique outlined in this article can also be used for gift registries, wish lists, standard recurring orders and more.
Catalog Foundation Explained: Product Definitions
The uCommerce Catalog Foundation holds all the catalog information in your installation and as such serves as the most important foundation in uCommerce. This post will give you an idea of one of the most basic building blocks of the Catalog Foundation: Product Definitions.
Marketing Foundation Explained: Targeted Advertisements and Discounts
Marketing Foundation introduced with uCommerce 2.0 adds rich marketing capabilities, which can be used to stimulate customers to buy. It's built based on three simple principles: Advertise, Act, and Award.
Extending Marketing Foundation: Adding a New Advertise and Act Target
uCommerce comes with a bunch of built-in targets that you can use to set up new campaign items, but you can extend Marketing Foundation with your own targets as well.
Shipping Methods Explained
A shipping method in uCommerce consists of two discrete parts: data for presenting the shipping method to the customer and calculating costs and logic to calculate costs based on whatever is in each shipment for an order. uCommerce supports multiple shipments per order and your shipping method will have the opportunity to calculate different shippings costs based on whats in each shipment.
Building a Custom Shipping Method Service for Calculating Shipping Prices
Specifically you can build custom shipping method services to enable custom calculation of shipping costs during the checkout flow as discussed in Shipping Methods Explained.
This article covers adding a new shipping method service to uCommerce and having it show up the admin UI like so.
Social Commerce Explained: Product Rating, Product Reviews, and Comments
Learn how uCommerce supports social commerce via user generated content like product ratings, product reviews, and comments. Also contains information about the workflows in the backend to support approval and moderation of posted content.
Building Webshops with Umbraco, Razor, and uCommerce
Probably the most interesting new feature to come to Umbraco (for .NET developers anyway) is support for the Razor view engine. The Razor view engine was originally (sounds like it was year ago when in fact it only happened recently) introduced with MVC 3 to reduce friction when writing UI code making it simple to weave HTML and C# code together.
Sending E-mail using uCommerce
Any good e-commerce solution lets the store owner stay in contact with customers. One of the most well established ways of doing this is using the tried and true e-mail.
A strength of the integration between uCommerce and Umbraco is that Umbraco is particularly good at building nice looking pages so we thought, "why not use this to build e-mails as well?", so that's what we did.
The great thing about this approach is that you don't have to learn some obscure templating language to style your e-mails, you simply build your e-mail content like you would build any other page in your solution using XSLT or .NET user control, whichever suits you the best.
Simple Inventory Management with uCommerce
The pipeline tasks are pretty simple and do one thing: During checkout one task looks for a field on your product definition called "InventoryOnHand" if found decrements that field with the quantity ordered by the customer. It's that easy.
Now inventory management wouldn't be complete if it didn't support returns as well. So a second task is configured to run as part of the order processing flow in the backend of uCommerce. If an order is moved to a cancelled state the task looks for that same field once more and increments "InventoryOnHand" with the quantities found on each order line.
Staging Sites without the Developer Edition Banner
One of the common questions we get about uCommerce is, "how do I get rid of the Developer Edition banner on my site when I demo for the client?".
Changing the Default Basket Behavior
Learn how to change the way uCommerce retrieves baskets for customers to support scenarios like gift registries and wish lists.
Dynamic Order Properties: Adding Custom Information to Baskets, Orders, and Order Lines
When working with an e-commerce transaction system in an online store typically the information stored on the orders and order lines will come from the products themselves in the catalog system.
However, in some cases you might want to add custom information such as a personalized message, an indication whether gift wrapping is required, serial numbers, measurements, or something else entirely.
For this specific scenario uCommerce supports dynamic order properties, which is a way to add information to basket, orders, and individual order lines.
Querying Product with Custom Properties using the LINQ API
Once you start adding custom properties to your product definition you'll want to query for products using those properties. The LINQ API enables you to do so easily.
Finding Products Present in Multiple Categories using LINQ to uCommerce
We need a way to find all products present in number of categories as specified by a customer, think search. So we only want products present in both categories A and B, but not products only present in only one or the other.
Create a Product using the API
If you need to create product from code you'll need to know how the object model and underlying database is set up.
Fast Bulk Import Usng The Stateless API
If you need to import large amounts of data from external systems you'll want to the stateless API uCommerce provides for just this type of scenario.
Setting Up Simple URL Rewriting
With uCommerce comes a simple sample implementation of a complete store, which you can use as inspiration for getting started.
If you want search engine friendly URLs you can configure Umbraco's URL rewriting to include your uCommerce content too
Working with Built-in Friendly URLs
uCommerce 1.5 introduces nice URLs for catalogs, categories, and products. The basic idea is to provide keyword rich URLs for catalog items to increase page rank in search engines like Google and Bing. Really though, who are we kidding here? It's just for Google :)
When working with the different entities in uCommerce admin, you have the option to add additional tabs to each view, so that you can integrate your own user controls in uCommerce admin.
Extending Admin Trees
When working in the uCommerce Admin tool it can be useful to be able to add your own custom nodes some in the trees, e.g. a new node under Product Catalog, Orders, Analytics, or Settings. This post describes how to achieve this.
Understanding and Extending Order Statuses
When implementing an e-commerce solution, you might need to adapt your solution to either your own, or your client's order fulfillment process. To support a flexible workflow around this process, uCommerce supports configurable order statuses.
Pipelines Explained: Customizing the Store Business Logic
One of the things you will need when building complex sites with uCommerce is the pipeline system.
A pipeline is a series of tasks, which will execute in a sequental order. You can use these tasks to execute whatever business logic you want, when working with baskets or orders. Currently, the pipeline system only applies to baskets and orders.
Using the uCommerce API Outside a Web Context
More often than not you will leverage uCommerce in a web context either via the Commerce Library XSLT extensions or through .NET directly.
In some cases though you might need to leverage the API outside a web context for automated integration between systems, for custom web services, or integration of uCommerce functionality directly in other custom applications such as point of sale- or kiosk apps.
This article outlines the steps required to get the API going.
uCommerce 3: Using the uCommerce 3 API in a Windows Application
Deleting Purchase Orders and Baskets from the Database
One thing you might want to do before putting a new uCommerce solution into a production environment is remove any test baskets and orders you might have placed during development. The schema gets a little complicated with the rich functionality found in the uCommerce Transaction Foundation requiring the objects to be removed in a certain order.
Migrating Code from uCommerce 1.0 to 2.0
Details how to migrate .NET code from uCommerce 1.0 to 2.0. XSLT code is unaffected by the newer API.
Checklist for Updating uCommerce to a Newer Version
The basic process of updating uCommerce from one version to another is straightforward when you're running a default setup: You install the new package on top of the existing one and uCommerce will figure out what needs to be migrated.
However, depending on the level of customization of your uCommerce solution you might need to check a few additional areas when you upgrade. Especially if custom pipeline components or services are added to the configuration files.