
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
Top 5 paquetes Laravel que debes conocer si estás empezando en 2025
Laravel es un framework elegante, modern
Protege tus Webhooks en Laravel: seguridad con tokens y logs
Los webhooks son una forma poderosa de r
Cómo crear un servicio personalizado para consumir APIs externas en Laravel
En muchas aplicaciones web, especialment