2026-09-13
v0.24.0 — Chaves sk_test_ deixam de funcionar na API pública
Se você integra com uma chave sk_test_, ela passa a responder 403. Troque
por uma sk_live_.
Uma chave de API carrega um ambiente — test ou live. Esse campo era gravado
na chave e no request, e não era consultado em lugar nenhum.
Na prática isso significa que uma chave sk_test_ nunca foi de teste. Ela lia e
alterava exatamente os mesmos dados que uma sk_live_, no mesmo banco. E como
não existe sandbox — garu.com.br/api fala com o processador de pagamento real —
uma cobrança criada com chave de teste era uma cobrança real, na conta real.
Pior: a nossa própria documentação dizia o contrário. O guia da API listava um
"Sandbox" apontando para a mesma URL de produção e descrevia sk_test_ como
"para desenvolvimento e testes (sem cobranças reais)". Quem seguisse a
documentação ao pé da letra criaria cobranças de verdade achando que não.
Recusar a chave é a resposta honesta enquanto não existir um sandbox de verdade. A alternativa — deixar passar e avisar na documentação — mantinha de pé um jeito silencioso de mover dinheiro por engano.
sk_live_? Nada muda.sk_test_? Gere uma chave sk_live_ no painel, em
Configurações → Desenvolvedores, e troque. A resposta enquanto não trocar
é 403 com a explicação.sk_live_ num produto
barato e estorne depois. É o que já acontecia; agora está dito com todas as
letras.Corrigimos o guia da API junto: a linha do "Sandbox" saiu, e o trecho sobre
sk_test_ agora descreve o que a chave faz de verdade.
Oito chaves de teste existem hoje, de seis contas. Duas chegaram a ser usadas alguma vez, a última em 9 de julho — dois meses atrás. Nenhuma delas fez cobrança ou estorno. Na prática, quase ninguém sente essa mudança; ela fecha um caminho que estava aberto, não um que estava em uso.