xidmonx / sei-sello-electronico
description
dev-master
2021-10-08 18:26 UTC
Requires
- php: ^7.1
- ext-calendar: *
- ext-curl: *
- ext-dom: *
- ext-json: *
- ext-soap: *
- guzzlehttp/guzzle: ~6.3.3
- nesbot/carbon: ^2.53
Requires (Dev)
- phpunir/phpunit: 9.1.4
This package is auto-updated.
Last update: 2024-06-08 23:58:34 UTC
README
Dirección General del Sistema Estatal de Informática
Generación de Firma Electrónica
Instalación
Use el administrador de paquetes composer para instalar sei-sello-electronico.
composer require xidmonx/sei-sello-electronico
Implementación
<?php use Carbon\Carbon; use xIDMONx\SEI\SignatureDTO; use xIDMONx\SEI\SelloElectronico; use GuzzleHttp\Exception\GuzzleException; require 'vendor/autoload.php'; $sello = new SelloElectronico(); //Usuario para Conectarse el Web Service $sello->user = ''; $sello->password = ''; $sello->cutsFirmante = '';//CUTS del firmante $sello->paswFirmante = '';//Password del firmante $signatureDTO = new SignatureDTO(); $signatureDTO->setSubject( 'firma' );//Titulo $signatureDTO->setXml( base64_encode( $xml ) );//Cadena que contiene XML $signatureDTO->setApplicant( 'xIDMONx' );//Nombre del Aplicante $signatureDTO->setDocumentName( 'Constancia.pdf' );//Nombre del archivo PDF $signatureDTO->setRequestDate( Carbon::now() );//Fecha actual $signatureDTO->setApplication( 'FirmaElectronicaConstancias' ); //Nombre aplicación $signatureDTO->setCuts( $sello->cutsFirmante ); $signatureDTO->setSigners( [ $sello->cutsFirmante, $sello->paswFirmante, ] ); echo "solicitaFirma<br>"; $hash = $sello->solicitaFirmaBatch( $signatureDTO ); echo "getCMS<br>"; $cms = $sello->getCMS( $hash ); echo "getPDF<br>"; $url = $sello->getPDF( $cms ); echo "savePDF<br>"; $save = $sello->savePDF( $url, '/', 'example.pdf' ); if ( $save ) { echo "Archivo guardado"; } else { echo "Archivo no guardado"; } ?>
¿Aun en desarrollo?
Sobrescribe las siguientes variables para apuntar al ambiente de desarrollo
<?php use Carbon\Carbon; use xIDMONx\SEI\SignatureDTO; use xIDMONx\SEI\SelloElectronico; use GuzzleHttp\Exception\GuzzleException; require 'vendor/autoload.php'; $sello = new SelloElectronico(); $sello->endpoint = $sello::WSDL_DESARROLLO; $sello->validador_base = $sello::VALIDADOR_BASE_DESARROLLO; ... ?>