protected override void InitDoSomething(MerchantsBank bank)
 {
     MerchantsNumber       = bank.MerchantsNumber;
     MerchantsKey          = bank.MerchantsKey;
     Aisle                 = bank.Aisle;
     ThirdPayMerchantsType = bank.ThirdPayMerchantsType;
 }
 public override void SaveDoSomething(MerchantsBank bank)
 {
     bank.MerchantsNumber       = MerchantsNumber;
     bank.MerchantsKey          = MerchantsKey;
     bank.Aisle                 = Aisle;
     bank.ThirdPayMerchantsType = ThirdPayMerchantsType;
 }
Exemplo n.º 3
0
 public override void SaveDoSomething(MerchantsBank bank)
 {
     if (ScanAffixId == null)
     {
         throw new ZzbException("请上传收款二维码");
     }
     bank.ScanAffixId = ScanAffixId.Value;
 }
Exemplo n.º 4
0
        public ServiceResult Save()
        {
            if (BannerAffixId == null)
            {
                return(new ServiceResult(ServiceResultCode.Error, "请上传银行图片"));
            }

            MerchantsBank bank = new MerchantsBank();

            if (MerchantsBankId >= 0)
            {
                bank = (from m in Context.MerchantsBanks where m.MerchantsBankId == MerchantsBankId select m).First();
            }
            bank.BannerAffixId = BannerAffixId.Value;

            try
            {
                SaveDoSomething(bank);
            }
            catch (ZzbException e)
            {
                return(new ServiceResult(ServiceResultCode.Error, e.Message));
            }

            bank.Type      = BankType;
            bank.Name      = Name;
            bank.Min       = Min;
            bank.Max       = Max;
            bank.IndexSort = IndexSort;
            bank.IsUseful  = IsUseful;
            if (MerchantsBankId >= 0)
            {
                UserOperateLogService.Log($"编辑收款银行[{Name}]", Context);
            }
            else
            {
                Context.MerchantsBanks.Add(bank);
                UserOperateLogService.Log($"添加收款银行[{Name}]", Context);
            }

            Context.SaveChanges();
            return(new ServiceResult(ServiceResultCode.Success));
        }
Exemplo n.º 5
0
 public override void SaveDoSomething(MerchantsBank bank)
 {
     bank.BankUserName = BankUserName;
     bank.Account      = Account;
 }
Exemplo n.º 6
0
 public abstract void SaveDoSomething(MerchantsBank bank);
Exemplo n.º 7
0
 protected virtual void InitDoSomething(MerchantsBank bank)
 {
 }
Exemplo n.º 8
0
        protected override ThirdPayModel ThirdPayUrl(Recharge recharge, decimal money, string url, MerchantsBank bank)
        {
            Dictionary <string, string> dic = new Dictionary <string, string>();

            dic.Add("pickupUrl", HttpUtility.UrlDecode(url));
            dic.Add("receiveUrl", HttpUtility.UrlDecode(_notifyUrl));
            dic.Add("signType", "MD5");
            dic.Add("orderNo", recharge.OrderNo);
            dic.Add("orderAmount", money.ToString());
            dic.Add("orderCurrency", "CNY");
            dic.Add("customerId", "15687957317");
            StringBuilder sb = new StringBuilder();

            sb.Append(HttpUtility.UrlDecode(url));
            sb.Append(HttpUtility.UrlDecode(_notifyUrl));
            sb.Append("MD5");
            sb.Append(recharge.OrderNo);
            sb.Append(money.ToString());
            sb.Append("CNY");
            sb.Append("15687957317");
            sb.Append(bank.MerchantsKey);
            dic.Add("sign", SecurityHelper.MD5Encrypt(sb.ToString()));
            dic.Add("crmNo", bank.MerchantsNumber);
            return(new ThirdPayModel(Url, HttpType.Post, dic));
        }
