public function sefazManifesta($chNFe = '', $tpAmb = '2', $xJust = '', $tpEvento = '', &$aRetorno = array())
{
$chNFe = preg_replace('/[^0-9]/', '', $chNFe);
$tpEvento = preg_replace('/[^0-9]/', '', $tpEvento);
$tagAdic = '';
switch ($tpEvento) {
case '210200':
//210200 – Confirmação da Operação
break;
case '210210':
//210210 – Ciência da Operação
break;
case '210220':
//210220 – Desconhecimento da Operação
break;
case '210240':
//210240 – Operação não Realizada
if (strlen($xJust) < 15 || strlen($xJust) > 255) {
$msg = "É obrigatória uma justificativa com 15 até 255 caracteres!!";
throw new Exception\InvalidArgumentException($msg);
}
$xJust = Strings::cleanString($xJust);
$tagAdic = "<xJust>{$xJust}</xJust>";
break;
default:
$msg = "Esse código de tipo de evento não consta!! {$tpEvento}";
throw new Exception\InvalidArgumentException($msg);
}
$siglaUF = 'AN';
$nSeqEvento = '1';
$retorno = $this->zSefazEvento($siglaUF, $chNFe, $tpAmb, $tpEvento, $nSeqEvento, $tagAdic);
$aRetorno = $this->aLastRetEvent;
return $retorno;
}
<?php error_reporting(E_ALL); ini_set('display_errors', 'On'); include_once '../../bootstrap.php'; use NFePHP\NFe\ToolsNFe; $nfe = new ToolsNFe('../../config/config.json'); $nfe->setModelo('55'); //210200 – Confirmação da Operação //210210 – Ciência da Operação //210220 – Desconhecimento da Operação //210240 – Operação não Realizada ===> é obritatoria uma justificativa para esse caso $chave = '35150158716523000119550010000000071000000076'; $tpAmb = '2'; $xJust = ''; $tpEvento = '210210'; //ciencia da operação $aResposta = array(); $xml = $nfe->sefazManifesta($chave, $tpAmb, $xJust = '', $tpEvento = '', $aResposta); echo '<br><br><PRE>'; echo htmlspecialchars($nfe->soapDebug); echo '</PRE><BR>'; print_r($aResposta); echo "<br>";