返回列表

weixin微信接口说明

默认分类 2016/04/28 02:58

1.[微信]获取ACCESS_TOKEN https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

{"access_token":"ACCESS_TOKEN","expires_in":7200} {"errcode":40013,"errmsg":"invalid appid"}

2.[微信]获取jsapi_ticket https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi

{ "errcode":0, "errmsg":"ok", "ticket":"bxLdikRXVbTPdHSM05e5u5sUoXNKd8-41ZO3MhKoyN5OfkWITDGgnr2fwJ0m9E8NYzWKVZvdVtaUgWvsdshFKA", "expires_in":7200 }

3.[服务器端]生成signature 即signature=sha1(string1)。 示例:

{ "noncestr": "Wm3WZYTPz0wzccnW", "jsapi_ticket": "sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg", "timestamp": "1414587457", "url": "http://mp.weixin.qq.com?params=value" }

步骤1. 对所有待签名参数按照字段名的ASCII 码从小到大排序(字典序)后,使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串string1: jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg&noncestr=Wm3WZYTPz0wzccnW&timestamp=1414587457&url=http://mp.weixin.qq.com?params=value

步骤2. 对string1进行sha1签名,得到signature: 0f9de62fce790f9a083d5c99e95740ceb90c27ed

注意事项

签名用的noncestr和timestamp必须与wx.config中的nonceStr和timestamp相同。 签名用的url必须是调用JS接口页面的完整URL。 出于安全考虑,开发者必须在服务器端实现签名的逻辑。

4.[H5]使用 wx.config({ debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: '', // 必填,公众号的唯一标识 timestamp: , // 必填,生成签名的时间戳 nonceStr: '', // 必填,生成签名的随机串 signature: '',// 必填,签名,见附录1 jsApiList: [] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 });

5.封装之后 send: v: '1450840463175',

appId: 'wxa06ebe9f39751792', u: 'http%3A%2F%2Fwx.ymatou.com%2FPay%2Fwechat.html',

rand: '0.3653160852845758', callback: 'callback'

recieve: callback({ Signature : 'f5a7c94bfba543a680bb52a7feaf7f1b5742fab8', AppId : 'wxa06ebe9f39751792', TimeStamp : '1450840617', NonceStr : 'ymtwapactivity9kuai9' })