Paycom Integracion Web2

12
BAC/Credomatic | 1 MANUAL DE INTEGRACIÓN PARA LA REALIZACIÓN DE AUTORIZACIONES POR WEB Versión 1.3 Mayo 2011

description

Manual de Integracion para la plataforma e-socket de BAC

Transcript of Paycom Integracion Web2

Page 1: Paycom Integracion Web2

BAC/Credomatic | 1

MANUAL DE INTEGRACIÓN PARA LA

REALIZACIÓN DE AUTORIZACIONES

POR WEB

Versión 1.3

Mayo 2011

Page 2: Paycom Integracion Web2

BAC/Credomatic | MANUAL DE INTEGRACIÓN PARA LA REALIZACIÓN DE AUTORIZACIONES POR WEB

2

Contenido Metodología: ................................................................................................................................... 3

Parámetros de Autenticación.............................................................................................................. 5

Hash de Entrada .............................................................................................................................. 5

Campos adicionales requeridos: ..................................................................................................... 5

"time" .......................................................................................................................................... 5

"Key_id '....................................................................................................................................... 5

'Hash' ........................................................................................................................................... 5

Hash de Respuesta. ......................................................................................................................... 7

Campos Adicionales Enviados en la Respuesta: .............................................................................. 7

"time" .......................................................................................................................................... 7

"amount" ..................................................................................................................................... 7

'Hash' ........................................................................................................................................... 7

Formulario para Solicitar Autorización. .............................................................................................. 8

Descripción de Variables Recibidas. .................................................................................................. 10

Anexo 1 Códigos de Respuesta de AVS ............................................................................................. 11

Anexo 2 Códigos de Respuesta de CVV ............................................................................................. 11

Anexo 3 Códigos de Respuesta ......................................................................................................... 12

Page 3: Paycom Integracion Web2

BAC/Credomatic | MANUAL DE INTEGRACIÓN PARA LA REALIZACIÓN DE AUTORIZACIONES POR WEB

3

Metodología: El proceso de autorización mediante la invocación del URL

https://paycom.credomatic.com/PayComBackEndWeb/common/requestPaycomService.go

, se realiza mediante la ejecución de los siguientes pasos:

Credomatic

Cliente Web del Afiliado

Sitio Web del

Comercio

Afiliado

1 2

3

45

6

Page 4: Paycom Integracion Web2

BAC/Credomatic | MANUAL DE INTEGRACIÓN PARA LA REALIZACIÓN DE AUTORIZACIONES POR WEB

4

Paso Núm. Descripción

1 El Cliente Web del Afiliado inicial el proceso de pago.

2 El Sitio Web del Comercio Afiliado devuelve una página de pago al Cliente con el formulario apuntando a la URL de Pago de Credomatic.

3 El Cliente Web del Afiliado envía el formulario de Pago hacia Credomatic.

4 Credomatic procesa la transacción y redirige el Cliente Web del Afiliado hacia el Sitio Web del Comercio, enviando el resultado de la transacción mediante una petición GET.

5 Debido a la redirección, el Cliente Web del Afiliado solicita al Sitio Web del Comercio una página con el resultado de la transacción.

6 El Sitio Web del Afiliado interpreta el resultado de la transacción y despliega el respectivo mensaje al Cliente Web (Ya sea que la transacción sea o no aprobada).

Al utilizar este método de autorización, el titular de la tarjeta enviará los datos de pago

directamente a Credomatic, pero la respuesta debe ser transmitida de nuevo al Sitio Web del

Comercio Afiliado.

Una vez el titular de la tarjeta solicita la pagina de pago (paso 1), el comerciante debe mostrar una

formulario al titular de la tarjeta (paso 2) que contiene y recoge los datos de pago con el

apropiado nombre de variables (como se define más adelante). La variable adicional redirect

(como se define a continuación) indicarán al Sistema de Pagos, donde debe ser redirigido el titular

de la tarjeta y esencialmente la página web que analizará los resultados de la transacción. Esto

normalmente se pasa como un campo oculto. El Formulario de pago debe estar dirigido al URL de

Credomatic.

Cuando el titular de la tarjeta envía el formulario, los datos se envían al Sistema de pagos de

Credomatic (Paso 3). El Sistema de Pagos procesa la transacción y redirige el explorador del

titular de la tarjeta a la dirección suministrada en la variable redirect (paso 4).

En el paso 5, el titular solicita la URL enviada anteriormente en la variable redirect y los resultados

de la operación se incluyen en la petición GET. El comerciante debe crear un script que analiza las

variables de respuesta, actualiza su base de datos / sistema de pedido debidamente, y muestra el

recibo o rechazo de la transacción al titular de la tarjeta. (Paso 6).

Page 5: Paycom Integracion Web2

BAC/Credomatic | Parámetros de Autenticación. 5

