예제 #1
0
 /**
  * 向日志写入出错信息
  * @param className 类名
  * @param content 写入内容
  */
 public static void Error(string className, string content)
 {
     if (BlinkPayCardConfig.GetConfig().GetLogLevel() >= 1)
     {
         WriteLog("ERROR", className, content);
     }
 }
        /**
         * @生成签名,详见签名生成算法
         * @return 签名, sign字段不参加签名
         */
        public string MakeSign(string signType)
        {
            //转url格式
            string str = ToUrl();

            //在string后加入API KEY
            str += "&key=" + BlinkPayCardConfig.GetConfig().GetAppKey();
            if (signType == SIGN_TYPE_MD5)
            {
                var md5 = MD5.Create();
                var bs  = md5.ComputeHash(Encoding.UTF8.GetBytes(str));
                var sb  = new StringBuilder();
                foreach (byte b in bs)
                {
                    sb.Append(b.ToString("x2"));
                }
                //所有字符转为大写
                return(sb.ToString().ToUpper());
            }
            else if (signType == SIGN_TYPE_HMAC_SHA256)
            {
                return(CalcHMACSHA256Hash(str, BlinkPayCardConfig.GetConfig().GetAppKey()));
            }
            else
            {
                throw new BlinkPayCardException("sign_type 不合法");
            }
        }
예제 #3
0
 /**
  * 向日志写入运行时信息
  * @param className 类名
  * @param content 写入内容
  */
 public static void Info(string className, string content)
 {
     if (BlinkPayCardConfig.GetConfig().GetLogLevel() >= 2)
     {
         WriteLog("INFO", className, content);
     }
 }
예제 #4
0
 /**
  * 向日志写入调试信息
  * @param className 类名
  * @param content 写入内容
  */
 public static void Debug(string className, string content)
 {
     if (BlinkPayCardConfig.GetConfig().GetLogLevel() >= 3)
     {
         WriteLog("DEBUG", className, content);
     }
 }
예제 #5
0
        /**
         *
         * 充值下单
         * 该接口用于平台方从BlinkPayCard系统获取充值预下单号。
         * 平台方通过Post请求调用该接口,从返回结果中解析过预下单号(pre_order)。
         * @param BlinkPayCardData inputObj 提交给查询订单API的参数
         * @throws BlinkPayCardException
         * @return 预下单号
         */
        public static string PreOrder(BlinkPayCardData inputObj)
        {
            string url = "https://pay.api.blinkpaycard.com/pay/preOrder";

            inputObj.SetValue("app_id", BlinkPayCardConfig.GetConfig().GetAppID());
            inputObj.SetValue("mch_id", BlinkPayCardConfig.GetConfig().GetMchID());
            inputObj.SetValue("osu_number", GenerateNonceStr());
            inputObj.SetValue("amount", "100");
            inputObj.SetValue("currency", "CNY");
            inputObj.SetValue("sign_type", BlinkPayCardData.SIGN_TYPE_MD5);
            inputObj.SetValue("sign", inputObj.MakeSign(BlinkPayCardData.SIGN_TYPE_MD5));//签名


            string json = inputObj.ToJson();

            Console.WriteLine("PreOrder request : " + json);
            string response = HttpService.Post(json, url);//调用HTTP通信接口提交数据

            Console.WriteLine("PreOrder response : " + response);

            JsonData resultObj = JsonMapper.ToObject(response);
            string   pre_order = (string)resultObj["result"]["pre_order"];

            //JsonData preOrderObj = JsonMapper.ToObject(response);
            //string pre_order = (string)preOrderObj["pre_order"];

            return(pre_order);
        }
예제 #6
0
        /**
         *
         * 查询订单
         * @param BlinkPayCardData inputObj 提交给查询订单API的参数
         * @throws BlinkPayCardException
         * @return 成功时返回订单查询结果,其他抛异常
         */
        public static BlinkPayCardData OrderQuery(BlinkPayCardData inputObj, string pre_order)
        {
            string url = "https://pay.api.blinkpaycard.com/pay/queryResult";

            inputObj.SetValue("app_id", BlinkPayCardConfig.GetConfig().GetAppID());
            inputObj.SetValue("mch_id", BlinkPayCardConfig.GetConfig().GetMchID());
            inputObj.SetValue("pre_order", pre_order);
            inputObj.SetValue("sign_type", BlinkPayCardData.SIGN_TYPE_MD5);
            inputObj.SetValue("sign", inputObj.MakeSign(BlinkPayCardData.SIGN_TYPE_MD5));//签名


            string json = inputObj.ToJson();

            Console.WriteLine("OrderQuery request : " + json);
            string response = HttpService.Post(json, url);//调用HTTP通信接口提交数据

            Console.WriteLine("OrderQuery response : " + response);

            BlinkPayCardData result = new BlinkPayCardData();

            return(result);
        }
예제 #7
0
        /**
         * 网页充值
         *合作平台⽅方系统根据充值下单接⼝口获取的预下单号(pre_order)与BlinkPay Card系统分配的商户 ID(mch_id)获取BlinkPay Card⽹网⻚页充值⻚页⾯面
         * @param mchId
         * @param preOrder 预下单号
         * @return
         * @throws Exception
         */
        private static String WebPay(String preOrder)
        {
            string mch_id = BlinkPayCardConfig.GetConfig().GetMchID();

            return("http://pay.blinkpaycard.com/?mch_id=" + mch_id + "&pre_order=" + preOrder);
        }