Especificaciones Técnicas Bancomer Vers 2.1 2011

8
Integración TPV Virtual Bancomer V 2.1 Plataforma Plataforma De Comercio De Comercio Electrónico Electrónico Seguro Seguro BBVA Bancomer BBVA Bancomer Versión 2.1 Información propiedad de BBVA Bancomer SA de CV Servicios Electrónicos Globales S.A. de C.V. Julio 2011

description

Manual, especificaciones tecnicas para desarrollar ecommerce

Transcript of Especificaciones Técnicas Bancomer Vers 2.1 2011

Page 1: Especificaciones Técnicas Bancomer Vers 2.1 2011

Integración TPV Virtual Bancomer V 2.1

PlataformaPlataformaDe Comercio De Comercio ElectrónicoElectrónico

SeguroSeguroBBVA BancomerBBVA Bancomer

Versión 2.1Información propiedad deBBVA Bancomer SA de CV

Servicios Electrónicos Globales S.A. de C.V. Julio 2011

Page 2: Especificaciones Técnicas Bancomer Vers 2.1 2011

Integración TPV Virtual Bancomer V 2.1

Documento de IntegraciónEspecificaciones Técnicas

Introducción

Este documento ofrece los aspectos a tener en cuenta por los comercios que deseen utilizar la plataforma de Comercio Electrónico en Bancomer. Así mismo, expone las indicaciones técnicas necesarias para realizar la conexión del servidor del comercio con la plataforma E-Commerce de BBVA Bancomer.

Para poder ofrecer el pago con tarjeta a través del TPV virtual se deberán realizar modificaciones sencillas en el servidor de su comercio en Internet.

Servicios Electrónicos Globales S.A. de C.V. Julio 2011

Page 3: Especificaciones Técnicas Bancomer Vers 2.1 2011

Integración TPV Virtual Bancomer V 2.1

Envío de datos a la plataforma de Comercio Electrónico Bancomer

Una vez que el cliente ha escogido los productos o servicios que adquirirá en la página del comercio, está listo para realizar el pago con tarjeta bancaria. En este punto, el comercio deberá enviar los datos básicos de la transacción (monto, número de afiliación, descripción, etc.) a la plataforma de comercio electrónico Bancomer. Estos datos serán enviados mediante un formulario de pago que será recibido por Bancomer. Cabe señalar que los datos bancarios (número de tarjeta, fechas de expiración, etc.) no son solicitados por el comercio, son capturados en pantallas que residen en la plataforma de Bancomer.

El formulario de pago deberá contener los datos que se muestran en la tabla, dicho formulario se enviará mediante un mensaje http POST a la siguiente dirección (URL).

https://ecom.eglobal.com.mx/VPBridgeWeb/servlets/TransactionStartBridge

(En el formulario de pago, los datos de la tarjeta de crédito no se envían, estos son requeridos en una segunda pantalla).

El mensaje gestionará la autorización de las operaciones. Los datos imprescindibles para la gestión de la autorización están marcados como campos obligatorios en la tabla siguiente.

DATO NOMBRE DEL DATO Long. / Tipo COMENTARIOSImporte Ds_Merchant_Amount 12 / Núm. Obligatorio. En caso de no llevar punto

decimal las últimas dos posiciones de la cifra se consideran centavos. Ej: 110 correspondería a un importe de 1.10

Moneda Ds_Merchant_Currency 4 / Núm. Obligatorio. En el caso de que el comercio sea mexicano el valor por omisión será 484 que son pesos mexicanos.

Número de Pedido Ds_Merchant_Order 12 / A-N. Obligatorio. Los 4 primeros dígitos deben ser numéricos, para los dígitos restantes solo utilizar los siguientes caracteres ASCII Del 30 = 0 al 39 = 9 Del 65 = A al 90 = Z Del 97 = a al 122 = z

Cada transacción deberá tener un número de pedido diferente, de lo contrario la plataforma la rechazará por duplicidad

Descripción del producto

Ds_Merchant_ProductDescription 125 / A-N Obligatorio. 125 caracteres como longitud máxima. Este campo se mostrará al titular en la pantalla de confirmación de la compra.

Número de afiliación Ds_Merchant_MerchantCode 7 / N. Obligatorio. Código asignado al comercio por parte de Banco (número de afiliación).

URL del comercio para la notificación “on-line”

Ds_Merchant_MerchantURL 250 / A-N. Obligatorio. URL del comercio donde se notificara en tiempo real a través de un mensaje post la información de la transacción.

Servicios Electrónicos Globales S.A. de C.V. Julio 2011

Page 4: Especificaciones Técnicas Bancomer Vers 2.1 2011

Integración TPV Virtual Bancomer V 2.1

