Пример #1
0
        public ActionResult BraintreePayment(FormCollection collection)
        {
            Cart cart = CartSession;

            if (cart.BillingAddress == 0)
            {
                return(CurrentUmbracoPage());
            }

            //Save order to database via API
            var addressList     = GetAddresses(AddressType.BillingAddress);
            var billingAddresss = addressList.FirstOrDefault(x => x.Id == cart.BillingAddress);
            var user            = AuthenticateTicket.GetCurrentUser();
            var gateway         = new BraintreeGateway
            {
                Environment = Braintree.Environment.SANDBOX,
                MerchantId  = "zwcjj4ss488mzsy7",
                PublicKey   = "yddq2ybzjk5xy2z5",
                PrivateKey  = "5917ab582f1790eb830644e90927e1fa"
            };
            //save cart to database
            //payment method , payment status , payment type , cart
            //use the order in trans
            string nonceFromTheClient = collection["payment_method_nonce"];
            var    request            = new TransactionRequest()
            {
                BillingAddress = new AddressRequest()
                {
                    FirstName         = user.FirstName,
                    LastName          = user.LastName,
                    StreetAddress     = billingAddresss.StreetAddress,
                    ExtendedAddress   = billingAddresss.ExtendedStreetAddress,
                    Locality          = billingAddresss.Town,
                    PostalCode        = billingAddresss.PostCode,
                    CountryCodeAlpha2 = "GB"
                },
                OrderId            = "Todo",
                Amount             = Convert.ToDecimal(cart.GrandTotal),
                Channel            = "Emeal",
                PaymentMethodNonce = nonceFromTheClient,
                Options            = new TransactionOptionsRequest
                {
                    SubmitForSettlement = true,
                    PayeeEmail          = user.Email
                }
            };
            Result <Transaction> result = gateway.Transaction.Sale(request);

            //check trans status if successful update order status to paid
            // remove cart from session
            //send confr email to customer and company.
            // forward customer a thank you page
            return(CurrentUmbracoPage());
        }
Пример #2
0
        private IRestResponse ApiGet(string method)
        {
            var user    = AuthenticateTicket.GetCurrentUser();
            var client  = new RestClient(_apiUrl);
            var request = new RestRequest(method, Method.GET);

            if (user != null)
            {
                request.AddHeader("Authorization", user.AccessCode);
            }
            var response = client.ExecuteAsync(request).Result;

            return(response);
        }
Пример #3
0
        private IRestResponse ApiPost <T>(string method, T obj)
        {
            var user    = AuthenticateTicket.GetCurrentUser();
            var client  = new RestClient(_apiUrl);
            var request = new RestRequest(method, Method.POST);
            var data    = JsonConvert.SerializeObject(obj);

            if (user != null)
            {
                request.AddHeader("Authorization", user.AccessCode);
            }
            request.AddParameter("application/json; charset=utf-8", data, ParameterType.RequestBody);
            request.RequestFormat = DataFormat.Json;
            var response = client.ExecuteAsync(request).Result;

            return(response);
        }
Пример #4
0
        public ActionResult Test()
        {
            var user = AuthenticateTicket.GetCurrentUser();

            return(Json(user, JsonRequestBehavior.AllowGet));
        }