sdk = $sdk ?: new HuifuOnboardSdk(); } public function submit(array $form, array $fileMap) { SdkLoader::requireRequest('V2UserBasicdataEntRequest.php'); $meta = $this->sdk->newReqMeta(); $request = new \BsPaySdk\request\V2UserBasicdataEntRequest(); $request->setReqSeqId($meta['req_seq_id']); $request->setReqDate($meta['req_date']); $request->setRegName($form['reg_name']); $request->setLicenseCode($form['license_code']); $request->setLicenseValidityType($form['license_validity_type']); $request->setLicenseBeginDate($form['license_begin_date']); if ($form['license_validity_type'] === '0' && !empty($form['license_end_date'])) { $request->setLicenseEndDate($form['license_end_date']); } $request->setRegProvId($form['prov_id']); $request->setRegAreaId($form['area_id']); if (!empty($form['district_id'])) { $request->setRegDistrictId($form['district_id']); } $request->setRegDetail($form['reg_detail']); $request->setLegalName($form['legal_name']); $request->setLegalCertType('00'); $request->setLegalCertNo($form['legal_cert_no']); $request->setLegalCertValidityType($form['legal_cert_validity_type']); $request->setLegalCertBeginDate($form['legal_cert_begin_date']); if ($form['legal_cert_validity_type'] === '0' && !empty($form['legal_cert_end_date'])) { $request->setLegalCertEndDate($form['legal_cert_end_date']); } $request->setContactName($form['legal_name']); $request->setContactMobile($form['legal_mobile']); $request->setLoginName($form['login_name'] ?? ('HFENT' . date('YmdHis') . mt_rand(100, 999))); $fileList = []; if (!empty($fileMap['F01'])) { $fileList[] = [ 'file_type' => 'F01', 'file_id' => $fileMap['F01'], 'file_name' => 'license.jpg', ]; } if (!empty($fileMap['F02'])) { $fileList[] = [ 'file_type' => 'F02', 'file_id' => $fileMap['F02'], 'file_name' => 'legal_id_front.jpg', ]; } if (!empty($fileMap['F03'])) { $fileList[] = [ 'file_type' => 'F03', 'file_id' => $fileMap['F03'], 'file_name' => 'legal_id_back.jpg', ]; } $extend = $this->sdk->mergeSkillHuifuId([ 'short_name' => $form['reg_name'], 'sms_send_flag' => '1', ]); if ($fileList) { $extend['file_list'] = json_encode($fileList, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); } $request->setExtendInfo($extend); $result = $this->sdk->getClient()->postRequest($request); $data = $this->sdk->getClient()->parseResponse($result); $huifuId = $data['huifu_id'] ?? ''; if ($huifuId === '') { throw new \RuntimeException('企业开户未返回 huifu_id'); } return [ 'req_date' => $meta['req_date'], 'req_seq_id' => $meta['req_seq_id'], 'huifu_id' => $huifuId, 'resp' => $data, ]; } }