Parámetros de Autenticación. Para la verificar la autenticidad de las transacciones se utiliza la validación de las variables hash, las

cuales se explican a continuación:

Hash de Entrada El hash de entrada protege la autenticidad de los datos en la solicitud. El key_id y hash son las

variables que sustituyen un nombre de usuario y una contraseña estándar de autenticación. En

concreto, los siguientes campos están también protegidos por el hash: número de Orden (orderid)

y monto (amount).

Campos adicionales requeridos: "time"

Valor de tiempo que también se asocia con la protección de la transacción El Sistema de

Pagos de Credomatic rechazará los tiempos que tienen una diferencia de más de 15

minutos en relación a la hora actual del Servidor de Credomatic. El tiempo debe enviar en

la variable "time" y debe representar una marca de tiempo C-style/Unix (número de

segundos desde el 1 de enero 1970 UTC, hasta momento en cuestión)

"Key_id '

Este valor de la clave se puede obtener en la Sucursal Electrónica en la pestaña de

“Afiliados”, Opción de “Ecommerce” submenú “Cambio de Llaves” ver Figura 2

'Hash'

El hash deben ser los valores de las siguientes variables delimitado por los “pipes (|) “ y

encriptados con un algoritmo MD5.

orderid| amount|time|key

El valor de Key se puede obtener en la pestaña de “Afiliados”, Opción de “Ecommerce”

submenú “Cambio de Llaves” ver Figura 2

Ejemplo de Hash de entrada.

$time = 1279302634 //Este valor equivale a Viernes, 16 Julio 2010 17:50:34 GMT

$orderid = test

$amount= 1.00

$Key= 23232332222222222222222222222222

Page 6: Paycom Integracion Web2

BAC/Credomatic | Parámetros de Autenticación. 6

$hash= MD5($orderid + ”|” +$amount + “|” + $time + “|” + $key) La cadena que se

codificaría mediante el algoritmo MD5 seria:

MD5(“test|1.00|1279302634|23232332222222222222222222222222”)

El resultado de la codificación es: 416ed27036d4276a267818c530527acf

Este será el valor de la variable hash.

Localización de Administración de llaves

Figura 1

Ubicación del Key y Key_id dentro de la Sucursal Electrónica.

Figura 2

Page 7: Paycom Integracion Web2

BAC/Credomatic | Parámetros de Autenticación. 7

Hash de Respuesta. Después que la llamada a la API se ha hecho, un único hash, será devuelto en la respuesta. El hash

de respuesta protege la autenticidad de los datos devueltos por Credomatic al Comercio Afiliado.

Realizar un chequeo MD5 adicional en el hash de respuesta se asegurará que la respuesta es

auténtica. Los siguientes campos están protegidos por la respuesta hash:

orderid

Amount

Response

Transactionid

AVS_Response

CVV_Response

Campos Adicionales Enviados en la Respuesta:

"time"

El Sistema de Pago de Credomatic generará una hora en el formato descrito

anteriormente.

"amount"

El monto de la transacción enviando en la solicitud

'Hash'

El hash debe ser formado por los valores de las siguientes variables delimitado por los

“pipes (|)” y codificado con un algoritmo MD5 .

orderid | amount | response | transactionid | avsresponse | cvvresponse | time | key

El valor de Key se puede obtener en la pestaña de “Afiliados”, Opción de “Ecommerce”

submenú “Cambio de Llaves” ver Figura 2

Ejemplo de Hash de Respuesta

El valor del Hash de Respuesta debe ser validado de la siguiente forma:

$orderid = test

$amount= 1.00

$response=1

$transactionid = 273247169

$avsresponse=N

$cvvresponse=N

Page 8: Paycom Integracion Web2

BAC/Credomatic | Formulario para Solicitar Autorización. 8

$time = 1279302634 //Este valor equivale a Viernes, 16 Julio 2010 17:50:34 GMT

$Key= 23232332222222222222222222222222

$hash= MD5($orderid + ”|” +$amount + “|” + $response + “|” + $transactionid + “|” +

$avsresponse + “|” + $cvvresponse + “|” + $time +”|” + $key) La cadena que se

codificaría mediante el algoritmo MD5 seria:

MD5(“test|1.00|1|273247169|N|N|1279302634|2323233222222222222222222222222

2”)

El resultado de la codificación es: 2f4f1c087cfd908903647823064da9bc

Este valor debe ser comparado con el de la variable hash enviado en la respuesta de la

transacción y así verificar la autenticidad de la respuesta.

Nota: Es importante tomar en cuenta que los valores necesarios para calcular el Hash de

Respuesta a excepción del “Key” son incluidos dentro del formulario de respuesta,

enviado por Credomatic. Es decir, que para dichos campos se deben utilizar únicamente

los valores de la respuesta y NO los de la solicitud.

