Ir al contenido principal

Listar Formas de Pago [BETA]

Permite obtener las formas de pago configuradas de la inmobiliaria. Solo devuelve las formas de pago que tengan una cuenta contable (PUC) relacionada.

Endpoint: https://{{instancia}}.arrendasoft.co/service/v2/public/invoices/payment-methods

{{instancia}}: Hace referencia a la instancia de cada inmobiliaria.

Petición

Método GET
Content-Type application/json
Authorization Bearer token, Token obtenido al consumir el servicio Login
Parámetros
Parámetro Tipo Obligatorio Valor por defecto Descripción
codigo_dian string No - Filtra formas de pago por el código DIAN del medio de pago (ej: 42 para Consignación bancaria).
cuenta_puc string No - Filtra formas de pago por código de cuenta PUC. La búsqueda es por prefijo (ej: 1110 retorna todas las cuentas que inicien con ese código).

Ejemplos de peticiones

https://{{instancia}}.arrendasoft.co/service/v2/public/invoices/payment-methods
https://{{instancia}}.arrendasoft.co/service/v2/public/invoices/payment-methods?codigo_dian=42
https://{{instancia}}.arrendasoft.co/service/v2/public/invoices/payment-methods?cuenta_puc=1110
https://{{instancia}}.arrendasoft.co/service/v2/public/invoices/payment-methods?codigo_dian=42&cuenta_puc=1110

Respuesta

Lista de formas de pago configuradas con información del medio de pago DIAN y cuenta contable asociada.

{
    "success": true,
    "status": 200,
    "message": null,
    "body": [
        {
            "formaPagoId": 1,
            "nombre": "Consignación Bancolombia",
            "cuentaPuc": "11100501",
            "codigoDian": "42",
            "medioPago": "Consignación bancaria"
        },
        {
            "formaPagoId": 2,
            "nombre": "Transferencia Davivienda",
            "cuentaPuc": "11100502",
            "codigoDian": "31",
            "medioPago": "Transferencia débito bancaria"
        },
        {
            "formaPagoId": 3,
            "nombre": "Pago con tarjeta de crédito",
            "cuentaPuc": "11100503",
            "codigoDian": "48",
            "medioPago": "Tarjeta de crédito"
        }
    ],
    "filters_applied": null
}
Claves y Descripciones del JSON de Respuesta

Esta tabla enumera las claves presentes en el JSON principal de la respuesta y proporciona una breve descripción de cada una.

Clave Tipo Descripción
success Booleano Indica si la operación fue exitosa (true) o fallida (false).
status Entero Código HTTP de la respuesta: 200 para exitoso, 500 para error interno.
message Texto Mensaje descriptivo. Es nulo cuando hay resultados, o contiene un mensaje informativo cuando no se encontraron formas de pago.
body Array Contiene el listado de formas de pago. Es un array vacío si no hay resultados.
filters_applied Objeto Contiene los filtros que fueron aplicados en la consulta. Es nulo si no se aplicaron filtros.
Cuerpo

Cada elemento dentro de la lista body tiene las siguientes claves:

Clave Tipo Descripción
formaPagoId Entero Identificador único de la forma de pago. Use este valor para el parámetro `forma_pago_id` al registrar un pago.
nombre Texto Nombre descriptivo de la forma de pago configurada por la inmobiliaria.
cuentaPuc Texto Código de la cuenta contable (PUC) asociada a la forma de pago.
codigoDian Texto Código del medio de pago según la clasificación DIAN.
medioPago Texto Nombre del medio de pago según la clasificación DIAN.
Filtros Aplicados

El objeto filters_applied contiene los filtros que fueron utilizados en la consulta. Solo se incluye en la respuesta cuando se aplican filtros. Las posibles claves son:

Clave Tipo Descripción
codigo_dian Texto Código DIAN del medio de pago utilizado como filtro.
cuenta_puc Texto Código de cuenta PUC utilizado como filtro (búsqueda por prefijo).

Respuesta con Filtros Aplicados

{
    "success": true,
    "status": 200,
    "message": null,
    "body": [
        {
            "formaPagoId": 1,
            "nombre": "Consignación Bancolombia",
            "cuentaPuc": "11100501",
            "codigoDian": "42",
            "medioPago": "Consignación bancaria"
        }
    ],
    "filters_applied": {
        "codigo_dian": "42"
    }
}

Respuesta Sin Resultados

{
    "success": true,
    "status": 200,
    "message": "No se encontraron formas de pago con los criterios especificados.",
    "body": [],
    "filters_applied": {
        "codigo_dian": "99"
    }
}

Respuesta de Error

Error Interno (500)

Se retorna cuando ocurre un error inesperado en el servidor.

{
    "success": false,
    "status": 500,
    "message": "Error interno del servidor al obtener las formas de pago.",
    "body": null,
    "filters_applied": null
}

