支付宝 php Easy SDK异步回调验签失败的解决办法

首先检查自己的配置的支付宝公钥和应用私钥是否正确,如果确定没有问题,但是仍然失败!

那就是json转义的问题,下面是解决办法,用下面函数把$_POST处理后,再传进去验签就行了

function removeEscapesFromArray($array) {
    $result = array();
    foreach ($array as $key => $value) {
        if (is_string($value)) {
            $result[$key] = stripslashes($value);
        } elseif (is_array($value)) {
            $result[$key] = removeEscapesFromArray($value);
        } else {
            $result[$key] = $value;
        }
    }
    return $result;
}
Factory::payment()->common()->verifyNotify(removeEscapesFromArray($_POST))

反正支付宝的 Easy sdk 官方已经好几年没有维护了,不知道官方什么时候可以修复这个问题!

我更推荐大家使用 Omnipay-Alipay:https://github.com/lokielse/omnipay-alipay

庄朋龙
庄朋龙

一个爱生活的技术菜鸟

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注