Autenticacion
Todas las solicitudes a la API requieren un header de autorizacion con tu API key. Las keys de sandbox comienzan con sk_test_ y las de produccion con sk_live_.
Nunca expongas tus API keys en el codigo del lado del cliente. Usa variables de entorno o un vault seguro.
Authorization: Bearer sk_test_abc123def456ghi789
Crear Pago
Crea un nuevo pago. El sistema de routing seleccionara automaticamente el mejor procesador.
{
"amount": 15000,
"currency": "MXN",
"method": "card",
"card": {
"number": "4242424242424242",
"exp_month": 12,
"exp_year": 2027,
"cvc": "123"
},
"customer": {
"email": "cliente@correo.com",
"name": "Juan Perez"
},
"metadata": {
"order_id": "ORD-2026-001"
},
"description": "Pago de ejemplo"
}
{
"id": "pay_7sK2mN4xR8wQ",
"object": "payment",
"status": "requires_action",
"amount": 15000,
"currency": "MXN",
"processor": "stripe",
"client_secret": "cs_live_...",
"created_at": "2026-07-10T14:30:00Z",
"next_action": {
"type": "redirect",
"url": "https://checkout.stripe.com/..."
}
}
Confirmar Pago
Confirma un pago que requiere accion adicional (3D Secure, autenticacion biométrica, etc).
{
"payment_id": "pay_7sK2mN4xR8wQ",
"return_url": "https://mitienda.com/pago-exitoso"
}
{
"id": "pay_7sK2mN4xR8wQ",
"status": "succeeded",
"amount": 15000,
"processor": "stripe",
"confirmed_at": "2026-07-10T14:32:15Z"
}
Obtener Pago
Obtiene los detalles completos de un pago por su ID.
{
"id": "pay_7sK2mN4xR8wQ",
"object": "payment",
"status": "succeeded",
"amount": 15000,
"currency": "MXN",
"processor": "stripe",
"customer": {
"email": "cliente@correo.com",
"name": "Juan Perez"
},
"metadata": {
"order_id": "ORD-2026-001"
},
"created_at": "2026-07-10T14:30:00Z",
"updated_at": "2026-07-10T14:32:15Z"
}
Reembolsar Pago
Realiza un reembolso total o parcial de un pago exitoso.
{
"amount": 7500,
"reason": "customer_request",
"metadata": {
"ticket_id": "TK-1234"
}
}
{
"id": "ref_9xP3kL5mT2nR",
"status": "pending",
"amount": 7500,
"currency": "MXN",
"payment_id": "pay_7sK2mN4xR8wQ",
"created_at": "2026-07-10T15:00:00Z"
}
Errores
La API utiliza codigos de error HTTP estandar. Cada respuesta de error incluye un objeto con el tipo de error y un mensaje descriptivo.
{
"error": {
"type": "invalid_request_error",
"code": "parameter_missing",
"message": "El campo 'amount' es requerido",
"param": "amount"
}
}
Rate Limits
Las solicitudes se limitan por API key. Si excedes el limite, recibirás un error 429.
X-RateLimit-Limit: 10000
X-RateLimit-Remaining: 9847
X-RateLimit-Reset: 1720636800
Webhooks
Configure URLs de webhook para recibir notificaciones en tiempo real sobre eventos de pago. Los webhooks se firman con HMAC-SHA256 para verificacion.
{
"id": "evt_abc123",
"type": "payment.succeeded",
"created_at": "2026-07-10T14:32:15Z",
"data": {
"object": {
"id": "pay_7sK2mN4xR8wQ",
"status": "succeeded",
"amount": 15000,
"currency": "MXN"
}
}
}
payment.created - Pago creado
payment.processing - Pago en procesamiento
payment.succeeded - Pago exitoso
payment.failed - Pago fallido
payment.cancelled - Pago cancelado
refund.created - Reembolso iniciado
refund.succeeded - Reembolso completado