am2tec / plugnotas
PHP中使用Plugnotas的包
Requires
- php: ^7.0|^8.1
- am2tec/hydrator: ^1.0
- guzzlehttp/guzzle: ^7.3
- maciejczyzewski/bottomline: ^0.2.0
- respect/validation: ^1.1
Requires (Dev)
- phpunit/phpunit: ~6.5.13
This package is auto-updated.
Last update: 2024-09-11 18:48:42 UTC
README
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
对象。
使用此辅助类,通过withTomador
、withPrestador
、withServico
、withRps
、withImpressao
和withCidadePrestacao
方法,您可以组合Nfse对象,示例在nfse.simple.php文件中。
注册提供者、购买方和服务
注册提供者、购买方和服务简化了NFSe的发送,一旦注册,就可以使用更少的参数发送发票,因为已注册的信息将被查询。
以下链接中包含类型注册的示例
查询NFSe
要查询NFSe,需要创建一个类型为TecnoSpeed\Plugnotas\Configuration
的对象,使用setConfiguration
方法将其设置为新的TecnoSpeed\Plugnotas\Nfse
对象。
设置完成后,有两种查询方法,通过发票ID或您发送发票时生成的协议ID查询,或者通过传入集成ID和创建NFSe时使用的提供者CNPJ。相应的方法是findByCnpjAndIdIntegracao
和findByIdOrProtocol
。
您可以在此处找到使用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
对象中。
执行此操作的相应方法是:cancel
和cancelByCnpjAndIdIntegracao
。
创建取消操作时会返回一个协议,该协议可用于使用cancelStatus
路由查询取消状态。
示例
您可以在/examples
文件夹中查看一些示例。
所有分解成数组的对象都可以在nfse.array.php文件中查看。.
官方文档
更新日志
通过此链接访问应用程序的更新日志。