aalonzolu / digifact
Digifact PHP SDK
Installs: 28
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:package
Requires
- php: >=5.4.0
README
Instalacion
composer require aalonzolu/digifact
Uso
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;
Crear instancia de la clase
$digifact = new \aalonzolu\Digifact\Digifact(DIGIFACT_NIT,DIGIFACT_USERNAME,DIGIFACT_PASSWORD,TRUE);
Crear datos generales de la factura
$referenciaInterna = "FAC_".time();
$datosGenerales = new DatosGenerales($referenciaInterna);
Crear Emisor con su Direccion
$direccionEmisor = new Direccion("Zona 1",1301,"Huehuetenango","Huehuetenango","GT");
$emisor = new Emisor(44653948,"Allan Bonilla","PEST.CONTROL", $direccionEmisor);
Crear Receptor con su direcicon
$direccionReceptor = new Direccion("GUATEMALA",01010,"GUATEMALA","GUATEMALA","GT");
$receptor = new Receptor("CYBERESPACIO",77454820, $direccionReceptor);
Fases de la factura
$frases = [ new Frase()];
Agregar Productos
$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);
Crear la factura
$factura = new Factura($datosGenerales, $emisor, $receptor, $frases, $productos);
$digifact->CertificateDTEToSign($factura);
En este punto se puede acceder a los datos de la factura o su contenido XML, HTML o 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;
Anular la factura si todavia no hemos borrado $digifact de la memoria del programa
$response_anular = $digifact->Anular("Solo son pruebas","ANULAR_FEL_TOSIGN");
var_dump($response_anular);
Para anular una factura creada en otro lado o cuando ya hemos recargado la pantalla
AnularOtro($NumeroDocumento, $NITEmisor,$IDReceptor,$FechaHoraEmision,$Motivo,$TipoAnulacion="ANULAR_FEL")