Tempo Real
Webhooks & Endpoints
Registe e faça a gestão de endpoints de webhooks via API, receba notificações HTTPS assinadas criptograficamente e audite ou reenvie entregas.
1. Formato do Evento Recebido
O servidor EDPay envia um pedido HTTP POST para o seu endpoint com o cabeçalho de assinatura X-EDPay-Signature:
Exemplo de Evento payment.succeeded
{
"id": "evt_91a82c3d4e",
"event": "payment.succeeded",
"created_at": "2026-11-07T12:05:00Z",
"data": {
"id": "pay_982f1b4c7a10",
"amount": 1500,
"currency": "MZN",
"fee": 105,
"net_amount": 1395,
"status": "succeeded",
"method": "gateway_code",
"reference": "EDPT-261100001",
"customer_phone": "+25884xxxxxxx",
"wallet_id": "wal_mzn_main",
"wallet_credited_minor": 139500
}
}2. Validação da Assinatura Criptográfica (HMAC SHA-256)
Valide a assinatura para garantir que o evento não foi forjado por terceiros:
3. Registar Endpoint de Webhook
Subscreva eventos da sua conta indicando a URL pública HTTPS do seu servidor. O segredo de validação (secret) é devolvido na criação.
POST
/v1/webhook-endpointscURL
curl -X POST "https://api-pay.edutecka.com/v1/webhook-endpoints" \
-H "X-EDPay-Public-Key: <PUBLIC_KEY>" \
-H "X-EDPay-Private-Key: <PRIVATE_KEY>" \
-H "Accept: application/json" \
-H "Idempotency-Key: req_we_019283" \
-H "Content-Type: application/json" \
-d '{
"url": "https://api.empresa.co.mz/webhooks/edpay",
"events": [
"payment.succeeded",
"payment.failed",
"invoice.finalized"
],
"description": "Servidor Principal de Faturação"
}'4. Listar Endpoints Registados
Recupere todos os destinos de webhooks ativos e os respetivos eventos subscritos.
GET
/v1/webhook-endpointscURL
curl -X GET "https://api-pay.edutecka.com/v1/webhook-endpoints" \
-H "X-EDPay-Public-Key: <PUBLIC_KEY>" \
-H "X-EDPay-Private-Key: <PRIVATE_KEY>" \
-H "Accept: application/json"5. Histórico de Entregas & Reenvio (Retry)
Consulte o log de disparos e force o reenvio de qualquer notificação que tenha falhado no seu servidor:
POST
/v1/webhook-deliveries/{id}/retrycURL
curl -X POST "https://api-pay.edutecka.com/v1/webhook-deliveries/deliv_91823/retry" \
-H "X-EDPay-Public-Key: <PUBLIC_KEY>" \
-H "X-EDPay-Private-Key: <PRIVATE_KEY>" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{}'