Latrell\Alipay\Web\SdkPayment::verify PHP Method

verify() public method

验证消息是否是支付宝发出的合法消息
public verify ( )
    public function verify()
    {
        // 判断请求是否为空
        if (empty($_POST) && empty($_GET)) {
            return false;
        }
        $data = $_POST ?: $_GET;
        // 生成签名结果
        $is_sign = $this->getSignVeryfy($data, $data['sign']);
        // 获取支付宝远程服务器ATN结果(验证是否是支付宝发来的消息)
        $response_txt = 'true';
        if (!empty($data['notify_id'])) {
            $response_txt = $this->getResponse($data['notify_id']);
        }
        // 验证
        // $response_txt的结果不是true,与服务器设置问题、合作身份者ID、notify_id一分钟失效有关
        // isSign的结果不是true,与安全校验码、请求时的参数格式(如:带自定义参数等)、编码格式有关
        if (preg_match('/true$/i', $response_txt) && $is_sign) {
            return true;
        } else {
            return false;
        }
    }