# 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.

# Protocolo 3DS

3DS es un protocolo de mensajería que permite la autenticación de los tarjetahabientes en compras online aumentando la seguridad de la transacción. El mismo fue diseñado para proporcionar una experiencia de usuario sin fricción, mientras previene el uso no autorizado de tarjetas en linea y protege al comercio.

# 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.
  • Para transacciones con el servicio de autenticación 3DSecure, se utilizará como código de respuesta de rechazo el valor TF, este sería únicamente para rechazos en los requerimientos de autenticación, esto incluye los casos donde el usuario no pudo completar el reto.

# Requerimiento de Pago

# Parametros de solicitud

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

  • TransactionType [Mandatorio, Longitud: 4] - Valor que identifica el tipo de transacción.
  • Amount [Mandatorio, Longitud: 12] - Monto de la transacción.
  • CurrencyCode [Mandatorio, Longitud: 3] - Código de moneda en que se realizara la transacción. RD Peso = 214, US$=840.
  • Tax [Mandatorio, Longitud: 12] - Valor de ITBIS que sería cobrado en la transacción.
  • MerchantNumber [Mandatorio, Longitud: 15] - Número de afiliado que utilizara el comercio en la plataforma.
  • MerchantTerminal [Mandatorio, Longitud: 12] - Número de terminal que utilizara el comercio en la plataforma.
  • ReturnUrl [Mandatorio, Longitud: Variable] - Dirección de la página adonde el comprador seria redireccionado en el caso que la transacción sea aprobada.
  • CancelUrl [Mandatorio, Longitud: Variable] - Dirección de la página adonde el comprador seria redireccionado en el caso que la transacción sea rechazada.
  • PageLanguaje [Mandatorio, Longitud: 3] - 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.
  • TransactionId [Mandatorio, Longitud: 6] - Valor asignado por el comercio. Se debe respetar la longitud del campo.
  • TxToken [condicional, Longitud: 37] - Número de token de transaccion, utilizado para transacciones de confirmacion.
  • KeyEncriptionKey [Mandatorio, Longitud: 32] - Debe generar un MD5 con los valores de los campos MerchantType, MerchantNumber, MerchantTerminal, TransactionId, Amount, Tax.
  • Ipclient [Mandatorio, Longitud: 15] - Dirección IP de cliente.
  • AcquiringInstitutionCode [Mandatorio, Longitud: 3] - Código de adquirente.
  • BatchId [Opcional, Longitud: 3] - Número de lote de la transacción.
  • OrdenID [Mandatorio, Longitud: Variable] - Número de factura o identificación de la orden para el comercio.
  • MerchantName [Mandatorio, Longitud: 40] - 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.
  • MerchantType [Opcional, Longitud: 4] - Código de categoría del comercio.

# 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>

# Parametros adicionales para 3DS

  • Información Cliente
    • 3DS_email [Opcional, Longitud: 254] - Dirección de correo electrónico asociada con la cuenta que ingresó el Titular de la Tarjeta o está que vinculada al solicitante de la autorizacion.
    • 3DS_mobilePhone [Opcional, Longitud: 15] - Número de telefono asociado a la cuenta.
    • 3DS_workPhone [Opcional, Longitud: 15] - Número de telefono del trabajo o Negocio.
    • 3DS_homePhone [Opcional, Longitud: 15] - Numero de telefono residencia.
  • Información de Facturación
    • 3DS_billAddr_line1 [Opcional, Longitud: 50] - Linea 1 para digitar direccion de facturacion asociada a la tarjeta utilizada para la compra.
    • 3DS_billAddr_line2 [Opcional, Longitud: 50] - Linea 2 para digitar direccion de facturacion asociada a la tarjeta utilizada para la compra.
    • 3DS_billAddr_line3 [Opcional, Longitud: 50] - Linea 3 para digitar direccion de facturacion asociada a la tarjeta utilizada para la compra.
    • 3DS_billAddr_city [Opcional, Longitud: 50] - Ciudad de facturacion de la tarjeta utilizada para la compra.
    • 3DS_billAddr_state [Opcional, Longitud: 3] - Estado de facturacion de la tarjeta utilizada para la compra. ISO 3166-1.
    • 3DS_billAddr_country [Opcional, Longitud: 3] - Codigo postal de facturacion de la tarjeta utilizada para la compra. ISO 3166-1.
    • 3DS_billAddr_postCode [Opcional, Longitud: 16] - Codigo postal de facturacion de la tarjeta utilizada para la compra.
  • Información Referente a entrega de la orden
    • 3DS_shipAddr_line1 [Opcional, Longitud: 50] - Linea 1 para digitar direccion de envio de la cuenta asociada a la compra.
    • 3DS_shipAddr_line2 [Opcional, Longitud: 50] - Linea 2 para digitar direccion de envio de la cuenta asociada a la compra.
    • 3DS_shipAddr_line3 [Opcional, Longitud: 50] - Linea 3 para digitar direccion de envio de la cuenta asociada a la compra.
    • 3DS_shipAddr_city [Opcional, Longitud: 50] - Ciudad de envio asociada a la cuenta utilizada para la compra.
    • 3DS_shipAddr_state [Opcional, Longitud: 3] - Estado de envio asociada a la cuenta utilizada para la compra.
    • 3DS_shipAddr_country [Opcional, Longitud: 3] - Pais de envio asociada a la cuenta utilizada para la compra.
    • 3DS_shipAddr_postCode [Opcional, Longitud: 16] - Codigo Postal de envio asociada a la cuenta utilizada para la compra.
    • 3DS_transType [Opcional, Longitud: 3] - Campo utilizado para especificar el tipo de transacciones a realizar: Compra normal: 01(por defecto) Check Acceptance:03 Account Funding: 10 Transaccion para juegos de azar: 11 Prepaid Activation and Load: 28

