Download the PHP package georgesks/facter-sdk-php without Composer
On this page you can find all versions of the php package georgesks/facter-sdk-php. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download georgesks/facter-sdk-php
More information about georgesks/facter-sdk-php
Files in georgesks/facter-sdk-php
Package facter-sdk-php
Short Description API pública para timbrar **CFDI 4.0** usando la infraestructura de Facter. **Modelo comercial:** un **cliente principal** (plan PREPAGO) compra timbres; sus **emisores** (cada uno un tenant con su propio RFC y CSD) consumen del saldo del principal. El contrato de entrada es el **JSON canónico CFDI 4.0**: el integrador envía el comprobante completo (Emisor, Receptor, Conceptos, Impuestos, Complemento...). Facter **valida** consistencia aritmética y contra catálogos SAT pero **no recalcula** totales — tu sistema es el sistema de registro. **Ambientes:** prueba en **Demo** `https://demo.facter.com.mx/api/ext/v1` (sandbox de pruebas, sin cobro real, datos efímeros) y, cuando estés listo, pasa a **Producción** `https://v2.facter.com.mx/api/ext/v1` (timbrado real, consume timbres). Necesitas **una cuenta y una API key por ambiente**; la key de un ambiente no funciona en el otro. El host define el comportamiento. **Autenticación:** `Authorization: Bearer fct_live_xxx`. **Idempotencia obligatoria** en endpoints mutadores vía header `Idempotency-Key`. Toda respuesta incluye `X-Request-Id` para soporte. Documentación completa, quickstart y ejemplos: https://v2.facter.com.mx/developers
License MIT
Homepage https://github.com/georgesks/facter-sdk-php
Informations about the package facter-sdk-php
Facter SDK para PHP
SDK oficial en PHP para el API Externo de Facter: timbra CFDI 4.0 (Ingreso, Egreso y Pagos 2.0), administra emisores, consulta tu saldo de timbres y recibe webhooks — todo con la infraestructura de timbrado de Facter.
📚 Documentación interactiva del API: https://v2.facter.com.mx/developers
El SDK se genera desde la especificación OpenAPI oficial. No contiene lógica de negocio ni secretos: es un cliente HTTP tipado sobre el contrato público.
Instalación
Requisitos: PHP 7.4+ u 8.x, extensiones ext-json y ext-curl. Guzzle se
instala como dependencia.
Ambientes
El ambiente es el host. Una API key de Demo solo funciona contra
demo.facter.com.mx; una de Producción solo contrav2.facter.com.mx. No son intercambiables. Empieza siempre en Demo (timbra contra el sandbox del SAT, sin cobro real).
| Ambiente | Host | Cobro |
|---|---|---|
Environment::DEMO |
demo.facter.com.mx |
No (sandbox) |
Environment::LIVE |
v2.facter.com.mx |
Sí (consume timbres) |
Inicio rápido
La estructura completa del
cfdi(el JSON canónico CFDI 4.0) está documentada, con ejemplos verificados, en el portal: https://v2.facter.com.mx/developers.
Idempotencia (timbrar = dinero)
Timbrar consume un timbre. El API exige Idempotency-Key en los mutadores para
garantizar consumo exactamente una vez. El SDK te da claves seguras:
Regla: una clave por intento lógico. Si reintentas el mismo CFDI tras un timeout, reusa la misma clave — el API hace replay de la respuesta original en vez de timbrar otra vez.
Reintentos automáticos (respetan Retry-After)
Monta el middleware incluido para reintentar de forma segura 429 RATE_LIMITED,
409 IDEMPOTENCY_IN_FLIGHT y errores de red, respetando el header Retry-After:
Nunca reintenta errores de negocio (402 sin saldo, 422 validación) — reintentar no cambiaría el resultado.
Validar sin timbrar (dry-run)
Verifica estructura, aritmética y catálogos SAT sin consumir timbre ni requerir idempotencia:
Webhooks: verifica la firma
Facter firma cada webhook con HMAC-SHA256. Siempre verifica antes de confiar en el payload:
Manejo de errores
Toda respuesta de error sigue el envoltorio estándar del API. Las excepciones son
Facter\Sdk\ApiException:
Operaciones disponibles
| Recurso | Clase | Operaciones |
|---|---|---|
| CFDIs | CFDIsApi |
Timbrar, validar, listar, consultar, XML, PDF |
| Cancelaciones | CancelacionesApi |
Solicitar y consultar cancelación SAT |
| Emisores | EmisoresApi |
Alta, listar, detalle, subir CSD |
| Timbres | TimbresApi |
Saldo del pool, reporte de consumo |
Los webhooks se configuran desde la aplicación web de Facter (Mi cuenta → Webhooks), no por el SDK/API. Lo que el SDK te da es la verificación de firma de las entregas — ver Webhooks: verifica la firma.
Referencia método por método en docs/ y en el portal
https://v2.facter.com.mx/developers.
Versionado y soporte
- SemVer. Cada release acompaña un cambio del contrato del API; el changelog de releases es la referencia de cambios.
- Soporte: portal de desarrolladores · issues de este repositorio.
Licencia
MIT.
All versions of facter-sdk-php with dependencies
ext-curl Version *
ext-json Version *
ext-mbstring Version *
guzzlehttp/guzzle Version ^7.3
guzzlehttp/psr7 Version ^1.7 || ^2.0