NFePHP\NFe\ToolsNFe::sefazManutencaoCsc PHP Method

sefazManutencaoCsc() public method

sefazManutencaoCsc Manutenção do Código de Segurança do Contribuinte (Antigo Token)
public sefazManutencaoCsc ( integer $indOp = '', string $tpAmb = '2', string $raizCNPJ = '', string $idCsc = '', string $codigoCsc = '', $saveXml = false, array &$aRetorno = [] ) : string
$indOp integer
$tpAmb string
$raizCNPJ string
$idCsc string
$codigoCsc string
$aRetorno array
return string
    public function sefazManutencaoCsc($indOp = '', $tpAmb = '2', $raizCNPJ = '', $idCsc = '', $codigoCsc = '', $saveXml = false, &$aRetorno = array())
    {
        if ($codigoCsc == '') {
            $codigoCsc = $this->aConfig['tokenNFCe'];
        }
        if ($idCsc == '') {
            $idCsc = $this->aConfig['tokenNFCeId'];
        }
        if ($tpAmb == '') {
            $tpAmb = $this->aConfig['tpAmb'];
        }
        if (!is_numeric($indOp)) {
            $msg = "A operação deve ser informada.";
            throw new Exception\InvalidArgumentException($msg);
        } else {
            if ($indOp == 3 && ($idCsc == '' || $codigoCsc == '')) {
                $msg = "Para Revogação de CSC, é necessário informar o Código e ID do CSC que deseja revogar.";
                throw new Exception\InvalidArgumentException($msg);
            }
        }
        if ($raizCNPJ == '') {
            $raizCNPJ = substr($this->aConfig['cnpj'], 0, -6);
        } else {
            if (strlen($raizCNPJ) != 8) {
                $msg = "raizCNPJ: Deve ser os 08 primeiros dígitos do CNPJ.";
                throw new Exception\InvalidArgumentException($msg);
            }
        }
        $siglaUF = $this->aConfig['siglaUF'];
        //carrega serviço
        $servico = 'CscNFCe';
        $this->zLoadServico('nfe', $servico, $siglaUF, $tpAmb);
        if ($this->urlService == '') {
            $msg = "A manutenção do código de segurança do contribuinte de NFC-e não está disponível na SEFAZ {$siglaUF}!!!";
            throw new Exception\RuntimeException($msg);
        }
        if ($indOp == 3) {
            $cons = "<admCscNFCe versao=\"{$this->urlVersion}\" xmlns=\"{$this->urlPortal}\">" . "<tpAmb>{$tpAmb}</tpAmb>" . "<indOp>{$indOp}</indOp>" . "<raizCNPJ>{$raizCNPJ}</raizCNPJ>" . "<dadosCsc>" . "<idCsc>{$idCsc}</idCsc>" . "<codigoCsc>{$codigoCsc}</codigoCsc>" . "</dadosCsc>" . "</admCscNFCe>";
        } else {
            $cons = "<admCscNFCe versao=\"{$this->urlVersion}\" xmlns=\"{$this->urlPortal}\">" . "<tpAmb>{$tpAmb}</tpAmb>" . "<indOp>{$indOp}</indOp>" . "<raizCNPJ>{$raizCNPJ}</raizCNPJ>" . "</admCscNFCe>";
        }
        //montagem dos dados da mensagem SOAP
        $body = "<nfeDadosMsg xmlns=\"{$this->urlNamespace}\">{$cons}</nfeDadosMsg>";
        //envia a solicitação via SOAP
        $retorno = $this->oSoap->send($this->urlService, $this->urlNamespace, $this->urlHeader, $body, $this->urlMethod);
        $lastMsg = $this->oSoap->lastMsg;
        $this->soapDebug = $this->oSoap->soapDebug;
        //salva mensagens
        if ($saveXml) {
            $filename = "{$raizCNPJ}-{$indOp}-admCscNFCe.xml";
            $this->zGravaFile('nfe', $tpAmb, $filename, $lastMsg, 'csc');
            $filename = "{$raizCNPJ}-{$indOp}-retAdmCscNFCe.xml";
            $this->zGravaFile('nfe', $tpAmb, $filename, $retorno, 'csc');
        }
        //tratar dados de retorno
        $aRetorno = ReturnNFe::readReturnSefaz($servico, $retorno);
        return (string) $retorno;
    }

Usage Example

Ejemplo n.º 1
0
<?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('65');
/* Operações de administração CSC (indOp):

01 – Consulta
02 – Solicitação
03 – Revogação

*/
$indOp = '1';
$tpAmb = '2';
$raizCNPJ = '';
// Deixe vazio para utilizar o CNPJ do Certificado
$idCsc = '';
$codigoCsc = '';
$saveXml = true;
// Salva o resultado em XML na pasta csc
$aResposta = array();
$xml = $nfe->sefazManutencaoCsc($indOp, $tpAmb, $raizCNPJ, $idCsc, $codigoCsc, $saveXml, $aResposta);
echo '<br><br><PRE>';
echo htmlspecialchars($nfe->soapDebug);
echo '</PRE><BR><PRE>';
print_r($aResposta);
echo "</PRE><br>";