PHPackages                             armandolazarte/phpafipws - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. armandolazarte/phpafipws

ActiveLibrary[API Development](/categories/api)

armandolazarte/phpafipws
========================

Librería para usar los Web Services de AFIP (ex AFIP).

v1.2.0(9mo ago)148↑1400%MITPHPPHP &gt;=8.1

Since Aug 2Pushed 9mo agoCompare

[ Source](https://github.com/armandolazarte/phpafipws)[ Packagist](https://packagist.org/packages/armandolazarte/phpafipws)[ RSS](/packages/armandolazarte-phpafipws/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (5)Dependencies (5)Versions (6)Used By (0)

 [![PhpAfipWs](https://raw.githubusercontent.com/armandolazarte/phpafipws/master/docs/logo.png)](https://raw.githubusercontent.com/armandolazarte/phpafipws/master/docs/logo.png)**SDK moderno para Web Services de AFIP en PHP**

[![Tests](https://github.com/armandolazarte/phpafipws/actions/workflows/tests.yml/badge.svg)](https://github.com/armandolazarte/phpafipws/actions)[![Downloads](https://camo.githubusercontent.com/bf25bf3ac32bcc5bff465f79ca7b057074f2ab61883ef94e4eaed255b5be344f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f61726d616e646f6c617a617274652f706870616669707773)](https://packagist.org/packages/armandolazarte/phpafipws)[![Version](https://camo.githubusercontent.com/96c04e6ab5ab58ebbdc09e02b999b1c370c97253e7d466c619746510c549dc4a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f61726d616e646f6c617a617274652f706870616669707773)](https://packagist.org/packages/armandolazarte/phpafipws)[![License](https://camo.githubusercontent.com/1674deee1da23bc918d3e64447282e66179018c8a1876acd71029e9ae27b9a7e/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f61726d616e646f6c617a617274652f706870616669707773)](https://packagist.org/packages/armandolazarte/phpafipws)[![PHP Version](https://camo.githubusercontent.com/4bcadd5da18d64838f5b0aade2088be92f61a30a30ae577d7a8acfa51819b04b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f61726d616e646f6c617a617274652f706870616669707773)](https://packagist.org/packages/armandolazarte/phpafipws)[![Test Coverage](https://camo.githubusercontent.com/5e33a51a6ecb1454858958c4b5a1ec6011d38f71ec926e102ca0756e92a4fd0a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f74657374732d393925323070617373696e672d627269676874677265656e)](https://github.com/armandolazarte/phpafipws)

---

📋 Descripción
-------------

[](#-descripción)

PhpAfipWs es un SDK moderno y robusto para interactuar con los Web Services de AFIP (Administración Federal de Ingresos Públicos) de Argentina. Desarrollado con PHP 8.1+, ofrece una interfaz simple y elegante para la facturación electrónica y otros servicios de AFIP.

✨ Características
-----------------

[](#-características)

- **Moderno**: Desarrollado con PHP 8.1+ y tipado estricto
- **Fácil de usar**: API intuitiva y bien documentada
- **Completo**: Soporte para múltiples Web Services de AFIP
- **Seguro**: Manejo robusto de certificados y autenticación
- **Confiable**: 99 tests automatizados con Pest 4
- **Mantenido**: Actualizaciones regulares y soporte activo

### 🆕 Novedades v1.2.0

[](#-novedades-v120)

- **Nueva clase GeneradorCertificados**: Utilidades completas para gestión de certificados y claves
    - `generarClavePrivada()` - Generar claves privadas RSA con phpseclib3
    - `generarCSR()` - Crear Certificate Signing Requests para AFIP
    - `extraerInformacionCSR()` - Extraer información de CSRs existentes
    - `extraerInformacionCertificado()` - Analizar certificados X.509
    - `crearInformacionDN()` - Crear Distinguished Names válidos para AFIP
    - `validarInformacionDN()` - Validar estructura de Distinguished Names
- **Nueva excepción CertificadoException**: Manejo específico de errores de certificados
- **6 ejemplos nuevos**: Guías paso a paso para generación de certificados
- **Integración con phpseclib3**: Soporte nativo para operaciones criptográficas
- **Documentación especializada**: Guía completa en `docs/GeneradorCertificados.md`

### 🔄 Novedades anteriores v1.1.2

[](#-novedades-anteriores-v112)

- **Nuevos métodos CAEA**: 3 métodos adicionales para gestión completa de CAEA
    - `informarCAEASinMovimiento()` - Informar CAEA sin movimiento
    - `consultarCAEASinMovimiento()` - Consultar estado de CAEA sin movimiento
    - `registrarComprobantesConCAEA()` - Registrar comprobantes emitidos con CAEA
- **Nuevos métodos de consulta**: 2 métodos para información adicional
    - `obtenerCotizacionMoneda()` - Obtener cotización oficial de monedas
    - `obtenerActividades()` - Consultar actividades económicas del emisor
- **Ejemplos ampliados**: 24 ejemplos prácticos cubriendo 100% de los 22 métodos disponibles
- **Tests actualizados**: Suite de tests expandida con cobertura completa de nuevos métodos
- **Documentación completa**: Guías detalladas y casos de uso para todos los métodos

🚀 Instalación
-------------

[](#-instalación)

Instala el paquete usando Composer:

```
composer require armandolazarte/phpafipws
```

📦 Requisitos
------------

[](#-requisitos)

- PHP &gt;= 8.1
- Extensión SOAP
- Extensión OpenSSL
- Extensión SimpleXML
- Certificado digital de AFIP
- Clave privada correspondiente

### Dependencias Opcionales

[](#dependencias-opcionales)

- **phpseclib/phpseclib:~3.0** - Para generar certificados y claves con `GeneradorCertificados`

🔧 Configuración Inicial
-----------------------

[](#-configuración-inicial)

### 1. Obtener Certificados

[](#1-obtener-certificados)

Tienes dos opciones para obtener certificados:

#### Opción A: Generar con GeneradorCertificados (Recomendado)

[](#opción-a-generar-con-generadorcertificados-recomendado)

```
use PhpAfipWs\Authorization\GeneradorCertificados;

// 1. Generar clave privada
$clavePrivada = GeneradorCertificados::generarClavePrivada(2048, 'mi_frase_secreta');
file_put_contents('clave_privada.key', $clavePrivada);

// 2. Crear información DN
$dn = GeneradorCertificados::crearInformacionDN(
    cuit: '20123456789',
    nombreOrganizacion: 'Mi Empresa S.A.',
    nombreComun: 'mi_empresa'
);

// 3. Generar CSR
$csr = GeneradorCertificados::generarCSR('clave_privada.key', $dn);
file_put_contents('certificado.csr', $csr);

// 4. Subir CSR a AFIP y descargar certificado
```

#### Opción B: Proceso Manual

[](#opción-b-proceso-manual)

1. Genera una clave privada y CSR con herramientas externas
2. Solicita el certificado en el sitio de AFIP
3. Descarga el certificado (.crt) y guarda tu clave privada (.key)

### 2. Estructura de Carpetas

[](#2-estructura-de-carpetas)

```
tu-proyecto/
├── resources/
│   ├── certificado.crt
│   └── clave_privada.key
└── ta/
    └── (archivos de tickets de acceso)

```

💻 Uso Básico
------------

[](#-uso-básico)

### Inicialización

[](#inicialización)

```
