# Integración con Pantalla (POST)

# Preámbulo

Esta guía describe los pasos que deberán ser realizados para completar un pago con tarjeta desde una tienda o carrito de compra en línea a través del botón de pago de CardNET. El esquema de conexión seria de manera hibrida utilizando un API para generar un numero de sesión para la transacción y un método de conexión vía Post informativo para levantar el Payment Gateway donde se capturan los datos de la tarjeta, fecha de expiración, código de seguridad y retos para transacciones autenticadas 3DSecure. Finalmente, luego el comercio podría consultar el estado de la transacción una vez que sea completada por el tarjetahabiente, utilizando el mismo método y numero de sesión, lo cual permitirá consultar el resultado de la transacción por un periodo de tiempo definido.

# 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.
    • Venta normal: 0200
    • Preautorización: 0100
    • Confirmación de transacción: 2240
  • 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 a donde el comprador sería redireccionado en el caso de que la transacción sea aprobada.
  • CancelUrl [Mandatorio, Longitud: Variable] - Dirección de la página a donde el comprador sería redireccionado en el caso de 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.
  • 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: max 20] - 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.

# Parametros adicionales para 3DS

  • Información Cliente
    • 3DS_email [Mandatorio, Longitud: 254] - Dirección de correo electrónico asociada con la cuenta que ingresó el titular de la tarjeta o vinculada al solicitante de la autorización.
    • 3DS_mobilePhone [Mandatorio, Longitud: 15] - Número de teléfono asociado a la cuenta.
    • 3DS_workPhone [Mandatorio, Longitud: 15] - Número de teléfono del trabajo o negocio.
    • 3DS_homePhone [Mandatorio, Longitud: 15] - Número de teléfono de residencia.
  • Información de Facturación
    • 3DS_billAddr_line1 [Mandatorio, Longitud: 50] - Línea 1 para ingresar la dirección de facturación asociada a la tarjeta utilizada para la compra.
    • 3DS_billAddr_line2 [Mandatorio, Longitud: 50] - Línea 2 para ingresar la dirección de facturación asociada a la tarjeta utilizada para la compra.
    • 3DS_billAddr_line3 [Mandatorio, Longitud: 50] - Línea 3 para ingresar la dirección de facturación asociada a la tarjeta utilizada para la compra.
    • 3DS_billAddr_city [Mandatorio, Longitud: 50] - Ciudad de facturación de la tarjeta utilizada para la compra.
    • 3DS_billAddr_state [Mandatorio, Longitud: 3] - Estado de facturación de la tarjeta utilizada para la compra. (ISO 3166-1).
    • 3DS_billAddr_country [Mandatorio, Longitud: 3] - Código de país de facturación de la tarjeta utilizada para la compra. (ISO 3166-1).
    • 3DS_billAddr_postCode [Mandatorio, Longitud: 16] - Código postal de facturación de la tarjeta utilizada para la compra.
  • Información Referente a entrega de la orden
    • 3DS_shipAddr_line1 [Opcional, Longitud: 50] - Línea 1 para ingresar la dirección de envío de la cuenta asociada a la compra.
    • 3DS_shipAddr_line2 [Opcional, Longitud: 50] - Línea 2 para ingresar la dirección de envío de la cuenta asociada a la compra.
    • 3DS_shipAddr_line3 [Opcional, Longitud: 50] - Línea 3 para ingresar la dirección de envío de la cuenta asociada a la compra.
    • 3DS_shipAddr_city [Opcional, Longitud: 50] - Ciudad de envío asociada a la cuenta utilizada para la compra.
    • 3DS_shipAddr_state [Opcional, Longitud: 3] - Estado de envío asociada a la cuenta utilizada para la compra. (ISO 3166-1).
    • 3DS_shipAddr_country [Opcional, Longitud: 3] - País de envío asociado a la cuenta utilizada para la compra. (ISO 3166-1).
    • 3DS_shipAddr_postCode [Opcional, Longitud: 16] - Código postal de envío asociado a la cuenta utilizada para la compra.
  • 3DS_transType [Opcional, Longitud: 3] - Tipo de transacción a realizar:
    • Compra normal: 01 (por defecto)
    • Check Acceptance: 03
    • Account Funding: 10
    • Transacción para juegos de azar: 11
    • Prepaid Activation and Load: 28
  • 3DS_RI_ind [Opcional, Longitud: 3] - Tipo de operación a realizar:
    • Instalment transaction (Cuotas)
    • Split/delayed shipment (Solo para tarjetas Visa)
    • Mail Order (Solo para tarjeta Visa)
  • expdate_month [Mandatorio, Longitud: 2] - Mes de expiración de la tarjeta.
  • expdate_year [Mandatorio, Longitud: 2] - Año de expiración de la tarjeta.
  • RemoteResponseCode [Mandatorio, Longitud: 2] - Código de respuesta remoto recibido del banco emisor.

