75 行
2.3 KiB
PHP
75 行
2.3 KiB
PHP
<?php
|
|
|
|
namespace addons\shopro_huifu\library\onboard;
|
|
|
|
use addons\shopro_huifu\library\SdkLoader;
|
|
|
|
class HuifuOnboardBasicIndv
|
|
{
|
|
protected $sdk;
|
|
|
|
public function __construct(HuifuOnboardSdk $sdk = null)
|
|
{
|
|
$this->sdk = $sdk ?: new HuifuOnboardSdk();
|
|
}
|
|
|
|
public function submit(array $form, array $fileMap)
|
|
{
|
|
SdkLoader::requireRequest('V2UserBasicdataIndvRequest.php');
|
|
$meta = $this->sdk->newReqMeta();
|
|
$request = new \BsPaySdk\request\V2UserBasicdataIndvRequest();
|
|
$request->setReqSeqId($meta['req_seq_id']);
|
|
$request->setReqDate($meta['req_date']);
|
|
$request->setName($form['name']);
|
|
$request->setCertType('00');
|
|
$request->setCertNo($form['cert_no']);
|
|
$request->setCertValidityType($form['cert_validity_type']);
|
|
$request->setCertBeginDate($form['cert_begin_date']);
|
|
$request->setMobileNo($form['mobile_no']);
|
|
if (!empty($form['reg_detail'])) {
|
|
$request->setAddress($form['reg_detail']);
|
|
}
|
|
|
|
$fileList = [];
|
|
if (!empty($fileMap['F02'])) {
|
|
$fileList[] = [
|
|
'file_type' => 'F02',
|
|
'file_id' => $fileMap['F02'],
|
|
'file_name' => 'id_front.jpg',
|
|
];
|
|
}
|
|
if (!empty($fileMap['F03'])) {
|
|
$fileList[] = [
|
|
'file_type' => 'F03',
|
|
'file_id' => $fileMap['F03'],
|
|
'file_name' => 'id_back.jpg',
|
|
];
|
|
}
|
|
|
|
$extend = [];
|
|
if ($form['cert_validity_type'] === '0' && !empty($form['cert_end_date'])) {
|
|
$extend['cert_end_date'] = $form['cert_end_date'];
|
|
}
|
|
if ($fileList) {
|
|
$extend['file_list'] = json_encode($fileList, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
|
|
}
|
|
if ($extend) {
|
|
$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,
|
|
];
|
|
}
|
|
}
|