# Integración con Pantalla (POST)

# Preámbulo

Esta guía describe los parámetros que deberán ser utilizados para realizar pagos con tarjeta desde una tienda o carrito de compra en línea. Para completar una transacción se deberá enviar el requerimiento con los datos del pago a través de un mensaje post al Gateway de Cardnet. El Gateway mostrará una pantalla donde se deberá digitar la información sensitiva tales como número de tarjeta, fecha de expiración, CVV. Luego responderá el resultado de la transacción a una página de recibo del comercio donde se podrá identificar si la transacción fue aprobada o rechazada.

# Flujo Transacción

Flujo POST

# Consideraciones

  • Se debe tener en cuenta que la plataforma de comercio electrónico utiliza un certificado digital con encriptación TLS1.2, por lo tanto, las aplicaciones deberán soportar este nivel de encriptación.
  • El proceso de cierre de los comercios es ejecutado de forma automática en la plataforma a las 7:00 PM. En caso de necesitar hacer el cierre a una hora diferente, deberá especificarlo a su ejecutivo de cuenta.
  • Los ejemplos presentes en esta guía utilizan una ruta de solicitud (url) y parámetros exclusivos únicamente para el ambiente de certificaciones (QA). Los datos de producción deberán solicitarse al ejecutivo de cuenta.

# Requerimiento de Pago

Para establecer conexión con el Gateway de pago se deberán utilizar los siguientes campos:

# TransactionType

  • Longitud: 4
  • Descripción: Valor que identifica el tipo de transacción

# AcquiringInstitutionCode

  • Longitud: 3
  • Descripción: Código de adquirente

# BatchId

  • Longitud: 3
  • Descripción: Número de lote de la transacción

# Amount

  • Longitud: 12
  • Descripción: Monto de la transacción

# Tax

  • Longitud: 12
  • Descripción: Valor de ITBIS que sería cobrado en la transacción.

# CurrencyCode

  • Longitud: 3
  • Descripción: Código de moneda en que se realizara la transacción. RD Peso = 214, US$=840

# KeyEncriptionKey

  • Longitud: 32
  • Descripción: Debe generar un MD5 con los valores de los campos MerchantType, MerchantNumber, MerchantTerminal, TransactionId, Amount, Tax

# MerchantNumber

  • Longitud: 15
  • Descripción: Número de afiliado que utilizara el comercio en la plataforma

# MerchantTerminal

  • Longitud: 12
  • Descripción: Número de terminal que utilizara el comercio en la plataforma.

# MerchantType

  • Longitud: 4
  • Descripción: Código de categoría del comercio

# OrdenID

  • Longitud: Variable
  • Descripción: Número de factura o identificación de la orden para el comercio

# Ipclient

  • Longitud: 15
  • Descripción: Dirección IP de cliente.

# TransactionId

  • Longitud: 6
  • Descripción: Valor asignado por el comercio. Se debe respetar la longitud del campo.

# ReturnUrl

  • Longitud: Variable
  • Descripción: Dirección de la página adonde el comprador seria redireccionado en el caso que la transacción sea aprobada.

# CancelUrl

  • Longitud: Variable
  • Descripción: Dirección de la página adonde el comprador seria redireccionado en el caso que la transacción sea rechazada.

# PageLanguaje

  • Longitud: 3
  • Descripción: Parámetro para identificar el lenguaje en que se mostrará la información en el Gateway de pago. Español= ESP O ENG, Ingles=ING.

# MerchantName

  • Longitud: 40
  • Descripción: Nombre del establecimiento estructurado de la siguiente manera:
    • Debe venir todo en mayúsculas
    • Los primeros 22 bytes deben ser el “Terminal owner name”
    • Los próximos 13 bytes deben incluir la ciudad donde está localizado el Terminal.
    • Los próximos 3 bytes deben indicar el estado donde está localizado el Terminal, si aplica.
    • Los últimos 2 bytes corresponden al código que identifica al país.

# Ejemplo de solicitud

