Anda di halaman 1dari 26

Webpay

Integracion con Web Services

Temario

Introduccin a Webpay
Flujo de pago
Introduccin a WebServices
Llaves, Certificados Digitales y firma
Flujo de pago
Integracin de tienda normal

Introduccion a Webpay
Producto que permite a los comercios habilitar el pago de
servicios y productos a traves de Internet con tarjetas bancarias
de credito y debito.
El servicio es proporcionado a traves de integracion que debe
realizar el comercio y certificar Transbank.
Los mecanismos de integracion disponibles hoy son:
KCC
Botones
Web Service
Webpay Plus
OneClick

Flujo de Webpay

El flujo de pginas para Webpay Plus, de la transaccin


Normal, es el siguiente:

Sitio del
Comercio

Webpay
Formulario
de Pago

Autenticacin
en Banco
Emisor

Sitio del
Comercio

Webpay
Comprobante
de pago

Sitio del
Comercio

Webservices Webpay.
Mecanismo de integracion Web Service SOAP que permitiran a
los comercios integrarse sin la necesidad de utilizar el KCC.
Ademas incorpora nuevas operaciones para el comercio:
Anulacion de ventas
Captura diferida On-line.
SOAP es un protocolo para acceso a Servicios Web (Simple
Object Access Protocol)
Este protocolo se puede usar para comunicar aplicaciones sobre
Internet, independiente de la plataforma, y esta basado en XML.

Webservices Webpay. Seguridad.

WS-Security (Web Service Security): Protocolo de seguridad


aceptado como estndar por OASIS (Organization for the
Advancement of Structured Information Standards). Garantiza la
autenticacin de los actores y la confidencialidad de los mensajes
enviados.

Se utiliza https (SSL) para encriptar el canal de comunicacin


SOAP.
Los mensajes de requerimiento y respuesta son firmados
digitalmente, con el certificado del comercio.

Webservices Webpay. Seguridad.


HTTPS
El protocolo HTTPS utiliza encriptacion basada en SSL/TLS, para
crear un canal cifrado, por donde transmitir HTTP. Se obtiene de
esta forma la privacidad de los datos.
Firma Digital
Es un mecanismo basado en criptografia que permite identificar el
origen de un mensaje, y asegurar que este no ha sido alterado
durante la transmisin. Tenemos de esta forma la autenticidad y
la integridad de los datos.

Webservices Webpay. Llaves.


Llaves
Se utilizan certificados digitales, y por tanto, llaves asimetricas (o
llaves publicas). Esto es un par de llaves, publica y privada, que
se generan de forma unica, mediante algoritmos criptograficos que
aseguran la imposibilidad de obtener dos veces el mismo par.
La componente pblica se puede entregar a otras personas, en
este caso a Transbank, mientras que la parte privada debe ser
resguardada por el comercio.

La parte pblica se puede generar a partir de la privada.


Esto es similar a lo utilizado por KCC 6.0 actualmente.

Webservices Webpay. Certificado.


Certificado Digital
Es un documento electrnico que contiene informacin de
identidad del propietario, de la llave publica, y esta firmado por
una entidad de confianza (CA). Se utiliza para asegurar la
propiedad de una clave publica.
Para Webpay se usa un mecanismo de confianza, donde no es
necesario un CA valido, dado que el certificado digital se
almacena en Transbank, de esta forma Webpay tiene la llave
publica para verificar la firma digital.
Por tanto se pueden usar certificados autofirmados.
Es importante que el certificado digital contenga en el campo
Common Name el codigo de comercio asignado por Transbank.

Webservices Webpay. Llaves y certificado.


C:\Program Files\Java\jdk1.7.0_51\bin

Generacin de par de llaves

keytool -genkeypair -v -alias wpmp -keypass password -keystore


C:\temp\597031079233.jks -storepass password -validity 1460 -keysize 1024 -keyalg
RSA -dname "CN=597031079233, OU=DCR, O=TBK, L=Santiago, S=Chile, C=CL"

Export certificado comercio

