|
|
|
@ -17,7 +17,7 @@ class ChinaTaxes1 |
|
|
|
protected $apiUrl; |
|
|
|
protected $my = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuc3JzYmgiOiI2MjAxMDQ3NzQ0MTk4NVgiLCJpc3MiOiJTU1NIR1oiLCJkanhoIjoiMTAxMTQ0MDMwMDAwMjY0NzE2NzQiLCJzdGFydFRpbWUiOiIiLCJ1bmRUaW11IjoiMjAyMi0wNi0zMCAxODowNDo0MSIsImV4cCI6MTY1NjU4MzQ4MSwic3BqZyI6IjEifQ.Ho0H43DxSGDmydHamMABRampNaNTu3K5vJwTJzoLAMA'; |
|
|
|
protected $xmlType = 2; |
|
|
|
protected $paramType = 1; |
|
|
|
protected $paramType = '01'; |
|
|
|
/** |
|
|
|
* @throws FuncException |
|
|
|
*/ |
|
|
|
@ -309,20 +309,11 @@ class ChinaTaxes1 |
|
|
|
'gj' => '156', // 国籍 |
|
|
|
]; |
|
|
|
|
|
|
|
$this->xmlType = 5; |
|
|
|
$this->paramType = '07'; |
|
|
|
$param = $this->getParamData('SSGZ_GZPT_SZQKL_SFJYJK', $body); |
|
|
|
|
|
|
|
dump($param); |
|
|
|
|
|
|
|
$param['data']['bizXml'] = '<SZQKLDZSPSB0007ZipBase64RequestBw>H4sIAAAAAAAAAO2Uy27TQBSG10XiHYxXsLBnxpe0jhxXRKgs6n BLQSibyJmY2FV8IWNih10rCipU{r}{n}bKgKqkCsuKyqRkiAAo/TqfsYjMclCpBFxQ6J1fz/zDnH3z+Sx1zOgr4wdAfEj8KaiGQoCm6Io |
|
|
|
64f{r}{n}9mri7bUVaUlcts6fMy9IUr778W7DbsYjYahApAokRkeTD/nu23z/kcBOjveeHH37fNFLkrgKQJqm{r}{n}stNPoqEj4yi4JEn |
|
|
|
FlMTJGraQEb+ajGK3JjZbN1ftK63mjWYdQrjY8uO6Q9yKdsu9/8AlST0VhU7H{r}{n}Y3XJgAGJAoP9zQZ4xrK5BHtu4NgRdhKeaIY |
|
|
|
Ge37oMAK5Fw1lHIIuMyR2MRDWCqx62p7itAua9p84{r}{n}cka6/LMhOdvo0+IqQ/ulIVXlaNADCoQIFJfKqSU/JIkTYldkd7Vgknt |
|
|
|
ZZvskKUzp7lznesEMyaCf{r}{n}WYoJSlFujryOZyHVBFxMCwkzhqJpUIWwcVlfuWroUL3GW8lsXYCt4y9j+voT/bpJD97Qg226M8m |
|
|
|
/{r}{n}v8qfb9OtMT3cpzt79P1j+mKDTl7ydtZRdj9c9wJL1yBSFpGh60hBqq5WlkzAD37WFMQQFZtT5N66{r}{n}hfSKCdjKQ4KZlP |
|
|
|
8TF0HRvMTavMRz8508HZ88e0e3Dv8aX/mX8Q3DOCt+qU//NxPwl4qpHyKnwUoh{r}{n}BQAA</SZQKLDZSPSB0007 |
|
|
|
ZipBase64RequestBw>'; |
|
|
|
|
|
|
|
dump(json_encode($param)); |
|
|
|
|
|
|
|
$result = $this->json_curl(json_encode($param)); |
|
|
|
@ -339,28 +330,31 @@ ZipBase64RequestBw>'; |
|
|
|
$body = [ |
|
|
|
'gzxxList' => [ |
|
|
|
'gzxxVO' => [ |
|
|
|
'my' => $this->my // 密钥,数字签名校验和资格校验 |
|
|
|
'nsrlx' => '1', // 2 非自然人、1 自然人 |
|
|
|
'yhbh' => '41108008', // 水司的用户编号 |
|
|
|
'nsrsbh' => '91440300772709730N', // 传输类型为单位不可以为空 |
|
|
|
'nsrmc' => '深圳市大工业区水务有限公司', // 不可为空 |
|
|
|
'zjhm' => '412826198307167158', // 传输类型为自然人,不可以为空 |
|
|
|
'zjlx' => '201', // 传输类型为自然人,不可以为空,添加证件类型代码 999 |
|
|
|
'gj' => '156', // 国籍 |
|
|
|
'username' => '李冲', // 用户名称 |
|
|
|
'skyhmc' => '农业银行', // 托收银行 |
|
|
|
'yhzh' => '6228480120759512318', // 银行账号 |
|
|
|
'lxdz' => '龙田街道竹坑社区聚龙二期4栋2904', // 用户地址 |
|
|
|
'lxfs' => '13528899213', // 联系方式 |
|
|
|
'sbpch' => '101144030000264716742412W0000003', // 申报批次号 |
|
|
|
], |
|
|
|
'nsrlx' => '1', // 2 非自然人、1 自然人 |
|
|
|
'yhbh' => '41108008', // 水司的用户编号 |
|
|
|
'nsrsbh' => '91440300772709730N', // 传输类型为单位不可以为空 |
|
|
|
'nsrmc' => '深圳市大工业区水务有限公司', // 不可为空 |
|
|
|
'zjhm' => '412826198307167158', // 传输类型为自然人,不可以为空 |
|
|
|
'zjlx' => '201', // 传输类型为自然人,不可以为空,添加证件类型代码 999 |
|
|
|
'gj' => '156', // 国籍 |
|
|
|
'username' => '李冲', // 用户名称 |
|
|
|
'skyhmc' => '农业银行', // 托收银行 |
|
|
|
'yhzh' => '6228480120759512318', // 银行账号 |
|
|
|
'lxdz' => '龙田街道竹坑社区聚龙二期4栋2904', // 用户地址 |
|
|
|
'lxfs' => '13528899213', // 联系方式 |
|
|
|
'sbpch' => '101144030000264716742412W0000003', // 申报批次号 |
|
|
|
], |
|
|
|
'my' => $this->my // 密钥,数字签名校验和资格校验 |
|
|
|
]; |
|
|
|
|
|
|
|
//$this->xmlType = 5; |
|
|
|
|
|
|
|
$param = $this->getParamData('SSGZ_GZPT_SZQKL_SB_XNHGZ', $body); |
|
|
|
$param = $this->getParamData('SSGZ_GZPT_SZQKL_SB_XNHGZ', []); |
|
|
|
|
|
|
|
$param['data']['bizXml'] = $this->bizxml2($body); |
|
|
|
|
|
|
|
dump($param);dump(json_encode($param)); |
|
|
|
|
|
|
|
$result = $this->json_curl(json_encode($param)); |
|
|
|
|
|
|
|
return $this->resultXml($result, ''); |
|
|
|
@ -486,9 +480,6 @@ ZipBase64RequestBw>'; |
|
|
|
'timestamp' => time(),// unix 时间戳 |
|
|
|
'data' => [], |
|
|
|
]; |
|
|
|
if ($this->paramType == 3) { |
|
|
|
$data['token'] = $this->accessToken; |
|
|
|
} |
|
|
|
$data['data'] = [ |
|
|
|
'bizXml' => $this->bizXml($body) |
|
|
|
]; |
|
|
|
@ -546,11 +537,12 @@ ZipBase64RequestBw>'; |
|
|
|
*/ |
|
|
|
protected function bizXml($body, $type = 0): string |
|
|
|
{ |
|
|
|
$paramType = $this->paramType; |
|
|
|
$start = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?> |
|
|
|
<SZQKLDZSPSB0001ZipBase64RequestBw |
|
|
|
<SZQKLDZSPSB000'.$paramType.'ZipBase64RequestBw |
|
|
|
xmlns:ns2="http://www.chinatax.gov.cn/dataspec/">'; |
|
|
|
$start1 = '<SZQKLDZSPSB0001ZipBase64RequestBw>'; |
|
|
|
$end = '</SZQKLDZSPSB0001ZipBase64RequestBw>'; |
|
|
|
$start1 = '<SZQKLDZSPSB00'.$paramType.'ZipBase64RequestBw>'; |
|
|
|
$end = '</SZQKLDZSPSB00'.$paramType.'ZipBase64RequestBw>'; |
|
|
|
$xml = ''; |
|
|
|
$xml2 = ''; |
|
|
|
foreach ($body as $key => $value) { |
|
|
|
@ -577,6 +569,11 @@ xmlns:ns2="http://www.chinatax.gov.cn/dataspec/">'; |
|
|
|
return $start1 . $this->enCompressXml($xml) . $end; |
|
|
|
} |
|
|
|
|
|
|
|
if ($this->xmlType == 4) { |
|
|
|
dump($xml); |
|
|
|
return $start1 . $this->enCompressXml($start . $xml . $end) . $end; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if ($this->xmlType == 5) { |
|
|
|
dump($xml); |
|
|
|
@ -593,6 +590,48 @@ xmlns:ns2="http://www.chinatax.gov.cn/dataspec/">'; |
|
|
|
return $this->enCompressXml($xml); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 循环处理bizXml数据 |
|
|
|
* @param $body |
|
|
|
* @param $type |
|
|
|
* @return string |
|
|
|
*/ |
|
|
|
protected function bizXmlStr($body, $type = 1) |
|
|
|
{ |
|
|
|
$xml = ''; |
|
|
|
foreach ($body as $key => $value) { |
|
|
|
if (is_array($value)) { |
|
|
|
if ($type == 2) { |
|
|
|
$xml .= "<ns2:{$key}>" . $this->bizXmlStr($value, $type) . "</ns2:{$key}>"; |
|
|
|
} else { |
|
|
|
$xml .= "<$key>" . $this->bizXmlStr($value, $type) . "</$key>"; |
|
|
|
} |
|
|
|
} else { |
|
|
|
$xml .= "<$key>$value</$key>"; |
|
|
|
} |
|
|
|
} |
|
|
|
return $xml; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 3.14 接口特殊处理 |
|
|
|
* @param $body |
|
|
|
* @return string |
|
|
|
*/ |
|
|
|
protected function bizxml2($body) |
|
|
|
{ |
|
|
|
$startXml = '<?xml version="1.0" encoding="UTF-8"?> |
|
|
|
<!--用XMLSpy v2013 sp1产生的 XML文件(http://www.altova.com)--> |
|
|
|
<taxML xsi:type="SZQKLDZSPSB0010ZipBase64RequestBw" bbh="String" xmlbh="String" xmlmc="String" xsi:schemaLocation="http://www.chinatax.gov.cn/dataspec/ TaxMLBw_SZQKLDZSP_0010_ZipBase64RequestBw.xsd" xmlns="http://www.chinatax.gov.cn/dataspec/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">'; |
|
|
|
|
|
|
|
$endXml = '</taxML>'; |
|
|
|
|
|
|
|
$xml = $this->bizXmlStr($body); |
|
|
|
dump($body);dump($xml); |
|
|
|
$enCompressXml = $this->enCompressXml($startXml . $xml . $endXml); |
|
|
|
return '<SZQKLDZSPSB0010ZipBase64RequestBw>' . $enCompressXml . '</SZQKLDZSPSB0010ZipBase64RequestBw>'; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* |
|
|
|
* @param $mxGrid |
|
|
|
|