Sie sind auf Seite 1von 60

Integrando WebPay Plus Paso a Paso

Has tenido la oportunidad de leer el manual de integracin que Transbank entrega a los
programadores para esta tarea?, si lo has hecho sabrs que es una gua muy tcnica y contiene
bastantes errores e incluso los cdigos de ejemplo son errneos, esto genera confusin y a su vez
una enorme prdida de tiempo para los comercios y valla que he visto rodar cabezas de
programadores que les tomo mucho tiempo entender el flujo de una transaccin y sus clientes, el
comercio, no tienen la paciencia ni el tiempo para estar esperando que aprenda el resto de
proceso. Si tomas en cuenta que por integrar WebPay a un comercio un programador cobra entre
$200.000 y $350.000 CLP, vale la pena aprender la correcta forma de realizar una integracin ya
sea para integrar y ofrecer como servicio como para integrarlo en el sitio de nuestro proyecto
independiente.

1
Integrando WebPay Plus Paso a Paso

Qu es WebPay Plus?
Es una pasarela de pagos online que permite a los clientes comprar productos o servicios
por internet y a los comercios recibir los pagos de sus clientes. Creado por Transbank es
actualmente la principal pasarela de pagos online, es posible encontrarnos con WebPay Plus para
casi cualquier pago o compra por internet.
Esta pasarela es un beneficio y casi una necesidad para muchos comercios, pero solo ellos
saben por todo el sufrimiento que tuvieron que pasar para poder integrarla a sus sitios web.

Cmo lo obtengo?
Para contratar WebPay Plus debes llamar a Transervice al 600 638 638 0 o desde celulares
al 02-2661 27 00, indica a la operadora que deseas contratar WebPay Plus y ella tomara tus datos,
para poder contratar debes tener iniciacin de actividades con un mnimo de 6 meses funcionando
como comercio.
WebPay Plus realiza un cobro mensual de 0.48 uf al mes ms IVA
Por transaccin en Debito 1.79% ms IVA
Por transaccin en Crdito 2.95% ms IVA
Estos montos son descontables de cada transaccin.
La informacin indicada es informacin comercial de Transbank y est sujeta a cambios
sin previo aviso.

2
Integrando WebPay Plus Paso a Paso

Manos a la integracin
Conociendo los archivos
Para iniciar la integracin debes descargar el Kit de integracin que Transbank pone a
nuestra disposicin, el Kit para su versin de Linux 32 y 64 bits son parte de esta gua pero si
requieres otra versin o una ms actualizada la puedes encontrar en la siguiente URL
https://www.transbank.cl/public/productos-y-servicios/webpay/ . Una vez realizada la descarga
descomprime el archivo y veras los siguientes archivos que lo componen:

Lo denotado en azul es lo nico a lo que debes poner total atencin es sumamente importante
para entender el proceso que Transbank sigue para certificar el sitio de un comercio, detallo a
continuacin:
ManualIntegracionKCC60.pdf: Este manual es una mala mezcla de rpidas actualizaciones en la
documentacin del KCC 5, es poco claro y demasiado tcnico para la mayora de los que realizan
una integracin por primera vez, si no fuese por el excelente trabajo de apoyo de algunos en la
mesa de soporte WebPay Plus sera imposible integrar solo con ese manual, pero no debe ser
menos preciado puesto que es tambin una de las herramientas principales de ese equipo de
apoyo pues contiene una base limitada de los errores que pueden presentarse al momento de la
integracin, es por ello que por ms complejo que parezca, una vez hayas ledo esta gua y
comprendido los detalles y secretos de la integracin WebPay, da una leda rpida al manual que
Transbank ofrece, veras como entenders un poco ms tanto tecnicismo. Como dato anexo, el
manual que Transbank entrega corresponde a la versin 6.0 del KCC y actualmente estn en la
6.02, NO existe una versin actualizada de la documentacin para integrar esta importante
pasarela.
Ficha Certificacin WebPay 6: Una vez hayas terminado la integracin debes enviar este
documento a Transbank para dar inicio a las pruebas de integracin en las cuales Transbank
corrobora que la integracin no tenga inconvenientes y sea segura tanto para el comercio como
para quienes compraran en l, ms adelante en esta gua veras a detalle como completarlo.

3
Integrando WebPay Plus Paso a Paso

CGI-BIN: Este directorio es comn en la raz de algunos Host, en este caso contiene los archivos del
KCC encargados de que el proceso de la transaccin se lleve a cabo, para poder dar a entender
esto haremos un reconocimiento por su estructura.

Reconocimiento por el KCC


El KCC, Kit de integracin que Transbank pone a nuestra disposicin para conectar con los
servidores de Certificacin y Produccin fue realizado con una tecnologa actualmente casi
descontinuada llamada CGI, dentro del KCC encontraras el directorio CGI-BIN con los siguientes
archivos:

Como puedes ver existen solo tres archivos con extensin .cgi, estos archivos son el cuerpo de la
integracin puesto que por ellos pasa el proceso de pago desde que el cliente presiona pagar en la
pgina del comercio hasta que la transaccin es llevada a xito o fracaso, a continuacin te dar
detalle de el por qu a cada uno de estos archivos:
Tbk_bp_pago.cgi: Para poder dar inicio a un pago con WebPay el cliente presiona pagar en la
pgina del comercio, pues bien al realizar esa accin internamente inyecta los datos de la
transaccin a la CGI Pago, esta recibe los datos y una vez conectada con el servidor de Transbank
permite el ingreso de los datos de la tarjeta y banco.
Tbk_bp_resultado.cgi: Debes entender que la informacin enviada a la CGI Pago es procesada por
Transbank y el mismo banco, una vez realizado este proceso dicha informacin vuelve a los
servidores del comercio y se conecta con la CGI Resultado cuya funcin principal es desencriptar la
informacin de la transaccin para que sea procesada y aceptada o rechazada por la integracin
del comercio.
Tbk_check_mac.cgi: Esta CGI es la encargada de corroborar que la informacin recibida por la CGI
Resultado provenga de Transbank, es importante tener claro que una vez la informacin es
desencriptada por la CGI Resultado dicha informacin es enviada a un archivo de validaciones
llamado Pagina de Cierre, este archivo utiliza una de sus validaciones para conectarse con la CGI
Check_mac y corroborar que la firma digital sea efectivamente de Transbank.

4
Integrando WebPay Plus Paso a Paso

UNA TRANSACCIN PASO A PASO.


Ya aclarada la funcin principal de cada una de las CGI debes entender el proceso desde que
se presiona el botn pagar hasta el final de la transaccin puesto que a pesar de lo que se piensa,
Transbank no maneja la totalidad de una transaccin, esto es un proceso que detallo a
continuacin paso a paso:
1. El cliente presiona el botn pagar en la pgina del comercio.
2. De forma interna la informacin de la transaccin se inyecta a la CGI Pago.
3. CGI Pago procesa la informacin y permite al cliente ingresar los datos de tipo de pago,
tarjeta y banco.
4. El cliente presiona nuevamente pagar y es ah cuando sale de Transbank para entrar a los
sistemas del banco emisor de su tarjeta.
5. El Banco solicita los datos de acceso personal al cliente, el cliente acepta y el banco valida
dicha informacin.
6. Si el banco no encuentra inconvenientes en la tarjeta o saldo enviara la informacin de
vuelta a Transbank con el parmetro tbk_respuesta = 0, conocido como Respuesta 0, esta
respuesta es bancaria y quiere decir que esta todo Ok y de forma interna reserva el dinero
de la transaccin para su posterior confirmacin de xito. En caso de que haya algn
problema con la tarjeta o no haya saldo el banco al enviar la informacin a Transbank
emitir un tbk_respuesta distinto de 0, por ejemplo tbk_respuesta = -1 por lo cual no
har la reserva del dinero.
7. Transbank recibe los datos de la transaccin incluyendo la respuesta del banco
(tbk_respuesta), encripta la informacin y la enva al servidor del comercio.
8. En el servidor del comercio la informacin de la transaccin se conecta con la CGI
resultado que des encripta la informacin y la enva a la pgina de cierre para que sea
validada.
9. La pgina de cierre realiza la validacin de respuesta bancaria, si la respuesta bancaria es
= 0 entonces continua con las dems validaciones pero si la respuesta bancaria es distinta
de 0 entrega como respuesta del comercio inmediatamente un ACEPTADO, esto no quiere
decir que la transaccin fue exitosa, solo que el comercio acepta la transaccin pues sus
datos han llegado sin inconvenientes al servidor.
10. La pgina de cierre valida la Check Mac, esta validacin corrobora que los datos de la
transaccin provengan de Transbank, esto se realiza comparando la informacin con el
resultado de la CGI Check_Mac, si la validacin falla la respuesta inmediata del comercio
ser RECHAZADO, en caso de resultar exitosa continuara con la validacin de Orden de
compra.
11. La pgina de cierre valida la Orden de Compra, esta validacin corrobora que la orden de
compra sea la correcta y no haya sido adulterada en el proceso de la transaccin, en caso
5
Integrando WebPay Plus Paso a Paso

