aalonzolu / digifact
Digifact PHP SDK
1.2.0
2021-04-02 17:52 UTC
Requires
- php: >=5.4.0
README
安装
composer require aalonzolu/digifact
使用
require_once './vendor/autoload.php';
use \aalonzolu\Digifact\models\DatosGenerales;
use \aalonzolu\Digifact\models\Direccion;
use \aalonzolu\Digifact\models\Emisor;
use \aalonzolu\Digifact\models\Factura;
use \aalonzolu\Digifact\models\Frase;
use \aalonzolu\Digifact\models\Impuesto;
use \aalonzolu\Digifact\models\Producto;
use \aalonzolu\Digifact\models\Receptor;
创建类的实例
$digifact = new \aalonzolu\Digifact\Digifact(DIGIFACT_NIT,DIGIFACT_USERNAME,DIGIFACT_PASSWORD,TRUE);
创建发票的通用数据
$referenciaInterna = "FAC_".time();
$datosGenerales = new DatosGenerales($referenciaInterna);
创建具有其地址的发行人
$direccionEmisor = new Direccion("Zona 1",1301,"Huehuetenango","Huehuetenango","GT");
$emisor = new Emisor(44653948,"Allan Bonilla","PEST.CONTROL", $direccionEmisor);
创建具有其地址的接收人
$direccionReceptor = new Direccion("GUATEMALA",01010,"GUATEMALA","GUATEMALA","GT");
$receptor = new Receptor("CYBERESPACIO",77454820, $direccionReceptor);
发票阶段
$frases = [ new Frase()];
添加产品
$productos = [];
$impuestos = [new Impuesto("IVA",1,10)];
$producto = new Producto(1, "CA","Producto X",10,0,"S",$impuestos);
array_push($productos, $producto);
$producto = new Producto(1, "CA","Producto Y",10,0,"S",$impuestos);
array_push($productos, $producto);
创建发票
$factura = new Factura($datosGenerales, $emisor, $receptor, $frases, $productos);
$digifact->CertificateDTEToSign($factura);
在此阶段,可以访问发票数据或其XML、HTML或PDF内容
$digifact->xml; // contenido de la factura en xml/base64
$digifact->html; // contenido de la factura en html/base64
$digifact->pdf; // contenido de la factura en pdf/base64;
$digifact->Autorizacion;
$digifact->Serie;
$digifact->NUMERO;
如果尚未从程序内存中删除$digifact,则可取消发票
$response_anular = $digifact->Anular("Solo son pruebas","ANULAR_FEL_TOSIGN");
var_dump($response_anular);
用于取消在其他地方创建的发票或当已经重新加载屏幕时
AnularOtro($NumeroDocumento, $NITEmisor,$IDReceptor,$FechaHoraEmision,$Motivo,$TipoAnulacion="ANULAR_FEL")