要命的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