# Integración sin Pantalla (REST)
# Preámbulo
Esta guía describe los métodos y parámetros disponibles en la plataforma Ztrans utilizada para procesar transacciones de comercio electrónico con el protocolo de comunicación web services para comercios afiliados a Cardnet.
# Métodos Disponibles
Los métodos disponibles utilizando WSDL serían los siguientes:
Create Idempotency Key: Método utilizado para obtener el idempotencykey, este valor deberá solicitarse antes de cada requerimiento de pago, o sea, primero se debe obtener el
idempotencykey
y luego agregarlo al mensaje de solicitud de pago (Sale).Sale: Método utilizado para enviar requerimientos de venta con tarjeta, se debe tener en cuenta que en cada solicitud deberá enviarse el valor de idempotencykey previamente generado. Una vez que la transacción sea completada debería recibir el código de respuesta 00 y la descripción “Transaction Approved”.
Void: Método utilizado para anular un pago previamente autorizado. Para consumir este método deberá enviar información obtenida de la respuesta del pago. Las anulaciones solamente podrían enviarse antes de realizar el proceso de cierre. A partir de la versión 1.8 se podrá anular autorizaciones de Hold o Check In
Checkin: Método utilizado para realizar un check in y/o cargo autorizado al disponible de un TH. Para poder liquidar esta transacción deberá enviar una confirmación o check out con los datos de la transacción original.
Checkout: Método utilizado para realizar un check out de un cargo autorizado anteriormente al disponible de un TH. Con esta confirmación se podrá liquidar la transacción original. Este podrá ser aplicado con un monto igual o menor a la transacción original.
# Create Idempotency Key
- Ruta:
/api/payment/idenpotency-keys
- Método: POST
# Ejemplo de Solicitud
curl -X POST https://ecommerce.cardnet.com.do/api/payment/idenpotency-keys
-H "Accept: text/plain"
# Ejemplo de Respuesta
ikey:c0930d79506f4cc49730232b0f6e0b5c
# Sale
- Ruta:
/api/payment/sales
- Método: POST
# Parámetros de Solicitud
# token
- Formato:
string
- Descripción: Valor generado por la aplicación del cliente.
# idempotency-key
- Formato:
string
- Descripción: Valor identificador de transacción.
# merchant-id
- Formato:
string
- Descripción: Número de afiliado del comercio.
# terminal-id
- Formato:
string
- Descripción: Número de terminal id del comercio.
# card-number
- Formato:
string
- Descripción: Número de tarjeta utilizada para realizar el pago.
# environment
- Formato:
string
- Descripción: Valor utilizado para identificar el tipo de transacción: Ecommerce, MOTO, Atended, MOTO_Recurring, QuasiCashMT.
# pstr43
- Formato:
string
- Longitud máxima: 25 caracteres.
- Descripción: Parámetro opcional para autenticar la transacción.
# pstr63
- Formato:
string
- Longitud máxima: 3 caracteres.
- Descripción: Parámetro Opcional para las transacciones en cuotas y Puntos (C06,P00).
# expiration-date
- Formato:
string
- Descripción: Fecha de expiración de la tarjeta MM/YY.
# cvv
- Formato:
string
- Descripción: Número de validación de tarjeta.
# amount
- Formato:
decimal
- Descripción: Monto de la transacción.
# tip
- Formato:
decimal
- Descripción: Monto de propina.
# tax
- Formato:
decimal
- Descripción: Monto de impuesto pagado.
# currency
- Formato:
string
- Descripción: Código de moneda.
# invoice-number
- Formato:
string
- Descripción: Número de referencia del sistema.
# client-ip
- Formato:
string
- Descripción: Dirección Ip de la aplicación cliente.
# reference-number
- Formato:
string
- Descripción: Número de referencia del pago.
# Ejemplo de Solicitud
curl -X POST https://ecommerce.cardnet.com.do/api/payment/transactions/sales
-H "Content-Type: application/json"
-H "Accept: application/json"
-d '{
"amount": 100,
"card-number": "548878******5579",
"client-ip": "10.0.0.1",
"currency": "214",
"cvv": "930",
"environment": "ECommerce",
"expiration-date": "11/17",
"idempotency-key": "11b0de52dec7423db5815be48f914239",
"invoice-number": "123456",
"merchant-id": "349000001",
"reference-number": "0000001",
"tax": 15,
"terminal-id": "454500350001",
"tip": 10,
"token": "3520b278c"
}'
# Parámetros de Respuesta
# idempotency-key
- Formato:
string
- Descripción: Valor identificador de transacción.
# response-code
- Formato:
string
- Descripción: Código de respuesta del autorizador de tarjeta.
# internal-response-code
- Formato:
string
- Descripción: Código de respuesta interno de la plataforma.
# response-code-desc
- Formato:
string
- Descripción: Descripción del código de respuesta.
# response-code-source
- Formato:
string
- Descripción: Origen de la repuesta, gw= respuesta de la plataforma. Icache= Respuesta generada de una transacción con el mismo idempotency key.
# approval-code
- Formato:
string
- Descripción: Número de autorización del banco emisor.
# pnRef
- Formato:
string
- Descripción: Número de referencia de la plataforma.
# Ejemplo de Respuesta
{
"idempotency-key":"11b0de52dec7423db5815be48f914239",
"response-code":"00",
"internal-response-code":"0000",
"response-code-desc":"Transaction Approved",
"response-code-source":"gw",
"approval-code":"006734",
"pnRef":"txn-25f6b0f73bdd47b4aac88ccc4a8110a9"
}
# Void
- Ruta:
/api/payment/voids
- Método: POST
# Parámetros de Solicitud
# token
- Formato:
string
- Descripción: valor generado por la aplicación del cliente.
# idempotency-key
- Formato:
string
- Descripción: Valor identificador de transacción, deberá agregarse el valor del requerimiento original.
# merchant-id
- Formato:
string
- Descripción: Número de afiliado del comercio.
# terminal-id
- Formato:
string
- Descripción: Número de terminal id del comercio.
# enviroment
- Formato:
string
- Descripción: Valor utilizado para identificar el tipo de transacción: Ecommerce, MOTO, Atended.
# Ejemplo de Solicitud
curl -X POST https://ecommerce.cardnet.com.do/api/payment/transactions/voids
-H "Content-Type: application/json"
-H "Accept: application/json"
-d '{
"amount": 0,
"currency": "214",
"environment": "ECommerce",
"idempotency-key": "11b0de52dec7423db5815be48f914239",
"merchant-id": "349000001",
"pnRef": " txn-25f6b0f73bdd47b4aac88ccc4a8110a9",
"terminal-id": "454500350001",
"token": "3520b278c"
}'
# Parámetros de Respuesta
# idempotency-key
- Formato:
string
- Descripción: Valor identificador de transacción.
# response-code
- Formato:
string
- Descripción: Código de respuesta del autorizador de tarjeta.
# internal-response-code
- Formato:
string
- Descripción: Código de respuesta interno de la plataforma.
# response-code-desc
- Formato:
string
- Descripción: Descripción del código de respuesta.
# response-code-source
- Formato:
string
- Descripción: Origen de la repuesta, gw= respuesta de la plataforma. Icache= Respuesta generada de una transacción con el mismo idempotency key.
# approval-code
- Formato:
string
- Descripción: Número de autorización generado por el banco emisor.
# pnRef
- Formato:
string
- Descripción: Número de referencia de la plataforma.
# Ejemplo de Respuesta
{
"idempotency-key":"11b0de52dec7423db5815be48f914239",
"response-code":"00",
"internal-response-code":"0000",
"response-code-desc":"Transaction Approved",
"response-code-source":"gw",
"approval-code":"006734",
"pnRef":"txn-25f6b0f73bdd47b4aac88ccc4a8110a9"
}
# Checkin
- Ruta:
/api/payment/checkins
- Método: POST
# Parámetros de Solicitud
# token
- Formato:
string
- Descripción: Valor generado por la aplicación del cliente.
# idempotency-key
- Formato:
string
- Descripción: Valor identificador de transacción.
# merchant-id
- Formato:
string
- Descripción: Número de afiliado del comercio.
# terminal-id
- Formato:
string
- Descripción: Número de terminal id del comercio.
# card-number
- Formato:
string
- Descripción: Número de tarjeta utilizada para realizar el pago.
# environment
- Formato:
string
- Descripción: Valor utilizado para identificar el tipo de transacción: Ecommerce, MOTO, Atended, MOTO_Recurring. QuasiCashMT.
# pstr43
- Formato:
string
- Longitud máxima: 25
- Descripción: Parámetro opcional para autenticar la transacción.
# expiration-date
- Formato:
string
- Descripción: Fecha de expiración de la tarjeta MM/YY.
# cvv
- Formato:
string
- Descripción: Número de validación de tarjeta.
# amount
- Formato:
decimal
- Descripción: Monto de la transacción.
# tip
- Formato:
decimal
- Descripción: Monto de propinas.
# tax
- Formato:
decimal
- Descripción: Monto de impuesto pagado.
# currency
- Formato:
string
- Descripción: Código de moneda.
# invoice-number
- Formato:
string
- Descripción: Número de referencia del sistema.
# client-ip
- Formato:
string
- Descripción: Dirección Ip de la aplicación cliente.
# reference-number
- Formato:
string
- Descripción: Número de referencia del pago.
# Ejemplo de Solicitud
curl -X POST https://ecommerce.cardnet.com.do/api/payment/transactions/checkins
-H "Content-Type: application/json"
-H "Accept: application/json"
-d '{
"token":"3520b278c",
"idempotency-key":"2a026ea57c24406794ed5d4abb7710f4",
"merchant-id":"349000001",
"terminal-id":"12121212",
"environment":"ECommerce",
"card-number":"54613400000050",
"expiration-date":"05/21",
"cvv":"123",
"amount": 229995.00,
"tip":"0",
"tax":"0",
"currency":"214",
"invoice-number":"12345",
"client-ip":"191.160.10.2",
"reference-number":"0000001",
"pstr43":""
}'
# Parámetros de Respuesta
# idempotency-key
- Formato:
string
- Descripción: Valor identificador de transacción.
# response-code
- Formato:
string
- Descripción: Código de respuesta del autorizador de tarjeta.
# internal-response-code
- Formato:
string
- Descripción: Código de respuesta interno de la plataforma.
# response-code-desc
- Formato:
string
- Descripción: Descripción del código de respuesta.
# response-code-source
- Formato:
string
- Descripción: Origen de la repuesta, gw= respuesta de la plataforma. Icache= Respuesta generada de una transacción con el mismo idempotency key.
# approval-code
- Formato:
string
- Descripción: Número de autorización del banco emisor.
# txToken
- Formato:
string
- Descripción: Token de la respuesta de la transacción original realizada, utilizado para transacción Check-out.
# Ejemplo de Respuesta
{
"idempotency-key": "11b0de52dec7423db5815be48f914239",
"response-code": "00",
"internal-response-code": "0000",
"response-code-desc": "Transaction Approved",
"response-code-source": "gw",
"approval-code": "005952",
"txToken": "txn-a4ad31b0b34b41b0a2062fd58c026445"
}
# Checkout
- Ruta:
/api/payment/checkouts
- Método: POST
# Parámetros de Solicitud
# token
- Formato:
string
- Descripción: valor generado por la aplicación del cliente
# idempotency-key
- Formato:
string
- Descripción: Valor identificador de transacción, deberá agregarse el valor del requerimiento original.
# merchant-id
- Formato:
string
- Descripción: Numero de afiliado del comercio
# terminal-id
- Formato:
string
- Descripción: Numero de terminal id del comercio
# enviroment
- Formato:
string
- Descripción: Valor utilizado para identificar el tipo de transacción: Ecommerce, MOTO, Atended
# amount
- Formato:
decimal
- Descripción: Monto de la transacción a confirmar.ya sea igual o menor a la transacción original
# client-ip
- Formato:
string
- Descripción: IP de origen de la solicitud de la confirmación
# reference-number
- Formato:
string
- Descripción: Referencia de la transacción definida por el cliente.
# approval-code
- Formato:
string
- Descripción: Numero de aprobación del Check in original de la transacción
# txToken
- Formato:
string
- Descripción: Token de la respuesta de la transacción original realizada
# Ejemplo de Solicitud
curl -X POST https://ecommerce.cardnet.com.do/api/payment/transactions/checkouts
-H "Content-Type: application/json"
-H "Accept: application/json"
-d '{
"token":"3520b278c",
"idempotency-key":"2a026ea57c24406794ed5d4abb7710f4",
"merchant-id":"349000001",
"terminal-id":"12121212",
"environment":"ECommerce",
"amount": 229995.00,
"client-ip":"191.160.10.2",
"reference-number":"0000001",
"approval-code": "005952",
"txToken": "txn-144136ed95c54b4d8e9042eb89f19ab1"
}'
# Parámetros de Respuesta
# idempotency-key
- Formato:
string
- Descripción: Valor identificador de transacción
# response-code
- Formato:
string
- Descripción: Código de respuesta del autorizador de tarjeta
# internal-response-code
- Formato:
string
- Descripción: Código de respuesta interno de la plataforma
# response-code-desc
- Formato:
string
- Descripción: Descripción del código de respuesta
# response-code-source
- Formato:
string
- Descripción: Origen de la repuesta, gw= respuesta de la plataforma. Icache= Respuesta generada de una transaccion con el mismo idempotency key.
# approval-code
- Formato:
string
- Descripción: Número de autorización generado por el banco emisor, referente a la transacción original.
# txToken
- Formato:
string
- Descripción: Número de referencia de la plataforma
# Ejemplo de Respuesta
{
"idempotency-key": "11b0de52dec7423db5815be48f914239",
"response-code": "00",
"internal-response-code": "0000",
"response-code-desc": "Transaction Approved",
"response-code-source": "gw",
"approval-code": "005952",
"txToken": "txn-144136ed95c54b4d8e9042eb89f19ab1"
}