| id |
type |
title |
provider |
status |
integration_type |
created_at |
updated_at |
simco_version |
tags |
| INT-004 |
Integration |
Mercado Pago |
MercadoPago |
Pendiente |
payments |
2026-01-04 |
2026-01-10 |
3.8.0 |
| mercadopago |
| payments |
| point-of-sale |
| multi-tenant |
|
INT-004: Mercado Pago
Metadata
| Campo |
Valor |
| Codigo |
INT-004 |
| Proveedor |
Mercado Libre |
| Tipo |
Terminal de Pago |
| Estado |
Pendiente |
| Multi-tenant |
Si (por tenant) |
| Fecha integracion |
- |
| Ultimo update |
2026-01-10 |
| Owner |
Backend Team |
1. Descripcion
Mercado Pago es una opcion de terminal de pago fisica para que los duenos de tiendas puedan aceptar pagos con tarjeta. A diferencia de Stripe (que maneja suscripciones), MercadoPago se usa para cobros en punto de venta.
Casos de uso principales:
- Cobro con tarjeta en tienda fisica
- QR para cobro
- Generacion de links de pago
- Integracion con terminal Point
2. Credenciales Requeridas
Variables de Entorno
| Variable |
Descripcion |
Tipo |
Obligatorio |
MERCADOPAGO_ACCESS_TOKEN |
Access Token de la aplicacion |
string |
SI |
MERCADOPAGO_PUBLIC_KEY |
Public Key para frontend |
string |
SI |
MERCADOPAGO_WEBHOOK_SECRET |
Secret para webhooks (IPN) |
string |
SI |
Ejemplo de .env
# Mercado Pago
MERCADOPAGO_ACCESS_TOKEN=APP_USR-xxxxxxxx
MERCADOPAGO_PUBLIC_KEY=APP_USR-xxxxxxxx
MERCADOPAGO_WEBHOOK_SECRET=xxxxxxxx
Obtencion de Credenciales
- Crear cuenta en Mercado Pago Developers
- Crear aplicacion
- Obtener credenciales de produccion
- Configurar URL de IPN (webhook)
3. Endpoints/SDK Utilizados
Operaciones Planificadas
| Operacion |
SDK Method |
Descripcion |
| Crear Preferencia |
preference.create() |
Link de pago |
| Crear QR |
qr.create() |
Cobro por QR |
| Consultar Pago |
payment.get() |
Estado del pago |
SDK Planificado
import { MercadoPagoConfig, Preference, Payment } from 'mercadopago';
const client = new MercadoPagoConfig({
accessToken: process.env.MERCADOPAGO_ACCESS_TOKEN,
});
const preference = new Preference(client);
// Crear link de pago
const result = await preference.create({
body: {
items: [{
title: 'Venta en tienda',
unit_price: 100,
quantity: 1,
}],
back_urls: {
success: 'https://michangarrito.com/pago/exitoso',
failure: 'https://michangarrito.com/pago/fallido',
},
},
});
4. Rate Limits
| Limite |
Valor |
Periodo |
Accion si excede |
| API calls |
10,000 |
por minuto |
429 |
5. Manejo de Errores
Codigos de Error (Planeados)
| Codigo |
Descripcion |
Accion Recomendada |
| 400 |
Parametros invalidos |
Validar input |
| 401 |
Token invalido |
Verificar credenciales |
| 404 |
Recurso no encontrado |
Verificar ID |
6. Multi-tenant
Modelo de Credenciales
Los fondos van directo a la cuenta del dueno de la tienda.
Almacenamiento Planificado
CREATE TABLE sales.tenant_mercadopago_config (
id UUID PRIMARY KEY,
tenant_id UUID REFERENCES auth.tenants(id),
access_token TEXT NOT NULL, -- Encriptado
public_key VARCHAR(100),
collector_id VARCHAR(50),
is_active BOOLEAN DEFAULT true,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
UNIQUE(tenant_id)
);
7. Webhooks (IPN)
Endpoints Planificados
| Evento |
Endpoint Local |
Descripcion |
payment |
/webhooks/mercadopago |
Pago recibido |
merchant_order |
/webhooks/mercadopago |
Orden actualizada |
8. Estado de Implementacion
Checklist
Bloqueadores
- Requiere onboarding de tenants a MercadoPago
- Proceso de verificacion de cuenta
9. Referencias
Documentacion Oficial
Ultima actualizacion: 2026-01-10
Estado: PENDIENTE DE IMPLEMENTACION