DocsRecursos da APIWebhooks & Endpoints
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-endpoints
cURL
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-endpoints
cURL
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}/retry
cURL
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 '{}'