public void TestCreateRetailOrder()
        {
            OrderCreateInfo orderCreateInfo = new OrderCreateInfo();

            orderCreateInfo.MchOrderId = String.Format("ORDER{0}", DateTime.Now.Ticks);
            orderCreateInfo.Title      = "付款码下单订单";
            orderCreateInfo.Price      = 12300;
            orderCreateInfo.Expire     = "10m";

            string authCode = "284896288107264920";

            string deviceId = "111";

            ChannelOrder channelOrder = geekChannelOrderFactory.RetailOrder();
            OrderInfo    orderInfo    = channelOrder.Create(orderCreateInfo, authCode, deviceId);

            Assert.NotEmpty(orderInfo.MchSerialNo);
            Assert.NotEmpty(orderInfo.OrderId);
            Assert.Equal(orderCreateInfo.MchOrderId, orderInfo.MchOrderId);
            Assert.Equal(orderCreateInfo.Price, orderInfo.Price);
            Assert.Equal(0, orderInfo.MchDiscount);
            Assert.Equal(0, orderInfo.PlatformDiscount);
            Assert.True(orderInfo.TotalAmount > 0);
            Assert.True(orderInfo.PayAmount > 0);
            Assert.True(orderInfo.ToSettleAmount > 0);
            Assert.NotEmpty(orderInfo.Channel);
            Assert.NotEmpty(orderInfo.CreateTime);
            Assert.NotEmpty(orderInfo.PayTime);
            Assert.NotEmpty(orderInfo.OrderStatus);

            Console.WriteLine(JsonConvert.SerializeObject(orderInfo));
        }
Пример #2
0
        public ToPayOrderInfo Create(OrderCreateInfo orderCreateInfo, string deviceId)
        {
            JObject requestContent = GenerateRequestContent(orderCreateInfo, deviceId);

            string url = uriComponent.RetailQROrderUri().Expand(appId, orderCreateInfo.MchOrderId).Sign(new JObject(requestContent)).ToUriString();

            JObject responseContent = geekEndPoint.Put(url, requestContent);

            return(responseParser.Parse(responseContent));
        }
        public ToPayNativeOrderInfo Create(OrderCreateInfo orderCreateInfo, string channel)
        {
            JObject requestBody = GenerateRequestContent(orderCreateInfo, channel);

            string url = uriComponents.NativeQROrderUri().Expand(appId, orderCreateInfo.MchOrderId).Sign(new JObject(requestBody)).ToUriString();

            JObject contentData = geekEndPoint.Put(url, requestBody);

            return(responseParser.Parse(contentData));
        }
Пример #4
0
        public ToPayOrderInfo Create(OrderCreateInfo orderCreateInfo, bool direct)
        {
            JObject requestBody = GenerateRequestContent(orderCreateInfo, direct);

            string url = uriComponents.QROrderUri().Expand(appId, orderCreateInfo.MchOrderId).Sign(new JObject(requestBody)).ToUriString();

            JObject responseData = geekEndPoint.Put(url, requestBody);

            return(responseParser.Parse(responseData));
        }
