🎉 3 meses gratis Empieza ahora →

Cobrar Nunca Fue
Tan Fácil.

Crea enlaces de pago, ofrece cuotas y automatiza pagos recurrentes. Todo desde un solo lugar.

🎉 Empieza gratis por 3 meses — luego todo por $29/mes, sin comisiones.
Panel de control de Enlace de Pago

Tu dominio. Tu marca.

Tus clientes pagan en una página con tu nombre, no el nuestro. Profesional desde el primer enlace.

https:// pagar . .com

Configúralo en minutos.

Todo lo que necesitas para cobrar

Tu dinero, directo a tu cuenta bancaria — sin intermediarios.

Enlaces de Pago

Crea enlaces personalizados y compártelos por WhatsApp, email o redes sociales. Tu cliente paga con un clic.

Yappy + Tarjetas

Acepta pagos con Yappy y tarjetas Visa, Mastercard y Amex — todo desde una sola plataforma unificada.

Planes de Cuotas

Ofrece pagos en cuotas a tus clientes. Tú defines los plazos, montos y frecuencia. Cobro automático.

Pagos Recurrentes

Automatiza cobros mensuales, semanales o personalizados. Ideal para membresías, suscripciones y servicios.

Tarjetas Guardadas

Tokenización segura de tarjetas. Tus clientes guardan sus datos para pagos rápidos y recurrentes.

Dominio y Marca

Usa tu propio dominio y personaliza la experiencia de pago con tu logo, colores y nombre de empresa.

Para Desarrolladores

API REST simple y poderosa

Envía solicitudes de pago directamente desde tu aplicación. Crea enlaces, cobra en cuotas y gestiona suscripciones — todo con unas pocas líneas de código.

Y cuando te pagan, te avisamos al instante: webhooks seguros con reintentos automáticos, para que tu sistema siempre esté al día.

curl -X POST https://app.enlacedepago.com/api/v1/payment-links \
  -H "Authorization: Bearer edp_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 150.00,
    "email": "cliente@empresa.com",
    "send_email": true
  }'
curl -X POST https://app.enlacedepago.com/api/v1/installment-plans \
  -H "Authorization: Bearer edp_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Matrícula 2026",
    "total_amount": 300.00,
    "installments": [
      { "due_date": "2026-08-01", "amount": 150.00 },
      { "due_date": "2026-09-01", "amount": 150.00 }
    ],
    "first_name": "María",
    "last_name": "Pérez",
    "email": "cliente@empresa.com",
    "send_email": true
  }'
curl -X POST https://app.enlacedepago.com/api/v1/subscriptions \
  -H "Authorization: Bearer edp_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Membresía Premium",
    "amount": 29.99,
    "frequency": "monthly",
    "first_name": "María",
    "last_name": "Pérez",
    "email": "cliente@empresa.com",
    "send_email": true
  }'
# Tu endpoint recibe un POST firmado en cada evento
POST /webhooks/enlacedepago
X-EDP-Event: payment_link.paid
X-EDP-Signature: t=1784678400,v1=5f8a91c4…

{
  "id": "evt_01K0Q2ZDG8TVJ8",
  "type": "payment_link.paid",
  "api_version": "v1",
  "data": {
    "object": {
      "status": "paid",
      "amount": 150.00,
      "currency": "USD"
    }
  }
}
// Crear enlace de pago
$response = Http::withToken('edp_live_...')
    ->post('https://app.enlacedepago.com/api/v1/payment-links', [
        'amount' => 150.00,
        'email' => 'cliente@empresa.com',
        'send_email' => true,
    ]);

$url = $response->json('url');
// Crear plan de cuotas
$response = Http::withToken('edp_live_...')
    ->post('https://app.enlacedepago.com/api/v1/installment-plans', [
        'name' => 'Matrícula 2026',
        'total_amount' => 300.00,
        'installments' => [
            ['due_date' => '2026-08-01', 'amount' => 150.00],
            ['due_date' => '2026-09-01', 'amount' => 150.00],
        ],
        'first_name' => 'María',
        'last_name' => 'Pérez',
        'email' => 'cliente@empresa.com',
        'send_email' => true,
    ]);
