Skip to content

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

bash
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

json
{
  "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

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

text
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
json
{
  "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

json
{
  "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

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

Ejemplo de respuesta transacción

json
{
  "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

json
{
  "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

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

Ejemplo de respuesta de transacción

json
{
  "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

json
{
  "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

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

Ejemplo de respuesta de preautorización de pago

json
{
  "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

json
{
  "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

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

Ejemplo de respuesta a confirmación de pago

json
{
  "OrdenID": "686",
  "AuthorizationCode": "005969",
  "TxToken": "txn-99ed4c42f0054acaaa67de6e0eea6ea2",
  "ResponseCode": "00",
  "CreditcardNumber": "555555______5557",
  "CreditCardNumber": "555555______5557",
  "RetrivalReferenceNumber": "000000000419",
  "RemoteResponseCode": "00",
  "TransactionID": "160088"
}
html
<form action=”https://labservicios.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

html
<form action=”https://labservicios.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

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

Acceso Gateway Ztrans

Parámetros Ambientes Desarrollo:

  • URL API: https://labservicios.cardnet.com.do/sessions
  • Link Acceso invocar botón de Ventas Normal:
    • https://labservicios.cardnet.com.do/authorize
  • Link Acceso invocar botón de Ventas Cuotas:
    • https://labservicios.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 CODEDESCRIPCIÓN CLIENTE
00Aprobada
01Llamar al Banco
02Llamar al Banco
03Comercio Invalido
04Rechazada
05Rechazada
06Error en Mensaje
07Tarjeta Rechazada
08Llamar al Banco
09Request in progress
10Aprobación Parcial
11Approved VIP
12Transacción Invalida
13Monto Invalido
14Cuenta Invalida
15No such issuer
16Approved update track 3
17Customer cancellation
18Customer dispute
19Reintentar Transacción
20No tomo acción
21No tomo acción
22Transacción No Aprobada
23Transacción No Aceptada
24File update not supported
25Unable to locate record
26Duplicate record
27File update edit error
28File update file locked
30File update failed
31Bin no soportado
32Tx. Completada Parcialmente
33Tarjeta Expirada
34Transacción No Aprobada
35Transacción No Aprobada
36Transacción No Aprobada
37Transacción No Aprobada
38Transacción No Aprobada
39Tarjeta Invalida
40Función no Soportada
41Transacción No Aprobada
42Cuenta Invalida
43Transacción No Aprobada
44No investment account
51Fondos insuficientes
52Cuenta Invalida
53Cuenta Invalida
54Tarjeta vencida
56Cuenta Invalida
57Transacción no permitida
58Transacción no permitida en terminal
60Contactar Adquirente
61Excedió Límite de Retiro
62Tarjeta Restringida
65Excedió Cantidad de Intentos
66Contactar Adquirente
67Hard capture
68Response received too late
75Pin excedió Límite de Intentos
77Captura de Lote Invalida
78Intervención del Banco Requerida
79Rechazada
81Pin inválido
82PIN Required
85Llaves no disponibles
89Terminal Invalida
90Cierre en proceso
91Host No Disponible
92Error de Ruteo
94Duplicate Transaction
95Error de Reconciliación
96Error de Sistema
97Emisor no Disponible
98Excede Límite de Efectivo
99CVV or CVC Error response
TFSolicitud de autenticación rechazada o no completada