Download the PHP package webneex/sw-sdk-php without Composer

On this page you can find all versions of the php package webneex/sw-sdk-php. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package sw-sdk-php

A continuación encontrara la documentación necesaria para consumir nuestro SDK de servicios proveido por SmarterWeb para Timbrado de CFDI 3.3 y CFDI 4.0 mediante un servicio API REST

Estado Actual

Build Status

Compatibilidad

Dependencias


Instalación

Para poder hacer uso de nuestro SDK para consumir el servio REST que SmarterWeb le provee primero es necesario tener instalado una version de PHP ya sea la 5.6 o la version 7 y posteriormente instalar manejador de paquetes de PHP Composer

Instalar Composer

Preparar nuestro ambiente de Desarrollo

De esta manera descarga las dependencias que antes escribimos dentro del require que en nuestro caso es el SDK

En caso de no usar composer

Se puede hacer uso de las clases mediante la implementacion manual haciendo uso del archivo SWSDK.php en lugar del archivo vendor.php


Implementación

La librería cuenta con dos servicios principales los que son la Autenticacion y el Timbrado de CFDI (XML).

Nueva funcionalidad para el soporte con servidores Proxy

Si tu posees un servidor proxy en tu empresa y deseas que la libreria lo use, debes pasar un parametro extra llamado " proxy" con el host y puerto de tu servidor proxy.

Autenticación

El servicio de Autenticación es utilizado principalmente para obtener el token el cual sera utilizado para poder timbrar nuestro CFDI (xml) ya emitido (sellado), para poder utilizar este servicio es necesario que cuente con un usuario y contraseña para posteriormente obtenga el token, usted puede utilizar los que estan en este ejemplo para el ambiente de Pruebas**.

Obtener Token

El ejemplo anterior la respuesta es un objeto tipo JSON y dentro de el se encuentra el Token

Timbrar CFDI V1

StampV1 Recibe el contenido de un XML ya emitido (sellado) en formato String, posteriormente si la factura y el token son correctos devuelve el complemento timbre en un string (TFD), en caso contrario lanza una excepción.

Timbrar XML en formato string utilizando usuario y contraseña

El ejemplo anterior la respuesta es un objeto tipo JSON y dentro de el se encuentra el TFD

Timbrar XML en formato string utilizando token

El ejemplo anterior la respuesta es un objeto tipo JSON y dentro de el se encuentra el TFD

Nueva funcionalidad para el soporte con servidores Proxy

Si tu posees un servidor proxy en tu empresa y deseas que la libreria lo use, debes pasar un parametro extra llamado " proxy".

Timbrar CFDI V2

StampV2 Recibe el contenido de un XML ya emitido (sellado) en formato String, posteriormente si la factura y el token son correctos devuelve el complemento timbre en un string (TFD),asi como el comprobante ya timbrado en formato string (CFDI), en caso contrario lanza una excepción.

Timbrar XML en formato string utilizando usuario y contraseña

El ejemplo anterior la respuesta es un objeto tipo JSON y dentro de el se encuentra el TFD

Timbrar XML en formato string utilizando token

El ejemplo anterior la respuesta es un objeto tipo JSON y dentro de el se encuentra el TFD y el CFDI

Timbrar XML en formato base64 utilizando token/credenciales

Si se desea, se puede usar la version 2 en la modalidad base64, esto quiere decir que se puede enviar el xml previamente sellado en formato base64, y la libreria le respondera la misma estructura de respuesta que se usa en v2 normal con el tfd, y cfdi en base64 tambien.

El ejemplo anterior la respuesta es un objeto tipo JSON y dentro de el se encuentra el TFD y el CFDI en base64

Timbrar CFDI V3

StampV3 Recibe el contenido de un XML ya emitido (sellado) en formato String, posteriormente si la factura y el token son correctos devuelve el comprobante ya timbrado en formato string (CFDI), en caso contrario lanza una excepción.

Timbrar XML en formato string utilizando usuario y contraseña

El ejemplo anterior la respuesta es un objeto tipo JSON y dentro de el se encuentra el CFDI

Timbrar XML en formato string utilizando token

El ejemplo anterior la respuesta es un objeto tipo JSON y dentro de el se encuentra el CFDI

Timbrar XML Issue V4 CustomId issueV4CustomIdPdfV1 Recibe el contenido de un XML sin sellar en formato String se pasa un parametro customId en formato String, posteriormente si la factura y el token son correctos devuelve el complemento timbre en un string (TFD), en caso contrario lanza una excepción.

issueV4CustomIdPdfV2 Recibe el contenido de un XML sin sellar en formato String se pasa un parametro customId en formato String, posteriormente si la factura y el token son correctos devuelve el complemento timbre en un string (TFD), asi como el comprobante ya timbrado en formato string (CFDI) en caso contrario lanza una excepción.