URL OK Ds_Merchant_UrlOK 250 / A-N. Opcional. Durante el proceso de pago y una vez que se muestra al cliente la pantalla de la transacción aceptada, es posible direccionar el navegador a la pagina del comercio especificada en esta URL.

URL Cancel Ds_Merchant_UrlKO 250 / A-N. Opcional. Durante el proceso de pago y una vez que se muestra al cliente la pantalla de la transacción denegada, es posible direccionar el navegador a la pagina del comercio especificada en esta URL.

Identificación de comercio

Ds_Merchant_MerchantName 25 / A-N. Opcional. Es el nombre del comercio (Denominación Social) aparecerá en la impresión del ticket del cliente.

Firma del comercio Ds_Merchant_MerchantSignature 40 / A-N Obligatorio. Ver ANEXO I.Número de terminal Ds_Merchant_Terminal 3 / Núm. Obligatorio. Número de terminal que le

asignará su banco. Por omisión será “1”.Tipo de transacción Ds_Merchant_TransactionType 1 / Num Obligatorio. Valores disponibles:

0 – Autorización (venta)4 – Cancelación (mismo día)

Datos del comercio Ds_Merchant_MerchantData 1024 /A-N Opcional. Campo libre que el comercio puede utilizar para recibir información propia en la notificación on-line.

Una vez que el comercio envía este formulario con los datos respectivos, el browser del cliente es redireccionado a una pantalla de BBVA Bancomer en las que captura sus datos bancarios:

Servicios Electrónicos Globales S.A. de C.V. Julio 2011

Page 5: Especificaciones Técnicas Bancomer Vers 2.1 2011

Integración TPV Virtual Bancomer V 2.1

Posteriormente, para tarjetas participantes en los programas Verified by Visa y MasterCard Securecode, se presentarán las pantallas de autenticación del banco correspondiente, dándole a la compra un mayor nivel de seguridad.

Por último, se lleva a cabo la autorización con el banco emisor correspondiente. En este punto se realizan dos acciones:

1. Se envía la notificación on-line al comercio a la URL que indicó en el parámetro Ds_Merchant_MerchantURL (ver Anexo II)

2. Al término de esta notificación, se presenta al cliente un recibo de la compra con un botón ‘cerrar’ que redirecciona el browser del cliente a una de las rutas UrlOK y UrlCancel para transacciones aprobadas y rechazadas, respectivamente y son incluidas en el formulario de pago en los campos Ds_Merchant_UrlOK y Ds_Merchant_UrlKO .

Servicios Electrónicos Globales S.A. de C.V. Julio 2011

Page 6: Especificaciones Técnicas Bancomer Vers 2.1 2011

Integración TPV Virtual Bancomer V 2.1

Anexo IFirma del comercio

Se asignará al comercio una clave que se utilizará para firmar los datos enviados por el mismo, pudiendo verificarse no sólo la identidad del comercio, sino también que los datos no han sido alterados en ningún momento. Se utilizará como algoritmo de seguridad un código Hash SHA-1, que garantiza los requisitos de seguridad en cuanto a la autenticación del origen. La clave secreta se proporcionará como parte del trámite de inscripción a la plataforma.

Este mismo algoritmo se utilizará para asegurar al comercio la autenticidad de los datos de la respuesta, en caso de que se proporcione una URL de notificación on-line por parte del comercio.

La firma electrónica del comercio se deberá calcular de la forma siguiente:

Digest = SHA-1(Ds_Merchant_Amount + Ds_Merchant_Order + Ds_Merchant_MerchantCode + Ds_Merchant_Currency + Ds_Merchant_TransactionType + CLAVE SECRETA)

Ejemplo:

IMPORTE=1235 NÚMERO DE PEDIDO=29292929CODIGO COMERCIO=1920191MONEDA=484TIPO DE OPERACIÓN = 0CLAVE SECRETA=h2u282kMks01923kmqpo

Cadena datos: 12352929292919201914840h2u282kMks01923kmqpo

Resultado SHA-1: 332de724dde0ed9e71d2d07cc5aaf3c49a526b58

Notar que el algoritmo SHA-1 genera un valor binario de 160 bits (20 bytes), la cual se debe convertir a su representación hexadecimal con 40 caracteres ASCII (2 por cada byte, del 00 al FF).

El cálculo de la firma del comercio no debe hacerse en el browser del tarjetahabiente, de lo contrario, la clave secreta estaría comprometida.

Dependiendo del software utilizado en el servidor del comercio, deberán usarse las librerías criptográficas que correspondan. Por ejemplo:

Java, JSP: java.security.MessageDigest ASP.NET: System.Security.Cryptography.SHA1

