这里我只记录一下支付成功回调的验签过程,调起支付和回调解码很顺利就不记录了。
重点:验签时第4个参数需要使用OPENSSL_ALGO_SHA256
//验签时第4个参数需要使用OPENSSL_ALGO_SHA256
/**
$signStr是组装好的签名串,
应答时间戳\n
应答随机串\n
应答报文主体\n
$wechatSign是微信在header中的签名用base64解码
base64_decode($_SERVER['HTTP_WECHATPAY_SIGNATURE'])
$v3Certificates是平台密钥生成的平台公钥
**/
openssl_verify($signStr, $wechatSign, $v3Certificates,OPENSSL_ALGO_SHA256);
我遇到的主要问题就是没有设置签名方式,大概原因就是我平时这些代码都直接用了别人现成的代码,所以对这一块不敏感,觉得方法之类的能调用就行,但是很多细节都不会去关注。
(如果有空我再把完整代码放上来)