issueV4CustomIdPdfV3 Recibe el contenido de un XML sin sellar en formato String se pasa un parametro customId en formato String, posteriormente si la factura y el token son correctos devuelve el comprobante ya timbrado en formato string (CFDI), en caso contrario lanza una excepción.

issueV4CustomIdPdfV4 Recibe el contenido de un XML sin sellar en formato String se pasa un parametro customId en formato String, posteriormente regresara todos los datos del timbrado , en caso contrario lanza una excepción.

Timbrar XML Issue V4 CustomId issueV4CustomIdEmailV1 Recibe el contenido de un XML sin sellar en formato String se pasa un parametro customId en formato String, posteriormente si la factura y el token son correctos devuelve el complemento timbre en un string (TFD), en caso contrario lanza una excepción.

issueV4CustomIdEmailV2 Recibe el contenido de un XML sin sellar en formato String se pasa un parametro customId en formato String , se manda un parametro email en formato String o un Array de hasta maximo 5 correos electronicos, Se genera un pdf por default con este metodo, posteriormente si la factura y el token son correctos devuelve el complemento timbre en un string (TFD),asi como el comprobante ya timbrado en formato string ( CFDI**) en caso contrario lanza una excepción.

issueV4CustomIdEmailV3 Recibe el contenido de un XML sin sellar en formato String se pasa un parametro customId en formato String , se manda un parametro email en formato String o un Array de hasta maximo 5 correos electronicos, Se genera un pdf por default con este metodo, posteriormente si la factura y el token son correctos devuelve el comprobante ya timbrado en formato string (CFDI), en caso contrario lanza una excepción.

issueV4CustomIdEmailV4 Recibe el contenido de un XML sin sellar en formato String se pasa un parametro customId en formato String, , se manda un parametro email en formato String o un Array de hasta maximo 5 correos electronicos, Se genera un pdf por default con este metodo, posteriormente regresara todos los datos del timbrado , en caso contrario lanza una excepción.

Timbrar XML en formato base64 utilizando token/credenciales
Si se desea, se puede usar la version 3 en la modalidad base64, esto quiere decir que se puede enviar el xml previamente sellado en formato base64, y la libreria le respondera la misma estructura de respuesta que se usa en v3 normal con el cfdi en base64 tambien.

El ejemplo anterior la respuesta es un objeto tipo JSON y dentro de el se encuentra el CFDI en base64

Timbrar CFDI V4

StampV4 Recibe el contenido de un XML ya emitido (sellado) en formato String, posteriormente si la factura y el token son correctos devuelve el comprobante ya timbrado en formato string (CFDI), asi como otros campos por ejemplo: cadenaOriginalSAT, noCertificadoSAT, noCertificadoCFDI, uuid, etc , en caso contrario lanza una excepción.

Timbrar XML en formato string utilizando usuario y contraseña

El ejemplo anterior la respuesta es un objeto tipo JSON y dentro de el se encuentra el CFDI

Timbrar XML en formato string utilizando token

El ejemplo anterior la respuesta es un objeto tipo JSON y dentro de el se encuentra el CFDI

Timbrar XML en formato base64 utilizando token/credenciales
Si se desea, se puede usar la version 4 en la modalidad base64, esto quiere decir que se puede enviar el xml previamente sellado en formato base64, y la libreria le respondera la misma estructura de respuesta que se usa en v4 normal con el cfdi en base64 tambien.

El ejemplo anterior la respuesta es un objeto tipo JSON y dentro de el se encuentra el CFDI en base64

Emisión Timbrado

Emisión Timbrado Recibe el contenido de un XML en formato String, posteriormente si la factura y el token son correctos, genera el sellado, y devuelve el comprobante ya timbrado en formato string (CFDI), en caso contrario lanza una excepción.

Emisión timbrado V1

Está versión de timbrado regresa únicamente el TFD.

Ejemplo de uso

Emisión timbrado V2

Está versión de timbrado regresa TFD y el CFDI.

Ejemplo de uso

Emisión timbrado V3

Está versión de timbrado regresa únicamente el CFDI.

Ejemplo de uso

Emisión timbrado V4

Está versión de timbrado regresa CFDI, CadenaOriginalSAT, noCertificadoSat, noCertificadoCFDI, UUID, selloSAT, selloCFDI, fechaTimbrado y QRCode.

Ejemplo de uso

Emisión Timbrado JSON

Emisión Timbrado JSON Recibe el contenido de un JSON en formato String, posteriormente si el JSON y el token son correctos, genera el armado y sellado del XML, posteriormente devuelve el comprobante ya timbrado en formato string (CFDI), en caso contrario mostrará error al ser enviado a timbrar.

Emisión timbrado JSON V1

Está versión de timbrado regresa únicamente el TFD.

Ejemplo de uso

Emisión timbrado JSON V2

Está versión de timbrado regresa el TFD y CFDI.

Ejemplo de uso

Emisión timbrado JSON V3

Está versión de timbrado regresa únicamente el CFDI.

Ejemplo de uso

Emisión timbrado JSON V4

Está versión de timbrado regresa CFDI, CadenaOriginalSAT, noCertificadoSat, noCertificadoCFDI, UUID, selloSAT, selloCFDI, fechaTimbrado y QRCode.

Ejemplo de uso

Cancelación CFDI 3.3

Cancelación por CSD

Se deben incluir los siguientes datos:

Paso 1: Obtener token de acceso, o en su defecto usar token infinito

Primeramente se deberá autenticar en nuestros servicios en orden de obtener token de acceso, o si se desea, se puede usar el token infinito.

Paso 2: Enviar datos necesarios

Se envían los datos necesarios para la cancelación y por supuesto el token de acceso anteriormente generado.

Cabe mencionar que los archivos .cer y .key, al ser binarios, deberán enviarse en formato base64 para que podamos procesarlos en nuestro servidor.

Cancelación por XML

Como su nombre lo indica, este servicio recibe únicamente el XML sellado con los UUID a cancelar.

Paso 1: Obtener token de acceso, o en su defecto usar token infinito

Primeramente se deberá autenticar en nuestros servicios en orden de obtener token de acceso, o si se desea, se puede usar el token infinito.

Paso 2: Enviar datos necesarios

Se envían los datos necesarios para la cancelación, que únicamente es el XML y el token obtenido previamente.

Cancelación por PFX

Se deben incluir los siguientes datos:

Paso 1: Obtener token de acceso, o en su defecto usar token infinito

Primeramente se deberá autenticar en nuestros servicios en orden de obtener token de acceso, o si se desea, se puede usar el token infinito.

Paso 2: Enviar datos necesarios

Se envían los datos necesarios para la cancelación y el token obtenido previamente.

Cancelación por UUID

Se deben incluir los siguientes datos:

Paso 1: Obtener token de acceso, o en su defecto usar token infinito

Primeramente se deberá autenticar en nuestros servicios en orden de obtener token de acceso, o si se desea, se puede usar el token infinito.

Paso 2: Enviar datos necesarios

Se envían los datos necesarios para la cancelación y el token obtenido previamente.

Respuestas de cancelación

Todos los response de cancelación retornan la misma estructura en caso de error o en caso de petición satisfactoria, las cuales son las siguientes:

Tipos de respuesta

En caso de una respuesta exitosa, se regresará un 200. En caso de una respuesta no exitosa, se regresará un código diferente de 200, el código puede variar dependiendo del problema dado.

Respuesta exitosa

En este caso se recibe un mensaje JSON, el cual contiene los siguientes datos:

Respuesta no exitosa

Códigos de respuesta de folios de cancelación

Código Mensaje Descripcion
201 Se considera una solicitud de cancelación exitosa, sin embargo esto no asegura su cancelación.
202 Folio Fiscal Previamente cancelado Se considera solicitud de cancelación previamente enviada. Estatus Cancelado ante el SAT.
203 Folio Fiscal No corresponde al emisor.
204 Folio Fiscal No Aplicable a Cancelación.
205 Folio Fiscal No Aplicable a Cancelación. El sat da una prorroga de 48 hrs para que el comprobante aparezca con estatus Vigente posterior al envió por parte del Proveedor de Certificación de CFDI. Puede que algunos comprobantes no aparezcan al 204 Folio Fiscal No Aplicable a Cancelación. momento, es necesario esperar por lo menos 48 hrs.
206 UUID no corresponde a un CFDI del Sector Primario.
207 No se especificó el motivo de cancelación o el motivo no es valido.
208 Folio Sustitución invalido.
209 Folio Sustitución no requerido.
210 La fecha de solicitud de cancelación es mayor a la fecha de declaración.
211 La fecha de solicitud de cancelación límite para factura global.
212 Relación no valida o inexistente.
300 Usuario No Válido.
301 XML Mal Formado. Este código de error se regresa cuando el request posee información invalida, ejemplo: un RFC de receptor no válido.
302 XML Mal Formado.
304 Certificado Revocado o Caduco. El certificado puede ser inválido por múltiples razones como son el tipo, la vigencia, etc.
305 Certificado Inválido. El certificado puede ser inválido por múltiples razones como son el tipo, la vigencia, etc.
309 Certificado Inválido. El certificado puede ser inválido por múltiples razones como son el tipo, la vigencia, etc.
310 CSD Inválido.

