CIMA - Manual de Integración Boton de Pago CredibanCo #- V1.3 - Oct2013

September 1, 2017 | Author: Carlos Uriel Pareja | Category: .Net Framework, C Sharp (Programming Language), Plug In (Computing), Cryptography, Uniform Resource Locator
Share Embed Donate


Short Description

Download CIMA - Manual de Integración Boton de Pago CredibanCo #- V1.3 - Oct2013...

Description

CONFIDENCIALIDAD DE LA INFORMACION

La información contenida en el presente manual tiene el carácter confidencial y ha sido elaborada por CREDIBANCO, por lo tanto EL COMERCIO deberá guardar la más absoluta reserva sobre toda la información. EL COMERCIO se obliga a informar y extender las obligaciones de reserva aquí acordadas a sus funcionarios y contratistas. El COMERCIO utilizará la información confidencial solamente para los propósitos aquí contenidos, y tomará todas las precauciones razonables para prevenir el acceso o el uso no autorizado de la misma. El COMERCIO no hará ninguna publicación o revelación al público o a terceros de la información confidencial, salvo autorización expresa o escrita por parte de CREDIBANCO.

Maunal de Integración API Credibanco– Julio de 2013 P 0/ 43

MANUAL DE INTEGRACION BOTON DE PAGO .NET C# ECOMMERCE CREDIBANCO VERSIÓN 1.1

Maunal de Integración API Credibanco– Julio de 2013 P 1/ 43

HISTORIA DE REVISIONES Fecha

Versión



1.0

Generación del documento

Descripción

Credibanco



1.1

Ajustes de Alignet

Credibanco



1.2 1.3

Ajustes inclusion nuevos campos Aclaración campos

Credibanco Credibanco

Maunal de Integración API Credibanco– Julio de 2013 P 2/ 43

Autor

TABLA DE CONTENIDO HISTORIA DE REVISIONES ............................................................................................................................................................. 2 TABLA DE CONTENIDO ................................................................................................................................................................. 3 INTRODUCCIÓN ........................................................................................................................................................................... 4 OBJETIVOS........................................................................................................................................................................................... 4 GLOSARIO ........................................................................................................................................................................................... 4 FLUJO DE COMPRA ................................................................................................................................................................................ 4 EXPERIENCIA DE COMPRA ....................................................................................................................................................................... 6 ¿QUÉ ES EL V-POS?....................................................................................................................................................................... 9 DESCRIPCIÓN ....................................................................................................................................................................................... 9 ARQUITECTURA .................................................................................................................................................................................... 9 SOLICITUD Y RESPUESTA DEL FLUJO DE PAGO ........................................................................................................................................... 10 INTEGRACIÓN AL V-POS ............................................................................................................................................................. 11 PROCEDIMIENTO DE INTEGRACIÓN AL V-POS ........................................................................................................................................... 11 ADMINISTRACIÓN DE LLAVES CRIPTOGRÁFICAS .......................................................................................................................................... 12 SOLICITUD DE PAGO............................................................................................................................................................................. 13 RESPUESTA DE PAGO ........................................................................................................................................................................... 24 INTEGRACIÓN CON EL PLUG-IN .................................................................................................................................................. 30 PREGUNTAS Y RESPUESTAS FRECUENTES ................................................................................................................................... 31 DATOS ADICIONALES ................................................................................................................................................................. 32 ANEXO 1: INTEGRACIÓN CON EL PLUG-IN PARA .NET C#............................................................................................................ 33 INSTALACIÓN DEL PLUG-IN C# ............................................................................................................................................................... 33 USO DEL PLUG-IN C# PARA ENVIAR INFORMACIÓN AL V-POS ...................................................................................................................... 34 USO DEL PLUG-IN C# PARA RECIBIR INFORMACIÓN DEL V-POS .................................................................................................................... 35 USO DEL PLUG-IN C# PARA ENVIAR INFORMACIÓN AL V-POS Y CONSUMO DE WEB SERVICE ............................................................................. 37

Maunal de Integración API Credibanco– Julio de 2013 P 3/ 43

INTRODUCCIÓN Para realizar transacciones electrónicas los comercios requieren de una plataforma que les permita conectarse con el mundo transaccional de pagos virtuales. Para ello el flujo de pago, actualmente, está compuesto por el proceso de autorización, que permite realizar la solicitud de pago de una compra electrónica. Este proceso será atendido por el V-POS, un servicio centralizado que permitirá al comercio integrarse fácilmente con el proceso de pago.

Objetivos Este documento tiene como objetivos lo siguiente:  

Describir las funcionalidades que brinda el V-POS. Describir los pasos necesarios para la integración con el V-POS.

Glosario A lo largo del presente documento se utilizan los siguientes términos bajo la conceptualización que se señala a continuación:    

Proceso de Autorización: Servicio de autorización del pago V-POS: Virtual Point Of Sale. Interfaz del mundo transaccional de pagos virtuales Tarjeta habiente: Titular de la tarjeta V-Admin: Interfaz Administrativa del V-Payment.

Flujo de Compra El flujo de compra se inicia cuando el tarjeta habiente desea realizar una compra en un comercio electrónico. El tarjeta habiente escoge los productos que desea comprar agregándolos al carrito de compras del comercio. A continuación se listan los pasos del flujo de compra (Ver Maunal de Integración API Credibanco– Julio de 2013 P 4/ 43

Figura 1. Flujo de Compra): 1. El Comercio desde un formulario envía al V-POS los datos de compras haciendo uso del plug-in proporcionado por Credibanco, exceptuando el número de Tarjeta de Crédito, la fecha de Vencimiento y el CVV2, entre otros datos. 2. El V-POS luego de validar los datos enviados por el comercio, muestra en el navegador del tarjeta habiente una página donde se ingresa el número de tarjeta de crédito, la fecha de vencimiento, el valor CVV2 y algunos datos complementarios. 3. El usuario ingresa en la pantalla anterior, los valores solicitados. 4. El V-POS valida los datos ingresados por el tarjeta habiente, seguidamente envía al sistema V-Payment una solicitud de pago que inicia el proceso de autorización. 5. El V-Payment luego de realizar el proceso de autorización devuelve los valores al V-POS para su posterior análisis del proceso de compra. 6. El V-POS devuelve el resultado de la compra al comercio. El comercio haciendo uso del plug-in (ver Anexos) obtiene los valores de respuesta; quien finalmente le mostrará al tarjeta habiente como resultado final de su compra.

