Datos de petición a process transaction
En los datos adicionales se puede enviar información que se desee guardar con la transacción.
Las siguientes claves NO son permitidas: _accountNumber, userAgent, fingerprint, sourcePlatform,
tokenizationID, trazabilyCode, transactionCycle, RequestId, PartnerAuthCode, onTest, threeDSEnrolled,
threeDSAuthenticated.
Además algunos parámetros para el procesamiento pueden ser enviados en este campo:
Indicador de iniciador de transacción
Si se necesita procesar con un valor particular de indicador de iniciador de pago, se puede enviar esta información como un dato adicional.
{
//...
"additional": {
"initiatorIndicator": "CARDHOLDER_COF"
}
}
Datos en respuestas a process transaction
Existen datos adicionales que son recibidos en respuesta a la solicitud de procesamiento de una transacción. La recepción de estos datos depende de diversos factores, y viene en la respuesta como additional.
{
"status": {
"status": "APPROVED",
"reason": "00",
"message": "Approved",
"date": "2024-07-17T15:28:35-05:00"
},
// ...
"additional": {
// Datos adicionales
"bin": "411076",
"terminalNumber": "00990101",
// ...
}
}
Ejemplos de datos adicionales
| Clave | Ejemplo | Descripción |
|---|---|---|
credit | {"type": "00", "groupCode": "C", "code": "0", "installments": 0} | Datos de crédito, conoce más en Credit. |
totalAmount | 63.58 | Monto total. |
interestAmount | 5.78 | Monto de interés. |
installmentAmount | 2.65 | Monto de la cuota. |
iceAmount | 0 | Monto de ICE. |
line | 123 | Posición en el archivo de cierre (Línea). |
cardType | credit | Tipo de tarjeta. |
trazabilyCode | 999900 | Código de trazabilidad. |
transactionCycle | 3 | Ciclo de transacción. |
RequestId | 1560778247 | ID de solicitud. |
PartnerAuthCode | 5d029607e1abb | Código de autorización de socio. |
merchantCode | 4682312740123 | Código de negocio. |
terminalNumber | 00990101 | Número de terminal. |
bin | 411076 | Bin, primeros dígitos de la tarjeta. |
bankName | Bank Name | Nombre de banco. |
accountNumber | 1111 | Número de cuenta. |
expiration | 1222 | Expiración de la tarjeta en formato (mes)(año). |
installments | 2 | Número de cuotas. |
pocket | 80 | Número de identificación del bolsillo dependiendo del proveedor. |
fiscalControlNumber | Control: MYHFC-KEHKC | Número de control fiscal. |
fiscalControlProvider | ET | Proveedor de control fiscal, de ejemplo ET como Evertec. |
PAN | klbrfTC1ol9BV7sFP9bw66 nLH77QMYAA3GRZrzjutci Fv/gqg9xZs8n7gPNxRRsl | Número de tarjeta + vector de inicialización encriptado en base64, conoce más en Retorno de tarjeta |
canRetry | true | Indica si una transacción rechazada o fallida es elegible para realizar un nuevo procesamiento con un medio de pago alternativo. |
requiresConfirmation | true | Indica si una transacción requiere ser confirmada previo a su procesamiento. |
Crédito (Credit)
Este campo especifica las opciones de crédito disponibles para financiar el monto total de un pago. La estructura del arreglo credits depende del proveedor y de la configuración del servicio.
Existen dos formas de informar créditos:
- Estructura agrupada: agrupa una misma condición de crédito en
installmentsy usatype,codeygroupCodecomo códigos del proveedor. - Estructura por cuota: informa cada opción de financiación como un elemento independiente y usa
kindcomo identificador funcional de la modalidad de crédito.
Estructura agrupada:
- type: Identificador que representa el tipo de crédito.
- groupCode: Código que agrupa los créditos por categoría.
- installments: Cantidad de cuotas disponibles para el crédito.
- code: Código único asociado al crédito específico.
- description: Descripción detallada de las condiciones de financiamiento.
Créditos por proveedor
DATAFAST - MEDIANET - AUSTRO - INTERDIN
Comparten la misma estructura y descripción de sus créditos de acuerdo al groupCode y code:
[
{
"code" : "1",
"type" : "00",
"groupCode" : "C",
"installments" : [1],
"description" : "Pago corriente 1 mes de gracia",
}
{
"code" : "3",
"type" : "01",
"groupCode" : "D",
"installments" : [3],
"description" : "Pago por cuotas sin interés con 3 meses de gracia para iniciar pago",
}
...
]
REDEBAN
{
"code": "0",
"groupCode": "C",
"type": "00",
"installments": [1,2,3,4,5,12],
"description": "Cuotas",
}
TRANSERVER
[
{
"code": "000000",
"groupCode": "C",
"type": "00",
"description": "Pago corriente",
"installments": [1]
},
{
"code": "03BCR",
"type": "0",
"groupCode": "Q",
"installments": [3],
"description": "PLAN 0 BCR 3C BCR"
},
]
PAYSTUDIO
[
{
"code": "00",
"groupCode": "Q",
"type": "00",
"description": "Sin Cuotas",
"installments": [1]
},
{
"code": "00",
"groupCode": "Q",
"type": "00",
"installments": [3],
"description": "Cuotas",
},
{
"code": "00",
"groupCode": "Q",
"type": "00",
"installments": [2,24],
"description": "Cuotas precio contado",
},
]
PAYSTUDIO flavour TS con estructura por cuota
Esta estructura está disponible por ahora solo para servicios PAYSTUDIO con flavour igual a TS. Los demás proveedores y otros valores de flavour en PAYSTUDIO continúan usando la estructura agrupada descrita anteriormente.
En PAYSTUDIO flavour TS, credits se entrega sin type, code, groupCode ni installments. Cada elemento representa una sola opción de financiación.
Estructura:
- installment: Número de cuotas de la opción.
- description: Texto visible para el pagador.
- kind: Clasificación de la modalidad de crédito. Este valor reemplaza los códigos de red al momento de seleccionar y procesar la cuota.
[
{
"installment": 1,
"description": "Sin cuotas",
"kind": "ISSUER_NOT_FEE"
},
{
"installment": 2,
"description": "Cuotas sin interés",
"kind": "MERCHANT_WITHOUT_INTEREST"
},
{
"installment": 3,
"description": "Cuotas sin interés",
"kind": "ISSUER_WITHOUT_INTEREST"
},
{
"installment": 6,
"description": "Cuotas",
"kind": "ISSUER_UNKNOWN"
}
]
En esta estructura, el integrador debe enviar el kind de la opción seleccionada dentro de instrument.credit junto con el número de cuota:
{
"instrument": {
"credit": {
"installment": 6,
"kind": "ISSUER_UNKNOWN"
}
}
}
Si se envía kind junto con type o code, kind tiene prioridad para servicios PAYSTUDIO flavour TS con esta estructura. Si no se envía credit, se usará el crédito por defecto de una cuota.
Valores de kind
El valor de kind se construye con el formato ORIGEN_MODALIDAD:
Ejemplos de equivalencia:
Para créditos UNKNOWN en PAYSTUDIO flavour TS, usa el servicio de intereses antes de procesar cuando sea necesario conocer el valor final de la cuota. Si el servicio no puede determinar la tasa aplicable, la solicitud puede ser rechazada con razón NR.