Magento Chile Desarrolladores Magento

¿Tienes una pregunta?

Si usted tiene cualquier pregunta, escriba a continuación lo que está buscando!

Wiki Módulo KCC Transbank


Wiki Módulo KCC Transbank para webpay (funcionando perfecto) actualizado 18/10/2009

1.- Solicitar Módulo KCC en Transbank (módulo de pruebas) según sea la versión de su servidor Linux o Windows (preguntar a su proveedor de hosting cual es la plataforma) si tienen Linux pueden bajar el módulo KCC de nuestro servidor en http://www.wakeup.cl/descargas/KCC5.1-LIN.zip

2.- Subir al servidor tal cual nos envía Transbank comprimido en .zip sin abrir en el computador. Descomprimirlo con comando SSH con consola Shell con el comando “unzip KCC5.1-LIN.zip” y una vez descomprimido los archivos, trasladar las carpetas y archivos de la carpeta cgi-bin que viene originalmente en el archivo que descomprimimos al cgi-bin de tu sitio (todos los sitios o sitios web tienen su cgi-bin).

Vista General de un sitio web (para entender donde están los cgi-bin)

Vista donde deben quedar los archivos y carpetas del KCC en tu cgi-bin del sitio web
Ruta cgi-bin

3.- Leer el manual que viene en el archivo entregado por Transbank, que lo pueden descargar de nuestro servidor en: http://www.wakeup.cl/descargas/Manual_integración_KCC_5.1.rar

4.- No tocar ningún archivo ni abrirlo, solo abrir el archivo tbk_config.dat y abrirlo en el servidor, para que no sufra cambios de binarios a ASCII (esto es muy importante, no bajar al computador, editar siempre en el servidor) y configurarlo de la siguiente manera:

Archivo “tbk_config.dat”

CÓDIGO:

IDCOMERCIO     = 597026016975
MEDCOM         = 2
PARAMVERIFCOM  = 1
URLCGICOM      = http://www.tusitio.cl/cgi-bin/tbk_bp_resultado.cgi
SERVERCOM      = tu IP
PORTCOM        = 80
WHITELISTCOM   = ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz 0123456789./:=&?_
HOST           = tu IP
WPORT          = 80
URLCGITRA      = /cgi-bin/bp_revision.cgi
URLCGIMEDTRA   = /cgi-bin/bp_validacion.cgi
SERVERTRA      = https://certificacion.webpay.cl
PORTTRA        = 6443
PREFIJO_CONF_TR   = HTML_
HTML_TR_NORMAL = http://www.tusitio.cl/wakeup/cierre.php

5.- En el servidor poner los permisos de esta manera (usuario es comunmente el usuario ftp y en este caso se llama “publico” solo como ejemplo). Los permisos se ponen haciendo click sobre el archivo o carpeta y verán una serie de números que al activar o desactivar las casillas, los números cambian y deben dejarlo de la siguiente manera:

Los nombres están ordenados de la siguiente manera

CÓDIGO:

Archivo/Permiso/Usuario/Grupo

cgi-bin/750/publico	/psaserv
datos /755/publico/psacln
datos/tbk_config.dat/755/publico/psacln
datos/tbk_param.txt/755/publico/psacln
datos/tbk_trace.dat/755/publico/psacln

log/755/publico/psacln

maestros/755/publico/psacln
maestros/privada.pem/755/publico/psacln

tbk_bp_pago.cgi/755/publico/psacln
tbk_bp_resultado.cgi/755/publico/psacln
tbk_check_mac.cgi/755/publico/psacln

template/755/publico/psacln
template/leeme.txt/644/publico/psacln
template/reintento.html/644/publico/psacln
template/transicion.html/644/publico/psacln

Nota: todos los permisos deben ser como los indicados aquí y los nombres de “usuario” y “grupo” deben ser iguales según sea su configuración…ninguno debe ser diferente. Cualquier diferencia no funcionará.

