am2tec/plugnotas

PHP中使用Plugnotas的包

1.2 2023-05-11 16:11 UTC

This package is auto-updated.

Last update: 2024-09-11 18:48:42 UTC


README

Build Status codecov

Plugnotas

此包旨在简化与Plugnotas API的集成。有关功能和租赁信息,请访问我们的网站官方文档

安装

添加包

我们建议使用Composer安装此包。Composer是PHP的依赖关系管理器,它允许您以简化的方式声明并安装项目依赖。

您可以使用Composer的命令添加此包

php composer.phar require am2tec/plugnotas:~1.4

或者手动在composer.json文件中添加

{
  "require": {
    "am2tec/plugnotas": "~1.4"
  }
}

包的加载由Composer的自动加载器完成,如果您未将其添加到项目中,则需要包含以下require

require 'vendor/autoload.php;'

有关如何安装、使用和为项目定义依赖项的最佳实践的更多信息,请访问官方getcomposer.org网站。

使用包

发送NFSe

要发送NFSe,需要创建一个类型相关的对象(TecnoSpeed\Plugnotas\Nfse),该对象由其命名空间内组合的多个其他对象组成。

对象创建后,需要调用同一对象的send方法,这个过程可能非常复杂和冗长,但不用担心,以下提供了一个更简单的方法。

您可以在此处找到手动创建对象的示例发送NFSe

使用构建器创建NFSe

TecnoSpeed\Plugnotas\Builders\NfseBuilder类是一个辅助类,允许您轻松创建TecnoSpeed\Plugnotas\Nfse对象。

使用此辅助类,通过withTomadorwithPrestadorwithServicowithRpswithImpressaowithCidadePrestacao方法,您可以组合Nfse对象,示例在nfse.simple.php文件中

注册提供者、购买方和服务

注册提供者、购买方和服务简化了NFSe的发送,一旦注册,就可以使用更少的参数发送发票,因为已注册的信息将被查询。

以下链接中包含类型注册的示例

查询NFSe

要查询NFSe,需要创建一个类型为TecnoSpeed\Plugnotas\Configuration的对象,使用setConfiguration方法将其设置为新的TecnoSpeed\Plugnotas\Nfse对象。

设置完成后,有两种查询方法,通过发票ID或您发送发票时生成的协议ID查询,或者通过传入集成ID和创建NFSe时使用的提供者CNPJ。相应的方法是findByCnpjAndIdIntegracaofindByIdOrProtocol

您可以在此处找到使用findByCnpjAndIdIntegracao方法的示例使用findByIdOrProtocol方法的示例

下载NFSe的PDF

与查询一样,下载Nfse的PDF也需要一个类型为TecnoSpeed\Plugnotas\Configuration的对象,该对象需要通过setConfiguration方法设置在新的TecnoSpeed\Plugnotas\Nfse对象中。一个特点是需要在配置对象中使用setNfseDownloadDirectory方法指定文件写入的文件夹。

可以使用返回的发票ID通过download方法进行下载,也可以使用提供者的CNPJ和发送NFSe时使用的ID Integração通过downloadPdfByCnpjAndIdIntegracao方法进行下载。

文件将保存在配置的文件夹中(该文件夹需要有写权限),默认的文件名格式如下

  • 使用download方法时: <文件夹路径>/<id>.pdf
  • 使用downloadPdfByCnpjAndIdIntegracao方法时: <文件夹路径>/<cnpj>-<id integração>.pdf

使用ID进行下载的示例可以在这里找到使用CNPJ和ID Integração进行下载的示例在这里

取消

可以通过提供Nfse的ID或提供者的CNPJ和ID Integração,以与查询和下载相同的方式进行Nfse的取消操作。

查询和下载Nfse的PDF需要使用类型为TecnoSpeed\Plugnotas\Configuration的对象,该对象需要通过setConfiguration方法设置在新的TecnoSpeed\Plugnotas\Nfse对象中。

执行此操作的相应方法是:cancelcancelByCnpjAndIdIntegracao

创建取消操作时会返回一个协议,该协议可用于使用cancelStatus路由查询取消状态。

示例

您可以在/examples文件夹中查看一些示例。

所有分解成数组的对象都可以在nfse.array.php文件中查看。.

官方文档

更新日志

通过此链接访问应用程序的更新日志