# 微信公众号内支付(.Net版本)开发详尽流程分享

来源:互联网 发布:spark 运行java jar包 编辑:程序博客网 时间:2024/05/29 12:51

微信公众号内支付(.Net版本)开发详尽流程分享

首先跑起.net版本的Demo,然后再根据自身项目要求整改。

1.登录你的微信公众平台(注意微信有好多平台)https://mp.weixin.qq.com/

一些其他服务号等认证我就不说了:微信支付权限需要申请,3-5个工作日,我是2天(这个工作提前做)。

审核通过

2.注意在平台上逛逛,拾获些物品,以后要用(AppIDAppSecret商户号(这个注意要去商户平台注册,完了这个公众号平台中也会显示),商户证书(这个流程较多先不管))

左边菜单栏最下面:基本配置
AppID,AppSecret
提前填个坑:
左边菜单栏最下面的:接口权限点进去,找到“网页授权获取用户基本信息”点击修改 这里填的域名一般是你的公众号开发中网站H5页面的域名,不要加http://这些,不要跟公众号设置菜单中的业务域名搞混。域名必须完全匹配,设置顶级域名sky87.com,程序是pay.sky87.com的二级域名都不行;
网页授权
关于获取商户号 要先在商户平台注册啥的。
商户号
关于获取商户证书:http://www.cgtblog.com/wx/540.html

3.下载Demo(这玩意也藏得很深)

教程
sdk下载?

4.打开这个开发步骤看看(了解流程),把demo发布了运行起来:

设置支付授权录:
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_3
了解业务流程(这个时序图很清楚):
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_4

5.重点对照时序图将Demo的code流程读懂。

Demo中需要修改的地方:
1.lib文件夹下的config文件先改。前面拾获的东西用用。(注释很明白)
2.我只用了公众号内页面支付,所以只用这几个页面:
example/ProductPage.aspx 商品展示
JsApiPayPage.aspx 支付流程页
example/ResultNotifyPage.aspx 支付结果回调页面
这其中有一些简单坑流程走下来一下就能发现我就简略了,给篇文章:
http://www.360doc.com/content/15/0717/08/10504424_485420712.shtml
总结很全面,不画蛇添足了。

6.Log调试,可以自己写个log调试类这样很清楚看清流程和ex异常信息。(给个吧,一点代码没有不好)

    public class LogHelper    {        public static void logstrRes(string content)        {            try            {                string logstr = "\t\t--------------------------------------\r\n时间:" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "\r\n";                logstr += "内容:\r\n" + content + "\r\n\t\t--------------------------------------\r\n";                var sw = new System.IO.StreamWriter(System.Web.HttpContext.Current.Server.MapPath("/log/log.txt"), true);                sw.BaseStream.Seek(0, System.IO.SeekOrigin.End);                sw.WriteLine(logstr);                sw.Flush();                sw.Close();            }            catch (Exception e)            {                Console.WriteLine(e);            }        }    }调用: LogHelper.logstrRes("openid " + openid + "  total_fee  " + total_fee);
0 0