Figura 1: Flujo de Compra

Maunal de Integración API Credibanco– Julio de 2013 P 5/ 43

Experiencia de Compra A continuación se mostrará la experiencia de compra electrónica del tarjeta habiente aprovechando la plataforma: 1. El tarjeta habiente ingresa al sitio Web del Comercio electrónico.

Figura 2: Página de Inicio del Comercio

2. El tarjeta habiente llena el carrito de compras, luego ingresa sus datos de compra, dando inicio al flujo de compra.

Figura 3: Página de Carrito de compras del Comercio

Maunal de Integración API Credibanco– Julio de 2013 P 6/ 43

3. Luego al tarjeta habiente se le mostrará la página centralizada del V-POS y le solicitará el ingreso de los datos de su tarjeta.

Figura 4: Página centralizada V-POS para el ingreso de datos de la tarjeta

4. Finalmente al tarjeta habiente le aparecerá la página resultado del Comercio.

Maunal de Integración API Credibanco– Julio de 2013 P 7/ 43

Figura 5: Página de resultado del comercio

Maunal de Integración API Credibanco– Julio de 2013 P 8/ 43

¿QUÉ ES EL V-POS? El V-POS es el sistema que atiende la solicitud de pago enviado desde los comercios virtuales, cuya funciones principales son concentrar y preprocesar las solicitudes de Pago. Concentrar, porque centraliza el proceso principal de compra (autorización); Pre procesar, porque procesa la validación de los datos de la tarjeta antes de iniciar el proceso de autorización.

Descripción Su función principal es concentrar las transacciones de compra por comercio electrónico para validar datos generales de la compra, así como centralizar la obtención y seguridad de los datos sensibles del tarjeta habiente (número de tarjeta, fecha de expiración y CVV2), iniciar el proceso de pago – Proceso de Autorización para que finalmente se le entregue la respuesta de la transacción al comercio que lo solicitó.

Arquitectura El comercio se comunicará vía Internet, a través de un canal seguro (HTTPS) con el V-POS para enviarle los datos de la compra desde un formulario a través del navegador del tarjeta habiente; luego el V-POS le presentará al tarjeta habiente una página de ingreso de datos sensibles para luego iniciar el proceso de pago: Autorización. Finalmente el V-POS le enviará desde un formulario, el resultado de la transacción al comercio vía Internet, a través de un canal seguro (HTTPS). En el siguiente gráfico se muestra la arquitectura general del V-POS:

Figura 6: Arquitectura con el V-POS

Maunal de Integración API Credibanco– Julio de 2013 P 9/ 43

Solicitud y Respuesta del Flujo de Pago El comercio enviará una solicitud o petición de pago al V-POS quien se encargará de realizar el proceso autorización y recibirá una respuesta del proceso como se muestra en la figura anterior.

Tarjeta Habiente

Sitio Web Comercio

V-POS

V-Payment Autorización

1: Ingresa Datos de Compra

2: Envía Datos de Compra

3: Muestra Página Centralizada

4: Ingresar Datos de Tarjeta

5: Solicita Autorización de Pago

6: Envía Resultado de Autorización

7: Envía Resultado a la Página de Respuesta

8: Muestra Resultado de Pago

Figura 7: Diagrama de Secuencia de la Solicitud y Respuesta del Flujo de Pago

Maunal de Integración API Credibanco– Julio de 2013 P 10/ 43

INTEGRACIÓN AL V-POS Procedimiento de Integración al V-POS La integración se hace inicialmente en un ambiente de Pruebas y luego se traslada a un ambiente de Producción. Para el Ambiente de Pruebas: Los principales pasos para la integración del comercio al V-POS en el ambiente de Pruebas son: 1. Se le hace entrega al comercio del documento de plataforma de sitio Web, el cual debe ser devuelto con todos los datos llenos 2. Se aprobará el documento y se entregará el KIT de seguridad compuesto por un Componente de seguridad (plug-in), el cual será utilizado durante el proceso de compra. 3. El comercio revisará y evaluará los pasos para los desarrollos necesarios según la Guía de integración de comercios, utilizando el Componente de seguridad (plug-in), así como las llaves de criptografía y de firma digital. 4. El comercio confirmará la fecha de término de su desarrollo y solicitará la habilitación del ambiente de prueba. 5. El comercio deberá ser registrado en el sistema de autorización antes de iniciar un proceso de compra de prueba. En esta fase de registro del comercio, se le solicitarán los datos necesarios para su integración en los diferentes sistemas involucrados en el VPayment. 6. Se enviarán las referencias o personas de contacto del comercio, que serán responsables de las pruebas. Se hará entrega al comercio de los valores de configuración (IDACQUIRER, IDECOMMERCE) requeridos por el Componente de seguridad (plug-in). 7. El comercio hará uso del V-Admin para generar las llaves de criptografía y de firma digital. Las llaves públicas de pruebas así como el vector de inicialización generadas por el comercio deberán ser registradas en el sistema, para su posterior uso en el V-POS. 8. El comercio tendrá que confirmar por correo a Credibanco que sus llaves se encuentran registradas en el ambiente de pruebas. 9. Se envía al comercio los datos de prueba y la ruta de acceso al VPOS en el ambiente de prueba. 10. El comercio acuerda una fecha y hora para realizar las pruebas. Se definen los responsables de las pruebas tanto por el lado de Credibanco como del comercio. 11. Se realizan las pruebas. 12. Credibanco informa al comercio el término y el resultado de las pruebas en el Ambiente de Pruebas.

