Reference Documentation

uCommerce API reference documentation.

 

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.

Integrating uCommerce with a Payment Provider

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. 

Integrating with a Payment Gateway using External Payment Windows

How to set up the out of the box payment providers:

Amazon FPS

Authorize.Net

Braintree Payments

DIBS

ePay

eWAY Australia

Google Checkout

iDEAL (ING)

MultiSafepay

Payer

PayEx

PayPal

Ogone

SagePay

WorldPay

 

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.

Checkout Razor Samples

 

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.

4 Steps to Building an Apple-style Product Configurator with uCommerce

 

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.

3 Steps to Managing Multiple Basket Items as One

 

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.

Building a Recently Browsed Items List with uCommerce

 

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.

Catalog Foundation Explained: 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.

Marketing Foundation Explained: Targeted Advertisements and Discounts

 

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.

Extending Marketing Foundation: Adding a New Advertise and Act Target

 

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.

Shipping Methods Explained

 

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.

Building a Custom Shipping Method

 

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.

Social Commerce Explained: Product Rating, Product Reviews, and Comments

 

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. 

Building Webshops with Umbraco, Razor, and the uCommerce E-commerce Framework. Oh My!

 

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.

Sending E-mail using uCommerce

 

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.

Simple Inventory Management with uCommerce

 

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?".

Staging Sites without the Developer Edition Banner

 

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.

Changing the Default Basket Behavior of uCommerce

 

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.

Dynamic Order Properties: Adding Custom Information to Baskets, Orders, and 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.

Querying Products by Custom Properties in uCommerce

 

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.

Finding Products Present in Multiple Categories using LINQ to uCommerce

 

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.

uCommerce How To: Create A Product Using The API

 

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.

Bulk Import From Third Party Systems Using The uCommerce API

 

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

Setting Up Simple URL Rewriting In uCommerce

 

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  :)

Nice URLs Optimize Webshop Google Page Rank

 

Extending Admin

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 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.

Extending Trees in uCommerce

 

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.

Understanding uCommerce 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.

uCommerce Pipelines Explained

 

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 2: Enable the uCommerce E-commerce API Outside the Web Context

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.

Deleting Purchase Orders and Baskets from the Database in uCommerce

 

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.

Migrating Code to UCommerce.EntitiesV2

 

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. 

Checklist for Updating uCommerce

http://www.publicvoid.dk/ExtendingTreesInUCommerceAdmin.aspx