# Creación de sesión

El modo API introduce el concepto de sesión. Una sesión provee almacenamiento por tiempo limitado de los parámetros de pago. Esta sesión es creada enviando un POST al método REST. La invocación de este servicio ocurre desde el servidor evitando enviar cualquier dato al navegador. Para consumir el API se podrán utilizar los siguientes parámetros.

# Ejemplo de Requerimiento de Pago

curl -X POST https://urlbase/sessions \
-H "Content-Type: application/json" \
-H "Proxy-Connection: Keep-Alive" \
-H "Transfer-Encoding: chunked" \
-d '{
  "TransactionType": "0200",
  "CurrencyCode": "214",
  "AcquiringInstitutionCode": "349",
  "MerchantType": "5440",
  "MerchantNumber": "349011300",
  "MerchantTerminal": "00567856",
  "MerchantTerminal_amex": "00000001",
  "ReturnUrl": "http://localhost:9010/notify-success",
  "CancelUrl": "http://localhost:9010/notify-cancelled",
  "PageLanguaje": "ENG",
  "OrdenId": "686",
  "TransactionId": "160088",
  "Tax": "000000241523",
  "MerchantName": "COMERCIO PARA REALIZAR PRUEBAS DO",
  "AVS": "33024 1000 ST JOHN PLACE PEMBROKE PINES FLORIDA",
  "Amount": "88100"
}'

# Respuesta del requerimiento

{
  "SESSION": "8FEC9AB2-1168-430E-85CD-BA9AD981D12A",
  "session-key": "92b4c2f839e28b38d08385e641f194e3200cbd82"
}

# Requerimiento al botón de pago

Luego de crear la sesión se deberá invocar el botón de pago, enviando a través de un mensaje POST y agregando como único valor el número de sesión generado en el paso anterior.

# Ejemplo requerimiento para invocar Botón de Pago

<form action="http://urlbase/authorize" method="post">
  <input
    name="SESSION"
    value="93971A4A-63A3-44D6-8E4D-55CFA21A5333"
    type="hidden"
  />
  <input class="btn btn-info" value="Autorizar" type="submit" />
</form>

# Respuesta del requerimiento

SESSION: 8FEC9AB2-1168-430E-85CD-BA9AD981D12A

# Opciones de tipo de pantallas

Fue incorporada la facilidad de utilizar una opción donde el cliente pueda realizar transacciones a su cuenta diferida y/o cuotas. Esta pantalla tiene de diferente a una venta normal la opción de que el cliente (TH) pueda seleccionar las cuotas o plazos que desea pagar a su banco. Para el comercio este pago sería una única transacción con el monto total de la venta y el financiamiento será entre el cliente (TH) y el banco emisor de la tarjeta.

# Verificación del resultado

Para obtener el resultado final de la transacción se deberá consultar el servicio API utilizando el valor de la sesión y recure key obtenido en el paso 1, de este modo se podrán obtener los parámetros de respuesta de la transacción. Por otro lado, Es importante extraer esta información antes de 30 minutos de haber sometido el pedido original, en caso de que agotar el tiempo valido, recibirá una respuesta “Session not found”, valor de estatus “404”.

