# Mercado Pago PIX

## Variaveis de ambiente

```env
PIX_PROVIDER=mercadopago
MERCADOPAGO_ACCESS_TOKEN=
MERCADOPAGO_PUBLIC_KEY=
MERCADOPAGO_WEBHOOK_SECRET=
APP_URL=https://seudominio.com.br
RESERVATION_TTL_MINUTES=15
```

## Webhook

Configure no Mercado Pago:

```text
POST https://seudominio.com.br/api/webhooks/mercadopago?secret=SEU_SEGREDO
```

O sistema nao confia apenas no payload recebido. Ao chegar notificacao, ele consulta:

```text
GET https://api.mercadopago.com/v1/payments/{payment_id}
```

Somente se o status retornado for `approved`, o sistema marca:

- pagamento: `approved`;
- reserva: `paid`;
- numeros: `paid`.

## Testes manuais

1. Configure `PIX_PROVIDER=mercadopago` e `MERCADOPAGO_ACCESS_TOKEN`.
2. Reinicie a aplicacao.
3. Cadastre/entre como comprador.
4. Escolha numeros e clique em adquirir.
5. Verifique se aparece QR Code e copia e cola Mercado Pago.
6. Pague o PIX.
7. Confirme se o Mercado Pago chamou `/api/webhooks/mercadopago`.
8. No admin, abra Pagamentos e confira `Payment ID`, status e data.
9. Use `Consultar` para sincronizar manualmente se o webhook atrasar.
10. Tente reservar o mesmo numero pago; o sistema deve bloquear.
11. Use `POST /api/reservations/expire` autenticado como admin para expirar reservas pendentes vencidas.