Códigos de Respuesta HTTP

Código Descripción
200 Consulta exitosa. El cuerpo de la respuesta contiene las formas de pago (puede ser un array vacío si no hay resultados).
500 Error interno del servidor.

Códigos DIAN de Medios de Pago

Referencia de códigos DIAN comunes para medios de pago:

Código Medio de Pago
10 Efectivo
31 Transferencia débito bancaria
42 Consignación bancaria
47 Transferencia ACH
48 Tarjeta de crédito
49 Tarjeta débito

Notas Importantes

  1. Solo formas de pago configuradas: Este endpoint solo retorna las formas de pago que tengan una cuenta contable (PUC) asociada. Las formas de pago sin cuenta contable no aparecerán en los resultados.

  2. Uso con registro de pagos: El formaPagoId retornado puede usarse como valor del parámetro forma_pago_id en el endpoint Registrar Pago de Factura.

  3. Búsqueda por cuenta PUC: El filtro cuenta_puc realiza una búsqueda por prefijo, lo que permite filtrar por grupos de cuentas (ej: 1110 retorna todas las cuentas bancarias que inicien con ese código).

Ejemplos

Curl
curl -X GET "https://{{instancia}}.arrendasoft.co/service/v2/public/invoices/payment-methods" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_AUTHENTICATION_TOKEN"

Con filtros:

curl -X GET "https://{{instancia}}.arrendasoft.co/service/v2/public/invoices/payment-methods?codigo_dian=42" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_AUTHENTICATION_TOKEN"
PHP Curl
<?php

$instance = 'your_instance'; // Reemplace con su instancia actual
$token = 'YOUR_AUTHENTICATION_TOKEN'; // Reemplace con el token obtenido desde el servicio de login

// Parámetros de filtro opcionales
$codigoDian = '42'; // Opcional: filtrar por código DIAN
$cuentaPuc = null;  // Opcional: filtrar por cuenta PUC

$url = "https://{$instance}.arrendasoft.co/service/v2/public/invoices/payment-methods";

// Agregar parámetros de filtro si existen
$queryParams = [];
if (!empty($codigoDian)) {
    $queryParams['codigo_dian'] = $codigoDian;
}
if (!empty($cuentaPuc)) {
    $queryParams['cuenta_puc'] = $cuentaPuc;
}
if (!empty($queryParams)) {
    $url .= '?' . http_build_query($queryParams);
}

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Content-Type: application/json',
    'Authorization: Bearer ' . $token
]);

$response = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch)) {
    echo 'Error: ' . curl_error($ch);
} else {
    echo "HTTP Status Code: " . $http_code . "\n";
    echo "Response: " . $response . "\n";
    
    // Procesar la respuesta
    $result = json_decode($response, true);
    
    if ($result['success'] && !empty($result['body'])) {
        echo "Se encontraron " . count($result['body']) . " formas de pago.\n\n";
        
        foreach ($result['body'] as $formaPago) {
            echo "ID: " . $formaPago['formaPagoId'] . "\n";
            echo "Nombre: " . $formaPago['nombre'] . "\n";
            echo "Cuenta PUC: " . $formaPago['cuentaPuc'] . "\n";
            echo "Código DIAN: " . $formaPago['codigoDian'] . "\n";
            echo "Medio de Pago: " . $formaPago['medioPago'] . "\n";
            echo "---\n";
        }
    } else {
        echo $result['message'] ?? "No se encontraron formas de pago.\n";
    }
}
curl_close($ch);

?>
JavaScript Fetch
const instance = 'your_instance'; // Reemplace con su instancia actual
const token = 'YOUR_AUTHENTICATION_TOKEN'; // Reemplace con el token obtenido

// Parámetros de filtro opcionales
const params = new URLSearchParams();
// params.append('codigo_dian', '42'); // Opcional: descomentar para filtrar
// params.append('cuenta_puc', '1110'); // Opcional: descomentar para filtrar

const url = `https://${instance}.arrendasoft.co/service/v2/public/invoices/payment-methods${params.toString() ? '?' + params.toString() : ''}`;

fetch(url, {
    method: 'GET',
    headers: {
        'Content-Type': 'application/json',
        'Authorization': `Bearer ${token}`
    }
})
.then(response => response.json())
.then(data => {
    if (data.success && data.body.length > 0) {
        console.log(`Se encontraron ${data.body.length} formas de pago:`);
        data.body.forEach(formaPago => {
            console.log(`- ${formaPago.nombre} (ID: ${formaPago.formaPagoId})`);
            console.log(`  Cuenta PUC: ${formaPago.cuentaPuc}`);
            console.log(`  Medio DIAN: ${formaPago.medioPago} (${formaPago.codigoDian})`);
        });
    } else {
        console.log(data.message || 'No se encontraron formas de pago.');
    }
})
.catch(error => console.error('Error de conexión:', error));