# Parámetros en la respuesta de transacción

  • CreditCardNumber [Longitud: 19] - Se deberán recibir los primeros 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 por el comercio. Se debe respetar la longitud del campo.
  • TxToken [Longitud: 40] - Número de token de transacción, utilizado para transacciones de confirmación.

# Requerimiento para Consultar Resultado de Transacción

Se deberá realizar un GET al API https://urlbase/sessions/{SESSION}?sk={session-key}.

# Notas:
  • Reemplaza {SESSION} y {session-key} con los valores correspondientes obtenidos en la respuesta del requerimiento inicial.
  • La URL https://urlbase/sessions/ debe ser reemplazada con la URL real del servicio.
# Ejemplo de solicitud
GET https://urlbase/sessions/93971A4A-63A3-44D6-8E4D-55CFA21A5333?sk=ed116cb57d140fed6ca84ecbf12908939ede0193
# Ejemplo de respuesta
{
  "OrdenID": "686",
  "AuthorizationCode": "005964",
  "TxToken": "txn-e694e48e7c6d4990b1f8843e05598cd4",
  "ResponseCode": "00",
  "CreditCardNumber": "555555______5557",
  "RetrievalReferenceNumber": "000000000417",
  "RemoteResponseCode": "00",
  "TransactionID": "160088"
}

# Mensaje Transaccionales según el tipo de transaccion

# Pago de Venta Normal

A continuaciones se muestra un ejemplo de los parámetros necesarios para realizar una transacción de venta normal y un ejemplo de respuesta.

# Ejemplo de requerimiento de Pago Venta Normal

{
  "TransactionType": "0200",
  "CurrencyCode": "214",
  "AcquiringInstitutionCode": "349",
  "MerchantType": "5440",
  "MerchantNumber": "349011300",
  "MerchantTerminal": "00567856",
  "MerchantTerminal_amex": "00000001",
  "ReturnUrl": "http://localhost:9010/notify-success",
  "CancelUrl": "http://localhost:9010/notify-cancelled",
  "PageLanguaje": "ENG",
  "OrdenId": "686",
  "TransactionId": "160088",
  "Tax": "000000241523",
  "MerchantName": "COMERCIO PARA REALIZAR PRUEBAS DO",
  "AVS": "33024 1000 ST JOHN PLACE PEMBROKE PINES FLORIDA",
  "Amount": "88100"
}

# Ejemplo de respuesta a requerimiento de sesión

{
  "SESSION": "C515BB47-B732-4A6F-A7E2-53D441D22712",
  "session-key": "3bf9ceb6197b71d474b6fc2ff5bc83742f74698a"
}

# Ejemplo de respuesta transacción

{
  "OrdenID": "686",
  "AuthorizationCode": "005969",
  "TxToken": "txn-99ed4c42f0054acaaa67de6e0eea6ea2",
  "ResponseCode": "00",
  "CreditcardNumber": "555555______5557",
  "CreditCardNumber": "555555______5557",
  "RetrivalReferenceNumber": "000000000419",
  "RemoteResponseCode": "00",
  "TransactionID": "160088"
}

# Pago de Venta Normal + 3DSecure

A continuación, se muestra un ejemplo de los parámetros necesarios para realizar una transaccion de venta normal con autenticación 3DSecure, en este caso, se agregan parámetros adicionales que pueden ser enviados en el requerimiento de autorización, esto ayudara a que el banco emisor pueda tener más información de la transaccion realizadas en el comercio.

# Ejemplo de requerimiento de pago con campos adicionales 3DSecure

