Example #1
0
        /// <summary>
        /// 支付远程调用
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public static TenpayResponseBase <TenpayPay> TradePay(string payNo, TradePayRequest request, AccountEntity accountEntity)
        {
            TenpayPay tenpayRequestModel = new TenpayPay();
            TenpayResponseBase <TenpayPay> tenpayResponseModel = new TenpayResponseBase <TenpayPay>();

            return(tenpayResponseModel);
        }
Example #2
0
        public TradePayResponse TradePay(TradePayRequest request)
        {
            TenpayResponseBase <TenpayPay> tenpayResponseModel = new TenpayResponseBase <TenpayPay>();
            TradePayResponse response = new TradePayResponse();

            return(response);
        }
Example #3
0
        /// <summary>
        /// 纯网关接口
        /// </summary>
        /// <returns></returns>
        public static TenpayResponseBase <TenpayPay> TenTradePay(TenpayPay model)
        {
            string status  = "F";
            string message = string.Empty;
            TenpayResponseBase <TenpayPay> resultmodel = new TenpayResponseBase <TenpayPay>();
            TenpayPayRequestHandler        reqHandler  = new TenpayPayRequestHandler(System.Web.HttpContext.Current);

            try
            {
                reqHandler.init();
                reqHandler.setKey(model.Key);
                reqHandler.setParameter("cmdno", TenpayCmdNo.Trade_Pay);
                reqHandler.setParameter("date", model.Date);
                reqHandler.setParameter("bank_type", model.Bank_Type);
                reqHandler.setParameter("desc", model.Desc);
                reqHandler.setParameter("bargainor_id", model.Bargainor_Id);
                reqHandler.setParameter("transaction_id", model.Transaction_Id);
                reqHandler.setParameter("sp_billno", model.Sp_BillNo);
                reqHandler.setParameter("total_fee", Math.Round(Convert.ToDouble(model.Total_Fee) * 100, 0).ToString());
                reqHandler.setParameter("fee_type", model.Fee_Type);
                reqHandler.setParameter("return_url", TenpayCommon.Pay_Return_url);
                reqHandler.setParameter("attach", model.Attach);
                reqHandler.setParameter("spbill_create_ip", model.Spbill_Create_Ip);
                reqHandler.setParameter("cs", TenpayConfigHelper.Input_charset);
                reqHandler.setParameter("version", TenpayConfigHelper.Version);

                if (!string.IsNullOrEmpty(model.Bus_Type))
                {
                    reqHandler.setParameter("bus_type", model.Bus_Type);
                }
                if (!string.IsNullOrEmpty(model.Bus_Args))
                {
                    reqHandler.setParameter("bus_args", model.Bus_Args);
                }
                if (!string.IsNullOrEmpty(model.Bus_Desc))
                {
                    reqHandler.setParameter("bus_desc", model.Bus_Desc);
                }

                model.RequestUrl = reqHandler.getRequestURL();
                string sPara = reqHandler.getDebugInfo();
                if (!string.IsNullOrEmpty(model.RequestUrl))
                {
                    status  = "T";
                    message = "";
                }
            }
            catch (Exception ex)
            {
                message = ex.ToString();
            }
            resultmodel.Status  = status;
            resultmodel.Message = message;
            resultmodel.Data    = model;
            return(resultmodel);
        }
Example #4
0
        /// <summary>
        /// 分润退款远程调用
        /// </summary>
        /// <param name="payNo"></param>
        /// <param name="request"></param>
        /// <param name="accountEntity"></param>
        /// <returns></returns>
        public static TenpayResponseBase <TenpayRefund> TradeRoyaltyRefund(string payNo, TradeRefundRequest request, AccountEntity accountEntity)
        {
            TenpayResponseBase <TenpayRefund> tenpayResponseModel = new TenpayResponseBase <TenpayRefund>();

            return(tenpayResponseModel);
        }
Example #5
0
        /// <summary>
        /// 分润接口
        /// </summary>
        /// <returns></returns>
        public static TenpayResponseBase <TenpayRoyalty> TenTradeRoyalty(TenpayRoyalty model)
        {
            string status  = "F";
            string message = string.Empty;
            TenpayResponseBase <TenpayRoyalty> resultmodel = new TenpayResponseBase <TenpayRoyalty>();
            TenpayBaseSplitRequestHandler      reqHandler  = new TenpayBaseSplitRequestHandler(System.Web.HttpContext.Current); //创建请求对象
            TenpayHttpHelper httpClient = new TenpayHttpHelper();                                                               //通信对象
            TenpayScriptClientResponseHandler resHandler = new TenpayScriptClientResponseHandler();                             //应答对象

            try
            {
                reqHandler.init();
                reqHandler.setKey(model.Key);
                reqHandler.setGateUrl(TenpayConfigHelper.Split_Gateway);
                reqHandler.setParameter("cmdno", TenpayCmdNo.Trade_Royalty);
                reqHandler.setParameter("bargainor_id", model.Bargainor_Id);
                reqHandler.setParameter("transaction_id", model.Transaction_Id);
                reqHandler.setParameter("sp_billno", model.Sp_BillNo);
                reqHandler.setParameter("total_fee", Math.Round(Convert.ToDouble(model.Total_Fee) * 100, 0).ToString());
                reqHandler.setParameter("fee_type", model.Fee_Type);
                reqHandler.setParameter("return_url", TenpayCommon.Royalty_Return_url);
                reqHandler.setParameter("bus_type", model.Bus_Type);
                reqHandler.setParameter("bus_args", model.Bus_Args);
                reqHandler.setParameter("bus_desc", model.Bus_Desc);
                reqHandler.setParameter("version", TenpayConfigHelper.Version);

                //证书路径
                string certPath = model.CertPath;
                //证书密码
                string certPassword = model.CertPassword;

                httpClient.setCertInfo(certPath, certPassword);
                model.RequestUrl = reqHandler.getRequestURL();
                string sPara = reqHandler.getDebugInfo();
                sPara += "&RequestUrl=" + model.RequestUrl;
                //设置请求内容
                httpClient.setReqContent(model.RequestUrl);
                //设置超时
                httpClient.setTimeOut(TenpayConfigHelper.Timeout);
                //后台调用
                if (httpClient.call())
                {
                    //获取结果
                    resultmodel.RequestResult = httpClient.getResContent();
                    resHandler.setKey(model.Key);
                    //设置结果参数
                    resHandler.setContent(resultmodel.RequestResult);
                    //判断签名及结果
                    if (resHandler.isTenpaySign() && resHandler.getParameter("pay_result") == "0")
                    {
                        status = "T";
                    }
                    else
                    {
                        message = resHandler.getParameter("pay_result") + "," + resHandler.getParameter("pay_info");
                    }
                }
                else
                {
                    message = httpClient.getErrInfo() + httpClient.getResponseCode();
                }
            }
            catch (Exception ex)
            {
                message = ex.ToString();
            }
            resultmodel.Status  = status;
            resultmodel.Message = message;
            resultmodel.Data    = model;
            return(resultmodel);
        }