Пример #5
0
        private JObject GenerateRequestContent(OrderCreateInfo orderCreateInfo, string deviceId)
        {
            JObject requestContent = new JObject();

            requestContent.Add(new JProperty("title", orderCreateInfo.Title));
            requestContent.Add(new JProperty("price", orderCreateInfo.Price));
            requestContent.Add(new JProperty("expire", orderCreateInfo.Expire));
            requestContent.Add(new JProperty("device_id", deviceId));
            requestContent.Add(new JProperty("notify_url", notifyUrl));

            return(requestContent);
        }
        private JObject GenerateRequestContent(OrderCreateInfo orderCreateInfo, string channel)
        {
            JObject requestContent = new JObject();

            requestContent.Add(new JProperty("title", orderCreateInfo.Title));
            requestContent.Add(new JProperty("price", orderCreateInfo.Price));
            requestContent.Add(new JProperty("expire", orderCreateInfo.Expire));
            requestContent.Add(new JProperty("channel", channel));
            requestContent.Add(new JProperty("return_url", returnUrl));
            requestContent.Add(new JProperty("notify_url", notifyUrl));

            return(requestContent);
        }
        private OrderInfo CreateOrder()
        {
            GeekChannelOrderFactory geekChannelOrderFactory = new GeekChannelOrderFactory();
            OrderCreateInfo         orderCreateInfo         = new OrderCreateInfo();

            orderCreateInfo.MchOrderId = string.Format("ORDER{0}", DateTime.Now.Ticks);
            orderCreateInfo.Title      = "付款码下单订单";
            orderCreateInfo.Price      = 12300;
            orderCreateInfo.Expire     = "10m";

            string authCode = "284896288107264920";

            string deviceId = "111";

            ChannelOrder channelOrder = geekChannelOrderFactory.RetailOrder();

            return(channelOrder.Create(orderCreateInfo, authCode, deviceId));
        }
        public void TestCreateRetailOrder()
        {
            OrderCreateInfo orderCreateInfo = new OrderCreateInfo();

            orderCreateInfo.MchOrderId = String.Format("ORDER{0}", DateTime.Now.Ticks);
            orderCreateInfo.Title      = "聚合订单码下单订单";
            orderCreateInfo.Price      = 12300;
            orderCreateInfo.Expire     = "10m";

            String deviceId = "111";

            ToPayChannelOrder channelOrder = geekChannelOrderFactory.RetailQROrder();
            ToPayOrderInfo    orderInfo    = channelOrder.Create(orderCreateInfo, deviceId);

            Assert.NotEmpty(orderInfo.MchSerialNo);
            Assert.NotEmpty(orderInfo.OrderId);
            Assert.Equal(orderCreateInfo.MchOrderId, orderInfo.MchOrderId);
            Assert.NotEmpty(orderInfo.PayUrl);
            Assert.NotEmpty(orderInfo.ResultCode);
            Assert.NotEmpty(orderInfo.GateWay);

            Console.WriteLine(JsonConvert.SerializeObject(orderInfo));
        }
        public void TestCreateRetailOrder()
        {
            OrderCreateInfo orderCreateInfo = new OrderCreateInfo();

            orderCreateInfo.MchOrderId = String.Format("ORDER{0}", DateTime.Now.Ticks);
            orderCreateInfo.Title      = "原生二维码下单订单";
            orderCreateInfo.Price      = 12300;
            orderCreateInfo.Expire     = "10m";

            String channel = "wechat";

            ToPayNativeChannelOrder channelOrder = geekChannelOrderFactory.NativeQROrder();
            ToPayNativeOrderInfo    orderInfo    = channelOrder.Create(orderCreateInfo, channel);

            Assert.NotEmpty(orderInfo.MchSerialNo);
            Assert.NotEmpty(orderInfo.OrderId);
            Assert.Equal(orderCreateInfo.MchOrderId, orderInfo.MchOrderId);
            Assert.NotEmpty(orderInfo.PayUrl);
            Assert.NotEmpty(orderInfo.ResultCode);
            Assert.NotEmpty(orderInfo.QRCode);
            Assert.NotEmpty(orderInfo.CodeImgUrl);

            Console.WriteLine(JsonConvert.SerializeObject(orderInfo));
        }
        public void Test()
        {
            OrderCreateInfo orderCreateInfo = new OrderCreateInfo();

            orderCreateInfo.MchOrderId = String.Format("ORDER{0}", DateTime.Now.Ticks);
            orderCreateInfo.Title      = "聚合下单订单";
            orderCreateInfo.Price      = 12300;
            orderCreateInfo.Expire     = "10m";

            bool direct = false;

            GeekChannelOrderFactory    geekChannelOrderFactory = new GeekChannelOrderFactory();
            ToPayAggregateChannelOrder channelOrder            = geekChannelOrderFactory.QROrder();
            ToPayOrderInfo             orderInfo = channelOrder.Create(orderCreateInfo, direct);

            Assert.NotEmpty(orderInfo.MchSerialNo);
            Assert.NotEmpty(orderInfo.OrderId);
            Assert.Equal(orderCreateInfo.MchOrderId, orderInfo.MchOrderId);
            Assert.NotEmpty(orderInfo.PayUrl);
            Assert.NotEmpty(orderInfo.ResultCode);
            Assert.NotEmpty(orderInfo.GateWay);

            Console.WriteLine(JsonConvert.SerializeObject(orderInfo));
        }