Exemplo n.º 1
0
        public void GetJsApiTicket()
        {
            JsApiTicketService jsApiTicketService = new JsApiTicketService();
            string             errorMessage;
            var result = jsApiTicketService.GetJsApiTicket(1, out errorMessage);

            Assert.IsTrue(result != null && !result.IsExpired());
        }
Exemplo n.º 2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                //读取支付参数
                var payData = Request.QueryString["payData"];
                var ticket  = Request.QueryString["ticket"];
                if (string.IsNullOrEmpty(payData) || string.IsNullOrEmpty(ticket))
                {
                    Response.Clear();
                    Response.Write("不完整的支付参数");
                    return;
                }

                //解析支付参数
                payData = EncryptionManager.AESDecrypt(payData, ticket);
                var payDataModel = JSONHelper.Deserialize <UnifiedOrderInfo>(payData);
                if (payDataModel == null)
                {
                    Response.Clear();
                    Response.Write("解析支付参数为空");
                    return;
                }

                //判断是否存在相同订单号
                //TODO:判断下单逻辑

                //统一下单
                string payErrorMessage;
                JsApiParameter = new UnifiedOrderService().UnifiedOrder(payDataModel, out payErrorMessage);
                if (JsApiParameter == null)
                {
                    Response.Clear();
                    Response.Write(payErrorMessage);
                    return;
                }

                //注册支付脚本
                var    jsApiTicketService = new JsApiTicketService();
                string jsApiTicketMessage;
                var    jsApiTicket = jsApiTicketService.GetJsApiTicket(payDataModel.AppId, out jsApiTicketMessage);
                if (jsApiTicket == null)
                {
                    Response.Clear();
                    Response.Write(jsApiTicketMessage);
                    return;
                }

                JsApiNonceStr  = JSSDKHelper.GetNoncestr();
                JsApiTimeStamp = JSSDKHelper.GetTimestamp();
                JsApiSingature = new JSSDKHelper().GetSignature(jsApiTicket.Ticket, JsApiNonceStr, JsApiTimeStamp, Request.Url.ToString());

                //支付初始化完成
                InitPayComplete = 1;
            }
            catch (Exception exception)
            {
                Response.Clear();
                Response.Write(exception.Message);
            }
        }