<form action=”https://lab.cardnet.com.do/authorize” method="post">
  <input name="TransactionType" value="0200" type="hidden">
  <input name="CurrencyCode" value="214" type="hidden">
  <input name="AcquiringInstitutionCode" value="349" type="hidden">
  <input name="MerchantType" value="5440" type="hidden">
  <input name="MerchantNumber" value="349041263 " type="hidden">
  <input name="MerchantTerminal" value="22222222" type="hidden">
  <input name="ReturnUrl" value="https://www.urldelcliente.com" type="hidden">
  <input name="CancelUrl" value="https://www.urldelcliente.com" type="hidden">
  <input name="PageLanguaje" value="ENG" type="hidden">
  <input name="OrdenId" value="686" type="hidden">
  <input name="TransactionId" value="160088" type="hidden">
  <input name="Amount" value="000000011799" type="hidden">
  <input name="Tax" value="000000001523" type="hidden">
  <input name="MerchantName" value="COMERCIO PARA REALIZAR PRUEBAS DO" type="hidden">
  <input name="KeyEncriptionKey" value="1fc500b127d04b532f759d183944b057" type="hidden">
  <input name="Ipclient" value="X.X.X.X" type="hidden">
  <input name='loteid' Value='001' type="hidden">
  <input name='seqid' Value='001' type="hidden">
</form>

# Formato de Respuesta

# CreditCardNumber

  • Longitud: 19
  • Descripción: Se deberán recibir los primero 6 y últimos 4 dígitos legibles, el resto deberá llegar enmascarado.

# ResponseCode

  • Longitud: 2
  • Descripción: Código de respuesta recibido del banco emisor.

# AuthorizationCode

  • Longitud: 6
  • Descripción: Número de autorización recibido del banco emisor.

# RetrievalReferenceNumber

  • Longitud: 12
  • Descripción: Número de referencia asignado por Cardnet. Deberá ser único por cada transacción.

# OrdenID

  • Longitud: Variable
  • Descripción: Número de factura o identificación de la orden para el comercio.

# TransactionId

  • Longitud: 6
  • Descripción: Valor asignado.

# Ejemplo de respuesta

ResponseCode=00&TransactionID=009999&RemoteResponseCode=00&AuthorizationCode=026262&RetrivalReferenceNumber=000000000028

# Códigos de Respuesta

RESPONSE CODE DESCRIPCIÓN CLIENTE
00 Aprobada
01 Llamar al Banco
02 Llamar al Banco
03 Comercio Invalido
04 Rechazada
05 Rechazada
06 Error en Mensaje
07 Tarjeta Rechazada
08 Llamar al Banco
09 Request in progress
10 Aprobación Parcial
11 Approved VIP
12 Transacción Invalida
13 Monto Invalido
14 Cuenta Invalida
15 No such issuer
16 Approved update track 3
17 Customer cancellation
18 Customer dispute
19 Reintentar Transacción
20 No tomo acción
21 No tomo acción
22 Transacción No Aprobada
23 Transacción No Aceptada
24 File update not supported
25 Unable to locate record
26 Duplicate record
27 File update edit error
28 File update file locked
30 File update failed
31 Bin no soportado
32 Tx. Completada Parcialmente
33 Tarjeta Expirada
34 Transacción No Aprobada
35 Transacción No Aprobada
36 Transacción No Aprobada
37 Transacción No Aprobada
38 Transacción No Aprobada
39 Tarjeta Invalida
40 Función no Soportada
41 Transacción No Aprobada
42 Cuenta Invalida
43 Transacción No Aprobada
44 No investment account
51 Fondos insuficientes
52 Cuenta Invalidad
53 Cuenta Invalidad
54 Tarjeta vencida
56 Cuenta Invalidad
57 Transacción no permitida
58 Transacción no permitida en terminal
60 Contactar Adquirente
61 Excedió Limte de Retiro
62 Tarjeta Restringida
65 Excedió Cantidad de Intento
66 Contactar Adquirente
67 Hard capture
68 Response received too late
75 Pin excedio Limte de Intentos
77 Captura de Lote Invalida
78 Intervención del Banco Requerida
79 Rechazada
81 Pin invalido
82 PIN Required
85 Llaves no disponibles
89 Terminal Invalida
90 Cierre en proceso
91 Host No Disponible
92 Error de Ruteo
94 Duplicate Transaction
95 Error de Reconciliación
96 Error de Sistema
97 Emisor no Disponible
98 Excede Limete de Efectivo
99 CVV or CVC Error response