{
  "TransactionType": "0200",
  "CurrencyCode": "214",
  "AcquiringInstitutionCode": "349",
  "MerchantType": "5440",
  "MerchantNumber": "349011300",
  "MerchantTerminal": "00567856",
  "MerchantTerminal_amex": "00000001",
  "ReturnUrl": "http://localhost:9010/notify-success",
  "CancelUrl": "http://localhost:9010/notify-cancelled",
  "PageLanguaje": "ENG",
  "OrdenId": "686",
  "TransactionId": "160088",
  "Tax": "000000241523",
  "MerchantName": "COMERCIO PARA REALIZAR PRUEBAS DO",
  "AVS": "33024 1000 ST JOHN PLACE PEMBROKE PINES FLORIDA",
  "Amount": "77100",
  "3DS_email": "cuenta@correo.com",
  "3DS_mobilePhone": "8095000000",
  "3DS_workPhone": "8094733300",
  "3DS_homePhone": "8095333333",
  "3DS_billAddr_line1": "Max Henrizque Urena",
  "3DS_billAddr_line2": "No.10",
  "3DS_billAddr_line3": " ",
  "3DS_billAddr_city": "SantoDomingo",
  "3DS_billAddr_state": "DN",
  "3DS_billAddr_country": "DOP",
  "3DS_billAddr_postCode": "10111",
  "3DS_shipAddr_line1": "Max Henrizque Urena",
  "3DS_shipAddr_line2": "No.10",
  "3DS_shipAddr_line3": " ",
  "3DS_shipAddr_city": "SantoDomingo",
  "3DS_shipAddr_state": "DN",
  "3DS_shipAddr_country": "DOP",
  "3DS_shipAddr_postCode": "10111"
}

# Ejemplo de respuesta a requerimiento de sesión

{
  "SESSION": "C515BB47-B732-4A6F-A7E2-53D441D22712",
  "session-key": "3bf9ceb6197b71d474b6fc2ff5bc83742f74698a"
}

# Ejemplo de respuesta de transacción

{
  "OrdenID": "686",
  "AuthorizationCode": "005969",
  "TxToken": "txn-99ed4c42f0054acaaa67de6e0eea6ea2",
  "ResponseCode": "00",
  "CreditcardNumber": "555555______5557",
  "CreditCardNumber": "555555______5557",
  "RetrivalReferenceNumber": "000000000419",
  "RemoteResponseCode": "00",
  "TransactionID": "160088"
}

# Preautorización y confirmación de pago

A continuaciones se muestra un ejemplo de los parámetros necesarios para realizar una transaccion de pre autorización, en este escenario el comercio desea hacer el cargo a la tarjeta, proceder con él envió del producto y posteriormente realizar la confirmación del pago luego de la entregar del bien o servicio.

# Ejemplo de requerimiento de preautorización de pago

{
  "TransactionType": "0100",
  "CurrencyCode": "214",
  "AcquiringInstitutionCode": "349",
  "MerchantType": "5440",
  "MerchantNumber": "349011300",
  "MerchantTerminal": "00567856",
  "MerchantTerminal_amex": "00000001",
  "ReturnUrl": "http://localhost:9010/notify-success",
  "CancelUrl": "http://localhost:9010/notify-cancelled",
  "PageLanguaje": "ENG",
  "OrdenId": "686",
  "TransactionId": "160088",
  "Tax": "000000000050",
  "MerchantName": "COMERCIO PARA REALIZAR PRUEBAS DO",
  "AVS": "33024 1000 ST JOHN PLACE PEMBROKE PINES FLORIDA",
  "Amount": "000001000050"
}

# Ejemplo de respuesta a requerimiento de sesión

{
  "SESSION": "FD7E2CD5-13AE-4D68-ABE6-28674FD8674B",
  "session-key": "2a5cd332bd080e32f583659ebfd91ef7e22e3e7e"
}

# Ejemplo de respuesta de preautorización de pago

{
  "OrdenID": "686",
  "AuthorizationCode": "005969",
  "TxToken": "txn-99ed4c42f0054acaaa67de6e0eea6ea2",
  "ResponseCode": "00",
  "CreditcardNumber": "555555______5557",
  "CreditCardNumber": "555555______5557",
  "RetrivalReferenceNumber": "000000000419",
  "RemoteResponseCode": "00",
  "TransactionID": "160088"
}

# Confirmación de pago

Para el mensaje de confirmación se deberán devolver valores recibidos en el requerimiento de autorización, incluyendo los dígitos del número de tarjeta obtenido en la respuesta de la transaccion. Los valores en el campo fecha de expiración debe ser valores vigentes, pero los utilizados en el pago.

