/// <summary>
        /// 验签
        /// </summary>
        /// <param name="inputPara"></param>
        /// <returns></returns>
        private bool Verify(SortedDictionary <string, string> inputPara)
        {
            ZFBResDto model = new ZFBResDto();

            Dictionary <string, string> sPara = new Dictionary <string, string>();
            Boolean verifyResult = AlipaySignature.RSACheckV1(inputPara, alipay_public_key, charset, sign_type, false);

            return(verifyResult);
        }
        public ApiResult GetZfbInfo(int money)
        {
            var zFBResDto = new ZFBResDto();

            zFBResDto.OrderId = GetRandom();

            if (_service.AddComeOutRecord(zFBResDto.OrderId, money, 2, (int)this.UserInfo.UserId))
            {
                notifyUrl = ApiHost + "/api/Recharge/AsyncPay";
                LogHelper.Info("notifyUrl=" + notifyUrl);
                IAopClient client = new DefaultAopClient(apiUrl, app_id, merchant_private_key, format, version, sign_type, alipay_public_key, charset, false);
                //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称如:alipay.trade.app.pay
                AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest();
                //SDK已经封装掉了公共参数,这里只需要传入业务参数。以下方法为sdk的model入参方式(model和biz_content同时存在的情况下取biz_content)。
                AlipayTradeAppPayModel model = new AlipayTradeAppPayModel();
                model.Body           = "金币充值";
                model.Subject        = "金币充值";
                model.TotalAmount    = money.ToString();
                model.ProductCode    = "QUICK_MSECURITY_PAY";
                model.OutTradeNo     = zFBResDto.OrderId;
                model.TimeoutExpress = "5m";
                request.SetBizModel(model);
                request.SetNotifyUrl(notifyUrl);
                //这里和普通的接口调用不同,使用的是sdkExecute
                AlipayTradeAppPayResponse response = client.SdkExecute(request);
                //页面输出的response.Body就是orderString 可以直接给客户端请求,无需再做处理。
                zFBResDto.ResponseBody = response.Body;
                //HttpUtility.HtmlEncode是为了输出到页面时防止被浏览器将关键参数html转义,实际打印到日志以及http传输不会有这个问题

                var result = new ApiResult <ZFBResDto>();
                result.Data = zFBResDto;
                return(result);
            }
            else
            {
                return(new ApiResult(10000, "生成订单失败"));
            }
        }