public ActionResult AddCart(string asin) { var cartId = string.Empty; var hmac = string.Empty; var authentication = this.GetConfig(); var wrapper = new AmazonWrapper(authentication, this._amazonEndpoint, this._associateTag); AmazonCartItem item; if (Session["cartId"] == null) { item = new AmazonCartItem(asin); var cardCreateResponse = wrapper.CartCreate(new List <AmazonCartItem> { item }); Session["cartId"] = cardCreateResponse.Cart.CartId; Session["hmac"] = cardCreateResponse.Cart.HMAC; return(Json(new { Successful = true, cardCreateResponse.Cart.CartId }, JsonRequestBehavior.AllowGet)); } cartId = Session["cartId"] as string; hmac = Session["hmac"] as string; item = new AmazonCartItem(asin); var cardAddResponse = wrapper.CartAdd(item, cartId, hmac); return(Json(new { Successful = true, cardAddResponse.Cart.CartId }, JsonRequestBehavior.AllowGet)); }