PHP code example of contica / facturacion-electronica-cr
1. Go to this page and download the library: Download contica/facturacion-electronica-cr 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/ */
contica / facturacion-electronica-cr example snippets
$docs_enviados = $facturador->enviarCola();
/**
* Contenido de ejemplo devuelto en $docs_enviados
*
* [
* [
* 'clave' => 'clave...',
* 'tipo' => 'E', // E para emision, R para recepcion
* ],
* [...]
* ]
*
*/
$estado = $facturador->consultarEstado(
$clave,
'E', // E para emision, R para recepcion
$id_empresa
);
/**
* Contenido de ejemplo devuelto en $estado
*
* [
* 'clave' => 'clave...',
* 'estado' => 1, // 1 pendiente, 2 enviado, 3 aceptado, 4 rechazado
* 'mensaje' => 'Mensaje Hacienda',
* 'xml' => 'Contenido del xml de respuesta si existe'
* ]
*
*/
$xml = $facturador->cogerXml(
$clave,
'E', // E para emision, R para recepcion
1, // El tipo
$id_empresa
);
/**
* Convertir el xml a un array para poder procesar
*/
$xml_decodificado = Comprobante::analizarXML($xml);
$body = file_get_contents('php://input');
$estado = $facturador->procesarCallbackHacienda($body);
/**
* El contenido de $estado es idéntico a Consultar Estado más arriba.
*/
php
/**
* Crear la conexión a la base de datos
*/
$db = new mysqli(
'host',
'usuario',
'contraseña',
'base_de_datos'
);
/**
* Inicializar la base de datos
* Tambien para ejecutar migraciones después de una actualización
*/
Storage::runMigrations($db);
php
$ajustes = [
'storage_path' => '', // ruta completa en donde guardar los comprobantes
'crypto_key' => '', // (opcional) Llave para encriptar datos de conexion
'callback_url' => '', // (opcional) URL donde se recibe el callback
'storage_type' => 'local', // 'local' o 's3' para el tipo de almacenaje
's3_client_options' => [ // ajustes opcionales si se usa almacenaje s3
'credentials' => [
'key' => 'llave',
'secret' => 'secreto'
],
'endpoint' => 'https://us-east-1.linodeobjects.com', // (opcional)
'region' => 'region', // por ej, us-east-1
'version' => 'latest', // version
],
's3_bucket_name' => 'nombre_de_bucket' // (opcional) nombre de balde en s3
];
/**
* Esto crea el objeto que se usa para ejecturar todos los métodos disponibles
*/
$facturador = new FacturadorElectronico($db, $ajustes);
php
$llave = file_get_contents('llave_criptografica.p12');
$datos_de_empresa = [
'cedula' => '909990999',
'ambiente' => '1', // 1 prod, 2 stag
'usuario' => 'usuario_mh',
'contra' => 'contraseña_mh',
'pin' => 'pin_llave',
'llave_criptografica' => $llave
];
/**
* Registrar empresa nueva
*
* El valor devuelto se tiene que usar para todas las
* operaciones futuras sobre la empresa registrada
*/
$id_empresa = $facturador->guardarEmpresa($datos_de_empresa);
/**
* Modificar los datos de la empresa
*
* En $datos_de_empresa solo es necesario incluir los datos
* que se están modificando
*/
$facturador->guardarEmpresa($datos_de_empresa, $id_empresa);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.