微信小微商戶申請入駐


 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);

            }

        }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM