SigningLink()); } /** * 填充签名数据 * @param $req array */ public function fillSign($req) { /**默认加密方式:不输入使用sha256,其它可选择项md5,sha1,sha3-256*/ $ts = time(); if ($this->tsType == 1) { $ts = $ts * 1000; } $sign = null; $nonce = md5($ts . ""); $signSrc = "nonce" . $nonce . "ts" . $ts . "app_key" . $this->appkey . "app_secret" . $this->appSecret; if ($this->encryMethod == null || $this->encryMethod == "sha256") { $sign = ShaUtils::getSha256($signSrc); } else if ($this->encryMethod == "sha1") { $sign = ShaUtils::getSha1($signSrc); } else if ($this->encryMethod == "md5") { $sign = md5($signSrc); } else { throw new ResultInfoException($this->encryMethod . ",必须为md5,sha1,sha256之一", "PARAM_ERROR"); } $req['ts'] = $ts; $req['app_key'] = $this->appkey; $req['sign'] = $sign; $req['nonce'] = $nonce; //这只是为了生成一个随机值 if ($this->encryMethod != null) { $req['encry_method'] = $this->encryMethod; //为''也不能传 } return $req; } //企业实名认证上传 public function EnterpriseCertification() { $requestUtils = new RequestUtils($this->serviceUrl, $this->appkey, $this->appSecret); //CURLFile 可以传url或filePath,但必须保证文件存在且有效,否则php不会报错,只会导致http请求返回null(并没有调到服务端)。 //初始化合同参数 $request = new OrganizationCreateReq(); $request->name = "泸州市海之农科技有限公司"; $request->identificationType = 1; $request->organizationType = 0; $request->organizationRegNo = "91510502MAC6KM5Q8M"; $request->organizationRegImg = 'https://lihai001.oss-cn-chengdu.aliyuncs.com/def/561f8202305171526091317.png'; //new CURLFile('D:/tmp/test.png',null,"test.png"); $request->legalName = "宋其学"; //法人 $request->legalIdentityCard = "5002401XXXXXXXXX"; //法人证件号 $request->legalMobile = "18982406440"; //发起创建企业请求 $response = $requestUtils->doPost("/v2/user/organizationCreate", $request); return $this->success('', (array)$response); } //企业实名认证状态查询 public function StatusQuery() { $param = Request()->param(); $requestUtils = new RequestUtils($this->serviceUrl, $this->appkey, $this->appSecret); //初始化合同参数 $request = array( "emailOrMobile" => $param['email'], //TODO * ); //发起请求 $response = $requestUtils->doPost("/v2/user/organizationAuditStatus", $request); return $this->success('', (array)$response); } //企业自定义公章 public function Custom_seal() { $requestUtils = new RequestUtils($this->serviceUrl, $this->appkey, $this->appSecret); //初始化合同参数 $request = array( "signName" => "500XXXXXXXXXXXX", //TODO * "email" => "500XXXXXXXXXXXX", //TODO 不传则保存在商户下,传入注册的邮箱则上传到指定邮箱企业名下 "signImgFile" => new CURLFile('D:/tmp/test.png', null, "test.png"), ); $response = $requestUtils->doPost("/v2/user/uploadEntSign", $request); return $this->success('', (array)$response); } //签约 public function Signing() { $requestUtils = new RequestUtils($this->serviceUrl, $this->appkey, $this->appSecret); //CURLFile 可以传url或filePath,但必须保证文件存在且有效,否则php不会报错,只会导致http请求返回null(并没有调到服务端)。 //初始化合同参数 $request = new ApplySignReq(); $request->contractName = "合同名称"; $request->signatories = json_encode([ ['fullName' => '小米', 'identityType' => 1, 'identityCard' => '5002401XXXXXXXXX', 'mobile' => 18982406440,'noNeedVerify'=>1,'signLevel'=>1] ]); $request->serverCa = 1; //自动签 $request->fileType = 1; $request->url = "https://dev.lihaink.cn/storage/202307/acbba88e77392348d3a8a4a1fdf210f1.pdf"; //发起PING请求 $response = $requestUtils->doPost("/v2/sign/applySign", $request); return $this->success('', (array)$response); } public function SigningLink() { //构建请求工具 $requestUtils = new RequestUtils($this->serviceUrl, $this->appkey, $this->appSecret); //初始化合同参数 $request = array( "applyNo" => "APL1680880011001217024", //TODO * "fullName" => "小米", //TODO * "identityCard" => "5002401XXXXXXXXX", //TODO * "identityType" => 1, //TODO * ); $response = $requestUtils->doPost("/v2/sign/link", $request); return $this->success('', (array)$response); } }