Maunal de Integración API Credibanco– Julio de 2013 P 11/ 43

Para el Ambiente de Producción: Los principales pasos para la integración del comercio al V-POS en el ambiente de Producción son: 1. Se solicita al Comercio los datos de producción requeridos para la integración al V-POS. El formato será proporcionado por Credibanco. Se registrará al Comercio en el sistema de Autorización en Producción. 2. Se enviarán las referencias o personas de contacto del comercio para iniciar la generación y registro de llaves de criptografía y de firma digital en el V-Payment, así como la entrega de los valores de configuración (IDACQUIRER, IDECOMMERCE) al comercio. 3. El comercio hará uso del V-Admin para generar las llaves de criptografía y de firma digital. Las llaves públicas de pruebas así como el vector de inicialización generadas por el comercio deberán ser registradas en el sistema, para su posterior uso en el V-POS. 4. El comercio tendrá que confirmar por correo a Credibanco que sus llaves se encuentran registradas en el ambiente de pruebas. 5. Se envía al comercio los datos de prueba y la ruta de acceso al VPOS en el ambiente de producción. 6. El comercio acuerda una fecha y hora para realizar las pruebas. Se definen los responsables de las pruebas tanto por parte de Credibanco como por el lado del comercio. 7. Se realizan las pruebas correspondientes. 8. Credibanco informa al comercio el término de las pruebas en el ambiente de producción.

Administración de llaves criptográficas Con la finalidad de que la transmisión de información entre el comercio y el V-POS se realice de manera segura, guardando los tres principios de seguridad: Protección, Integridad y Autenticidad de datos, el comercio generará a través del V-Admin un par de llaves (pública y privada) para cifrar la información y un par de llaves (pública y privada) para la generación de la firma digital de la solicitud de pago. Las llaves públicas serán registradas en el sistema a través del V-Admin en la etapa de integración del comercio (ver Integración al V-POS). De la misma manera se generará, para el V-POS, un par de llaves para el cifrado y un par de llaves para la generación de la firma digital de la respuesta de pago. Las llaves públicas del V-POS podrán ser descargadas por el comercio desde el aplicativo V-Admin durante la etapa de integración del comercio (ver Integración al V-POS). De forma adicional el comercio generará un valor para el vector de inicialización que se utilizará para la criptografía y también registrado en el sistema. Este será un valor hexadecimal de 16 caracteres. Por ejemplo: d412589745df36fa. Es responsabilidad del comercio el almacenamiento de las llaves generadas, en un entorno seguro. Maunal de Integración API Credibanco– Julio de 2013 P 12/ 43

A continuación se muestra el gráfico resume de la generación de llaves del comercio y descarga de llaves públicas del V-POS.

Figura 9: Generación y descarga de llaves del comercio y V-POS

Solicitud de pago La solicitud de pago se define como el conjunto de datos que necesita el V-POS para generar la solicitud de autorización. Para iniciar la solicitud de pago, el comercio deberá preparar una petición POST HTTP, en la que utilizará el Componente de seguridad (plug-in) para enviar la petición de manera segura al V-POS. Parámetros de Envío Los parámetros que enviará el comercio al V-POS para iniciar la solicitud de pago son los siguientes:

Campo

Descripción

Maunal de Integración API Credibanco– Julio de 2013 P 13/ 43

IDACQUIRER

Identificador fijo del Adquirente que permite al V-POS reconocer a la entidad adquirente del comercio. Este valor es generado por CREDIBANCO.

IDCOMMERC E

Identificador fijo del comercio o tienda virtual que permite al VPOS reconocer al comercio que está enviando la solicitud de pago.

XMLREQ

Mensaje de solicitud de pago que contiene los datos de la compra. Este mensaje es generado por el plug-in, quien se encarga de cifrarlo para su envío al V-POS.

DIGITALSIGN

Firma digital del mensaje XMLREQ que asegura tanto la autenticidad del emisor y receptor, como la integridad de la información. Esta firma digital es generada por el plug-in.

SESSIONKEY

Llave de sesión con la cual se cifrará el mensaje XMLREQ. Esta llave es generada por el plug-in.

Para el envío de la solicitud de pago se deberá de generar una solicitud POST, usando un formulario HTML, implementado en el lenguaje de programación del comercio o tienda virtual. A continuación un ejemplo del formulario el cual deberá tener la forma siguiente:



Nota: Los valores que se encuentran en IDACQUIRER e IDCOMMERCE deben modificarse de acuerdo a los datos del comercio respectivo. Así mismo los valores del XMLRES, SESSIONKEY y DIGITALSIGN deben ser capturados desde la clase de envío. Parámetros necesarios para el Componente de seguridad Para que el Componente de seguridad (plug-in) pueda generar el mensaje del parámetro XMLREQ, el comercio deberá llenar los siguientes parámetros con sus respectivos valores:

Maunal de Integración API Credibanco– Julio de 2013 P 14/ 43

Campo Plug-in

Tipo

Ancho Máximo

Observaciones

acquirerId

NUMERICO

4

Código de adquirente asignado por Credibanco. Valor fijo e igual al parámetro IDACQUIRER (1)

commerceId

NUMERICO

12

Código único de Comercio asignado por Credibanco. Valor fijo e igual al parámetro IDCOMMERCE (1)

purchaseOperationNumber

ALFANUMERICO

9

Identificador único por cada transacción, generado por el comercio (1)

purchaseAmount

NUMERICO

10

Valor total de la compra, dado por el Comercio. el monto debe ir sin separador decimal (Si el monto es 100.00 dólares entonces la cantidad a enviar es 10000) (1)

