Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at

  • Andrew Parker 23 posts 88 karma points
    Sep 22, 2011 @ 11:25
    Andrew Parker

    Digital Products in Tea Commerce

    Hi there,

    We're in the process of looking for an e-commerce solution for an Umbraco project we're working on.  The client is selling pdfs mainly - so we need to be able to provide a link to the customer afterwards at a secure url for the product, and also provide a list of purchased downloads in the 'my account' area.  

    Is that possible out of the box or does it need lots of custom code?  

    Also - I found a post about special offers saying there was no support out of the box for special offers / vouchers etc.  Is that still the case?



  • Rune Grønkjær 1310 posts 2904 karma points
    Sep 22, 2011 @ 11:48
    Rune Grønkjær

    Hi Andrew,

    Tea Commerce will easily sell digital products and you can do so in several ways. Most of that will be standard Umbraco and the Tea Commerce part will be quite small actually. Let me sum up the parts:

    Tea Commerce will do this:
    - Let the customer/member purchase the products.
    - You can let customers login or create a new member in the purchase process. This is done in coop with Umbraco
    - If the product is custom made for each customer you will hook into the Tea Commerce .NET events and create the pdf's after the order is completed
    - If the products are premade you use the Tea Commerce .NET API to manipulate the customers member and grant them access to the product they have purchased

    Umbraco will do this:
    - Let you manage the members
    - Let you create a members area where you can list the pdf's available to the customer

    The link below goes to a web shop already selling digital products using Tea Commerce:

    They too uses the Umbraco member system to handle access to the purchased products. They are even setting a time limit for how long the product will be available for the customer.

    The advantage of using Tea Commerce for this job is that it's light weight and let's Umbraco handle all the heavy work. Tea Commerce's task is only to grant access to the customers.

    As for your other questions.
    - Yes, you can easily make special offers with Tea Commerce. Products in Tea Commerce are normal Umbraco nodes, which means you can do whatever you want with them.
    - No we are not supporting vouchers out of the box. It will be easy to implement using the Tea Commerce .NET API though. It's very flexible and simple to use.

    I hope this answers your questions. Otherwise feel free to ask again.


  • Anders Burla Johansen 2560 posts 8256 karma points
    Sep 22, 2011 @ 11:54
    Anders Burla Johansen

    Hi Andrew

    To give you an idea of a voucher system - you could have a table with your voucher codes and their associated discount rate. In the cart process when customers enters the voucher code - you hook into the OrderPropertiesChanged event in the Tea Commerce .NET API. There you check if the voucher havent been used before and then apply the discount rate to all the order lines or specific products only.

    Hope that gives you an idea of a simple voucher system


  • Andrew Parker 23 posts 88 karma points
    Sep 22, 2011 @ 11:56
    Andrew Parker

    That sounds great - thanks for the replies Rune and Anders!


  • Bjarni 7 posts 28 karma points
    May 02, 2012 @ 12:38

    hi Rune

    I am also trying to use teacommerce to sell digital products. Could you give me an example how to tel customer create a new member in the purchase process in cooperation with Umbraco. If you have some code examle that would be really nice.


  • Rune Grønkjær 1310 posts 2904 karma points
    May 02, 2012 @ 13:23
    Rune Grønkjær

    Hi Bjarni,

    There are actually a couple of ways to do that. You can make a usercontrol or the like in your cart flow, and use that to create a new member. You can also use the Tea Commerce events to do the same. This approach will use the information collected on the order to create the member when the order is finalized.

    using TeaCommerce.Data.Extensibility;
    using TeaCommerce.Data;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web.Security;
    using umbraco.cms.businesslogic.member;
    using TeaCommerce.Data.Payment;
    namespace YourApplication.Extensions {
      public class TeaCommerceExtension : ITeaCommerceExtension {
        public void Initialize() {
          WebshopEvents.BeforeOrderFinalized += WebshopEvents_BeforeOrderFinalized;
        void WebshopEvents_BeforeOrderFinalized( Order order, CallbackInfo callbackInfo ) {
          //We create a basic member with the information from the order
          OrderProperty passwordProperty = order.Properties.FirstOrDefault( op => op.Alias == "password" );
          OrderProperty usernameProperty = order.Properties.FirstOrDefault( op => op.Alias == "username" ); //Or email
          MembershipUser msu = System.Web.Security.Membership.CreateUser( passwordProperty.Value, usernameProperty.Value, string.Empty );
          Roles.AddUserToRole( msu.UserName, "memberGroup" );
          //Get umbraco member
          Member member = new Member( (int)msu.ProviderUserKey );
          //Add other information
          OrderProperty nameProperty = order.Properties.FirstOrDefault( op => op.Alias == "name" );
          Property nameProp = member.getProperty( "name" );
          nameProp.Value = nameProperty.Value;

    I hope that helps.


Please Sign in or register to post replies

Write your reply to: