php

adrian
adrian

Hola necesitaria si me puenden ayudar con este error

[Code] => 10024 [Msg] => Si ImpTrib es igual a 0 el objeto Tributos y Tributo no deben informarse. )

estoy informando eImpTotal] => 1542.75 [ImpTotConc] => 0 [ImpNeto] => 1275 [ImpTrib] => 25.5 [ImpOpEx] => 0 [ImpIVA] => 267.75 [FchServDesde] => [FchServHasta] => [FchVtoPago] => [MonId] => DOL [MonCotiz] => 1084.50 [Iva] => Array ( [AlicIva] => Arrayl campo imptrib con valor

adrian adrian [Code] => 10024 [Msg] => Si ImpTrib es igual a 0 el objeto Tributos y Tributo no deben informarse.
Ivan
Ivan

Cual es el la data completa que estas enviando?

adrian
adrian

hola perdon la demora,, es esta

simpre funciono desde el 2019 ahora que le agregamos el tributo IIBB es que nos da el error de los tributos que si es igual a cero no rdebo informarlo pero no le mando cero

si facturo un cliente que no lleva iibb facturo perfecto

no se si vos hiciste alguna factura con tributo IIBB

adrian adrian simpre funciono desde el 2019 ahora que le agregamos el tributo IIBB es que nos da el error de los tributos que si es igual a cero no rdebo informarlo pero no l
Ivan
Ivan

Fijate de que la propiedad Tributo no sea un objeto, sino que sea un array de objetos, similar a como tenes AlicIva

adrian
adrian

si es un array de objetos

Ivan Ivan prod https://servicios1.afip.gov.ar/wsfev1/service.asmx?wsdl dev https://wswhomo.afip.gov.ar/wsfev1/service.asmx?wsdl
Jantpf
Jantpf

Muchas gracias Ivan por los enlaces. Estoy haciendo pruebas en homologación y estoy obteniendo esto: Fatal error: Uncaught exception 'Exception' with message 'SOAP Fault: Sender Function ("FEParamGetCondicionIvaReceptor") is not a valid method for this service

¿A qué puede ser debido? Gracias.

adrian adrian si es un array de objetos
Ivan
Ivan

En el ejemplo que mandaste es un objeto, observa la diferencia con AlicIva

Ivan Ivan actualizaste el wsdl?
Jantpf
Jantpf

Sí sí, lo actualicé, de echo, el error está reportando que no es un método válido para ese servicio, con lo cual, se envían con los parámetros necesarios. Si no estuviese actualizado el wsdl, creo que reportaría que los datos enviados no son correctos o algo parecido ¿no te parece?

adrian
adrian

vos tendias algun ejmplo... por favor graciaas

donde se vea los tributos IIBB

adrian adrian vos tendias algun ejmplo... por favor graciaas
Ivan
Ivan

Estas usando la libreria Afip.php?

adrian
adrian

Hola necesitaria hacerte una oferta laboral.. como me puedo comunicar contigo.. gracias

adrian
adrian

ya te envie un mail

Choy
Choy

buenas necesito si alguien me puede colaborar con el error CondicionIvaReceptor, donde es que hay que enviar el parametro ?. saludos

Eduardo
Eduardo

Buenos días gente.

Hasta ahora me la pasé peleando en la pagina de afip creando múltiples certificados pero entiendo que este paquete me resuelve todo. 🙂

Yo venía usando un certificado para cada WS, pero después de leer https://docs.afipsdk.com/paso-a-paso/otros-metodos-utiles#crear-certificado creo que DEBO hacer las cosas distintas y les consulto para ver si estoy bien orientado.

Yo (persona física) puedo generar un certificado que se llame TODOAFIP por ejemplo. Ese certificado lo van a usar varios CUIT’s para acceder a los WS de: • constancia de inscripción (ws_sr_constancia_inscripcion) • factura electrónica (wsfe) Cuando llegue el vencimiento del certificado, lo único que tengo que hacer es renovar TODOAFIP, bajar el nuevo .crt y copiarlo en cada instalación que lo esté usando . Voy bien? Por lo que vi, en desarrollo lo hago con mi cuit y una vez que la programación está finalizada, paso a producción y autorizo los CUIT’s. Lo que no vi todavía es como asociar/autorizar un CUIT para que use el certificado. A todo esto, no tengo que hacer nada en la pagina de AFIP?

Eduardo Eduardo Buenos días gente. Hasta ahora me la pasé peleando en la pagina de afip creando múltiples certificados pero entiendo que este paquete me resuelve todo. 🙂 Yo
Ivan
Ivan

Hola Eduardo, te dejo este guia para que te saques las dudas https://afipsdk.com/blog/como-obtener-certificado-para-web-services-arca/

Lo que decis "Cuando llegue el vencimiento del certificado, lo único que tengo que hacer es renovar TODOAFIP, bajar el nuevo .crt y copiarlo en cada instalación que lo esté usando " es asi

Choy
Choy

este es mi correo [email protected] si crees que podamos intercambiar alguna idea. me escribes, para ver si damo solución a esto. A mi me esta dando ahora q el El servicio de facturación electrónica del lado de la AFIP no está disponible en este momento.

Ivan Ivan Hola Eduardo, te dejo este guia para que te saques las dudas https://afipsdk.com/blog/como-obtener-certificado-para-web-services-arca/ Lo que decis "Cuando ll
Eduardo
Eduardo

Ivan, creo que se me mezclan los cuit's en los ejemplos para crear certificado y para autorizarlo.

Tengo 2 cuit's, el de la empresa que va a utilizar la factura electronica y el cuit de la persona fisica que entra a afip en representacion de la empresa.

Estoy poniendo en $tax_id el cuit de la empresa y en $username el cuit de la persona. En $alias le pongo 'fe2025'. Al crear la instancia utilizo el token que me enviaron y pongo "production => TRUE"

Genero el .crt y el .key

2do paso. Autorizarlo.

Utilizando los mismos valores en el tutorial de "Autorizar web service" me responde "object(stdClass)#7 (1) { ["status"]=> string(6) "exists" } "

Copio el crt y el key en el servidor y cuando voy a emitir una factura me devuelve:

"Fatal error: Uncaught Exception: (600) ValidacionDeToken: No aparecio CUIT en lista de relaciones: (el cuit de la persona fisica con la que cree el certificado)".

Tengo confusiones con los CUIT's ?

Gracias.

Guille
Guille

Buen dia comunidad ! estoy trabajando en homologación intentando poner eln marcha padron13. En estas simples lineas tal como indica la ayuda. $CUIT = $parametros_cuit; $afip = new Afip(array('CUIT' => $CUIT)); // CUIT del contribuyente $national_id = 33693450239; $tax_id = $afip->RegisterScopeThirteen->GetTaxIDByDocument($national_id); pero obtengo el dato que me falta cert+key . {"statusCode":400,"data_errors":{"cert":"El campo Certificado es obligatorio","key":"El campo Key es obligatorio"}}

Choy
Choy

Buenas noches, en mi sistema actualmente tengo registrado varias condiciones impositivas, dichas condiciones se las asigno a los constribuyentes, una vez que consulto el padron 5 (constancia de inscripción), a través del id del impuesto, por ejemplo:

1 Consumidor Final [0] 2 IVA Responsable Inscripto[30] 3 IVA Sujeto Exento [32] 4 Responsable Monotributo [5243, 20] 5 IVA No Alcanzado [34]

Si alguien sabe los id de los impuestos de las demás condiciones que falta, me las puede hacer saber, ya que quiero registrar todas las condiciones impositivas. Desde ya muchas gracias.

carlos.castro
carlos.castro

Buenas! alguno tuvo problemas con FC A usandso la libreria hoy?

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">soap:HeaderProduccion - se82025-03-18T11:05:07.1809336-03:005.8.2.0soap:Bodysoap:Faultsoap:Codesoap:Valuesoap:Sendersoap:Reason<soap:Text xml:lang="en">Server was unable to read request. ---> There is an error in XML document (2, 1715). ---> Input string was not in a correct format.<soap:Detail />

muy raro que FC B salen OK y FC A no autoriza

hasta ayer OK, hoy no

carlos.castro carlos.castro Buenas! alguno tuvo problemas con FC A usandso la libreria hoy?
Ivan
Ivan

Puede haber algun campo mal en la request

ese es el tema, vengo usando hace mucho la lib y no tuve un drama. por eso pregunto por si alguien tuvo mismo problema desde afip

ahora en entorno de pruebas me pide la condicioniva del receptor, eso es parte del cambio nuevo para el 15 de abril

no se si cambiaron ya webservice o no

Jantpf Jantpf Sí sí, lo actualicé, de echo, el error está reportando que no es un método válido para ese servicio, con lo cual, se envían con los parámetros necesarios. Si no
Axel Britzius
Axel Britzius

Buenas, a mi me pasa lo mismo! Tengo el wsdl actualizado, en homologación funciona y en produccion no! Y yo lo estoy llamando directamente con:

$tax_types = $afip->ElectronicBilling->ExecuteRequest('FEParamGetCondicionIvaReceptor');

será algo temporal nada mas?

Ivan Ivan En produccion no esta habilitado aun
Axel Britzius
Axel Britzius

habrá que esperar hasta el 15-04 entonces? Hay mas precisiones al respecto?

Guille
Guille

buenso dias. Alguien tiene un ejemplo de una solicitud de cae con múltiples IVA en el mismo comprobante ? como va armado el array por ejemplo con un producto con un 10.5 y otro producto con el 21% ? Gracias !

Guille Guille buenso dias. Alguien tiene un ejemplo de una solicitud de cae con múltiples IVA en el mismo comprobante ? como va armado el array por ejemplo con un producto c
Mediasolutions
Mediasolutions

$arriva = array( array('Id'=>intval($ivaint10),'BaseImp'=>$gravVta10,'Importe'=>$ivaVta10), array('Id'=>intval($ivaint21),'BaseImp'=>$gravVta21,'Importe'=>$ivaVta21), array('Id'=>intval($ivaint27),'BaseImp'=>$gravVta27,'Importe'=>$ivaVta27) );

$data = array( 'CantReg' => 1, // Cantidad de items del/los comprobante/s 'PtoVta' => $puntoVenta, 'CbteTipo' => $tpivaVta, 'Concepto' => 1, // Concepto del Comprobante: (1)Productos, (2)Servicios, (3)Productos y Servicios 'DocTipo' => $DocTipo, 'DocNro' => $cuitVta, 'CondicionIVAReceptorId' => $ivacliente, 'CbteDesde' => $last_voucher+1, 'CbteHasta' => $last_voucher+1, 'CbteFch' => intval(date('Ymd')), 'ImpTotal' => $total, 'ImpTotConc' => $ngraVta, 'ImpNeto' => $gravVta, 'ImpOpEx' => $exento, 'ImpIVA' => $ivaVta, 'ImpTrib' => $ttdgr, 'FchServDesde' => NULL, 'FchServHasta' => NULL, 'FchVtoPago' => NULL, 'MonId' => 'PES', 'MonCotiz' => 1, 'Iva' => $arriva );

Guille
Guille

@usermuchas gracias !

Axel Britzius Axel Britzius habrá que esperar hasta el 15-04 entonces? Hay mas precisiones al respecto?
Ivan
Ivan

Exacto, en teoria funcionara igual que en desarrollo

Ivan Ivan Exacto, en teoria funcionara igual que en desarrollo
Axel Britzius
Axel Britzius

Es raro, xq enviando el campo CondicionIVAReceptorId con la data del cbte si funciona! Pero bueno, al parecer está faltando desarrollar algo mas del lado de ARCA! En fin...

Alberto Valdez
Alberto Valdez

Buenos dias, a partir del 1 de Abril ARCA reglamento el régimen de transparencia fiscal, alguno sabe en que comprobantes hay que discriminar el IVA?. Hasta el momento cuando implemento la FE estoy enviando el array de IVAS en Factura A y Nota de Credito A, ahora en cuales deberia incluirlo? Factura B? Nota de Credito B? Factura C? Nota de Credito C? Muchas gracias.

Adrian Sirianni
Adrian Sirianni

Tal como indica el texto. Es para los responsables inscriptos cuando emiten factura b a consumidor final. Pasa a ser obligatorio a partir del primero de abril. Hay que mostrar un texto que indique el iva que paga el consumidor final.

Responsable inscripto -> Factura b

Alberto Valdez Alberto Valdez Buenos dias, a partir del 1 de Abril ARCA reglamento el régimen de transparencia fiscal, alguno sabe en que comprobantes hay que discriminar el IVA?. Hasta el m
Mediasolutions
Mediasolutions

Es escalonado, pero conviene aplicar a todos los comprobantes donde el IVA esté incluido en el precio final sin importar el tipo de comercio. Las provincias adheridas hasta ahora son CABA, Chubut, Entre Ríos, Mendoza y Misiones. El impuesto que hay que informar primeramente es IVA, los otros impuestos dependen de la provincia o juridiscción siendo optativos por el comercio.

Alberto Valdez
Alberto Valdez

Muchas gracias, lo que no me termina de quedar claro es a que comprobantes afecta A? B? C? Facturas y Notas de Credito?

ignakal
ignakal

Buenas tardes, alguien tiene algo ya hecho en PHP que le pone el cuit y devuelve ya resuelto, razon social, que tipo de iva tiene con el ID que hay que empezar a mandar a partir de abril, domicilio y todo ya formateado?

pepe
pepe

Hola a @todos!! Buenos dias. Alguien sabe si al momento de hacer una Factura de Venta o Nota de Credito o Nota de Debito, que tiene percepciones, se deben informar de alguna manera en particular? Muchas gracias

pepe pepe Hola a @todos!! Buenos dias. Alguien sabe si al momento de hacer una Factura de Venta o Nota de Credito o Nota de Debito, que tiene percepciones, se deben infor
Mediasolutions
Mediasolutions

Si, en la estructura "tributos", ejemplo:

'Tributos' => array( // (Opcional) Tributos asociados al comprobante array( 'Id' => 99, // Id del tipo de tributo (ver tipos disponibles) 'Desc' => 'DGR', // (Opcional) Descripcion 'BaseImp' => $tgrav, // Base imponible para el tributo 'Alic' => $alicuota, // Alícuota 'Importe' => $dgrVta // Importe del tributo ) ),

id: 1 Impuestos nacionales id: 2 Impuestos provinciales
id: 3 Impuestos municipales id: 4 Impuestos Internos id: 99 Otro

Nicolas400
Nicolas400

Buenas noches Comunidad! Vengo usando AfipSDK desde hace mas de 5 años, en un proyecto PHP con Yii 1.1.x no lo tengo con Composer 😦 como no estoy diariamente con la app que hice, cada 3 o 4 meses toco algo, y ahora surgio lo de la REG 5616 o algo asi, la famosa CondicionIVAReceptorId

mi consulta es, si estoy usando afpiSDK V5.0, todavia tengo la carpeta con los WSDL ( Afip_res ) es posible que falle si solo le agrego el campo al $data ? o necesito actualizar el WSDL que tengo en la carpeta Afip_res . 2) si es asi, de donde lo puedo obtener ? 3) cuando quiero probar el metodo :
$tax_types = $afip->ElectronicBilling->ExecuteRequest('FEParamGetCondicionIvaReceptor'); me devuelve error de SOAP, el metodo no existe.

Cualquier ayuda es bienvenida!

EL punto 3 lo resolvi, cambiando el WSDL con el que baje de AFIP.

Nicolas400
Nicolas400

La version mas nueva no usa el WSDL ?? pregunto porque por curiosidad me arme un entorno con composer y no veo esos archivos...

Chamullo
Chamullo

Buenas! Estoy con un problema en la generacion del QR... escaneo el qr generado y no me aparece la página de comprobante homologado. No me queda claro con respecto a la documentaicón de la AFIP https://www.afip.gob.ar/fe/qr/documentos/QRespecificaciones.pdf si el importe hay que enviarlo sin decimales o con . (punto) como separador decimal... Este es el código que estoy utilizando. Sabrían decirme qué es lo que estoy haciendo mal? Aerá en json_encode?

    public function buildQR($production = true)
    {
        $data = [
            "ver" => 1,
            "fecha" => $this->fechaEmision->format('Y-m-d'), // Cambio en formato de fecha
            "cuit" => $this->cuitEmisor,
            "ptoVta" => $this->puntoVenta,
            "tipoCmp" => $this->tipoComprobante,
            "nroCmp" => $this->numeroVoucher,
            "importe" => number_format($this->importeTotal, 2, '.', ''),
            "moneda" => "PES",
            "ctz" => 1,
            "tipoDocRec" => $this->tipoDocumento,
            "nroDocRec" => $this->numeroDocumento,
            "tipoCodAut" => "E",
            "codAut" => intval($this->cae),
        ];
        $json = json_encode($data, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
        $base64 = rtrim(strtr(base64_encode($json), '+/', '-_'), '=');
        $qrBaseURL = !$production
            ? "https://www.afip.gob.ar/fe/qr/test/?p="
            : "https://www.afip.gob.ar/fe/qr/?p=";

        $qrURL = $qrBaseURL . $base64;

        return $qrURL;
    }
cristian_dkb
cristian_dkb

number_format() devuelve un string... quizás por eso te da problemas... tendrías que mandar un float

Chamullo
Chamullo

gracias @user . Mandé importe así como viene como float pero no alcanzó.... Lo que hice fue encodear con las opciones básicas

        $json = json_encode($data);
        $base64 = base64_encode($json);

y ahí me lo toma perfecto! 👍

pepe
pepe

Hola a todos. hago un consulta, un mismo certificado puede ser utilizado en varios sistemas?

pepe pepe Hola a todos. hago un consulta, un mismo certificado puede ser utilizado en varios sistemas?
Mediasolutions
Mediasolutions

Un certificado es para un CUIT. Puede ser uilizado en todos los puntos de venta de ese CUIT.

pca1974
pca1974

Supuestamente hoy hacían el cambio de CondicionIVAReceptorId a producción pero el sistema que lo está usando, no tuvo cambios y siguen facturando normalmente a pesar que no hice el cambio en el servicio, alguien sabe cuando harían el cambio a producción? Alguien ya le pasó que el sistema les pidió el campo nuevo?

Iván
Iván

Hola, el campo en producción está, pero como opcional

pca1974
pca1974

pero no iba a ser obligatorio a partir del 15 de Abril? o sea, hoy? o estoy confundido?

Iván
Iván

según la RG si, pero se deja opcional hasta, si mal no recuerdo, junio

revisa el array de eventos que retorna cuando autorizas un comprobante CAE

pca1974
pca1974

ok, voy a ver si reviso un poco todo, igualmente si lo pongo ahora no debería causar problema, ya que el campo está igual

Iván
Iván

exacto

pca1974
pca1974

Gracias por la data!

pca1974 pca1974 Supuestamente hoy hacían el cambio de CondicionIVAReceptorId a producción pero el sistema que lo está usando, no tuvo cambios y siguen facturando normalmente a
Mediasolutions
Mediasolutions

La Agencia de Recaudación y Control Aduanero (ARCA) de Argentina ha notificado en el mensaje de respuesta de sus servicios web, que, ha postergado la obligatoriedad del uso del nodo ”Condición Frente al IVA del Receptor”.

¿Qué ocurrió con los plazos de implementación?

A contar del 6 de abril de 2025 el campo “Condición Frente al IVA del Receptor” pasó a ser opcional, más la fecha de obligatoriedad inicialmente fijada para el 15 de abril de 2025 por la Resolución General N°5616 fue postergada hasta el 30 de junio de 2025, inclusive, de forma tal, que el uso del nodo se volverá obligatorio a partir del 01 de julio de 2025, y las solicitudes de emisión de comprobantes que no contemplen este campo, serán rechazadas.

Ale
Ale

Hola.. estoy implementando el nuevo dato que pide Afip, Condicion IVA receptor y me gustaría saber si hay algún lugar de donde obtener mediante el CUIT del cliente el dato a enviar según la tabla que se obtiene con FEParamGetCondicionIvaReceptor. Estuve probando con los padrones pero no veo que ninguno devuelva ese dato. Es posible conseguirlo solo con el CUIT?

Adrian Sirianni
Adrian Sirianni

no te conviene manejarlo asi. si vas a hacer una consulta externa para primero obrtener ese dato va a demorar mucho en peticionar. son muchos llamados para construir el payload. te conviene trabajar esa data internamente. en tu sistema local a los clientes asociale un tipo de cliente con ese dato. de esa forma lo traes de la base, si no te queda claro podemos explicarte mejor. Pero no te recomiento hacer llamados externos para validar esa data!.

a tu tabla clientes le asocias un tipo_cliente que puede ser tenes 4 tipos de clientes chaca los tipos pero creo que eran asi los id consumidor final -> id_norma: 5 responsable inscripto -> id_norma: 1 monotributo -> id_noma: 4 exento. -> id_norma: 6 esos tipos asociacias el id de la norma y ya quedaria hermanado en tu base

Adrian Sirianni Adrian Sirianni no te conviene manejarlo asi. si vas a hacer una consulta externa para primero obrtener ese dato va a demorar mucho en peticionar. son muchos llamados para con
Ale
Ale

Hola.. gracias por responder 🫶 . En el sistema lo tengo así actualmente, ya hice los cambios para empatar con estos códigos los que manejaba en mi base... Solamente quería saber si había una opción para validar por si obtenía algún error por inconsistencia en ese dato. Pero voy a seguir tu consejo y lo dejo solo con el manejo local. Gracias 🤗

Eduardo
Eduardo

Buen día gente

Con el último cambio de obligatoriedad de informar "Condición Frente al IVA del receptor" a partir del 01/07/2025.

Para el caso de facturas B a consumidor final ($tipo_de_factura = 6;) Yo estoy mandando:

* $tipo_de_documento = 99;
* $numero_de_documento = 0;
* $CondicionIVAReceptorId = 5;

A partir del 01/07/2025 debería mandar:

* $tipo_de_documento = 80/86/96; el que corresponda;
* $numero_de_documento = CUIT/CUIL/DNI;
* $CondicionIVAReceptorId = 5;

Gracias

Eduardo Eduardo Buen día gente Con el último cambio de obligatoriedad de informar "Condición Frente al IVA del receptor" a partir del 01/07/2025. Para el caso de facturas B a
Mediasolutions
Mediasolutions

Buen día. Para consumidor final por montos menores a $417.000 (al día de hoy) vas a tener que seguir enviando Tipo Doc: 99 y Nro Doc: 0, eso no cambia.

Tengufg
Tengufg

Gente.. buenass alguien que la tenga clara para ponerla a correr.. Configure la key y el cert en produccion siguiendo los pasos de la web afip sdk..

Aun asi sigue dandome cert invalido..

Lo unico que no hice aun fue habilitar el punto d venta.

Sera eso lo que provoca el error?

En test enviroment va bien. Pero cuando cambio los cert y voy a produccion.. crashea con ese error de cert invalido

Tengo el token de afip sdk Tengo el key.pem y el cert Segui todos los pasos en la web d afip .. salvo el d habilitar el POS

Solucionado.. puequeño error de tipeo al cargar el cert. Estana mandando la ruta del cert en lugar del contenido

Al parecer esta todo ok. Tal vez tarde .. mañana pruebo nuevamente.

Tengufg Tengufg Al parecer esta todo ok. Tal vez tarde .. mañana pruebo nuevamente.
Mediasolutions
Mediasolutions

Tenés que habilitar un punto de venta para webservices (RECE para aplicativo y webservices) porque sino te va a dar error.

Tengufg
Tengufg

Yo.fui al admikistrador de puntos de venta y habilite . Figuran 3 habilitados dos como mononotributo factura online y uno como monotributo fct electr. Webservices.. En el admin de relaciomes tbm habilite todos.los cert con los que trate. Pero cuando voy a aceptar designacion.. nunca m aparece una designacion. Supongo que sera para el cuit propio

Error al obtener el último comprobante autorizado: (11002) El punto de venta no se encuentra habilitado a usar en el presente WS. Ver metodo FEParamGetPtosVenta

Tengufg
Tengufg

Solucionado gente... estaba todo OK. el json data no configuraba correctamente el punto de venta. Por eso me dsba error. Ya emiti.. mañana vere si impacta bien y de ahi.. al infinito y mas alla

Tengufg
Tengufg

Corriendo un test..

Mariano Pérez
Mariano Pérez

Buen Día! estoy retomando un proyecto de facturación que tenia abandonado hace tiempo, y al querer hacer cualquier lllamada al WS de la afip me devuelve este error

Fatal error: Uncaught Requests_Exception: cURL error 60: SSL certificate problem: unable to get local issuer certificate

recuerdo que cuando lo comencé funcionaba correctamente, busque en internet y todos sugieren que agregue el cacert.pem en el php.ini, pero sigue dando el mismo error