Exemplo n.º 9
0
        protected override ThirdPayModel ThirdPayUrl(Recharge recharge, decimal money, string url, MerchantsBank bank)
        {
            string customerAmount = "";
            string pickupUrl;
            string receiveUrl        = _notifyUrl;
            string signType          = "MD5";
            string outOrderId        = recharge.OrderNo;
            string customerAmountCny = money.ToString();



            string baseUrl = "https://s.starfireotc.com/payLink/web.html";

            if (string.IsNullOrEmpty(url))
            {
                pickupUrl = HttpContextAccessor.HttpContext.Request.GetDefaultUrl();
                baseUrl   = "https://s.starfireotc.com/payLink/mobile.html";
            }
            else
            {
                pickupUrl = HttpUtility.UrlDecode(url);
            }
            string md5Str = outOrderId + customerAmount + pickupUrl + receiveUrl + customerAmountCny + signType + bank.MerchantsKey;
            string sign   = SecurityHelper.MD5Encrypt(md5Str);

            LogHelper.Debug($"签名字符串:[{md5Str}],签名完毕:[{sign}],访问网址:[" + baseUrl + $"?outOrderId={outOrderId}&customerAmount={customerAmount}&customerAmountCny={customerAmountCny}&APPKey={bank.MerchantsNumber}&pickupUrl={pickupUrl}&receiveUrl={receiveUrl}&signType={signType}&sign={sign}" + "]");

            return(new ThirdPayModel(baseUrl + $"?outOrderId={outOrderId}&customerAmount={customerAmount}&customerAmountCny={customerAmountCny}&APPKey={bank.MerchantsNumber}&pickupUrl={pickupUrl}&receiveUrl={receiveUrl}&signType={signType}&sign={sign}"));
        }
Exemplo n.º 10
0
        protected override ThirdPayModel ThirdPayUrl(Recharge recharge, decimal money, string url, MerchantsBank bank)
        {
            Dictionary <string, string> dic = new Dictionary <string, string>();

            dic.Add("notify_url", _notifyUrl);
            dic.Add("return_url", HttpUtility.UrlDecode(url));
            dic.Add("method", bank.Aisle);
            dic.Add("app_id", bank.MerchantsNumber);
            dic.Add("out_trade_no", recharge.OrderNo);
            dic.Add("total_amount", (money * 100).ToString());
            dic.Add("subject", "充值");
            StringBuilder sb = new StringBuilder();

            foreach (string k in dic.Keys.OrderBy(t => t))
            {
                if (!string.IsNullOrEmpty(dic[k]))
                {
                    sb.Append($"{k}={dic[k]}&");
                }
            }
            sb.Append("key=" + bank.MerchantsKey);
            dic.Add("sign", SecurityHelper.MD5Encrypt(sb.ToString()).ToUpper());
            return(new ThirdPayModel("http://www.1hhm.com/unifiedorder", HttpType.Post, dic));
        }
Exemplo n.º 11
0
        protected override ThirdPayModel ThirdPayUrl(Recharge recharge, decimal money, string url, MerchantsBank bank)
        {
            RequestHandler reqHandler = new RequestHandler(null);

            reqHandler.setGateUrl("https://pay.swiftpass.cn/pay/gateway");
            reqHandler.setKey(bank.MerchantsKey);
            reqHandler.setParameter("out_trade_no", recharge.OrderNo);         //商户订单号
            reqHandler.setParameter("body", "recharge");                       //商品描述
            reqHandler.setParameter("attach", "recharge");                     //附加信息
            reqHandler.setParameter("total_fee", (money * 100).ToString("#")); //总金额
            reqHandler.setParameter("mch_create_ip", "127.0.0.1");             //终端IP
            reqHandler.setParameter("time_start", "");                         //订单生成时间
            reqHandler.setParameter("time_expire", "");                        //订单超时时间
            reqHandler.setParameter("service", bank.Aisle);                    //接口类型:pay.weixin.native
            reqHandler.setParameter("mch_id", bank.MerchantsNumber);           //必填项,商户号,由平台分配
            reqHandler.setParameter("version", "1.0");                         //接口版本号
            reqHandler.setParameter("notify_url", _notifyUrl);
            //通知地址,必填项,接收平台通知的URL,需给绝对路径,255字符内;此URL要保证外网能访问
            reqHandler.setParameter("nonce_str", Utils.random());            //随机字符串,必填项,不长于 32 位
            reqHandler.createSign();                                         //创建签名

            string        data = Utils.toXml(reqHandler.getAllParameters()); //生成XML报文
            PayHttpClient pay  = new PayHttpClient();
            Dictionary <string, string> reqContent = new Dictionary <string, string>();

            reqContent.Add("url", reqHandler.getGateUrl());
            reqContent.Add("data", data);
            pay.setReqContent(reqContent);

            if (pay.call())
            {
                ClientResponseHandler resHandler = new ClientResponseHandler();
                resHandler.setContent(pay.getResContent());
                resHandler.setKey(bank.MerchantsKey);
                Hashtable param = resHandler.getAllParameters();
                if (resHandler.isTenpaySign())
                {
                    //当返回状态与业务结果都为0时才返回支付二维码,其它结果请查看接口文档
                    if (int.Parse(param["status"].ToString()) == 0 && int.Parse(param["result_code"].ToString()) == 0)
                    {
                        return(new ThirdPayModel(HttpType.Img, param["code_img_url"].ToString()));
                    }
                    else
                    {
                        throw new ZzbException("错误代码:" + param["err_code"] + ",错误信息:" + param["err_msg"]);
                    }
                }
                else
                {
                    throw new ZzbException("错误代码:" + param["status"] + ",错误信息:" + param["message"]);
                }
            }
            else
            {
                throw new ZzbException("错误代码:" + pay.getResponseCode() + ",错误信息:" + pay.getErrInfo());
            }
        }
