Cómo integrar MercadoPago en Laravel
Si estás desarrollando una tienda en línea o cualquier sistema de cobros con Laravel, integrar MercadoPago puede ser una excelente opción para recibir pagos en América Latina. En este post, te mostraré paso a paso cómo hacerlo con ejemplos reales en código.
1. Crear una cuenta de MercadoPago
Primero, necesitas una cuenta en MercadoPago. Desde tu panel, obtén las credenciales de prueba:
- Access Token
- Public Key
2. Instalar Guzzle para consumir la API
composer require guzzlehttp/guzzle
3. Crear un servicio para MercadoPago
Te recomiendo centralizar las llamadas a la API en un servicio:
// app/Services/MercadoPagoService.php
namespace App\Services;
use Illuminate\Support\Facades\Http;
class MercadoPagoService
{
protected $accessToken;
public function __construct()
{
$this->accessToken = config('services.mercadopago.token');
}
public function crearPreferencia($data)
{
$response = Http::withToken($this->accessToken)
->post('https://api.mercadopago.com/checkout/preferences', $data);
return $response->json();
}
}
4. Agregar las credenciales al archivo .env
# .env
MERCADOPAGO_TOKEN=TEST-xxxxxxxxxxxxxxxx
MERCADOPAGO_PUBLIC_KEY=TEST-yyyyyyyyyyyyyyyy
5. Configurar el archivo config/services.php
'mercadopago' => [
'token' => env('MERCADOPAGO_TOKEN'),
'public_key' => env('MERCADOPAGO_PUBLIC_KEY'),
],
6. Crear una preferencia de pago
Ejemplo básico de cómo llamar al servicio desde un controlador:
// app/Http/Controllers/PagoController.php
use App\Services\MercadoPagoService;
public function pagar(MercadoPagoService $mp)
{
$data = [
"items" => [
[
"title" => "Churros rellenos",
"quantity" => 2,
"unit_price" => 3.50
]
]
];
$respuesta = $mp->crearPreferencia($data);
return redirect($respuesta['init_point']);
}
7. Webhook (opcional)
Para recibir notificaciones automáticas de pagos, configura una URL en MercadoPago y crea una ruta en tu Laravel:
// routes/api.php
Route::post('/webhook/mercadopago', [WebhookController::class, 'handle']);
// app/Http/Controllers/WebhookController.php
public function handle(Request $request)
{
// Aquí puedes procesar el evento recibido
\Log::info('Webhook recibido:', $request->all());
return response()->json(['status' => 'ok']);
}
Conclusión
Con estos pasos ya puedes integrar pagos con MercadoPago en tu aplicación Laravel. Recuerda probar primero en modo sandbox y validar bien las respuestas. Si quieres escalar, puedes añadir soporte para suscripciones, QR, pagos con POS y más.
¿Tienes dudas? ¡Déjalas en los comentarios o contáctanos directamente!
Tags: ventas, Laravel, mercadopago,
Ultimas Noticias
Qué deberías saber antes de empezar un curso de Laravel
Antes de iniciar un curso de Laravel,
Errores comunes al aprender Laravel (y cómo evitarlos)
Laravel es un framework muy completo y
Por qué aprender Laravel es la mejor opción para desarrolladores PHP en 2026
Si ya programas en PHP o estás pensan