Noticias con temas relacionados a mercadopago

Inicio   /   Blog

Image


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,