微信公众号支付,首先调用统一下单API,调用成功,得到结果如下:
[W84n5gy8g90/09-07 16:00:19][http-8082-4][INFO] MainController.order(263): result_code=SUCCESS
[W84n5gy8g90/09-07 16:00:19][http-8082-4][INFO] MainController.order(263): sign=8124882E93A7A206F8626E55D1FAE160917A6F13E583A574629787230210D011
[W84n5gy8g90/09-07 16:00:19][http-8082-4][INFO] MainController.order(263): mch_id=1486965732
[W84n5gy8g90/09-07 16:00:19][http-8082-4][INFO] MainController.order(263): prepay_id=wx20170907174825797c2e09400232740890
[W84n5gy8g90/09-07 16:00:19][http-8082-4][INFO] MainController.order(263): return_msg=OK
[W84n5gy8g90/09-07 16:00:19][http-8082-4][INFO] MainController.order(263): appid=wxefae220aec453e99
[W84n5gy8g90/09-07 16:00:19][http-8082-4][INFO] MainController.order(263): nonce_str=S2oy3tT2WBLiVkTT
[W84n5gy8g90/09-07 16:00:19][http-8082-4][INFO] MainController.order(263): return_code=SUCCESS
[W84n5gy8g90/09-07 16:00:19][http-8082-4][INFO] MainController.order(263): device_info=WEB
[W84n5gy8g90/09-07 16:00:19][http-8082-4][INFO] MainController.order(263): trade_type=JSAPI
然后通过JSAPI调起微信支付,但是一直报“支付验证签名失败”,首先我肯定我的签名是正确的,因为通过了腾讯的在线签名验证https://pay.weixin.qq.com/wiki/tools/signverify/,和我的签名比对是一致的,
下面是我用“微信Web开发者工具”调试JSAPI调起支付的截图:
下面是微信的在线签名验证的比对结果:
问题为何我的签名明明是对的但是调起JSAPI支付的时候老是报什么“支付验证签名失败”,我调用的API都是微信官方JAVA Demo中提供的,且统一下单也是这样签名并没有报错,为何JSAPI就报错?网上各种方法都试过了,仔细检查了参数没问题,重置了KEY等,这个问题困扰我好多天了实在是耗不起了,求懂的大神们帮帮我吧,跪拜/(ㄒoㄒ)/~~