src/Common/Weixin/Data/Charge/ChargeBaseData.php
protected function checkDataParam()
    {
        $orderNo = $this->order_no;
        $amount = $this->amount;
        $subject = $this->subject;
        $body = $this->body;
        $deviceInfo = $this->terminal_id;

        // 检查订单号是否合法
        if (empty($orderNo) || mb_strlen($orderNo) > 64) {
            throw new PayException('订单号不能为空，并且长度不能超过64位');
        }

        // 检查金额不能低于0.01
        if (bccomp($amount, Config::PAY_MIN_FEE, 2) === -1) {
            throw new PayException('支付金额不能低于 ' . Config::PAY_MIN_FEE . ' 元');
        }

        // 检查 商品名称 与 商品描述
        if (empty($subject) || empty($body)) {
            throw new PayException('必须提供商品名称与商品详情');
        }

        // 初始 微信订单过期时间，最短失效时间间隔必须大于5分钟
        if ($this->timeout_express - strtotime($this->timeStart) < 5) {
            throw new PayException('必须设置订单过期时间,且需要大于5分钟.如果不正确请检查是否正确设置时区');
        } else {
            $this->timeout_express = date('YmdHis', $this->timeout_express);
        }

        // 微信使用的单位位分.此处进行转化
        $this->amount = bcmul($amount, 100, 0);

        // 设置ip地址
        $clientIp = $this->client_ip;
        if (empty($clientIp)) {
            $this->client_ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '127.0.0.1';
        }

        // 设置设备号
        if (empty($deviceInfo)) {
            $this->terminal_id = 'WEB';
        }
    }
protected function checkDataParam()
    {
        $orderNo = $this->order_no;
        $amount = $this->amount;
        $subject = $this->subject;
        $body = $this->body;
        $deviceInfo = $this->terminal_id;

        // 检查订单号是否合法
        if (empty($orderNo) || mb_strlen($orderNo) > 64) {
            throw new PayException('订单号不能为空，并且长度不能超过64位');
        }

        // 检查金额不能低于0.01
        if (bccomp($amount, Config::PAY_MIN_FEE, 2) === -1) {
            throw new PayException('支付金额不能低于 ' . Config::PAY_MIN_FEE . ' 元');
        }

        // 检查 商品名称 与 商品描述
        if (empty($subject) || empty($body)) {
            throw new PayException('必须提供商品名称与商品详情');
        }

        // 初始 微信订单过期时间，最短失效时间间隔必须大于5分钟
        if ($this->timeout_express - strtotime($this->timeStart) < 5) {
            throw new PayException('必须设置订单过期时间,且需要大于5分钟.如果不正确请检查是否正确设置时区');
        } else {
            $this->timeout_express = date('YmdHis', $this->timeout_express);
        }

        // 微信使用的单位位分.此处进行转化
        $this->amount = bcmul($amount, 100, 0);

        // 设置ip地址
        $clientIp = $this->client_ip;
        if (empty($clientIp)) {
            $this->client_ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '127.0.0.1';
        }

        // 设置设备号
        if (empty($deviceInfo)) {
            $this->terminal_id = 'WEB';
        }
    }
protected function checkDataParam ( ) { $ orderNo = $ this -> order_no ; $ amount = $ this -> amount ; $ subject = $ this -> subject ; $ body = $ this -> body ; $ deviceInfo = $ this -> terminal_id ; // 检查订单号是否合法 if ( empty ( $ orderNo ) || mb_strlen ( $ orderNo ) > 64 ) { throw new PayException ( '订单号不能为空，并且长度不能超过64位'); } // 检查金额不能低于0.01 if ( bccomp ( $ amount , Config :: PAY_MIN_FEE , 2 ) === - 1 ) { throw new PayException ( '支付金额不能低于 ' . Config::PAY_M N FEE .  '  元'); } // 检查 商品名称 与 商品描述 if ( empty ( $ subject ) || empty ( $ body ) ) { throw new PayException ( '必须提供商品名称与商品详情'); } // 初始 微信订单过期时间，最短失效时间间隔必须大于5分钟 if ( $ this -> timeout_express - strtotime ( $ this -> timeStart ) < 5 ) { throw new PayException ( '必须设置订单过期时间,且需要大于5分钟.如果不正确请检查是否正确设置时区'); } else { $ this -> timeout_express = date ( 'YmdHis' , $ this -> timeout_express ) ; } // 微信使用的单位位分.此处进行转化 $ this -> amount = bcmul ( $ amount , 100 , 0 ) ; // 设置ip地址 $ clientIp = $ this -> client_ip ; if ( empty ( $ clientIp ) ) { $ this -> client_ip = isset ( $ _SERVER [ 'REMOTE_ADDR' ] ) ? $ _SERVER [ 'REMOTE_ADDR' ] : '127.0.0.1' ; } // 设置设备号 if ( empty ( $ deviceInfo ) ) { $ this -> terminal_id = 'WEB' ; } }
检查传入的支付信息是否正确
检查传入的支付信息是否正确