purchaseCurrencyCode

NUMERICO

12

Moneda Según Estándar numérico ISO, longitud de 3 caracteres (Pesos Colombianos:170, Dólares: 840) (1)

purchaseTerminalCode

ALFANUMERICO

8

Código de terminal de la compra. Se obtiene del registro del terminal asociado al usuario del comercio.

purchasePlanId

NUMERICO

2

Identificación del plan de cobranza, este valor es dado por el adquirente al comercio (Valor fijo=01) (1)

purchaseQuotaId

NUMERICO

3

Numero de cuotas si se paga con tarjeta crédito (Ejemplo: 001, 015, 045)(1). Enviar 001

purchaseShippingCharges

ALFANUMERICO

12

Monto de compra relativo al embarque de los bienes y productos, este dato es opcional y antes de usarlo debe coordinarse con el adquirente. Maunal de Integración API Credibanco– Julio de 2013 P 15/ 43

purchaseShipperCode

NUMERICO

10

Código de entidad de Embarque, este código es opcional y los posibles valores son enviados por el Adquirente al comercio

purchaseIva

ALFANUMERICO

10

Monto del valor IVA, relativo al impuesto asociado a la compra. El formato es igual al del campo purchaseAmount

purchaseIvaReturn

ALFANUMERICO

10

Monto del valor IVA de retorno, relativo al impuesto asociado a la compra. El formato es igual al del campo purchaseAmount

purchaseIPAddress

ALFANUMERICO

15

Dirección IP del comprador

purchaseLanguage

ALFANUMERICO

2

Lenguaje de la compra: Valor fijo: SP (Español) (1)

billingFirstName

ALFANUMERICO

30

Nombre del titular de la tarjeta (1)

billingLastName

ALFANUEMRICO

50

Apellidos del titular de la tarjeta (1)

billingCountry

ALFANUMERICO

2

Código ISO del País del tarjetahabiente. Obligatorio para modulo antifraude.

billingCity

ALFANUMERICO

50

Nombre de la Ciudad del tarjetahabiente. Obligatorio para modulo antifraude.

billingState

ALFANUMERICO

15

Nombre del Estado del tarjetahabiente.Codigo ISO para el estado y es obligatorio si el país es EEUU o Canada cuando se tiene modulo antifraude.

billingPostalCode

ALFANUMERICO

5

Código Postal del tarjetahabiente. Es obligatorio si el país es EEUU o Canada caundos e tiene moudlo antifraude. Maunal de Integración API Credibanco– Julio de 2013 P 16/ 43

billingAddress

ALFANUMERICO

50

Dirección del tarjetahabiente. Obligatorio para modulo antifraude.

billingPhonePhone

ALFANUMERICO

15

Teléfono del tarjetahabiente. (1). Mínimo 10 digitos.

billingCelPhoneNumber

ALFANUMERICO

20

Celular del tarjetahabiente. (1)

billingGender

ALFANUMERICO

1

Género del tarjetahabiente (Formato: M ó F). Obligatorio para modulo antifraude.

billingEmail

ALFANUMERICO

50

E-mail del tarjetahabiente. (1)

billingBirthday

ALFANUMERICO

12

Fecha de nacimiento del tarjetahabiente (Formato: AAAA-MM-DD)

billingOutIdentifierCity

ALFANUMERICO

30

Ciudad donde obtuvo el documento de identificación el tarjetahabiente

billingDateIdentifierDate

ALFANUMERICO

12

Fecha de la obtención del documento de identificación del tarjetahabiente (Formato: AAAA-MM-DD)

billingNationality

ALFANUMERICO

2

Nacionalidad del tarjetahabiente (Código ISO). Obligatorio para modulo antifraude.

shippingReceiverName

ALFANUMERICO

30

Nombre de la persona que recibirá los bienes

shippingReceiverLastName

ALFANUMERICO

50

Apellido de la persona que recibirá los bienes

shippingReceiverIdentifier

ALFANUMERICO

20

Identificación de la persona que recibirá el producto

shippingReceptionMethod

ALFANUMERICO

100

Método de Recepción del producto

Maunal de Integración API Credibanco– Julio de 2013 P 17/ 43

shippingCountry

ALFANUMERICO

2

Código ISO del País de entrega. Obligatorio para modulo antifraude.

shippingCity

ALFANUMERICO

50

Nombre de la Ciudad de entrega. Obligatorio para modulo antifraude.

shippingAddress

ALFANUMERICO

50

Dirección de entrega del pedido del tarjetahabiente Obligatorio para modulo antifraude.

flightAirlineCode

ALFANUMERICO

2

Código de la aerolínea, generado por Credibanco al momento de su registro en el sistema

flightDepartureAirport

ALFANUMERICO

50

Campo tipo Airport, que hace referencia a los datos propios del Aeropuerto de salida

flightArriveAirport

ALFANUMERICO

50

Campo tipo Airport, que hace referencia a los datos propios del Aeropuerto de llegada

flightDepartureDate

ALFANUMERICO

20

Campo que hace referencia a la fecha de salida del vuelo (Formato: AAAA-MM-DD)

flightDepartureTime

ALFANUMERICO

20

Campo tipo texto que hace referencia a la hora de salida del vuelo (Formato: HH:mm pm z) HH = hour in 24-hour format hh = hour in 12-hour format a = am or pm (case insensitive) z = time zone of the departing flight, for example: If the airline is based in city A, but the flight departs from city B, z is the time zone of city B at the time of departure. Ejemplo: 11:30pm GMT-05:00 11:30pm GMT

Maunal de Integración API Credibanco– Julio de 2013 P 18/ 43

flightArriveDate

ALFANUMERICO

20

Campo tipo texto que hace referencia a la fecha de llegada del vuelo (Formato: AAAA-MM-DD)

