raalveco / ciberfactura
电子发票发行库
v2.0.0-beta.10
2017-06-06 02:18 UTC
Requires
- genkgo/xsl: ^0.5.16
- lunasoft/sw-sdk-php: dev-master
- dev-master
- 2.0.0.x-dev
- v2.0.0-beta.10
- v2.0.0-beta.9
- v2.0.0-beta.8
- v2.0.0-beta.7
- v2.0.0-beta.6
- v2.0.0-beta.5
- v2.0.0-beta.4
- v2.0.0-beta.3
- v2.0.0-beta.2
- v2.0.0-beta.1
- v1.0.23
- v1.0.22
- v1.0.21
- v1.0.20
- v1.0.19
- v1.0.18
- v1.0.17
- v1.0.16
- v1.0.15
- v1.0.14
- v1.0.13
- v1.0.12
- v1.0.11
- v1.0.10
- v1.0.9
- v1.0.8
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- 1.0.0.x-dev
- v1.0.0
- 0.2.x-dev
- v0.2
- 0.1.x-dev
- v0.1
This package is not auto-updated.
Last update: 2024-09-24 03:33:46 UTC
README
简化CFDI创建和盖章过程的库。
安装
要开始安装库,需要在Laravel根目录下的composer.json中添加依赖。
{ "require": { "raalveco/ciberfactura": "1.0.*" } }
Laravel 5.2
注册以下服务提供者和别名。
// config/app.php 'providers' => [ Raalveco\Ciberfactura\CiberfacturaServiceProvider::class, ]; 'aliases' => [ 'Cfdi' => Raalveco\Ciberfactura\Facades\Cfdi::class, ];
接下来,发布默认配置。
php artisan vendor:publish
此命令除了创建配置文件 config/packages/raalveco/ciberfactura/config.php
,还会创建一组迁移文件,用于创建创建CFDI所需的表。
为了使配置正常工作,我们必须在.env文件中定义环境变量及其相应的值。
<?php return array( 'production' => env('CFDI_PRODUCTION', false), 'certificate' => array( 'cer' => env('CFDI_CERTIFICATE_CER', 'config/packages/raalveco/ciberfactura/certificate/aad990814bp7_1210261233s.cer'), 'key' => env('CFDI_CERTIFICATE_KEY', 'config/packages/raalveco/ciberfactura/certificate/aad990814bp7_1210261233s.key'), 'password' => env('CFDI_CERTIFICATE_PRIVATE_KEY', '12345678a') ), 'wsdl' => array( 'sandbox' => array( 'autentificacion' => 'http://pruebascfdi.smartweb.com.mx/Autenticacion/wsAutenticacion.asmx?wsdl', 'timbrado' => 'http://pruebascfdi.smartweb.com.mx/Timbrado/wsTimbrado.asmx?wsdl', 'cancelacion' => 'http://pruebascfdi.smartweb.com.mx/Cancelacion/wsCancelacion.asmx?wsdl', 'usuario' => 'demo', 'password' => '123456789', ), 'production' => array( 'autentificacion' => 'https://cfdi.smartweb.com.mx/Autenticacion/wsAutenticacion.asmx?wsdl', 'timbrado' => 'https://cfdi.smartweb.com.mx/Timbrado/wsTimbrado.asmx?wsdl', 'cancelacion' => 'https://cfdi.smartweb.com.mx/Cancelacion/wsCancelacion.asmx?wsdl', 'usuario' => env('SMART_WEB_USER', ''), 'password' => env('SMART_WEB_PASSWORD', ''), ) ), 'path_xmls' => public_path().'/cfdis' );
此库可用于通过Smartweb(SAT认证的授权证书提供商)发行发票。
###迁移
在测试库的功能之前,需要执行创建存储CFDI的表的迁移。
php artisan migrate
###示例代码
$factura = CfdiFactura::create( array( "serie" => "A", "folio" => 234, "fecha" => date("Y-m-d H:i:s"), "subTotal" => 200, "total" => 232.0 ) ); $factura->addEmisor( "AAD990814BP7", "EMPRESA PRUEBAS SA DE CV", "Independencia", "54", "", "Centro", "Ameca", "Ameca", "Jalisco", "Mexico", "46600" ); $factura->addReceptor( "PEGJ801021H4K", "Juan Pérez González", "Juarez", "56", "3A", "Centro", "Guadalajara", "Guadalajara", "Jalisco", "Mexico", "44460" ); $factura->addConcepto( 1, "Año", "Servicio de Facturación Electrónica", 100.00, 100.00 ); $factura->addConcepto( 1, "Año", "Servicio de Timbrado de Facturas Electrónicas", 100.00, 100.00 ); $factura->addImpuesto( "Traslado", "IVA", 16.00, 32.00 ); $factura->addSucursal( "Av. Revolución", "212", "", "Centro", "Ameca", "Ameca", "Jalisco", "Mexico", "46600" ); $factura->addRegimen("Regimen General para Personas Morales"); Cfdi::loadCfdi($factura); $sello = Cfdi::sellar(); $uuid = Cfdi::timbrar(); Cfdi::guardar(); $xml = Cfdi::xml();