1、第一步申请支付账号,这个自己开通就可以第二步添加支付目录和测试目录,但是这里很复杂基本是要有域名的
2、第三步生成微信支付二维码,方便没有关注的用户扫描支付,其中需要一些算法,大家可以参考腾讯官噩荜务圃网查看 public void weixinpay() { //继承SortedDictionary的字典集合,好处不用排序 WeixinParams p = new WeixinParams(); p.Add("appid", AppId); p.Add("mch_id", Mch_id); //获得随机数 p.Add("nonce_str", EncodingX.GetNewID()); p.Add("product_id", "2"); //获得时间戳 p.Add("time_stamp", GetCurrentTime().ToString()); //获得签名数字 string scanUrl = HttpUtility.UrlEncode(p.ToSignedUrl(AppKey), Encoding.UTF8); string qrCodeImage = string.Format("/utils/getqrcodefromurl.html?v=14&s=3&qrurl={0}", scanUrl); Insert("url", qrCodeImage); //生成二维码图片,百度搜 RedirectToUrl(qrCodeImage); }
3、第四步生成微信签名的算法,生成微信的时间戳算法,生成微信的XMl文件算法,微信MD5加密算法,大家可以参考我的方法,具体自己改一下
4、第五步设置微信的回调方法,回调方法就是用户扫描二维码以后就会调用的注意事项:1、报错:微信婧旱恐笆支付获取商户订单信息超时或商户返回httpcode非200解决方法:检酴兑镗笄查参数对不对,检查xml文件对不对,检查签名对不对,目前我就放了几个错误,大家自己检查2、报错:微信支付报错package info not match special pay url解决方法:此法提示找不到payurl,其实是支付类型用错了,应该使用trade_type改成NATIVE以上是微信支付开发中遇到的问题,微信支付很坑人
5、第五步:通知方法,微信支付成功会通知我们,是否支付成功,很简单的, /// <summary> /// 通知用户支付成功或者失败 /// </summary> public void PayUser() { Insert("通知", "微信调用通知接口"); RenderText("success"); }成功返回true,失败返回false