12.

13.

14.

15.
16.
17.
18.

de fallar la respuesta inmediata del comercio ser RECHAZADO, en caso de resultar


exitosa continuara con la validacin de Monto Adulterado.
La pgina de cierre valida el Monto Adulterado, esta validacin corrobora que le monto
sea el exacto de cuando se dio inicio a la transaccin, en caso de fallar la respuesta
inmediata del comercio ser RECHAZADO, en caso de resultar exitosa habrn sido
exitosas las tres validaciones obligatorias por lo que de forma inmediata la respuesta del
comercio ser ACEPTADO.
Ahora existen dos tipos de respuesta, la respuesta del banco (tbk_respuesta) y la
respuesta del comercio (ACEPTADO o RECHAZADO), indiferente las respuestas
entregadas, ambas junto a la informacin de la transaccin son enviadas a Transbank para
su evaluacin.
Transbank analiza lo siguiente:
a. Si tbk_respuesta = 0 y la respuesta del comercio es ACEPTADO, la transaccin es
Exitosa.
b. Si tbk_respuesta es distinto de 0 y la respuesta del comercio es ACEPTADO, la
transaccin es Fracasada.
c. Si tbk_respuesta = 0 y la respuesta del comercio es RECHAZADO, la transaccin
ser Reversada.
La informacin es enviada nuevamente de vuelta al servidor del comercio.
Si la transaccin fue exitosa, el cliente es redirigido a la pgina de xito de la transaccin.
Si la transaccin fue fracasada, el cliente es redirigido a la pgina de fracaso de la
transaccin.
Si la transaccin ser reversada, el cliente es redirigido a la pgina de fracaso de la
transaccin. En este caso como se mencion en el punto 6, el banco acepto la transaccin
pero el comercio no, por lo cual el banco emisor de la tarjeta ya hizo la reserva del dinero
y el cliente lo vera de forma negativa pues hizo una transaccin que fracaso ante sus ojos
pero de igual forma descontaron el dinero, es importante aclarar que el dinero no fue
descontado, solo fue reservado a la espera de la confirmacin de que la transaccin fuera
exitosa, lamentablemente este proceso puede llegar a tomar hasta 72 horas bancarias y
no es responsabilidad de Transbank o el comercio donde se realiz la compra, es un tema
totalmente bancario, una vez el banco realiza la confirmacin de que la transaccin
fracaso los dineros son integrados nuevamente a la cuenta del cliente.

Para graficar este proceso y apoyar su comprensin, en la siguiente pgina encontraras un


diagrama con el flujo correcto paso a paso, si bien puede verse reducido en tamao en los archivos
adjuntos a esta gua est incluido de forma independiente para tu comodidad.

6
Integrando WebPay Plus Paso a Paso

Flujo de una transaccin con WebPay Plus.


Inicio del proceso

El cliente presiona
Pagar en el sitio del
comercio

Se enva la
informacin de la
transaccin a la CGI
Pago y esta se
conecta con
Transbank

La CGI Pago
reconoce los datos y
permite al cliente
ingresar el tipo de
pago, banco y
numero de tarjeta

Ingresados los datos


el cliente presiona
Pagar y sale de
Transbank para ser
redirigido al Banco

El cliente ingresa los


datos que el banco
solicita, y los enva,
en esta etapa el
banco corrobora
que no haya
problemas con la
tarjeta o el saldo

Agrupa los datos de


la transaccin y
aade una
Respuesta con
valor distinto de 0",
ej: Respuesta -1

No
Banco Ok?

SI

Agrupa los datos de


la transaccin y
aade una
Respuesta 0

La informacin es
enviada de vuelta a
Transbank

Transbank recibe la
informacin, la cual
es encriptada y
enviada a la CGI
Resultado en el
servidor del
comercio

CGI Resultado
desencripta la
informacin y la
enva a la pagina de
Cierre

Pagina de cierre
corrobora la
respuesta del banco
y validaciones
obligatorias

No

Respuesta del
banco = 0

SI
No

Validacin
Check_Mac Ok?

SI

No

Validacin
Orden de
Compra Ok?
SI

Validacin
Monto Ok?

Se enva respuesta
de comercio
Rechazado

No

SI

Se enva respuesta
de comercio
Aceptado

Se enva a
Transbank
respuesta del banco
y respuesta del
comercio

Respuesta del
banco Ok?
No

Si la respuesta del
banco es distinta de
0 y la respuesta del
comercio es
Aceptado, la
transaccin es
Fracasada.

Se redirige a
Fracaso

SI

Transbank recibe las


respuestas finales y
evala

Si la respuesta del
banco es = 0 y la
respuesta del
comercio es
Aceptado, la
transaccin es
exitosa.

Se redirige a la
pagina de xito

Respuesta del
comercio Ok?
No

SI

Si la respuesta del
banco es = 0 y la
respuesta del
comercio es
Rechazado, la
transaccin es
Reversada.

Se redirige a
Fracaso

Fin del Proceso

7
Integrando WebPay Plus Paso a Paso

MANOS AL FUEGO , A INTEGRAR


Ya habiendo conocido lo bsico para entender una transaccin y su entorno con el KCC,
llego el momento de dar un paso ms a delante y explicar el paso a paso de una integracin al
estilo vieja escuela de Transbank, para ello necesitamos que pongas toda tu atencin y empeo
en entender a detalle lo que te explicaremos a continuacin. Las pruebas y explicaciones que vers
aqu estn basadas bajo un ambiente de servidor Host Linux de 64 bits.

Recomendaciones sobre Hosting:


Es importante al momento de seleccionar un Hosting tener en cuenta los siguientes
puntos:
Arquitectura del servidor (Plataforma): Si bien el KCC tiene distintas versiones para cada
arquitectura de servidor, esta gua busca simplificar la integracin de WebPay Plus y con ello evitar
grandes dolores de cabeza al momento de integrar, veras en adelante que nos basamos en la
arquitectura de Linux y es de por si lo que recomendamos 100% pues presenta estabilidad y fcil
resolucin de problemas con respecto a la ejecucin de funciones y extensiones sin olvidar que a
nuestra opinin bien configurado un servidor en Linux puede tener una seguridad casi
inquebrantable.
Estabilidad y soporte del servicio: A pesar de lo que la opinin popular piense, no siempre los
problemas en las transacciones son por culpa de transbak, de hecho casi nunca es un problema de
los servidores de Transbank, hay que recordar que el KCC estar instalado en nuestro servidor por
lo cual cualquier inconveniente en nuestros servicios de Host puede causar problemas en las
transacciones para nuestros clientes. Es altamente recomendable que al momento de contratar el
servicio sea una empresa que pueda prestar soporte directo 24/7 a cualquier problema que pueda
surgir y debes creer que los habr tarde o temprano.
Cuanto trfico diario puede soportar: Si el comercio al cual se realiza la integracin tiene pocas
ventas, un servicio Host estndar o compartido no dar problemas pues no se ver renvalsado por
las visitas, en cambio si el comercio tiene cientos o miles de ventas diarias debes multiplicar por 10
la cantidad de visitas y corroborar con el servicio de hosting si el plan que estas a punto de
contratar puede soportar tal trfico.
Nivel de control que tenemos dentro del servicio de Host: Si hay algn inconveniente con el
Hosting y lo habr, debes tener un soporte adecuado para la solucin de este, normalmente los
servicios host manejan un sistema de tickets pero dependiendo la empresa pueden tomar un
tiempo en contestar por lo que te recomiendo que contrates un servicio que te permita controlar
lo mximo posible de tu servicio de Host, as cuando el inminente problema llegue, puedas ser tu
quien lo solucione, existen servicios VPS (Virtual Prvate Server) que te permiten gestionar cada

8
Integrando WebPay Plus Paso a Paso

detalle sin embargo el costo suele ser bastante elevado, gestiona de forma correcta que servicio es
el ms conveniente acorde a los requerimientos y exigencias de cada comercio.
Ejecucin de archivos CGI: Antes de contratar cualquier servicio de Hosting lo primero a consultar
es si permite la ejecucin de archivos CGI ya que normalmente estn bloqueados pues presentan
para muchos algn riesgo en la seguridad del servicio de Host.
Ejecucin de la funcin Exec: Otro punto importante es la programacin y la funcin ms
importante se llama EXEC, esta funcin permite ejecutar de forma interna la CGI Check_Mac y con
ello validar que la informacin corresponde a los servidores de Transbank, sin embargo la cualidad
de ejecucin que esta funcin permite no es bien vista por muchos administradores de Host por lo
cual puede que este bloqueada, averiguar si es as y en caso de serlo si es factible su habilitacin.
Herramientas a utilizar en esta gua:
1. Hosting Linux 64bits sin bloqueo de archivos CGI ni funcin EXEC.
2. Filezilla (software FTP Cliente incluido en los archivos de esta gua)
3. KCC Linux 64 bits, (incluido en los archivos de esta gua)
Los ejemplos de cdigo mostrados en esta gua son basados en lenguaje PHP y HTML.
Subir los archivos al servidor:
Dar alta a los archivos en el servidor es un proceso sencillo pero no debemos descuidarlo
puesto que el no realizar correctamente este proceso puede hacer que caigas en errores bsicos
que te harn perder tiempo a ti y al comercio que espera su integracin, sigue este sencillo paso a
paso para cumplir un alta exitosa de archivos:
Accede a tu hosting a travs de Filezilla o tu software cliente ftp favorito e ingresa a public_html,
este ltimo es el directorio raz de tu web, al acceder veras algo similar a esto.

