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
-
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.
-
Uso con registro de pagos: El
formaPagoIdretornado puede usarse como valor del parámetroforma_pago_iden el endpoint Registrar Pago de Factura. -
Búsqueda por cuenta PUC: El filtro
cuenta_pucrealiza una búsqueda por prefijo, lo que permite filtrar por grupos de cuentas (ej:1110retorna 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));