Pular para o conteúdo principal
A Safefy utiliza OAuth2 Client Credentials para autenticacao. Voce precisa obter um token JWT antes de fazer qualquer outra requisicao.

Como funciona

Obtendo o token

curl -X POST https://api-payment.safefypay.com.br/v1/auth/token \
  -H "Content-Type: application/json" \
  -d '{
    "grantType": "client_credentials",
    "publicKey": "pk_sandbox_abc123...",
    "secretKey": "sk_sandbox_xyz789..."
  }'
Resposta:
{
  "data": {
    "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
    "tokenType": "Bearer",
    "expiresIn": 3600,
    "environment": "Sandbox"
  }
}

Usando o token

Inclua o token no header Authorization de todas as requisicoes:
curl https://api-payment.safefypay.com.br/v1/transactions \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
O token expira em 1 hora (3600 segundos). Renove-o antes da expiracao para evitar interrupcoes.

Boas praticas de seguranca

Nunca exponha a secretKey

Mantenha a secretKey apenas no backend. Nunca a inclua em codigo frontend ou repositorios publicos.

Use variaveis de ambiente

Armazene suas credenciais em variaveis de ambiente ou servicos de secrets (AWS Secrets Manager, Vault, etc).

Renove antes de expirar

Implemente logica para renovar o token antes dos 3600 segundos expirarem.

Configure IPs permitidos

No painel Safefy, restrinja o uso das credenciais apenas aos IPs do seu servidor.

Erros comuns

CodigoErroSolucao
401Credenciais invalidasVerifique publicKey e secretKey
403IP nao autorizadoAdicione o IP nas configuracoes da credencial
429Rate limit excedidoAguarde o tempo indicado em Retry-After

Testar autenticacao

Experimente o endpoint de autenticacao no playground.