弄了好久,原来是jsapi_ticket获取的问题,
卡券:获得卡券 api_ticket(有效期7200秒,开发者必须在自己的服务全局缓存卡券 api_ticket):https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=wx_card。
公众号:获得jsapi_ticket(有效期7200秒,开发者必须在自己的服务全局缓存jsapi_ticket):https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi。
一直用卡券的api_ticket拿来参与计算签名,所以一直报"config:fail,Error: invalid signature",不过神奇的是用api_ticket参与签名计算在这边校验也ok:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign 。
换成jsapi_ticket就好了 。
微信搞了这么多套ticket(wx_card、jsapi),没仔细理解,怪自己太粗心了。