REST API IVRs

Base URL: http://10.214.2.159/api/mit

POST /poliza

Endpoint para procesar transacciones de pago asociadas a una póliza mediante tarjeta de crédito.

Tipo de contenido: multipart/form-data
Accept: application/xml
Headers
Nombre Tipo Requerido Descripción
Accept string Requerido Formato de respuesta esperado (application/xml)
Parámetros del Body (form-data)
Nombre Tipo Requerido Descripción
merchant string Requerido Identificador del comercio o tipo de transacción (Ej: "CONTADO")
reference string Requerido Referencia única de la transacción
cardtype string Requerido Tipo de tarjeta (VISA, MASTERCARD, AMEX, etc.)
cardnumber string Requerido Número de la tarjeta de crédito (sin espacios ni guiones)
expmonth string Requerido Mes de expiración de la tarjeta (formato: MM)
expyear string Requerido Año de expiración de la tarjeta (formato: YY)
cvv string Requerido Código de seguridad de la tarjeta (3 o 4 dígitos)
amount decimal Requerido Monto de la transacción (formato: 0.00)
poliza string Requerido Número de póliza asociada a la transacción
Ejemplos de Uso
curl --location 'http://10.214.2.159/api/mit/poliza' \
--header 'Accept: application/xml' \
--form 'merchant="CONTADO"' \
--form 'reference="1117"' \
--form 'cardtype="AMEX"' \
--form 'cardnumber="371799400700892"' \
--form 'expmonth="08"' \
--form 'expyear="22"' \
--form 'cvv="123"' \
--form 'amount="9.99"' \
--form 'poliza="1832155"'
const formData = new FormData();
formData.append('merchant', 'CONTADO');
formData.append('reference', '1117');
formData.append('cardtype', 'AMEX');
formData.append('cardnumber', '371799400700892');
formData.append('expmonth', '08');
formData.append('expyear', '22');
formData.append('cvv', '123');
formData.append('amount', '9.99');
formData.append('poliza', '1832155');

fetch('http://10.214.2.159/api/mit/poliza', {
  method: 'POST',
  headers: {
    'Accept': 'application/xml'
  },
  body: formData
})
.then(response => response.text())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
import requests

url = "http://10.214.2.159/api/mit/poliza"

headers = {
    'Accept': 'application/xml'
}

data = {
    'merchant': 'CONTADO',
    'reference': '1117',
    'cardtype': 'AMEX',
    'cardnumber': '371799400700892',
    'expmonth': '08',
    'expyear': '22',
    'cvv': '123',
    'amount': '9.99',
    'poliza': '1832155'
}

response = requests.post(url, headers=headers, data=data)
print(response.text)
Respuestas
200 Transacción exitosa

La transacción se procesó correctamente

<?xml version="1.0" encoding="UTF-8"?>
<response>
    <status>success</status>
    <transaction_id>TXN123456</transaction_id>
    <reference>1117</reference>
    <poliza>1832155</poliza>
    <amount>9.99</amount>
    <message>Transacción aprobada</message>
</response>
400 Error en la solicitud

Parámetros faltantes o formato incorrecto

<?xml version="1.0" encoding="UTF-8"?>
<response>
    <status>error</status>
    <message>Parámetros requeridos faltantes</message>
    <errors>
        <error>El campo cardnumber es requerido</error>
    </errors>
</response>
402 Pago rechazado

La transacción fue rechazada por el procesador de pagos

<?xml version="1.0" encoding="UTF-8"?>
<response>
    <status>declined</status>
    <reference>1117</reference>
    <message>Fondos insuficientes</message>
</response>
500 Error del servidor

Error interno del servidor

<?xml version="1.0" encoding="UTF-8"?>
<response>
    <status>error</status>
    <message>Error interno del servidor</message>
</response>
Notas Importantes
  • Todos los parámetros son requeridos para procesar la transacción
  • El número de tarjeta debe enviarse sin espacios ni guiones
  • El formato de fecha de expiración es MM/YY
  • El monto debe usar punto (.) como separador decimal
  • La respuesta se devuelve en formato XML según el header Accept
  • Asegúrese de manejar adecuadamente la información sensible de las tarjetas (cumplimiento PCI-DSS)