思巢 只看设计 网站建设 移动应用开发 商城系统 增值服务 解决方案 观点 我们 联系
QQ联系
业务咨询
售后客服
QQ联系
业务咨询
售后客服

简单实用的微信公众号开发流程

发布时间:2020-07-10 14:22
发布者:思巢网络
浏览次数:

  一、开发准备

  1、注册微信公众号

  2、注册开发者账号(微信开放平台)

  3、在开发者账号内绑定自己的微信公众号

  4、申请测试公众号
 

  二、在微信公众号平台获取基本参数(保存在配置文件里)

  token

  test_token

  appid

  appsecret

  mch_id //支付

  test_appid

  test_appsecret

  server_notify

  key

  
  三、服务器在获取基本参数

  1、验证服务器(80 443端口,接受GET请求,验证签名

  2、获取ACESS_TOKEN(用独立服务刷新),可以保存在文件里,也可以保存在redis里,建议独立进程去刷新,有失败重试和报警

  3、配置JSSDK,调用微信JSSDK接口时需要用到

  4、获取 openid(oauth2.0),获取微信用户信息绑定自己的数据库用户时需要用到
 

  四、微信开发

  1、微信菜单 把JSON对象传给微信服务器,建议做成单独的功能,不要和其他功能

  2、微信支付

  1)注入JSSDK config(其实不用注入也可以成功)

  2)注入成功之后要验证 Agent是否支持微信支付

  3)客户端输入信息完毕之后,点击支付后

  4)服务器进行输入校验后,保存订单和用户信息,然后通过统一下单接口生成订单, 并发送给客户端

  5)不要使用JSSDK网页上的微信支付接口,使用微信支付详情页面示例的微信支付接口进行支付

  6)支付成功后,用wx.closeWindow()接口关闭页面

  7)微信会给服务器一个回调,然后服务器更改订单状态,并通过客服消息接口给客户发个信息反馈(注意重复验证)

  2、微信客服消息

  1)接受回调, 验证签名和随机字符串是否正确

  2)正确之后发布客服消息

  3、微信事件通知及被动消息回复

  1)在开发者配置里,把服务器回调网址配置好

  2)当微信接到用户特定动作时时,会给服务器发送事件通知(POST),然后开发者直接回复 xml 或者 '' 即可
 

  五、注意要点

  1、微信的SessionID会一直变化, 所以不能用Session去存openid,可以采用的是cookies localStorage存储

  2、微信支付的支付页面,强匹配网址(http://www.seoimc.net 和http://www.seoimc.net/)都不一样,有一点网址不一样都不行

  3、微信支付的支付 sdk 旧的和新的在微信支付页面没有标明,(JSSDK说明文档上的支付API是旧的),千万不要用旧的了, 用新的即可

  4、微信API上充斥着各种风格的变量名(noncestr nonce_str nonceStr 以及 timestamp timeStamp)千万要小心

  5、微信开发, 本质是web移动端开发,只是有时候需要调用JSSDK接口,有时候需要与微信服务器通信让微信服务器发送指令给用户,开发过微信支付之后,基本上就没什么难点了...

  6、微信有php示例代码,开发的时候可以参考一下,语言都是通用的