Una vez que se ha generado la firma no se deben modificar los datos de ningún modo ya que el sistema los utiliza para validar la firma y si lo que se recibe no es exactamente lo que se utilizó para generar la firma, la transacción será invalidada.

Servicios Electrónicos Globales S.A. de C.V. Julio 2011

Page 7: Especificaciones Técnicas Bancomer Vers 2.1 2011

Integración TPV Virtual Bancomer V 2.1

Anexo IIRespuesta “on-line” de la TPV Virtual Bancomer al comercio

Esta opción esta disponible para aquellos comercios que necesitan una verificación inmediata de la transacción para su gestión. En la cual contamos con 2 tipos de Notificaciones:

1.- Respuesta http:

La respuesta http es un proceso independiente de la conexión con el navegador del cliente y no tiene ningún reflejo en la pantalla del mismo. Evidentemente, en el lado del comercio, deberá existir un proceso que acepte y procese esta respuesta http.

El protocolo utilizado en las respuestas puede ser http o https, el formato de este mensaje es un formulario HTML, enviado con el método POST, y cuyos campos son los siguientes (en los campos la longitud se considera máxima por lo que no es imprescindible el relleno de los mismos; la firma será generada con los campos exactamente como se envíen):

DATO NOMBRE DEL DATO LONG/TIPO

COMENTARIOS

Fecha Ds_Date dd/mm/yyyy Fecha de la transacción

Hora Ds_Hour HH:mm Hora de la transacción

Importe Ds_Amount 12 / Núm. Mismo valor que en la petición.

Moneda Ds_Currency 4 / Núm. Mismo valor que en la petición. 4 se considera su longitud máxima.

Número de pedido Ds_Order 12 / A-N. Mismo valor que en la petición.

Identificación de comercio Ds_MerchantCode 9 / N. Mismo valor que en la petición.

Terminal Ds_Terminal 3 / Núm. Número de terminal que le asignará su banco. 3 se considera su longitud máxima.

Firma para el comercio Ds_Signature 40 / A-N Ver sección siguiente para las instrucciones de su cálculo.

Código de respuesta Ds_Response 4 / Núm. 000 – Aprobada001 – Rechazada

Datos del comercio Ds_MerchantData 1024 / A-N Información opcional enviada por el comercio en el formulario de pago.

Pago Seguro Ds_SecurePayment 1 / Núm. 0 – Si el pago se realizó en forma tradicional

1 – Si el pago se realizó en modalidad 3D Secure

Tipo de operación Ds_TransactionType 1 / A-N Tipo de operación que se envió en el formulario de pago

Idioma del titular Ds_ConsumerLanguage 3 / Núm El valor 0, indicará que no se ha determinado el idioma del cliente. (opcional). 3 se considera su longitud máxima.

Código de error Ds_ErrorCode 7 / A-N Ver tabla siguiente para los valores posibles

Mensaje de error Ds_ErrorMessaje 40 / A-N Descripción del código de error o aprobación.

Servicios Electrónicos Globales S.A. de C.V. Julio 2011

Page 8: Especificaciones Técnicas Bancomer Vers 2.1 2011

Integración TPV Virtual Bancomer V 2.1

La firma para el comercio es calculada de acuerdo al algoritmo y operativa descrita en el anexo I, pero utilizando la siguiente fórmula

Digest = SHA-1(Ds_Amount + Ds_Order + Ds_MerchantCode + Ds_Currency + Ds_Response + CLAVE SECRETA)

La conexión utilizada para comunicar la confirmación “on-line” entre el TPV Virtual de Bancomer y el comercio puede ser SSL. Opcionalmente el comercio puede activar un filtro para limitar la recepción de la confirmación “on-line” sólo desde el TPV Virtual de Bancomer para evitar comunicaciones fraudulentas.

El TPV Virtual de Bancomer por defecto puede comunicar a los puertos 80 y 443 del comercio. Al hacer la notificación on-line, la TPV virtual establece un canal seguro SSL con el comercio (si la URL es https), por ello es obligatorio que el certificado que presenta la página del comercio sea emitido por una entidad reconocida (Verisign, Thawte, etc.) y no un certificado auto-firmado

Una vez que el comercio recibe el formulario, el código de resultado (Ds_ErrorCode) detalla el resultado de aprobación o rechazo de la transacción:

CÓDIGO SIGNIFICADO

00 Transacción autorizada

01 Transacción denegada por el emisor

04 Transacción denegada por el emisor

05 Transacción denegada por el emisor

14 Número de tarjeta no válido

2400 Autenticación 3D secure no fue satisfactoria.

Cualquier otro valor Transacción denegada

Servicios Electrónicos Globales S.A. de C.V. Julio 2011