Beispiel #1
0
        /// <summary>
        /// 支付网关入口
        /// </summary>
        /// <returns></returns>
        public JsonResult Geteway(PayRequest payRequest)
        {
            try
            {
                this._log.Info("pay-----------------------");
                this._log.Info("pay.request:{0}", JsonConvert.SerializeObject(payRequest));
                //1  请求参数校验,
                ValidateUtil.Validate(payRequest, null);
                // 2 client-app签名校验
                var checkSign = SignatureUtil.BuildMD5Sign(payRequest.toDic(), "CC73A89B-E4A4-4E84-9434-4619FE2B523A");
                SignatureUtil.CheckMD5Sign(payRequest.Sign, checkSign);

                // 执行请求
                var routeData    = _route.Find(payRequest.Method);
                var payAgent     = Activator.CreateInstance(routeData.AgentType);
                var resultObj    = routeData.AgentMethod.Invoke(payAgent, new object[] { payRequest });
                var dic          = resultObj.ToKeyValueDic();
                var resultString = JsonConvert.SerializeObject(resultObj);
                this._log.Info("pay.response:{0}", resultString);
                return(Json(new { success = true, data = dic }));
            }
            catch (Exception ex)
            {
                this._log.Info("pay.response.failed:{0}", ex.Message);
                return(Json(new { success = false, message = ex.Message }));
            }
        }
Beispiel #2
0
        public string Sign(PayRequest payRequest)
        {
            var sign = SignatureUtil.BuildMD5Sign(payRequest.toDic(), "123456");

            return(sign);
        }