keytool -exportcert -rfc -keystore C:\temp\597031079233.jks -storepass password alias wpmp > C:\temp\597031079233.crt

Import certificado Transbank

keytool -importcert -alias serverTBKDesa -file C:\temp\desa-serverTBK.crt storetype JKS -keystore C:\temp\597031079233.jks -storepass password

Webservices Webpay.

Servicio Transaccin Normal / Mall


Servicio Captura Diferida
Servicio Anulaciones
Servicio Transaccin OneClick

Flujos por tipo de transacciones


Tienda Normal

Pagina retorno

Pagina final

Flujos por tipo de transacciones


Mall

Pagina retorno

Pagina final

Integracin Prerequisitos servidor (Php)


OpenSSL activo dentro del php.ini

Extensin Soap activa dentro del php.ini

Extensin mcrypt. (php)

Para la integracin php se puede descargar la API para ayuda


de encriptacin/firma
https://github.com/OrangePeople/php-wss-validation

Integracin Prerequisitos desarrollo


Certificado pblico de Transbank.

Certificado pblico de comercio enviado a Transbank y cargado


en Webpay.

Llave privada del comercio.

Preparacin del flujo

Obtencin de los datos de la compra/venta.

Generacin cliente WS.

Pgina (componente) de inicio de la transaccin.


En esta componente se realiza la llamada al primer mtodo de
webpay.

Pgina (componente) de comprobacin de la transaccin.


En esta pgina se realizan 4 operacin bsicas:

Obtener TOKEN desde Webpay.


Obtener resultado de la transaccin Webpay.
Informar a Webpay que se obtuvo el resultado.
Registrar en el comercio el estado del pago.

Pgina (componente) de muestra de resultado de la operacin.

Generacin Cliente WS (PHP)


Uso de herramienta EasyWsdl2PHP
(http://sourceforge.net/projects/easywsdl2php/)
Esta herramienta permite generar el cliente Web Service que
permite la integracin con el servicio de pago.

Uso:
Mediante URL.(Para esto debe estar la aplicacin en un servidor
web con php y extensin soap habilitados).

Mediante lnea de comandos.

Se obtiene una clase PHP que tiene toda la interface para usar
el servicio.

Pgina Inicio
Objetivo del componente:
Invocar al mtodo initTransaction de Webpay
Guardar datos de llamada al servicio.
Obtener TOKEN de transaccin de Webpay.

Se recomienda asociar el TOKEN de Webpay a la transaccin de


pago.

Pgina Retorno
Objetivo del componente:
Obtener TOKEN de la transaccin.
Invocar al mtodo getTransactionResult de Webpay
Obtener resultado de la transaccin.

Validar que la firma digital del mensaje sea vlida.


Invocar al mtodo acknowledgeTransaction.
Actualizar estado de la transaccin en curso.

Pgina Resultado
Objetivo del componente:
Mostar el resultado de la transaccin.
En caso de xito mostrar comprobante de transaccin finalizada y
detalles de la compra del bien o servicio pagado.
En este punto no hay interaccin con el servicio de
integracin.

Componentes (Ejemplos PHP)


Pgina de inicio.
tiendaphp\index.php

Pgina de comprobacin.
tiendaphp\result.php

Pgina de resultado.
tiendaphp\final.php

One Click

1. Cliente se inscribe en
sitio Web del Comercio con
sus datos personales.

Emisor

2. Cliente ingresa sus datos de


tarjeta en sitio Web de
Transbank, con PAN + Fecha
Venc. + CVV2.

7. Se informa al Comercio
registro exitoso.

6. Si la validacin es exitosa,
se registran datos de tarjeta
en Base de Datos de TBK
(PAN, F.Exp y correo elect.,
NO se almacena CVV2).

Base
Tarjeta
habientes

3. Cliente se autentica en
su Banco con clave home
banking y clave dinmica.

4. Si el cliente es autenticado en forma


exitosa, Transbank enva transaccin de
validacin a Autorizador.

Transbank

Autorizador
5. Valida datos de tarjeta.

One Click

One Click

One Click

Anda mungkin juga menyukai