PHP code example of sabbajohn / fiscal-core

1. Go to this page and download the library: Download sabbajohn/fiscal-core library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

sabbajohn / fiscal-core example snippets




## ⚡ Início Rápido


$dados['layout'] = [
    'schema' => 'PL_010',
    'xml_version' => '4.00',
];

use Fiscal\Facade\NFeFacade;

$nfe = new NFeFacade();

// Emissão
$resultado = $nfe->emitir($dadosNfe);
if ($resultado->sucesso) {
    echo "NFe emitida: " . $resultado->dados['chave'];
}

// Consulta por chave
$consulta = $nfe->consultar('43210315123456789012345678901234567890123456');
if ($consulta->sucesso) {
    echo "Status: " . $consulta->dados['status'];
}

use Fiscal\Facade\ImpressaoFacade;

$impressao = new ImpressaoFacade();

// Gerar DANFE a partir do XML
$danfePdf = $impressao->gerarDanfe($xmlNfe);
file_put_contents('danfe.pdf', $danfePdf->dados);

use sabbajohn\FiscalCore\Facade\NFSeFacade;

$nfse = new NFSeFacade('joinville');

$resultado = $nfse->emitir($dadosServico);
if ($resultado->isSuccess()) {
    $data = $resultado->getData();
    echo "NFSe processada pelo provider: " . $data['emissao']['effective_provider_class'];
}

$consulta = $nfse->consultarPorRps([
    'numero' => '1001',
    'serie' => 'A1',
    'tipo' => '1',
]);

use sabbajohn\FiscalCore\Facade\FiscalFacade;

$fiscal = new FiscalFacade();
$nfse = $fiscal->nfse('belem');

$resultado = $nfse->emitirCompleto($dadosServico);
if ($resultado->isSuccess()) {
    echo $resultado->getData('flow_status');
    echo $resultado->getData('documento')['numero'] ?? '';
    echo $resultado->getData('impressao')['modo'] ?? '';
}

use sabbajohn\FiscalCore\Facade\NFSeFacade;

$nfse = new NFSeFacade('joinville');
$consulta = $nfse->consultarPorRps([
    'numero' => '1001',
    'serie' => 'A1',
    'tipo' => '1',
]);

if ($consulta->isSuccess()) {
    $documento = $consulta->getData('documento');
    $impressao = $consulta->getData('impressao');

    echo $documento['status_autorizacao'] ?? '';
    echo $impressao['modo'] ?? '';
    echo $impressao['url'] ?? '';
    echo $impressao['pdf_base64'] ?? '';
}

$consulta = $fiscal->consultarNFe($chave);

if ($consulta->isSuccess()) {
    $documento = $consulta->getData('documento');
    file_put_contents('nfe.xml', $documento['xml']);
}

$danfe = $fiscal->gerarDanfe($xmlAutorizado);

if ($danfe->isSuccess()) {
    $impressao = $danfe->getData('impressao');
    file_put_contents(
        $impressao['filename'] ?? 'danfe.pdf',
        base64_decode($impressao['pdf_base64'])
    );
}

$xmlNfe = $fiscal->baixarXmlNFe($chave);
$xmlNfce = $fiscal->baixarXmlNFCe($chave);
$xmlNfse = $fiscal->baixarXmlNFSe($chave, 'manaus');

foreach ([$xmlNfe, $xmlNfce, $xmlNfse] as $response) {
    if ($response->isSuccess()) {
        file_put_contents(
            'documento.xml',
            $response->getData('documento')['xml']
        );
    }
}

use Fiscal\Facade\FiscalFacade;

$fiscal = new FiscalFacade();

// CEP
$cep = $fiscal->consultarCEP('01310-100');

// CNPJ  
$cnpj = $fiscal->consultarCNPJ('11222333000181');

// NCM
$ncm = $fiscal->consultarNCM('84715010');

FiscalResponse {
    bool $sucesso;      // true/false
    mixed $dados;       // dados retornados
    string $erro;       // mensagem de erro
    array $detalhes;    // informações extras
}

// Calcular tributos em tempo real
$tributos = $fiscal->calcularTributos([
    'ncm' => '84715010',
    'origem' => 'SP',
    'destino' => 'RJ',
    'valor' => 1000.00
]);

// Validar CNPJ antes de emitir NFe
$cnpj = $fiscal->consultarCNPJ('11222333000181');
if ($cnpj->sucesso) {
    // Proceder com emissão
}

// Gerenciar múltiplos municípios
foreach ($clientes as $cliente) {
    $nfse = $fiscal->emitirNFSe($cliente->municipio, $dados);
}

use sabbajohn\FiscalCore\Support\CertificateManager;
use sabbajohn\FiscalCore\Support\ConfigManager;

// Certificados centralizados
$certManager = CertificateManager::getInstance();
$certManager->loadFromFile('/path/to/cert.pfx', 'password');

// Configurações centralizadas
$configManager = ConfigManager::getInstance();
$configManager->set('ambiente', 2); // homologação


### ToolsFactory


- Execute a suíte de testes para validar o ambiente:
  
  php

 para tudo!
$fiscal = new FiscalFacade();

// Primeira consulta - sem configuração necessária
$resultado = $fiscal->consultar(['ncm' => '84715010']);

if ($resultado->sucesso) {
    echo "✅ Funcionou! Dados: " . json_encode($resultado->dados, JSON_PRETTY_PRINT);
} else {
    echo "❌ Erro: " . $resultado->erro;
}
bash
# Primeira consulta (sem configuração)
php examples/basico/01-primeira-consulta.php

# Status do sistema
php examples/basico/02-status-sistema.php  

# Consultas públicas (CEP, CNPJ, Bancos)
php examples/basico/03-consultas-publicas.php
bash
# Visão geral de todas as funcionalidades
php examples/GuiaCompletoDeUso.php
bash
export FISCAL_DEBUG=true
php examples/GuiaCompletoDeUso.php