codephix/plugnotas

用于在PHP中使用的Plugnotas包

1.1 2023-10-06 13:47 UTC

This package is auto-updated.

Last update: 2024-09-06 15:45:21 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的对象,并将其设置为新的TecnoSpeed\Plugnotas\Nfse对象,使用setConfiguration方法。

设置完成后,有两种查询方式,可以通过票据ID或发送票据时生成的协议ID进行查询,或者通过传递集成ID和创建NFSe时使用的供应商的CNPJ。相应的方法是findByCnpjAndIdIntegracaofindByIdOrProtocol

以下示例展示了如何使用 findByCnpjAndIdIntegracao方法,该方法的具体实现可以在这里找到,以及 使用findByIdOrProtocol方法 的示例在这里可以找到。

下载NFSe的PDF文件

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

可以使用返回的票据ID通过 download 方法下载,也可以通过 downloadPdfByCnpjAndIdIntegracao 方法使用提供者的CNPJ和发送NFSe时使用的ID积分来下载。

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

  • 当使用 download 方法时:`/.pdf`
  • 当使用 downloadPdfByCnpjAndIdIntegracao 方法时:`/-.pdf`

通过ID下载的示例 可以在这里找到,以及 通过CNPJ和ID积分下载的示例

取消操作

可以通过与查询和下载相同的方式取消NFSe,只需提供Nfse的ID或提供者的CNPJ和ID积分。

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

执行此操作的相应方法为:`cancel` 和 `cancelByCnpjAndIdIntegracao`。

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

示例

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

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

官方文档

更新日志

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