TransbankDevelopers/transbank-sdk-nodejs

Problema con OpenSSL

cladveloper opened this issue · 20 comments

Al momento de iniciar la transacción, me lanza un error de promesa no controlado con lo siguiente:
Error: Cannot load Soap Client, check your PEM certificates

Versiones

  • SDK: 1.0.2
  • Node.js: 12.13.1
  • NPM 6.12.1

Se está siguiendo el ejemplo subido de NodeJS subido en el repositorio.

tengo instalado OpenSSL

Error: Cannot load Soap Client, check your PEM certificates | Could not find openssl on your system on this path: openssl
at C:\Users\claudio.skdf\Desktop\GitHub\transbank-sdk-nodejs-webpay-example\node_modules\transbank-sdk\lib\webpay.js:43:15
(node:16224) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id:
6)

Estimado, una consulta, como solucionaste esto?

Estimado, una consulta, como solucionaste esto?

instalé openssl como dependencia a mi proyecto y me funcionó

Estimado, una consulta, como solucionaste esto?

instalé openssl como dependencia a mi proyecto y me funcionó

lo siento, fue a nivel global en mi sistema. Creo que esa fue la solución que le di a mi proyecto

Estimado, una consulta, como solucionaste esto?

instalé openssl como dependencia a mi proyecto y me funcionó

lo siento, fue a nivel global en mi sistema. Creo que esa fue la solución que le di a mi proyecto

Muchas gracias por la respuesta. En todo caso yo estaba enviando el certificado entre comillas simples o comillas dobles, terminé haciéndolo con .

Saludos
L

Estimado, una consulta, como solucionaste esto?

instalé openssl como dependencia a mi proyecto y me funcionó

lo siento, fue a nivel global en mi sistema. Creo que esa fue la solución que le di a mi proyecto

Tengo el mismo error, como pudo instalarlo a nivel global para que lo reconociera node???
instale openssl incluso genere el certificado pero aun asi me sigue saliendo ese error como que no reconociera a openssl

Cómo estás haciendo el envío del certificado?
Debes instalar openssl a nivel servidor. Depende de la distro que estés usando.

Estimado, una consulta, como solucionaste esto?

instalé openssl como dependencia a mi proyecto y me funcionó

lo siento, fue a nivel global en mi sistema. Creo que esa fue la solución que le di a mi proyecto

Tengo el mismo error, como pudo instalarlo a nivel global para que lo reconociera node???
instale openssl incluso genere el certificado pero aun asi me sigue saliendo ese error como que no reconociera a openssl

Cómo estás haciendo el envío del certificado?
Debes instalar openssl a nivel servidor. Depende de la distro que estés usando.

Estimado, una consulta, como solucionaste esto?

instalé openssl como dependencia a mi proyecto y me funcionó

lo siento, fue a nivel global en mi sistema. Creo que esa fue la solución que le di a mi proyecto

Tengo el mismo error, como pudo instalarlo a nivel global para que lo reconociera node???
instale openssl incluso genere el certificado pero aun asi me sigue saliendo ese error como que no reconociera a openssl

estoy usando node v12.18.3 con express, con la plataforma reaction ecommerce.
Primero pense que debia instalar openssl en mi sistema operativo donde agregue las key de integracion para generar el certificado y no funcionó.

Luego instale openssl como dependencia global con npm y aun asi me sigue el mismo error.

Entonces nose porque sigue el error de que node no reconoce a openssl, que podra ser?

@FabianBravoA ¿tu sabes a que se puede deber este error?

Cómo estás haciendo el envío del certificado?
Debes instalar openssl a nivel servidor. Depende de la distro que estés usando.

Estimado, una consulta, como solucionaste esto?

instalé openssl como dependencia a mi proyecto y me funcionó

lo siento, fue a nivel global en mi sistema. Creo que esa fue la solución que le di a mi proyecto

Tengo el mismo error, como pudo instalarlo a nivel global para que lo reconociera node???
instale openssl incluso genere el certificado pero aun asi me sigue saliendo ese error como que no reconociera a openssl

estoy usando node v12.18.3 con express, con la plataforma reaction ecommerce.
Primero pense que debia instalar openssl en mi sistema operativo donde agregue las key de integracion para generar el certificado y no funcionó.

Luego instale openssl como dependencia global con npm y aun asi me sigue el mismo error.

Entonces nose porque sigue el error de que node no reconoce a openssl, que podra ser?

No lo instales con npm, asi se instal como modulo de la app. Instalalo a nivel servidor
https://cloudwafer.com/blog/installing-openssl-on-ubuntu-16-04-18-04/ esto es para ubuntu si usas centos o rhel busca el simil. nos avisas.

Cómo estás haciendo el envío del certificado?
Debes instalar openssl a nivel servidor. Depende de la distro que estés usando.

Estimado, una consulta, como solucionaste esto?

instalé openssl como dependencia a mi proyecto y me funcionó

lo siento, fue a nivel global en mi sistema. Creo que esa fue la solución que le di a mi proyecto

Tengo el mismo error, como pudo instalarlo a nivel global para que lo reconociera node???
instale openssl incluso genere el certificado pero aun asi me sigue saliendo ese error como que no reconociera a openssl

estoy usando node v12.18.3 con express, con la plataforma reaction ecommerce.
Primero pense que debia instalar openssl en mi sistema operativo donde agregue las key de integracion para generar el certificado y no funcionó.
Luego instale openssl como dependencia global con npm y aun asi me sigue el mismo error.
Entonces nose porque sigue el error de que node no reconoce a openssl, que podra ser?

No lo instales con npm, asi se instal como modulo de la app. Instalalo a nivel servidor
https://cloudwafer.com/blog/installing-openssl-on-ubuntu-16-04-18-04/ esto es para ubuntu si usas centos o rhel busca el simil. nos avisas.

estoy usando mac os version catalina.

También puedes intentar con Hombrew si lo tienes instalado: brew install openssl

También puedes intentar con Hombrew si lo tienes instalado: brew install openssl

asi lo instale, de hecho. Quizas haya alguna configuracion que estoy pasando de largo una vez que creo el certificado hay que hacer algo mas?

yo pasé el certificado con fs.readFileSync como string indicando la url.

yo pasé el certificado con fs.readFileSync como string indicando la url.

es que en la sdk se supone que se carga directamente desde el sistema, no veo donde pueda pasar el certificado aqui:

image

si pero con los nuevos debes crear una clase y llamarla. Yo lo hice en el controlador que cree, así
image

@liliomon cuando intento usar la primera línea recibo este error:

TypeError: Transbank.Configuration is not a constructor

Tu cómo lo hiciste?

y otra pregunta, en que parte pusiste el Tbk-Api-Key-Secret?

En el .env las paso de la siguiente forma, API KEY ID y COMMERCE CODE, SON LO MISMO (Válido solo para webpay, para mall u otros commerce code es distinto a las tiendas). Si tu commerce code no tiene el 5970 al comienzo debes añadirlo.

image