// Crear suscripción recurrente
$response = Http::withToken('edp_live_...')
    ->post('https://app.enlacedepago.com/api/v1/subscriptions', [
        'name' => 'Membresía Premium',
        'amount' => 29.99,
        'frequency' => 'monthly',
        'first_name' => 'María',
        'last_name' => 'Pérez',
        'email' => 'cliente@empresa.com',
        'send_email' => true,
    ]);
// Verificar la firma X-EDP-Signature
parse_str(strtr($request->header('X-EDP-Signature'), ',', '&'), $sig);

$expected = hash_hmac('sha256', $sig['t'].'.'.$request->getContent(), $secret);
abort_unless(hash_equals($expected, $sig['v1']), 401);

$event = $request->json('type'); // "payment_link.paid"
import requests

response = requests.post(
    "https://app.enlacedepago.com/api/v1/payment-links",
    headers={"Authorization": "Bearer edp_live_..."},
    json={
        "amount": 150.00,
        "email": "cliente@empresa.com",
        "send_email": True
    }
)

url = response.json()["url"]
import requests

response = requests.post(
    "https://app.enlacedepago.com/api/v1/installment-plans",
    headers={"Authorization": "Bearer edp_live_..."},
    json={
        "name": "Matrícula 2026",
        "total_amount": 300.00,
        "installments": [
            {"due_date": "2026-08-01", "amount": 150.00},
            {"due_date": "2026-09-01", "amount": 150.00}
        ],
        "first_name": "María",
        "last_name": "Pérez",
        "email": "cliente@empresa.com",
        "send_email": True
    }
)
import requests

response = requests.post(
    "https://app.enlacedepago.com/api/v1/subscriptions",
    headers={"Authorization": "Bearer edp_live_..."},
    json={
        "name": "Membresía Premium",
        "amount": 29.99,
        "frequency": "monthly",
        "first_name": "María",
        "last_name": "Pérez",
        "email": "cliente@empresa.com",
        "send_email": True
    }
)
import hmac, hashlib

@app.post("/webhooks/enlacedepago")
def webhook():
    sig = dict(p.split("=", 1) for p in request.headers["X-EDP-Signature"].split(","))
    signed = f"{sig['t']}.".encode() + request.data
    expected = hmac.new(SECRET, signed, hashlib.sha256).hexdigest()

    if not hmac.compare_digest(expected, sig["v1"]):
        abort(401)

    event = request.json  # event["type"] == "payment_link.paid"
    return "", 200
require 'net/http'
require 'json'

uri = URI('https://app.enlacedepago.com/api/v1/payment-links')
response = Net::HTTP.post(uri, {
    amount: 150.00,
    email: 'cliente@empresa.com',
    send_email: true
  }.to_json,
  'Authorization' => 'Bearer edp_live_...',
  'Content-Type' => 'application/json')
require 'net/http'
require 'json'

uri = URI('https://app.enlacedepago.com/api/v1/installment-plans')
response = Net::HTTP.post(uri, {
    name: 'Matrícula 2026',
    total_amount: 300.00,
    installments: [
      { due_date: '2026-08-01', amount: 150.00 },
      { due_date: '2026-09-01', amount: 150.00 }
    ],
    first_name: 'María',
    last_name: 'Pérez',
    email: 'cliente@empresa.com',
    send_email: true
  }.to_json,
  'Authorization' => 'Bearer edp_live_...',
  'Content-Type' => 'application/json')
require 'net/http'
require 'json'

uri = URI('https://app.enlacedepago.com/api/v1/subscriptions')
response = Net::HTTP.post(uri, {
    name: 'Membresía Premium',
    amount: 29.99,
    frequency: 'monthly',
    first_name: 'María',
    last_name: 'Pérez',
    email: 'cliente@empresa.com',
    send_email: true
  }.to_json,
  'Authorization' => 'Bearer edp_live_...',
  'Content-Type' => 'application/json')
