Cerebro Studio · Backlog · Changelog
RioNoTeatro • /www/wwwroot/rionoteatro.com.br/docs/BACKLOG.md
Abrir Studio Projeto externo em modo read-only; encaminhamento permitido, escrita bloqueada.

Backlog Unificado

Projeto: RioNoTeatro. Fonte principal: /www/wwwroot/rionoteatro.com.br/docs/BACKLOG.md.

Modo read-only: ações de escrita ficam disponíveis apenas para o Cérebro.

Sem itens pendentes em /www/wwwroot/rionoteatro.com.br/docs/BACKLOG.md.

Especificações Disponíveis (fora da fila pendente)

Detalhe do BK Selecionado

/www/wwwroot/rionoteatro.com.br/docs/backlog/BK-258-pedidos2-detalhe-mercadopago-admin.md • 2026-04-11T09:47:27.025Z

BK-258 - Detalhe Mercado Pago no admin de pedidos_2

Objetivo

Melhorar admin/modulos/pedidos_2/ para o admin ter uma experiência próxima da conveniência que hoje existe com o link de transação do PagSeguro/PagBank.

Contexto

Hoje o helper de transação do módulo faz isto:

  • PagSeguro/Moip/PagBank:
  • pedido_url($transaction_id) gera URL externa
  • Mercado Pago:
  • o helper retorna string vazia
  • o admin só vê o payment_id em texto, sem navegação contextual

Trecho atual em admin/modulos/pedidos_2/bootstrap.php:

```php

if (strpos((string)$metodo_pagamento, 'MERCADO_PAGO_') === 0) {

return '';

}

```

Leitura técnica desta rodada

O que já existe no banco para Mercado Pago

No pedido:

  • transaction_id
  • hoje guarda o payment_id do Mercado Pago
  • metodo_pagamento
  • ex.: MERCADO_PAGO_PIX, MERCADO_PAGO_CREDIT_CARD

No fluxo:

  • action.php
  • grava external_reference = PED-<pedido_id>
  • grava transaction_id = api_response['id']
  • webhook_mp_ingressos.php
  • também trabalha com external_reference
  • também mapeia status e status_detail

Limite atual

Não encontrei, nesta rodada, uma URL pública/documentada e estável do painel do Mercado Pago equivalente ao transaction/details.jhtml do PagSeguro que possa ser montada só com payment_id.

Então a solução correta para o RNT é:

  • detalhe interno no admin com dados live da API
  • atalho externo secundário para a área de Atividades do Mercado Pago

Escopo da implementação

  • admin/modulos/pedidos_2/bootstrap.php
  • admin/modulos/pedidos_2/index.php
  • admin/modulos/pedidos_2/detalhe.php
  • admin/modulos/pedidos_2/action.php
  • admin/modulos/pedidos_2/mercadopago_detalhe.php

Resultado esperado

Na listagem e no detalhe

Quando metodo_pagamento começar com MERCADO_PAGO_:

  • a transação deve virar link
  • esse link deve abrir uma página interna do admin

Na página interna

Buscar live via API do MP e mostrar:

  • payment_id
  • external_reference
  • status
  • status_detail
  • payment_method_id
  • payment_type_id
  • date_created
  • date_approved
  • valores principais
  • dados do pagador quando disponíveis
  • payload útil para atendimento

Atalho externo

Adicionar botão secundário para:

  • abrir https://www.mercadopago.com.br/activities
  • com o payment_id claramente visível para busca manual no painel do MP

Regra de produto

Melhor um detalhe interno confiável com dados live do MP do que um deep-link externo quebradiço inventado.

Implementado nesta rodada

Arquivos alterados:

  • admin/modulos/pedidos_2/bootstrap.php
  • admin/modulos/pedidos_2/index.php
  • admin/modulos/pedidos_2/detalhe.php
  • admin/modulos/pedidos_2/action.php
  • admin/modulos/pedidos_2/mercadopago_detalhe.php

Decisão de UX

  • para Mercado Pago, o payment_id na listagem agora abre um detalhe interno do admin
  • ao lado, há um atalho externo para Atividades MP
  • no detalhe do pedido, o admin ganhou:
  • botão Detalhe MP
  • botão Atividades MP

Conteúdo do detalhe interno

Busca live na API do Mercado Pago e mostra:

  • payment_id
  • external_reference
  • status
  • status_detail
  • payment_method_id
  • payment_type_id
  • valor da transação
  • total pago
  • valor líquido
  • datas principais
  • nome/e-mail/documento do pagador quando disponíveis
  • ticket_url / QR quando existir

Motivo da escolha

Não encontrei, nesta rodada, uma URL pública/documentada e estável do Mercado Pago equivalente ao detalhe direto do PagSeguro que pudesse ser montada com segurança só a partir do payment_id.

Então a escolha correta foi:

  • link interno confiável
  • atalho externo genérico

em vez de deep-link quebradiço inventado.

Hardening final aplicado

  • o bloco Resposta bruta da API foi removido
  • a tela agora mostra só campos estruturados úteis para atendimento
  • quando a API falha, aparece apenas alerta resumido

Validação local executada

  • php -l admin/modulos/pedidos_2/bootstrap.php
  • php -l admin/modulos/pedidos_2/index.php
  • php -l admin/modulos/pedidos_2/detalhe.php
  • php -l admin/modulos/pedidos_2/action.php
  • php -l admin/modulos/pedidos_2/mercadopago_detalhe.php