• 微信小微商户申请入驻


     public static string ApplyEnter(string  Data) {
                if (string.IsNullOrWhiteSpace(Data)) return ProtocolManager.GetPackage(PackageReturnCode.Fail, "属性不能为空!");
                else {
                    //遍历weixin对象
                    ViewWeixinApplyment weixinApplyment = JsonConvert.DeserializeObject<ViewWeixinApplyment>(Data);
                    weixinApplyment.version = "3.0";
                    weixinApplyment.cert_sn = weixinConfig.serial_no;
                    weixinApplyment.mch_id = weixinConfig.MchID;
                    weixinApplyment.nonce_str = Guid.NewGuid().ToString().Replace("-", "");
                    weixinApplyment.sign_type = "HMAC-SHA256";
                    weixinApplyment.sign = string.Empty;
                    weixinApplyment.id_card_valid_time = HttpUtility.UrlDecode(weixinApplyment.id_card_valid_time);
                    //业务申请编号
                    weixinApplyment.business_code = Guid.NewGuid().ToString().Replace("-", "");
                    ViewWeixinApplyment cloneweixinApplyment = weixinApplyment;//存入数据库对象 不加密
                   //检查参数
                    if (!WeixinHhelper.AccountNumberIsSupport(weixinApplyment.account_number)) return ProtocolManager.GetPackage(PackageReturnCode.Fail, "银行卡不符合规范!");
    
                    //铭感信息加密
                    weixinApplyment.id_card_name = WeixinHhelper.InfoEncryption( weixinApplyment.id_card_name);
                    weixinApplyment.id_card_number = WeixinHhelper.InfoEncryption(weixinApplyment.id_card_number);
                    weixinApplyment.account_name = WeixinHhelper.InfoEncryption(weixinApplyment.account_name);
                    weixinApplyment.account_number = WeixinHhelper.InfoEncryption(weixinApplyment.account_number);
                    weixinApplyment.contact = WeixinHhelper.InfoEncryption(weixinApplyment.contact);
                    weixinApplyment.contact_phone = WeixinHhelper.InfoEncryption(weixinApplyment.contact_phone);
                    weixinApplyment.contact_email = string.IsNullOrWhiteSpace(weixinApplyment.contact_email)?"" : WeixinHhelper.InfoEncryption(weixinApplyment.contact_email);
                    Type type = weixinApplyment.GetType();
                     PropertyInfo [] propertyInfos=  type.GetProperties();
                    WxPayDataToXiaoWei wxPayDataToXiaoWei = new WxPayDataToXiaoWei();
                    WeixinApplyment _DbWeixinApplyment = new WeixinApplyment();
                   
                    foreach (PropertyInfo item in propertyInfos)
                    {
                        if (item.Name!="sign")wxPayDataToXiaoWei.SetValue(item.Name,item.GetValue(weixinApplyment));
                    }
                    wxPayDataToXiaoWei.SetValue("sign", wxPayDataToXiaoWei.MakeSign(weixinConfig.Key));
                    string xml = wxPayDataToXiaoWei.ToXml();
    
                    //给db赋值
            
                    Type dbWeixinApplymentType = cloneweixinApplyment.GetType();
                    PropertyInfo[] DbpropertyInfos = dbWeixinApplymentType.GetProperties();
                    foreach (PropertyInfo item in DbpropertyInfos)
                    {
                        //给db赋值
                        _DbWeixinApplyment.GetType().GetProperty(item.Name).SetValue(_DbWeixinApplyment, item.GetValue(cloneweixinApplyment));
                    }
    
                    string url = "https://api.mch.weixin.qq.com/applyment/micro/submit";
                    int timeOut = 10;
                    string response = WeixinXiaoweiService.Post(xml, url, true,true, timeOut);
                    _DbWeixinApplyment.sign = wxPayDataToXiaoWei.GetValue("sign").ToString();
    
                    wxPayDataToXiaoWei.FromXml(response);
                    if (wxPayDataToXiaoWei.GetValue("return_code").ToString() == "SUCCESS"&& wxPayDataToXiaoWei.GetValue("result_code").ToString() == "SUCCESS")
                    {
                        //申请成功
                        var applyment_id = wxPayDataToXiaoWei.GetValue("applyment_id").ToString();
                        _DbWeixinApplyment.serial_no = weixinConfig.serial_no;
                        _DbWeixinApplyment.encrypt_certificate = JsonConvert.SerializeObject(weixinConfig.encrypt_certificate);
                        _DbWeixinApplyment.applyment_id = applyment_id;
                        _DbWeixinApplyment.CreateTime = DateTime.Now;
                        if (!ConfigDbTable.DbWeixinApplyment.DbBase.Insert<WeixinApplyment>(_DbWeixinApplyment))
                            return ProtocolManager.GetPackage(Resource.CodeFail, "数据添加失败!");
    
                    }
    
                    return ProtocolManager.GetPackage(PackageReturnCode.OK, response);
    
                }
    
            }
    
    
  • 相关阅读:
    什么是Spring的IOC和DI
    2021年ACP考试复习笔记-云服务器ECS知识点及练习
    个人站点搭建完成啦,欢迎前来参观~
    准备一台标准服务器(模版机)!
    正则表达式几个常用的特殊字符!
    Shell的几个重点工具
    Shell入门,关于语法的一些简单玩意儿
    Mysql for Linux的安装以及远程访问
    在学到MySQL索引时,涉及到了B树和B+树.聊一聊
    Linux的一些问题的处理(重要目录,/配置静态IP/主机名/hosts映射)
  • 原文地址:https://www.cnblogs.com/HiLzd/p/10444856.html
Copyright © 2020-2023  润新知