Woocommerce + Webpay Plugin

Chicos,  la nueva versión del plugin ya está desarrollada y funcionando sin problemas, sin embargo la última versión del plugin es solo compatible con las versiones nuevas de woocommerce. Si usas la versión versión 2.0 de Woocommerce te recomiendo usar la versión 2.5 del repositorio.

DESDE MAYO DEL 2016 LAS PREGUNTAS LAS RESPONDERÉ EN LA PLATAFORMA DE DISCUSIÓN DE DEVEL.CL CON FOCO DE ESTE PLUGIN. http://devel.cl/c/wordpress/webpaypluswoocommerce

Ya ha sido bastante tiempo en el que me han preguntado por esto en los comentarios y al fin decidí liberar el código de manera OpenSource.

Algunos de ustedes se preguntarán el por qué no cobro por este plugin, tomando en consideración que mucha gente ofrece una buena cantidad por el servicio. Bueno, la respuesta es simple; Creo que junto a la comunidad de desarrolladores podemos mejorar mucho más este código y así todos tener un plugin de una calidad mucho mayor que por la que podríamos pagar ( Suena bien no ? ).

Si quieren ver como implementar este plugin pueden revisar el siguiente post : Como crear un eCommerce en Chile en 5 minutos.

A considerar :

  1. El Código se distribuye bajo GPLV3.
  2. Este código YA es compatible con la última versión de WooCommerce (Version 2.0.12)
  3. El código no presenta garantía de ningún tipo.
  4. Se puso a disposición un Wiki para la instalación
  5. Se puso a disposición un BugTracker para que podamos ver los problemas que vayan saliendo en conjunto.
  6. Se asume que ya se hizo la configuración de los CGI para Transbank
  7. Si necesitan los CGI de Transbank los pueden descargar de : https://bitbucket.org/ctala/webpayconector. Ya deberían estar listos para usarlos. Con estos parto para generar un eCommerce.
  8. Pueden bajar la versión 2.0.20 de woocommerce del siguiente Acá

Para los que quieren mejorar el código, y nunca han ocupado una herramienta de control de versiones, les recomiendo que lean sobre GIT, además de lo que es un FORK.

Como obtener el plugin :

  1. Ahora también puedes descargar el plugin directamente desde wordpress. WooCommerce Webpay GateWay
  2. Ir a la Siguiente Dirección : https://bitbucket.org/ctala/woocommerce-webpay/
  3. O simplemente hacer click en el siguiente link : https://bitbucket.org/ctala/woocommerce-webpay/get/master.zip para la última versión

 

Ojo, que en el ambiente certificación se usan los siguientes datos para las tarjetas de crédito:

VISA : ( Con esta se puede aprobar o rechazar)
4051885600446623
any dates
cvv : 123

MasterCard : Siempre Rechaza
5186059559590568
any date
cvv 123

 

Además de usar los siguientes datos cuando corresponda :

Rut : 11.111.111-1
Clave : 123

 

 

Para activar el modo debug agregar esto si no los haz hecho al wp-config.php .

define('WP_DEBUG', true);

if (WP_DEBUG) {
    define('WP_DEBUG_LOG', true);
    define('WP_DEBUG_DISPLAY', false);
    @ini_set('display_errors', 0);
}

Esto hará que se escriba en el archivo debug.log en la carpeta wp-content. Si el archivo no es creado, crealo a mano y darle los permisos correspondientes para que el servidor pueda escribir en ellos :).
Posibles problemas :

  1. Puede existir un problema de ejecución de la validación FINAL al usar suPHP para realizar las ejecuciones (exec) para corroborar la información dada por Transbank y el eCommerce. Se recomienda usar una máquina virtual y configurar los permisos a mano.
  2. Existe un problema por parte de la respuesta de transbank al momento de darle “mucha” información por post. Si tienen wordpress con las direcciones “largas” o modificadas en vez de las default, wordpress no genera el callback para la corroboración después de que sale el mensaje de pedido exitoso. Adjunto imagen con las dos url que van a la misma página, con solo la “PEQUEÑA” el sistema funciona. ( ARREGLADO EN LA VERSIÓN v2.1.7 )
  3. Si tienes los permalink con nombres separados por guion recuerda agregar el guion ( “-” ) a la lista de caracteres permitidos al tbk_config, o simplemente edita el “slug” para que no tengan guion.( ARREGLADO EN LA VERSIÓN v2.1.7 )
  4. Existe un ejemplo de como es el debug exitoso de todo el proceso. Si hay un paso que no aparece es muy posible que el server de transbank no esté llegando de manera adecuada al server. Esto puede ser que la dirección esté mal configurada o que el server tenga los puertos o direcciones bloquiadas. El ejemplo lo pueden encontrar acá -> “EJEMPLO
Estas dos url son lo mismo, pero con una webpay no da un callback para corroborar los datos por parte del eCommerce. A mucho les pasa que les aparece el mensaje de pedido recibido y no todo el texto que debería, esto se debe a que en el paso final existe un error.
Estas dos url son lo mismo, pero con una webpay no da un callback para corroborar los datos por parte del eCommerce. A mucho les pasa que les aparece el mensaje de pedido recibido y no todo el texto que debería, esto se debe a que en el paso final existe un error.

Cualquier duda o consulta durante la semana estaré respondiendo las preguntas de los comentarios y actualizando el wiki. Que estén bien !!!