# Ejemplo de solicitud con Campos Adicionales 3DSecure

<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">
  <input name="3DS_email" Value="cuenta@correo.com" type="hidden">
  <input name="3DS_mobilePhone" Value="8095000000" type="hidden">
  <input name="3DS_workPhone" Value="8094733300" type="hidden">
  <input name="3DS_homePhone" Value="8095333333" type="hidden">
  <input name="3DS_billAddr_line1" Value="Max Henrizque Urena" type="hidden">
  <input name="3DS_billAddr_line2" Value="No.10" type="hidden">
  <input name="3DS_billAddr_line3" Value="" type="hidden">
  <input name="3DS_billAddr_city" Value="SantoDomingo" type="hidden">
  <input name="3DS_billAddr_state" Value="DN" type="hidden">
  <input name="3DS_billAddr_country" Value="DOP" type="hidden">
  <input name="3DS_billAddr_postCode" Value="10111" type="hidden">
  <input name="3DS_shipAddr_line1" Value="Max Henrizque Urena" type="hidden">
  <input name="3DS_shipAddr_line2" Value="No.10" type="hidden">
  <input name="3DS_shipAddr_line3" Value="" type="hidden">
  <input name="3DS_shipAddr_city" Value="SantoDomingo" type="hidden">
  <input name="3DS_shipAddr_state" Value="DN" type="hidden">
  <input name="3DS_shipAddr_country" Value="DOP" type="hidden">
  <input name="3DS_shipAddr_postCode" Value="10111" type="hidden">
</form>

# Respuesta a requerimiento de pago

# Formato de Respuesta

  • CreditCardNumber [Longitud: 19] - Se deberán recibir los primero 6 y últimos 4 dígitos legibles, el resto deberá llegar enmascarado.
  • ResponseCode [Longitud: 2] - Código de respuesta recibido del banco emisor.
  • AuthorizationCode [Longitud: 6] - Número de autorización recibido del banco emisor.
  • RetrievalReferenceNumber [Longitud: 12] - Número de referencia asignado por Cardnet. Deberá ser único por cada transacción.
  • OrdenID [Longitud: Variable] - Número de factura o identificación de la orden para el comercio.
  • TransactionId [Longitud: 6] - Valor asignado.
  • TxToken [Longitud: 40] - Numero de token de transacción, utilizado para transacciones de confirmación.

# Ejemplo de respuesta

ResponseCode=00&TransactionID=009999&RemoteResponseCode=00&AuthorizationCode=026262&RetrivalReferenceNumber=000000000028&TxToken: txn-116020aff1f44171a6bfbf46bf9044a7

# Acceso Gateway Ztrans

# Parametros Ambiente Desarrollo Gateway Ztrans:

  • Link Acceso: https://lab.cardnet.com.do/authorize
  • Numero de Comercio: 349000000
  • Terminal Id Comercio: 58585858
  • Categoría del Comercio: 7997
  • Tipo Transacción: 200

# Parametros Produccion Gateway Ztrans:

  • Link Acceso: https://ecommerce.cardnet.com.do/authorize
  • Numero de Comercio:
  • Terminal Id Comercio:
  • Categoría del Comercio:
  • Tipo Transacción:

# 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
TF Solicitud de autenticación rechazada o no completada.