En el caso de nuestro ejemplo existe ya un directorio CGI_BIN, en caso de no haberlo debes


crearlo para posteriormente subir los siguientes archivos.

9
Integrando WebPay Plus Paso a Paso

Como sabes son los archivos de la integracin, en este caso es la versin de Linux 64 bits, debes
subirlos dentro del directorio CGI-BIN.
Para subir archivos a un servidor existen dos modos, modo Binario y modo ASCII, el cliente ftp te
permite elegir entre tres opciones de subida ASCII, binario y Automtico esta ltima opcin esta
por defecto por lo cual jams nos preocupamos por cmo se suben nuestros archivos confiando en
que el cliente ftp tomara la mejor decisin, en el caso del KCC el cliente ftp no toma la mejor
decisin al subir las CGI por lo cual s subes los archivos de forma directa e intentas acceder a la
URL de alguna CGI aparecer lo siguiente:

El error 500 en este caso hace referencia a un inconveniente en la ejecucin de la CGI, por lo cual
podemos pensar solo dos cosas, el archivo se corrompi al ser dado de alta en el servidor o es un
problema de permisos de ejecucin, para evitarlo subiremos los archivos de la siguiente forma:
De los archivos de la integracin solo sube esto:

Una vez los hayas subido en Filezilla dirgete a la opcin Transferencia, tipo de transferencia y
selecciona Binario como se muestra a continuacin.

Solo entonces sube al servidor los siguientes archivos CGI:

10
Integrando WebPay Plus Paso a Paso

Una vez hayas subido los archivos retrocede a public_html, selecciona el directorio CGI_BIN, da
clic derecho y selecciona la opcin permisos de archivo:

Aparecer la ventana de atributos de archivo, en ella debes de forma recursiva asignar los
permisos 755, para ello en la opcion Valor numrico escribe 755, selecciona el check Incluir
todos los subdirectorios y marca Aplicar a todos los ficheros y directorios como se muestra a
continuacion.

11
Integrando WebPay Plus Paso a Paso

Eso bastara con el alta de archivos pero para corroborar haremos las siguientes pruebas:
1. Accede a la URL de la CGI Pago, esta debera mostrarse como se indica a continuacin:

2. Accede a la URL de la CGI Resultado esta debera mostrarse de forma similar a esto:

Habiendo resultado exitosas las pruebas damos por finalizada el alta de archivos al servidor,
proseguiremos con la configuracin del KCC.

12
Integrando WebPay Plus Paso a Paso

Archivo de configuracin.
El KCC posee un archivo nico de configuracin de nombre tbk_config.dat, su funcin
principal es indicar a nuestra integracin como conectar con los servidores de Transbank y donde
debe ser dirigida la informacin al volver de los servidores de Transbank, en el KCC el archivo se
encuentra en el directorio DATOS con la siguiente configuracin estndar.

IDCOMERCIO: Contiene el nmero de comercio de pruebas el cual es uno de los identificadores


para conectarse con el servidor de Transbank, al salir a produccin debe ser reemplazado por el
cdigo de comercio real entregado por Transbank.
MEDCOM: Indica el medio de comunicacin, bsicamente aade un filtro de seguridad para
servidores que no tengan SSL, si bien el valor recomendado por Transbank es 1, este valor suele
dar inconvenientes en algunos servidores, si tienes inconvenientes con este valor cmbialo a 2
para deshabilitarlo.
TBK_KEY_ID: Establece el largo de la llave que permitir la conexin con los servidores de
Transbank, no se requiere modificar para la versin 6.02 del KCC.
PARAMVERIFCOM: Establece un nivel de verificacin de los parmetros enviados y recibidos, el
valor 1 lo activa y el 0 lo desactiva, mantener con el valor por defecto.
URLCGICOM: Este parmetro por defecto en blanco indica a la informacin que vuelve de
Transbank donde se ubica la CGI resultado, debe contener la URL de esa CGI en su servidor.
SERVERCOM: Este parmetro debe contener la IP Publica de tu servidor para indicar al KCC a que
servidor debe volver la informacin de las transacciones.
PORTCOM: Este parmetro debe contener el puerto por el cual la informacin de la transaccin
proveniente de Transbank debe entrar al servidor del comercio, por defecto es el puerto 80, en
casos especiales puede ocuparse el puerto 5555 mientras sea previamente habilitado.
WHITELISTCOM: Contiene por defecto una lista de caracteres que se manejan en la lista blanca del
KCC para que no presenten defectos durante la integracin, si para alguna URL relacionada con la
integracin incluyes un carcter distinto o extrao corrobora que se encuentre en esta lista para
13
Integrando WebPay Plus Paso a Paso

evitar problemas difciles de detectar, en caso de que no se encuentre puedes agregarlo


libremente.
HOST: Este parmetro debe contener la IP Publica de tu servidor para indicar al KCC a que servidor
debe conectarse la informacin de las transacciones si desea acceder a la pgina de cierre, en
casos especiales puede contener una IP local para indicar donde est ubicada de forma local la
pgina de cierre.
WPORT: Este parmetro debe contener el puerto por el cual la informacin de la transaccin
proveniente de Transbank debe acceder a la pgina de cierre, por defecto es el puerto 80, en
casos especiales puede ocuparse el puerto 5555 mientras sea previamente habilitado.
URLCGITRA: Contiene por defecto la ruta de las CGI de servidor en los servidores de Certificacin
de Transbank, para produccin deben ser modificadas.
URLCGIMEDTRA: Contiene por defecto la ruta de las CGI de servidor en los servidores de
Certificacin de Transbank, para produccin deben ser modificadas.
PORTTRA: Este parmetro contiene el puerto por el cual el KCC en nuestro servidor se conecta con
los servidores de Transbank.
PREFIJO_CONF_TR: Este parmetro contiene el prefijo que indica cual es la pgina que se ejecuta
en el comercio para confirmar la transaccin.
HTML_TR_NORMAL: Este parmetro contiene la URL de la pgina de cierre a la cual debe acceder
la informacin que vuelve de Transbank.

Teniendo claro la funcin de cada parmetro en el archivo de configuracin debes


modificarlo acorde al servidor en el cual ests integrando, segn lo previamente indicado y el
siguiente ejemplo:

14
Integrando WebPay Plus Paso a Paso

Ya has configurado en su totalidad al KCC para que funcione en lo referente a ejecucin de


archivos, permisos y conexiones entre servidores, llego el momento de hacer nuestra primera
prueba de pago pero para ello debes entender que las CGI de Transbank solo se activan cuando
reciben informacin por inyeccin de datos.
Empezando a programar
Inyeccin de datos es el inicio de todo lo que requiere que tengas conocimientos de
programacin, el objetivo de esta gua no es ensear a programar por lo que toma en cuenta que
de aqu en adelante damos por hecho que tienes conocimientos sobre el rea, de todas formas se
explica detalladamente la lgica del cdigo a usar y como apoyo dentro de los adjuntos en esta
gua podrs encontrar archivos y cdigos de ejemplo. En caso de no tener conocimientos en
programacin no te alarmes ya que ms adelante en la gua podrs ver cmo integrar WebPay
Plus sin necesidad de grandes conocimientos en programacin y paso a paso.

Inyeccin de datos:
Para poder iniciar una transaccin debemos inyectar los datos de la misma hacia la CGI
Pago, los datos a inyectar son:
Tipo de transaccin: En nuestro caso estamos trabajando en una transaccin tipo normal por lo
cual el valor a inyectar es el valor fijo TR_NORMAL.
Orden de compra: Corresponde a la orden de compra del pago a realizar.
Monto de la transaccin: Corresponde al monto que se pretende pagar.
ID de sesin: Este campo no es obligatorio pero es de gran ayuda para indexar las transacciones
con la sesin de algn cliente en nuestro sistema de pagos.
URL de xito: Corresponde a la URL a la cual ser redirigido el cliente una vez su transaccin sea
exitosa.
URL de fracaso: Corresponde a la URL a la cual ser redirigido el cliente en caso de fallar la
transaccin.
La inyeccin puede realizarse mediante mtodo POST o mtodo GET, este ltimo no es totalmente
seguro ya que los parmetros que se envan en la transaccin quedan expuestos por ello siempre
al momento de programar una inyeccin recomendamos realizar el proceso mediante POST.

15
Integrando WebPay Plus Paso a Paso

En el siguiente ejemplo podrs ver un cdigo en POST que a travs de un formulario hace el envo
de los parmetros de la transaccin inyectndolos directamente a la CGI Pago:

