用php版本得SDK。支付后回调遇到个奇怪的问题,微信支付后消息回调:
// 检查通知时间偏移量,允许5分钟之内的偏移
$timeOffsetStatus = 300 >= abs(Formatter::timestamp() - (int)$inWechatpayTimestamp);
$verifiedStatus = Rsa::verify(
// 构造验签名串
Formatter::joinedByLineFeed($inWechatpayTimestamp, $inWechatpayNonce, $inBody),
$inWechatpaySignature,
$platformPublicKeyInstance
);
if ($timeOffsetStatus && $verifiedStatus) {
就是这里了,很奇怪,$timeOffsetStatus变量是true,时间判读偏移没问题,
但是$verifiedStatus,SDK签名验证方法验证不过去,也没有返回值,被当fals处理了,很奇怪。
删除 $verifiedStatus条件判断,返回消息是可以解密得到数据得。
这里可都是SDK实例代码,按说不应该错啊。
}
请各位指教!
$postHead = Request::header();
$inWechatpaySignature = $postHead['wechatpay-signature-type']; // 请根据实际情况获取
$inWechatpayTimestamp = $postHead['wechatpay-timestamp']; // 请根据实际情况获取
$inWechatpaySerial = $postHead['wechatpay-serial']; // 请根据实际情况获取
$inWechatpayNonce = $postHead['wechatpay-nonce']; // 请根据实际情况获取
$inBody = Request::getContent(); // 请根据实际情况获取,例如: file_get_contents('php://input');