Cómo Configurar Webpay en PHP

Esta es una colección de pruepas y errores que he ido teniendo al configurar webpay en algunos sitios.

Este es un post para chilenos, dado que dudo que en alguna parte del mundo todavía usen un sistema de transacciones electrónicas tan arcaico como el de Transbank, realmente una tortura tratar de entender esto, además de que no hay documentación, ni en la misma página de transbank. Sólo algunos comentarios en algunos foros.

Yo me considero un programador intermedio de PHP, he integrado varios sistemas de pagos, pero esto me dejó completamente parado, tuve que leer el manual completo y aún así no sabía por dónde empezar, así que comencé hakeando/traduciendo el ejemplo hecho en ASP y ahí encontré unas variables post por las que hiceuna búsqueda y encontré publicado el script de PHP usado por un techo para chile, lo que me ayudó a entender algunas lineas del ASP que no me entraban. Ahí es donde estoy ahora, al comienzo de este post, decidido a que si alguien busca ayuda sobre este tema en Google lo encuentre aquí.

Por mientras iré posteando los links que tienen alguna información útil.

http://www.forosdelweb.com/f125/duda-webpay-chile-213843/ varios tipos capos contestando variadas preguntas al respecto

http://svn2.assembla.com/svn/utpch/utpch/webpay/pagina_cierre.php
http://trac2.assembla.com/utpch/browser/utpch/webpay/pagina_cierre.php son el script xt compra.asp versión PHP

http://kb.mediatemple.net/questions/30/Running+scripts+outside+of+the+cgi-bin para ejecutar CGI fuera del cgi-bin

usando el script para ejecutar fuera del CGI-BIN y dando permisos de 0755 a la carpeta y los archivos corre, pero ahora me da un error de conexión.

if you set up permissions incorrectly, you'll probably get "500 Internal Server Error"

Essto explica algunas cosas.

buena referencia en : http://wiki.dreamhost.com/CGI

al final eran los permisos nuevamente: extrañamente la carpeta de logs necesita 0777 [edit:] NUNCA usar permisos 0777 no importa qué NUNCA usarlos [/edit] ¿eso significa que los logs son generados desde el servidor de transbank?
Después resulta que todo es case sentitive, así que no olvidar las mayúsculas.

luego de que se colgara lanzando un error 34 en el log, me dijeron que la última línea del config estaba mala y que para el URLCGICOM usara una dirección absoluta, duda que había tenido desde el principio.

He revisado que se mantiene el error 34 luego de modificar a dirección absoluta el parámetro URLCGICOM, que según el Manual corresponde “34 ERR_REFERER”, por lo cual agradeceré eliminar la línea del archivo de configuración TBK_CONFIG.DAT con el parámetro TBK_REFERER. Solicito por favor mantener la dirección absoluta del parámetro URLCGICOM.

otra nota: los logs se demoran en actualizar la última transacción, hasta 3 minutos en el caso del servidor que estaba probando yo.

siguen los problemas, ahora sale el error 42.

hasta ahora ni idea qué está produciendo lo siguiente:

http://200.119.239.153/seguro/compra.php

conectandose al port : (80)

No pudo abrir socket para conex-com

tienda NO acepto transaccion

respuesta enviada a TBK (ERR)

Error al conectar servidor especificado (42)

ERR;             ;42

http://200.119.229.153/seguro/compra.php;

conectandose al port : (80);
No pudo abrir socket para conex-com;
9290;   ;resultado ;1289858888                              ;15112010      ;185934;200.10.12.55   ;OK ;                    ;tienda NO acepto transaccion;
9290;   ;resultado ;1289858888                              ;15112010      ;185934;200.10.12.55   ;OK ;                    ;respuesta enviada a TBK (ERR)
;9858161553;        
9290;   ;resultado ;datoscom                                ;15112010      ;185934;200.10.12.55   ;Ok ;
597026016975         ;Error al conectar servidor especificado (42);
9290;   ;resultado ;1289858888                              ;15112010      ;185934;200.10.12.55   ;ERR;                    ;42
http://200.119.229.153/seguro/compra.php                                
9858161553;        
9290;   ;transacc  ;9858161553                              ;15112010      ;185625;200.10.12.55   ;OK ;
597026016975         ;conectandose al port : (80)                                              
9858161553;
9290;   ;resultado ;fallo abrir_conexion                    ;15112010      ;185934;200.10.12.55   ; -2;597026016975        ;No pudo abrir socket para conex-com                                        9290;   ;resultado ;1289858888                              ;15112010      ;185934;200.10.12.55   ;OK ;                    ;tienda NO acepto transaccion                                               9290;   ;resultado ;1289858888                              ;15112010      ;185934;200.10.12.55   ;OK ;                    ;respuesta enviada a TBK (ERR)                                         9858161553;        
9290;   ;resultado ;datoscom                                ;15112010      ;185934;200.10.12.55   ;Ok ;597026016975        ;Error al conectar servidor especificado (42)                               9290;   ;resultado ;1289858888                              ;15112010      ;185934;200.10.12.55   ;ERR;                    ;42

