code: protected function checkDataParam()
      {
          $subject = $this->subject;
          $orderNo = $this->order_no;
          $amount = $this->amount;
          $goodsType = $this->goods_type;
          $passBack = $this->return_param;
  
          // 检查 商品名称 与 商品描述
          if (empty($subject)) {
              throw new PayException('必须提供 商品的标题/交易标题/订单标题/订单关键字 等');
          }
  
          // 检查订单号是否合法
          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 (is_null($goodsType)) {// 默认为实物类商品
              $this->goods_type = 1;
          } elseif (! in_array($goodsType, [0 ,1])) {
              throw new PayException('商品类型可取值为：0-虚拟类商品  1-实物类商品');
          }
  
          // 返回参数进行urlencode编码
          if (! empty($passBack) && ! is_string($passBack)) {
              throw new PayException('回传参数必须是字符串');
          }
          if (!empty($passBack)) {
              $this->return_param = urlencode($passBack);
          }
      }
docs: 检查传入的支付业务参数是否正确
  
  如果输入参数不符合规范，直接抛出异常
  
  @author helei