# Ejemplo de requerimiento de confirmación de pago

{
  "TransactionType": "2240",
  "CurrencyCode": "214",
  "AcquiringInstitutionCode": "349",
  "MerchantType": "5440",
  "MerchantNumber": "349011300",
  "MerchantTerminal": "00567856",
  "MerchantTerminal_amex": "00000001",
  "ReturnUrl": "http://localhost:9010/notify-success",
  "CancelUrl": "http://localhost:9010/notify-cancelled",
  "PageLanguaje": "ENG",
  "OrdenId": "686",
  "TransactionId": "160088",
  "Tax": "000000001523",
  "MerchantName": "COMERCIO PARA REALIZAR PRUEBAS DO",
  "AVS": "33024 1000 ST JOHN PLACE PEMBROKE PINES FLORIDA",
  "Amount": "000000500050",
  "RetrivalReferenceNumber": "000000000403",
  "TxToken": "txn-48f3a3a3599e4d4eaa96bd2a95b62724",
  "CreditcardNumber": "555555______5557",
  "expdate_month": "12",
  "expdate_year": "49",
  "AuthorizationCode": "027891"
}

# Ejemplo de respuesta a requerimiento de sesión

{
  "SESSION": "FD7E2CD5-13AE-4D68-ABE6-28674FD8674B",
  "session-key": "2a5cd332bd080e32f583659ebfd91ef7e22e3e7e"
}

# Ejemplo de respuesta a confirmación de pago

{
  "OrdenID": "686",
  "AuthorizationCode": "005969",
  "TxToken": "txn-99ed4c42f0054acaaa67de6e0eea6ea2",
  "ResponseCode": "00",
  "CreditcardNumber": "555555______5557",
  "CreditCardNumber": "555555______5557",
  "RetrivalReferenceNumber": "000000000419",
  "RemoteResponseCode": "00",
  "TransactionID": "160088"
}
<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="Ipclient" value="X.X.X.X" type="hidden">
  <input name='loteid' Value='001' type="hidden">
  <input name='seqid' Value='001' type="hidden">
</form>

# 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

# Parámetros Ambientes Desarrollo:

  • URL API: https://lab.cardnet.com.do/sessions
  • Link Acceso invocar botón de Ventas Normal:
    • https://lab.cardnet.com.do/authorize
  • Link Acceso invocar botón de Ventas Cuotas:
    • https://lab.cardnet.com.do/servicios/pagosxcuotas/cardnetPagosCuotas
  • Número de Comercio: 349000000
  • Terminal Id Comercio: 58585858
  • Categoría del Comercio: 7997
  • Tipo Transacción: 200

# Parámetros Producción:

  • URL API: https://ecommerce.cardnet.com.do/sessions
  • Link Acceso Invocar botón Ventas Normal:
    • https://ecommerce.cardnet.com.do/authorize
  • Link Acceso invocar botón de Ventas Cuotas:
    • https://ecommerce.cardnet.com.do/servicios/pagosxcuotas/cardnetPagosCuotas
  • Número de Comercio: [Por definir]
  • Terminal Id Comercio: [Por definir]
  • Categoría del Comercio: [Por definir]
  • Tipo Transacción: 200

# Códigos de Respuesta

Los códigos de respuesta son utilizados para identificar el estado final del requerimiento de transacción. Si una transacción es aprobada, deberá recibir el código de respuesta 00. A continuación, se detalla el significado de cada código:

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 Invalida
53 Cuenta Invalida
54 Tarjeta vencida
56 Cuenta Invalida
57 Transacción no permitida
58 Transacción no permitida en terminal
60 Contactar Adquirente
61 Excedió Límite de Retiro
62 Tarjeta Restringida
65 Excedió Cantidad de Intentos
66 Contactar Adquirente
67 Hard capture
68 Response received too late
75 Pin excedió Límite de Intentos
77 Captura de Lote Invalida
78 Intervención del Banco Requerida
79 Rechazada
81 Pin inválido
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 Límite de Efectivo
99 CVV or CVC Error response
TF Solicitud de autenticación rechazada o no completada