Exemple #1
0
        /// <summary>
        /// 提交
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="Url"></param>
        /// <param name="entity"></param>
        /// <param name="certificate"></param>
        /// <returns></returns>
        internal static XElement Post <T>(string Url, T entity, CertificateEntity certificate = null) where T : Base
        {
            entity.sign = PaySign.AddSign(entity, JsApiConfig.Key);
            string formdata = Serializer.SerializerXml.Serializer(entity);

            return(Post(Url, formdata, certificate));
        }
Exemple #2
0
        public static Boolean WantongSign()
        {
            try
            {
                //签到
                Dictionary <string, ResultData> signResult = null;
                if (signResult == null)
                {
                    return(false);
                }
                //键盘安装工作秘钥
                ResultData _62 = signResult["62"];


                PaySign paySign = new PaySign();
                paySign.mechine_no  = ConfigurationManager.AppSettings["MechineNo"];
                paySign.terminal_no = SysConfigHelper.readerNode("ClientNo");
                paySign.shop_no     = SysConfigHelper.readerNode("ShopNo");
                paySign.sign_type   = "1";


                if (signResult["39"].value.Trim().Equals("00"))
                {
                    //获取44域中的密文密钥
                    string mackeyExpress = _62.value.Substring(_62.value.Length - 40, 40);

                    string pinKeyExpress = _62.value.Substring(0, 40);

                    bool ret = Sign(1, mackeyExpress, pinKeyExpress);

                    if (ret)
                    {
                        paySign.sign_result = "00";
                    }
                    else
                    {
                        paySign.sign_result = "222222";
                    }
                    TradeBLL.SendSignRecord(paySign);
                    return(ret);
                }
                else
                {
                    paySign.sign_result = signResult["39"].value;
                    TradeBLL.SendSignRecord(paySign);
                }


                return(false);
            }
            catch { return(false); }
        }
Exemple #3
0
        /// <summary>
        /// 发送拉卡拉万通签到记录
        /// </summary>
        /// <param name="paySign"></param>
        public static void SendSignRecord(PaySign paySign)
        {
            try
            {
                Dictionary <string, string> parameters = new Dictionary <string, string>();

                parameters.Add("paySign.mechine_no", paySign.mechine_no);
                parameters.Add("paySign.terminal_no", paySign.terminal_no);
                parameters.Add("paySign.shop_no", paySign.shop_no);

                parameters.Add("paySign.sign_type", paySign.sign_type);
                parameters.Add("paySign.sign_result", paySign.sign_result);
                string url        = SysConfigHelper.readerNode("lklwtSign");
                string jsonResult = HttpHelper.getHttp(url, parameters, null);
            }
            catch (Exception e)
            {
                log.Write("向后台发送拉卡拉万通签到结果时出错:" + e.Message);
            }
        }