微信支付 扫码支付 模式1 原生支付

2025-10-22 13:50:15

1、第一步申请支付账号,这个自己开通就可以

第二步添加支付目录和测试目录,但是这里很复杂基本是要有域名的

微信支付 扫码支付 模式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);

        }

微信支付 扫码支付 模式1 原生支付

3、第四步生成微信签名的算法,生成微信的时间戳算法,生成微信的XMl文件算法,微信MD5加密算法,大家可以参考我的方法,具体自己改一下

微信支付 扫码支付 模式1 原生支付

微信支付 扫码支付 模式1 原生支付

微信支付 扫码支付 模式1 原生支付

4、第五步设置微信的回调方法,回调方法就是用户扫描二维码以后就会调用的

注意事项:

1、报错:

微信支付获取商户订单信息超时或商户返回httpcode非200  

解决方法:检查参数对不对,检查xml文件对不对,检查签名对不对,目前我就放了几个错误,大家自己检查

2、报错:微信支付报错 package info not match special pay url

解决方法:此法提示找不到payurl,其实是支付类型用错了,应该使用trade_type改成NATIVE

以上是微信支付开发中遇到的问题,微信支付很坑人

微信支付 扫码支付 模式1 原生支付

微信支付 扫码支付 模式1 原生支付

微信支付 扫码支付 模式1 原生支付

5、第五步:通知方法,微信支付成功会通知我们,是否支付成功,很简单的,

       /// <summary>

        /// 通知用户支付成功或者失败

        /// </summary>

        public void PayUser()

        {

            Insert("通知", "微信调用通知接口");

            RenderText("success");

        }

成功返回true,失败返回false

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