文件
xionggeshop/addons/shopro_huifu/library/onboard/HuifuOnboardBasicIndv.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,
];
}
}