Consultar Saldo CFDI 3.3

Este servicio recibe el token y genera los elementos que componen la consulta de saldos:

Paso 1: Obtener token de acceso, o en su defecto usar token infinito. Primeramente se deberá autenticar en nuestros servicios en orden de obtener token de acceso, o si se desea, se puede usar el token infinito.

Paso 2: Enviar token de acceso. Se envía el token para realizar la consulta de saldo.

Respuestas de consulta de saldo

El response de consulta de saldo retorna la siguiente estructura en caso de error o en caso de petición satisfactoria:

Tipos de respuesta En caso de una respuesta exitosa, se regresará un 200. En caso de una respuesta no exitosa, se regresará un código > diferente de 200, el código puede variar dependiendo del problema dado.

Respuesta exitosa

En este caso se recibe un mensaje JSON, el cual contiene los siguientes datos:

Respuesta no exitosa

Consulta Status SAT

Consulta Status SAT Recibe los parámetros de URL Soap, RFC Emisor, RFC Receptor, Total, y UUID en formato String, posteriormente hace la consulta en el SOAP proporcionado sobre el estatus de la factura.

Ejemplo de uso

Consulta de Solicitudes pendientes de Aceptar/Rechazar

Este servicio devuelve una lista [Array] de UUID correspondientes a las solicitudes que tiene pendientes de aceptar o rechazar determinado RFC. Así mismo este servicio recibe solamente el RFC para consultar.

Ejemplo de uso

Aceptar/Rechazar Cancelación

Aceptar/Rechazar es el servicio mediante el cual el receptor puede aceptar o rechazar un UUID que obtiene de su lista de pendientes. El método tiene varias maneras de ser consumido, por CSD, PFX, sólo UUID y por XML.

Aceptar/Rechazar con CSD

Está modalidad recibe como parámetros el RFC del Receptor, Certificado y llave privada [En base64], contraseña de Llave privada y una lista de UUID con su respectiva respuesta.

Ejemplo de uso

Aceptar/Rechazar con PFX

Está modalidad recibe como parámetros el RFC del Receptor, PFX [En base64], contraseña de Llave privada y una lista de UUID con su respectiva respuesta.

Ejemplo de uso

Aceptar/Rechazar con XML

Está modalidad recibe como parámetros el XML de Aceptación/Rechazo, dentro del cual ya vienen especificados los UUID y su correspondiente respuesta.

XML a envíar

Ejemplo de uso

Aceptar/Rechazar con UUID

Está modalidad recibe como parámetros el RFC del Receptor, el UUID, así como su acción a tomar. Es importante decir que los certificados correspondientes al RFC deben estar en el administrador de timbres.

Ejemplo de uso

Consulta documentos relacionados

Este servicio nos permite conocer las facturas que se encuentren relacionadas a un UUID. El método tiene varias maneras de ser consumido, por CSD, PFX, sólo UUID y por XML.

Documentos relacionados con CSD

Está modalidad recibe como parámetros el RFC del Receptor, Certificado y Llave privada [En base64], contraseña de Llave privada y el UUID a consultar.

Ejemplo de uso

Documentos relacionados con PFX

Está modalidad recibe como parámetros el RFC del Receptor, PFX [En base64], contraseña de Llave privada y el UUID a consultar.

Ejemplo de uso

Documentos relacionados con XML

Está modalidad recibe como parámetro el XML para consulta de documentos relacionados.

XML a enviar

Ejemplo de uso

Documentos relacionados con UUID

Está modalidad recibe como parámetros el RFC del Receptor y el UUID a consultar.

Ejemplo de uso

Servicio PDF

Generar PDF

Servicio mediante el cual se genera un PDF a partir de un documento XML y una plantilla. Se puede utilizar una plantilla genérica o una personalizada más ajustada a sus necesidades.

La función recibe los siguientes parámetros:

Ejemplo de uso:

Plantilla con datos adicionales

Regenerar PDF

El servicio podrá generar o regenerar un PDF de un CFDI previamente timbrado y podrá guardar o remplazar el archivo PDF para ser visualizado posteriormente desde el portal ADT.

La función recibe los siguientes parámetros:

Ejemplo de uso

Con datos adicionales

Servicio Reenvío

Servicio de reenvio de email, recibe el uuid del comprobante previamente timbrado y el/los correos a los que se les hará el reenvío.

Crear una instancia

Reenvío Email


All versions of sw-sdk-php with dependencies

PHP Build Version
Package Version
Requires php Version ^7.2|^8.0
ext-curl Version *
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package webneex/sw-sdk-php contains the following files

Loading the files please wait ....