Cobro web contra el doble cobro
El navegador nunca decide cuánto se cobra, y un reintento no cobra dos veces.
- Cotización firmada: el precio se calcula en el servidor y vuelve como un token HMAC-SHA256. El cobro verifica paquete, pasajeros, moneda y extras antes de cobrar.
- Cobra con el token OAuth de la agencia: la plata de cada venta entra directo a su cuenta de Mercado Pago, sin un token de respaldo.
- Idempotencia: la clave sale de la cotización y del token de la tarjeta. Si no hay respuesta de Mercado Pago contesta «en proceso», y el próximo intento busca el pago por referencia antes de cobrar.
- Webhook firmado: verifica la firma en tiempo constante, vuelve a leer el pago en vez de creerle al cuerpo, ignora avisos más viejos que lo guardado y rearma la reserva si el back se cayó entre cobrar y guardar.
- Freno al testeo de tarjetas con dos ventanas: el sexto intento por cotización y 30 rechazos por agencia dan 429.
- Devoluciones desde el panel, hasta la liberación de una reserva con plata cobrada, con lo devuelto y lo retenido.
Ver detalle técnico
- Los índices únicos parciales frenan el duplicado en la base aunque falle todo lo anterior; dos pedidos simultáneos comparten la misma promesa.
- El token de cada agencia se guarda cifrado con AES-256-GCM y la agencia como dato asociado: copiado a otra agencia, no se descifra. Se renueva solo y, si falla, el panel lo muestra y los dueños reciben un mail.
- Plata de Mercado Pago: cuánto se quedó cada cobro (comisión, cuotas, impuestos) y cuándo se libera, con las tasas públicas leídas y versionadas cada 12 horas.
- Mercado Pago
- HMAC
- Idempotencia
- PL/pgSQL
- AES-256-GCM