Este cdigo es parte de un documento HTML que soporte Transbank entrego durante un tiempo a
los integradores para que realizaran pruebas y entendieran el envo de parmetros por POST,
hemos realizado nuestras modificaciones e incluido este archivo en los datos adjuntos a esta gua.
El documento HTML se llama prueba.html y lo utilizaremos a partir de ahora para realizar las
pruebas de transacciones.

Primera prueba de transaccin


Realizaremos nuestra primera prueba, el objetivo de esta es comprobar que las
configuraciones anteriores estn bien y podemos conectarnos a los servidores de Transbank, para
ello abre el archivo adjunto a esta gua prueba.html en un editor de cdigo y modifica la URL de la
CGI Pago que se indica por la correspondiente a tu integracin:

16
Integrando WebPay Plus Paso a Paso

Una vez realizado esto, guarda los cambios y ejecuta el archivo en un navegador web,
recomendamos Firefox, debera lucir as:

Mantn el valor de Tipo de transaccin y modifica el del resto de los parmetros con valores a tu
eleccin, an no hemos programado una pgina de xito o fracaso as que te sugiero reemplazar
esas URL por una URL de algo conocido para que puedas identificar si la transaccin fue exitosa o
fracasada. Ya realizados los cambios presiona PROBAR y deberas ser redirigido a esto:

Si es as, felicitaciones!!! Ya estas conectado a los servidores de Certificacin de Transbank y


quiere decir que todo lo que hiciste anteriormente funciono sin inconvenientes. Si intentaras
realizar el pago de esa transaccin ahora serias redirigido a la pgina de fracaso que indicaste en
un principio, esto sucede porque an no existe la pgina de cierre que valide el xito de la
transaccin, para ello haremos las pruebas en base a unos archivos de prueba adjuntos a esta
gua.
17
Integrando WebPay Plus Paso a Paso

Pruebas de Flujo sin validaciones


Para comprobar que el flujo de nuestra integracin funciona como corresponde hemos
adjuntado a esta gua los siguientes archivos:

Pruebascierre.php: Archivo con cdigo de prueba para que las transacciones siempre sean
exitosas forzando el xito con un string ACEPTADO.
Pruebasexito.php: Archivo con cdigo de prueba que indica que la transaccin fue exitosa.
Pruebasfracaso.php: Archivo con cdigo de prueba que indica que la transaccin fracaso.
En public_html crea un directorio llamado pruebas y sube los archivos dentro de ese directorio ya
que tanto Cierre como xito y fracaso no pueden estar dentro del directorio CGI-BIN, adems sube
el archivo prueba.html dentro de public_html como se indica a continuacin:

Recuerda la configuracin del archivo tbk_config.dat, debes cambiar el parmetro


HTML_TR_NORMAL por la URL de la pgina de cierre de pruebas como se ve en este ejemplo:

18
Integrando WebPay Plus Paso a Paso

Ya realizados estos cambios podemos empezar con las pruebas, haremos un pago por $16.000 CLP
con datos ficticios as que entra a tu URL y abre el archivo prueba.html en tu navegador, luego
crgalo con los siguientes datos:

Presiona probar y sers redirigido al ambiente de Certificacin de Transbank como se muestra a


continuacin:

Para realizar un pago tenemos dos opciones, con Tarjeta de Crdito o con Redcompra (Debito), en
el ambiente de certificacin no influye mucho que se pague en una u otra divisa es por ello que se
utiliza para ambos casos los siguientes datos de prueba:
Marca
N de Tarjeta
Ao Expiracin
Mes Expiracin
CVV

Trx Exitosas (VISA)


4051885600446623
Cualquiera
Cualquiera
123

Trx Fracasadas (MASTERCARD)


5186059559590568
Cualquiera
Cualquiera
123

19
Integrando WebPay Plus Paso a Paso

Entonces, queremos comprobar que el flujo se realiza correctamente y por ello necesitamos
realizar una transaccin exitosa, para esto usaremos la tarjeta de prueba 4051885600446623 y
solo por decisin propia pagaremos en Crdito, puedes hacerlo en debito si gustas, esto se vera
as:

Presionamos pagar y despus de unos segundos nos encontraremos con esto:

Esto es la simulacin de banco que tiene el ambiente de Certificacin de Transbank, para


continuar con el pago debes usar el Rut: 11.111.111-1 y la clave: 123, luego presionar aceptar para
que te redirija a la siguiente pantalla donde debes aceptar si deseas que se realice el pago, es un
simulador de respuesta bancaria, si aceptas data un tbk_respuesta = 0, si un valor distinto de 0:

20
Integrando WebPay Plus Paso a Paso

Si la transaccin fue exitosa y no existen problemas en el flujo de la integracin sers enviado al


Boucher de Transbank como se aprecia en la siguiente imagen:

Posterior a ello si presionas continuar o dejas pasar unos segundos sers redirigido a la pgina de
xito de pruebas que indicamos en un principio:

21
Integrando WebPay Plus Paso a Paso

En caso de que haya habido algn inconveniente con el flujo la transaccin fracasar y no vers el
Boucher de Transbank, sers redirigido automticamente a la pgina de fracaso de pruebas que
indicamos en un principio:

Si este es tu caso, revisa uno a uno los pasos para corroborar que los seguiste al pie de la letra, si
as fue es probable que el problema radica en alguna configuracin de tu servidor, para detectar el
inconveniente y dar solucin dirgete a la seccin de Logs y Solucin de Problemas en la pgina
30.
Por el contrario si viste el xito de tu transaccin Felicitaciones!!! Ahora sabemos que el flujo
funciona de forma correcta y puedes continuar con la programacin de tu pgina de Cierre, xito
y Fracaso respectivamente.
Pgina de Cierre
La pgina de cierre contiene las validaciones necesarias para corroborar que las
transacciones sean seguras tanto para el comercio como para el cliente que realiza el pago,
adems es la encargada de dar la respuesta por parte del comercio ya sea esta ACEPTADO o
RECHAZADO dependiendo de las circunstancias, la estructura de la pgina de cierre consta de lo
siguiente:
Captura de datos: Los datos al ser des encriptados por la CGI Resultado, son enviados a la pgina
de cierre la que captura los datos para su lectura con un cdigo similar a este:

22
Integrando WebPay Plus Paso a Paso

Validacin de Mac: Esta validacin tiene por funcin principal corroborar que la informacin
venga efectivamente de los servidores de Transbank, esto lo hace conectndose con la CGI
Check_Mac a travs de un cdigo similar a este:

23
Integrando WebPay Plus Paso a Paso

Validacin de Orden de Compra: Esta validacin tiene por funcin corroborar que la orden de
compra sea la correcta para esa transaccin, bsicamente estar seguros de que no fue corrompida
o no es una orden de un pago inexistente, esto lo hace a travs de un cdigo similar a este:

Suele haber poca claridad sobre el cmo realizar la validacin de Orden de compra, para ello dejo
el siguiente diagrama en el que explico una de las lgicas posibles que puedes utilizar al momento
de programar esta validacin:
Inicio

Los parmetros de la
transaccin se guardan en
una tabla de la base de
datos, se asigna estado = 0
para indicar que no ha sido
pagada

El cliente presiona
pagar

Los parmetros de
la transaccin van a
Transbank y
continan el
proceso normal de
pago

Pagina de cierre
recibe los datos

Transbank enva de
vuelta los
parmetros de la
transaccin a la CGI
Resultado

La validacin de OC
se conecta a la base
de datos y consulta

OC existe?

No

Entrega
RECHAZADO

Si

Entrega
RECHAZADO por
Duplicidad de orden

Si

Estado de OC
pagada?

No
Continua con la
siguiente validacin
y en caso de ser
exitosa la pagina de
cierre entrega
ACEPTADO

Fin

24
Integrando WebPay Plus Paso a Paso

Se asigna Estado
= 1 para registrar
que ya fue
pagada

Validacin de Monto Adulterado: Esta validacin debe corroborar que el monto de la transaccin
sea el mismo que al iniciar el proceso de pago, bsicamente corroborar que no fue adulterado de
alguna forma en el proceso de la transaccin, esto es posible gracias a un cdigo similar a este:

Al igual que con la anterior validacin suele haber poca claridad sobre el cmo realizarla, para ello
dejo el siguiente diagrama en el que explico una de las lgicas posibles que puedes utilizar al
momento de programar esta validacin:
Inicio

Los parmetros de la
transaccin se guardan en
una tabla de la base de
datos

El cliente presiona
pagar

Los parmetros de
la transaccin van a
Transbank y
continan el
proceso normal de
pago

Pagina de cierre
recibe los datos

Transbank enva de
vuelta los
parmetros de la
transaccin a la CGI
Resultado

La validacin de
monto se conecta a
la base de datos y
consulta

Monto es el
mismo?

No

Si

Continua con la
siguiente validacin
y en caso de ser
exitosa la pagina de
cierre entrega
ACEPTADO

Fin

25
Integrando WebPay Plus Paso a Paso

