tecnospeedsa/plugnotas

用于在PHP中使用Plugnotas的包

1.5.4 2021-04-30 18:36 UTC

This package is auto-updated.

Last update: 2024-09-11 19:35:55 UTC


README

Build Status codecov

Plugnotas

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

安装

添加包

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

可以使用Composer的命令行添加包

php composer.phar require tecnospeedsa/plugnotas:~1.4

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

{
  "require": {
    "tecnospeedsa/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或协议号进行查询,或者通过用于创建NFSe的ID Integração和供应商的CNPJ进行查询。对应的方法是:findByCnpjAndIdIntegracaofindByIdOrProtocol

示例中使用的findByCnpjAndIdIntegracao方法可以在[这里](https://github.com/tecnospeed/plugnotas-php/blob/master/examples/nfse.consulta.cnpjId.php)找到,以及使用findByIdOrProtocol方法的示例[在这里](https://github.com/tecnospeed/plugnotas-php/blob/master/examples/nfse.consulta.cnpjId.php)。

下载NFSe的PDF文件

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

可以使用download方法通过返回的票据ID下载,也可以使用在发送NFSe时使用的供应商的CNPJ和ID Integração通过downloadPdfByCnpjAndIdIntegracao方法下载。

文件将保存在配置的文件夹中(该文件夹需要具有写权限),文件名将遵循以下模式

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

使用ID下载的示例[在这里](https://github.com/tecnospeed/plugnotas-php/blob/master/examples/nfse.download.php),以及使用CNPJ和ID Integração下载的示例[在这里](https://github.com/tecnospeed/plugnotas-php/blob/master/examples/nfse.download.cnpjId.php)

取消

可以通过提供Nfse的ID或供应商的CNPJ和ID Integração,以与搜索和下载相同的方式取消Nfse。

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

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

创建取消操作时将返回一个协议,可以使用该协议通过cancelStatus路由来查询取消状态。

示例

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

所有对象分解为数组的详细信息可以在文件nfse.array.php中查看.

官方文档

变更日志

通过[此链接](https://github.com/tecnospeed/plugnotas-php/blob/master/CHANGELOG.md)访问应用的变更日志。