Setup

1. Instalar SDK

composer require mercadopago/sdk-php

2. .env

MERCADOPAGO_ACCESS_TOKEN=APP_USR-xxxxxxxxxxxxxxxxxxxxxxxxxxxx
MERCADOPAGO_WEBHOOK_URL=https://orcamento.artesdosul.com/webhooks/mercadopago

Use TEST-... para testar no sandbox antes de trocar pro token de produção.

3. config/services.php

'mercadopago' => [
    'access_token' => env('MERCADOPAGO_ACCESS_TOKEN'),
    'webhook_url' => env('MERCADOPAGO_WEBHOOK_URL'),
],

4. Rodar migration

php artisan migrate

5. Configurar webhook no painel MP

Painel MP → Sua aplicação → Webhooks → adicionar URL de produção apontando pra /webhooks/mercadopago, evento payment.

6. Cron de expiração (opcional mas recomendado)

Doações Pix pendentes há mais de 30 min viram lixo no banco. Adicione ao routes/console.php:

Schedule::call(function () {
    \App\Models\Donation::where('status', 'pending')
        ->where('expires_at', '<', now())
        ->update(['status' => 'expired']);
})->everyFifteenMinutes();