/** * Renderiza o pedido em seu respectivo xml e faz * a validação com o xsd * @param int $versao * @param int $remetenteTipoDoc * @param string $remetenteCNPJCPF * @param string $transacao * @param NFePHP\NFSe\Models\Prodam\Rps|array|null $data * @return string */ public function render($versao, $remetenteTipoDoc, $remetenteCNPJCPF, $transacao = 'true', $data = null) { $xmlRPS = ''; $method = "PedidoEnvioRPS"; $content = $this->requestFirstPart($method); if (is_object($data)) { $xmlRPS .= $this->individual($data); } elseif (is_array($data)) { if (count($data) == 1) { $xmlRPS .= $this->individual($data[0]); } else { $method = "PedidoEnvioLoteRPS"; $content = $this->requestFirstPart($method); $xmlRPS .= $this->lote($data); } } else { return ''; } $content .= Header::render($versao, $remetenteTipoDoc, $remetenteCNPJCPF, null, null, null, null, $this->dtIni, $this->dtFim, null, $this->qtdRPS, $this->valorTotalServicos, $this->valorTotalDeducoes); $content .= $xmlRPS . "</{$method}>"; $content = $this->signer($content, $method, '', [false, false, null, null]); $body = $this->clear($content); $this->validar($versao, $body, 'Prodam', $method); return $body; }
/** * Renderiza o pedido em seu respectivo xml * @param int $versao * @param int $remetenteTipoDoc * @param string $remetenteCNPJCPF * @param string $transacao * @param array $chavesNFSe * @param array $chavesRPS * @return string * @throws InvalidArgumentException */ public function render($versao, $remetenteTipoDoc, $remetenteCNPJCPF, $transacao = '', $chavesNFSe = [], $chavesRPS = []) { $method = "PedidoConsultaNFe"; $content = $this->requestFirstPart($method); $content .= Header::render($versao, $remetenteTipoDoc, $remetenteCNPJCPF, $transacao); //minimo 1 e maximo de 50 objetos podem ser consultados $total = count($chavesNFSe) + count($chavesRPS); if ($total == 0 || $total > 50) { $msg = "Na consulta deve haver pelo menos uma chave e no máximo 50. Fornecido: {$total}"; throw new InvalidArgumentException($msg); } //para cada chave montar um detalhe foreach ($chavesNFSe as $chave) { $content .= "<Detalhe xmlns=\"\">"; $content .= "<ChaveNFe>"; $content .= "<InscricaoPrestador>" . $chave['prestadorIM'] . "</InscricaoPrestador>"; $content .= "<NumeroNFe>" . $chave['numeroNFSe'] . "</NumeroNFe>"; $content .= "</ChaveNFe>"; $content .= "</Detalhe>"; } foreach ($chavesRPS as $chave) { $content .= "<Detalhe xmlns=\"\">"; $content .= "<ChaveRPS>"; $content .= "<InscricaoPrestador>" . $chave['prestadorIM'] . "</InscricaoPrestador>"; $content .= "<SerieRPS>" . $chave['serieRPS'] . "</SerieRPS>"; $content .= "<NumeroRPS>" . $chave['numeroRPS'] . "</NumeroRPS>"; $content .= "</ChaveRPS>"; $content .= "</Detalhe>"; } $content .= "</{$method}>"; $content = $this->signer($content, $method, '', [false, false, null, null]); $body = $this->clear($content); $this->validar($versao, $body, 'Prodam', $method); return $body; }
/** * Renderiza o pedido em seu respectivo xml e faz a validação com o XSD * @param int $versao * @param int $remetenteTipoDoc * @param string $remetenteCNPJCPF * @param string $transacao * @param string $cnpj * @param string $cpf * @param string $im * @param date $dtInicio * @param date $dtFim * @param int $pagina * @return string */ public function render($versao, $remetenteTipoDoc, $remetenteCNPJCPF, $transacao, $cnpj, $cpf, $im, $dtInicio, $dtFim, $pagina) { $method = "PedidoConsultaNFePeriodo"; $content = $this->requestFirstPart($method); $content .= Header::render($versao, $remetenteTipoDoc, $remetenteCNPJCPF, $transacao, $cnpj, $cpf, $im, $dtInicio, $dtFim, $pagina); $content .= "</{$method}>"; $content = $this->signer($content, $method, '', [false, false, null, null]); $body = $this->clear($content); $this->validar($versao, $body, 'Prodam', $method); return $body; }
public function render($versao, $remetenteTipoDoc, $remetenteCNPJCPF, $transacao, $numeroLote) { $method = "PedidoConsultaLote"; $content = $this->requestFirstPart($method); $content .= Header::render($versao, $remetenteTipoDoc, $remetenteCNPJCPF, $transacao, null, null, null, null, null, null, null, null, null, $numeroLote); $content .= "</{$method}>"; $content = $this->signer($content, $method, '', [false, false, null, null]); $body = $this->clear($content); $this->validar($versao, $body, 'Prodam', $method); return $body; }
/** * Renderiza o Pedido de Consulta do CNPJ do contribuinte * e faz a validação com o xsd * @param int $versao * @param string $remetenteTipoDoc * @param string $remetenteCNPJCPF * @param string $transacao * @param string $cnpjContribuinte * @return string */ public function render($versao, $remetenteTipoDoc, $remetenteCNPJCPF, $transacao, $cnpjContribuinte) { $method = 'PedidoConsultaCNPJ'; $content = $this->requestFirstPart("{$method}"); $content .= Header::render($versao, $remetenteTipoDoc, $remetenteCNPJCPF, $transacao); $content .= "<CNPJContribuinte xmlns=\"\">"; $content .= "<CNPJ>{$cnpjContribuinte}</CNPJ>"; $content .= "</CNPJContribuinte>"; $content .= "</{$method}>"; $content = $this->signer($content, $method, '', [false, false, null, null]); $body = $this->clear($content); $this->validar($versao, $body, 'Prodam', $method); return $body; }
/** * Renderiza o xml do Pedido de Cancelamento de NFSe * e faz a validação com o xsd * @param string $versao * @param int $remetenteTipoDoc * @param string $remetenteCNPJCPF * @param string $transacao '', 'true' ou 'false' como string * @param string $prestadorIM * @param string $numeroNFSe * @return string */ public function render($versao, $remetenteTipoDoc, $remetenteCNPJCPF, $transacao, $prestadorIM, $numeroNFSe) { $method = "PedidoCancelamentoNFe"; $content = $this->requestFirstPart($method); $content .= Header::render($versao, $remetenteTipoDoc, $remetenteCNPJCPF, $transacao); if (is_array($numeroNFSe)) { if (count($numeroNFSe) > 50) { throw InvalidArgumentException("No máximo pode ser solicitado o cancelamento de 50 NFSe por vez."); } foreach ($numeroNFSe as $num) { $content .= $this->detalhe($prestadorIM, $num); } } else { $content .= $this->detalhe($prestadorIM, $numeroNFSe); } $content .= "</{$method}>"; $content = $this->signer($content, $method, '', [false, false, null, null]); $body = $this->clear($content); $this->validar($versao, $body, 'Prodam', $method); return $body; }