flightArriveTime

ALFANUMERICO

20

Campo tipo texto que hace referencia a la hora de llegada del vuelo (Formato: HH:mm pm)

flightPassegerList

ALFANUMERICO

50

Campo tipo Passenger, que hace referencia a los datos propios del pasajero

flightReservation

ALFANUMERICO

20

Observación adicional del vuelo

AirportCodeDeparture

ALFANUMERICO

3

Código IATA del aeropuerto de salida

AirportCityDeparture

ALFANUMERICO

50

Ciudad donde está ubicado el aeropuerto de salida

AirportCountryDeparture

ALFANUMERICO

2

Código ISO del País donde está ubicado el aeropuerto de salida

AirportCodeArrive

ALFANUMERICO

3

Código IATA del aeropuerto de llegada

AirportCityArrive

ALFANUMERICO

50

Ciudad donde está ubicado el aeropuerto de llegada

AirportCountryArrive

ALFANUMERICO

2

Código ISO del País donde está ubicado el aeropuerto de llegada

passengerFirstName

ALFANUMERICO

50

Nombres del pasajero

passengerLastName

ALFANUMERICO

50

Apellidos del pasajero

Maunal de Integración API Credibanco– Julio de 2013 P 19/ 43

passengerDocumentType

ALFANUMERICO

15

Tipo de documento de identidad del pasajero

passengerDocumentNumber

ALFANUMERICO

50

Número del documento de identidad del pasajero

passengerAgencyCode

ALFANUMERICO

10

Código de agencia (ID comercio tipo Agencia)

goodName

ALFANUMERICO

50

Nombre del bien adquirido

goodDescription

ALFANUMERICO

30

Descripción del bien adquirido

goodQuantity

NUMERICO

10

Cantidad del bien adquirido

goodUnitprice

NUMERICO

10

Precio unitario del bien adquirido

productItem

NUMERICO

3

Número de ítem del producto

productCode

ALFANUMERICO

12

Código del producto

productAmount

NUMERICO

10

Monto total del producto

productPromotionCode

ALFANUMERICO

20

Código de promoción de producto

taxName

ALFANUMERICO

12

Nombre del impuesto u propina (PROPINA para propina, TASA_AERO para Tasa aeroportuaria). Obligatorios para tipos de comercio: restaurantes, aerolíneas, agencias. Maunal de Integración API Credibanco– Julio de 2013 P 20/ 43

taxAmount

NUMERICO

10

Monto del impuesto u propina (Incluye cifra decimal sin símbolo separador). Obligatorios para tipos de comercio: restaurantes, aerolíneas, agencias.

administrativeRateAmount

NUMERICO

10

Monto del impuesto Tasa Administrativa, enviado sólo por comercios tipo Agencia de Viaje (Incluye cifra decimal sin símbolo separador)

administrativeRateIva

NUMERICO

10

Monto del valor iva, relativo al pago de la Tasa Administrativa (Incluye cifra decimal sin símbolo separador).

administrativeRateIvaReturn

NUMERICO

10

Monto del valor iva de retorno, relativo al pago de la Tasa Administrativa (Incluye cifra decimal sin símbolo separador).

administrativeRateCode

ALFANUMERICO

2

Código de Tasa Administrativa generado por Credibanco: 99

transactionTrace

ALFANUMERICO

2

Identifica el canal de comunicación en la plataforma de pago (Valor fijo para VPOS: BC)

fingerprint

ALFANUMERICO

30

Código único que identifica la solicitud de pago (1).

additionalObservations

ALFANUMERICO

50

Observación adicional de la compra

reserved1

ALFANUMERICO

30

Campos para datos adicionales no revisados por el VPOS.

. Maunal de Integración API Credibanco– Julio de 2013 P 21/ 43

. . reserved40 (1) Campos requeridos por el VPOS.

Maunal de Integración API Credibanco– Julio de 2013 P 22/ 43

Parámetros de Seguridad necesarios para el Plug-in Además de los valores o campos mostrados, se deberá ingresar al plug-in los valores o campos necesarios para el cifrado del mensaje XMLREQ así como también para la generación de la firma digital del mismo. Estos valores se describen a continuación:

Campo

Campo Plug-in

Observaciones

Vector de Inicialización

VectorInicializacion

Valor necesario para el cifrado del mensaje XMLREQ. Este valor debe ser generado por el comercio a través del VAdmin.

Llave privada de Firma

LlavePrivadaFirmaRSA

Llave privada del comercio con la que se generará la firma digital del mensaje XMLREQ. Esta llave privada es generada a través del V-Admin y sólo almacenada por el comercio.

Llave pública de cifrado

LlavePublicaCifradoRSA

Llave pública con la que se cifrará el mensaje XMLREQ. Esta llave pública es generada por Credibanco y debe ser descargada y almacenada por el comercio.

Maunal de Integración API Credibanco– Julio de 2013 P 23/ 43

Respuesta de pago Parámetros de Recibo La respuesta de pago que enviará el V-POS al comercio estará compuesta por los siguientes campos:

Campo

Descripción

IDACQUIRER

Es el identificador fijo del Adquirente que permite al V-POS reconocer a la entidad adquirente del comercio. Este valor es generado por Credibanco.

IDCOMMERC E

Es el identificador del comercio o tienda virtual que permite al V-POS reconocer al comercio que esta enviando la solicitud de pago. Este valor es generado por Credibanco durante la configuración del comercio.

XMLRES

Es el mensaje de respuesta de pago que contiene los datos del resultado de la autorización.

DIGITALSIGN

Es la firma digital del mensaje XMLRES, y asegura tanto la autenticidad del emisor y receptor como la integridad de la información. Esta firma digital es generada por el V-POS.

SESSIONKEY Es la llave de sesión con la cual se descifrará el mensaje XMLRES.