Entrega
RECHAZADO

Pgina de xito
La pgina de xito es la encargada de mostrar al cliente un detalle de lo que compro
incluyendo informacin sobre la transaccin, el buen detalle de una pgina de xito es una de las
grandes exigencias de Transbank para poder certificar el sitio de un comercio, podemos dividir la
pgina de xito en lo siguiente:
Captura de datos:
Al igual que en la pgina de cierre se deben capturar los datos de la transaccin para poder
mostrarlos al cliente, esto puedes hacerlo con un cdigo similar a este:

Como puedes apreciar es similar al de la pgina de cierre al momento de la captura de datos.


El Cuerpo:
El cuerpo de la pgina de xito contiene toda la informacin previamente cargada y que
debe ser mostrada al cliente, puedes programarlo con un cdigo similar a este:

26
Integrando WebPay Plus Paso a Paso

Validacin de inyeccin a xito:


Si a travs de POST o GET inyectan datos a la pgina de xito, seguramente cargara los
datos inyectados o los pertenecientes a una transaccin anterior, para evitar eso debes crear una
validacin que corrobore que los datos que entran a la pgina de xito pertenecen a una
transaccin ya pagada, para ello debes crear una validacin con un cdigo similar a este:

Al igual que en anteriores validaciones suele haber poca claridad sobre el cmo realizarla, para ello
dejo el siguiente diagrama en el que explico una de las lgicas posibles que puedes utilizar al
momento de programar esta validacin:
Inicio

Datos entran
a pagina de
cierre

Consulta en
transacciones
con estado
pagado si OC,
Monto

Pagina de cierre
consulta base de
datos

Si
Carga los datos de la
transaccin exitosa

No
Existen?

Fin

27
Integrando WebPay Plus Paso a Paso

Redirige a pagina de
fracaso

Una vez hayas realizado lo anterior tu pgina de xito se ver algo similar a esto:

En casos especiales Transbank pide un detalle mayor del producto para lo cual te recomendamos
sigas el siguiente esquema:
NOMBRE DEL PRODUCTO
Caramelo de menta
Que solo son
IVA
Subtotal
Total

DETALLE DE LA COMPRA
CANTIDAD
DETALLE
2
Yo te traigo nena
1
Para ti mi amor

28
Integrando WebPay Plus Paso a Paso

PREC. UNITARIO
$1.000
$500

TOTAL
$2.000
$500
$399
$2.101
$2.500

Pgina de Fracaso
La pgina de fracaso es la encargada de mostrar un mensaje con los posibles motivos del
fracaso en una transaccin, este mensaje es tambin parte de las exigencias de Transbank para
certificar el sitio, no es muy complejo pues solo debe mostrar las causas y cargar el nmero de la
orden de compra fracasada, puede programarla en base a este sencillo cdigo:

Una vez programada debera verse similar a esto:

Hasta este punto hemos aclarado todo referente a cmo integrar WebPay Plus de forma
manual, si has hecho todo bien y al pie de la letra puedes ahora realizar una transaccin de prueba
con las pginas de Cierre, xito y Fracaso reales.

29
Integrando WebPay Plus Paso a Paso

Logs y solucin de problemas


Como todo sistema el KCC maneja Logs que registran sus movimientos, estos logs nos
pueden indicar el estado de una transaccin o guiarnos para descubrir porque no se realizan
correctamente nuestras transacciones, en el KCC existen dos logs que se encuentran dentro del
directorio Log de tu integracin como puedes apreciar a continuacin:

Existen dos tipos de Logs, estos son:


TBK_EVN: EVN o Eventos se comienza a grabar desde que el cliente presiona pagar en el sitio del
comercio, es por ello que nos muestra a detalle el flujo de nuestra transaccin desde esa instancia
hasta que nos deriva a xito o fracaso, esta cualidad hace que este log sea la herramienta principal
al momento de detectar el problema que impide el correcto flujo de nuestras transacciones. El
nombre del archivo permite identificar la fecha en la cual fue creado segn este ejemplo:
TBK_EVN20150208.log = TBK_EVN(ao)(mes)(dia).log
TBK_BITACORA: Bitcora nos muestra todos los parmetros de la transaccin, desde si esta fue
aceptada o fracasada hasta la hora de dicha transaccin. Este log comienza a grabarse despus de
que la informacin de la transaccin vuelve al servidor del comercio. El nombre del archivo
permite identificar el tipo de transaccin y la fecha en la cual fue creado segn este ejemplo:
TBK_BITACORA_TR_NORMAL_0208.log = TBK_BITACORA_(transaccin)_(de tipo
normal)_(mes)(dia).log

Datos a considerar sobre los logs:


1. El gran problema de una bitcora es que los archivos creados no registran el ao, por lo
cual cuando se cumple un ao de su integracin el sistema comienza a sobrescribir el
mismo archivo.
2. Si el servidor se queda sin espacio el KCC enviara un ERROR 63 u otro error de escritura,
lectura pues al no haber espacio no se podrn escribir o leer los logs.
Para dar solucin a estas dos instancias sugiero cada un ao realizar respaldo y limpieza de
los logs en su servidor.
30
Integrando WebPay Plus Paso a Paso

Aprendiendo a leer el Log de Eventos

El log EVN como ya sabes nos permite ver el flujo completo de las transacciones desde que
se presiona pagar en el sitio del comercio, el registro se realiza de forma lineal en un total de diez
columnas, paso a enumerar y detallar las columnas ms importantes que te permitirn entender
en qu etapa del flujo esta una transaccin en especfico:

Transaccin exitosa:
1

1. Posicin en el flujo: Indica la posicin en la cual se encuentra la transaccin acorde al flujo


de una transaccin en WebPay.
2. Parmetros de Flujo: Indica los archivos, etapas, conexiones, orden de compra e id de
transaccin paso a paso en el flujo de una transaccin.
3. Fecha: Indica la fecha de la transaccin.
4. Hora: Indica la hora de la transaccin.
5. IP: Indica la IP de la transaccin.
6. Estado: Indica el estado de esa lnea en la transaccin.
7. Cdigo de Comercio: Indica el cdigo del comercio que est gestionando el pago.
8. Descripcin de parmetros: Describe en un leve detalle los archivos, etapas, conexiones,
orden de compra e id de transaccin paso a paso en el flujo de una transaccin.
El ejemplo que ves pertenece a una transaccin exitosa de principio a fin, con la numeracin que
indicamos puedes seguir una a una las columnas y en base a ello puedes leer lnea a lnea para
entender en qu etapa esta la transaccin, puedes apreciar cuando se conecta a los puertos y la
pgina de cierre, cuando se enva y recibe la informacin de Transbank.

31
Integrando WebPay Plus Paso a Paso

Transaccin fracasada:
1

En este ejemplo vemos una transaccin fracasada, como puedes ver es el mismo flujo en base
incluso a la misma orden de compra del ejemplo anterior (1811), si te das cuenta el flujo continua
de forma correcta hasta la lnea 32, en las lneas siguientes puedes ver que la tienda no acepto la
transaccin, esto significa que al enviar el POST a la pgina de cierre, esta recibe los datos y una de
las validaciones obligatorias los rechaza, no entrega ACEPTADO y enva un ERROR 46 en la lnea 36
indicndolo.
Anlisis e identificacin de errores en EVN :
ERROR 283: Hace referencia a un inconveniente de conexin o como se indica en el mensaje, un
posible error de llaves, las llaves se encuentran en el directorio MAESTROS de tu integracin y
permiten la conexin entre el KCC en el servidor del comercio y los servidores de Certificacin de
Transbank pero el inconveniente puede ser la errnea carga de las llaves o un inconveniente en el
archivo tbk_config.dat.

Cmo Solucionarlo?
1. Lo primero a revisar es la configuracin de tu archivo tbk_config.dat, corrobora que los
primeros parmetros estn como observas en la siguiente imagen:

Si estas en Certificacin el cdigo debe ser el indicado en el ejemplo, si estas en


Produccin debe ser el cdigo contratado con Transbank.
Si MEDCOM est en uno puede ser el motivo del problema de comunicacin,
cmbialo a dos para deshabilitarlo.
TBK_KEY_ID debe estar con el valor indicado pues indica el largo de la llave.
PARAMVERIFCOM debe tener el valor uno para que la verificacin de parmetros
sea efectiva.
32
Integrando WebPay Plus Paso a Paso

2. Si est todo bien configurado y el problema persiste el inconveniente es de llaves as que


debes volver a subirlas.
El alta debe ser realizada en Automtico con tu cliente FTP o en ASCII.
No debes cambiar los permisos de los archivos.
Si aun as el inconveniente persiste comprime las llaves, sbelas comprimidas y
descomprmelas dentro del servidor con CPANEL.
Atencin a subir las llaves correctas acorde el ambiente ya sea este Certificacin o
Produccin.
LLAVES EN CERTIFICACION

LLAVES EN PRODUCCION

ERROR 42: Este inconveniente se presenta por problemas de comunicacin en alguno de los
siguientes parmetros del archivo tbk_config.dat.

Cmo Solucionarlo?
1. Corroborar la siguiente informacin y hacer las modificaciones sugeridas en caso de que se
requiera:
La IP del HOST puede estar bloqueada o mal escrita.
El puerto en WPORT puede estar bloqueados o mal escrito.
2. En caso de que no tenga acceso directo a desbloquear puertos o permitir y denegar
accesos a IP solictelo al soporte de su Hosting o administradores de su sistema de
servidores.
ERROR 46: Este inconveniente se presenta cuando la informacin es recibida por la pgina de
cierre pero esta ltima rechaza los datos entregados por Transbank.
Cmo Solucionarlo?
1. Corroborar en el archivo tbk_config.dat que la URL de la pgina de cierre este bien escrita
y sea la correcta en el paramento HTML_TR_NORMAL.
2. Corroborar que las validaciones en su pgina de cierre estn bien escritas y funcionan
correctamente.

33
Integrando WebPay Plus Paso a Paso

3. Revisar la validacin de CHECK_MAC, especficamente que se est ejecutando la funcin


EXEC, dentro de esta gua encontrara el archivo pruebaexec.php que le permitir saber el
usuario de su servidor y si la funcin EXEC est habilitada en su servidor.
Subir el archivo pruebaexec.php a public_html en su servidor.
Ingrese desde su navegador a la URL http://www.sitiocomercio/pruebaexec.php,
esto debera mostrar el siguiente mensaje:

En caso de quedar en blanco o mostrar un ERROR, la funcin no est habilitada,


contacte al soporte del Hosting o los administradores de su servidor para que sea
habilitada.
Flujo no conecta con CGI Resultado: Muchas veces realizaras transacciones que no presentan un
cdigo de ERROR, estas en el log EVN se presentan de esta forma:

Como puedes apreciar el flujo completa el proceso de la CGI PAGO pero no continua con la CGI
Resultado, esto sucede porque no puede conectarse a esta CGI
Cmo Solucionarlo?
1. Corroborar la siguiente informacin y hacer las modificaciones sugeridas en caso de
que se requiera:
La IP del HOST puede estar bloqueada o mal escrita.
El puerto en WPORT puede estar bloqueados o mal escrito.
2. En caso de que no tenga acceso directo a desbloquear puertos o permitir y denegar
accesos a IP solictelo al soporte de su Hosting o administradores de su sistema de
servidores.
3. La informacin que Transbank enva a la CGI Resultado llega encriptada, esto hace
que por seguridad muchos servidores decidan bloquear su acceso es por ello que debe
corroborar que las IP de Transbank estn habilitadas en su servidor o no tengan algn
tipo de Bloqueo.
IP de Certificacin

IP de Produccin:

200.10.12.55

200.10.14.162
200.10.14.163
200.10.12.162
200.10.12.163
200.10.14.34
200.10.14.177

34
Integrando WebPay Plus Paso a Paso

Aprendiendo a leer el Log de Bitcora

Como ya sabes Bitcora nos permite ver todos los parmetros que tiene una transaccin, a
diferencia de EVN este log solo no es de mucha utilidad para ver o diagnosticar ERRORES pero nos
permite ver los estados de las respuestas tanto del Banco como del Comercio y sus detalles lo que
nos permite identificar, Duplicidades y Reversas, paso a detallar las columnas ms importantes
que te permitirn entender en qu etapa del flujo esta una transaccin en especfico:

En el log bitcora estn todos los parmetros recibidos de la transaccin y es bueno que lo
analices pues ante cualquier inconveniente con una transaccin en especifica este archivo puede
darte claridad sobre la hora que se realiz la transaccin, los ltimos cuatro dgitos de la tarjeta, el
orden de compra y su estado.
Respuestas de Transbank:
1. La primera respuesta es la respuesta del comercio, la entrega la primera columna llamada
Action entrega dos valores posibles, ACK o ERR, el primer valor se entrega cuando la
pgina de cierre da ACEPTADO y el segundo valor se entrega cuando da RECHAZADO.
2. La segunda respuesta es la respuesta del banco, entregada en el parmetro
TBK_RESPUESTA se obtiene cuando el banco da o no el pase a la reserva del dinero de la
transaccin.
En base a esas respuestas podemos analizar y determinar lo siguiente:
Si tbk_respuesta = 0 y la respuesta del comercio es ACEPTADO, la transaccin es Exitosa.
Si tbk_respuesta es distinto de 0 y la respuesta del comercio es ACEPTADO, la transaccin
es Fracasada.
Si tbk_respuesta = 0 y la respuesta del comercio es RECHAZADO, la transaccin ser
Reversada.

35
Integrando WebPay Plus Paso a Paso

Integrando WebPay Plus en WordPress


Wordpress es uno de los CMS ms utilizados actualmente y siendo realistas es un
excelente sistema cuando se trata de comercios si se implementa con el Plugin Woocommerce,
hace ya un tiempo Cristian Tala un reconocido programador creo un Plug-in para integrar WebPay
Plus, es una opcin para integrar de forma ms sencilla WebPay Plus que toda la comunidad
agradecemos enormemente puesto que luego de l vinieron ms interesados en crear Plugins para
integrar esta pasarela en Wordpress. Bueno es en base a ese Plugin es que te guiaremos paso a
paso en la integracin sin programacin de WebPay Plus a Wordpress con Woocomerce.

Para el siguiente Paso a Paso asumiremos que tienes los conocimientos bsicos
sobe la instalacin de Wordpress y su manejo en general, en caso de tener dudas
o querer interiorizarte ms puedes inscribirte en nuestro curso Online de
Wordpress en la siguiente URL http://www.tuspagosweb.com/cursos/wordpress,
esta URL estar habilitada en breve para la pre-venta.
Instalando PlugIn WebPay Plus
Primero que nada nos dirigiremos a la seccin Plugins en la administracin de nuestro
blog, ya ah entraremos a Agregar Nuevo y en el buscador escribirs WebPay, aparecern unas
cuantas opciones de las cuales debes elegir esta:

36
Integrando WebPay Plus Paso a Paso

Una vez instalado el Plugin debe ser activado en la opcin Activar Plugin:

Ya activado podrs verlo en la lista de Plugins instalados:

Configuracin Paso a Paso en WooCommerce


Esta configuracin si bien es sencilla suele dar unas vueltas que enredaran hasta al ms
hbil, para evitarlo te preparamos el siguiente paso a paso que te dar la solucin definitiva para
integrar en WordPress sin complicaciones y en solo seis pasos:
1. En tu panel de administracin dirgete a Paginas Agregar nueva y crea una pgina de
nombre Resultado de Transaccin y como contenido escribe [webpay_thankyou]
(incluyendo corchas). Esta pgina nueva le permitir al sistema redirigir a xito o Fracaso
respectivamente.
2. En tu panel de administracin dirgete a WooCommerce Ajustes Finalizar Compra
Opciones de Pago y selecciona WebPay Plus como medio de pago como se indica en la
imagen, no olvides guardar los cambios:

37
Integrando WebPay Plus Paso a Paso

3. Da Clic en Ajustes y modifica el siguiente recuadro como se indica y guarda los cambios:

CGI URL: Escribir URL de la CGI Pago en tu servidor.


Check Mac Path: Escribir la ruta completa de la CGI Check Mac en tu servidor, esta comnmente
es /home/usuario/public_html/cgi-bin/, donde usuario es el usuario de tu servidor, puedes
averiguar el nombre de tu usuario con pruebaexec.php, archivo adjunto a esta gua.
Return Page: Debes seleccionar la pgina anteriormente creada como la pgina a la que
retornaran todas las transacciones para derivar a xito o Fracaso respectivamente.
4. Abre el archivo de configuracin del KCC y cambia la URL de la pgina de cierre indicada
en el parmetro HTML_TR_NORMAL como se indica a continuacin:

38
Integrando WebPay Plus Paso a Paso

Detalle de la URL de la pgina de cierre en Wordpress.


1
2
3
http://curso.wordpress/cursowp/?wc-api=WC_Gateway_Webpayplus&xt_compra
1. URL del Comercio.
2. Directorio de instalacin de WordPress.
3. Archivo de la pgina de cierre.

5. En tu Panel de administracin de WordPress dirgete a Productos Aadir Producto y


crea un nuevo producto, no olvides asignar un valor al producto.
6. Ve a la seccin Productos en el Home del sitio del comercio y realiza tu primer pago de
forma exitosa.

39
Integrando WebPay Plus Paso a Paso

Como superar exitosamente la Certificacin de Transbank


Requisitos para Certificar
Como hemos mencionado antes, Transbank tiene unos requisitos para poder Certificar el
sitio de un comercio, estos requisitos los podemos desglosar de la siguiente forma:
Requisitos Bsicos: Se debe cumplir a cabalidad el despliegue correcto de la informacin que debe
ver el cliente desde que inicia un pago hasta que se entrega el resultado de xito o Fracaso.
Pruebas de Validaciones: Se debe corroborar el funcionamiento de las tres validaciones
obligatorias de la pgina de cierre y la validacin opcional de la pgina de xito.
Pruebas de Transacciones: Se debe corroborar que las transacciones pagadas en Debito y Crdito
lleguen a xito y fracaso segn corresponda de forma correcta.

Requisitos Bsicos:
Dentro de los requisitos aparentemente ms simples son los que constituyen el Anexo C,
este anexo se encuentra en el manual de integracin que proporciona Transbank y hace referencia
a cmo debe estar constituido un pago, su pgina de xito y su pgina de fracaso, a continuacin
detallamos lo que Transbank exige para certificar un comercio en lo que a Anexo C se refiere:

Antes de pagar:
Cuando un cliente selecciona un producto y lo lleva al carro para poder pagarlo se muestra
un detalle que puede ser similar a este:
DETALLE DE LA COMPRA
NOMBRE DEL PRODUCTO CANTIDAD
DETALLE
PREC. UNITARIO TOTAL
Caramelo de menta
2
Yo te traigo nena
$1.000
$2.000
Que solo son
1
Para ti mi amor
$500
$500
IVA
$399
Subtotal
$2.101
Total
$2.500
Debes considerar que la misma informacin que muestras como detalle de la compra antes de
pagar, debe ser la misma en la pgina de xito resultante.

40
Integrando WebPay Plus Paso a Paso

Pgina de xito:
La pgina de xito debe desplegar la siguiente informacin una vez termine exitosamente
la transaccin:
1. Informacin de la transaccin: esta debe ser ordenada y detallada para evitar que sea
devuelta por Transbank, asegrate que no falte ningn parmetro:
INFORMACION DE LA TRANSACCION
Tipo de Transaccin

Venta

Numero de OC

19

Fecha

Febrero 9, 2015

Nombre del Comercio Curso Wordpress


URL Comercio

http://curso.wordpress

Cliente

Nataniel Romanov

Cdigo de Autorizacin 185216


Final de Tarjeta

6623

Tipo de pago

Crdito

Tipo de Cuota

Sin Cuotas

Nmero de Cuotas

00

2. Detalle de la compra: Este es el detalle de lo comprado, recuerda que debe ser


exactamente igual que el detalle antes de pagar.
NOMBRE DEL PRODUCTO
Caramelo de menta
Que solo son
IVA
Subtotal
Total

DETALLE DE LA COMPRA
CANTIDAD
DETALLE
2
Yo te traigo nena
1
Para ti mi amor

PREC. UNITARIO
$1.000
$500

TOTAL
$2.000
$500
$399
$2.101
$2.500

3. Devolucin y Reembolso: Debe existir un link hacia las polticas de devolucin y


reembolso, en caso de no existir debe incluir un mensaje como este:
No se realizan devoluciones, ni reembolsos. En caso de tener alguna duda favor de contactar a
(persona XXXX) o (Departamento XXXX) al telfono (XXXX) o al mail (XXXX@XXXX.cl)".

4. Despachos: En caso de envos debe incluir un link hacia las polticas y trminos de envi,
en caso de no existir puede incluir un texto como el siguiente:

41
Integrando WebPay Plus Paso a Paso

Recuerda que tus productos sern enviados por correo a tu domicilio si es que seleccionaste este
medio de despacho y deberan estar entre 2 y 3 das hbiles a tu hogar
Pgina de Fracaso:
La pgina de fracaso debe contener los posibles motivos de la falla en la transaccin y el
nmero de la orden de compra fallida, estos motivos son preestablecidos por Transbank de la
siguiente manera:

Transaccin Fracasada
OC N 21
Las posibles causas de este rechazo son:

Error en el ingreso de los datos de su tarjeta de crdito o dbito (fecha y/o cdigo de
seguridad).
Su tarjeta de crdito o dbito no cuenta con el cupo necesario para cancelar la compra.
Tarjeta an no habilitada en el sistema financiero.

Pruebas de Validaciones:
Al momento de realizar las revisiones ms exhaustivas el equipo de soporte analiza una y
cada una de las validaciones creadas y las pone a prueba para corroborar que funcionen de forma
correcta, sigue las indicaciones y podrs hacer una revisin de las validaciones como cualquier
analista de la mesa de soporte antes de enviar a certificar el sitio del comercio:
Validacin de Monto Adulterado
En esta validacin se intenta pagar una OC con un monto distinto al que se ha gestionado
desde un principio, sigue el paso a paso:
1. Abre tu navegador Firefox y presiona en tu teclado la combinacin Ctrl + Shif + J,
aparecer la consola del navegador, haz clic derecho y selecciona la opcin que indica la
imagen:

42
Integrando WebPay Plus Paso a Paso

Registrar cuerpos de peticin y respuesta nos permitir mantener los datos que se envan en el
POST de una transaccin.
2. Una vez realizado esto entra al sitio del comercio y genera una transaccin como si fueras
a comprar un producto, cuando llegues donde tienes que poner los datos de la tarjeta no
hagas nada ms y observa la Consola del navegador y en la bsqueda de la parte superior
derecha escribe PAGO, vers algo as:

3. Podrs notar que una de las lneas es POST, haz clic en esa lnea y te mostrara el inspector
de solicitud de red y en la seccin Datos de Formulario enviados podrs ver los
parmetros enviados por POST. A esta prctica se le llama Capturar el POST.

43
Integrando WebPay Plus Paso a Paso

4. Ya con el POST capturado abre el archivo prueba.html incluido en esta gua y carga los
datos de la transaccin tal cual los datos capturados, exceptuando el Monto, modifcalo
por un valor inferior como en el siguiente ejemplo:

5. Ya modificado debes realizar el pago desde este formulario con los datos para que sea
totalmente exitosa como se muestra a continuacin:

6. Una vez realizado el pago queda expuesto lo que quisimos probar, en esta prueba
adulteramos el monto de una transaccin en proceso, la respuesta esperada es que nos
enve a la pgina de fracaso indicando que la validacin de Monto Adulterado est
funcionando correctamente, en caso de haber llegado a xito, hora de que revises el
cdigo en esa validacin para detectar el inconveniente.

44
Integrando WebPay Plus Paso a Paso

Validacin de Duplicidad de Orden


En esta prueba se intenta pagar una OC que ya se encuentra previamente pagada, sigue el
paso a paso para entender su lgica:
1. Mantn abierta la Consola del navegador y habilitada su funcin de Registrar cuerpos de
peticin y respuesta.

2. Realiza un proceso de pago de forma normal en el sitio del comercio, continua con el flujo
hasta que te lleve a xito capturando en el proceso el POST de la transaccin.

3. Carga los datos del POST en el archivo prueba.html que se encuentra con esta gua como
se muestra a continuacin sin modificar ningn parmetro:

4. Una vez realizados los cambios realiza el pago, la respuesta esperada es que seas
redirigido a fracaso puesto que intentas pagar una OC que ya se encuentra pagada y la
validacin de Duplicidad de OC la rechaza correctamente, en caso de que hayas llegado a

45
Integrando WebPay Plus Paso a Paso

xito es momento de que revises esa validacin para detectar y solucionar el


inconveniente que presenta.
Validacin de Check Mac
Las pruebas de Validacin para la Check_Mac son varias pequeas pruebas con un objetivo
claro, vulnerar la seguridad de nuestra integracin, atencin al Paso a Paso, las pruebas deben
hacerse en el mismo orden:
Inyeccin de datos con respuesta -1: En esta gua encontrara Pruebas_Mac.html como archivo
adjunto, este archivo nos permite realizar las pruebas de Chequeo en el Mac, abra el documento
en su navegador para realizar la primera prueba y complete sus casillas como indica la imagen:

46
Integrando WebPay Plus Paso a Paso

Los parmetros modificados son:


URL donde se inyectaran los datos: Aqu est la URL de la pgina de cierre del comercio.
Respuesta de TBK: Indica el valor de respuesta, para esta prueba se fuerza el -1.
Orden de Compra, ID de Sesin y Monto son modificados por una X, puede ser cualquier
letra.
El objetivo de esta prueba es forzar una respuesta -1 con valores alfanumricos, esta informacin
es inyectada a la pgina de cierre para entregar el siguiente resultado:

Solo para esta prueba se espera que la respuesta sea RECHAZADO al igual que ACEPTADO,
depender de la lgica usada en la programacin de la pgina de cierre y en ambos casos para
soporte Transbank est correcto.

Inyeccin con datos alfanumricos: Esta validacin busca forzar la inyeccin de datos falsos hacia
la pgina de cierre intentando obtener un ACEPTADO. Reemplazar la informacin como se indica:

47
Integrando WebPay Plus Paso a Paso

Los parmetros modificados son:


