Visão Geral da API e Autenticação
A QuantaPay oferece uma API simples, no estilo REST, para criar pagamentos, consultar transações e gerenciar sua conta de forma programática.
A QuantaPay fornece uma API simples, no estilo REST, para criar pagamentos, consultar transações e gerenciar sua conta programaticamente.
Endpoint
Todas as solicitações de API são enviadas para um único endpoint:
POST https://cloud.quantapay.app/api.php
Tipo de Conteúdo
As solicitações usamapplication/x-www-form-urlencoded(codificação de formulário HTML padrão).
curl -X POST https://cloud.quantapay.app/api.php \
-d "function=get-balances" \
-d "api-key=YOUR_API_KEY"
Autenticação
Cada solicitação de API deve incluir suaChave de APIcomo um parâmetro POST.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
api-key | string | Sim | Sua chave de API. Encontrada em Configurações → Conta. |
function | string | Sim | O nome da função da API a ser chamada. |
Obtendo sua Chave de API
- Faça login emcloud.quantapay.app
- Vá paraConfigurações → Conta
- Copie sua Chave de API
Segurança: Mantenha sua chave de API em segredo. Não a exponha no código do lado do cliente ou em repositórios públicos.
Assinatura HMAC (Opcional)
Paracreate-checkout-session, você pode adicionar a verificação de assinatura HMAC-SHA256 para evitar a adulteração de solicitações.
Como Funciona
- Construa a string de dados de assinatura:
{price}|{currency}|{order_id}|{timestamp} - Gere HMAC-SHA256 usando suaChave Secreta de Webhookcomo o segredo
- Inclua
assinaturaetimestampna sua solicitação
Exemplo (PHP)
$webhook_secret = 'your-webhook-secret-key';
$price = '49.99';
$currency = 'usd';
$order_id = 'ORD-12345';
$timestamp = time();
$sign_data = $price . '|' . $currency . '|' . $order_id . '|' . $timestamp;
$signature = hash_hmac('sha256', $sign_data, $webhook_secret);
// Include in your API request:
// signature={$signature}×tamp={$timestamp}
Exemplo (Node.js)
const crypto = require('crypto');
const webhookSecret = 'your-webhook-secret-key';
const price = '49.99';
const currency = 'usd';
const orderId = 'ORD-12345';
const timestamp = Math.floor(Date.now() / 1000);
const signData = `${price}|${currency}|${orderId}|${timestamp}`;
const signature = crypto.createHmac('sha256', webhookSecret).update(signData).digest('hex');
Nota: O timestamp deve estar dentro de 5 minutos do horário do servidor, ou a solicitação será rejeitada com "Request expired".
Formato da Resposta
Sucesso
{
"success": true,
"response": { ... }
}
Erro
{
"success": false,
"error_code": "error-code-slug",
"message": "Human-readable error description"
}
Códigos de Erro
| Código de Erro | Descrição |
|---|---|
missing-function-name | O parâmetrofunctionnão foi incluído na solicitação. |
function-not-found | O nome da função especificada não existe. |
api-key-not-found | O parâmetroapi-keynão foi incluído. |
invalid-api-key | A chave de API fornecida está incorreta. |
missing-argument | Um parâmetro obrigatório está faltando para a função especificada. |
Limites de Taxa
Não há limites de taxa estritos, mas o excesso de solicitações pode ser limitado. Para uso típico ( < 100 solicitações/minuto), nenhuma limitação ocorrerá.