Para recibir la respuesta de pago del V-POS es necesario que el comercio implemente una página dinámica en donde se extraiga los valores de los parámetros mostrados en la tabla anterior.

Maunal de Integración API Credibanco– Julio de 2013 P 24/ 43

Parámetros de respuesta obtenidos del Plug-in Así mismo el XMLRES devuelve los mismos campos enviados en el XMLREQ enviados al inicio de la compra con la adición de los siguientes campos:

Campo Plug-in authorizationResult

Tipo NUMERICO

Ancho Máximo 2

Observaciones Este campo contiene el resultado de la autorización. Tiene tres posibles valores enviados por el V-POS: 00, indica que la transacción ha sido autorizada, 01, indica que la transacción ha sido denegada en el Banco Emisor, y 05, indica que la transacción ha sido rechazada por el VPOS. NOTA IMPORTANTE: El comercio mostrará los mensajes de resultado al tarjeta habiente según estos tres códigos. Por ejemplo: “Operación Autorizada”. “Operación Denegada”. “Operación Rechazada” (1)

authorizationCode

ALFANUMERICO

6

En caso que la transacción haya sido autorizada, este campo contendrá el código de autorización de la transacción. (1)

errorCode

ALFANUMERICO

4

En caso que la transacción haya sido denegada o rechazada este campo contendrá el código de error respectivo que indicará el motivo del rechazo. La lista de códigos puede aumentar o disminuir según las mejoras que se realicen al V-Payment y/o nuevas especificaciones de las marcas. Maunal de Integración API Credibanco– Julio de 2013 P 25/ 43

NOTA IMPORTANTE: Este código de respuesta no debe ser mostrado al tarjeta habiente. errorMessage

ALFANUMERICO

50

Este campo contendrá la descripción del código de error en caso de producirse un rechazo. NOTA IMPORTANTE: Este mensaje de error no debe ser mostrado al tarjeta habiente.

Adicionalmente, si el tipo de comercio es Agencia de Viaje y este realizó únicamente el Pago de Tasa Administrativa o realizó envío una doble transacción por el VPOS (Pago de tiquete y Pago de Tasa Administrativa), el XMLRES devolverá los siguientes campos:

Campo Plug-in authorizationResultAR

Tipo NUMERICO

Ancho Máximo 2

Observaciones Este campo contiene el resultado de la autorización del Pago de Tasa Administrativa. Tiene tres posibles valores enviados por el V-POS: 00, indica que la transacción ha sido autorizada, 01, indica que la transacción ha sido denegada en el Banco Emisor, y 05, indica que la transacción ha sido rechazada por el VPOS. NOTA IMPORTANTE: El comercio mostrará los mensajes de resultado al tarjeta habiente según estos tres códigos. Por ejemplo: “Operación Autorizada”. “Operación Denegada”. Maunal de Integración API

Credibanco– Julio de 2013 P 26/ 43

“Operación Rechazada” (1) authorizationCodeAR

ALFANUMERICO

6

En caso que la transacción del Pago de Tasa Administrativa haya sido autorizada, este campo contendrá el código de autorización de la transacción. (1)

errorCodeAR

ALFANUMERICO

4

En caso que la transacción del Pago de Tasa Administrativa haya sido denegada o rechazada este campo contendrá el código de error respectivo que indicará el motivo del rechazo. La lista de códigos puede aumentar o disminuir según las mejoras que se realicen al V-Payment y/o nuevas especificaciones de las marcas. NOTA IMPORTANTE: Este código de respuesta no debe ser mostrado al tarjeta habiente.

errorMessageAR

ALFANUMERICO

50

Este campo contendrá la descripción del código de error en caso de producirse un rechazo en el Pago de Tasa Administrativa. NOTA IMPORTANTE: Este mensaje de error no debe ser mostrado al tarjeta habiente.

Maunal de Integración API Credibanco– Julio de 2013 P 27/ 43

Además de estos campos, la respuesta de pago o XMLRES, contendrá todos los campos enviados al V-POS que se ingresaron en el XMLREQ de la solicitud de pago y que podrán ser recuperados usando el componente de seguridad (plug-in). Asimismo se tiene los siguientes campos adicionales.

Campo Plug-in

Tipo

Ancho Máximo

Observaciones

planCode

NUMERICO

4

Código del plan seleccionado por el tarjetahabiente en caso haber financiado el pago

quotaCode

NUMERICO

4

Código de la cuota seleccionada por el tarjetahabiente en caso haber financiado el pago

cardType

ALFANUMERICO

4

Marca de la tarjeta seleccionada por el tarjetahabiente en caso de haber sido ingresada

cardNumber

NUMERICO

19

Número de tarjeta ingresada por el tarjetahabiente en caso de haber sido ingresada. La devolución de este dato deberá ser autorizada por el adquirente

Parámetros necesarios para obtener los datos del XMLRES Para descifrar el mensaje XMLRES, se deberá configurar al plug-in los valores o campos criptográficos necesarios, así como también para la verificación de la firma digital del mismo. Estos valores se describen a continuación:

Campo

Campo Plug-in

Observaciones

Vector de Inicialización

VectorInicializacion

Valor necesario para el descifrado del mensaje XMLRES. Este valor debe ser generado por el comercio.

Llave pública de

LlavePublicaVerificac Es la llave pública del V-POS con la que se verificará la validez de la firma digital

Maunal de Integración API Credibanco– Julio de 2013 P 28/ 43

Firma

ionFirma

del mensaje XMLRES. Esta llave debe ser descargada y almacenada por el comercio.

Llave privada de cifrado

LlavePrivadaCifrado

Es la llave privada con la que se descifrará el mensaje XMLRES. Esta llave es generada y almacenada por el comercio.

Maunal de Integración API Credibanco– Julio de 2013 P 29/ 43

