API DukoPay Disponível

Integre o sistema de validação de comprovativos mais seguro de Angola na sua aplicação

Visão Geral

A API DukoPay permite que sistemas terceiros integrem a validação automatizada de comprovativos de pagamento de forma segura e eficiente. Desenvolvida pela CFPTEC - Centro Forense de Proteção Tecnológica e Cibernética, nossa API oferece validação em tempo real para os principais bancos de Angola.

Status: API em produção - 99.9% de disponibilidade

Características

  • Validação em tempo real - Processamento de comprovativos em segundos
  • Suporte Multi-banco - Express, BAI, BIC, Atlântico, BCI
  • Segurança máxima - TLS 1.3, autenticação por API Key, hashing criptográfico
  • Logs de auditoria - Todas as validações são registradas com timestamp
  • Limites customizáveis - Planos com limites mensais ajustáveis
Base URL: https://dokupay.ao/api/v2

Autenticação

Todas as requisições para a API DukoPay devem ser autenticadas utilizando API Key e API Secret.

Como obter suas credenciais

  1. Acesse o Dashboard DukoPay
  2. Entre em contato com o suporte comercial para contratar um plano
  3. Após a contratação, você receberá suas credenciais via email
  4. Guarde as credenciais em local seguro - o Secret não pode ser recuperado

Headers de Autenticação


X-API-Key: dk_seu_token_aqui
X-API-Secret: seu_secret_aqui
          
Atenção: Nunca compartilhe suas credenciais publicamente. Utilize sempre HTTPS para comunicação com a API.

Endpoints

1. Validar Comprovativo

POST /validar

Envia um comprovativo PDF para validação. Retorna os dados extraídos e o resultado da análise.

Parâmetros (multipart/form-data)

  • file (obrigatório) - Arquivo PDF do comprovativo
  • banco (opcional) - Banco do comprovativo: express, bai, bic, atlantico. Se não informado, será detectado automaticamente.

Exemplo de Requisição


curl -X POST https://dokupay.ao/api/v2/validar \
  -H "X-API-Key: sua_api_key" \
  -H "X-API-Secret: seu_api_secret" \
  -F "file=@comprovativo.pdf" \
  -F "banco=express"
              

import requests

url = "https://dokupay.ao/api/v2/validar"
headers = {
    "X-API-Key": "sua_api_key",
    "X-API-Secret": "seu_api_secret"
}
files = {"file": open("comprovativo.pdf", "rb")}
data = {"banco": "express"}

response = requests.post(url, headers=headers, files=files, data=data)
print(response.json())
              

const formData = new FormData();
formData.append('file', fileInput.files[0]);
formData.append('banco', 'express');

fetch('https://dokupay.ao/api/v2/validar', {
    method: 'POST',
    headers: {
        'X-API-Key': 'sua_api_key',
        'X-API-Secret': 'seu_api_secret'
    },
    body: formData
})
.then(response => response.json())
.then(data => console.log(data));
              

<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://dokupay.ao/api/v2/validar',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => [
        'X-API-Key: sua_api_key',
        'X-API-Secret: seu_api_secret'
    ],
    CURLOPT_POSTFIELDS => [
        'file' => new CURLFile('comprovativo.pdf'),
        'banco' => 'express'
    ]
]);

$response = curl_exec($curl);
echo $response;
?>
              

Resposta de Sucesso


{
  "success": true,
  "message": "✅ Comprovativo válido!",
  "data": {
    "banco": "express",
    "tipo": "Transferência",
    "nome": "João Silva",
    "conta": "923456789",
    "valor": "15.000,00 Kz",
    "valor_float": 15000.00,
    "transaction_number": "TRX-2024-001234",
    "data_execucao": "2024-01-15 14:30:00",
    "estado": "Concluída"
  },
  "client_info": {
    "empresa": "Minha Empresa",
    "sistema": "Meu Sistema",
    "plano": "express",
    "uso_mes_atual": 150,
    "limite_mensal": 500,
    "uso_restante": 350
  }
}
          

Resposta de Erro


{
  "success": false,
  "error": "INVALID_CREDENTIALS",
  "message": "Credenciais inválidas ou ausentes"
}
          

2. Verificar Status do Plano

GET /status

Retorna informações sobre o plano contratado e o uso atual.


curl -X GET https://dokupay.ao/api/v2/status \
  -H "X-API-Key: sua_api_key" \
  -H "X-API-Secret: seu_api_secret"
          

Resposta


{
  "success": true,
  "client_info": {
    "empresa": "Minha Empresa",
    "sistema": "Meu Sistema",
    "tipo_api": "express",
    "bancos_permitidos": ["express"],
    "limite_mensal": 500,
    "uso_mes_atual": 150,
    "uso_restante": 350,
    "status": "active"
  }
}
          

3. Listar Bancos Disponíveis

GET /bancos

Retorna os bancos disponíveis para validação de acordo com o plano contratado.


curl -X GET https://dokupay.ao/api/v2/bancos \
  -H "X-API-Key: sua_api_key" \
  -H "X-API-Secret: seu_api_secret"
          

Exemplos Práticos

Integração com Python (Flask)


from flask import Flask, request, jsonify
import requests

app = Flask(__name__)

API_KEY = "sua_api_key"
API_SECRET = "seu_api_secret"

@app.route('/validar-comprovativo', methods=['POST'])
def validar_comprovativo():
    file = request.files['comprovativo']
    
    files = {'file': (file.filename, file.read(), 'application/pdf')}
    headers = {
        'X-API-Key': API_KEY,
        'X-API-Secret': API_SECRET
    }
    
    response = requests.post(
        'https://dokupay.ao/api/v2/validar',
        headers=headers,
        files=files
    )
    
    return jsonify(response.json())
          

Integração com JavaScript (Node.js)


const axios = require('axios');
const FormData = require('form-data');
const fs = require('fs');

async function validarComprovativo() {
  const form = new FormData();
  form.append('file', fs.createReadStream('./comprovativo.pdf'));
  form.append('banco', 'express');
  
  try {
    const response = await axios.post(
      'https://dokupay.ao/api/v2/validar',
      form,
      {
        headers: {
          ...form.getHeaders(),
          'X-API-Key': 'sua_api_key',
          'X-API-Secret': 'seu_api_secret'
        }
      }
    );
    
    console.log(response.data);
  } catch (error) {
    console.error('Erro:', error.response?.data || error.message);
  }
}
          

Planos e Preços

Característica Plano Express Plano Completa
Bancos SuportadosApenas Multicaixa ExpressTodos os bancos (Express, BAI, BIC, Atlântico, BCI)
Limite Mensal500 validações2.000 validações
SuporteEmail (24h)Email + WhatsApp Prioritário
Trial Grátis14 dias de teste gratuito
Preço Mensal5.000 KZ15.000 KZ
Preço Trimestral15.000 KZ45.000 KZ
Preço Anual110.000 KZ250.000 KZ
Teste grátis de 14 dias! Entre em contato com o suporte comercial para ativar seu trial.

Códigos de Erro

CódigoSignificadoSolução
401Credenciais inválidasVerifique X-API-Key e X-API-Secret
403Banco não permitidoSeu plano não suporta este banco
402Trial expiradoRenove seu plano
429Limite mensal excedidoContrate um plano superior
400Arquivo inválidoEnvie um PDF válido
500Erro internoTente novamente mais tarde

Suporte

Para dúvidas técnicas, suporte ou contratação de planos:

  • Email: suporte@dokupay.ao
  • WhatsApp: +244 954633781
  • Horário: Segunda a Sexta, 8h às 18h