小微商户申请php,微信小微商户申请入驻 - osc_r8q2esik的个人空间 - OSCHINA - 中文开源技术交流社区...
public static string ApplyEnter(string Data) {
if (string.IsNullOrWhiteSpace(Data)) return ProtocolManager.GetPackage(PackageReturnCode.Fail, "屬性不能為空!");
else {
//遍歷weixin對象
ViewWeixinApplyment weixinApplyment = JsonConvert.DeserializeObject(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);
//業(yè)務(wù)申請編號
weixinApplyment.business_code = Guid.NewGuid().ToString().Replace("-", "");
ViewWeixinApplyment cloneweixinApplyment = weixinApplyment;//存入數(shù)據(jù)庫對象 不加密
//檢查參數(shù)
if (!WeixinHhelper.AccountNumberIsSupport(weixinApplyment.account_number)) return ProtocolManager.GetPackage(PackageReturnCode.Fail, "銀行卡不符合規(guī)范!");
//銘感信息加密
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(_DbWeixinApplyment))
return ProtocolManager.GetPackage(Resource.CodeFail, "數(shù)據(jù)添加失敗!");
}
return ProtocolManager.GetPackage(PackageReturnCode.OK, response);
}
}
總結(jié)
以上是生活随笔為你收集整理的小微商户申请php,微信小微商户申请入驻 - osc_r8q2esik的个人空间 - OSCHINA - 中文开源技术交流社区...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言高效编程的的四大绝招
- 下一篇: IPv6名称到地址的转换函数getadd