6.- Bajar páginas de carro de compra (simple) especialmente creadas, para arrancar el módulo KCC. Subir archivos vía ftp, las cuales tienes los siguientes archivos:

pago.php = contiene un carro de compra básico, en el cual deben configurar la dirección en su sitio web (muy fácil)
fracaso.php = contiene la página de fracaso, si la transacción a fallado.
exito.php = contiene la página de éxito, cuando la transacción es exitosa.
cierre.php = contiene la pagina de cierre
Tienda_demo_integracion_emisores_files = carpeta que contiene las imágenes.

***Nota1: hay que “Activar URL file-access” en su “php.ini” de su servidor o perdirle que lo haga su proveedor hosting:
Ir “php.ini” y en la línea “allow_url_include de Off a On” y luego reiniciar “APACHE”
Esto deben hacerlo o pasarán rompiendose la cabeza durante 2 semanas (como yo) sin saber porque no recoge los datos la página “exito.php” o la “xt_compra.php”.
***Nota2: A veces si estas ocupando el método $HTTP_POST_VARS para construir tu página de “exito.php” se debe activar “REGISTER_GLOBALS=ON” en “php.ini” y para andar a la segura el “register_long_arrays = On” – y el ” register_argc_argv = On” en el “php.ini” esta es mi opinión, pero recomiendan por performance no ocuparlo, pero eso depende del código que uno elija a utilizar.

Bajar desde aquí: http://www.wakeup.cl/descargas/wakeup.zip
Ver su funcionamiento aquí la demo simple (lo mismo que el archivo descargable wakeup.zip): http://www.wakeup.cl/webpay/pago.php

Y listo, su primera tienda eCommerce estará lista.

Suerte!

Desarrolladores:
Boris Durán R.

Wiki Módulo KCC Transbank
5 (100%) 9 votos

Comentarios

Comentarios

