예제 #1
0
<?php

error_reporting(E_ALL);
ini_set('display_errors', 1);
include 'src/CFDI/ServiceProvider.php';
include 'src/CFDI/Proveedor/Finkok.php';
/**
 * Configuracion del proveedor
 */
$data_provider = ['provider' => 'Finkok', 'url_cancela' => 'http://demo-facturacion.finkok.com/servicios/soap/cancel.wsdl', 'user' => 'mynickname', 'password' => '******'];
/**
 * Configuracion de la cancelacion del proveedor
 */
$data_cancel = ['file_cer_pem' => 'file-rfc.cer.pem', 'file_key_pem' => 'file-rfc.key.pem', 'factura_id' => 'myidfromprovider', 'rfc_emisor' => 'rfc'];
try {
    $provider = new CFDI\ServiceProvider($data_provider);
    $response = $provider->cancela($data_cancel);
    /**
     * La respuesta depende del proveedor con el que estemos dados de alta
     */
    if (isset($response->cancelResult->Acuse)) {
        echo '<h1>Cancelado correctamente</h1>';
        echo '<pre>' . print_r($response->cancelResult, 1) . '</pre>';
    } else {
        echo '<h1 style="color:red;">Error al cancelar</h1>';
        echo '<pre>' . print_r($response, 1) . '</pre>';
    }
} catch (Exception $e) {
    die($e->getMessage());
}
예제 #2
0
    $DomXml->node('cfdi:Traslado')->attr('impuesto', 'IEPS')->attr('tasa', '0.0000')->attr('importe', '0.0000')->close();
    $DomXml->close('cfdi:Traslados');
    $DomXml->close('cfdi:Impuestos');
    $DomXml->close('cfdi:Comprobante');
    /**
     * Solicitar el sello con el xml generado
     */
    $sello = $DatosFiscales->get_sello($DomXml);
    /**
     * Agregar el sello al comprobante
     */
    $DomXml->node_add_attr('cfdi:Comprobante', 'sello', $sello);
    /**
     * Borrar archivos temporales
     */
    $DatosFiscales->delete_files_temp(['cadena_original', 'xml_sin_sello', 'bin']);
    $provider = new CFDI\ServiceProvider($data_provider);
    $response = $provider->timbra($DomXml->xml_string());
    /**
     * dependemos de la respuesta del proveedor
     */
    if (isset($response->stampResult->NoCertificadoSAT)) {
        echo '<h1>Timbrado correctamente</h1>';
        echo '<pre>' . print_r($response, 1) . '</pre>';
    } else {
        echo '<h1 style="color:red;">Error al timbrar</h1>';
        echo '<pre>' . print_r($response, 1) . '</pre>';
    }
} catch (Exception $e) {
    die($e->getMessage());
}