937 Replies to “Woocommerce + Webpay Plugin”

  1. Jonathan says:

    Primero que todo te doy las mil gracias por compartir este plugin!, ya que esto de webpay a muchos nos a dado dolores de cabeza y frustración ya que la info es muy escasa, pero esto nos da esperanza !

    Tan solo quería hacer una consultilla:

    Instalé el KCC, (Copié los cgi, les dí los permisos respectivos y probé que corriera tbk_bp_pago.cgi,)

    Instalé el plugin y lo configuré ( Eso creo ).

    Pero cuando hago una compra en el sitio web, al momento de realizar la transacción con los datos de pruaba con tarjeta de crédito o redcompra, me direcciona hacia la página que puse en la configuración del plugin, pero no a la pagina de éxito o fracaso, y no sale ningún error. (De echo creo que debiera direccionar primero a una pagina donde podemos rechazar o aceptar la transacción). No sé que podría pasar, solo soy un novato en php y por mas días que investigo en esto no logro hacer esto D:!

    Espero pudieras ayudarme con algún consejo, y de antemano muchas gracias!

    View Comment Responder
      1. Alvaro Reyes says:

        Hola Cristian, me está pasando algo parecido. Soy novato e instalé el plugin pero al momento de redireccionar a transbank me lleva al return page, realmente no se que será, no se donde puedo revisar los permisos de CGI. Necesito una ayuda please. Muchas gracias.

        View Comment Responder
        1. ctala says:

          Amigo mio, lamentablemente te estás saltando el paso de la instalación de los archivos de transbank. Creo que deberás comunicarte con ellos.
          Saludos!

          View Comment Responder
    1. Sebastian Acha says:

      Hola Cristian: felicitaciones por el plugin, funciona de maravillas.
      Sólo un par de detalles, el thankyou.php no se traduce correctamente en linux, principalmente las lineas 44 y 57.

      en la 44 dice y debe decir

      en la 55, el error es para servidores linux, que son sensibles a mayúsculas. Dice y debe ser

      View Comment Responder
    2. Maria says:

      Hola Cristian, estoy haciendo las averiguaciones para poner transbank en mi sitio, tengo una dudas, la primera es que mi hosting esta afuera de Chile, va a funcionar la pasarela?
      Muchas gracias

      View Comment Responder
      1. ctala says:

        Maria, la certificación hay que hacerla en un servidor en Chile y al momento de producción hay que pedir que desbloqueen el IP. Pero SI si se puede 🙂

        View Comment Responder
        1. Maria says:

          Gracias por tu respuesta, entonces tendria que contratar un servidor chileno? sorry si la pregunta es tonta. Si es asi cual me recomendarias?

          View Comment Responder
          1. ctala says:

            La verdad nunca tuve buenas experiencias en Chile, por lo que no recomiendo. Las certificaciones las estoy usando con un server que tengo en la empresa y luego estamos migrando a un server en el extranjero.

            View Comment
          2. Chelo says:

            Al fin! Llegamos al glorioso dia de pasar a produccion! Un pequeño problema… El programita que te pasan para generar las llaves funciona solo en windows y solo tengo mac 🙁
            En el manual dice que en linux es asi:
            # openssl genrsa -out privada.pem 4096
            # openssl rsa -in privada.pem -pubout -out publica.pem
            Mi duda es donde se le mete el codigo de comercio el cual es necesario al ejecutar el genkey.exe?
            Alguien que haya pasado por esto ya? Gracias y saludos!

            View Comment
    3. andcanalesastudillo says:

      Buen aporte lo que haces,gran trabajo!
      Tengo dudas con lo sgte. resulta que instale el woocommerce y cree 2 reglas de envió.una de regiones y otra Región Metropolitana,, pero la de regiones toma la RM, hay alguna forma de excluir esto. o algun plugin.

      lo hice, pero agregándolo todos lo postcode de las comunas de stgo, y al momento de finalizar la compra te sale una pestaña para elgir el despacho y no lo hace automatico, y el codigo postal no es requisito para finalizar compra..espero se entienda..
      saludos!

      View Comment Responder
    1. ctala says:

      Te aparece la página en blanco para bp_revision.cgi es por problema de permisos en los cgi, en los datos o algo de ese estilo :P.

      Vas a tener que revisarlos bien :).

      Ese es el error que te pasa cierto ? al menos es lo que a mi me pasó con tu sitio.

      View Comment Responder
      1. Jonathan says:

        Listo!, era problema de los permisos CGI 😛 también tube problemas con HTML_TR_NORMAL en el config. Pero Solucionado. Gracias.!

        View Comment Responder
        1. cryver says:

          estimado, muchas gracias por tu aporte, yo ya estoy en proceso de certificacion… ahora a esperar y comento como me fue

          View Comment Responder
        2. cryver says:

          Ctala… nuevamente felicitarte por el plugin, ya que gracias a el ya estoy en producción, pero tengo una consulta, el plugin tiene problemas con la ultima actualización de woocomerce??

          View Comment Responder
  2. Juan Carlos says:

    Cristian, una consulta.
    Instalé el módulo y configuré todo. Levanta bien webpay, pero… en el config de transbank, qué ruta usas en el HTML_TR_NORMAL?
    Gracias

    View Comment Responder
  3. Esteban says:

    Estimado, el plugin al parecer no funciona con las URLs amigables activadas de WordPress por qué al entrar al directorio cgi-bin arroja error 404 (no encontrado). Asumiendo que WordPress y cgi-bin están en el mismo directorio.

    cgi-bin
    wp-admin
    wp-includes
    wp-content

    View Comment Responder
    1. ctala says:

      Esteban, este error no es por parte del plugin, los cgi-bin se configuran en el apache, no poniendo la carpeta en el mismo directorio.
      Recomiendo que primero hagas funcionar los archivos de ejemplo y luego trates de usar el plugin.
      Saludos!

      View Comment Responder
      1. Esteban says:

        Si sí, Apache esta correctamente configurado para trabajar con la carpeta cgi-bin a través del ScriptAlias y todo lo demás, pero no hay caso, revise los permisos, la config de transbank, la del plugin y etc pero siempre da 404 🙁

        View Comment Responder
        1. ctala says:

          Viste si te funciona con un script más simple ? Te recomiendo probar primero con el ejemplo que sale en el manual del KCC y cuando ese este funcionando tratar de usarlo desde wordpress.

          View Comment Responder
          1. Esteban says:

            Cristian, después de probar decenas de configuraciones en él .htaccess de WP para que pudiera leer el cgi-bin sin tirar error 404 finalmente me funciono cambiando: “RewriteRule . /index.php [L]” por: “RewriteRule ./ /index.php [L]” te lo dejo por si le sirve a alguien más, ahora seguiré con los archivos CGI de TBK porque me arrojan error 500 y error 403, de seguro es por los permisos ajajajajja un abrazo y gracias por tu enorme trabajo!

            View Comment
          2. Iván says:

            Hola Cristian, Tengo el mismo error y configuré todo bien. Tengo la carpeta con los permisos correctos e hice lo que Esteban recomienda. ¿Tienes alguna solución de casos similares, a la fecha, al respecto? Muy agradecido desde ya. Saludos !

            View Comment
          3. Iván says:

            Definitivamente es un tema de servidor. Lo probé en un servidor propio en USA (mediatemple) y funcionó sin problemas.

            Lamentablemente siempre en los servidores de Chile es un problema instalar webpay.

            View Comment
          4. marcel says:

            tambien me arrojaba error 404, pero era porque habia subido los CGI de 32 bits. al subir los de 64 bits, ya no arroja error 404. muestra error 203, pero ya estando dentro de web pay

            View Comment
    1. ctala says:

      La verdad es que es super sencillo. WooCommerce sigue el idioma de wordpress, si el seleccionado por wordpress existe en la base de datos de woocommerce, se usa este.

      En el caso de español, si bajas el wordpress en español, por defecto woocommerce estará en español.

      OJO! que si el theme que ocupas esta solo en inglés puede que genere conflicto.

      Saludos!

      View Comment Responder
      1. marco manriquez says:

        Hola Cristian quería pedirte une recomendación sobre el tema del idioma de woocommerce, según un comentario tuyo que leí sobre que woocommerce sigue el idoma de wordpress.

        Para una tienda en Chile, ¿Recomiendas instalar wordpress en español-españa o español-chile?

        Mi plantilla de seguro viene en inglés y solo en ocasiones woocommerse me siguiere instalar la traducción al español

        ¿Será más factible que esté siempre disponible la traducción de Woocommerce al español-españa en cada nueva versión antes que la español-Chile?…

        tu comentario será muy bienvenido, quiero ahorrarme algunas traducciones con loco translate plugin, mil Gracias y excelente tus artículos!

        View Comment Responder
  4. felipe says:

    Hola Cristian, que buen trabajo el que hace usted. de ante mano muchas gracias.
    Mi consulta es si este plugin WEBPAY tambien sirve para trabajarlo en Colombia, claro en pesos colombianos.

    View Comment Responder
    1. ctala says:

      Felipe,

      creo que eres la primera persona que me pregunta desde Colombia. La verdad es que esta pasarela es para Chile, pero no creo que usando el código tengas problemas para hacer una réplica.

      View Comment Responder
  5. Esteban says:

    Cristian, el parámetro Check Mac en los ajustes del plugin hace referencia a la ruta del check mac .cgi de transbank u otro?? Va con http:// o sólo “cgi-bin” (si esta en el root “/”)?? Creo qué ahí estoy fallando por que después de realizar un pago correctamente (en ambiente de certificación) siempre me devuelve status fallido, a pesar de haber procesado todo correctamente… Ojalá puedas ayudarme, mil de gracias desde ya.

    View Comment Responder
    1. ctala says:

      Si te acepta el pago y te está dando fallido es posible que no esté creando la carpeta comun o los permisos de esta no estén correctos.

      Intenta crear la carpeta comun dentro de la carpeta del plugin con permisos 777.

      View Comment Responder
        1. ctala says:

          Recuerda habilitar el modo debug de wordpress y en consola hacer en la carpeta wp-content “tail -f debug.log” para ver lo que está pasando dentro del plugin.

          Recuerda que está creado sobre un buen sistema de debugging y logging.

          View Comment Responder
  6. Jonathan F says:

    Hola Cristian, quería saber si ¿realizas algún servicio de asesoría o la instalación del plugin? y de ser así, cuanto costaría? Gracias !

    View Comment Responder
    1. ctala says:

      Jonathan,

      la verdad es que la idea del plugin es hacer la vida más sencilla. Si no tienes mucha experiencia con esto te recomiendo contratar el servicio completo. Si te interesa dime para poder guiarte. Saludos!

      View Comment Responder
  7. arturo says:

    Estimado
    Soy diseñador grafico y necesito implementar webpay en un template wordpress ( woocomerce )
    ¿cuanto me cobrarias por eso?. ¿donde vives?
    Gracias

    View Comment Responder
    1. ctala says:

      hahahaha influye donde vivo ?.

      La verdad el problema no es incorporar webpay a woocommerce. Lo tedioso si es que no sabes es configurar el servidor. Cuentame un poco de tu proyecto, conozco gente que te puede ayudar a la implementación, y gente que te puede dar el servicio en el que solo te encargues del tema de wordpress y ellos ponen el resto.

      View Comment Responder
      1. arturo says:

        Preguntaba dónde vives para ver si lo podíamos conversar en directo.

        Te cuento. Instalé tu plugin y fue….guauu¡¡…excelente¡¡¡…de hecho puedes verlo acá http://graficaprimate.com/carrito/

        …podías echarle un ojo y decirme que faltaría para hacerlo funcionar?…

        Un tremendo gracias estimado, no sabes lo que hiciste. Si los carritos de compra con webpay comienzan a incrementarse, seguro, tendrás una “gran culpa” en eso…

        View Comment Responder
          1. arturo says:

            Ese es el paso que falta supongo; configurar los cgi de transbank.

            Mientras lo estoy haciendo con los de ejemplo que se descargan de la pagina de la tranbank.

            Ok. Lo haré.

            Regracias¡¡¡¡.

            Si me resulta, prometo depositarte una lucas a modo de agradecimiento…jeje.

            View Comment
          1. arturo says:

            Jajaja. Ok. Un pack por último.

            Pero tengo otra pregunta.

            Al configurar webpay da este error ” Shell access is not enabled on your account!
            If you need shell access please contact support.
            Connection to graficaprimate.com closed.”

            Pedí a los tipos del servidor que me habilitaran el acceso a la consola y me dijieron que no se podía, que para eso necesitaba un VPS.

            Pregunta. ¿ Para montar un carrito de compras con webpay es necesario un hosting normal o un vps?.

            Gracias nuevamente¡¡¡

            View Comment
        1. ctala says:

          Arturo,

          sobre lo del VPS. Lo que pasa es que necesitas configurar los CGI del servidor, si ellos proporcionan una mejor manera de hacerlo ( hay algunas herramientas gráficas ) genial ! Y si no, tendrás que ver costo-beneficio y ver la opción de cambiarte de proveedor.

          View Comment Responder
    1. ctala says:

      Lo que encuentro terrible de parte de transbank es que todos los usuarios tienen que pasar por esto. Sería más sencillo que ellos dieran una solución como esta. Por ahora espero que te sirva esto, recuerda que la instalación de los CGI la debes de hacer a mano de todas maneras.

      Saludos!

      View Comment Responder
      1. Dhenriquez says:

        Si cacho… ahora tengo el WP Store es buena la tienda y la implementé pero nunca más salió alguna actualización. Y ahora esto me viene genial ya que como se viene hay que tener sitios responsives.

        PD:
        Con esto saltaste al estrellato jajajaja

        View Comment Responder
        1. ctala says:

          El plugin los trataré de seguir mejorando, ahora que está en el repositorio de plugins de wordpres serán más sencillas las actualizaciones. Sería entretenido ver que exista un incremento en los eCommerce en Chile debido a esto.

          View Comment Responder
          1. ctala says:

            La verdad es la primera vez que veo ese fracaso :S. Esa parte la tendrás que ver con algún chico de transbank. Avísame si necesitas que te recomiende a alguien. Saludos!

            View Comment
  8. joasssko says:

    Estimado, excelente plugin, pero tengo un par de dudas..

    Luego de lograr la configuración del server (aws de amazon [casi un parto]) ya tengo funcionando webpay como pasarela.. el problema es que me tira el error “En este momento no es posible procesar su transacción” al parecer alguna pifia debo tener con la configuración de la salida o algun dato en el tbk_config .. alguna forma de que le pegues una miradita para que me ayudes a solucionar?

    El link a la tienda http://amazon.upmedia.cl/wordpress/ y el cgi http://amazon.upmedia.cl/wordpress/cgi-bin/tbk_bp_pago.cgi

    Saludos!

    View Comment Responder
      1. joasssko says:

        abrir puertos? y eso como se hace? y mi otra duda, que pasa con la página de cierre, error y todas esas? como se configuran? donde se arman? en algunas partes hablan de la xt_compra y en otras se habla de la página de cierre..

        View Comment Responder
        1. ctala says:

          Recuerda que antes de usar el plugin debes de hacer la configuración de los CGI de Transbank. Hay un manual que seguir para esto.

          La página de cierre la configuras directamente en el administrador del plugin. Lo que cambia en esta son los parámetros de éxito y fracaso.

          View Comment Responder
          1. joasssko says:

            hey! soy yo otra vez, al final era un error de interlíneas la vez pasada.. ahora, tengo un nuevo problema. tienes un mail al que enviarte los logs para que me pegues una ayudadita? te lo agradecería!

            Saludos!

            View Comment
          2. Ribbeck says:

            Cristian te envie un correo, y puede que aca tenga ese problema, en que parte se cambia la URL dentro de el codigo, es en webpay-woocommerce-plugin/webpay.php?

            View Comment
  9. Rai says:

    Saludos Cristian,
    Gracias por liberar el plugin!, llevo 2 años esperando que alguien lo pusiera a la venta o lo liberará. Se agradece el trabajo.

    View Comment Responder
  10. Joaquin says:

    Hola Cristian, gracias por tu ayuda. Una duda, el siguiente error:

    ERROR: No se ha podido establecer la conexión

    Se debe a la cnfiguracion del tbk_config.dat no? o es algo mas que eso. Muchas gracias

    View Comment Responder
  11. Daniel says:

    Que paja jajajaja… pasame el dato de alguien ya que Alvaro maldonado no me ha respondido jajajaj a todo esto… igual tengo problemas con las keys del kcc6…
    Gracias!

    View Comment Responder
          1. Daniel says:

            Dónde esta el wiki? jajajaj oye… ahora corre todo ok pero no me despliega la pagina de success o failed… tienes gtalk? XD

            View Comment
        1. ctala says:

          Creo que Gtalk es más de lo que estoy dispuesto a hacer para esto :P.

          Configuraste la página de fracaso o éxito en la configuración del plugin ?

          La página se ve en blanco ? o no va a ningún lado ?

          Cual es la dirección ?

          View Comment Responder
          1. Daniel says:

            Se sigue viendo en blanco luego de sacar los parámetros.. que puedo hacer en este caso?

            View Comment
          2. ctala says:

            la verda es algo del wordpress, si la página no existiera debería decirlo.

            Estás viendo que es lo que pasa con los logs ?

            View Comment
  12. Pedro Pablo says:

    Cristián:

    La verdad es que no me manejo en como instalar WebPay con WooCommerce. Me puedes escribir cuanto cobrarías? Está la posibilidad de generar una plataforma de pago que solo reenvie a WebPay.cl y así no tener que usar Plus, se puede crear algo asi? Gracias!

    View Comment Responder
    1. ctala says:

      Pedro,

      entiendo tu preocupación. Lamentablemente webpay plus es el único como plataforma automátizada. Webpay solo no lo hace :(.

      De todas formas te contactaré para conversar. Saludos!

      View Comment Responder
      1. achax says:

        lo mas facil para usar webpayplus es usar el woocommerce custom payment gateways, y configurar un gateway para que mande un email con los datos para pagar por webpay.cl, así lo uso yo. El próximo paso es hacerlo que abra automaticamente webpay.cl al tirar la pagina de éxito. OOjo que la orden queda como pendiente, y debe cerrarse manualmente

        View Comment Responder
  13. Ricardo says:

    Hola Cristian, de antemano gracias por tu aporte.

    Desde mi ignorancia tengo una pregunta. Tu implementación es para WebPay o para WebPay Plus?? o funciona para ambas??

    De antemano muchas gracias

    View Comment Responder
    1. ctala says:

      Ricardo, la verdad es una buena pregunta.

      Lo que pasa es que webpay plus es el sistema que se integra en los sitios, mientras que webpay normal es una página en donde puedes realizar un pago. Son diferentes.

      Por lo tanto la implementación es para WebPay Plus.

      View Comment Responder
  14. Eduardo says:

    Hola Cristian, muy buen trabajo, se agradece! Te quería molestar, ojala puedas ayudarme, tengo un problema, he instalado el plugin en dos sitios, uno en hostgator y otro en un servidor dedicado personal, los 2 sitios funcionan correctamente, validan, procesan, aceptan, etc, todo sin problemas, pero en ninguno de los 2, al volver después del pago exitosamente (status=success) arroja, en la página de éxito, los datos de venta de transbank, sino que solo muestra la página predeterminada de éxito de woocommerce, sabes cómo puedo solucionar este problema?? Ya que estos datos son necesarios y obligatorios para pasar la certificación.

    Quedo atento y desde ya muchas gracias!

    View Comment Responder
    1. ctala says:

      Eduardo,

      te cuento que el plugin debería de sobre escribir la página de éxito de tal forma que muestra la información de que sea exitosa. Has intentado con otro theme ?

      View Comment Responder
      1. Eduardo says:

        Si, de hecho, cada sitio tiene themes distintos. te puedo enviar los datos de acceso del sitio si no es mucha molestia, o tu me dices cuanto me cobras por revisar, de verdad que necesito hacerlo funcionar 🙁

        View Comment Responder
  15. Carlos Hidalgo says:

    Saludos Cristian, esta demás decir tu eres un gran aporte para gente como nosotros que estamos un poco limitados en algunos aspectos.

    Me gustaría poder conversar contigo vía mail o como te acomode, ya que tengo unos problemas al usar tu plugin. Si hay que cobrar o lo que sea estimado lo conversamos.

    Gracias por tu aporte y un abrazo desde el norte!

    View Comment Responder
  16. Eduardo says:

    Si a alguien le funciono el plugin podría comentar acá porfa? para que comparemos??? No hay caso con que la pagina de éxito muestre los datos de transbank… Gracias!!

    View Comment Responder
  17. Carlos says:

    Que tal Cristian, excelente aporte para este plugin. Estimado será posible aclarar alguna dudas, como por ejemplo ¿necesito algunas medidas de seguridad para utilizar WordPress y este tipo de plugins? ¿Si paypal o Webpay cuentan con https, yo también necesito tener una o toda la seguridad de dato de tarjetas corre por parte de ello?

    Espero puedas orientarnos con esto, muchas gracias.

    View Comment Responder
    1. ctala says:

      Ambas transacciones son por parte de paypal y transbank. De todas maneras la información que le mandas a estas no. Es recomendable tener un certificado SSL-.

      View Comment Responder
  18. Eduardo says:

    El problema no es suPHP, cargue los script de ejemplo de TBK y funcionaron sin problemas, lee, escribe, etc.
    El problema del plugin es que no esta insertando los datos de la transacción TBK en la BD en la tabla wp_webpay, estoy debuggeando con $wpdb->show_errors(); y en el debug.log me arroja este error:

    [10-Aug-2013 21:40:46 UTC] Error de la base de datos de WordPress para la consulta SELECT * FROM wp_webpay WHERE idOrder = 1646 realizada por require(‘wp-blog-header.php’), require_once(‘wp-includes/template-loader.php’), include(‘/themes/subcomplot/page.php’), the_content, apply_filters(‘the_content’), call_user_func_array, do_shortcode, preg_replace_callback, do_shortcode_tag, call_user_func, WC_Shortcodes->thankyou, Woocommerce->shortcode_wrapper, call_user_func, WC_Shortcode_Thankyou::output, woocommerce_get_template, include(‘/plugins/woocommerce/templates/checkout/thankyou.php’), do_action(‘woocommerce_thankyou_webpay’), call_user_func_array, WC_Webpay->thankyousuccess_page

    Ahí quede… jajajajaja 🙁

    View Comment Responder
  19. Jhonatan says:

    Muy buen Blog estaré visitándolo frecuentemente me interesa aprender la integración de webpay a worpress. seguiré averiguando, gracias.

    View Comment Responder
    1. ctala says:

      En general diseño el sistema con el eCommerce + hosting + integración despacho + Mercado Libre. El diseño lo externalizo, pero igual se puede hacer.

      View Comment Responder
      1. Erik Tapia says:

        Hola Cristian, estoy buscando la forma de integrar en mis eCommerce el despacho por comunas, pero no logro conseguirlo con ninguno de los plugin que he encontrado. Cuanto me cobrarías por esta integración?. Favor contactarme.

        View Comment Responder
        1. ctala says:

          La verdad creo que el mismo plugin de despachos de woocommerce ( pagado ) podría hacer este trabajo. Si aún te interesa desarrollarlo confírmame.

          View Comment Responder
  20. Pablo Bustos says:

    Hola Cristian, gran trabajo! Ni te imaginas la tremenda necesidad que existía de algo así en Chile. Me gustaría saber cómo puedo cotizar la instalación de este plug in, ya que no soy experto y quiero evitar los riesgos en la seguridad. Saludos!

    View Comment Responder
  21. MARCELO DIAZ says:

    Estimado Cristian,

    Te escribo para ver si me puedes contactar para tus servicios o de alguien que puedas recomendar.
    Gracias.

    View Comment Responder
  22. Christian says:

    Hola Cristian,
    El plugin me está dando este error al querer instalarlo.

    Parse error: syntax error, unexpected ‘[‘ in /home/inovaie/public_html/wp-content/plugins/webpay-woocommerce-plugin/admin/webpay_install.php on line 14

    Saludos

    View Comment Responder
        1. ctala says:

          El plugin usa una función de asignación en la variable de la carpeta común dada por un arreglo. Si tu versión de php o de wordpress son antiguas, es posible que tengas este error.

          De todas maneras lo revisaré para mantener la compatibilidad para versiones de php anteriores. Saludos!

          View Comment Responder
    1. Eduardo says:

      Christian, el plugin tiene serios problemas con servidores con un mínimo de seguridad (suPHP, Mod_Security, entre otros), con suPHP derechamente NO FUNCIONA, al actualizar también me arrojo ese error, se soluciona poniendo el directorio de uploads en admin/webpay_install.php “en duro”, ejemplo: $webpay_comun_folder = “/home/usuario/public_html/wordpress/wp-content/uploads/webpay-data/comun”; //(linea 14)

      Por otra parte, te recomiendo crear la carpeta a mano, con permisos 755 si estas con suPHP, o el server te arrojara error 500, por que el plugin crea las carpetas con 777 (OMG! 777!!)

      Yo aun estoy tratando de que el plugin me muestre los datos de TBK en la pagina de éxito… 🙁

      View Comment Responder
      1. ctala says:

        Eduardo,

        recuerda que en cualquier momento puedes hacer un fork del plugin y mejorarlo cuanto lo desees.

        Con respecto a los Problemas de seguridad, los archivos de la carpeta común no poseen información protegida, solo se usan para corroborar.

        Que tengas un buen día !

        View Comment Responder
        1. ctala says:

          Modifique el plugin para que no hubiera problemas con la versión de php. Pero la verdad es que no he tenido oportunidad de probarlo en otras. Revisa por favor si la nueva versión te sirve.

          View Comment Responder
      1. Christian says:

        Aplicado el rut y todo. Sólo que al poner la opción de aceptar, me lleva a la página de pago recibido, pero me dice que el banco no pudo realizar la transacción.
        Eso está mal cierto?

        View Comment Responder
        1. ctala says:

          hahah Sip :P.

          Algo se está mandando mal o estás recibiendo mal. Lamentablemente ese error es muy genérico.

          Recuerda estar atento con los logs !

          View Comment Responder
          1. ctala says:

            Vi tu log, peor estás viendo el de Transbank no el de wordpress, trata de activar el log de wordpress y revisa el archivo que se crea de debug.log bajo la carpeta wp-content

            View Comment
          1. ctala says:

            Mira, para filtrar los mensajes vas a tener que usar tail o un comando similar.

            Lo que yo hago es lo que aparece en el wiki del plugin “tail -f debug.log -n 1000 | grep WEBPAY” y veo todo el debug que es solo del plugin.

            De todas maneras es muy posible que no sea un problema del plugin, si no de algo como los permisos.

            Te recomiendo que desactives el plugi, y lo actives después que empiezas a filtrar la información de debug.

            View Comment
          2. ctala says:

            El MEDCOM define si es por http o https. Pero aún no me dices cual ha sido el error. Si es de escritura de archivo revisa si la carpeta webpay-comun se está creando en uploads y tiene permisos de lectura y escritura :).

            View Comment
          3. Christian says:

            Cristian,
            La variable $_REQUEST[‘status’] en el archivo webpay.php no tengo claro de dónde viene. Pero esa variable trae “failure” como contenido en vez de “completed” y ese es el problema.
            Por eso no finaliza con éxito la transacción.

            Me puedes ayudar con eso.

            View Comment
    1. ctala says:

      A los otros. Si la carpeta webpay-comun se crea con todos los permisos correspondientes. Prueba con chmod 777 -R a esa carpeta para que veas que pasa.

      View Comment Responder
  23. Hector Pinto says:

    Cristián, primero que todo felicitarte por este plugin ya que es excelente. Te escribo para molestarte con una pregunta, cuando hago el “checkout” del carrito me sale este error “Notice: Undefined index: TBK_ORDEN_COMPRA in /home/funny/public_html/wp.diapo.cl/public/wp-content/plugins/ctala-woocommerce-webpay-f8da31a3f009/webpay.php on line 528”, luego al intentar pagar con cualquier tipo de tarjeta siempre vuelve a la página del pedido, en la url dice http://wp.diapo.cl/?page_id=6&status=failure&order=260&key=order_5226919f9d7ab, pero no me muestra la página de fracaso, revisando el log de apache me encuentro con lo siguiente: PHP Notice: Undefined index: TBK_ORDEN_COMPRA in webpay.php on line 528, referer: http://wp.diapo.cl/?page_id=6

    View Comment Responder
    1. ctala says:

      Que lindo el diseño que tienes, pero bueno, si no están llegando los parámetros sin valor por parte de webpay me parece bastante extraño. Cual es la configuración del server ? configuraste los CGI no ?

      View Comment Responder
  24. Hector Pinto says:

    Por lo que te pediría un poco de orientación para dilucidar cual es el problema.

    De antemano, muchas gracias.

    View Comment Responder
  25. Christian says:

    Cristian,
    En el último pasó el log de transbank me está dando error 46, obtener ACK.

    Me dijeron ” crear un archivo con el nombre php.ini en el directorio donde se encuentra el archivo php que ejecuta el proceso, el cual debe tener en su interior lo siguiente.

    disable_functions =”

    ¿Sabes algo de esto?

    Saludos

    View Comment Responder
  26. Ribbeck says:

    Hola me gustaria saber cuanto em cobras por ayudarme a crear (no que la crees)las paginas que solicitan en el manual e tratado de todo y no e podido.. no se tampoco si me sirven las que salen en el manual.. tengo mil dudas… si me ayudas de verdad que te compenso de alguna forma viejo..

    View Comment Responder
    1. ctala says:

      Yo me sentí igual cando inicie el proceso para certificar mi web… La verdad s un proceso que deberían arreglar ellos, pero bueno, es la razón de este plugin. Te contactaré vía mail.

      Saludos!

      View Comment Responder
      1. Ribbeck says:

        Saludos Cristian, y gracias por tu tiempo para responder. Tengo una duda entiendo todo como funciona esto, el tema es que sigo cada uno de los pasos pero siempre me pillo con inconveniente, como el tema de la carpeta común ya que en public_html/wp-content/uploads me crea una carpeta llamada WEBPAY-COMUN no se si afecta en algo ya que no existe alguna que solo se llame comun.

        View Comment Responder
          1. Ribbeck says:

            Gracias cristian un duda menos 😀 pero aun me da error, puede ser el tema del check mac como va esa url? la e puesto de todas formas pero aun me sale la venta fracasada-

            Muchas gracias por tus respuesta, has sido de gran ayuda.

            View Comment
  27. Ribbeck says:

    Hola compañeros.. alguien me puede decir como quedaría el directorio para este plugin? o si es necesario crear las paginas de exito y fracaso? y si alguien pudo configurar la parte del check mac? Muchas gracias a todos.

    View Comment Responder
  28. Sebastian says:

    Hola Cristian,

    Primero que todo gracias por tu ayuda!! Realmete potente poder contar con WebPay Plus integrado con Woocommerce!!
    Cuanto me cobrarías por dejar funcionando el Plugin de WepPay? Tengo todo instalado!

    Atento a tus comentarios, saludos,

    View Comment Responder
  29. Sergio says:

    Hola Cristián, te felicito por el plugin, una gran iniciativa!

    Te contacto por lo mismo que muchos más acá, para saber cuánto me cobrarías por dejar andando el plugin de webpay plus, ya sé como instalar todo lo demás pero me faltaría dejar eso andando.

    Saludos!

    View Comment Responder
  30. Claudia says:

    Hola Cristian. De antemano super agradecida que seas tan generoso.

    Te quería preguntar… Hace tiempo estoy buscando alguien que me enseñe un poco de integración de woocommerce con diseño (soy diseñadora), quizás tu seas mi salvación. De todas formas igual me podrías contactar para explicarte q necesito?

    Yo tambien encantada puedo ayudar con el plugins con traducciones, por que me encanta hacerlas, soy muy detallista y tengo paciencia.

    Gracias!!!

    View Comment Responder
  31. Esteban says:

    Cristian, en TBK ahora están pidiendo que en el detalle del pedido se muestre el valor unitario de los productos comprados, sabes como se puede lograr eso? De antemano muuuuuchas gracias!

    View Comment Responder
  32. Sonda says:

    Hola Cristian, buenas tardes. Felicitaciones por el excelente trabajo e investigación, para solucionar las dificultades de todos con el webpay.

    Tengo un website hecho en wordpress, el servidor es linux 64, instalé el plugin de webpay conforme las instrucciones y subí el kit webpay, lo extraí en la carpeta cgi-bin, los permisos ya están ok (eso creo), pero el cgi-bin/tbk_bp_pago.cgi me arroja error 500. el soporte del servidor dice que és porque el cgi en el servidor es ejecutado como perl.

    sale ese error # perl tbk_bp_pago.cgi
    Unrecognized character \x7F at tbk_bp_pago.cgi line 1.

    Alguna sugerencia?

    Gracias y saludos.

    View Comment Responder
    1. ctala says:

      Sorry man,

      la verdad es que no se el por qué se ejecuta de manera distinta.

      Espero que soluciones eso y nos avises como lo hiciste para agregarlo al wiki.

      Éxito !

      View Comment Responder
        1. Sonda says:

          Finalmente encontré la solución para el error 500 en los cgi.
          Hice una prueba subiendo al servidor unos cgi y unos perl “HOla Mundo” para probar, y resulta que el cgi no estaba activado u algo así. Me comuniqué con el soporte del servidor, expliqué q el Hola mundo no funciona, lo activaron y funcionó. Saludos.

          View Comment Responder
  33. Ignacio says:

    Estimado, muchas gracias por automatizar este tema, la verdad es que es un cacho.
    Estoy tratanto de hacerlo, me logra conectar con webpay y utilizo 4051885600446623 como tarjeta para aceptar. Todo bien hasta ahí, pero al seleccionar aceptar en webpay, el sistema piensa y tira un mensaje popup javascript y luego me redirije a la página de fracaso:

    ” Desafortunadamente su pedido no puede ser procesado ya que el banco ha declinado su transacción.

    Por favor intente de nuevo su compra o diríjase a la página de su cuenta.

    Un error ha ocurrido
    TRANSACCIÓN FRACASADA !!! ”

    Viendo el debug.log aparecen las siguientes lineas de forma consecutiva:
    [09-Oct-2013 14:45:58 UTC] [WEBPAY – RESPONSE] -> Entrando al Webpay Response
    [09-Oct-2013 14:45:58 UTC] [WEBPAY – RESPONSE] -> SALIENDO DEL RESPONSE

    En que momento se ejecuta la funcion public xt_compra() ?
    ya que log_me(“Iniciando xt_compra”,$sufijo); ubicado en webpay.php no se refleja en el debug.log.
    Si me puedes asesorar, se agradece!

    Saludos cordiales
    Ignacio

    View Comment Responder
  34. Catalina says:

    Hola Cristián mil gracias por el dato.
    Pregunto algo que ya preguntaron antes pero no me queda claro…
    Para poder asignar costo de envío por region o comuna dice que pagas por un pluggin the woocommerce… cual es? El que sale 199 dolares???
    Hay algo mas barato???
    Otra cosa para instalar webpay que tanto conocimiento debo tener? Yo hice mi pagina web pero sobre webpay no se nada….
    Gracias

    View Comment Responder
  35. DAniel says:

    Hola!
    instale nuevamente el plugin pero al momento de salir de TBK a la tienda esta falla.
    En el reporte de tbk me da error 46
    y el log de wordpress dice esto:

    [23-Oct-2013 05:11:58] [XT_COMPRA] -> Iniciando xt_compra
    [23-Oct-2013 05:11:58] [XT_COMPRA] -> failed
    [23-Oct-2013 05:11:58] [XT_COMPRA] -> ORDEN EXISTENTE 20
    [23-Oct-2013 05:11:58] [XT_COMPRA] -> ORDEN DE COMPRA NO PAGADA (PENDING). Se procede con el pago de la orden 20
    [23-Oct-2013 05:11:58] PHP Notice: Undefined offset: 0 in /home/content/d/o/c/documentales/html/tienda/wp-content/plugins/webpay-woocommerce-plugin/webpay.php on line 796
    [23-Oct-2013 05:12:07] [WEBPAY – RESPONSE] -> Entrando al Webpay Response
    [23-Oct-2013 05:12:07] [WEBPAY – RESPONSE] -> SALIENDO DEL RESPONSE

    View Comment Responder
    1. ctala says:

      Daniel,

      te recomiendo revisar si te están llegando los parametros de transbank, simplemente imprime el arreglo POST. Agregaré eso a la próxima de versión del plugin para el debugging.

      View Comment Responder
      1. Daniel says:

        Cristian,
        imprimi el arreglo y si vienen los datos, la respuesta de xt_compra es “ACEPTADO” pero en el log de TBK aun dice error 46 (rechazado :S)
        no sé en que momento le manda ese rechazo a tbk.
        me podrias echar una mano con eso?
        cuanto cobras por dejarlo funcionando?

        View Comment Responder
  36. Mauricio Troncoso says:

    Excelente aporte, se integra perfecto.
    Tengo algunas dudas con el fin de la compra, resulta que no encuentro como realizar el cierre de una transacción ya que logro conectarme con webpay, ingreso tarjeta y el código de verificación, pero al momento de volver a la página me arroja error con la session y el id de transaccion, saliendo el mensaje de rechazada. ¿Qué podría estar sucediendo?
    Gracias por tus aportes

    View Comment Responder
      1. Mauricio Troncoso says:

        Estimado, los CGI son los que entregó transbank en su momento, resulta que antes el sitio estaba en prestashop, hoy se encuentra en wordpress, nosé si dado eso los CGI deberian ser diferentes

        View Comment Responder
    1. Sonda says:

      Buenas tardes, luego de avanzar con los errores anteriores, ahora tengo el mismo problema de error 46. problemas con la pagina de cierre.
      Además, no tengo idea qué hacer con el webpayconector… lo descargué, pero no sé donde subirlo. (es un plugin?), intenté subir los archivos del webpayconector en la carpeta cgi-bin, en la carpeta madre ROOT “/” y no resultó. Saludos.

      View Comment Responder
  37. Alberto says:

    Cristian. Soy un aficionado. Que además me dedico a esto. tengo que integrarlo en una web de un cliente que hice con wordpress. Y estoy realmente trabado en varias cosas. En vez de preguntarte si me cobras por esto. Cuanto me cobrarías por enseñarme a tomar un sitio y dejarlo funcionando 100% con este plugin? Clases necesito.
    Es factible?
    Saludos

    View Comment Responder
  38. mauricio says:

    Hola Cristian.

    como te conte el otro dia estaba buscando como poder realizar el envio con cobro distinto por ciudad, instale el pliguin que me indicaste, pero no funca. tienes alguna idea que puede ser.

    1 cree Add Shipping Zone

    2 cree II de Antofagasta

    3 códigos postales 124****,131*****,132*****,133****,139****,142****,141****,136****,134****

    View Comment Responder
    1. Sonda says:

      hola, tal vez sea el mismo problema que yo enfrenté.
      Prueba subiendo al servidor un script cgi “hola mundo” o “hello world” y vea si funciona.
      Caso no funcione, (mi caso), contacta el soporte de tu servidor para que hagan funcionar los cgi y que prueben con un hola mundo.

      View Comment Responder
      1. mauricio says:

        lo hice pero no funciona. igual dice archivo no encontrado. pregunte en soporte media temple servidor dv. pero dicen que no saben que puede ser. el soporte como vez es excelente……!

        View Comment Responder
  39. diego says:

    Estimado, junto con saludarte, y agradecerte por este hermoso plugin, quisiera hacerte una consulta. como puedo redirigir o mandar un error cuando la informacion del comprador es vista por segunda ves, por ejemplo, cuando hago la compra, aparecen los datos de mi tarjeta, cuotas etc. y luego apreto f5. necesito que me lance un error, pero no puedo. espero me puedas ayudar.

    saludos y muchas gracias por tu plugin!!!

    View Comment Responder
    1. ctala says:

      Diego, que bueno que te sirvió el plugin.

      Lo dices para que en la certificación transbank no te diga que es “HACKEABLE” ? lo que pasa es que en la url ves la información debido a que O estas en tu cuenta O hay un KEY en la URL. Por favor revisa si está el key en la URL.

      1. Si el key no aparece, la información no será mostrada.
      2. Si el usuario no está logueado SU información no será mostrada.

      Espero que te ayude. Saludos!

      View Comment Responder
      1. diego says:

        el key esta en la url, mi duda es como poder eliminar estos datos una vez hecha la transaccion. para que un segundo usuario no pueda ver la pagina de exito. y asi que transbank no me joda mas jajajajaj! espero atento tu respuesta,

        saludos.!

        View Comment Responder
        1. ctala says:

          Lo que pasa, es que es transparente, ya he tenido problemas con transbank por esto, pero cuando le explicas que la llave es privada y no se replica se solucionan.

          Esa llave deja de existir, y no la vuelves a ver.

          Saludos!

          View Comment Responder
  40. diego says:

    Bueno, si es asi, muchas gracias por la info Cristian, en todo caso, lo solucione con un cache en la pagina de woocommerce, pronto tratare de subirlo por si a alguien mas le sirve, pero ahora lo que me acompleja es lo siguiente. me detectaron que el pago se realiza dos veces. EJ:
    http://i.imgur.com/dCr3Ape.png , http://i.imgur.com/bWmKuca.png osea tienes la posibilidad de hacerlo . queria saber si tienes detalles sobre esto. te lo agradeceria enormemente.

    saludos!

    View Comment Responder
    1. ctala says:

      De hecho, es muy raro que eso pase, debido a que en el código explicitamente aparece que se valida el pago de una orden que no esté pagada anteriormente. De hecho esto se hizo por las validaciones de transbank.

      La única forma que esto haya pasado, es que transbank jamás haya generado respuesta al sitio diciendo que esto sucedió.

      View Comment Responder
  41. diego says:

    me contactare con transbank para ver como puedo solucionar esto y te mantengo informado, para que podamos mejorar el plugin en caso de que se deba modificar.

    saludos!

    View Comment Responder
  42. diego says:

    Estimado Cristian,

    sigo teniendo el problema de la inyeccion de datos, pero es intermitente. he tratado de hacerlo como unas 10 veces, pero 5 me rechaza la transaccion y 5 veces me hace el pago por 2 vez, si me pudieses hechar una mano con el tema del bloqueo de inyeccion de datos, te lo agradeceria eternamente. quedo atento a tus respuestas y espero si me puedes contactar por correo 🙂

    saludos.

    View Comment Responder
  43. mauricio says:

    la carpeta cgi esta en el servidor la ruta es:
    /
    error_docs
    logs
    httpdocs
    cgi-bin ( bajo esta carpeta están archivos tbk_bp_pago.cgi -resultado – check_mac además de estos directorios )
    datos
    maestros
    templates

    View Comment Responder
    1. mauricio says:

      logre encontrar la carpeta cgi-bin

      estaba en la raíz del servidor tuve que conectarme con putty con el usuario root. Es que no conozco mucho de Linux. solo un curso de unix que vi en la u hace como 50 años.

      /var/www/cgi-bin
      instale los archivos le di los permisos.

      cuack ahora sale otro error

      Internal Server Error

      tienes idea que podría ser…?

      View Comment Responder
  44. Javier says:

    Hola. Muchas gracias por el plugin.
    Me gustaria saber donde configuro el codigo de cliente en este plugin y como configurar bien las paginas de exito/fracaso que tengo creadas para que escriba correctamente los mensajes de transbank. Tengo los CGI funcionando (despues de un buen rato) pero en un momento de la transaccion se va a un archivo https://certificacion.webpay.cl:6443//bp_revision.cgi y me arroja error. QUe sucederá? Agradezco tu ayuda desde ya.

    View Comment Responder
    1. ctala says:

      La mayor parte de la configuración se hace directamente en los CGI, por lo que estos lo debes configurar con la página de éxito de woocommerce.

      View Comment Responder
  45. Juan Carlos says:

    Hola Cristian,

    Tu me podrias asesorar por favor en esta tema, llevo tres dias tratando de hacer funcionar esto, desde transbank me mandan al datacenter para revisar la configuración del servidor y desde el datacenter me mandan a transbank ya no se a quien mas pedirle ayuda por favor si te pudieras comunicar conmigo a traves de mi correo te lo agradecería bastante

    Saludos

    View Comment Responder
  46. Felipe Morales says:

    Hola Cristian! Muchas gracias por el plugin y por tu buena onda, la cual está plasmada en cada mensaje de respuesta que das 🙂

    Necesito de tu ayuda. Todo va de maravillas con el plugin, hasta que Transbank nos dice que ha testeado la MAC haciendo una inyección y que -según lo que entiendo- bypassear el KCC al inyectar una orden de compra vía POST hacia nuestra página de éxito, la cual, ellos dicen debería llevar a la página de fracaso, pues el sistema debería evaluar si la compra fue o no pagada.
    No te aburro más y te pego el texto que nos enviaron de sorporte:
    ————————————————–
    La prueba que efectuamos corresponde a lo siguiente :

    -Se efectúa una transacción de forma normal la cual no se concreta
    -Desde el Post generado rescatamos los datos de dicha transacción
    -Inyectamos los datos mediante un HTML de pruebas directamente a la pagina de éxito de su comercio
    -La respuesta esperada por nosotros es el envío hacia la pagina de fracaso o Index del sitio, en su caso nos envió a la pagina de Éxito y nos muestra todos los datos de la transacción lo cual es completamente erróneo debido a que la prueba no pasa por el flujo del KCC, debiendo el sitio validar esta transacción y derivarla según corresponda

    Adjunto archivo de revisión usado en nuestras pruebas
    ————————————————–

    Eso es amigo. No tengo idea cómo solucionarlo xD

    Entre nos, te cuento que el archivo que me adjuntaron se llama Macker.html y al parecer es para hacer inyecciones xD (encantado te lo paso si lo quieres ver).

    Ayuda por favor, una luz!
    Agradecido de antemano,

    View Comment Responder
      1. Felipe Morales says:

        La actualizamos cuando leí tu respuesta y ahora no funca, se queda pegado en la página de TBK. Volvimos a la versión que teníamos (2.1.7) para seguir intentando.
        No creo que seamos los primeros que TBK haga una inyección en woocommerce.

        Gracias de todos modos gurú 🙂

        View Comment Responder
        1. ctala says:

          Felipe, la versión nueva soluciona esto, es debido a que los STATUS de woocommerce cambiaron con la versión.

          Ahora se asume que “ON-HOLD” no está pagado, por lo que hay que poner al momento de pagar que la orden está “PROCESSING”. Por último mira esa parte del código de la última versión.

          View Comment Responder
          1. diego says:

            Cristian, junto con saludarte nuevamente y siguiendo el hilo de esta conversacion, te recuerdo que a mi me pasaba lo mismo. actualice woocommerce a su ultima version, y tu plugin. pero ahora tengo un pequeño problema. y digo pequeño porque me tinca que debe ser una estupidez…

            me tira todas las transacciones como fallidas… “FAILURE”

            segui todos los pasos. hasta hice la prueba de duplicidad con el archivo macker. pero nada. a ver si me puedes hechar una manito. para que te ganes un asado con toda la gente que esta aqui esperando la solucion jaja 😀

            saludos y quedo atento.

            View Comment
          2. ctala says:

            Diego,

            probaste con la última versión y cambiar el [woocommerce-thankyou] por [webpay-thanyou] ?. De todas maneras te recomiendo borrar la carpeta de archivos de tranbsbank entera. ( dentro de la carpeta uploads )

            View Comment
          3. Felipe Morales says:

            Cristian, si simulas una compra, le das clic a pagar, llegas hasta la pantalla de TBK donde hay que poner los datos de la tarjeta y NO haces nada…
            (en este momento la orden está en estado PROCESSING)

            Luego usas el macker.html con los datos de la compra que recién simulaste y no pagaste: número de orden, id de sesión y monto… usando la página de éxito en la ruta de envío, verás que pasa todo soplado hasta la página de éxito y te dice que la orden fue recibida y pagada.

            En realidad en webpay.php validamos si el status de GET es success (cosa que cualquiera puede escribir en la URL) y luego si el order->status es o no processing (este estado es true sin importar si la orden fue pagada o no, como dije más arriba)… entonces:

            basta con que la orden exista (si existe es processing) que el status de GET sea success para que el plugin la dé como recibida y pagada.

            No tengo idea cómo ni dónde, pero necesitamos validar que la orden NO ha sido pagada y que dirija a página de fracaso o al index del sitio.

            Help!

            Gracias…

            View Comment
          4. ctala says:

            Felipe,

            hay un par de validaciones más. El processing se hace al momento de recibir la transacción de vuelta por parte de Transbank. SI no es exitosa no esta la información de transacción de webpay en la base de datos, por lo cual no la muestra. Igual revisaré lo que me dices, pero de todas formas en los comentarios de transacciones aparece el número de aprobación para corroborar de que exista.

            Saludos!

            View Comment
    1. Felipe Morales says:

      Gracias por siempre responder Cristian!

      Al final lo que hicimos fue, en el archivo header.php evaluar si el GET es success, y el código de autorizacion de la compra en la BD es 0, entonces significa que nos están tratando de inyectar. Entonces redirijimos al index.

      Veremos si TBK nos aprueba esto.

      Saludos y gracias again,

      View Comment Responder
      1. ctala says:

        La nueva versión debería de estar ya aprobada nuevamente para lo de la inyección. Trata de no hacer hardcode en el código para no tener problemas con las actualizaciones.

        View Comment Responder
        1. Felipe Morales says:

          Hola!
          Ya superado el tema de las inyecciones, ahora nos dicen que estamos aceptando el pago 2 veces de una orden ya pagada, o sea que estamos aceptando el pago duplicado de una misma orden.
          ¡No dejan de salir inconvenientes! xD

          Saludos!

          View Comment Responder
          1. ctala says:

            Hahhahahhah es que es raro, debido a que por defecto el plugin maneja esas cosas. Estás usando el shortcode ?

            View Comment
  47. Rodrigo says:

    Cristian; Excelente tu aporte y muchas gracias por el plugin. Yo nunca he instalado webpay y se ve simple pero siguiendo todas las instrucciones, tuyas y del manual de transbank, no me funciona. Uso filezilla, copie los archivos (modo Ascci) y la ruta de pago.cgi me arroja 404. Me puedes asesorar? como me comunico contigo?

    View Comment Responder
  48. Claudio says:

    Hola Cristian, que tal? Oiga, de vuelta al asunto. Instalé la carpeta cgi-bin para linux 32. Modifiqué los archivos “tbk_config.dat” con mi ip y la dirección a mi sitio. Creé una carpeta “webpayconector” y puse ahi los otros archivos ( “xt_compra”, “exito”, “fracaso”, “index”) modificando los links como correspondía….. compro y me sale 404, al momento de conectar a tbk_bp_pago.cgi. Donde estará el problema? Gracias desde ya!

    Claudio

    View Comment Responder
  49. Carlos says:

    Una pequeña acotación, el shortcode es [webpay_thankyou], en el changelog aparece como [webpay-thankyou].
    Nuevamente gracias por el plugin!

    View Comment Responder
  50. Claudio says:

    Bueno, pregunté a mi proveedor y me dice que es la misma carpeta, la cgi-bin en la raiz de mi sitio….si vuelvo a poner todos los links con cgi-bin en vez de scgi-bin, me da un 404…. seran los permisos?

    View Comment Responder
  51. Claudio says:

    Y bueno…la cosa era cambiar el hosting. Ahora ya comienza a tener respuestas la configuración. estoy en una instalación de prueba y me entrega este mensaje al pagar (antes de que pida datos) ERROR: No se ha podido establecer la conexión. Desde ya muchas gracias por cualquier tip que me ayude con esto.
    Saludos!

    View Comment Responder
  52. Felipe Egas says:

    estimado gracias primero que todo por el plugin, pero me da el siguiente problema en la parte final de proceso:

    [26-Nov-2013 18:50:58 UTC] [XT_COMPRA] -> Iniciando xt_compra
    [26-Nov-2013 18:50:58 UTC] [XT_COMPRA] -> pending
    [26-Nov-2013 18:50:58 UTC] [XT_COMPRA] -> ORDEN EXISTENTE 455
    [26-Nov-2013 18:50:58 UTC] [XT_COMPRA] -> ORDEN DE COMPRA NO PAGADA (pending). Se procede con el pago de la orden 455

    siempre me sale como failure, a que se debe esto?, en webpay me dijieron que modificara xt_compra para poner solo ACEPTADO (obviamente antes respaldar la pagina) y asi probar si es error de server o de la programacion en sí, si es asi donde puedo encontrar xt_compra? saludos!

    View Comment Responder
  53. Felipe Egas says:

    Estimado ya lo solucione, era un problema en configurar la ruta del cgi validador de MAC, 🙂 otra consulta porque deja en estado procesando cuando la transaccion fue exitosa?? saludos y gracias nuevamente!

    View Comment Responder
  54. Felipe G. says:

    Hola Cristian y a todos. Alguien pudo subir el KCC a hostgator con éxito ? yo he estado peleando como 1 semana y sigo obteniendo todo el tiempo error 500 (Internal server error). Los permisos están en 755 y según el soporte es que los archivos del KCC tienen problemas al estar en binario, pero yo no lo creo. Alguien sabe a que se debe esto?

    Gracias.

    View Comment Responder
    1. Felipe Egas says:

      estimado suponiendo q esta en un ambiente linux en su hosting, tienes que subir los cgi en modo binario, y los demas archivos en modo ASCII , eso lo configuras en las ocpiones de filezilla o el gestor ftp q estes usando, ademas, debes darle permiso de ejecucion a todos los archivos, saludos.

      View Comment Responder
        1. Felipe G. says:

          Lo intente pero no tuve resultados positivos. Intente subiendo como binario por FTP y también directo por cPanel en zip tal como lo pasa transbank pero cambiándole los permisos. Será un problema mio ? o es de Hostgator ? Gracias.

          View Comment Responder
  55. Claudio says:

    Hola Cristian, que tal?
    Y bueno…ya está funcionando….casi. Realiza todo el proceso, hasta que pide el rut de la tarjeta y sale rechazada la transacción. En el log sale todo ok, excepto el mencionado error “Error al obtener ack (46)”
    Por lo menos es un avance,no? haha Que puede ser eso?

    View Comment Responder
        1. Claudio says:

          Hmm, acabo de chequear y esta bien. Cambié la ruta en el WP Gateway y envió error, lo dejé como estaba y vuelve a hacer todo el proceso pero al fina nuevamente el mismo error.

          View Comment Responder
          1. Felipe Egas says:

            claudio esto me dijieron de transbank por el error 46

            “El sitio Web del comercio no envía hacia el servicio WebPay el mensaje de acuse de recibo (“ACEPTADO”) debido a que existe impedimento en los servicios de red del comercio (micro-cortes, anti-virus, entre otros). Esta condición se refleja en el archivo de eventos con el identificador ERR 46 y el mensaje “tienda NO acepto transacción”; y, en el archivo de bitácora con el prefijo ERR.
            Acción del servicio WebPay: Reversa automáticamente de la transacción debido a que no se recibió el mensaje de acuse de recibo (“ACEPTADO”) dentro de los 30 segundos siguientes a enviada la respuesta a la solicitud de autorización de pago.

            Para realizar una prueba, sin validaciones:
            Respalda la página de cierre
            Borra el contenido de la original y escribe “ACEPTADO” en mayúscula sin otro código en ésta.
            En ambiente de Desarrollo, Realiza una prueba de pago con tarjeta.
            Si se despliega la página de éxito el error es en la programación de la página de cierre (en alguna de sus validaciones), por lo tanto debes volver a la página original y verificar que las validaciones se realicen en forma correcta (guiarse por el flujo indicado en la página 33 del manual).
            Si se despliega la página de fracaso o error con letras rojas, el problema es de conectividad interno, por lo tanto, los cambios a realizar son en el archivo tbk_config.dat

            El error se refleja de forma local, y se produce entre la cgi tbk_bp_resultado y la página de cierre.
            La cgi realiza un conect con la IP dada en el archivo Tbk_Config.dat parámetro HOST y hace un POST a la URL dada en el mismo archivo (tbk_config.dat) en el parámetro HTML_TR_NORMAL, esto quiere decir que la página de cierre no se encuentra o ella responde rechazando la transacción; una alternativa es reemplazar la IP en HOST y en HTML NORMAL por la IP local del servidor, o ver porque no se puede utilizar la IP publica en ese servidor, puede que no se vea a si mismo, y hay que modificar algo en los seteos de red.
            Luego de realizar esta revisión, favor realizar una prueba; si tu prueba pasa y se despliega el comprobante de compra [página de éxito], estaría todo bien, de no ser así debes ver el siguiente tema con vuestro Hosting.

            Revisar si se habilitó un modulo de seguridad “MOD_SECURITY” el cual impide que los parámetros lleguen desde transbank al servidor, ya que estos vienen encriptados.

            Si se encuentra habilitado, solicitar que se active una regla, que permita el ingreso de los parámetros en tu servidor.”

            View Comment
  56. Claudio says:

    Hola nuevamente. Mi porfía es mas grande, asi que no creo que me la gane este asunto. Hice las pruebas nuevamente, luego de reinstalar todo y al limpiar la pagina “xt_compra” y solo dejar “ACEPTADO” se realiza el pago completo con éxito, pero luego me despliega esto:

    Warning: fopen(/home/qrislpcm/public_html/wp-content/uploads/webpay-comun/MAC01Normal20131201014734.txt)
    [function.fopen]: failed to open stream: No such file or directory
    in/home/qrislpcm/public_html/wp-content/plugins/ctala-woocommerce-webpay-3aa47e1155bf/webpay.php
    on line 572

    Warning: fgets() expects parameter 1 to be resource, boolean given in
    /home/qrislpcm/public_html/wp-content/plugins/ctala-woocommerce-webpay-3aa47e1155bf/webpay.php
    on line 573

    Warning: fclose() expects parameter 1 to be resource, boolean given in
    /home/qrislpcm/public_html/wp-content/plugins/ctala-woocommerce-webpay-3aa47e1155bf/webpay.php
    on line 574

    Esto indicaría que el error está en la pagina original de cierre?

    Actualmente la configuración esta asi, pero esa carpeta “var” no existe y ahi es donde me pierdo…tiene que ser la ruta exacta de donde se encuentran los archivos?

    /* * **************** CONFIGURAR AQUI ****************** */
    $myPath
    = “/var/www/webpayconector/comun/dato$TBK_ID_SESION.log”;
    //GENERA ARCHIVO PARA MAC
    $filename_txt
    = “/var/www/webpayconector/comun/MAC01Normal$TBK_ID_SESION.txt”;
    // Ruta Checkmac
    $cmdline
    = “var/www/cgi-bin/tbk_check_mac.cgi $filename_txt”;
    /* * **************** FIN CONFIGURACION **************** */

    Alguna idea? Gracias.

    Claudio

    View Comment Responder
  57. Felipe Egas says:

    Claudio al parecer es un problemas de permisos, la carpeta webpay-comun y su ancestro uploads debe ser 777, ademas si, debes configurar bien las rutas de webpay, saludos

    View Comment Responder
  58. diego says:

    Claudio, a mi me sucede lo mismo, esto pasa porque cuando inyectas datos a una transaccion no pagada. por ejemplo

    – llegas hasta la plataforma de transbank y no haces nada
    – tomas los datos del post y lo inyectas
    – al no pasar por la plataforma de tu web, y hacer una inyeccion directa, los datos que se crearon en la carpeta webpay-comun, no los reconoce, ya que obviamente nunca fueron creados porque nunca pasaste por ahi, entonces te tira ese error de fopen, ahora, como solucionar esto, no tengo idea. si cristian tala nos puede ayudar mas de lo que ya lo ha hecho, se lo agradeceriamos.

    es lo unico que falta para poder certificar.

    saludos!

    PD: ojo, no aparece en la base de datos, pero si se crea un log y da un falso pago en la pagina de woocommerce.

    View Comment Responder
    1. Claudio says:

      Hmmm. Hasta ahora mi duda (bastante básica por lo demas, puesto que me majeo poco o casi nada con esto) va por la configuración de las rutas. Por ejemplo: En donde aparece: “/var/www/webpayconector/cgi-bin/….etc etc. Esa ruta debo configurarla como está en mi hosting? O sea, (puesto que la carpeta var no existe) “public_html/cgi-bin/ o /www/cgi-bin…? Lo otro, es lo mismo en el plugin, en la ruta de Check MAC: /usr/lib/cgi-bin/. Como dije, puede ser muy básico pero para mi son dudas. Gracias Diego y Felipe, por lo anterior y por cualquier comentario al respecto.

      Claudio

      View Comment Responder
  59. Cristofer says:

    Hola Cristián

    Tengo un problema similar ya mencionado anteriormente, en etapa de certificación la gente de transbank inyecta datos a través de un formulario propio de ellos en una orden no pagada
    – llegas hasta la plataforma de transbank y no haces nada
    – tomas los datos del post y lo inyectas

    y el resultado de esto es que me lleva a la pagina de éxito como si hubiese sido una orden finalizada correctamente.

    Tienes alguna idea de porque pueda pasar esto o alguna posible validación que yo desconozca. Yo tengo el formulario que usa transbank para inyectar datos si gustas te lo hago llegar para que podamos mejorar este plugin

    Gracias

    View Comment Responder
      1. Cristofer says:

        Ok,

        Pero ojo, en el parámetro que dice “Ruta de envió” si tu pones la pagina de éxito, y le das al botón Enviar te va a llevar a la pagina de fracaso que es lo correcto, pero el problema esta cuando en “Ruta de envió” pones el parámetro dominio/?page_id=xt_compra&pay=webpay&wc-api=WC_Webpay si le das a enviar te va a llevar a una pagina en blanco con un texto “RECHAZADO” al volver a tras y reemplazar en “Ruta de envió” poniendo la pagina de éxito, te va a llevar a la pagina de éxito lo cual estaría incorrecto.

        View Comment Responder
    1. Felipe Morales says:

      Amigo, nosotros lo solucionamos a la mala. En el header.php, antes de que abras el doctype, puedes poner esto:

      if($_REQUEST[‘status’] == “success” ){
      global $webpay_table_name;
      global $wpdb;
      $order_id = explode(‘_’, $_REQUEST[‘order’]);
      $order_id = (int) $order_id[0];
      $paramArr = array();
      $myOrderDetails = $wpdb->get_row(“SELECT * FROM $webpay_table_name WHERE idOrder = $order_id”, ARRAY_A);
      if ($myOrderDetails){
      if($myOrderDetails[‘TBK_CODIGO_AUTORIZACION’] == 0)
      {
      $error_orden = 1;
      // die(‘RECHAZADO’);
      header(‘Location: /URLAQUI.COM/’);
      }
      }

      }
      ?>

      ———————–

      Lo que hacemos es: Si el status de la URL es “success” pero el código de autorización en la BD es “0”, entonces se trata de una inyección y los redirigimos a la página de inicio de la tienda. Cambia donde dice “URLAQUI.COM” por tu URL.

      Cristian, te ofrecí el archivo macker.html, si quieres te lo envío.
      Hoy estamos luchando con la duplicidad de órdenes pagadas. Ellos usan otro archivo que también te lo puedo mandar si quieres.

      Actualizamos a 2.3, usamos el shortcode y nada. Así que volvimos a 2.1.7 que estamos mejorando.

      Gracias como siempre. Saludos.

      View Comment Responder
      1. Cristofer says:

        Gracias Felipe,

        muy buen aporte, solo destacar que en mi base de datos el TBK_CODIGO_AUTORIZACION’] no quedo registrado con el valor 0 ya que en el archivo MACKER.htm en el parametro Codigo Autorizacion estaban pasando un valor distinto a 0, el valor que me quedaba en 0 era TBK_ORDEN_COMPRA entonces valide contra esto, sin embargo considero no correcto que las ordenes que son inyectas queden en el estado “EN ESPERA” a ti te pasa lo mismo?

        Muchas Gracias, certificación va a revisar ahora, ahí comento si tengo nuevos problemas o pude pasar a producción.

        View Comment Responder
  60. Cristofer says:

    Cristian,

    Una consulta, es correcto que una orden finalizada exitosamente quede en estado “EN ESPERA” al visulizarla a través de wordpress?

    Gracias

    View Comment Responder
    1. Cristofer says:

      Me fue mal en certificación me estan reclamando por el duplicado de órdenes pagadas, esto me respondieron:

      El Sitio debe rechazar la transacción que tenga un número de orden de compra previamente autorizado y grabado en la base de datos, ya que la falta de control de la orden de compra podría significaría doble cargo para la misma compra del cliente. Recuerda que este control se debe efectuar en la página XT_compra (tienes que validar la orden de compra), ver como referencia el punto 7.4 del manual de integración. Por lo demás al rechazar la duplicidad de Orden de compra el sitio me debe mandar a la URL de fracaso y no a la URL de pruebas.

      Tienes el archivo que ellos utilizan para inyectar estos datos?

      View Comment Responder
      1. Julio Contreras says:

        Estimado,

        me pasa lo mismo, hago pruebas con el archivo que me enviaron desde tbk: Transacc_normal_pesos.htm pero jamas pasa por WP hasta después de recibir el pago, por lo que no entiendo como controlarlo.

        Alguien tiene una idea?

        View Comment Responder
  61. mauricio says:

    hola cristian.

    Sabes cuales los permisos que hay que dar a las carpetas en un servidor Windows 2008 server, ya que en el manual de trasbank solo aparecen los permisos par linux

    View Comment Responder
  62. sebastian says:

    Estimados necesito con urgencia poder solucionar el tema de la inyeccion de datos. Hicimos lo del código en el header.php pero al hacerlo, cuando hicimos una compra de prueba los datos no fueron ingresados a la base de datos. Este tema ya nos tiene desesperados porque tenemos al menos 3 semanas de retraso en la entrega del proyecto. Si alguien pudiera guiarnos sería de gran ayuda.

    View Comment Responder
  63. Ricardo says:

    Hola!
    de antemano quería agradecerte por ofrecer este plugin y que sea libre 🙂
    Sabes que trato e instalarlo localmente y me aparece este error.

    Parse error: syntax error, unexpected ‘public’ (T_PUBLIC) in C:\Program Files (x86)\EasyPHP-DevServer-13.1VC9\data\localweb\wp-content\plugins\ctala-woocommerce-webpay-de06f1808ee4\webpay.php on line 304

    vi que está relacionado a la versión de php (si es menor a php 5.4 puede que tenga problemas) pero la versión en la cual está instalado es 5.4.14

    WC Version: 2.0.18
    WC Database Version: 2.0.18
    WP Version: WP 3.6.1
    Web Server Info: Apache/2.4.4 (Win32) PHP/5.4.14
    PHP Version: 5.4.14
    MySQL Version: 5.6.12-log

    gracias!

    View Comment Responder
      1. Ricardo says:

        Ya encontré cual es el problema.
        Al parecer esta función

        public function admin_options() {
        ?>

        generate_settings_html();
        ?>

        <?php
        }

        tiene conflictos con las etiquetas php. Cambié la configuración de php.ini de short_open_tag = Off a On y añadí un cierre de paréntesis en la linea 693 y funcionó.
        ¿te podría molestar compartiendo tu archivo de configuración php.ini para verificarla con la que tengo acá?
        ¡gracias!

        Estoy probando el plugin para un sitio de venta al extranjero y ahora ofrecer método de pago en Chile, tengo otras ideas que debo desarrollar y que podrían agregarse al plugin (como por ejemplo limitar el pago webpay solo a chile)

        View Comment Responder
        1. ctala says:

          La verdad es que el pago con tarjetas extranjeras por defecto viene deshabilitado por transbank, es un servicio que debes pedir.

          Yo feliz en empezar agregar funcionalidades, pero también debemos revisar si pueden ser plugins por ellas mismas.

          Saludos!

          View Comment Responder
  64. Victor says:

    Hola Cristian.
    Primero, felicidades, es un gran aporte.
    He hecho un plugin, que reemplaza el de transferencias bancarias por otro que envía los datos de la misma forma, por correo, pero que tiene modificados los campos, para incluir el Rut, y una lista de los bancos de chile, en definitiva, para incluir el formato necesario para transferencia bancaria en Chile, el problema es que no tengo tiempo para colgarlo y hacer una pagina para el plugin, adema me gustaría mejorarlo, para poder incluir el desplegable de países, y poder elegir según de que país es el visitante, si se muestra el formato chile, o el formato que trae Woocommerce pero si lo deseas escribe a mi correo y te lo puedo mando, junto con una modificación que hice en tu plugin, para la aplicación de filtros que trae, de forma que detecta si existe este plugin, y usa sus campos, y en caso de no existir, usa los campos de transferencia bancaria que trae por defecto Woocommerce.
    Bueno, el problema es que instalé webpayconector, junto con el KCC 6 para Linux 64, y Woocommerce, junto con tus dos plugins, el de moneda y el de WebPay.
    Estoy alojado en Hostgator, y el caso es que funcionó perfectamente, incluso usando el celular, y ambas instalaciones, la de webpayconector, y la de Woocommerce.
    El problema llego después, justo cuando estaba instalada, y Transbank iba a certificarla, Hostgator hizo una migración (no se si tendrá que ver el que lo comprase otra compañía hace poco), el caso es que ahora solo funciona parcialmente, es decir, hace todo el proceso, pero al final lo rechaza, aunque use ACEPTADO como texto único en el xt_compra.php.
    Según soporte de Transbank, la tienda rechaza la transacción,
    Primero dijeron que era porque estaba cerrado el puerto 5555, Hostgator lo abrió para conexiones salientes, y explico, que no había en sus registros ninguna petición a esos puertos, y que el puerto 80 no tenía restricciones, en el archivo de configuración siempre use el puerto 80, tanto en el PORTCOM, como en el WPORT, cuando Hostgator abrió el puerto, me pidieron que en la configuración lo usara, y así lo hice, en ambos (PORTCOM 5555, WPORT 5555), en uno (PORTCOM 5555, WPORT 80), luego en el otro (PORTCOM 80, WPORT 5555), y finalmente ambos en el 80, y en ninguno de los casos funcionó, seguía rechazando la operación.
    Después dijeron que es porque el firewall de Hostgator, bloquea su lista de IPs.
    El problema es que Hostgator no va a dar acceso ilimitado a sus IP, así que me piden que detalle el proceso paso a paso, proceso, para poder adaptar las reglas del firewall a esos pasos, pero hasta ahora Transbank no me lo ha proporcionado, a pesar que ya lo solicite en varios correos
    He analizado las cabeceras usando http live headers con Firfox, y en ninguna parte aparece el POST TBK_RESPUESTA, ni positivo ni negativo, simplemente no aparece.
    No se si esto le habrá ocurrido a alguien, o si alguien de los que están alojados con Hostgator que tengan la pasarela instalada, han sufrido una reciente migración y después de eso, su sitio rechazaba todas las transacciones.
    Al mismo tiempo, detecte, que ahora solo crea un archivo log (TBK_EVN), en lugar de los dos que creaba antes, el bitácora no lo crea.
    Y antes daba un error:
    tienda NO acepto transacción
    respuesta enviada a TBK (ERR)
    Error al obtener ack (46).
    Ahora no refleja ningún tipo de error.
    Cualquier pista o dato sería de agradecer.
    Un saludo y muchas gracias por tu aportación.

    View Comment Responder
  65. Ricardo says:

    Cristian y compdres que han participado en esta entrada, quiero configurar Webpay en WooComerce, pero antes quiero probar los archivos de configuración.

    http://lubricantesonline.cl/webpay/

    Me arroja 3 Warnings, subí todos los archivos en tipo de archivo automático, luego subí Linux32 y Linux 64 como modo Binario para los CGIS.

    Fuera de los 3 Warnings, al darle clic en pagar, me arroja error 500. Alguien que me pueda orientar?

    Saludos.

    View Comment Responder
      1. Ricardo says:

        Cristian, agradecería si me puedes ayudar en la configuración de los CGIS, es el mayor drama que tenemos todos. No podrías publicar los archivos clonados en GIT, y así los podemos rescatar y hacer funcionar?

        Saludos!

        View Comment Responder
  66. Javen says:

    Hola Cristian

    Excelente Tutorial, PERO… tengo un problema

    Me manejo perfactamente con WordPress, tengo arrendado un Reseller con Hostings personales en Linux con cPanel.

    Necesito montar un carro de compra, PERO me falta la parte que no esta en el Tutorial.

    Toda la parte de TRANSBANK, de donde saco los datos CGI, como se configuran y despues de hacer la prueba, como se hace para que FUNCIONE DE VERDAD… y me llegue la plata a mi cuenta real.

    View Comment Responder
    1. Ricardo says:

      Javen, para poder operar con transbanks tiene que solicitar el alta de tu empresa para el sistema Webpay, los CGIS y datos puros de transbank los puedes descargar de la página de Transbank, o bien los que proporciona cristian más arriba (https://bitbucket.org/ctala/webpayconector) .

      Lo que proporciona Cristian en éste tutorial es el Plugin para WooComerce para las personas que ya tienen el contrato realizado con transbank y adjunta ejemplos de CGIS con PHP, para que pruebes la configuración de los CGIS (Esto es lo que más complejidad presenta), ya que Cristian amablemente facilitó todo lo demás a nuestra disposición.

      Saludos!

      View Comment Responder
  67. Angel Cardenas says:

    La verdad me gano todo este asunto, no logro configurar las CGI y o no se donde buscar la información adecuada, nunca he hecho este tipo de integracion así que la verdad no logro encontrar un punto de partida.

    View Comment Responder
  68. mauricio says:

    Hola Cristian una consulta.

    habíamos subido el sitio para una prueba con los datos de tu plugin. y justo un cliente hizo un pago con tarjeta de credito. tu sabes si la transacción se realiza, o es solo de prueba y no se le descontó dinero de la tarjeta. de este cliente..?

    View Comment Responder
    1. ctala says:

      Mauricio, acuérdate que depende de la configuración de los CGI de Transbank. Si los CGI tienen ruta de pruebas, no servirá usar la tarjeta real-

      View Comment Responder
  69. Marcelo says:

    Cristian, un gran saludo. Te cuento tengo problemas, con la configuración e instalación de los CGI, ni idea cómo hacerlo, ya realicé instalé los 3 plugins que indicas y funcionan ok!, pero tengo problemas con esto, me puedes ayudar por favor?

    Quedo atento a tu respuesta y comentarios. Cordialmente:

    Marcelo

    View Comment Responder
    1. Ricardo says:

      Marcelo, la boleta de garantía dejó de ser obligatoria hace dos años. Aún hay vendedores que la solicitan, pero ya no es necesaria. Lo anunciaron en el e-commerce day 2010.

      Saludos!

      View Comment Responder
  70. Felipe Egas says:

    Cristian y developers de el hilo,me acaban de decir q la forma de solucionar la “inyeccion” que los tipos de webpay hacen , es hacer la misma validacion que sale en la pagina de cierrela cual es que la orden de compra este pagada preguntando a la bd, replicar esa misma validación en la pagina de exito, cristian esa creo es la ultima validacion que te falta en el plugin, saludos

    View Comment Responder
  71. mauricio says:

    hola cristian

    Por fin funciona la conexión con el sitio de trasbank, era un problema de configuración de mi servidor. ahora tengo otro problema cuando se realiza la transacción siempre me rechaza la compra , aun cuando se valido la tarjeta. que puede ser esto……?

    lo que encuentro raro es que aparentemente nunca paso por la pagina de éxito o fracaso de regreso desde el sitio de trasbank.

    View Comment Responder
  72. Jorge says:

    Estimado Cristian, antes de todo quiero felicitarte por tu plugin, es un aporte enorme para todos.
    He instalado el plugin y funciona al 100% pero tengo el mismo problema que los otros usuarios que han intentado la certificacion, ellos inyectan los datos y pasan entonces piden que te envie a la pagina de fracaso cuando los datos son inyectados, si puedes ayudanos con este problema.

    View Comment Responder
      1. Ricardo says:

        Para los que han resuelto ese problema podrían darle una mano a Cristian con los archivos de inyección y si tienen el código resuelto también.
        Si él subió esto gratis mínimo devuelvan un poco la mano colaborando :p

        View Comment Responder
          1. ctala says:

            Por mi parte no manejo servers en windows, por lo que se me complica ayudar en estas situaciones. Que bueno que lo compartes, Saludos!

            View Comment
      2. Jorge says:

        Ok, la verdad es que los ultimos dias del año no queda tiempo para nada XD

        a los que tengan problemas con los CGI recuerden que hay distintas versiones para linux y windows, los cgi los deben subir en modo binario y todas las carpetas del web deben ser 755

        View Comment Responder
  73. Jorge says:

    Cristian, en el file readme.txt dice “Recuerden cambiar el shortcode de [woocommerce-thankyou] por [webpay-thankyou] cuando corresponda.” , mi pregunta es simple, ¿cuando corresponde? y donde deberia cambiar esto?

    View Comment Responder
  74. daniel toro says:

    Estimado cristian tengo un problema al activar el plugin de webpay

    Parse error: syntax error, unexpected T_PUBLIC in /home/danielto/public_html/wordpress/wp-content/plugins/webpay-woocommerce-plugin/webpay.php on line 304

    PHP Version 5.3.26

    No se que puede ser necesito un poco de ayuda :c

    View Comment Responder
  75. Felipe Egas says:

    hasta el momento no he sabido de nadie que haya pasado una certificación con este plugin :/ , hay alguien que tenga algún resultado positivo, con las “inyecciones” de transbank?

    View Comment Responder
    1. ctala says:

      La verdad es que son varios los que han certificado. Muchos de ellos modifican un poco algunas cosas.

      Por mi parte he contactado a transbank y no me han podido demostrar lo de inyección.

      View Comment Responder
        1. Jorge says:

          El plugin de ctala funciona, solo debes modificarlo un poco, que modificar es la pregunta y la respuesta por lo demas es simple, debes modificar la forma en que el plugin corrobora si la informacion es real o inyectada, es decir, desde la base de datos y no desde el txt generado en la carpeta comun. Cristian tu plugin es un gran aporte, si termino con exito la certificacion te envio las modificaciones para que las publiques, por lo demas tambien cada usuario debe poner algo de su parte, leer, informarse aprender etc, no pueden esperar todo listo, con el material de ctala y sin ser programador o saber php, c, perl c++ ni nada hice las modificaciones leyendo un poco. claro que me costo mas que a alguien que tiene conocimientos de programacion o lenguaje de programacion.
          Bueno Saludos y Feliz Navidad.

          View Comment Responder
  76. Felipe Egas says:

    bueno hice unos cambios en el header para evitar la inyección de una orden no pagada y que lleve a la pagina de fracaso como transbank quiere, auń no me avisan si lo aceptan o no, pero por mientras lo comparto:

    http://pastebin.com/0hzgNqEf

    tambien comparto el codigo para la duplicacion de ordenes de compra, también en espera de confirmacion de transbank , comparto el webpay,php modificado:

    http://pastebin.com/Dt4LbScZ

    eso, ojalá me aprueben esto para que sea un aporte para todos, si no me lo aprueban la verdad ya no sabría que hacer, aparte que el soporte de webpay es una mierda. saludos.

    View Comment Responder
      1. Felipe Egas says:

        cristian hola, me puedes explicar esto? “Recuerden cambiar el shortcode de [woocommerce-thankyou] por [webpay-thankyou] cuando corresponda.” eso es en la pagina del pedido, en estos momentos tiene el shortcode [woocommerce-thankyou], como condiciono los shortcode para cada ripo de pago, porque en mi tienda tambien tengo el pago normal transferencia bancaria. saludos

        View Comment Responder
        1. ctala says:

          Da lo mismo. El plugin cuando tiene otro método de pago sigue el tráfico normal :). Solo hace modificaciones cuando se usa transbank. Saludos!

          View Comment Responder
  77. Felipe Egas says:

    hasta ahora transbank me aprobo el codigo para evitar duplicaciones de ordenes 😀 asi q lo compartire:

    http://pastebin.com/P3wL9a4P

    estoy esperando una aprobacion de una posible solucion a la inyección, asi que si me la aprueban subo el “webpay.php” completo para que pasen pre-certificacion, saludos 😀

    View Comment Responder
      1. mauricio says:

        siempre he usado windows, tenia otro servidor linux en mediatemple pero el soporte no era bueno. por eso me cambie a godday y me dieron las 2 opciones windows o linux. de linux no se mucho por eso me quede con windows

        View Comment Responder
        1. Miguel says:

          mauricio,tuve tu mismo problema, tenia apache en windows server 2008, y lo reparé de la siguiente forma, instalando la ultima versión y en la linea donde dice esto:

          $cmdline = $this->macpath.”/tbk_check_mac.cgi $filename_txt”;

          Lo cambié por esto:

          $cmdline = “F:/Apache/cgi-bin/tbk_check_mac.exe $filename_txt”;

          tienes que ver tu ruta y reemplazar.

          y en el php.ini cambiar el “allow_url_include = Off” por “On”, reinicias y listo, por lo menos, ami me funcionó. espero que te sirva.

          View Comment Responder
  78. Luis says:

    Hola Cristian,
    Después de estudiar bien el caso y pruebas y errores me funcionó el plugin.
    Lo que si, aunque dice que ahora no hay problemas con los permakinks, existe alguna forma de colocar direcciones personalizadas?
    Me funciona como dices con los valores por defectos pero son direcciones feas, jajajaja
    También dices que en la versión 2.1.7 se corrigió eso pero a mi no me funciona.
    ¿Qué podrá ser?

    Muchas gracias por todo 🙂

    View Comment Responder
    1. ctala says:

      Lo que pasa es que transbank limita el tamaño del POST de datos, por lo que para las direcciones “LARGAS” se caía. A futuro tal vez pueda poner una opción en el administrador, pero por ahora será dirección fea para el paso final :).

      View Comment Responder
  79. Enzo says:

    Compadre, aun no pruebo su plugin, solo quería decir gracias, y excelente trabajo, a penas lo pueda realmente usar vuelvo con feedback, pero solo quería escribir, para notar que el trabajo dedicado no pasa en vano, felicitaciones.

    View Comment Responder
  80. mauricio says:

    felicidades por tu aprobación.

    instale el plugin que modificaste pero me salen unos errores

    luego de regresar de trasbank pasa directo a la pagina de pedido recibido con el mensaje transacción rechazada

    y en la cabecera aparecen estos errores

    Warning: fopen(C:\xxxxxxxxxx/wp-content\uploads\webpay-comun\MAC01Normal20140103072302.txt)

    [function.fopen]:
    failed to open stream: No such file or directory in C:\xxxxxxxxxxx\wp-content\plugins\felipeegas-woocommerce-webpay-51af55810545\webpay.php on line 485 – See more at: http://reciclabattery.cl/?page_id=16&status=failure&order=202&key=order_52c70e14eb3ea#sthash.zyude467.dpuf

    tienes idea de que puede ser…?

    View Comment Responder
      1. mauricio says:

        ya se porque es el error,

        * las rutas a los archivos.

        * en la línea 476
        ( $fic = fopen(“$myPath”,”r”);

        tratas de abrir el archivo MAC01Normal$TBK_ID_SESION.txt

        pero aun no se ha creado por eso da el error. de apertura del archivo

        View Comment Responder
      2. mauricio says:

        ahora ya no aparecen los errores
        la solución para las rutas en Windows es agregar antes de :

        $myPath = $webpay_comun_folder . DIRECTORY_SEPARATOR . “dato$TBK_ID_SESION.log”;

        esto en las dos referencias ($webpay_comun_folder ) que aparecen en el webpay

        $webpay_comun_folder = str_replace(‘/’, ‘\\’, $webpay_comun_folder);
        $webpay_comun_folder = str_replace(“\\”, “\\\\”,$webpay_comun_folder);

        ahora lo que no se es porque si esta aprobada la tarjeta por trasbank siempre me lleva a

        Pedido recibido

        Desafortunadamente su pedido no puede ser procesado ya que el banco ha declinado su transacción.

        Por favor, intente de nuevo su compra.

        .

        View Comment Responder
  81. daniel toro says:

    cristian es siempre un agrado saludarte

    y queria comentarte que casi tengo el modulo listo para prestashop me he hecho pebre las pestañas tratando de dejarlo funcional pero tengo un problema

    el modulo siempre me redirecciona al fracaso
    y el kcc esta subido y funcionando en otras plataformas como opencart

    ¡que puede ser?

    View Comment Responder
  82. Enzopiero says:

    Compadre, yo acá nuevamente, te cuento que lo empecé a probar y en realidad no he podido pasar de un problema, cuando hago la “compra” todo va bien intenta hacer la redirección para irse a la página de transbank y ahí es cuando me sale el siguiente error:
    [an error occurred while processing this directive]
    a veces me sale 404 y luego empieza a salir ese, y quedé un poco en el limbo no estoy seguro porque será, revise los permisos como dice en transbank todas las carpetas con 755 etc etc, pero no se que pueda ser, te agradecería un montón cualquier ayuda saludos!.

    p.d. lo estoy corriendo en un subdominio de prueba de mi sitio (http://betas.pandamonios.com)

    View Comment Responder
  83. mauricio says:

    Hola cristian.

    Estoy super contento por fin funciono el plugin, en Windows 2008 server, después de dos meses de intentar e intentar y 168 pruebas ya que esas son las ordenes de compra generadas. Hoy funciono, fue difícil integrarlo en Windows 2008 server R2 ya que todas las soluciones dudas y consultas están hechas en Linux.

    Gracias por tu ayuda… desinteresada

    PD. el soporte de trasbank vale callampa._ si es que se puede llamar soporte.

    si alguien tiene alguna pregunta aquí estoy si es que puedo ayudar._

    View Comment Responder
      1. mauricio says:

        1.- Configuración cgi Windows 2008 server R2 con IIS 7.0

        http://www.wrensoft.com/zoom/support/faq_cgi_iis.html

        en isapi and cgi restriction

        agregar
        tbk_check_mac.exe agregar y permitir ejecución

        tbk_bp_pago.cgi agregar y permitir ejecución

        luego que hallan

        cargado el plugin de cristian en wordpress

        2._
        en el archivo webpay.php
        modificar
        donde dice //Validación MAC

        $tempo = str_replace(‘/’, ‘\\’, $filename_txt);

        /*exec($cmdline, $result, $retint);*/

        chdir(‘../cgi-bin/’);
        $resultado = shell_exec(“tbk_check_mac.exe $tempo”);
        $result[0] = trim($resultado);

        después

        3._
        en el archivo
        order-details.php

        líneas 116 y 117

        reemplazar por

        if ($order->billing_first_name && $order->billing_last_name)
        echo ” . __(‘Nombre:’, ‘woocommerce’) . ” . $order->billing_first_name.’ ‘.$order->billing_last_name . ”;

        con esto debería funcionar en Windows 2008 server R2

        View Comment Responder
        1. Cristian says:

          Hola Mauricio, estaba revisando esto y me encuentro con el mismo problema, error 502.2 bajo iis7.5. He revisado permisos y la solución indicada, pero lamentablemente sigo con el error. Tendrás más información? Quizás se me pasó algo. Lo implementaste en un servidor compartido?
          Tenía todo funcionando en un servidor con iis6, pero cambiamos a un Win2008R2 con iis 7 y nos encontramos con este tema.
          De antemano, muchas gracias!
          Saludos.

          View Comment Responder
          1. Cristian says:

            Estimado, pequeña actualización. (Clásico Murphy…).
            Decidí eliminar todo y partir de nuevo, reconfiguré y funcionó sin problemas. Gracias por el post anterior!
            Saludos

            View Comment
  84. claudia says:

    Hola, primero que todo darte las gracias por el plugin, me ahorro bastante pega.

    Lo segundo es que me des permiso para intentar modificarlo. Lo que pasa es que necesito un historial de todos los movimientos que se han hecho con transbank, y si me pudieras orientar un poco de d{onde habría que meterle mano sería genial.

    View Comment Responder
    1. ctala says:

      Claudia,

      durante esta semana subo una nueva versión. Por favor espera a que eso pase. Para las modificaciones debes de hacer un “FORK” del repositorio, y los cambios los envías para ser aprobados después.

      Para lo que necesitas no deberías modificar nada, solo agregar. Has hecho plugins de wordpress antes ?

      View Comment Responder
      1. claudia says:

        No he hecho nunca un plugin, es practicamente tirarme a los leones con esto… lo que quiero hacer es algo que he visto en plugin similares de joomla (aka el enemigo jaja), que me guarda un historial en una tabla (cuando paso a la pagina de cierre) y despues lo veo en una especie de reporte, y cuando el pago es exitoso (pagina de exito), me guarda en otra tabla (es lo mismo que el reporte anterior, solo que ahi solo guardo los pagos exitosos)

        View Comment Responder
  85. Enzo says:

    Compadre, lo vuelvo a molestar, logré solucionar los problemas anteriores, ya abre y logro agregar todos los datos, pero por alguna razón siempre me devuelve la transacción fallida, agregué el código para el debug en wp-config.php, pero no le arroja nada, alguna idea?

    View Comment Responder
      1. Enzo says:

        Hola, gracias por responder, disculpa y como puedo hacer esa validación, o realizarla exitosamente?, asumo que se refiere a la casilla que se encuentra en el editor “Check Mac Path”?
        tengo el valor por defecto porque sinceramente no supe con certea que poner ahí.

        alguna idea?

        View Comment Responder
          1. ctala says:

            Sofía, es la dirección física en donde están tus CGIs, si tienes acceso por consola puedes usar el comando “pwd” que devuelve tu directorio actual.

            View Comment
    1. Enzo says:

      Gracias por responder nuevamente, mira, agregué el path completo
      /SERVIDOR/public_html/SUBCARPETA/cgi-bin/tbk_check_mac.cgi

      pero aun así me sigue rechazando la transacción.
      lo estoy haciendo mal?

      View Comment Responder
        1. Enzo says:

          Sorry que siga insistiendo, pero me perdí un poco en la última parte, podrías desarrollar un poco más la idea??

          de ante mano gracias.

          View Comment Responder
          1. Alfredo says:

            Hola Enzo,

            Finalmente pudiste solucionar el problema de la ruta? Me encuentro con el mismo problema ahora.

            Saludos

            View Comment
  86. mauricio says:

    Hola Cristian

    revisando hay que hacer otra corrección en el plugin para usarlo en Windows.

    cuando trasbank rechaza la tarjeta y luego se ingresa una nueva tarjeta para comprar el mismo producto ocurre un error la solución es agregar esto ya que el problema se procuce por que no se a validado la mac por lo cual ocurre un error

    //Rescate de los valores informados por transbank
    if ($status == ‘success’){
    $myPath = $webpay_comun_folder . DIRECTORY_SEPARATOR . “MAC01Normal$TBK_ID_SESION.txt”;
    $fic = fopen($myPath, “r”);
    $linea = fgets($fic);
    fclose($fic);

    $detalle = explode(“&”, $linea);
    $TBK = array(
    ‘TBK_ORDEN_COMPRA’ => explode(“=”, $detalle[0]),
    ‘TBK_TIPO_TRANSACCION’ => explode(“=”, $detalle[1]),
    ‘TBK_RESPUESTA’ => explode(“=”, $detalle[2]),
    ‘TBK_MONTO’ => explode(“=”, $detalle[3]),
    ‘TBK_CODIGO_AUTORIZACION’ => explode(“=”, $detalle[4]),
    ‘TBK_FINAL_NUMERO_TARJETA’ => explode(“=”, $detalle[5]),
    ‘TBK_FECHA_CONTABLE’ => explode(“=”, $detalle[6]),
    ‘TBK_FECHA_TRANSACCION’ => explode(“=”, $detalle[7]),
    ‘TBK_HORA_TRANSACCION’ => explode(“=”, $detalle[8]),
    ‘TBK_ID_TRANSACCION’ => explode(“=”, $detalle[10]),
    ‘TBK_TIPO_PAGO’ => explode(“=”, $detalle[11]),
    ‘TBK_NUMERO_CUOTAS’ => explode(“=”, $detalle[12]),
    //’TBK_MAC’ => explode(“=”, $detalle[13]),
    );
    }
    else{
    if ($status == ‘failed’) {
    $webpay_comun_folder = str_replace(‘/’, ‘\\’, $webpay_comun_folder);
    $myPath = $webpay_comun_folder . DIRECTORY_SEPARATOR . “MAC01Normal$TBK_ID_SESION.txt”;

    }
    }

    View Comment Responder
  87. Victor says:

    Hola de nuevo Cristian, te he enviado un correo, si fueras tan amable de leerlo, te escribo para avisarte, porque no se si caera como spam. Aprovecho para saludar a todos y a aquellos que tengan un problema de rechazo de las transacciones, decirles que miren y pegen en este foro, los log que tendría que proporcionar su servidor (mirar en el cpanel, los log de acceso raw y de errores), eso puede ayudar mucho a encontrar el problema, en mi caso fué la unica forma de arreglar el problema, que no era mas que una falta de permisos, pero no de permisos de carpeta, si no de permisos htaccess.

    View Comment Responder
      1. mauricio says:

        servidor Windows 2008 server.

        cuando transbank rechaza una tarjeta de crédito. en la pagina de transacción errónea me aparecían unos warning en la cabezera.
        error en la línea 455 – 456 – 457 era porque no se había creado el archivo mac, (fopen($myPath, “r”); )y se trataba de abrir el archivo correspondiente a la transacción.

        View Comment Responder
  88. Victor says:

    Si, el problema era, que la peticion de retorno del script check mac, por motivos de seguridad, era redirigido desde otra ip que no estaba contemplada, así que bastó con darle permisos a las peticiones que llegaban desde esa ip.
    el código sería en el rot del sitio dentro del htaccess el siguiente:
    Allow from XXX.XXX.XXX.XXX
    Satisfy any
    Por motivos de seguridad no puedo poner la ip, pero en los log del servidor aparece.
    Espero que ayude. Saludos

    View Comment Responder
  89. Victor says:

    Hola de nuevo Cristian.
    Revisando el codigo, realicé unas pruebas de inyección usando el archivo que proporcionó Felipe, y siguiendo las instrucciones que me indicaron desde Transbank. El resultado, es que a pesar de que no se repite la orden en la base de datos de Woocommerce, si que lo hace en la base de datos de webpay que crea el plugin, y muestra todos los datos de la transacción como si fuera valida.
    En la depuración, aparece como que estan implicados la función del shortcode y la de chequeo de la respuesta webpay, la primera es la que muestra todos los datos en la página, y la segunda es la que registra los datos en la base de datos, a pesar de estar ya registrados.
    Según transbank, la idea la inyeccion se hace sobre la pagina de exito (success) porque en realidad está pagina tendría que verificar que la petición llega desde la url xt_compra del servidor.
    Intente usando $SERVER[‘HTTP_REFERER’], pero es poco efectiva, ya que hay formas de evitar que esta variable predefinida, proporcione el dato de donde venía la petición.
    La pregunta es
    ¿Porque usar esto …
    if (isset($_REQUEST[‘page_id’])):

    if ($_REQUEST[‘page_id’] == ‘xt_compra’) {
    add_action(‘woocommerce_api_’ . strtolower(get_class($this)), array($this, ‘xt_compra’));
    } else {

    $this->check_webpay_response();
    }
    en lugar de esto?
    add_action(‘init’, array(&$this, ‘check_webpay_response’));
    Y dejar que sea la funcion check_webpay_response, la que determine que hacer con la petición.
    De igual forma, porque usar un shortcode, en lugar de agregar los datos que solicita Transbank a la página de exito.
    ¿Puede la funcion check_webpay_response determinar si se muestra una página de acierto, o una de fallo, tras verificar la petición entrante?
    Porque si fuera así, al igual que se puede determinar:
    $this->redirect_page_id = $this->settings[‘redirect_page_id’];
    se podría determinar
    $this->failure_page_id = $this->settings[‘failure_page_id’];
    y añadir el shortcode en la página de fallo ([webpay_failure] para mostrar el error.
    Ahora eso se determina en la funcion xt_compra, en la funcion del shortcode, el la pagina de exito y en el chequeo de la respuesta, y sin embargo no evita la inyeccion de codigo, creo que porque los bucles condicionales no estan anidados y creo que se da el caso de que existe la excepcion de fallo y acierto al mismo tiempo.
    Ya se que es mucho texto, pero no se como describirlo mas resumidamente.
    Espero tus comentarios y consejos.
    Gracias y Saludos.

    View Comment Responder
  90. Victor says:

    Hola de nuevo.
    He estado buscando información sobre el parametro
    TBK_ORDEN_COMPRA
    Tamaño y si admite negativos positivos y punto o coma o ambos.
    ¿Sabes donde encontrar informacion sobre los tipos de datos y su tamaño máximo y mínimo?.
    Saludos.

    View Comment Responder
  91. Victor says:

    Hola Felipe.
    Ya lo hice, pego la respuesta de Transbank:
    Hemos realizado nuevas pruebas de Pre Certificacion en su sitio, sin embargo al efectuar una inyección de datos de una orden sin pagar a la pagina de éxito esta nos despliega la pagina de Éxito con los datos completos, lo mismo ocurre en la inyección de datos con una orden fracasada a la pagina de éxito.

    La correcta respuesta a estas inyecciones es que nos envíe a la pagina de fracaso (debe revisar las validaciones en la pagina de éxito), el resto de las revisiones fueron exitosas, quedamos a la espera de la solución de esta incidencia para continuar con las pruebas de Pre Certificacion.

    Gracias iigualmente y saludos.

    View Comment Responder
  92. Roberto Smith says:

    Hola Cristian, primero que nada, te agradezco toda la pega que has hecho con este plugin y toda la ayuda que prestas a la comunidad de programadores, y también gracias a los comentarios de todos, ya que leyendo pude hacer funcionar el plugin.

    Estuve pegado un buen tiempo en el mítico error 46. Cometí varios errores, así que voy a enumerar los pasos que corregí por si a alguien le sirve para chequear su configuración.

    – Hay que subir los archivos de transbank por ftp en modo binario (obvio, pero no me fije la primera vez y los subí en ascii 😉 ). El síntoma es que no se generaban los logs

    – Al final dejé en 760 los permisos de la carperta uploads/webpay-comun y funcionó ok

    – Salí del error 46 al corregir la ruta de Check Mac Path en Pasarelas de Pago -> Webpay Gateway. Puse la ruta desde la raíz, y la obtuve del log del plugin, que mostró un par de warnings de php con la ruta completa de un archivo. No me funcionó poniendo rutas relativas. Si alguien necesita saber la ruta completa en su servidor, que suba un php con este código:

    <?php
    $dir = dirname(__FILE__);
    echo "Ruta completa de este archivo: ” . $dir . “”;
    ?>

    Gracias nuevamente a Cristian y a todos los que han comentado en el foro.
    Saludos!

    View Comment Responder
    1. Angel Millan says:

      Yo se que es muy antiguo este post y me ha ayudado mucho pero todavia sigo teniendo el error 46 ya coloque la ruta absoluta tal cual indican aca pero sigue igual, alguna idea de como resolver este tema?

      Saludos y Gracias de Antemano

      View Comment Responder
  93. Camilo says:

    Estimado Cristián:

    Estamos armando una tienda online y siguiendo el video tutorial resulta que al hacer click en “Ajustes” del plugin de WooCommerce (minuto 2:08 del video tutorial) nos envía a la página de la tienda, no a los ajustes. Al desactivar el plugin de WebPay, nos permite acceder correctamente a los ajustes de WooCommerce.

    Qué crees que podría ser?

    Abajo los detalles de las versiones que estamos usando.

    Saludos y muchas gracias de antemano!

    ____________________

    Entorno
    URL de la página principal: http://tienda.jm2applied.com
    URL del Sitio: http://tienda.jm2applied.com
    Versión de WC: 2.0.20
    WC Database Version: 2.0.20
    Versión de WP: WP 3.8
    Web Server Info: Apache
    Version de PHP: 5.3.28
    Versión de MySQL: 5.5.34-cll
    WP Límite de Memoria: 40 MB – Recomendamos una memoria mínima de 64MB. Ver: para aumentar la memoria dedicada a PHP
    WP Debug Mode: No
    WP Max Upload Size: 8 MB
    PHP Post Max Size: 8 MB
    Límite de tiempo de PHP: 600
    WC Logging: El directorio de logs es escribible.
    Default Timezone: Default timezone is UTC
    fsockopen/cURL: Your server has fsockopen and cURL enabled.
    SOAP Client: Your server has the SOAP Client class enabled.
    WP Remote Post: wp_remote_post() fue exitoso – PayPal IPN está funcionando.
    Plugins
    Installed Plugins: Woocommerce Webpay ( Chilean Payment Gateway ) por Cristian Tala Sánchez versión 2.4,
    WooCommerce Chilean Peso + Chilean States por Cristian Tala Sánchez versión 2.4.1,
    WooCommerce por WooThemes versión 2.0.20
    Ajustes
    Forzar SSL: No
    Páginas de WC
    Página Tienda Base: #5 – /?page_id=5
    Carro: #6 – /?page_id=6
    Realizar pedido: #7 – /?page_id=7
    Pagar: #14 – /?page_id=14
    Gracias: #15 – /?page_id=15
    Mi cuenta: #8 – /?page_id=8
    Editar dirección: #10 – /?page_id=10
    Ver pedido: #11 – /?page_id=11
    Cambiar contraseña: #12 – /?page_id=12
    ¿Perdió su contraseña?: #9 – /?page_id=9
    WC Taxonomies
    Estados de pedido: cancelled (cancelled), completed (completed), failed (failed), on-hold (on-hold), pending (pending), processing (processing), refunded (refunded)
    Tipos de producto: external (external), grouped (grouped), simple (simple), variable (variable)
    Theme
    Theme Name: Mystile
    Theme Version: 1.2.17
    Author URL: http://www.woothemes.com
    Plantillas
    Template Overrides: No core overrides present in theme.

    View Comment Responder
  94. Hugo says:

    Hola Cristian!

    Excelente solucion la que haz creado!
    Yo estoy integrando webpay en un sitio customizado (no woocommerce) usando tu WebPayConector. El tema es que conecta, ingreso los datos de la tarjeta, rut, pass, acepto. Y me manda todo el rato a fracaso. Y por alguna extraña razon no me esta creando ningun log (ni en cgi-bin/log ni en la carpeta comun). Le he dado los accesos a cada carpeta y archivo tal y como indica la guia de KCC60. Que crees que pueda ser?

    Te agradeceria enormemente me dieras un poco de guia en esto.

    Muchos saludos y gracias de antemano!

    Hugo

    View Comment Responder
      1. Hugo says:

        Cristian,
        Estoy en un servidor publico. En realidad me gustaria dejar andando tu ejemplo del webpayconnector solamente por ahora. Crees que me podrias hechar una mano, no creo que te tome más de un par de horas a ti (a mi me ha llevado mucho), prefiero pagar que seguir dandome vueltas en lo mismo honestamente. Contactame por correo por favor! Te lo agradecería un montón!
        Saludos!
        Hugo

        View Comment Responder
  95. Roberto Smith says:

    Hola Cristian… gracias nuevamente por tu plugin… tengo una consulta… has implementado algún ecommerce con woocommerce-multilingual?… porque el archivo de transbank sólo permite una url de fin de la transacción… no se me ocurre como hacer para que vaya a la url del idioma activo, si no corresponde a la que está configurada… Si tienes alguna pista, te lo agradecería mucho.

    Saludos!

    View Comment Responder
    1. ctala says:

      Roberto, la verdad no lo he hecho, pero debe de ser tan sencillo como al momento de generar la URL en el plugin, generarla dependiendo del idioma activo. Sabes de desarrollo ?

      View Comment Responder
      1. Roberto Smith says:

        Hola Cristian, gracias por responder!… no soy experto pero se de desarrollo; si me indicas dónde tengo que hacer los cambios creo que podría arreglármelas.
        Saludos y gracias!
        Roberto

        View Comment Responder
  96. Hugo says:

    Cristian,

    Estoy en un servidor publico. En realidad me gustaria dejar andando tu ejemplo del webpayconnector solamente por ahora. Crees que me podrias hechar una mano, no creo que te tome más de un par de horas a ti (a mi me ha llevado mucho), prefiero pagar que seguir dandome vueltas en lo mismo honestamente. Contactame por correo por favor! Te lo agradecería un montón!

    Saludos!

    Hugo

    View Comment Responder
  97. Hugo says:

    Hola!

    Ya me funciono! 😀
    Lo estoy corriendo en Fedora 20.
    Era un tema de permisos que no me dejaba que httpd manipulara los folder log y comun, aun cuando ya les habia dado los permisos correspondientes con chmod. Ahora esta funcionando bastante bien.

    Por si alguien tiene mi mismo problema dejo como lo resolvi:

    Para habilitar httpd para manipular los folder y archivos utilice:

    setsebool -P httpd_enable_cgi on
    setsebool -P httpd_unified on
    setsebool -P httpd_builtin_scripting on

    Para habilitar uno de los cgi utilice:

    sudo setsebool -P nis_enabled 1

    Y con eso ya no tuve mas problemas.

    saludos!

    Hugo

    View Comment Responder
      1. Hugo says:

        Si! 🙂

        Los metodos para evitar inyeccion que mencionan en los comentarios no me parecen muy seguros.

        Cristian ya que tu eres el experto, dime que opinas de esto:

        auth_code solo es generado por transkbank cuando la transaccion fue aprobada (pagina 47 del manual KCC60) por lo tanto, se puede hacer lo siguiente:

        cuando el usuario hace click en el boton comprar y es redirigido a tbk entonces guardo la order de compra en la DB. dicha tabla posee dos campos principales orden de compra y auth code. luego cuando recibo las variables desde tbk en el xt_compra guardo el auth code en dicha tabla. Despues en la pagina de exito verifico la orden de compra y el auth code, si auth_code no existe o es distinto es una inyeccion, y si son ambos correctos, dejo esa orden de compra como pagada, asi cuando un usuario intente comprar la misma orden de compra, le puedo redirigir a fallo u otra cosa para decirle que esta intentando pagar una orden de compra que ya fue pagada correctamente, y asi evito ambos problemas de inyeccion y duplicacion.

        Que opinas?

        saludos!

        Hugo

        View Comment Responder
        1. ctala says:

          Lo que se guarda en la BdD es distinta las validaciones de Transbank y estas últimas no necesarimente hacen que la orden este pagada.

          Son meramente almacenamiento y muestra de información. Estas además son mostradas solo cuando el estado s exitoso, y esto pasa si y solo si cuando es aprobado con transbank. Saludos!

          View Comment Responder
          1. Hugo says:

            Claro, pero la orden de compra se crea al iniciar y se mantiene a lo largo del proceso, y si durante el proceso capturamos un dato generado por transkbank, lo relacionamos a la orden de compra y luego lo comprobamos al final en la pagina de exito, entonces vamos a poder detectar si hay inyecciones, porque si el usuario no completo el proceso no se crea el dato capturado, por lo tanto ese campo seria vacio en la base de datos. En fin, voy a darle a eso.

            Una pregunta, que es lo que prueba TBK aparte de la inyeccion y de la duplicacion de pago?

            saludos y mil gracias!

            Hugo

            View Comment
  98. Andrés says:

    Estimados, se agradece enormemente el material dispuesto por ustedes, me ha sido de gran ayuda, ahora una consulta y creo que no soy el único que ha pasado por eso, resulta que la gente de TBK me dice que realizó pruebas a mi sitio con una inyección a la pagina de Éxito con datos de un orden de compra sin cancelar y me arroja el típico error de inyección, la verdad he tratado de seguir las instrucciones que indican ustedes pero no doy con el problema y TBK todavía me tiene en pre-certificación.

    estoy usando la versión 2.3 del plugin con los cambios hechos por Felipe Egas
    también mi duda es si el shortcode es [webpay-thankyou] o [webpay_thankyou]

    si alguien me pudiera orientar con mis problemitas seria un eterno agradecido.

    agradezco todo su tiempo, muchísimas gracias

    View Comment Responder
  99. Felipe Morales says:

    Quisiera compartir con ustedes la noticia que recibimos hace pocos minutos. Nuestro sitio fue Certificado!!
    Infinitas gracias Sr. Tala, naturalmente sin su ayuda esto no hubiera sido posible.

    Agregar que esto lo logramos con una versión antigua del Plugin, la cual modificamos de forma interna, donde fuimos solucionando una a una las inyecciones que a los creativos de TBK se les iban ocurriendo.

    😀

    Gracias nuevamente.

    View Comment Responder
  100. Victor says:

    Saludos y disculpa la demora en responder pero andaba fuera de Santiago.
    SI, cambie el shortcode de woocommerce por el tuyo, y continua igual, Transbank me dice los mismo que a Andrés. aunque no muestra ningún dato, solo el título y nombre del usuario si su session esta abierta.

    View Comment Responder
    1. Jorge says:

      A esta gente de TBK siempre se le ocurre una forma nueva de inyectar, te puedo comentar que la version 2.3 la modifique para que las inyecciones de TBK no pasaran pero era ir modificando una a una segun el dia y tecnico que tocara, despues Felipe Egas contribuyo con un codigo que soluciono el 99% de las inyecciones, sin embargo a TBK se le ocurrio completar una orden y luego pasarla a fallida, y por eso dicen que el sitio es inyectable, por lo cual debes ir a la linea 573 de webpay.php y cambiar el || por && de esta forma no podran pasar de processing a failed la orden. yo utilizo el shortcode webpay_thankyou por un solo motivo y es que si utilizas woocommerce_thankyou notaras que al completar el pedido no pone el precio unitario, esto era asi en la v2.3 y no se si fue modificado en la v2.4.
      Espero que esta info le sirva a todos y tanto Felipe Egas como nuestro estimado ctala pueden corregir si estoy errado en algo de lo expuesto.
      Y vuelvo a agradecer tanto a Felipe como a Cristian por su trabajo.
      Saludos

      View Comment Responder
  101. carlos says:

    hola sabes es muy bueno tu plugins lo instale pero solo tengo un problema es que siempre que vuelve a la pagina de agradecimiento nunca la carga solo sale el shortcode

    View Comment Responder
      1. Jorge says:

        Bueno la verdad es que el codigo tiene errores, la version 2.4 y 2.4.1 aun permiten la inyeccion para la duplicidad de ordenes, no es joda por parte de ellos es que simplemente no pasas directo las pruebas, quizas si te toca la suerte de que no te hagan las pruebas tan duras pasarias a la primera, ademas de ese error esta el error de la linea 573 que mencione mas arriba, pues puedes pasar una orden de processing a failed con una inyeccion.
        De todas formas hice las modificaciones requeridas y quedo ok, pero voy a ver si hoy le meto mano para mejorarlo otro poco.
        Saludos

        View Comment Responder
  102. Jorge says:

    hice el fork y pull request con las correcciones necesarias para pasar pre-certificacion y certificacion sin modificaciones extras.
    cambios:
    – elimina duplicidad en base de datos al hacer reload en pagina de exito, esto producia que se descontara stock y se crearan tantas orderid como reload hicieras
    -elimina duplicidad en pago, demostrado por transbank en v2.4.1
    -elimina problema en que al ser inyectado el sitio una orden processing pasaba a failed.
    -elimina problema en determinada inyeccion en la cual es esperable ver pagina de fracaso pero se obtenia otro mensaje por lo cual te rechazaban en certificacion.

    Saludos !!!

    View Comment Responder
    1. jugarte says:

      Estimado Jorge:

      Usé el código del fork, y transbank me dice que aún se están recibiendo el pago de ordenes duplicadas. Tienes alguna idea de el motivo?

      Gracias!

      View Comment Responder
      1. ctala says:

        Tanto el fork como el original no deberían de tener este problema con las versiones de woocommerce 2.0.* . Revisa si sigues todas las instrucciones correctamente por favor.

        View Comment Responder
          1. ctala says:

            Entonces les recomiendo antes que todo que se lo demuestren. En muchas ocasiones los chicos de transbank dijeron que había duplicidad cuando esta no existía.

            View Comment
  103. Douglas saavedra says:

    Estimado Cristian, he estado batallando en instalar el plugin, pero sale esto. Parse error: syntax error, unexpected ‘public’ (T_PUBLIC) in /var/www/localhost/htdocs/Abingraf/wp-content/plugins/webpay-woocommerce-plugin/webpay.php on line 363
    Tengo actualizado el wordpress y woocommerce.
    Te agradecería indicarme la solución.
    Un cordial saludo.
    Douglas

    View Comment Responder
  104. Alejandro says:

    hola, estaba intentando configurar webpay y luego de aceptar un pago con los datos de la visa, o cualquier otro, me dió el siguietne error. por ejemplo, luego ee mostrar la pantalla de webpay de “su transacción fue realizada con éxito.

    “Fatal error: Call to undefined function woocommerce_payment_complete_add_data_webpay() in /home/beb1013/public_html/wp-content/plugins/woocommerce-webpay/webpay.php on line 504”

    alguna idea de que pueda ser :0?

    saludos

    View Comment Responder
      1. Alejandro says:

        no sé como, pero ya no me arroja el error, ahora, cuando le doy a “rechazar”, me da un error de escritura, (fopen)

        “Warning: fopen(/home/beb1013/public_html/wp-content/uploads/webpay-comun/MAC01Normal20140211023017.txt): failed to open stream: No such file or directory in /home/beb1013/public_html/wp-content/plugins/webpay-woocommerce-plugin/webpay.php on line 508”

        “Warning: fgets() expects parameter 1 to be resource, boolean given in /home/beb1013/public_html/wp-content/plugins/webpay-woocommerce-plugin/webpay.php on line 509”

        “Warning: fclose() expects parameter 1 to be resource, boolean given in /home/beb1013/public_html/wp-content/plugins/webpay-woocommerce-plugin/webpay.php on line 510”

        según veo, no crea el archivo, la carpeta está con 777.

        alguna idea de este caso?

        saludos,
        gracias de antemano :B

        View Comment Responder
        1. ctala says:

          Alejandro, este lunes se publicó una nueva versión de woocommerce en donde se hicieron cambios en las plataformas de pago.

          Estoy trabajando en arreglarlo. Saludos!

          View Comment Responder
        2. Jorge says:

          user:group es tu problema, el usuario perteneciente al grupo es dueño de la carpeta, pero quien desea crear el archivo en la carpeta no es dueño de ella ni pertenece al grupo de usuarios que es capaz de utilizarla, basta con permisos 755 y que el usuario que crea el archivo sea dueño de la carpeta o pertenezca al grupo de usuarios…

          View Comment Responder
  105. Mauricio says:

    Hola Cristian, muchisimas gracias por toda tu ayuda, realmente sin esto muchos no podriamos tener nuestros sitios funcionando,

    Resulta que actualize todo el sistema, wp , woocommerce y todo y ahora no inicia webpay, sale el sigueente error,

    {“result”:”failure”,”messages”:”
    \n\t\t\t
    Pa\u00eds es un campo requerido.\n\t\t\t
    Nombre es un campo requerido.\n\t\t\t
    Apellido es un campo requerido.\n\t\t\t
    Direcci\u00f3n es un campo requerido.\n\t\t\t
    Municipio es un campo requerido.\n\t\t\t
    Direcci\u00f3n de Email es un campo requerido.\n\t\t\t
    Tel\u00e9fono es un campo requerido.\n\t\t\t
    Lamentablemente no enviamos a a . Por favor ingrese una direcci\u00f3n de entrega alternativa.\n\t\t\t
    M\u00e9todo de env\u00edo no v\u00e1lido.\n\t\t\t
    M\u00e9todo de pago no v\u00e1lido.\n\t”,”refresh”:”false”,”reload”:”false”}

    dado que antes de la actualizacion funcionaba queria saber si sabes algo al respecto de esto.

    Esto sucede al momento de presionar realizar pedido. con opcion webpay

    Saludos y muchisimas gracias

    View Comment Responder
    1. ctala says:

      Sip, la nueva versión de woocommerce tiene cambios algo drásticos en cuento a los plugin. Empezando que no usa páginas si no endpoints. Estoy trabajando para arreglar el plugin para compatibilidad para la nueva versión. Saludos!

      View Comment Responder
  106. Alejandro says:

    hola, me lllegó el siguiente mensaje de transbank, es lo ultimo que me va quedando según la validación, pero no entiendo muy bien como solucionarlo :s. si alguien puede ayudar sería fantabuloso 😀 gracias.

    a continuación el mensaje:

    “Ahora bien, en las pruebas de inyección de datos se detecta que debe realizar una validación dentro de la pagina de éxito, le explico. La prueba que realizamos consiste en inyectar la orden de compra, el id sesión , el monto , la url de éxito y la url de fracaso, primero de una transacción fracasada y luego de una transacción sin cancelar , estos datos a través de un formulario HTML se le inyectan a la url de la pagina de éxito, esta debe ser capaz de redireccionar a la pagina de fracaso o al índex del sitio en caso de cualquier inyección de datos directamente a ella, en su caso se muestra la pagina de éxito con todos datos inyectados, pueden realizar una validación en la pagina de éxito que verifique si la orden de compra esta pagada, y si no lo esta, debe desplegar la pagina de fracaso, o pueden realizar una validación también en la pagina de éxito que verifique que esta paso por la pagina de cierre y de no ser así que se muestre entonces la pagina de fracaso, ya que como los datos son inyectados a la url de la pagina de éxito directamente esta no pasa por la pagina de cierre.”

    View Comment Responder
    1. ctala says:

      la última versión del plugin hace eso con la versión anterior a woocommerce 2.1, solo debes usar webpay_thankyou en vez de woocomerce_thankyou como shorttag en la página de recepción.

      Saludos!

      View Comment Responder
  107. Jorge says:

    Hola Cristian, al tratar de ejecutar el CGI me aparece error 500 y cuando voy a los registros de errores me parece: script not found or unable to stat: /home/xxxx/public_html/cgi-bin/cgi-sys, referer: http://www.xxxx.cl/cgi-bin/tbk_bp_pago.cgi

    Hace unos días estaba funcionando y cuando hice una actualización de toda la carpeta comenzó el error. Lo extraño es que hace referencia a una carpeta /cgi-sys/ que no existe y si la creo y la vuelvo a apuntar aparece una segunda.

    Lo permisos los he revisado y he probado con otros CGI “Hola mundo” y funcionan.

    Bueno agradezco cualquier ayuda.

    View Comment Responder
    1. Jorge says:

      Disculpa, ya lo arregle. Muy importante leer bien el manual.

      Al principio no estaba utilizando un gestor FTP, por eso me funcionó y al actualizar los archivos con filezilla los archivos se dañaron, cambien las configuraciones de filezilla para cumplir con lo que solicitan y funcionó.

      Cambios realizados en Filezilla>edición>transferencias>tipos de archivos

      Ver que lo próximo se cumpla.
      Tipo Extensión:
      ASCII
      *.log; *.dat; *.html; *.asp; *.pem, *.txt
      BINARIO
      *.cgi; *.exe

      View Comment Responder
  108. Ricardo says:

    Hola Cristián te quiero hacer una pregunta, cuanto me cobrarías por una clase presencial de como utilizar tu plugin?, creo que es la única forma que pueda aprender esto, tengo la web y el hosting linux compatible, solo me falta configurar esto.

    Saludos y muchas gracias por compartir tus conocimientos.

    View Comment Responder
  109. Mauricio says:

    Hola Cristian, sabes que estaba probando la version que estabas modificando la 2.4.2-DEVEL, para la actuaizacion de woocommerce 2.1.2, y funciona todo bien durante el proceso de compra muestra la pagina de agradecimientos y todo, pero no vacia el carro , es decir . lo vacia , pero se ve como que estuvieran los productos en el carro al momento de presionar carro figura como vacio, podrias indicarme que parte del codigo hace eso para ver que pueda estar mal o si es algo quizas de la plantilla para verificar.

    muchas gracias

    View Comment Responder
  110. Joel Portiño says:

    Hola Cristian, instale el plugins pero cuando lo tengo habilitado no puedo avanzar a finalizar compra y me redirige a la pagina de inicio y si desactivo el plugins me funciona bien, sabras cual es el error que esta dando, desde ya muchas gracias

    View Comment Responder
  111. Roberto Smith says:

    Hola Cristian.

    Gracias como siempre por la media pega que te mandaste con tu plugin. Tengo una consulta: alguna vez has habilitado un comercio con pesos y dólares simultáneamente usando tu plugin?

    Saludos!
    Roberto

    View Comment Responder
      1. Roberto Smith says:

        Ahh.. o sea que para pesos chilenos usas tu plugin y para dólares Paypal…?

        Y cómo haces para poner precios en dos monedas… usas algún plugin? Sorry por preguntar tanto, pero es mi primer e-commerce…

        View Comment Responder
  112. Alejandro says:

    hola soy yo denuevo :d

    tengo una duda, la página de cierre, la thankyou, agrega el detalle de la compra, en la cual debería incorporar el “valor unitario” que pide transbank, y me fijé que está tomando el template de woocommerce, no el de webpay que trae eso listo :0

    como le hago pa que lea el template del plugin de webpays?

    de antemano thankyou.

    saludos

    View Comment Responder
    1. ctala says:

      La verdad es raro :S. No sabría decirte el pq no usa el del plugin. Igual no he podido revisar muy bien los cambios que ha hecho woocommerce.

      View Comment Responder
      1. Claudio says:

        Hola, en ninguna parte me aparece webpay-thankyou ni woocommerce-thankyou . Es porque la instalación está en español?

        View Comment Responder
        1. Claudio says:

          Retiro lo dicho, ya cache donde se cambia, es al editar la página, pensé que era en la config de webpay en woocommerce.

          View Comment Responder
  113. Joel Zúñiga says:

    Hola Cristian, en primer lugar te felicito por el plugin me ha servido bastante, solo tengo una consulta:

    Ya configure el server linux64, subi el kcc y todo, ahora cuando realizo el proceso de compra al momento de eligir la opción de aceptar el pago, webpay acepta la compra y me imprime los datos perfectamente en mi web, pero al momento de rechazar me arroja este error:

    Warning: fopen(/home/importa/public_html/2014/wp-content/uploads/webpay-comun/MAC01Normal20140304045156.txt): failed to open stream: No such file or directory in /home/importa/public_html/2014/wp-content/plugins/webpay-woocommerce-plugin/webpay.php on line 508

    Warning: fgets() expects parameter 1 to be resource, boolean given in /home/importa/public_html/2014/wp-content/plugins/webpay-woocommerce-plugin/webpay.php on line 509

    Warning: fclose() expects parameter 1 to be resource, boolean given in /home/importa/public_html/2014/wp-content/plugins/webpay-woocommerce-plugin/webpay.php on line 510

    Estuve revisando el código pero no puedo encontrar la solución, se que arroja el error por que el archivo no esta, por que no lo crea.

    Me puedes orientar un poco para solucionar este error.

    Muchas Gracias.

    View Comment Responder
  114. jesus says:

    Hola Cristian, tengo un error al activar el plugin
    Woocommerce Webpay ( Chilean Payment Gateway )
    aparece el siguiente error

    Parse error: syntax error, unexpected ‘public’ (T_PUBLIC) in C:\xampp\htdocs\wordpress\wp-content\plugins\webpay-woocommerce-plugin\webpay.php on line 363

    favor si me puedes ayudar saludos.

    View Comment Responder
  115. Alejandro says:

    hola yo de nuevo, tengo un problema, actualicé el plugin y al rechazar me da problemas con crear el .txt
    “MAC01Normal$TBK_ID_SESION.txt”
    el log lo crea bien, me arroja error en fopen, según el reporte en las líneas 508, 509 y 510 a raíz de esto. los permisos están ok.

    algun tip?

    saludos

    View Comment Responder
    1. Joel Zúñiga says:

      Alejandro

      Prueba cambiando el código del error por este, Saludos.

      //Archivo previamente generado para rescatar la información.
      $myPath = $webpay_comun_folder . DIRECTORY_SEPARATOR . “MAC01Normal$TBK_ID_SESION.txt”;

      if (file_exists($myPath)){

      //Si existe el archivo rescate de los valores informados por transbank
      $fic = fopen($myPath, “r”);
      $linea = fgets($fic);
      fclose($fic);
      $detalle = explode(“&”, $linea);

      }else{

      $myPath = $webpay_comun_folder . DIRECTORY_SEPARATOR . “dato$TBK_ID_SESION.log”;

      //Si no existe el archivo, rescata valores del log
      $fic = fopen($myPath, “r”);
      $linea = fgets($fic);
      fclose($fic);
      $detalle = explode(“&”, $linea);
      }

      View Comment Responder
  116. Andrés says:

    Hola Cristian. En primer lugar, agradecerte el que nos facilites la vida. Tengo una duda respecto del error 46, ya que ninguna de las soluciones que encontré aquí y en otros foros me ha dado resultado. Es posible que el servidor niegue la ejecución del tb_check_mac.cgi por su IP? Te pregunto porque tomé un trabajo comenzado (y muy mal), y se supone que la habilitación de las IP ya había sido solicitado. Es que no encuentro más explicaciones.

    Desde ya, muchas gracias por tu atención.

    View Comment Responder
  117. Andrés says:

    Hola:

    Estuve en contacto con el soporte de Transbank, y me dijeron que si al cambiar el código de tx_compra.php y solo colocar ACEPTADO se completa la transacción, no se trata de problemas de comunicación, ni mod_security, ni las IP ni nada que se le parezca. Siempre, en estos casos, se trata del xt_compra. Ahora bien, si tengo todos los parámetros correctos, los cgi funcionan, no entiendo donde se encuentra el problema del error 46. Hay alguna otra versión del plugin que la que se descarga en WordPress.org?

    Si encuentro la solución, la escribo, para colaborar con otros que tengan el mismo problema.

    Saludos

    View Comment Responder
    1. Andrés says:

      Bien. Encontré el problema en el log de WordPress. La función exec() está desactivada. Alguna idea para sustituir la línea exec($cmdline, $result, $retint); ?

      View Comment Responder
      1. ctala says:

        Lamentablemente en ese caso, lo más sencillo ya es cambiar de host. Si tienes bloqueado el poder ejecutar archivos no importa el como lo intentes.

        Que server ocupas ? tienes opción de habilitarlo ?

        View Comment Responder
        1. Andrés says:

          Hola Cristian. Definitivamente, el problema era el hosting compartido. Para todos aquellos que quieran instalar WebPay Plus, es recomendable no emplear hosting compartido. Debe contratarse un VPS, donde poder manejar las clases php que quedan deshabilitadas. Muchas gracias a Cristian y a todos los que han colaborado en este tema tan complejo.

          View Comment Responder
        2. Marcelo says:

          Para el que le sirva… en mi caso tengo un hosting compartido y tenia el error 46 porque la función exec() está deshabilitada. Para habilitarla me bastó con subir un archivo llamado php.ini que en su interior contenga la linea “disable_functions =” (sin comillas). El archivo lo subí en la raiz de la instalación de wordpress.

          Luego de eso el error 46 ya no apareció.

          View Comment Responder
  118. jugarte says:

    Cristian, muy agradecido por la enorme pega que has compartido. Nosotros logramos, después de varios intentos, dar con la configuración correcta de los cgis de transbank. Todo funciona ok, con la salvedad de la página de cierre. Al parecer, no se genera el archivo en la carpeta webày-comun y la página de éxito tirar el error fopen correspondiente. Los permisos para uplads y webpay-comun están en 777. Usamos la versión 2.0.20 de woocomerce y la 2.41 de tu plugin. ¿Tienes algunas pistas de lo que puede pasar? Un abrazo

    View Comment Responder
    1. jugarte says:

      Solucionado: Hay que fijarse en la ruta del check mac en la configuración del plugin. Enviamos la info a transbank y copio la respuesta:

      “En los test de inyección de datos a la página de éxito se inyectan datos tanto de una transacción fracasada como de una transacción sin cancelar a la url de la pagina de éxito , en ambos casos lo que se espera es que se muestre la pagina de fracaso o el índex del sitio, en su caso está mostrando un Warning (un error gatillado por head.php2 en pluggable.php: cannot modify header information – headers already ), para solucionar esto debe realizar una validación en la página de éxito que verifique que los datos que recibe con esta inyección pasaron por la pagina de cierre, de no ser así que se muestre la pagina de fracaso o el índex del sitio, ya que los datos que se están inyectando son directamente a la página de éxito sin pasar por la pagina de cierre , o igualmente puede validar si la orden de compra que se está inyectando esta pagada, si no es así que se muestre la pagina de fracaso o el índex del sitio, ya que las órdenes de compra que se están inyectando como le describí en un comienzo son de una transacción sin cancelar o de una transacción fracasada.
      Además, la prueba de duplicidad de orden se realizo correctamente, no así la de monto adulterado, en esta ultima se genera el pago nuevamente de una transacción la cual no se completo, modificándole el monto y generando así un nuevo pago , de este test se espera que se muestre la pagina de fracaso con sus respectivas indicaciones, en su caso mostro la pagina de fracaso pero con el numero de orden de la transacción anterior, no el que se utilizo en este test, esto debe revisarlo en las validaciones de la pagina de cierre.
      Por lo demás no se detecto ninguna otra incidencia a reportar , le pido que me envíe los archivos los de eventos y bitácora ambos con fecha 26-03-2014 para su revisión. ”

      He investigado y necesitamos algo de orientación. Toda ayuda es bienvenida.

      View Comment Responder
  119. apds says:

    Hola Cristian, mi nombre es Andrés.
    Necesito saber si me puedes ayudar con mi página web, necesito realizar algunos cambios.
    Agradeceria si me contactas y me indicas el valor de tus servicios.

    Saludos

    View Comment Responder
  120. Jaime says:

    Hola Cristian, gracias por el gran trabajo que has realizado con el plugin, ha sido de gran ayuda. Tengo un problema similar al de jugarte, copio el mensaje desde transbank: “Al inyectar datos de una orden de compra sin cancelar o fracasada a la pagina de éxito. El resultado esperado para esta prueba es el despliegue de la pagina de fracaso o el home del sitio web. Aunque al momento de realizar la inyección de datos su pagina solo queda en blanco, es necesario que al menos muestre el mensaje de la pagina de fracaso.”

    Cualquier ayuda al respecto será de gran ayuda, saludos y gracias nuevamente.

    View Comment Responder
    1. Jaime says:

      Respondo a mi inquietud para que alguien con el mismo problema pueda solucionarlo: El problema de inyección y duplicación está resuelto en el plugin, el problema en particular que arrojaba cuando TBK hacía la prueba era un página en blanco y no la redirección al homepage como piden ellos, esto se debía al template del sitio que se utilizaba, se recomienda trabajar con templates recientes. Eso, gracias Cristian por el plugin, ya estamos cerrando la certificación con Transbank, saludos y gracias.

      View Comment Responder
        1. Jaime says:

          Si, ya pasamos la certificación y estamos operativos gracias a tu plugin. Muchas gracias por el gran trabajo Cristian!

          View Comment Responder
    2. jugarte says:

      Estimados, ya estamos en producción. Efectivamente, como me dijo Cristian, los chicos de transbank deben probar que duplicidad. En nuestro caso, pedimos una nueva prueba y pasamos la certificación sin duplicidad y sin cambiar el código.
      Sin embargo, tuvimos que deshabilitar el método de transferencia bancaria, ya que al seleccionarlo, nos lleva a la página de cierre con el mensaje “No puedes acceder a esta página directamente”
      Gracias a todos por la contribución y a Cristian por la tremenda pega.

      View Comment Responder
  121. Sergio Pérez P. says:

    Saludos Cristian, muchas gracias por compartir tus conocimientos y ayudar desinteresadamente a otros (me incluyo) en la integración de WooCommerce con Webpay.
    Mi granito de arena, si tienes habilitados otros medios de pago además de Webpay se debe agregar al archivo webpay.php al momento de validar el estado de la orden la posible condición que esté en espera ($order->status==”on-hold”), de lo contrario será direccionado al home y no a la página de resultado.
    Suerte !!!

    View Comment Responder
  122. Felipe Egas says:

    chicos, otra posible solución si es que no pueden resolver el clásico error 46, es, en el tbk_config.dat la línea :

    HTML_TR_NORMAL = http://www.tupagina.cl/?page_id=xt_compra&pay=webpay&wc-api=WC_Webpay

    reemplazar el dns (www.tupagina.cl) por la IP con la carpeta en la que esta tu servidor, por ej:

    HTML_TR_NORMAL = http://10.10.10.10/misitio/?page_id=xt_compra&pay=webpay&wc-api=WC_Webpay

    Eso, espero le sirva a alguien, saludos desarrolladores

    View Comment Responder
  123. Claudio Saavedra says:

    Estimado Cristian Tala

    Un gusto en saludarte y darte las gracias por este tipo de aporte, la verdad yo estoy implementando PRESTASHOP con DINEROMAIL pero me han surgido dudas en relación a la confiabilidad de esta empresa, por lo que he estado leyendo lo que haces con WORDPRESS y WOOCOMMERCE, tengo una duda existencial y es que: igual deberé contratar webpay plus y dejarles el 1.000.000 de garantía para hacer la implementación?

    View Comment Responder
  124. patricio sebastian says:

    perdon nuevamente, luego de dar clic en realizar el pedido, No se ha encontrado
    Parece que no hay nada en esa ubicación a que se refiere saludos. un abrazo

    View Comment Responder
  125. Felipe Morano says:

    Hola Cristian,
    Tengo una consulta, en el proceso al intentar hacer una comprar webpay me redirige a https://certificacion.webpay.cl:6443//bp_revision.cgi con una mensaje The requested URL /bp_revision.cgi was not found on this server. Los paremetros que tengo en el tbk_config son

    URLCGITRA = /filtroUnificado/bp_revision.cgi
    URLCGIMEDTRA = /filtroUnificado/bp_validacion.cgi
    SERVERTRA = https://certificacion.webpay.cl

    Que viene por defecto con el kit. He buscado en todas partes cual es el problema, pero no logro encontrar una solucion.

    Saludos.

    View Comment Responder
  126. Felipe Morano says:

    Hola Cristian,
    Tengo una consulta respecto a la pagina de recepción del pedido. En la instrucciones del plugin dice que hay que reemplazar [woocommerce-thankyou] por [webpay-thankyou], pero cuando hago esto la pagina solo me muestra “[webpay-thankyou] “, pero con [woocommerce-thankyou] me muestra los datos del pedido correctamente. ¿Es necesario hacer este cambio?

    Saludos!

    View Comment Responder
      1. Felipe Morano says:

        Mmmmm el resto del proceso de comprar funciona sin problema, genera todos los archivos de log que debe generar y guarda los datos en BBDD correctamente y la integración con webpay funciona sin ninguna problema. En el debug tampoco hay errores, lo único es que me muestra [webpay-thankyou] envés de mostrarme la información de la compra.

        View Comment Responder
  127. marcelo says:

    Hola Cristian, primero que nada muchas gracias por aportar con esta informacion que a muchos nos hace falta cuando estamos dando nuestros primeros pasos dentro de las tiendas virtuales.

    Te cuento, hace tiempo que estoy tratando de instalar una tienda virtual, llegue acá por tu vídeo en Youtube y luego leí algunas de tus publicaciones.

    Al momento de crear la tienda tengo algunos problemas en la parte en que la pasarela de pago me redirige a Transbakn, creo que tienen que ser los CGI, pero aun no entiendo mucho sobre ¿como tienen que estar configurados?, ¿donde se configuran? y ¿cuales son los parámetros de como tiene que quedar?, muchos saludos y espero esto sirva a otros a solucionar los problemas que van apareciendo.

    View Comment Responder
  128. Ariel says:

    ¿ Estimados Cristian, cuando tienes pensado retomar el proyecto para hacerlo compatible con woocommerce 2.1.8 ?

    Saludos

    View Comment Responder
  129. angelo says:

    Hola Cristian!! antes que todo, muchas gracias por el plugin!!

    tengo el siguiente problema, cuando voy a ver el carro y presiono “pagar” para pasar a la siguiente pagina donde te permite escoger el medio de pago, el botón me redirige al home y no a la pagina para escoger el tipo de pago. Sin embargo, si tengo desactivado el plugin(directamente el plugin, no solo inhabilitar la opción dentro del panel de woocommerce), puedo pasar a la siguiente pagina y escoger “pago con transferencia”(que es la otra opcion de pago). Incluso, si deshabilito la opción de pago por transferencia, me redirige al home…

    ayuda please!! Muchas gracias

    View Comment Responder
    1. ctala says:

      Esto le pasó a un par de personas, al parecer depende de la versión de php que tengas instalada debido a las redirecciones. Revisa bien que versión de php y apache2 estás utilizando y de ser posible actualzia 🙂

      View Comment Responder
      1. angelo says:

        hola cristian, gracias por responder.

        revisando el server, tengo la version 5.4.27 de php y 2.2.27 apache, sera necesario actualizar?? o podría ser otro el problema?

        Muchas gracias!

        View Comment Responder
          1. angelo says:

            Cristian, me aparece esto en el log.

            [WEBPAY – RESPONSE] -> Entrando al Webpay Response

            PHP Notice: Undefined index: TBK_ORDEN_COMPRA in /home/baberobo/public_html/web/wp-content/plugins/webpay-woocommerce-plugin/webpay.php on line 481

            [WEBPAY – RESPONSE] -> FALTAN PARAMETROS
            [WEBPAY – RESPONSE] -> SALIENDO DEL RESPONSE

            Muchas gracias por tu ayuda..

            View Comment
  130. juan says:

    Hola Cristian, estoy en el proseso que aprueben mi codigo Dolares en transbank despues de casi 3 meses, al final me pidieron una boleta de garantia de 2 millones, asi que hoy estaria listo para que me generen el codigo dolar, mi consulta es la siguiente, he tratado de entender esta integración de la KCC de transbank, pero cada ves me enredo mas, ¿esa KCC es un codigo? el cual tu puedes modificar con cada producto que vendes? te consulto esto ya que me lo esta haciendo jumseller y no se si me tienen que pasar un codigo para yo tenerlo e implementarlo en mi sitio o que, desde ya muchas gracias por tu respuesta.

    View Comment Responder
    1. ctala says:

      Mira el KCC es el proceso y el código ( CGI ) que hace posible que la integración cómo la mía funcione de manera adecuada con transbank o webpay plus. Esto es “GLOBAL” para el sistema y no es por producto.

      No se como funciona jumpseller, pero lo más probable es que les debas pasar TU código de transbank.

      Espero que te haya aclarado algo 😛

      View Comment Responder
    1. ctala says:

      Si tienes acceso a poder ejecutarlos y ver los archivos resultantes no deberías tener problemas. Lo anterior puede generar fallas en seguridad así que ten cuidado.

      View Comment Responder
  131. Jaime says:

    Hola estimado, te vuelvo a felicitar por el excelente trabajo realizado, ha sido de gran ayuda. Tengo una situación que comentarte pues surge la duda con el retorno desde webpay al sitio con los datos de éxito o fracaso y el comprobante de la transacción, pues nos sucede que si el sitio web está caído (error 500 o similares, exceso de visitas o sobrecarga del sitio) transbank descuenta el monto en la tarjeta de crédito pero no puede generar ni la página de éxito, ni el mail de confirmación al cliente ni ejecuta el trámite en woocommerce. se que esto no es responsabilidad del plugin ni parte de su diseño, pero es una variable a considerar dentro de las posibilidades reales por tanto ¿habrá una forma o aproximación a solución para esto? además, ligado a esta situación ¿es posible enviar vía mail los datos de la página de cierre para confirmar los abonos de la tarjeta de crédito con el resumen de pedidos de woocommerce? (transbank genera confirmaciones de depósito por webpay pero no específica exctamente qué productos fueron adquiridos, sólo los datos y montos, generándose 2 identificadores de transacción: el de transbank y el de woocommerce, ambos distintos. además si la persona que completó sus datos en la web y usa una tarjeta de otra persona para pagar genera una inconsistencia) la primera es una situación más compleja, la segunda creo que es más abordable y sería de gran ayuda poder tener algún tipo de solución o indicación aproximada. Saludos y muchas gracias por todo.

    View Comment Responder
  132. juan andres cabrera says:

    Hola Cristian,
    Primeramente muchas gracias por tu trabajo…
    Te tengo 2 preguntas.
    1. Dado que este post ha tenido ya mucho tiempo al aire y han cambiado las versiones de los scripts podrias decirme en que versiones (de wp y de woocommerce ) debería funcionar bien tu desarrollo ¿?. He tenido exto con imoplementaciones opencart pero realmente me ha dado muchos problemas la instalacion de woo estos ultimos 2 días. Mis logs declaran que faltan parametros y no se por donde continuar.

    2. Tema aparte es que necesito hacer una integracion con un plugin de wordpress de ecommerce que acepta paypal … Tu realizas proyectos a la medida ¿?
    Un saludo y cualquier cosa respecto a la pregunta n|° 2 mi mail es [email protected]
    Gracias!

    View Comment Responder
  133. Ricardo says:

    Hola Cristián.

    Disculpa la ignorancia pero conoces algún plugin de Woo Commerce que permita hacer un recargo en dinero dependiendo de la opción de pago? ejemplo si el cliente selecciona webpay se le hace un 3% de recargo.

    Saludos y muchas gracias

    View Comment Responder
  134. Carlos says:

    Hola Cristián hemos configurado gracias tu ayuda nuestro comercio con webpay. Lo unico que nos falta para que nos aprueben es que la pagina de exito es llamada nuevamente y la orden ya fue pagada deberia ir a la pagina de fracaso. Hoy nos envia al carro vacio.

    Alguna idea de como puedo solucionar este problema y o en alguna version esto se encuentra solucionado.

    Desde ya muchas gracias!!

    View Comment Responder
  135. Nicolas says:

    Hola a todos,

    Primero quiero agradecerte Cristian por tu trabajo.

    Tengo un problema de integracio…. Al finalizar una compra, recibo este mensaje…

    http://www.mibabycleta.cl

    {“result”:”failure”,”messages”:”

    \n\t
    \n\t\t\t
    Pa\u00eds es un campo requerido.\n\t\t\t
    Nombre es un campo requerido.\n\t\t\t
    Apellido es un campo requerido.\n\t\t\t
    Direcci\u00f3n es un campo requerido.\n\t\t\t
    Municipio es un campo requerido.\n\t\t\t
    Direcci\u00f3n de Email es un campo requerido.\n\t\t\t
    Tel\u00e9fono es un campo requerido.\n\t\t\t
    Lamentablemente no enviamos a a . Por favor ingrese una direcci\u00f3n de entrega alternativa.\n\t\t\t
    M\u00e9todo de env\u00edo no v\u00e1lido.\n\t\t\t
    M\u00e9todo de pago no v\u00e1lido.\n\t”,”refresh”:”false”,”reload”:”false”}

    Porque? Webpas me dijo que el setup en el servidor estaba bien hecho…

    View Comment Responder
  136. Nicolas says:

    Hola Cristian,

    Espero que estes bien. Me gustaria saber si me puedes ayudar porque estoy desesperado…

    Configuré los CGI de transbank. Llamé a transbank para asegurarme que todo estaba bien. Configuré tu modulo pero al finalizar una compra, recibo este mensaje de error :

    {“result”:”failure”,”messages”:”

    \n\t
    \n\t\t\t
    Pa\u00eds es un campo requerido.\n\t\t\t
    Nombre es un campo requerido.\n\t\t\t
    Apellido es un campo requerido.\n\t\t\t
    Direcci\u00f3n es un campo requerido.\n\t\t\t
    Municipio es un campo requerido.\n\t\t\t
    Direcci\u00f3n de Email es un campo requerido.\n\t\t\t
    Tel\u00e9fono es un campo requerido.\n\t\t\t
    Lamentablemente no enviamos a a . Por favor ingrese una direcci\u00f3n de entrega alternativa.\n\t\t\t
    M\u00e9todo de env\u00edo no v\u00e1lido.\n\t\t\t
    M\u00e9todo de pago no v\u00e1lido.\n\t”,”refresh”:”false”,”reload”:”false”}

    Porque? No lo entiendo. Intenté varios cambios pero nada me resulto.

    View Comment Responder
        1. ctala says:

          Trata de que sea una instalación limpia, recuerda que woocommerce crea tablas en la base de datos que pueden generar conflictos con las versiones anteriores.

          View Comment Responder
          1. Nicolas says:

            Hola Cristian,

            Como estas?

            Dime, hay algo que puedo o podemos hacer para actualizar el plugin en menos de 1 mes? Pagarte por ejemplo.. Seria bkn!

            Estamos en contacto

            Nico

            View Comment
  137. Espinoza says:

    Hola Cristian:
    Necesito tu ayuda, pero pagada por favor, ya que necesito resolver a la brevedad unos inconvenientes con una tienda.

    Espero tu repuesta,
    Gracias!

    View Comment Responder
  138. Roberto Llanos says:

    Estimado,

    Una consulta, cuando una orden queda como completada y se limpia el carro de compras, eso donde se ve reflejado directamente en la base de datos. de ante mano, gracias!

    View Comment Responder
    1. ctala says:

      Recuerda que woocommerce está basado en wordpress, y como tal en la base de datos la información es guardada como si fuera un post. No se si la nueva versió nes igual, pero antes de la 2.1 existía una METADATA para los post en donde salía esta información.

      View Comment Responder
      1. juan cabrera says:

        Hola Cristian,
        Una consulta si pudieras ayudarme…
        Estoy tratando de integrar la version 2.1 y tengo la siguiente dudad…

        1. El estado de la orden viene al momento de pagar con valor “pending” y luego de pagar webpay.php presenta la condicion de que si la orden es “completed” o “proccessing” entonces continua en el camino al exito.

        Por alguna razon, la orden no me cambia de estado después de pagar… Imagino que ese estado lo cambia transbank una vez se valida el pago .. ¿es esto correcto o el estado debe cambiar en el mismo script?
        pd: mis logs de transbank dan resultado correcto si cambio en duro el valor de la variable a “completed” o “proccessing”.

        Al pagar con los datos de prueba recibo result desde transbank vacía. ¿Tu sabes a qué puede deberse esto?

        Un saludo y muchas gracias de antemano.

        View Comment Responder
  139. angelo says:

    hola Cristian,

    ya he solucionado algunos problemas que tenia para que funcione la integracion, pero tengo 2 problemas.

    1- para el [webpay-thankyou], donde lo coloco?? que creado una pagina en el wordpress y le he agregado eso, ademas lo asigne en el panel de conf del plugin, pero al terminar la operacion y redireccionar a esa pagina, solo me puestra ese texto que agregue([webpay-thankyou]) y nada mas.

    2- al hacer el pago con webpay y redireccionar a la pagina checkout que trae el WOO, me muestra mensajes, pero me dice que ha sido rechazado el pago por el “banco”. Como puedo solucionar eso o donde deberia mirar??

    Muchas gracias por tu ayuda!!

    View Comment Responder
    1. angelo says:

      Estimado, ya resolvi lo del webpay-thankyou, sin embargo siempre me rechaza la transaccion. hago todo el proceso de webpay(poner tarjeta, clave banco, enviar “aceptar” o “rechazar”), pero simepre me rechaza.

      mirando el log, veo que dice faltan parametros. Estos parametros son los que devuelve webpay?? de ser asi, estos son los que recibo segun el log.

      [03-Jun-2014 16:26:25 UTC] Array
      (
      [TBK_TIPO_TRANSACCION] => TR_NORMAL
      [TBK_MONTO] => 200000
      [TBK_ORDEN_COMPRA] => 28
      [TBK_ID_SESION] => 20140603042625
      [TBK_URL_EXITO] => http://sitio.cl/sitio/?page_id=14&status=success&order=28&key=order_538df730d434d
      [TBK_URL_FRACASO] => http://sitio.cl/sitio/?page_id=14&status=failure&order=28&key=order_538df730d434d
      )

      deberia recibir mas paremetros que estos??
      que deberia checar para resolver esto??

      muchas gracias por tu ayuda!

      View Comment Responder
      1. angelo says:

        Estimado cristian, ademas revice el log de webpay e indica “tienda NO acepto transaccion” err 46.

        Agradecere puedas comentarme algo al respecto, muchas gracias y disculpa las molestias.

        View Comment Responder
  140. Mauricio Muñoz says:

    Hola Cristian.
    Primero que todo muchas gracias por este gran aporte que realizas para la comunidad de chile.
    Tengo un problema con woocommerce, ya logre integrar el KCC ok, pero al momento de terminar me redirecciona a la pagina de éxito y en esta pagina me muestra [webpay-thankyou] y no la info ¿Que puede ser lo que me pasa con woocommerce que no interpreta ese shortcode ?

    http://www.enlacekids.cl/realizarpedido/pedidorecibido/?status=success&order=235&key=order_53cf55e9116b5

    Muchas gracias.

    View Comment Responder
          1. Mauricio Muñoz says:

            Hola Cristian.
            Nuevamente te contacto porque desde transbank me piden lo siguiente para la validación:
            – Archivos log EVN y bitácora.
            – Archivo donde se encuentra la programación de su Página de Cierre (En caso de ejecutar funciones que se encuentren en otros ficheros, enviar tambien estos ficheros que contienen el código de las funciones de validación o el código de las validaciones)

            ¿Los Archivos log EVN y bitácora son los que se encuentran en la carpeta webpay-comun dentro de uploads?

            ¿Que archivos del plugin le tengo que enviar como pagina de cierre?

            Saludos y muchas gracias.

            View Comment
          2. Jaime says:

            Mauricio, los archivos log EVN y bitacora los encuentras dentro de la carpeta “log” donde instalaste los CGI de Transbank. Para la página de cierre yo les envié todos los archivos del plugin que están instalados en el servidor, así ellos mantienen una copia del archivo en caso de futuros asuntos.

            Espero te sirva la ayuda, saludos.

            View Comment
          3. ctala says:

            Jaime, gracias por tu pronta respuesta :). En general para el código simplemente le puedes enviar el método xt_compra del plugin o simplemente el plugin entero en un zip. No deberían tener problemas con eso.

            Saludos!

            View Comment
  141. Mauricio Muñoz says:

    Gracias por las respuestas.
    Ya me respondieron de transbank y encontraron el siguiente error.

    al revisar las bitácoras hemos revisado las transacciones efectuadas en su sitio se detecto el siguiente error.

    Para la prueba con una transacción con tarjeta denegada (mastercard del manual integración) se debe aceptar toda respuesta envía por transbank y no rechazarlas, esto lo debes manejar en archivo XT_compra, me explico

    Al realizar una transacción, Transbank puede aprobarla (TBK_RESPUESTA =0) o denegarla (TBK_RESPUESTA0) pero estas dos acciones deben ser confirmadas por el comercio en la página de cierre:

    1.- En el caso de TBK_RESPUESTA = 0, deben realizarse 3 validaciones obligatorias (Checkmac, Orden Compra y Monto), y responder el siguiente texto:

    a.- Imprimir “ACEPTADO” en mayúscula, en el caso de que todas las validaciones sean correctas (esto deriva en página de éxito y se confirma el cobro al cliente).
    b.- Imprimir “RECHAZADO” en mayúscula en el caso de que alguna validación falle (esto deriva a la página de fracaso generándose un ERR dentro del archivo TBK_Bitacora y se reversa el cobro al cliente).

    2.- En el caso de TBK_RESPUESTA 0 (cuando el cliente presenta problemas en su tarjeta), debe responderse SIEMPRE “ACEPTADO” en mayúscula, lo cual deriva en página de fracaso (en el archivo TBK_Bitacora se genera ACK y esto confirma que fue aceptada la transacción).
    (Si la respuesta es “RECHAZADO” o distinto de “ACEPTADO”, aparece página de fracaso generándose un ERR dentro del archivo TBK_Bitacora).”

    ¿a alguien le a pasado?

    View Comment Responder
    1. ctala says:

      Mauricio, te cuento que el plugin si hace lo que se le pide, y al parecer todos nos hemos certificado con el mismo plugin sin tener ese problema. Te recomiendo comunicarte directamente con el ejecutivo que te haya atendido.

      Lamentablemente igual esta versión del plugin es la anterior y no hay más cambios que se le vayan a hacer hasta liberar el código de la nueva.

      View Comment Responder
  142. Maximiliano. says:

    Cristian, tengo problemas con los CGI. No sé donde van ni cuales son los archivos que debo poner, etc.

    Me gustaría si podemos hablar y me ayudas con esto. En caso de que deba pagarte estoy dispuesto. Por favor contáctame, es urgente.

    View Comment Responder
      1. Oscar Coilla says:

        yo necesito ese correo… please! he leído miles de post en tus miles de blog (exagerando) eres casi un farkas del código para webpay (entregas sin pedir por ayudar a la gente) pero realmente no se si yo quiero tropezarme solo o es indescriptiblemente difícil traducir los “manuales” de transbank” pero no he podido pasar de la configuración CGI , no se donde poner o subir los .pem solo he configurado los config.dat y trace.dat los .cgi estan donde deben, ocupo un theme pro de woocommerce pero en todos lados he visto que visitan la pagina http://WEB/cgi-bin/tbk_bp_pago.cgi y les sale la imagen de fondo transbank con un mensaje.. sin embargo a mi me aparece una imagen de mi theme con el texto “error 404” … sin embargo he revisado y el stock de productos efectivamente se rebaja… te diría.. “cuanto sale por la ayuda” pero realmente solo somos un par de primos intentando echar una idea a correr y las lucas ya se fueron con los productos… agradeceré tu deferencia…
        P.S. soy el mismo que te preguntó donde encontrar un “paso a paso” de los malditos CGI ..
        Gracias!! y de verdad felicitaciones por pedazo de aporte!!

        View Comment Responder
  143. Ricardo says:

    Hola Cristian,

    Muchas gracias por el plugin y por dejarlo open source. Me ha ahorrado mucho trabajo pero ahora estoy con un problema. Ojalá me puedas ayudar.

    Todas las compras me salen rechazadas así que vi el log y me sale que no se puede abrir el archivo MAC01Normal20140729051122.txt. Revise el código y me di cuenta que nunca se crea y tampoco se cuando se debería crear. He seguido todas las instrucciones y no se que me falta.

    Me puedes ayudar?

    View Comment Responder
    1. ctala says:

      Ricardo,

      si no se crea es que la conexión desde transbank no se está ejecutando. Esto puede ser por problema de conexión con los CGI o simplemente que tienes los puertos cerrados. Corrobora que en el archivo tbk_config los parámetros estén correctos.

      View Comment Responder
  144. Francisca Figueroa says:

    Hola Cristian,

    Resulta que todas las transacciones aceptadas por transbank me retornan “pending” desde el plugin, no sé a que se debe.

    [29-Jul-2014 14:45:31 UTC] [XT_COMPRA] -> pending
    [29-Jul-2014 14:45:31 UTC] [XT_COMPRA] -> ORDEN EXISTENTE 440
    [29-Jul-2014 14:45:31 UTC] [XT_COMPRA] -> ORDEN DE COMPRA NO PAGADA (pending). Se procede con el pago de la orden 440
    [29-Jul-2014 14:45:31 UTC] PHP Deprecated: Function split() is deprecated in /home/colegioc/public_html/webpay/wp-content/plugins/webpay-woocommerce-plugin/webpay.php on line 703
    [29-Jul-2014 14:45:43 UTC] PHP Notice: Undefined index: post_id in /home/colegioc/public_html/webpay/wp-content/plugins/linkedin-groups/classes/class.front-end.php on line 131
    [29-Jul-2014 14:45:43 UTC] PHP Notice: Undefined index: post_id in /home/colegioc/public_html/webpay/wp-content/plugins/linkedin-groups/classes/class.front-end.php on line 131
    [29-Jul-2014 14:45:43 UTC] [WEBPAY-THANKYOU] -> Entrando al ThankYouPage
    [29-Jul-2014 14:45:43 UTC] [WEBPAY-THANKYOU] -> ORDEN EXISTENTE
    [29-Jul-2014 14:45:43 UTC] [WEBPAY-THANKYOU] -> La transacción no debería ser fallida, se verifica

    Imprimí el archivo post y parece estar todo okey.

    (
    [TBK_ORDEN_COMPRA] => 440
    [TBK_TIPO_TRANSACCION] => TR_NORMAL
    [TBK_RESPUESTA] => 0
    [TBK_MONTO] => 3000
    [TBK_CODIGO_AUTORIZACION] => 551144
    [TBK_FINAL_NUMERO_TARJETA] => 6623
    [TBK_FECHA_CONTABLE] => 0729
    [TBK_FECHA_TRANSACCION] => 0729
    [TBK_HORA_TRANSACCION] => 104510
    [TBK_ID_SESION] => 20140729024445
    [TBK_ID_TRANSACCION] => 664508851
    [TBK_TIPO_PAGO] => VD
    [TBK_NUMERO_CUOTAS] => 0
    [TBK_VCI] => TSY
    [TBK_MAC] => 60c560ad7501196b82fafc3a0b90235abc92263bb8de8b8bc1cd8fc46edfbc3b036f7f4d325b6dac72971452acf63269efcf59f6e5a370629b87bce2ab96682fb316e02f8842d6509ee639413fbeb5012f4335eeab0d0174d4f858d926887b46779163df8d6cc568194fd0d2adb6fa4e940fda465963b820d7d7dafee97526c09b7ce9b95431a24a10cd08a7fb8ab06e82133062be2f9797c1ecf172eda5f8c65315843b27c2950c489d1f16309387aff9338fcd614ade198b5a6a6f4061214cf55434dd170ffed87917912504d31846f384b222b8a89d31a11aeb3d7872a898a2a2a338f567df4c2c6e606ef14c6ade8ac64fe38e0f1c5db22ea7b834cf42833181373daa8a468cd4a00a16475b95f84ab4985b764d9bf66446809d0c986e325faecb9f96478e8a8dd2624bf376ebd8d0645a0d476bc9d14ab1143b6a388092f899b0d57c14ddf679aed97af3afe4a2b1047259d4ff33d0f29a4742f71a0a980aee8043fcc96402a34001260d9b79dc15729130548b407b8ccea9ce42073a154108d10513a8c057661a0555f59862aa2de18f55f7e1879b7de61244f7134a5ec0fd8fac6814fa4d8417778d1207a498db9967b0fd677123b766432e4e8ccd08b21b758519260c26dc9dddc627d46e6f7292feff18a080bad3cde408687036561390c708d65befce7133db964aaceb7bb7e6f74a0f55beed072d897840f45739
    )

    El único problema que me muestra en el debug tiene que ver con la función split. No sé si eso estará afectando a que todas las compran queden como “pending”.

    Function split() is deprecated in /home/colegioc/public_html/webpay/wp-content/plugins/webpay-woocommerce-plugin/webpay.php on line 392

    El check mac path lo configuré de acuerdo a mi servidor: /home/colegioc/public_html/webpay/cgi-bin/

    Espero puedas ayudarme a solucionar este asunto. Muchas gracias!

    View Comment Responder
  145. Nicolas says:

    Estimado!, muchas gracias por el plugin, es maravilloso :D. Actualmente transbank está pidiendo cambiar unos textos en la página de éxito. Un GUI para cambiar los textos sería maravilloso (y así no meterse a editar código :P)

    Repito, maravilloso el plugin, se agradece mucho 😀

    View Comment Responder
  146. Mauricio says:

    hola Cristian, te pasaste con la actualizacion esta genial, aunque tengo un error pero realmente nos ayudaas mucho mucho, estaba viendo las instrucciones y en el punto 3 hablas de error de conexion por _POST realmente no se donde puedo arreglar ese problema por que tengo todo lo demas ya probado y este deberia ser el problema por el cual me sale el error si pudieras instruirme un poco como arreglar esto te lo agradeceria muchisimo

    View Comment Responder
  147. Carlos Sanchez says:

    Hola Cristian,

    Necesito desarrollar una web commerce para un emprendimiento en chile. Tu tiene algún contacto serio con esperencia en el desarrollo con webpay.

    Esperando tu respuesta y de antemano gracias..

    View Comment Responder
  148. Fernando Santibañez says:

    Estimado Cristian, instale el pluggin desde la sesión de worpress y luego de esto el sitio no funciono mas, me tira solo paginas en blanco. Borre la carpeta del plugin desde la base de datos en el host, pero el problema persiste, no se que hacer, ojala me pudieran ayudar, no me inicia wp-admin tampoco para desintalarlo desde alli. Ayuda por favor.

    View Comment Responder
  149. Nicolas says:

    Hola, tengo el siguiente problema, he seguido los pasos que indicas en el video y al momento de terminar el pago aparece el siguiente mensaje:

    Gracias! – Tu orden ahora está pendiente de pago. Deberías ser redirigido automáticamente a la página de transbank.

    no me redirecciona a ninguna pagina!
    Que puede ser?

    De antemano gracias!

    View Comment Responder
  150. Oscar says:

    Estimado Cristian, muchas gracias por la habilitación del plugin, ahora me quedan las siguientes dudas.

    Primero donde se guarda la carpeta CGI-BIN, en estos momentos la tengo “/opt/bitnami/apache2/htdocs/cgi-bin” y los otro archivos bajo apache2/exito.php, es correcto considerando que ocupo un cloud de amazon ubuntu 64 bits.

    Luego de esto:

    la dirección myPaTH “/PATH_WWW/TIENDA_TEST/comun/MAC01Normal$TBK_ID_SESION.txt” No entiendo donde se ubica mi path de apache ya que las direcciones de mi cloud son un poco diferentes a las listadas.

    En estos momentos con lo que e logrado entender

    tengo lo siguiente :

    CGI URL : http://MI_IP/cgi-bin/tbk_bp_pago.cgi

    CHECK MAC PATH : :/opt/bitnami/apache2/htdocs/cgi-bin/

    y la página al momento de hacer una transancción me dice lo siguiente:

    You don’t have permission to access /cgi-bin/tbk_bp_pago.cgi on this server.

    espero que me puedas ayudar.

    View Comment Responder
  151. Francisco says:

    Solo paso por aca para decirte Cristian, que eres uno de esos cabros que uno agradece haberse encontrado en el internet. Bendito el día que di con tu pagina. Cualquier cosa en la que pueda ayudar algún día, cuenta conmigo, gracias por este tremendo aporte. Saludos

    View Comment Responder
  152. Erick says:

    Estimado, me podrias dar una mano con el tema de los CGI… estoy medio deseperado ya jajaja, ojala puedas enviarme un correo.

    Saludos!

    View Comment Responder
  153. Erick says:

    Estimado, te escribí ayer por una ayuda, mas que todo, una asesoría por la implementación del transbank, necesito saber cuál es el valor por esto.

    Espero tu respuesta porfa. Saludos!!

    View Comment Responder
  154. Juan Carlos Bernal says:

    Primero que todo gracias por tu trabajo.

    Estoy haciendo la integración en un sitio, el ejemplo del manual ya funciono correctamente, configure el plugin y llego hasta donde realizo el pago.

    En el archivo de Debug de wordpress veo que no se esta creando el archivo : MAC01Normal20140903060132.txt , por tanto no paso de la validación de la MAC, la carpeta webpay-comun esta con los permisos ok, de hecho el archivo .log que guarda el monto y la orden de compra, se crea correctamente.

    alguna sugerencia?

    Gracias

    View Comment Responder
    1. ctala says:

      Puede que la dirección del CallBack no esté bien configurada. Revisa las instrucciones del repositorio del plugin por favor y no solo las que salen en el sitio.

      View Comment Responder
      1. Juan Carlos Bernal says:

        Estimado

        Corregí la dirección con la nueva info y me funciono perfecto, ya mande el sitio a certificar, MUCHAS GRACIAS!

        View Comment Responder
        1. Carlos says:

          Estimado tengo el mismo error como lo hizo?

          Cristian agradezco el plugin, me ha servido mucho pero tengo el mismo problema que Juan Carlos

          View Comment Responder
        2. Carlos says:

          Estimado tengo el mismo error como lo hizo?
          Cristian agradezco el plugin, me ha servido mucho pero tengo el mismo problema que Juan Carlos

          View Comment Responder
        3. juan francisco says:

          estimado como resolviste el problema

          STATUS failure
          INICIANDO LA REVISION MAC PARA

          [WEBPAY – RESPONSE] -> FALLO EN EL PAGO DE LA ORDEN DEBIDO A FALTA DE ARCHIVO

          necesitamos resolver este tema agradeceríamos tu ayuda

          View Comment Responder
          1. ctala says:

            Juan ! revisa los comentarios, eso pasa por muchas razones.

            • No tienes la funcion EXEC habilitada
            • Transbank no se puede conectar a tu servidor
            • Tienes mal hecha la configuración de las rutas
            View Comment
  155. Seba says:

    Hola Cristian, queria consultar si todo esto que explicas de transbank con webpay se puede replicar en local? y como seria, estuve mirando otro post pero no estoy seguro si voy a poder replicarlo en local con WP+WooCommerce y todo lo demas

    View Comment Responder
    1. ctala says:

      A que te refieres con local ? una máquina de desarrollo en tu pc ? si tu pc está conectado directamente y los servidores de transbank pueden acceder no hay problemas.

      View Comment Responder
      1. Seba says:

        Claro me refiero a un desarrollo en mi PC, entonces deberia configurar el KCC con mi IP de salida a internet, todo esto lo deberia realizar en las configuracion del KCC verdad?. Saludos y gracias por responder

        View Comment Responder
  156. Manuel says:

    Hola, primeramente felicitarte por el material e informacion que compartes. Instale y configure casi todo estoy en proceso de prueba de los modulos, solo tengo una duda. ¿webpay cobra alguna comision a las transaciones que se realizan? o es gratis?

    View Comment Responder
    1. ctala says:

      Lamentablemente webpay no es gratis. Es lo que hay para las transacciones con tarjeta de crédito lamentablemente en Chile.

      Como alternativas te recomiendo usar Khipu para las transacciones.

      View Comment Responder
  157. Adr says:

    Hola Cristian, ¿Como estuvieron las fiestas?
    Me puedes contactar para ver la factibilidad de una implementación por favor.

    Saludos y gracias!

    View Comment Responder
  158. Jimena says:

    Al finalizar la compra me aparece el siguiente mensaje:

    Gracias! – Tu orden ahora está pendiente de pago. Deberías ser redirigido automáticamente a la página de transbank.

    Me puede orientar en como solucionar eso

    View Comment Responder
  159. Sebastian says:

    Una consulta a quien me pueda ayudar , despues del proceso de pagar , me arroja el mensaje de Gracias por tu compra , estamos redireccionando a Transbank y me envia a la success page y nunca me conecta a Transbank , alguna solucion ? , de antemano gracias .

    View Comment Responder
  160. Iván says:

    Es increíble tu código. Muy bueno!

    Quizás un buen feature sería poder configurar URL propias para que webpay no entregue el error 317: “ERR_LEN_PARAM_TBK_URL_FRACASO”.

    Para solucionarlo hice una URL más corta y la reemplazé en el archivo “WebPayPlus.php” en las variables “$successLink” y “$failureLink”. En esas variables puse una URL propia que solamente redirecciona los parámetros necesarios para obtener desde webpay en caso de éxito o fracaso, con eso se acorta la URL.

    Para fracaso:

    Para éxito:
    <?php
    $order_id = $_GET['o'];
    $order_key = $_GET['k'];
    Header("Location: ".$_SERVER["SERVER_NAME"]."/jinglestore/wc-api/WC_Gateway_Webpayplus/?status=success&order=".$order_id."&key=".$order_key);

    View Comment Responder
  161. Ignacio says:

    Hola Cristian ya he avanzado bastante con el tema, ojala me puedas ayudar esta vez ya que el problema es un poco extraño, resulta que de webpay dicen que el server no se comunica con sus servidores y da un error 301 y la gente del hosting dice que ellos agregaron a la lista segura las ips de webpay, el error que se muestra en el debug es que no encuentra el archivo MAC01Normal20141006033249.txt pero nunca lo crea pero si crea el otro datoxxx.log

    Esto es lo que me dicen de webpay

    Se estuvo analizando su caso nuevamente revisando los últimos archivos enviados y en el log de acceso al servidor queda registrado el acceso a la cgi resultado desde la ip de transbank pero no refleja un código 200, el cual se responde cuando todo esta ok, donde estaría todo normal, sino un 301, que significa que el servidor reconoce la ruta de la url http://www.ideasdeculto.cl/cgi-bin/tbk_bp_resultado.cgi pero que no se puede acceder al archivo porque este no se encuentra en el lugar indicado quizás no tiene