(219) Comments

  1. Okey Matias… en tu standard.php que está en app/code/core/Mage/Webpay/Model/Standard.php

    'TBK_TIPO_TRANSACCION' => 'TR_NORMAL',
    			'TBK_ID_SESION' => Mage::getSingleton( 'customer/session' )->isLoggedIn(),
    			'TBK_URL_EXITO' => Mage::getUrl('webpay/standard/success',array('_secure' => true)),
    			'TBK_URL_FRACASO' => Mage::getUrl('FRACASO?___store=default',array('_secure' => false)),
    			'TBK_ORDEN_COMPRA' => $ord,
    			'TBK_MONTO' => sprintf('%.2f', $amount),
    

    en donde dice EXITO cambiala tal cual está aquí

    Y en success.phtml que está en app/design/frontend/tutema/template/checkout/success.phtl ponle esto:

    <?php
    //*************lee el exito-poner aqu’ tu direcci—n de exito donde est‡ el KCC en funcionamiento**********************************
    echo readfile("http://www.tudirecion.cl/wakeup/exito.php");
    //*****************************************************fin lee el exito***********************************************************
    ?>
    
    <?php
    //*************envio de correo formulario con la venta***
    $order = new Mage_Sales_Model_Order();
    $incrementId = Mage::getSingleton('checkout/session')->getLastRealOrderId();
    
    $order->loadByIncrementId($incrementId);
    
    try
    {
    $order->sendNewOrderEmail();
    } catch (Exception $ex) {  }
    //*************fin envio formulario venta****************
    ?>
    

    Boris D.

  2. Boris,
    Hice lo anterior pero se me cae después del saliendo del Checkout de Magento hacia WebPay. Como comentario te comento que la modificacion a “…/success.phtl ” la pegue al final Quizas ahi el problema). ¿Que será?
    Saludos

  3. Boris,
    Compare e iguale (solo en el caso de success habia un distinto orden, en el caso del Standard copie el que me madaste y modifique los datos de mis BD), y me funciona, pero sigue sin llegar el correo. Eso si en la pagina de Exito me salio en numero de la orden mas un lote de errores:

    Thank you for your purchase!

    Your order # is: 100000025.
    getLastRealOrderId(); $order->loadByIncrementId($incrementId); try { $order->sendNewOrderEmail(); } catch (Exception $ex) { } //*************fin envio formulario venta**************** ?> You will receive an order confirmation email with details of your order and a link to track its progress.
    Click here to print a copy of your order confirmation.

    Seguro algo me estoy comiendo
    Saludos

  4. Estimado Boris, le pido ayuda ya que estoy siguiendo paso a paso para instalar webpay en mi portal, pero lo único que logro al poner permiso 750 en la cgi-bin es el siguiente mensaje

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

    y la url del queda en
    http://www.miportal.cl/cgi-bin/tbk_bp_pago.cgi

    Luego al cambiar el permiso a 755 a la carpeta cgi-bin
    el mensaje cambia a

    “Internal Server Error

    The server encountered an internal error or misconfiguration and was unable to complete your request.

    Please contact the server administrator, webmaster@miportal.cl and inform them of the time the error occurred, and anything you might have done that may have caused the error.

    More information about this error may be available in the server error log.

    que puede ser esto???

  5. Hola Benja,

    Definitivamente tu servidor, no está configurado para eCommerce, ojala puedas tener acceso a tu php.ini para configurarlo como explico en este mismo wiki con Open URL entre otros o pídeselo a tu adminitrador del servidor… idealmente testea tu cgi-bin si está funcionando… hay varios test de funcionamento que salen en google para probar si está funcionando tu cgi-bin, algunos te dan la hora y otros pequeños script que te dan otras configuraciones.

    Primero haz eso… luego si está funcionando… mandame tu dirección real donde está aloja tu tienda para ir probando y chequeando… lo que si te digo es que de este blog no saldrás sin tu instalación del KCC… asi sea por la fuerza bruta va a funcionar…

    Atte

    Boris D.

  6. La carpeta CGI por lo visto funciona
    descargué este fuete adivina.cgi y funciona

    sobre el php.ini me dicen que solo debo crear uno con las variables que necesito y ponerlo en la carpeta que necesito

    mi php.ini está así

    register_globals = On
    allow_url_include = On
    register_long_arrays = On
    register_argc_argv = On

    pero no funciona nada, luego a ese mismo archivo le agregué la variable

    allow_url_fopen = On

    y nada, sigue dandome el error 500

  7. Hola Boris, enconte su blog, y lo he seguido al pie de la letra, tambien he tenido soporte de transbank pero no son muy extensos en sus explicaciones, bueno el punto es que replique la página de pago.php para ver como funciona el modulo de webpay hantes de integrarlo al sitio, el problema es que llego a la página de ingreso de datos de la tarjeta, numero , cuotas, etc. y al precionar el botón pagar, aparece la página de transbank cargando y luego un erro en rojo de transbank que dice “en esto momento no podemos procesar su transacción” el soporte técnico me dijo que era por el problema a la página de cierre.php, que sucedia al validar la mac, pero he seguido las páginas tal cual la tienen ustedes y no me da resultado…me puedes ayudar?… mi página es http://www.chileancustomtravel.com/pago.php (omiti las imagenes de la página) Espero me puedas ayudar, GRACIAS!

  8. Boris, oka, voy a realizar el cambio, me imagino que debo cambiar los datos $temporal = “/var/www/vhosts/magentocl.co.cc/cgi-bin/log/temporal.txt” por los de mi servidor?…tengo la insertidumbre de sabes si me llegan los parametros $_POST a la página de cierre.. hay alguna forma de saber si la CGI los envía?..

    Saludos;
    David.

  9. Boris, ese es el punto, solo se me ven desplegados los log’s de las transacciones de transbank y no las que crea la página de cierre, bueno hare las pruebas indicadas, pero al revisar el código me surge otra duda que espero me la puedas aclarar, en la página de cierre.php se invoca la página de conexion.php, esta página aparte de contener las variables de la conexión a la base de datos, hace unos select a las tablas pagos y webpay, pero estas tablas no han sido llenadas, esto es correcto???, quizás ahi pueda tener un error?

    Saludos;
    David.

  10. David, como no han sido llenadas??? no has subidos las tablas a tu base de datos??? o te graba en la base datos cuando haces la transacción? bueno no debería grabarte aun porque aún no pasa como ok…

    Boris D.

  11. Boris, cree la BD, y las tablas, pero entan vacias, y por lo que veo la página de pago no las llena, por ende no entiendo cual es la idea de hacer los select a las tablas sin datos?..ahi me explique mejor?, y realice otra prueba pero me pasa lo mismo queda una pantalla blanco con un texto en rojo diciendo “en estos momentos no podemos procesar su transaccion” 🙁

    Ah, y gracias por el apoyo, no es comun encontrar este tipo de ayudas.

    Saludos;
    David.

  12. David,

    Espera empecemos de nuevo… tu quieres arrancar el módulo webpay para magento cierto??? o vas hacer una tienda sin magento y con webpay?? por que todo lo que está ahí es para magento y el kcc es solo una muestra para ver como funiciona…. pero no está completa.

    Boris D.

  13. jajajaja, oka… no, yo estoy probando el modulo independiente, que es esta tienda basica que tienes “http://www.modulowebpay.co.cc/webpay/pago.php” lo replique en mi hosting, para luego integrar el código a mi página que es un oscommerce. Si tengo el KCC para Linux que me envío transbank que es básicamente el mismo que tienes publicado tú para descarga.

    Saldos;
    David.

  14. David,

    Acabo de instalar la muestra de tienda en una web mia… y lo arranqué bien… no se cual será tu problema… porque no mandas tu dirección para ver tu página.

    Boris D.

  15. David, aún no… el ftp solo lo necesitaré en caso de urgencia…mandame tu tbk_config.dat para verlo

    Nota: lo descomprimiste en el servidor cierto??? el pack de KCC? porque si no es así… el error que está ocurriendo es porque paso de SCSI a binario o viceversa y ahí si que no te arranca ni a palos…

    Boris D.

  16. Boris, lamentablemente pasa lo mismo, (www.chileancustomtravel.com/pago.php) es curioso que ni siquiera llegue a crear los log’s de la página de cierre…y el error que siempre arroja es que no pudo crear el ACK, complicado el tema.

    Saludos;
    David.

  17. ….habra alguna configuración especial para realizar el redireccionamiento desde transbank a la página de cierre.php?

    Saludos;
    David.

  18. David,

    Podemos empezar todo de nuevo, o sea, borrate todo el KCC de Transbank del cgi-bin y subelo nuevamente comprimido tal cual lo bajaste de este blog, luego lo descomprimes en tu servidor y haces los cambios en el tbk_config.dat en tu servidor… no los bajes a tu PC o Mac para modificarlos.

    Y me avisas…

    Boris D.

  19. Esto es lo que me aparece en el log, en la ultima linea aparece un ERR; ;1 …

    3262457833; 5007; ;pago
    ;https://certificacion.webpay.cl ;31082010 ;094737;200.55.193.197 ;OK ;597026016975 ;Medio 2: Por redireccion
    3262457833; 5007; ;pago ;https://certificacion.webpay.cl ;31082010 ;094737;200.55.193.197 ;OK ;597026016975 ;Redireccion web
    3262457833; 5007; ;pago ;https://certificacion.webpay.cl ;31082010 ;094737;200.55.193.197 ;OK ;597026016975 ;Todo OK
    ; 6172; ;pago ; ;31082010 ;095749;200.55.193.197 ;ERR; ;1

  20. Por lo visto el error que tengo es cuando se genera la comunicación desde transbank hacia mi /cgi-bin/tbk_bp_resultado.cgi

    este mi archivo de configuracion

    IDCOMERCIO     = 597026016975
    MEDCOM         = 2
    PARAMVERIFCOM  = 1
    URLCGICOM      = http://www.XXXXweb.cl/cgi-bin/tbk_bp_resultado.cgi
    SERVERCOM      = 72.1.XX.XX
    PORTCOM        = 80
    WHITELISTCOM   = ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz 0123456789./:=&?_
    HOST           = 72.1.XX.XX
    WPORT          = 80
    URLCGITRA      = /cgi-bin/bp_revision.cgi
    URLCGIMEDTRA   = /cgi-bin/bp_validacion.cgi
    SERVERTRA      = https://certificacion.webpay.cl
    PORTTRA        = 6443
    PREFIJO_CONF_TR   = HTML_
    HTML_TR_NORMAL = http://www.XXXXweb.cl/wakeup/cierre.php
    
  21. Hola Benja,

    Sabes que no se que hacer… quieres que hagamos una prueba en mi servidor??? para que veas que no se trata de configuración si no que “máquina” en donde estás alojado…

    en http://co.cc ahí hay dominios gratis

    Boris D.

  22. mira, ahora no me aparece el error y estas son las 2 últimas lineas del log antes de que se quede pegado…

    3279394682; 23001; ;pago ;https://certificacion.webpay.cl ;31082010 ;142954;200.55.193.197 ;OK ;597026016975 ;Redireccion web
    3279394682; 23001; ;pago ;https://certificacion.webpay.cl ;31082010 ;142954;200.55.193.197 ;OK ;597026016975 ;Todo OK

    según el manual, después de estas lineas, deberia venir la comunicación con /cgi-bin/tbk_bp_resultado.cgi, lo cual no ocurre, será un problema de configuración de mi tbk_config.dat en el cual, no estoy indicando bien la dirección del

    http://www.XXXXXXXXweb.cl/cgi-bin/tbk_bp_resultado.cgi

    o será que desde el archivo pago.php no se están leyendo las variables que envía hacia los cgi

    ?????

  23. la ultima linea del log es
    3283730475; 5083; ;pago ;https://certificacion.webpay.cl ;31082010 ;154210;200.55.193.197 ;OK ;597026016975 ;Todo OK

    y luego según el manual deberia venir

    228resultado Inicio 29082008102257172.24.15.14 OK correctamente recibidos

    por lo que creo, que falla cuando desde transbank debe comunicar con el cgi de resultado.

    alguna idea???

  24. Benja,

    Esa muestra de KCC, es solo una muestra para arrancar el KCC, no está configurado con todos los parámetros que exige Transbank… el cual está en el módulo de webpay. Si bien recuerdo tu lo quieres para OScommerce… para ello si quieres podemos fabricarlo en conjunto para que arranque…. claro si que va a demorar…

    Boris D.

  25. tengo una consulta boris?
    baje el wakeup
    y el archivo exito dice

    hice tal cual dicen… instruccionesbasededatoa..

    me funciona pero no me guarda los datos nombre y apellido
    qe supuestamente irian en la tabla pagos.

    $t_producto=$myrow_p[PRODUCTO];
    $t_nombre = $myrow_p[usr_nombre];
    $t_apellido=$myrow_p[usr_apellido];
    $t_email=$myrow_p[usr_email];

    quisiera mostrar esos datos pero no pasa nada..
    gracias.

    Cristian V.

  26. tengo una consulta boris?
    baje el wakeup
    y el archivo exito dice

    hice tal cual dicen… instruccionesbasededatos.
    crear tabla e importar

    me funciona pero no me guarda los datos nombre y apellido
    qe supuestamente irian en la tabla pagos.

    $t_producto=$myrow_p[PRODUCTO];
    $t_nombre = $myrow_p[usr_nombre];
    $t_apellido=$myrow_p[usr_apellido];
    $t_email=$myrow_p[usr_email];

    quisiera mostrar esos datos pero no pasa nada..
    gracias.

    sabes la idea es re simple.
    quisiera activarlo como para?

    [ deseas donar dinero ]

    y me gustaria perdirles el nombre, telefono y correo. $ y el monto de la donacion.
    q se grabara en pagos.. ( tabla )

    para la pagina de cierre mostrar los datos.
    y darles las gracias.

    espero q me puedas ayudar.

  27. Hola Turismovillarica,

    Bueno este KCC está creado solo para el arranque de este, si te fijas hay un módulo de webpay para magento… donde ahí grabas los datos… quizás puedas de ahí ver como se hace… Pero debes crear las variables para que las lea conexion.php y las pueda grabar.

    Boris D.

  28. Boris, te agradezco la generosidad de compartir tu trabajo y conocimientos. He tomado el módulo para transbank y lo estoy instalando en mi página de venta de perfumes la que he hecho con harto esfuerzo, un poco de conocimientos y mucho google. Sin embargo tengo varios problemas:
    El primero es que no logro generar el Nº de orden de compra. Aparece pero no corresponde a la fecha actual (inicia en 1969), si te haces del tiempo lo puedes ver en:

    http://208.86.249.112/~crissaro/salida.php

    El código esta así:

    // GENERA ORDEN DE COMPRA A PARTIR DE FECHA

    $fechaactual=strftime(“%m/%d/%Y %H:%M:%S %p”);
    $ano=strftime(“%Y”,($fechaactual));
    $mes=strftime(“%m”,($fechaactual));
    $dia=$day[$fechaactual];
    $minuto=strftime(“%M”,($fechaactual));
    $segundo=strftime(“%S”,($fechaactual));
    $TBK_ORDEN_COMPRA=$ano.$mes.$dia.$minuto.$segundo;

    Desde ya gracias y si no es molestia en lo sucesivo te envío mas dudas.

  29. Hola Ricardo,

    Mas tarde te constestaré… pero en esencia esta es una muestra de KCC, es solo de ejemplo para arrancar el webpay. La generación de OC entre otras cosas, son un poquito mas complejas… dejame consultar con Patricio Montesinos (miembro de la comunidad Magento Chile), que es mas perito en tiendas fuera de Magento.

    Atte

    Boris D.

  30. Estimados.

    al usar un KCC fuera de alguna aplicación de ventas como magento, se debe tener en cuenta algunas cosas-

    1.- el carro de compras.
    2.- elección del producto a comprar por el cliente
    3.- confirmación de los datos del cliente y producto a vender
    4.- envió de datos a webpay, eso es simplemente un formulario ya sea oculto o no desde el paso 3, en este paso se guarda en base de datos,

    es de suma importancia no mezclar los pasos, la razón de porque no se resuelven muchas veces los problemas, es que tienen por ejemplo el precio final, pero no tienen de donde sacar los datos del cliente o incluso el nombre del producto queda en el limbo ya que no fue rescatado de ninguna lado-

    con respecto a la duda del amigo ricardo, a webpay y perdonen la expresión le importa un carajo como nosotros generamos nuestra orden de compra, puedes hacerlo como tu, con números aleatorios con números fijos da lo mismo, solo importa que ese numero sea único.

    para eso debes controlar guardando los datos en una tabla pagos que no es otra cosa que un respaldo de los procesos que hace tu tienda antes de ir a webpay, lo tienes que hacer en el ultimo paso de los que di arriba, al irte a webpay, lo puedes hacer con un redirect, con un formulario que se llame a si mismo, tu eliges el método que te sea mas cómodo, pero insisto no importa como se llame tu orden, si tienes problemas, es por otro lado donde debes buscar la solución.

  31. Muchísimas gracias, estoy seguro que si todos dedicáramos el mismo tiempo y pasión por dar un poco a los demás el mundo seria otro… y no haría falta transbank.

  32. Amigos:
    Numero de orden de compra para KCC, resuelto

     <input name="TBK_ORDEN_COMPRA" size="20" value="" type="text" readonly="readonly" class="cuadro" />
    

    y lo mejor de todo… Funciona!!!!

Leave a Reply

You must be logged in to post a comment.