URL donde se inyectaran los datos: Aqu est la URL de la pgina de cierre del comercio.
Respuesta de TBK: Indica el valor de respuesta, para esta prueba se fuerza el 0 para que
entregue el ACEPTADO.
Orden de Compra, ID de Sesin son modificados por una 1z, puede ser cualquier letra y
Monto se mantiene con un valor numrico.
El objetivo de esta prueba es forzar una respuesta 0 con valores alfanumricos y numricos, esta
informacin es inyectada a la pgina de cierre para entregar un ACEPTADO forzado. La respuesta
esperada para esta prueba es un RECHAZADO.
Inyeccin a Cierre con datos de transaccin real: Esta prueba usa datos de una transaccin real
para lo cual debes capturar el POST de una transaccin real sin pagar, al igual que en la validacin
de Monto adulterado:

48
Integrando WebPay Plus Paso a Paso

Luego carga los datos en el formulario como muestra el siguiente ejemplo:

Una vez realizada la carga de datos haz el envo, la respuesta esperada para esta prueba es un
RECHAZADO.
Inyeccin de datos a la pgina de xito: En esta prueba ocuparas los datos del mismo POST
anterior, lo nico que cambiara es que en la URL de envo estar la URL de xito como muestra el
siguiente ejemplo:

49
Integrando WebPay Plus Paso a Paso

La respuesta esperada para esta prueba es que redirija a la pgina de fracaso o en su defecto al
Home del sitio, dependiendo del nimo de la mesa de soporte puede que hasta no tengan
inconvenientes si se muestra un ERROR. Esta prueba debes repetirla con los datos de una
transaccin fracasada.

Inyeccin a Cierre con datos de una transaccin pagada: Esta validacin busca inyectar datos
directamente a la pgina de cierre de una transaccin previamente pagada. Captura el POST de
una transaccin que haya sido pagada y crgalo en el formulario como indica el ejemplo:

La respuesta esperada para esta prueba es RECHAZADO.

50
Integrando WebPay Plus Paso a Paso

Pruebas de Transacciones
Esta ltima revisin es la ms sencilla solo se trata de realizar transacciones y que funcionen
como deben, si usas la divisa de fracaso, debe fracasar y si usas la divisa de xito debe ser exitosa,
en base a eso, realiza las siguientes pruebas:

Transaccin exitosa Debito


Transaccin Fracasada Debito
Transaccin Exitosa Crdito Sin Cuotas
Transaccin Exitosa Crdito 3 Cuotas
Transaccin Exitosa Crdito 40 Cuotas
Transaccin Fracasada Crdito

Si las pruebas realizadas fueron exitosas, Felicitaciones haz terminado con las revisiones que
Soporte Transbank hace a los comercios para enviar a Certificar.

Puntos a considerar:
1. La certificacin que Transbank realiza no es rpida, toma mnimo una semana y como
mximo meses.
2. Si envas un Email indicando que Soporte Transbank puede hacer la revisin a la
integracin, tienes que estar muy seguro de lo que dices y haber hecho todas las pruebas
antes puesto que si encuentran un solo detalle te escribirn o llamaran para que lo
soluciones lo que retrasa el proceso.
3. El Equipo de Soporte WebPay es un personal altamente competente que pueden guiarte
ante algunas dudas pero se encuentran restringidos por polticas de seguridad de
Transbank a darte ms informacin sobre configuracin de servidores, no insistas.
4. Si bien Soporte WebPay tiene un tiempo mximo de respuesta de 24 hrs por Email, este
tiempo puede variar acorde a la carga de trabajo, desde Septiembre del 2014 que no
recuperan de forma constante su ritmo de trabajo as que no te sorprendas que se
demoren ms en responder, solo insiste telefnicamente.
5. Tanto Anexo C como Validaciones pueden ir variando con el tiempo acorde el estado de
nimo de Transbank.

51
Integrando WebPay Plus Paso a Paso

Has logrado hacer la integracin de principio a fin, haz corroborado que las validaciones
estn funcionando en base a las mismas pruebas que hace Transbank para enviar a Certificar, es el
momento ideal para enviar a certificar el sitio del comercio, paso a paso:

1.
2.
3.
4.

Completa la Ficha de Certificacin que est dentro del KCC de Transbank


Envala a Soporte@Transban.cl solicitando la revisin de su integracin
Ellos tomaran contacto contigo cuando hayan realizado las pruebas.
Si han pasado 24 Hrs y no sabes nada de Soporte, llmalos al 800 44 11 44 y consulta por
tu solicitud.
5. Una vez revisado el sitio si encuentran un reparo te lo harn saber, en caso de que todo
est funcionando perfectamente enviaran el sitio al departamento de Certificacin y te
notificaran de ello (aunque a veces lo olvidan).
6. Certificacin al tomar el caso se pondr en contacto contigo para indicarte el paso a
produccin que no es nada ms que generar las llaves productivas con un archivo que
ellos te piden descargar y cambiar los parmetros del archivo de configuracin por los
datos productivos, nivel de complejidad 0 despus de haber trabajado con esta gua.
7. Haciendo todo bien el comercio ya estar productivo. Felicitaciones!!!
S que aparenta ser rpido el proceso, pero repito que depende la carga de trabajo de la
mesa de soporte, esto puede tomar un buen tiempo.

52
Integrando WebPay Plus Paso a Paso

Otras Opciones
No porque esta gua este enfocada a la integracin de WebPay Plus quiere decir que no
podemos explorar o dar a conocer otras alternativas, no estamos ciegos y entendemos que
WebPay Plus es un sistema muy antiguo con muchos problemas pero un mal necesario para los
comercios en chile, pero de aqu a unos pocos aos han llegado a chile plataformas que nos dan
una esperanza de nuevas y ms seguras tecnologas para realizar Pagos y cobros en lnea, paso a
detallas las dos que ms nos llaman la atencin como negocio.

Esta plataforma ha ido abarcando terreno en Latinoamrica en los ltimos aos pues tiene
varias soluciones de botones de pago y Plugins en distintos CMS como:

Como si fuera poco presenta soluciones Pre integradas para llegar y vender en las siguientes
plataformas:

Adems para desarrolladores permite la integracin del sistema de pagos a travs de API y
WEBCHECKOUT segn sean nuestras necesidades.

53
Integrando WebPay Plus Paso a Paso

Vamos al grano, cunto gano y cunto gana PayU?


PayU es bien sincero al momento de hablar de dineros, detalla cada uno de los cobros que
se realizan por transaccin, o as lo quieren hacer ver con su tarifa Bsica:

COBROS POR TRANSACCION EXITOSA


CREDITO
DEBITO
Comisin del 4.99% + $151 CLP
Comisin del 4.99% + $151 CLP
VALORES INFERIORES A $10.000 CLP
Comisin del 8% + $50 CLP, solo aplicable para tarjetas de Crdito
Como dato que pocos manejan, este sistema de pagos tiene integrado WebPay Plus as que
cuando se realizan los cobros o pagos, estos son realizados va el mismo antiguo sistema de pagos
online.

54
Integrando WebPay Plus Paso a Paso

A mi gusto personal, el favorito en nuestro equipo de trabajo, una no s si innovacin pero


algo que estaba haciendo falta hace ya bastante tiempo en Chile, este sistema es parecido al
anterior, detallemos:
Nos da la opcin de trabajar con botones de pago y Plugins para los siguientes CMS:

Adems de Drupal como plataforma de desarrollo web:

Adems si somos desarrolladores podemos elegir de una rica documentacin creada por ellos para
dejar volar nuestra imaginacin integrando esta pasarela con cdigo en base a:

55
Integrando WebPay Plus Paso a Paso

Khipu es un sistema independiente, si bien me parece haber visto algo de Khipu con una
integracin KCC, para esta versin no es el caso, Khipu trabaja de forma total y completamente
independiente lo que permite que en esta plataforma exista un modo desarrollador que nos
permite hacer transacciones tipo Prueba, es como el ambiente de certificacin de Transbank, pero
bueno.
Hora de hablar de lo bueno, el precio por transaccin:
COBROS POR TRANSACCION EXITOSA
CREDITO
DEBITO
Comisin del 1% con tope de $300 CLP
Comisin del 1% con tope de $300 CLP
Tal cual ests leyendo, cobra una comisin de un 1% y si ese 1% supera los $300 CLP no se cobra
ms, entonces te pueden pagar un milln y la comisin ser solo $300C CLP, una maravilla no?.
Como detalle anexo, Khipu no tiene una cuenta interna en la cual este reservado tu dinero para
que luego lo enves a tu cuenta, Khipu hace recaudaciones diarias, esto quiere decir que lo que te
pagaron hoy, estar en tu cuenta bancaria maana mismo.
El nico gran inconveniente y diferencia entre Khipu y el resto de las pasarelas de pago online es
que para realizar un pago, el cliente debe descargar e instalar una plataforma de pagos de khipu y
si bien el proceso se lleva de forma casi automtica cuanto intentas pagar por primera vez, a
algunos les puede sorprender, pero no puedo decir que sea un motivo de prdida de ventas o
alejamiento de los clientes.
Como con nosotros los animo a probar Khipu en sus proyectos.

56
Integrando WebPay Plus Paso a Paso

57
Integrando WebPay Plus Paso a Paso

58
Integrando WebPay Plus Paso a Paso

59
Integrando WebPay Plus Paso a Paso

Das könnte Ihnen auch gefallen