primehover/danfebr

Laravel/Lumen 用于连接到 danfe.br.com API 的包

v1.0.4 2018-10-16 16:35 UTC

This package is not auto-updated.

Last update: 2024-09-26 16:56:23 UTC


README

Author PHP from Packagist Packagist

功能

  • danfe.br.com 的 API 连接
  • 基于 NF-e XML 生成 DANFE
  • 基于 Captcha 生成 XML
  • 基于 Captcha 生成 DANFE

要求

  • CURL 需要启用。请确保您的 php.ini 中已启用 extension=php_curl.dll

通过 Composer 安装

$ composer require primehover/danfebr

配置

  • 首先,您需要在 danfe.br.com 上创建一个账户
  • 您需要允许 API 访问您的账户。默认情况下,所有账户都阻止了通过 API 访问。要允许此访问,请访问您的账户并转到菜单 (配置 > 系统),然后勾选选项 "允许在我的账户中使用 API?"
  • 现在,您需要获取您的 API 密钥,因为它确保通过 API 生成的 NFe 直接进入您的账户。要获取 API 密钥,请访问您的账户并转到菜单 (配置 > API 密钥)
  • 有了您的 API 密钥后,打开您的 .env 文件并插入以下变量
DANFEBR_KEY=SUA_CHAVE_AQUI
  • 如果您想使用 API 作为 Facade,只需将其类添加到您的 aliases 数组中
'aliases' => [
  ...
  'DanfeBR' => Primehover\DanfeBR\DanfeBR::class,
],

使用示例

// Capturando a DANFE com o XML da NF-e
$xml = file_get_contents('/path/to/xml'); // deve ser uma string
$api = new API();
$danfe = $api->getDanfeByXML($xml);

header("Content-type: application/pdf");
echo $danfe;
die;

// Usando a Facade
$danfe = DanfeBR::getDanfeByXML($xml);
header("Content-type: application/pdf");
echo $danfe;
die;

方法

// Captura uma DANFe com o XML da NF-e
$api->getDanfeByXML($xml);

// Captura um novo Captcha
$captcha = $api->getCaptcha();
$captcha->getCode(); // código de identificação do Captcha
$captcha->getImage(); // link da imagem do Captcha

// Captura o XML de acordo com o Captcha
$api->getXMLByCaptcha(Captcha $captcha, $key, $answer);

// Captura a DANFe de acordo com o Captcha
$api->getDanfeByCaptcha(Captcha $captcha, $key, $answer);