INSTANT PROCESS NOTIFICATION (IPN)


Facturación 789 pone a tu disposición una herramienta para recibir notificaciones de cambio de status o fin de un proceso de tus CFDI.

Suponiendo que contamos con una tabla de nombre facturas realizaremos el siguiente ejemplo


Laravel: utilizando eloquent
Archivo: routes/api.php

    <?php
        
...

        
Route::get("requestStatus""FacturasController@ipn");
    
?>
    


Archivo: app/Http/Controllers/FacturasController.php

    <?php
    
namespace App\Http\Controllers;

    use 
Illuminate\Http\Request;
    use 
App\Factura;
    use 
App\Notificacion;

    class 
FacturasController extends Controller{
        ...

        public function 
ipn(Request $request){
            
$id $request->data_request;
            
$factura Factura::find($id);

            if(
$request->code_status==200){
                
$factura->uuid  $request->uuid;
                
$factura->xml $request->url_xml;
                
$factura->pdf $request->url_pdf;
                
$factura->status "Timbrado";
                
$factura->save();
            }else{
                
$factura->status "Error al timbrar";
                
Notificacion::errorFacturar($request->error);
            }

            echo 
json_encode(["succes"=>"OK"]); //esto es indispensable, notifica o informa a "Facturación 789", que se han recibido los datos satisfactoriamente.
        
}
    }
    
?>