Transacción

Permite procesar transacciones con token o sin token con la posibilidad de tokenizar.

Parámetros en formato JSON en el cuerpo de la petición POST.

Parámetros
Request (sin tokenizar)
Request (tokenizando)
Request (con token)
Response (ejemplo)
Parámetros

Campo

Requerido

Tipo

Descripción

merchantId

si

Alfanumérico

Nombre identificador del comercio.

order

si

Alfanumérico

Identificación de la orden generada por el comercio. Es el número asignado por el comercio, no el número asignado por Payvalida.

checksum

si

Alfanumérico

Checksum formado de la siguiente manera: SHA512(merchantId + order + fixed_hash)

valor

si

numérico

Valor del pago a realizar. Debe corresponder con el registrado en la orden al momento de su creación.

cvv

si

numérico

Código de seguridad de la tarjeta de crédito. Este parámetro debe enviarse la primera vez que se hace una transacción con la tarjeta de crédito, y es opcional enviarlo las veces posteriores para la franquicia Mastercard. Si se recibe el parámetro, se usará; en caso contrario se hará la transacción como recurrente.

fechaExpiracion

si

Alfanumérico

Fecha de expiración de la tarjeta de crédito en formato MM/AA. Este parámetro es requerido si la transacción no es mediante token; e ignorado si la transacción se hace con un token, en cuyo caso se usará la información almacenada correspondiente a la tarjeta del token.

cuotas

si

numérico

Cantidad de cuotas en las que se realizará el pago. Este campo debe ser mayor o igual a 1.

tipoDI

si

Alfabético

Tipo de documento de identificación de la persona que realiza la transacción.

di

si

Alfanumérico

Número de documento de identificación de la persona que realiza la transacción.

token

no

Alfanumérico

Token de una tarjeta de crédito. Usado cuando se quiere hacer uso de una tarjeta de crédito previamente tokenizada (parámetro «tokenizar» de este mismo servicio).

numeroTarjeta

no

Alfanumérico

Número de la tarjeta de crédito. Este parámetro es requerido si la transacción no es mediante token; e ignorado si la transacción se hace con un token, en cuyo caso se usará la información almacenada correspondiente a la tarjeta del token.

nombreTitular

no

Alfanumérico

Nombre del titular de la tarjeta de crédito, sin apellidos. Este parámetro es requerido si la transacción no es mediante token; e ignorado si la transacción se hace con un token, en cuyo caso se usará la información almacenada correspondiente a la tarjeta del token.

apellidosTitular

no

Alfanumérico

Apellidos del titular de la tarjeta de crédito. Este parámetro es requerido si la transacción no es mediante token; e ignorado si la transacción se hace con un token, en cuyo caso se usará la información almacenada correspondiente a la tarjeta del token.

franquicia

no

Alfabético

Define la franquicia de la tarjeta de crédito. Si se omite este campo y la transacción no es con token, se infiere la franquicia del número de la TC. Este campo es ignorado si la transacción se hace con un token, en cuyo caso se usará la información almacenada correspondiente a la tarjeta del token.

tokenizar

no

boolean

Indica si se quiere tokenizar la tarjeta de crédito. Este parámetro es ignorado si la transacción se hace con un token.

correo

no

Alfanumérico

Dirección de correo electrónico de la persona que realiza la transacción.

telefono

no

Alfanumérico

Número telefónico de la persona que realiza la transacción.

ip

no

Alfanumérico

Dirección IP del dispositivo origen de la transacción, del usuario final.

Request (sin tokenizar)
// Transacción con tarjeta de crédito. No se tokenizará.
{
"merchantId": "mi_comercio",
"order": "1234567890",
"checksum": "573ADFB03SF9F6ADECCAAD5B849BE246D63039E06630C745EF652642B7E5151EC5486F9F53D24B9AF266B1CD3C3C452E8C7AD35CA6586B37B70CD73",
"valor": 70500,
"cuotas": 1,
"tipoDI": "CC",
"di": "1234567890",
"cvv": 123,
"numeroTarjeta": "53123456789083",
"fechaExpiracion": "12/21",
"nombreTitular": "Juan",
"apellidosTitular": "Pérez"
}
Request (tokenizando)
// Transacción con tarjeta de crédito. Se tokenizará.
{
"merchantId": "mi_comercio",
"order": "1234567890",
"checksum": "573ADFB03SF9F6ADECCAAD5B849BE246D63039E06630C745EF652642B7E5151EC5486F9F53D24B9AF266B1CD3C3C452E8C7AD35CA6586B37B70CD73",
"valor": 70500,
"cuotas": 1,
"tipoDI": "CC",
"di": "1234567890",
"cvv": 123,
"numeroTarjeta": "53123456789083",
"fechaExpiracion": "12/21",
"nombreTitular": "Juan",
"apellidosTitular": "Pérez",
"tokenizar": true
}
Request (con token)
// Transacción con token. El token fue originado de una transacción con TC previamente tokenizada.
{
"merchantId": "mi_comercio",
"order": "1234567890",
"checksum": "573ADFB03SF9F6ADECCAAD5B849BE246D63039E06630C745EF652642B7E5151EC5486F9F53D24B9AF266B1CD3C3C452E8C7AD35CA6586B37B70CD73",
"valor": 70500,
"cuotas": 1,
"tipoDI": "CC",
"di": "1234567890",
"cvv": 123, // Requerido para franquicias diferentes a Mastercard
"token": "12345678901234"
}
Response (ejemplo)
{
"result": "200",
"data": {
"token": "5388846254108783",
"order": {
"amount": "44000.00",
"date": "2020-09-30",
"tax": "0",
"total": "44000.00"
},
"transaction": {
"date": "2020-10-01",
"responseCode": "APROBADA",
"installments": "1",
"accountType": "CREDITO",
"cus": "2020-10-01_112233",
"invoiceNumber": "112233",
"franchise": "MasterCard",
"response": "Aprobado",
"cardNumber": "************8783",
"numAprobacion": "112233",
"idTransaccionAutorizador": "332211"
},
"commerce": {
"url": "https://www.payvalida.com",
"terminal": "abcdef",
"name": "VALIDDA S.A.S",
"code": "73",
"email": "[email protected]",
"net": "REDEBAN"
},
"user": {}
},
"error": ""
}

El código result == 200 indica que la transacción fue enviada al procesador del banco, pero no necesariamente indica que fue aprobada. Para verificar la correcta transacción se debe verificar el campo data.transaction.responseCode == "APROBADA" (ver ejemplo de Response arriba). En caso de que se tokenice, el token se obtiene de data.token (ver ejemplo de Response arriba). En caso de error recibirá la descripción del error en el campo error.