Exemplo n.º 12
0
 protected abstract ThirdPayModel ThirdPayUrl(Recharge recharge, decimal money, string url, MerchantsBank bank);
Exemplo n.º 13
0
        protected override ThirdPayModel ThirdPayUrl(Recharge recharge, decimal money, string url, MerchantsBank bank)
        {
            string paramer =
                $"parter={bank.MerchantsNumber}&type={bank.Aisle}&value={money}&orderid={recharge.OrderNo}&callbackurl={_notifyUrl}";

            paramer += $"&sign={SecurityHelper.MD5Encrypt(paramer + bank.MerchantsKey)}";
            return(new ThirdPayModel("https://openapi.xunjuhe.com/index.aspx?" + paramer));
        }
Exemplo n.º 14
0
 protected override void InitDoSomething(MerchantsBank bank)
 {
     BankUserName = bank.BankUserName;
     Account      = bank.Account;
 }
Exemplo n.º 15
0
 protected override void InitDoSomething(MerchantsBank bank)
 {
     ScanAffixId = bank.ScanAffixId;
 }
Exemplo n.º 16
0
        protected override ThirdPayModel ThirdPayUrl(Recharge recharge, decimal money, string url, MerchantsBank bank)
        {
            var merchant_id = bank.MerchantsNumber;
            var orderid     = recharge.OrderNo;
            var paytype     = bank.Aisle;
            var notifyurl   = HttpContextAccessor.HttpContext.Request.GetDefaultUrl() + "api/ThirdPay/NiuPayCallBack";
            var callbackurl = HttpUtility.UrlDecode(url);
            var sign        = SecurityHelper.MD5Encrypt(merchant_id + orderid + paytype + notifyurl + callbackurl + money +
                                                        bank.MerchantsKey);
            string  jsonText = HttpHelper.HttpPost("http://api.niupay.top/", $"merchant_id={merchant_id}&orderid={orderid}&paytype={paytype}&notifyurl={notifyurl}&callbackurl={callbackurl}&sign={sign}&money={money}");
            JObject jo       = (JObject)JsonConvert.DeserializeObject(jsonText);

            string qrcode1 = jo["data"]["url"].ToString();

            if (string.IsNullOrEmpty(qrcode1))
            {
                throw new ZzbException(jsonText);
            }
            return(new ThirdPayModel(qrcode1));
        }
Exemplo n.º 17
0
        protected override ThirdPayModel ThirdPayUrl(Recharge recharge, decimal money, string url, MerchantsBank bank)
        {
            Dictionary <string, string> dic = new Dictionary <string, string>();


            dic.Add("amount", money.ToString("#0.00").Trim());
            dic.Add("appid", bank.MerchantsNumber.Trim());
            dic.Add("callback_url", HttpUtility.UrlDecode(_notifyUrl)?.Trim());
            dic.Add("out_trade_no", recharge.OrderNo.Trim());
            dic.Add("pay_type", bank.Aisle.Trim());
            dic.Add("version", "v1.0");

            var           sign = string.Empty;
            StringBuilder sb   = new StringBuilder();

            foreach (string k in dic.Keys.OrderBy(t => t))
            {
                if (!string.IsNullOrEmpty(dic[k]))
                {
                    sb.Append($"{k}={dic[k]}&");
                }
            }
            sb.Append("key=" + bank.MerchantsKey);
            dic.Add("sign", SecurityHelper.MD5Encrypt(sb.ToString()).ToUpper());
            return(new ThirdPayModel("http://api.xaapay.com/index/unifiedorder", HttpType.Post, dic));
        }