Formulario para Solicitar Autorización. Para solicitar una autorización de compra, el comercio afiliado debe enviar las siguientes variables

en un formulario Web.

El formulario debe ser direccionado a la Siguiente URL:

https://paycom.credomatic.com/PayComBackEndWeb/common/requestPaycomService.go

Nombre de Variable Formato Descripción

username Nombre de usuario de la Sucursal Electronica. Por ejemplo ralfarov000

type auth Debe enviar la constante “auth” para solicitar la autorización de la compra.

key_id Llave de seguridad obtenida de la Sucursal Electrónica, Ver Figura 2 (Campo de Llave Pública)

Hash Variable codificada con algoritmo md5. Ver sección de Hash de Entrada de este documento

Time Tiempo en formato Unix número de segundos desde el 1 de enero 1970 UTC, hasta momento en cuestión

redirect https:// URL hacia el cual el Sistema de Pagos de Credomatic enviará respuesta al Afiliado. Debe ser una página capaz de procesar peticiones por GET.

ccnumber Número de tarjeta de crédito

ccexp mmyy Fecha de expiración de la tarjeta de crédito, con

Page 9: Paycom Integracion Web2

BAC/Credomatic | Formulario para Solicitar Autorización. 9

formato de dos dígitos para el mes y dos dígitos para el año, para Noviembre del 2010 se debe enviar 1110

amount Monto de la transacción, se debe enviar con dos decimales, para una transacción de 10 dólares se debe enviar 10.00 y una de 1000 dólares se debe enviar 1000.00

orderid Alfa numérico Max 20 Caracteres.

Identificador de Referencia del comercio afiliado, en el cual puede almacenar datos como el número de factura, contrato, etc.

cvv Opcional Código de Seguridad de la tarjeta de Crédito.

avs opcional Dirección registrada en el banco emisor de la tarjeta de crédito utilizada en el campo ccnumber

Zip Opcional Código zip registrado en el banco emisor de la tarjeta de crédito utilizada en el campo ccnumber

processor_id Opcional Identificador de la terminal con la cual desea realizar la autorización.

El código HTML del formulario web que se envía para la solicitud verse de la siguiente forma:

Page 10: Paycom Integracion Web2

BAC/Credomatic | Descripción de Variables Recibidas. 10

Descripción de Variables Recibidas.

Nombre de Variable Formato Descripción

response 1 /2 /3 1 = Transacción Aprobada 2 = Transacción Denegada 3 = Error en datos de la transacción y errores del Sistema.

responsetext Descripción textual del resultado de la autorización

authcode Código de autorización de la transacción.

transactionid Identificador de la transacción

hash Ver sección de hash de respuesta.

avsresponse Código de respuesta de validación de AVS ver Anexo 1

cvvresponse Código de respuesta de validación de CVV ver Anexo 2

orderid Número de orden enviado en la solicitud original.

type Tipo de transacción realizada

response_code Código de resultado de la transacción, ver Anexo 3

Estos parámetros se reciben por el método GET, concatenado al URL proporcionado en el campo

“redirect”, así:

Para el formulario descrito anteriormente, en el cual la variable redirect tiene el valor

http://www.example.com/ecommerce/responseservlet

El sistema re direccionaría a la siguiente URL:

http://www.example.com/ecommerce/responseservlet?response=3&responsetext=Invalid

Username&authcode=0&transactionid=0&avsresponse=N&cvvresponse=N&orderid=test&type=a

uth&response_code=300

Page 11: Paycom Integracion Web2

BAC/Credomatic | Anexo 1 Códigos de Respuesta de AVS 11

Anexo 1 Códigos de Respuesta de AVS

X Exact match, 9-character numeric ZIP

Y Exact match, 5-character numeric ZIP

D “

M “

A Address match only

B “

W 9-character numeric ZIP match only

Z 5-character Zip match only

P “

L “

N No address or ZIP match

C “

U Address unavailable

G Non-U.S. Issuer does not participate

I “

R Issuer system unavailable

E Not a mail/phone order

S Service not supported

0 AVS Not Available

O “

B “

Anexo 2 Códigos de Respuesta de CVV

M CVV2/CVC2 Match

N CVV2/CVC2 No Match

P Not Processed

S Merchant has indicated that CVV2/CVC2 is not

present on card

U Issuer is not certified and/or has not provided

Visa encryption keys

Page 12: Paycom Integracion Web2

BAC/Credomatic | Anexo 3 Códigos de Respuesta 12

Anexo 3 Códigos de Respuesta

100 Transacción Aprobada

200 Transacción declinada por el Autorizador.

300 Transacción declinada por el gateway

Los códigos de respuesta 30X (Donde X se remplaza por un número) indican diferentes causas para

el rechazado de una transacción, para identificar la causa específica del rechazo la variable

“responsetext” describe la razón de la misma.