INTEGRACIÓN CON EL PLUG-IN El comercio deberá descargar el Componente de seguridad (plug-in) que deberá ser acoplada a su solución Web, para ser activado en el momento de la solicitud final de compra (en general, al presionar el botón “Comprar”). El Componente de seguridad (plug-in) está disponible para los siguientes lenguajes de programación:   

Plug-in .Net (C#) Plug-in .Java Plug-in .PHP

Según la plataforma del comercio, se le proporcionará el plug-in respectivo. Para los detalles de integración ver Anexo correspondiente al lenguaje de programación requerido.

Maunal de Integración API Credibanco– Julio de 2013 P 30/ 43

PREGUNTAS Y RESPUESTAS FRECUENTES 

¿Qué lenguajes soporta el Componente de seguridad (plug-in)? En la actualidad el plug-in tiene una versión para cada uno de los siguientes lenguajes: Microsoft .Net (C#), Java y PHP. De acuerdo a la plataforma del sitio Web del comercio, se deberá descargar la versión correspondiente.



El documento describe que los comercios deben generar llaves de encriptación y de firma digital. ¿Cómo será la generación? De forma adicional a la descarga del Componente de seguridad (plug-in), el comercio deberá generar y descargar estas llaves a través del aplicativo V-Admin. Si bien el comercio podrá generar sus llaves públicas y privadas, además del vector de inicialización, al momento de registrar sus llaves sólo se registrarán las llaves publicas del comercio, las llaves privadas deberá ser guardadas de forma aislada y confidencial por el comercio.



El documento describe que debemos intercambiar llaves de encriptación y de firma digital. ¿Cómo será este intercambio? El intercambio de llaves será ejecutado por un canal seguro entre el comercio y Credibanco. Adicional la plataforma proporciona la funcionalidad de descarga directa de estos componentes por parte del comercio.



¿Existe algún carrito de compras comercial que se integre al plug-in? No. En Internet existen varios sitios Web que ofrecen carritos de compras o sitios Web para comercios, pero para realizar la integración se necesita el soporte de un programador o desarrollador para que integre a la plataforma del comercio el código del plug-in.

Maunal de Integración API Credibanco– Julio de 2013 P 31/ 43

DATOS ADICIONALES Las llaves especificadas en cada formulario varían de acuerdo al comercio se encuentre, de la misma manera las urls del VPOS.

ambiente en el que el

Se indican las urls según el ambiente en el que el comercio se encuentre: -TESTING URL VPOS: http://172.19.202.5:9080/vpos2/MM/transactionStart20.do

-PRODUCCION URL VPOS: www.ecommerce.credibanco.com

Maunal de Integración API Credibanco– Julio de 2013 P 32/ 43

ANEXO 1: INTEGRACIÓN CON EL PLUG-IN PARA .NET C# Instalación del Plug-in C# Al comercio se le entregará una dll VPOS20_PLUGIN.dll que deberá ser acoplada a su solución web, a continuación se presenta los pasos para la integración del plug-in:

2.Examinar 1.Click derecho Agregar referencia

:

3. Escoger VPOS20_PLUGIN .dll y Abrir

o o

Referenciar al plug-in en la carpeta Referencias de la aplicación Web En la ventana Agregar Referencia buscar el componente VPOS20_PLUGIN.dll

Nota: Utilizar el archivo .DLL que se encuentra dentro de la carpeta PLUGIN.

Maunal de Integración API Credibanco– Julio de 2013 P 33/ 43

Uso del Plug-in C# para enviar información al V-POS Llaves necesarias para el envío de información:

LLAVE.VPOS.CRB.CRYPTO.1024.PKCS1.txt Llave de cifrado publica del VPOS LlaveFirmaComercioPrivada.txt Llave de firma privada del comercio

A continuación se mostrará un ejemplo de uso del plug-in utilizando C#:

//Asemblies adicionales a usar using System.IO; using VPOS20_PLUGIN;

//Instanciando e inicializando VPOSBean oVPOSBean = new VPOSBean();

string R1 = "C:/LLAVE.VPOS.CRB.CRYPTO.1024.PKCS1.txt"; string R2 = "C:/LlaveFirmaComercioPrivada.txt";

srVPOSLlaveCifradoPublica = new StreamReader(R1); srComercioLlaveFirmaPrivada = new StreamReader(R2);

oVPOSBean.acquirerId = "2";

Maunal de Integración API Credibanco– Julio de 2013 P 34/ 43

oVPOSBean.commerceId = "359"; oVPOSBean.purchaseCurrencyCode = "840"; oVPOSBean.purchaseAmount = "100000"; oVPOSBean.purchaseOperationNumber = "40";

// Se invoca a la clase VPPOSend que tiene como parámetros las llaves y el vector de inicialización VPOSSend

oVPOSSend

=

new

VPOSSend(srVPOSLlaveCifradoPublica,

srComercioLlaveFirmaPrivada, "D412589745DF36FA");

oVPOSSend.execute(ref oVPOSBean);

//Recuperando

datos

cifrados,

los

cuales

se

asignan

formulario de envío al VPOS String sCipheredSessionKey = oVPOSBean.cipheredSessionKey; String sCipheredXML = oVPOSBean.cipheredXML; String sCipheredSignature = oVPOSBean.cipheredSignature;

Uso del Plug-in C# para recibir información del V-POS Llaves necesarias para recibir la información: LlaveCifradoComercioPrivada.txt Llave de cifrado privada del comercio LLAVE.VPOS.CRB.SIGN.1024.PKCS1.txt Llave de firma publica del VPOS

Maunal de Integración API Credibanco– Julio de 2013 P 35/ 43

al

A continuación se muestra un ejemplo de código implementado en C# para el descifrado de los datos y la verificación de la firma digital:

using System.IO; using System.Collections.Specialized; using VPOS20_PLUGIN;

NameValueCollection coll = new NameValueCollection(); coll = Request.Params; String sIDACQUIRER = coll.Get("IDACQUIRER"); String sIDCOMMERCE = coll.Get("IDCOMMERCE"); String sXMLRES = coll.Get("XMLRES"); String sSESSIONKEY = coll.Get("SESSIONKEY"); String sDIGITALSIGN = coll.Get("DIGITALSIGN");

VPOSBean oVPOSBean = new VPOSBean();

oVPOSBean.cipheredXML = sXMLRES; oVPOSBean.cipheredSessionKey = sSESSIONKEY; oVPOSBean.cipheredSignature = sDIGITALSIGN;

StreamReader

srVPOSLlaveFirmaPublica

=

new

StreamReader("D:/

LLAVE.VPOS.CRB.SIGN.1024.PKCS1.txt"); StreamReader

srComercioLlaveCifradoPrivada

Maunal de Integración API Credibanco– Julio de 2013 P 36/ 43

=

new

StreamReader("D:/LlaveCifradoComercioPrivada.txt");

// Se invoca a la clase VPOSReceive que tiene como parámetros las llaves y el vector de inicialización VPOSReceive

oVPOSReceive

=

new

VPOSReceive(srVPOSLlaveFirmaPublica,

srComercioLlaveCifradoPrivada, "D412589745DF36FA"); oVPOSReceive.execute(ref oVPOSBean);

if ( oVPOSBean.validSign == true ) { //El descifrado fue correcto y la firma digital es correcta //Luego evaluar oVPOSBean.authorizationResult para saber si la //transacción fue aceptada o denegada String sAuthResult =oVPOSBean.authorizationResult; String sErrorCode =oVPOSBean.errorCode;

}

Uso del Plug-in C# para enviar información al V-POS y consumo de Web Service Para usar el Plug-In y consumir el Web Service mediante el lenguaje de programación Visual Basic es necesario lo siguiente

1.

Microsoft Visual Basic con Net Framework 2.0, 3.0 ó 3.5.

2.

Contar con las llaves para firmar y el cifrar.

Maunal de Integración API Credibanco– Julio de 2013 P 37/ 43

3.

Contar con las DLLs que permitirán construir la petición y consumir el Web Service:

A continuación se mostrará un ejemplo de uso del plug-in utilizando Visual Basic: Agregar la referencia de las DLLs al proyecto: -

Clic derecho sobre la Aplicación y seleccionar la opción “Agregar Referencia”

-

Dentro de la pestaña “Examinar” ubicar las DLLs “Microsoft.Web.Services3.dll” y “VERIFIK_PROTOCOL.dll”, seleccionarlas y luego Aceptar.

Maunal de Integración API Credibanco– Julio de 2013 P 38/ 43

Dentro de la programación declarar las variables que van a utilizarse al momento de invocar al Web Service:

Dim rutaLlavePubCifrado As String = "c:\ALIGNET.TESTING.NOPHP.CRYPTO.PUBLIC.txt" Dim rutaLlavePrivFirma As String = "c:\llaveprivadafirmaPSP.txt" Dim rutaLlavePubFirma As String = "c:\ALIGNET.TESTING.NOPHP.SIGNATURE.PUBLIC.txt" Dim rutaLlavePrivCifrado As String = "c:\llaveprivadacifradoPSP.txt" Dim vi As String = "0000000000000000" Dim wsdl As String = "http://172.19.44.41:9081/vpos2/services/VPOS2RESULTTXSOAP/METAINF/VPOS2RESULTTXSOAP.wsdl"

Crear un objeto de tipo VPOSBeanConsulta, el cual va a contener la respuesta al finalizar el proceso:

Dim beanConsulta As New VERIFIK_PROTOCOL.VPOSBeanConsulta

Declarar e inicializar una variable de tipo VPOSConsultaTx, pasándole los parámetros requeridos:

Maunal de Integración API Credibanco– Julio de 2013 P 39/ 43

Dim vposConsultaTx As New VERIFIK_PROTOCOL.VPOSConsultaTx("138", "4573", "069467021", rutaLlavePubCifrado, rutaLlavePrivFirma, rutaLlavePubFirma, rutaLlavePrivCifrado, vi, wsdl)

Los parámetros utilizados son los siguientes:

AcquirerId

ID del Adquiriente

CommerceId

ID del Comercio

NumOrder

Número de Orden

RutaLlavePubCifrado

Ruta de la Llave Pública para Cifrado

RutaLlavePrivFirma

Ruta de la Llave Privada para Firma

RutaLlavePubFirma

Ruta de la Llave Pública para Firma

RutaLlavePrivCifrado

Ruta de la Llave Privada para Cifrado

Vi

Vector

Wsdl

Ruta del WSDL

Invocar el método consultaEstadoTx, pasándole como parámetro la variable beanConsulta para ser llenado:

vposConsultaTx.consultaEstadoTx(beanConsulta)

Mostrar el resultado del de la respuesta:

Maunal de Integración API Credibanco– Julio de 2013 P 40/ 43

If beanConsulta IsNot Nothing Then MessageBox.Show("acquirerId: " + beanConsulta.acquirerId + vbCrLf + "commerceId: " + beanConsulta.commerceId + vbCrLf + "authorizationResult: " + beanConsulta.authorizationResult + vbCrLf + "authorizationCode: " + beanConsulta.authorizationCode) End If

El objeto de respuesta contiene los siguientes atributos:

AcquirerId

ID del Adquiriente

CommerceId

ID del Comercio

NumOrder

Número de Orden

CipheredSessionKey

Clave cifrada de la sesión

CipheredXML

XML Cifrado

CipheredSignature

Firma cifrada

ClearXML

XML

Maunal de Integración API Credibanco– Julio de 2013 P 41/ 43

Maunal de Integración API Credibanco– Julio de 2013 P 42/ 43

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF