1. Go to this page and download the library: Download cotopaco/laravel-factus-sdk library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
cotopaco / laravel-factus-sdk example snippets
$factus = app(Cotopaco\Factus\Factus::class);
$response = $factus->invoice()->createAndValidate($invoice);
$response->rawData; // Respuesta de factus en un array asociativo.
$response->getCufe(); // Cufe de la factura
use Cotopaco\Factus\DTO\Customer;
use Cotopaco\Factus\DTO\Invoice;
use Cotopaco\Factus\DTO\InvoiceItem;
use Cotopaco\Factus\Factus;
/* Instanciamos Singleton */
$factus = app(Factus::class);
/* Instanciamos un Customer */
$customer = new Customer(
identificationDocumentId: 3,
identification: "123456789",
legalOrganizationId: 1,
tributeId: 18,
dv: 0,
company: 'Empresa Test',
tradeName: 'Test Trade',
names: 'Cliente de Prueba',
address: 'Calle 123 #45-67',
email: '[email protected]',
phone: '3001234567',
municipalityId: 1
);
/* Instanciamos un item */
$item = new InvoiceItem(
codeReference: 'PROD-001',
name: 'Producto de Prueba',
quantity: 2,
discountRate: 0.0,
price: 100000.0,
taxRate: 19.0,
unitMeasureId: 70,
standardCodeId: 1,
isExclude: 0,
tributeId: 1
);
/* Instanciamos una factura con el customer y los items */
$invoice = new Invoice(
items: [$item],
customer: $customer,
referenceCode: 'TEST-111',
sendEmail: false
);
/* Realizamos peticion y obtenemos respuesta */
$response = $factus->invoice()->createAndValidate($invoice);
$response->rawData; // Body de la respuesta de Factus en un array asociativo.
$response->getCufe() // Cufe de la factura
$response->statusCode // Status code de la respuesta
use Cotopaco\Factus\Factus;
/* Instanciamos Singleton */
$factus = app(Factus::class);
$response = $factus->invoice()->list(); // Realizar peticion
$response->getInvoices(); // Data de las facturas
$response->rawData // Obtener body de la respuesta de FACTUS
/* Peticion con filtros */
$params = [
'page' => 2, // Pagina a solicitar
'status' => 1, // estado de las facturas
];
$response = $factus->invoice()->list($params);
use Cotopaco\Factus\Factus;
/* Instanciamos Singleton */
$factus = app(Factus::class);
$response = $factus->invoice()->show('ETP990000493'); // Realizamos solicitud
$response->customer // Obtener cliente de la factura
$response->rawData // Obtener body de la respuesta de FACTUS
use Cotopaco\Factus\Factus;
/* Instanciamos Singleton */
$factus = app(Factus::class);
$response = $factus->invoice()->downloadPdf('ETP990000493'); // Realizamos solicitud
$response->getPdfDownloadResponse(); // Retorna respuesta para descargar el PDF.
/* Otros metodos utiles */
$response->getFileName();
$response->getPdfBase64();
$response->getPdfBinary();
use Cotopaco\Factus\Factus;
/* Instanciamos Singleton */
$factus = app(Factus::class);
$response = $factus->invoice()->delete('ETP990000493'); // Realizamos solicitud
$response->isDeleted(); // Retorna true si es eliminada validando el mensaje recibido de la API.
$response->rawData // Respuesta del body de la API FACTUS.