要命的invalid signature。其实腾讯的文档已经写了,只能怪我本身理解能力太差,掉了好几回坑。php
签名要用到的jsapi_ticket须要保存的,2小时有效期。若是在2小时内出现问题须要删除才能工做,通常是自身程序的问题,请检查。api
nonceStr和noncestr的大小写,小心!jsp
url必定要小心,若是是"http://x.com/jspay?oid=0&attr=1#wechat"的形式,那么应该保留的是"http://x.com/jspay?oid=0&attr=1"。url
据此,url在JavaScript中是location.href.split('#')[0]获取。spa
据此,url在php中用$protocol$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]拼装,code
听说会有多余的80端口问题,可是记录者没有遇到过,总之请当心。接口
url在JavaScript中千万别忘记“encodeURIComponent”!不然后果很诡异,遇到过初始化的时候报invalid
signature,可是API接口又能调用的状况。ip