Registra un pago que su clínica recibió en efectivo, por transferencia bancaria, de una aseguradora o por otro medio y crea el cobro que ese pago cubre: servicios del catálogo y conceptos de texto libre, cada línea a su precio de catálogo salvo que envíe unitPrice. Un monto igual al total deja el pago en PAID; un monto menor se registra como anticipo y deja el pago en PENDING con el saldo pendiente. Los pagos con tarjeta no se registran desde la API. No se le envía nada al paciente: ni recibo ni recordatorio. idempotencyKey es obligatorio: si reintenta con la misma clave y el mismo cuerpo, recibe el pago ya registrado en lugar de un duplicado, y mientras una solicitud con esa clave sigue en proceso la respuesta es 409 hasta que termine. Requiere una clave de API con permiso de escritura.
Ejemplos de código
Node.js
const fetch = require('node-fetch');
async function llamarApi() {
const claveApi = 'YOUR_API_KEY';
const url = `https://account.lunahealth.app/api/payments`;
const requestBody = {
// Agregue sus datos del cuerpo de la solicitud aquí
};
try {
const response = await fetch(url, {
method: 'POST',
headers: {
'Authorization': `Bearer ${claveApi}`,
'Content-Type': 'application/json'
},
body: JSON.stringify(requestBody)
});
if (!response.ok) {
throw new Error(`API error: ${response.status}`);
}
const data = await response.json();
console.log(data);
return data;
} catch (error) {
console.error('Error al llamar a la API:', error);
throw error;
}
}
llamarApi();
Python
import requests
def llamarApi():
claveApi = 'YOUR_API_KEY'
url = 'https://account.lunahealth.app/api/payments'
headers = {
'Authorization': f'Bearer {claveApi}',
'Content-Type': 'application/json'
}
params = {
}
# Agregue sus datos del cuerpo de la solicitud aquí
request_body = {}
try:
response = requests.post(
url,
headers=headers,
params=params,
json=request_body
)
response.raise_for_status()
data = response.json()
print(data)
return data
except requests.exceptions.RequestException as e:
print(f'Error al llamar a la API: {e}')
raise
llamarApi()
Cuerpo de la solicitud
Requerido
Campos de la solicitud
Nombre
Tipo
Requerido
Descripción
idempotencyKey
string
Sí
Una clave única que usted genera para este pago, por ejemplo un UUID. Si reintenta con la misma clave y el mismo cuerpo, recibe el pago que creó la primera solicitud en lugar de registrarlo otra vez; la misma clave con un cuerpo distinto se rechaza.
patientId
string
Sí
ID del paciente que pagó, de su organización
appointmentId
string
No
ID de la cita del paciente que cubre este pago. Una cita puede tener un solo pago. Si lo envía, el pago se atribuye a los profesionales de salud de la cita salvo que envíe staffId, y la sucursal predeterminada es la de la cita.
staffId
string
No
ID del profesional de salud al que se atribuye el pago. Obligatorio si no envía appointmentId.
locationId
string
No
ID de la sucursal a la que pertenece el pago. Por defecto, la sucursal de la cita, si la hay.
issueDate
string
No
Fecha de emisión en formato YYYY-MM-DD, según el calendario de la clínica. Por defecto, la fecha de hoy en la zona horaria de la clínica.
lines
array<object>
Sí
Lo que cubre el pago: servicios del catálogo y conceptos de texto libre, de 1 a 50 líneas.