签名要用到的 jsapi_ticket 需要保存的, 2 小时有效期. 如果在 2 小时内出现问题需要删除才能工作, 一般是自身程序的问题, 请检查.
nonceStr 和 noncestr 的大小写, 当心!
url 一定要当心, 如果是 "http://x.com/jspay?oid=0&attr=1#wechat" 的形式, 那么应该保留的是 "http://x.com/jspay?oid=0&attr=1".
据此, url 在 JavaScript 中是 location.href.split('#')[0] 获取.
据此, url 在 php 中用 $protocol$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI] 拼装,
据说会有多余的 80 端口问题, 但是记录者没有遇到过, 总之请小心.
url 在 JavaScript 中千万别忘记 "encodeURIComponent"! 否则后果很诡异, 遇到过初始化的时候报 invalid
signature, 但是 API 接口又能调用的情况.
微信 JS 接口签名校验工具: https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign
来源: http://www.bubuko.com/infodetail-2635880.html