Autenticação
Credenciais, escopos, ambientes e formatos de corpo.
Cada POST inclui client_id e client_secret no corpo, sem token Bearer. O client_id começa com qp_live_ para PRODUCTION ou qp_test_ para SANDBOX. O client_secret é um segredo separado de 64 caracteres hexadecimais. Nunca o exponha no navegador, em variáveis de ambiente públicas, registros ou URLs de checkout. Os exemplos leem as credenciais das variáveis de ambiente do servidor QP_CLIENT_ID e QP_CLIENT_SECRET; nenhuma credencial de exemplo é utilizável.
Escopos: cashin para criar QR e simular pagamentos, read para consultar transações e cashout para saques. Chave revogada, segredo incorreto ou ambiente incompatível retornam 401. Uma conta com API v3 desabilitada retorna 403 FEATURE_DISABLED. As permissões de entrada e saída de dinheiro da conta continuam valendo.
A lista de IPs autorizados vale para toda a conta. Em saques de produção, uma lista vazia bloqueia todas as chamadas. Cadastre o IP de saída do servidor em Credenciais > IPs autorizados e habilite MFA na conta. Para saques no sandbox, cashin e read, uma lista vazia permite chamadas; uma lista preenchida permite apenas os IPs cadastrados. O X-Forwarded-For enviado pelo cliente não substitui o IP da conexão. Criar, regenerar ou revogar chaves e alterar a lista de IPs exige confirmação adicional por MFA.
Corpos aceitos: application/json e application/x-www-form-urlencoded. Campos de texto multipart também são aceitos; arquivos são rejeitados. As respostas são JSON, inclusive nos erros. Envie valores decimais em reais, como "25.00", sem centavos inteiros nem separadores de milhar. O interpretador legado aceita vírgula decimal e prefixos numéricos; prefira valores decimais sem ambiguidades. Os valores devem arredondar para uma quantidade positiva de centavos e não podem exceder R$ 1.000.000.000. Os mínimos e as tarifas da conta continuam valendo.