public WebPage()
        {
            InitializeComponent();

            Trace.WriteLine("Webpage loaded");

            var paymentRequest = new CheckoutPageRequest();
            paymentRequest.AdultContent = false;
            paymentRequest.Amount = "5.50";
            paymentRequest.PaymentInfo = "Test";
            paymentRequest.Title = "My new Phone";
            paymentRequest.Description = "Buy your favorite Sony Phone!";
            paymentRequest.AdultContent = false;
            paymentRequest.Roaming = false;
            paymentRequest.MerchantId = MerchantId;
            paymentRequest.CancelUrl = BaseReturnUrl + "?uid=43c2&sid=dc0d&purchase=cancel";
            paymentRequest.ErrorUrl = BaseReturnUrl + "?uid=43c2&sid=dc0d&purchase=error";
            paymentRequest.SuccessUrl = BaseReturnUrl + "?uid=43c2&sid=dc0d&purchase=success";
            paymentRequest.CpServiceId = "xys-323-gh-ff";
            paymentRequest.CpSubscriptionId = "23hkb379oh";
            paymentRequest.CpUserId = "vghv5678";
            paymentRequest.ImageUrl = "http://lorempixel.com/300/200";
            paymentRequest.ContentType = "App";
            paymentRequest.StoreSource = "Easypay-City";

            var easypayConfig = GetEasypayConfig();
            easypayConfig.Basepath = "/charging-engine-checkout";
            var url = EasypayRequest.GetCheckoutPageUrl(easypayConfig, paymentRequest);
            checkoutView.Navigate(url);

            checkoutView.Navigated += CheckoutView_Navigated;
        }
        public ActionResult Buy()
        {
            var paymentRequest = new CheckoutPageRequest();
            paymentRequest.AdultContent = false;
            paymentRequest.Amount = "5.50";
            paymentRequest.PaymentInfo = "Test";
            paymentRequest.Title = "My new Phone";
            paymentRequest.Description = "Buy your favorite Sony Phone!";
            paymentRequest.AdultContent = false;
            paymentRequest.Roaming = false;
            paymentRequest.MerchantId = MerchantId;
            paymentRequest.CancelUrl = BaseReturnUrl + "?uid=43c2&sid=dc0d&purchase=cancel";
            paymentRequest.ErrorUrl = BaseReturnUrl + "?uid=43c2&sid=dc0d&purchase=error";
            paymentRequest.SuccessUrl = BaseReturnUrl + "?uid=43c2&sid=dc0d&purchase=success";
            paymentRequest.CpServiceId = "xys-323-gh-ff";
            paymentRequest.CpSubscriptionId = "23hkb379oh";
            paymentRequest.CpUserId = "vghv5678";
            paymentRequest.ImageUrl = "http://lorempixel.com/300/200";
            paymentRequest.ContentType = "App";
            paymentRequest.StoreSource = "Easypay-City";

            var easypayConfig = GetEasypayConfig();
            easypayConfig.Basepath = "/charging-engine-checkout";
            var url = EasypayRequest.GetCheckoutPageUrl(easypayConfig, paymentRequest);
            return Redirect(url.ToString());
        }
 public static Uri GetCheckoutPageUrl(EasypayConfig config, CheckoutPageRequest paymentRequest)
 {
     var data = JsonConvert.SerializeObject(paymentRequest, new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() });
     var dataByteArray = Encoding.UTF8.GetBytes(data);
     var signature = Signature.Sign(Encoding.UTF8.GetBytes(config.EasypaySecret), dataByteArray);
     var path = "/authorize.jsf?signature=" + Uri.EscapeDataString(Convert.ToBase64String(signature)) + "&checkoutRequestItem=" + Uri.EscapeDataString(Convert.ToBase64String(dataByteArray));
     return new Uri("http://" + config.Host + config.Basepath + path);
 }
예제 #4
0
        public static Uri GetCheckoutPageUrl(EasypayConfig config, CheckoutPageRequest paymentRequest)
        {
            var data = JsonConvert.SerializeObject(paymentRequest, new JsonSerializerSettings {
                ContractResolver = new CamelCasePropertyNamesContractResolver()
            });
            var dataByteArray = Encoding.UTF8.GetBytes(data);
            var signature     = Signature.Sign(Encoding.UTF8.GetBytes(config.EasypaySecret), dataByteArray);
            var path          = "/authorize.jsf?signature=" + Uri.EscapeDataString(Convert.ToBase64String(signature)) + "&checkoutRequestItem=" + Uri.EscapeDataString(Convert.ToBase64String(dataByteArray));

            return(new Uri("http://" + config.Host + config.Basepath + path));
        }
        public void TestGetCheckoutPageUrl()
        {
            var paymentRequest = new CheckoutPageRequest
            {
                AdultContent = false,
                Amount = "5.50",
                PaymentInfo = "Test"
            };

            var url = EasypayRequest.GetCheckoutPageUrl(_config, paymentRequest);

            Assert.AreEqual(url.ToString(), "http://easypay-test.swisscom.ch/test-service/authorize.jsf?signature=TCVlgDU0eX%2Bld3bNOQUrvnxLeEk%3D&checkoutRequestItem=eyJ0aXRsZSI6bnVsbCwiZGVzY3JpcHRpb24iOm51bGwsImR1cmF0aW9uIjowLCJkdXJhdGlvblVuaXQiOm51bGwsInByb21vdGlvbkFtb3VudCI6bnVsbCwibWVyY2hhbnRJZCI6bnVsbCwiY2FuY2VsVXJsIjpudWxsLCJlcnJvclVybCI6bnVsbCwic3VjY2Vzc1VybCI6bnVsbCwiY3BTZXJ2aWNlSWQiOm51bGwsImNwU3Vic2NyaXB0aW9uSWQiOm51bGwsImNwVXNlcklkIjpudWxsLCJpbWFnZVVybCI6bnVsbCwiYW1vdW50IjoiNS41MCIsInBheW1lbnRJbmZvIjoiVGVzdCIsInJvYW1pbmciOmZhbHNlLCJhZHVsdENvbnRlbnQiOmZhbHNlLCJ1c2VyQWdlbnRPcmlnaW4iOm51bGwsInVzZXJTb3VyY2VJUCI6bnVsbCwiY29udGVudFR5cGUiOm51bGwsInN0b3JlU291cmNlIjpudWxsLCJvcGVyYXRpb24iOm51bGwsIm9yZGVySWQiOm51bGx9");
        }
        public void TestPaymentRequestSignature()
        {
            var paymentRequest = new CheckoutPageRequest
            {
                AdultContent = false,
                Amount = "5.50",
                PaymentInfo = "Test"
            };

            var data = JsonConvert.SerializeObject(paymentRequest, new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() });
            var signature = Signature.Sign(Encoding.UTF8.GetBytes(_config.EasypaySecret), Encoding.UTF8.GetBytes(data));
            Assert.AreEqual(Convert.ToBase64String(signature), "TCVlgDU0eX+ld3bNOQUrvnxLeEk=");
        }