public DoExpressCheckoutPaymentResponse SendPayPalDoExpressCheckoutPaymentRequest(ApplicationCart cart, string token, string payerId) { try { WebUILogging.LogMessage("SendPayPalDoExpressCheckoutPaymentRequest"); DoExpressCheckoutPaymentResponse response = _payPalTransactionRegistrar.SendDoExpressCheckoutPayment(token, payerId, cart.Currency, cart.TotalPrice); // Add a PayPal transaction record DAL.PayPalTransaction transaction = new DAL.PayPalTransaction { RequestId = response.RequestId, TrackingReference = cart.Id.ToString(), RequestTime = DateTime.Now, RequestStatus = response.ResponseStatus.ToString(), TimeStamp = response.TIMESTAMP, RequestError = response.ErrorToString, Token = response.TOKEN, RequestData = response.ToString, PaymentTransactionId = response.PaymentTransactionId, PaymentError = response.PaymentErrorToString, }; // Store this transaction in your Database MughapuWeb.DAL.peakzartEntities storedb = new MughapuWeb.DAL.peakzartEntities(); storedb.PayPalTransactions.Add(transaction); // Store this transaction in your Database storedb.SaveChanges(); return response; } catch (Exception ex) { WebUILogging.LogException(ex.Message, ex); } return null; }
private void GetSession() { var cartes = ShoppingCart.GetCart(this.HttpContext); var critems = cartes.GetCartItems(); List<ApplicationCartItem> ItemsView = new List<ApplicationCartItem>(); foreach (DAL.Cart drAC in critems) { ApplicationCartItem objACT = new ApplicationCartItem(); objACT.Description = drAC.ImageDetail.ImageDescription; objACT.Name = drAC.ImageDetail.ImageTitle; objACT.Price = Convert.ToDecimal(drAC.ImageDetail.Price); objACT.Quantity = drAC.Count; ItemsView.Add(objACT); } string strFormat = "PO-" + System.DateTime.Now.ToString("yyyyMMddHHmmssffff") + GetRandomNumber().ToString(); ApplicationCart cart = new ApplicationCart { Id = strFormat, //Guid.NewGuid(), // Unique cart Id Currency = ConfigurationManager.AppSettings["currency_code"],//"USD", PurchaseDescription = "Peakzart-Sale Deed", // This is what appears in the user's PayPal order history, not the individual items Items = ItemsView }; // Storing this in session, you might want to store in it a database Session["Cart"] = cart; }
public SetExpressCheckoutResponse SendPayPalSetExpressCheckoutRequest(ApplicationCart cart, string serverURL, string userEmail = null) { try { WebUILogging.LogMessage("SendPayPalSetExpressCheckoutRequest"); // Optional handling of cart items: If there is only a single item being sold we don't need a list of expressCheckoutItems // However if you're selling a single item as a sale consider also adding it as an ExpressCheckoutItem as it looks better once you get to PayPal's site // Note: ExpressCheckoutItems are currently NOT stored by PayPal against the sale in the users order history so you need to keep your own records of what items were in a cart List<ExpressCheckoutItem> expressCheckoutItems = null; if (cart.Items != null) { expressCheckoutItems = new List<ExpressCheckoutItem>(); foreach (ApplicationCartItem item in cart.Items) expressCheckoutItems.Add(new ExpressCheckoutItem(item.Quantity, item.Price, item.Name, item.Description)); } SetExpressCheckoutResponse response = _payPalTransactionRegistrar.SendSetExpressCheckout(cart.Currency, cart.TotalPrice, cart.PurchaseDescription, cart.Id.ToString(), serverURL, expressCheckoutItems, userEmail); // Add a PayPal transaction record DAL.PayPalTransaction transaction = new DAL.PayPalTransaction { RequestId = response.RequestId, TrackingReference = cart.Id.ToString(), RequestTime = DateTime.Now, RequestStatus = response.ResponseStatus.ToString(), TimeStamp = response.TIMESTAMP, RequestError = response.ErrorToString, Token = response.TOKEN }; MughapuWeb.DAL.peakzartEntities storedb = new MughapuWeb.DAL.peakzartEntities(); storedb.PayPalTransactions.Add(transaction); // Store this transaction in your Database storedb.SaveChanges(); return response; } catch (Exception ex) { WebUILogging.LogException(ex.Message, ex); } return null; }