post '/webhooks/enlacedepago' do
  body = request.body.read
  sig = request.env['HTTP_X_EDP_SIGNATURE']
          .split(',').to_h { |p| p.split('=', 2) }

  expected = OpenSSL::HMAC.hexdigest('sha256', SECRET, "#{sig['t']}.#{body}")
  halt 401 unless Rack::Utils.secure_compare(expected, sig['v1'])

  event = JSON.parse(body)  # event['type'] => "payment_link.paid"
  status 200
end
const response = await fetch(
  "https://app.enlacedepago.com/api/v1/payment-links",
  {
    method: "POST",
    headers: {
      "Authorization": "Bearer edp_live_...",
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      amount: 150.00,
      email: "cliente@empresa.com",
      send_email: true
    })
  }
);

const { url } = await response.json();
const response = await fetch(
  "https://app.enlacedepago.com/api/v1/installment-plans",
  {
    method: "POST",
    headers: {
      "Authorization": "Bearer edp_live_...",
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      name: "Matrícula 2026",
      total_amount: 300.00,
      installments: [
        { due_date: "2026-08-01", amount: 150.00 },
        { due_date: "2026-09-01", amount: 150.00 }
      ],
      first_name: "María",
      last_name: "Pérez",
      email: "cliente@empresa.com",
      send_email: true
    })
  }
);
const response = await fetch(
  "https://app.enlacedepago.com/api/v1/subscriptions",
  {
    method: "POST",
    headers: {
      "Authorization": "Bearer edp_live_...",
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      name: "Membresía Premium",
      amount: 29.99,
      frequency: "monthly",
      first_name: "María",
      last_name: "Pérez",
      email: "cliente@empresa.com",
      send_email: true
    })
  }
);
app.post("/webhooks/enlacedepago", (req, res) => {
  const sig = Object.fromEntries(
    req.headers["x-edp-signature"].split(",").map(p => p.split("="))
  );

  const expected = crypto.createHmac("sha256", secret)
    .update(`${sig.t}.${req.rawBody}`).digest("hex");

  if (expected !== sig.v1) return res.sendStatus(401);

  // req.body.type === "payment_link.paid"
  res.sendStatus(200);
});

Crece a tu ritmo

Empieza solo y escala cuando quieras. Cuando crezcas, agrega gerentes y agentes — cada uno con los permisos que necesita.

  • Administrador: Visión completa del negocio. Configura planes, gestiona usuarios y revisa todos los pagos.
  • Gerente: Supervisa su sucursal o equipo. Crea enlaces de pago y ve los reportes de su área.
  • Agente: Cobra a clientes directamente. Genera enlaces y procesa pagos desde el campo.
👑 Administrador
Control total del negocio
📊 Gerente
Sucursal A
📊 Gerente
Sucursal B
🧑‍💼 Agente
🧑‍💼 Agente
🧑‍💼 Agente

Integramos con tu banco

Banco General
Banco General
Davivienda
Davivienda
BAC
BAC
Global Bank
Global Bank Próximamente
Banistmo
Banistmo Próximamente
Multibank
Multibank Próximamente

Precios transparentes

Un solo plan. Todo incluido. Sin comisiones por transacción.

✨ Todo Incluido

Un solo plan. Cero sorpresas.

$29 /mes

0% de comisión por transacción. Siempre.

🎉 3 meses gratis — sin mensualidad
  • Enlaces de pago ilimitados
  • Yappy + tarjetas de crédito
  • Pagos en cuotas
  • Pagos recurrentes
  • Tokenización de tarjetas
  • Dominio personalizado
  • Panel de control y reportes
  • API completa
  • Usuarios ilimitados
Empieza Gratis →

Sin contratos. Sin permanencia. Cancela cuando quieras.

¿Listo para empezar?

Déjanos tus datos y un especialista te contactará lo antes posible.

Te contactamos lo antes posible
Sin compromiso — cancela cuando quieras
Soporte personalizado en español