🔐 Visão Geral
A UPay Gateway API usa autenticação baseada em API Keys (Bearer Token) para garantir que apenas usuários autorizados possam acessar os recursos da API.
📋 Obtendo sua API Key
Passo 1: Acesse o Dashboard
- Faça login no Dashboard UPay
- Complete o processo de KYC (Know Your Customer) se ainda não tiver feito
- Navegue até Configurações → Credenciais de API
Passo 2: Crie uma API Key
-
Clique em “Criar Nova API Key”
-
Dê um nome descritivo para sua API Key (ex: “Integração Produção”, “App Mobile”)
-
Selecione as permissões necessárias:
paymentLinks:read - Ler links de pagamento
paymentLinks:write - Criar/editar links de pagamento
products:read - Ler produtos
products:write - Criar/editar produtos
coupons:read - Ler cupons
coupons:write - Criar/editar cupons
transactions:read - Ler transações
transactions:write - Criar transações
webhooks:read - Ler webhooks
webhooks:write - Criar/editar webhooks
-
Clique em “Gerar API Key”
-
⚠️ IMPORTANTE: Copie e guarde sua API Key imediatamente. Ela não será exibida novamente!
Nunca compartilhe sua API Key publicamente. Mantenha-a segura e use variáveis de ambiente ou serviços de gerenciamento de secrets.
🔑 Usando sua API Key
Todas as requisições autenticadas devem incluir o header Authorization com o formato:
Authorization: Bearer SUA_API_KEY_AQUI
curl -X GET "https://https://upay-sistema-api.onrender.com//api/v1/payment-links" \
-H "Authorization: Bearer sua_api_key_aqui" \
-H "Content-Type: application/json"
const apiKey = 'sua_api_key_aqui';
const response = await fetch('https://https://upay-sistema-api.onrender.com//api/v1/payment-links', {
method: 'GET',
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json'
}
});
const data = await response.json();
import requests
api_key = 'sua_api_key_aqui'
headers = {
'Authorization': f'Bearer {api_key}',
'Content-Type': 'application/json'
}
response = requests.get(
'https://https://upay-sistema-api.onrender.com//api/v1/payment-links',
headers=headers
)
data = response.json()
const axios = require('axios');
const apiKey = 'sua_api_key_aqui';
const response = await axios.get('https://https://upay-sistema-api.onrender.com//api/payment-links', {
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json'
}
});
console.log(response.data);
🛡️ Segurança
Boas Práticas
-
Nunca commite API Keys no código
- Use variáveis de ambiente
- Use serviços de gerenciamento de secrets (AWS Secrets Manager, HashiCorp Vault, etc.)
-
Use diferentes API Keys para diferentes ambientes
- Uma para desenvolvimento
- Uma para produção
- Facilita revogação se necessário
-
Revogue API Keys comprometidas imediatamente
- Acesse o Dashboard → Configurações → Credenciais de API
- Revogue a API Key comprometida
- Gere uma nova API Key
-
Use apenas as permissões necessárias
- Siga o princípio do menor privilégio
- Não conceda permissões desnecessárias
-
Rotacione suas API Keys periodicamente
- Recomendado a cada 90 dias
- Facilita a detecção de uso não autorizado
Variáveis de Ambiente
.env (Node.js/Python)
UPAY_API_KEY=sua_api_key_aqui
UPAY_API_URL=https://https://upay-sistema-api.onrender.com/
Uso no código
// Node.js
const apiKey = process.env.UPAY_API_KEY;
// Python
import os
api_key = os.getenv('UPAY_API_KEY')
❌ Tratamento de Erros
401 Unauthorized
{
"error": "Unauthorized",
"message": "Token inválido ou expirado"
}
Soluções:
- Verifique se a API Key está correta
- Verifique se está usando o formato
Bearer {api_key}
- Verifique se a API Key não foi revogada
403 Forbidden
{
"error": "Forbidden",
"message": "Você não tem permissão para acessar este recurso"
}
Soluções:
- Verifique se sua API Key tem as permissões necessárias
- Entre em contato com o suporte para solicitar permissões adicionais
📚 Próximos Passos
Agora que você sabe como autenticar suas requisições, explore: