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