Como autenticar requisições na API PayHub
A API PayHub utiliza HTTP Basic Authentication com suas chaves de API. Ao criar uma chave, você recebe um par:
Para autenticar, envie o header Authorization com o valor Basic seguido da codificação Base64 de publicKey:secretKey:
curl -X GET https://api.payhubr.com/v1/charges \
-H "Authorization: Basic $(echo -n 'pk_live_abc123:sk_live_xyz789' | base64)"A Secret Key é exibida apenas uma vez no momento da criação. Armazene-a em local seguro. Se perdê-la, será necessário revogar a chave e criar uma nova.
Junte a public key e a secret key separadas por dois pontos: publicKey:secretKey
Codifique a string resultante em Base64.
Adicione o header Authorization: Basic {base64} em todas as requisições.
curl -X GET https://api.payhubr.com/v1/charges \
-u "pk_live_abc123:sk_live_xyz789"const credentials = Buffer.from('pk_live_abc123:sk_live_xyz789').toString('base64');
Ao criar ou atualizar uma chave de API, você pode configurar uma whitelist de IPs. Quando configurada, apenas requisições originadas dos IPs permitidos serão aceitas. Requisições de IPs fora da whitelist recebem 401 UNAUTHORIZED.
{
"name": "Produção",
"ip_whitelist": ["203.0.113.10", "203.0.113.11"]
}A whitelist é opcional. Quando ip_whitelist está vazio ou ausente, a chave aceita requisições de qualquer IP.
Não inclua chaves em código frontend, repositórios públicos ou logs.
Armazene as chaves em variáveis de ambiente no servidor.
Crie novas chaves e revogue as antigas regularmente.
Configure a whitelist de IPs para limitar o acesso.
import base64
import requests
credentials = base64.b64encode(b'pk_live_abc123:sk_live_xyz789').decode()
response = requests.get(
'https://api.payhubr.com/v1/charges',
headers={'Authorization': f'Basic {credentials}'},
)