hubo que usar la IP local en algunos parámetros y se generó un error 46, que era porque estaba rechazada la autenticación por la tienda.

OJO con las direcciones con ./cgi-bin/tbk_check_mac.cgi slash sin punto en PHP, no es lo mismo que en windows.
en PHP / = raíz del dominio
en ASP / = la carpeta que ontiene este archivo. (corríjanme si estoy mal)

Luego el problema estaba en mi código en el archivo que ellos le llaman xt_compra o Página de Cierre.

OJO con subir los CGI desde Dreamweaver, si usan dreamweaver hay que forzar la transferencia a modo binario, cosa que no pude descubrir cómo hacer, así que usé FileZilla. En otra ocasión usé SFTP (FTP de conexión segura) y no tuve problema, pero no puedo recordar si fue por la conexión segura o porque no usé Dreamweaver.

Si no se suben de modo binario se corrompen los archivos, y el servidor arroja un Internal Server Error, y genera un archivo core que es binario y no pude leer.  Si uno revisa los .log del servidor (en mi caso Dreamhost) el servidor dice los siguiente:

[Tue Nov 30 10:25:34 2010] [error] [client 200.83.106.80] Premature end of script headers: tbk_bp_pago.cgi, referer: http://000.000.000.000/es/payment.php

MEDCOM 1 significa SSL, MEDCOM 2 usa redirección por javascript (cosa que no imagina cómo puede funcionar)

Iba todo bien, hasta que me puse a jugar con cURL para enviar los datos a webpay, bueno, tambin cambié el MEDCOM y el código de comercio para que funcionara en dolares, y me da un error 1 ( ERR_LECTURA_INPUT ) y ni siquiera me muestra la pantalla para pagar con la tarjeta. Vamos a depurar un poco para ver. partamos por devolver la tienda a pesos. No era ni la tienda en dólares ni el cambio de MEDCOM, OK, el error era porqeu estaba usando mal cURL ahora, por una extraña razón cURL si funciona.

Finalmente MEDCOM no puede cambiarse a 1 , por lo tanto no hay comunicación interna por SSL, entonces, aunque en el manual diga que si se puede, los siguientes parámetros tienen que ir así:

MEDCOM         = 2 (1 no se encuentra disponible)

URLCGICOM      = http://www.example.com/cgi-bin/tbk_bp_resultado.cgi --> no puede ser HTTPS://... y les recomiendo que sea absoluto

PORTCOM        = 80 à 443 no está disponible

Adicionalmente....

PORTCOM        = 80 à 443 no funciona (o yo no he logrado hacerlo funcionar)

HTML_TR_NORMAL = http://www.example.com/interno/xt_compra.php --> no puede ser HTTPS://... y les recomiendo que sea absoluto


http://www.webmasterworld.com/php/3164561.htm

<?php

$transbank_format_number = number_format($totalCompra, 2, '', '');

?>

Ahora estoy batallando con xt_compra.php

y Éxito!

ahora a formatear el resultado para que en transbank aprueben el sistema.

131 thoughts on “Cómo Configurar Webpay en PHP

  1. Estimado tu explicacion es bastante buena pero no das mayor ejemplo de como realizar el php.

    En todo caso muchas gracias por el intento

  2. Hola Hugo.
    EL error 46, en mi caso, era porque estaban mal apuntadas las direcciones del tbk_check_mac.cgi dentro de la carpeta CGI, que en mi caso, no estaba justo bajo la raíz, por lo que /cgi-bin/tbk_check_mac.cgi no encontraba el archivo y la verificación de autenticidad de la transacción salía inválida.
    simplemente agregué un punto al principio de la dirección para que quedara relativo a la carpeta donde estaba trabajando y listo. (./cgi-bin/tbk_check_mac.cgi)
    En tu caso puede ser otra cosa, pero el error 46 tiene que ver con que no se puede hacer la verificación o la autenticación de la tienda que tienes tu, en transbank; ya se porque no se encuentra la llave MAC o por que no es válida.
    Espero esto te aclare un poco el cuento.
    Cuéntame como te va

  3. Hola Agustin! Bastante interesante, aunque hubiera sido mejor complementarlo con un ejemplo. Pero de todos modos te felicito, por que son re-pocas las personas que hablan de esto.

    Porqué no subes el ZIP de los archivos de configuración y el formulario en el que envías los valores al CGI tbk_bp_pago.dat

    Yo en lo particular descargué el ejemplo de MagentoChile ( http://www.magentochile.cl/blog/wikis-magento/wiki-modulo-kcc-transbank/)

    Cómo siempre a algunos le funciona a otros no… a mi no me funcionó a la perfección y creo que es por la página de cierre. Agradecería que compartas tu archivo !.

    El link del que estoy implementando es http://www.rebocano.com/webpay/pago.php

    Saludos y gracias !

  4. Ahhh el cierre, da problemas, particularmente los basados en el plugin de magento, (según lo que he leído).
    El artículo completo es algo que tengo pendiente hace mucho rato.
    Quería tener los ejemplos limpios y claros en enero, pero como los estoy haciendo junto con una tienda en línea que no podré armar hasta marzo no he podido armar nada publicable aún, pero ya lo haré.
    Probablemente el error en el cierre sea algo menor, la manera de hacer un buen registro de errores es usar un Output Buffer para guardar en archivo, todo lo que “imprime” ese archivo, ya sea algún error o simplemente “aceptar”.
    Aquí hay un artículo que explican el output buffer, aunque lo usa para hacer “caching” pero te puede servir para hacer debuging.
    Es todo lo que puedo hacer por el momento, ya que estoy a mil kilómetros del trabajo :)

  5. Logré configurarlo de manera exitosa, armaré un script para que lo publiques en el blog, te parece?

  6. Ehhh! excelente!
    Qué bien se siente ¿no?
    Feliz que publique tu script! Probablemente sea de ayuda para más de alguno.
    Este fin de semana me tengo que sentar a sacar otra tienda en línea y quiero tratar de hacer una clase que se encargue de todo. Veré como me va.

  7. hola.. estoy tratando de implementar un simple pago mediante transbank webpay pero ni idea me saca todos lo errores que mencionas pero no puedo ejecutar los .cgi aunque los proveedores de host me han dicho que perfectamente pueden correr, estoy que me doy golpes contra el escritorio porque no tengo idea de como hacer funcionar esto si tu de pronto nos proporcionaras el código php te agradecería en el alma :D

    Saludos

  8. Lamentablemente yo también estoy hace más de un mes pegado con una tienda que no logro sacar, el maldito KCC 6.0 no funciona en servidores de 64 bits, hay que pedir una compilación especial.
    A penas logre hacer funcionar el sistema publicaré una clase de PHP que se encarga sola de casi todo el proceso y un tutorial de cómo enfrentar este tema para el KCC 6.0

  9. ademas de eso te saca unas cosas, estoy montando una tienda super plana para probar en el host pero es imposible ..hasta copie y pegue la de ejemplo de transbank (obvio modificando las rutas) y no sale :(…

  10. y es el CGI que no funciona? si no funciona el CGI verifica los permisos y confirma que no estés usando un servidor de 64bits.
    Si tienes acceso a los logs de servidor busca ahí algún mensaje de error.

  11. ok pues en la información del servidor he encontrado que es de 64 bits no me había fijado :s

  12. @Jeni: Finalmente logré integrar webpay, pero fue el 5.1 insistí lo suficiente como para que me permitieran certificar en 5.1.
    Adicionalmente, cuando les comenté que estoy en un servidor de 64bits me dieron los cgi-bin para 64bits pero no ayudó de mucho.

  13. Yo tengo sitios en Drupal sin SSL funcionando con KCC 5.1 y andan bien. Cuando me pidieron instalar el KCC 6.0 en un sitio nuevo, el sistema se cae a la primera con un error totalmente nuevo para mi: 283…

    La diferencia entre el KCC 5.1 y el 6.0 es que, aparte de añadir otro archivo para el tema de las llaves, es que el parametro MEDCOM en tbk_config.dat ya no puede tener más de un valor, antes era 1 o 2, ahora es solo 1, que realiza una conexión por SSL desde el sitio al transbank, pero si mi sitio no tiene SSL…

    Pues, eso estoy intentando confirmar con transbank, el log (ultima columna) que me sale es:

    1) Medio 1: Transaccion segura
    2) No se pudo decifrar el contenido, posible error de llaves
    3) 283

    Será la ausencia de SSL?

    Saludos

  14. Yo pase con éxito la etapa de certificación hasta esa parte todo bien, el problema surgió cuando me entregaron el código de producción, ajuste el archivo de configuración según los nuevos parámetros, genere las llaves en ambiente windows ya que al ejecutar esta aplicación con wine no sirve, pero al presionar el botón pagar me da el siguiente error

    Lo sentimos. Su transacción no se pudo llevar a cabo. (Error 283)

    Al revisar el codigo fuente de la pagian dice lo siguinete

    !– Invalid Signature (283) –>
    La url que me entrega este error es
    https://webpay3g.transbank.cl/webpayserver/bp_revision.cgi

    Llame muchas veces al soporte de webpay, de hecho ya va para la segunda semana sin lograr una respuesta de que puede estar pasando, si alguien le paso lo mismo y lo pudo solucionar favor diga como

  15. Román:
    Revisa qué versión del KCC estás usando ¿es 5.1? o 6.0?
    Si es 6.0 puede ser la llave pública que te envía transbank, pide que te la manden de nuevo.

    Si es 5.1 revisa el log detallado y comenta aquí dónde se detiene la transacción.

    Como prueba para descartar algo en la configuración, vuelve al estado de certificación y haz una prueba de transacción así.
    Lo otro que puedes hacer es revisar el log de errores de tu servidor.

  16. Agustin es la versión 6, me enviaron la clave publica nuevamente y nada
    Hice la prueba de volver al ambiente de certificación y funciona correctamente.
    Me dicen que la llave publica “tbk_public_key.pem” es la misma que viene en el kit con el nombre de tbk_public_key101prod.pem, solo que hay que renombrarla.

    Sera que estoy generando mal el certificado, me mandaron el Genkey 2.0, lo genere con doble clic y desde la consola usando 1024, aun que segun yo debería ser de 2048, pero me dicen que da lo mismo. Esta bien asi o hay que pasar algún otro parámetro

    El log de errores no me dice nada

  17. Cosas de la vida, el kit 5 funciono bien por que cuando subí los archivos de las llaves tenia fijo en el ftp tipo de archivos en Binario ojo no Ascii, no me habia percatado de esto hace sus buenas horas después, espero les sirva.

  18. Hola a todos, estoy hace una semana tratando de integrar el KCC 6.0 pero cuando dejo en el formulario (con los productos a pagar) la ruta /cgi-bin/tbk_bp_pago.cgi para que se envie la información, en el navegador me sale “Internal Server Error”

    Que estoy haciendo mal, alguien me podría orientar por favor.

    De antemano muchas gracias.

  19. Si, me ha pasado más de una vez que el modo en que se suben los archivos los corrompen, pero desde que uso FileZilla para mover los archivos de transbank al menos no he tenido más problemas, porque dependiendo del tipo de archivo lo sube de un modo u otro, aunque hay que tener ojo con los CGI porque transbnak necesita que se transfieran de modo binario y File Zilla por defecto los tratará de transferir de modo ASCII.

  20. Hola a todos,
    esto de Transbank es un puro dolor de cabeza.

    Logré en varias ocasiones de intalar el kit 6.0 y también me certificaron.
    Peró con un servidor de dedicado de 1and1 me tira un error.

    Siempre me dá error de ack (error 46). Leyendo parece que es un problema de timeout. Probé cambiando el timeout del apache peró siempre me envia a fracaso.

    Como ya sabrán el servicio técnico de Transbank es inexistente.
    Le ha pasado alguna vez este problema?

  21. holas, llegué hasta acá dentro de la desesperación porque esta shit no quería funcionar ni a palos.

    Un factor a considerar, es que el archivo de configuración (tbk_config.dat), además de los archivos de claves (en maestros) NO tengan el caracter raro chr(13) (“0d” en hexadecimal).

    al hacer un hexdump -C tbk_config.dat pude ver que los saltos de línea estaban con “0d” y “0a”, el lugar de sólo “0a”.

    Quitando los “0d” se dignó a funcionar.

    El otro suplicio fue descubrir, con cierto pavor, que la página de validación HTML_TR_NORMAL no puede estar por https (443), sólo por 80 (http).

    Con esos dos puntos resueltos, la cosa funcionó. Espero les sirva de algo =)

  22. Exacto! Lo que tu mencionas primero es el tema de la “nueva línea” o “salto de línea” aquí hay un artículo que explica un poco la teoría del tema http://es.wikipedia.org/wiki/Nueva_l%C3%ADnea . Tengo la idea que en alguna parte del manual aclaran que hay que usar sólo nueva línea y no los 2 caracteres que usa windows, en PHP sería \n en vez de \r\n.

    Lo segundo que describes es el puerto de conexión y en general, depende de la versión de KCC que uses: 443 para 6.0 y 80 para 5.1, por lo que asumo que integraste en 5.1

    Si lograste integrar en 6.0 en Linux por favor sería increíble que nos dieras un punteo de cómo lo hiciste y cómo resolviste el problema.

  23. fss y Agustín. Efectivamente con Hexdump tengo 0d y 0a que según vi es retorno de carro más salto de línea. Como puedo sacar el 0d? Gracias.

  24. Normalmente hago que notepad++ o Sublime Text 2 lo hagan por mi.

    En ST2 vas a View > Line Endings > Unix

    En Notepad++ Editar > Conversión fin de línea > Convertir a formato UNIX

    Con eso debieras quedar OK.

  25. Estoy integrando el KCC 6.0 pude configurar todo, ahora estoy haciendo las pruebas solo con el kit de instalación no tengo el id del comercio ni los maestros *.pem Pero me lanza el siguiente error

    ERROR: No se ha podido establecer la conexión

    Es porque me faltan esos datos?! o se puede probar con datos ficticios?

  26. Hola Albert:
    Primero revisa lo siguiente:
    Que los valores en URLCGICOM y HTML_TR_NORMAL sean una dirección absoluta y no usen protocolo https

    URLCGICOM = http://www.tienda.cl/cgi-bin/tbk_bp_resultado.cgi
    HTML_TR_NORMAL = http://www.tienda.cl/seguro/compra.php

    Luego revisa el log de la transacción, si la última línea dice “todo OK”, es porque está ok.
    Lo único que podría ser es que las llaves que estás usando no sean las correctas (nunca me ha resultado 6.0 con las llaves que vienen de paquete). Ponte en contacto con la gente de soporte y pide llaves nuevas.
    Si eso no funciona, probablemente tendrás que guardar la configuración como está. Luego pedir certificar usando el KCC 5.1 y una vez en producción migrar de vuelta a 6.0.

    Así de complicada es la experiencia.
    Igual no soy el máximo experto, pero puedo decir que he integrado ya varias tiendas, aunque sólo una usando 6.0 y eso que ya estaba certificada.
    Espero te sea de ayuda.

  27. Agustin, gracias por tu respuesta, me funciono al final así que ultra feliz :) creo que era el archivo tbk_config.dat los permisos y la IP que no la tenia al final le puse dominio.cl en vez de un número IP pero esta corriendo :)

    Bueno ahora debo terminar la integración de php con el sistema y listo :)

    Gracias por tu valiosa ayuda ^_^

  28. Qué bueno que te hay funcionado!
    Es una lata hacer esta pega y sin explicaciones en la web.
    HTML_TR_NORMAL funciona mejor con el dominio, la IP a veces no funciona, sobre todo si el servidor tiene más de un dominio en esa IP.

  29. Estoy integrando el KCC 6 he configurado todo (creo), en el .log me sale TODO OK, pero la transaccion de webpay siempre me redirige a la página de fracaso.

    los 3 archivos cgi los tengo con permiso 755

    el archivo tbk_config.dat lo he modificado directamente el hosting con codificacion utf-8, ¿puede que el error sea algo por el estilo?

    en todo el proceso el archivo de cierre (xt_compra.php), nunca se ejecuta, por lo tanto supongo que el error no es en este archivo.

    por descarte lo unico que se me imagina que algo estoy haciendo mal en el tbk_config.dat… pero ya he probado de todo -_-

    a todo esto en el KCC 6, le modifique el medcom a 2, porque si lo dejo en 1 no me funciona.

  30. Hola Fabian:
    Si no te está funcionando con MEDCOM en 1 es por que tienes aún problemas en alguna parte. MEDCOM 2 sólo debes usarlo para integrar 5.1 .
    Si usas MEDCOM 1 ¿Qué error te da?
    Si usas coficicación UTF-8 sin BOM y no tienes caracteres fuera del rango ASCII no debiera haber problema.

  31. Hola Agustin, Gracias por contestar.

    Si pongo MEDCOM 1 me arroja este error ERROR: No se ha podido establecer la conexión.

    y en el LOG este es el error

    6107715646; 526; ;pago ;https://certificacion.webpay.cl ;21122012 ;133530;190.100.139.24 ;ERR;597026007976 ;No se pudo decifrar el contenido, posible error de llaves
    6107715646; 526; ;pago ;https://certificacion.webpay.cl ;21122012 ;133530;190.100.139.24 ;ERR;597026007976 ;283

    para usar MEDCOM 1 utiliza SSL, es aqui donde no entiendo… ¿tengo que hacer algo especial en el hosting ?, porque hay un panel de administracion de SSL en el cpanel (hasta ahora ni lo he tocado)

    y leyendo el manual del KCC6 hay una parte que dice

    Observaciones:
     El parámetro MEDCOM = 1, como se indicó anteriormente, requiere de SSL para su funcionamiento, lo que implica que el comercio pueda establecer una comunicación directa con las IP’s de Transbank al puerto 443 (la url de conexión es https://webpay.transbank.cl)
     Las IP’s de Transbank (Producción) a las que el comercio debe permitir el tráfico (comercio -> Transbank), son las siguientes:
    o 200.10.14.162
    o 200.10.14.163
    o 200.10.12.162
    o 200.10.12.163
    o 200.10.14.34
    o 200.10.14.177
     Las IP’s de Transbank (Certificación) a las que el comercio debe permitir el tráfico (comercio -> Transbank), son las siguientes:
    o 200.10.12.55 (IP de desarrollo)
     Se recomienda filtrar por las IP’s listadas anteriormente el acceso a la cgi tbk_bp_resultado (ver sección 7.3.2) para asegurar que sólo Transbank pueda ejecutarla.

  32. monte mi propio servidor con xampp en windows y pude integrar el KCC 6 sin problemas, con MEDCOM 1 y no me manda el error de llaves, el problema está cuando lo quiero implementar en un hosting

  33. Gracias por la ayuda Agustín. Por si a alguien le sirve, ese caracter se puede borrar también en Editra (para Mac OS y Windows) llendo a Format -> EOL Mode -> Unix (\n)

  34. Transbank me respondio lo siguiente, por si es de ayuda para alguien.

    Según los antecedentes que nos envías por favor te regaré que revises los permisos de la carpeta y las llaves estén en 7-5-5, si es así tendría que copiar las llaves que se encuentran en el kit nuevamente subiéndolos de forma binaria, además de todo esto por favor cambiar el MEDCOM a 2.

  35. Por fin me funciono el KCC6 en un hosting linux 32… en un hosting linux 64 no he podido.

  36. Hola Fabian.
    Veo que seguiste la batalla durante el fin de semana, heroico!
    Bien, si lo has logrado en LINUX 32bits pues estás a un paso teórico del éxito.

    Copia todo al de 64 bits, copia los permisos, (y ajusta las URLs si es necesario), haz una prueba y revisa el log de errores de tu servidor de 64bits.
    Si te encuentas con algo como esto: [Mon Apr 30 09:37:36 2012] [error] [client 200.83.154.10] tbk_bp_pago.cgi: error while loading shared libraries: libidn.so.11: cannot open shared object file: No such file or directory, referer: http://tienda.cl/pago.php
    Pues tienes 2 opciones, conseguir desde transbank las CGI para 64 bits, o puedes instalar las librerías que probablemente te están faltando. Para instalar las librerías necesitas acceso de root al servidor y saber instalar librerías.

    Luego de ese paso debieras poder meter el número de tarjeta y simular un pago, probablemente no funcione en totalidad, pero eso puede ser un error de llaves.
    Algo que sospecho, pero no he confirmado, es que hay algo malo en las llaves de prueba que pasa transbank, probablemente sólo funcionen en 32 bits. En 64 bits he logrado corregir el problema en producción generando llaves nuevas, pero en entorno de certificación te las mandan hechas. Ve si te puedes conseguir llaves “actualizadas” para 64bits o algo por el estilo.

    Sobre lo que dice el manual sobre SSL, la verdad es que es bien confuso y han hecho que varios clientes compren certificados de seguridad que no se necesitan.

    Lo que sale en el manual sobre SSL hace referencia a que se necesita puerto seguro para comunicarse entre servidores (mediante protocolo SSL), lo que no significa que uno necesita comprar un certificado SSL. La gran mayoría de los servidores tiene ese puerto abierto para comunicaciones y con eso basta. De hecho, el tener certificado de seguridad me ha provocado más problemas que soluciones, aunque a muchos clientes les gusta tener el candadito verde en su tienda.

  37. Hola Agustín,
    Te cuento,
    Intente en un plan “empresa” en hosting.cl Linux 32 bit pero no pude integrarlo, en el log salía TODO OK, y se supone que después de eso debería salir TBK_PARAM desencriptado; Entidad emisora de los datos validada; Parseo de los datos… etc. Etc. (Me imagino que debe ser algún puerto bloqueado ya que ni siquiera se ejecuta el compra.php)

    Luego intente en un hosting gratuito “heliohost” Linux 64 bit, en este hosting pasaba la etapa del TODO OK, se ejecutaba el archivo compra.php, pero siempre se dirigía a la página de fracaso, en el log arrojaba “Error al obtener ack (46)”, pero era lógico, el hosting tenía deshabilitado las funciones “Exec”, pero por lo menos me sirvió para saltar a otra etapa y no quedarme pegado en el “TODO OK”

    Por ultimo intente en un hosting de “go daddy”, Linux 32 bit, y en este hosting pase la etapa del TODO OK, y el error del ack (46).

    Sería interesante probar en un servidor Linux de 64 bit, pero uno gratuito difícil que cumpla los requerimientos de transbank.

  38. Wow! te pegaste unas buenas vueltas! Qué bueno que lo hayas hechado a andar. ¿Vas a tener que cambiarte de hosting?
    Gracias por darnos otra razón por la cual aparece el error ack (46): que no se puedan ejecutar funciones “Exec”.

  39. Voy a tener que buscar un hosting, encontre uno que dice ser optimizado para webpay, pero ahi estoy viendo…

    Lo que pasa que los hosting (hosting.cl, go daddy) donde intente la integracion son de amigos, ahora que ya pude hacerlo funcionar, debo buscar uno para mi.

  40. Nicolás ahí mismo es donde me he quedado pegado innumerables veces.
    Si estás en KCC 6.0 y logras arreglarlo por favor coméntanos cómo lo hiciste, pues a mi nunca me ha resultado. Pero por si acaso: ¿estás usando https en el parámetro HTML_TR_NORMAL ? si es así, trata usando sólo http, me resultó una vez, pero en entorno de producción.

  41. Yo todavia no puedo pasar de esa parte, me comunique con el soporte de transbank y me dijeron que revisara los permisos (755) y el firewall, pero aun no funciona. El server es linux de 64

  42. A mi me pasa lo mismo que Gonzalo, los de Soporte me dijeron que era un error de los CGI que no se podían, también con el Firewall y puertos, pero el soporte de Hosting me dijo que estaba todo OK.

    Ya no se que puede pasar, me estuvo funcionando perfectamente una vez, moví algunas carpetas en el servidor y ahora no conecta con la página de cierre.

    Dejo mi correo para que nos ayudemos.

    isaias1706@gmail.com

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>