DocsMódulo de Pagamentos EDPay para WHMCS

Módulo de Pagamentos EDPay para WHMCS

Automatize a faturação e cobrança recorrente de serviços de alojamento, domínios e telecomunicações no WHMCS através da plataforma EDPay.

WHMCS Gateway Module

Disponível no GitHub (v1.0.0)

Compatível com WHMCS 7.x e 8.x, liquidação automática de facturas e verificação de assinatura HMAC.

Ver no GitHub

Vantagens para Provedores WHMCS

Multi-Canal Integrado

Receba pagamentos com carteiras móveis (M-Pesa, e-Mola), cartões e referências bancárias no mesmo fluxo.

Baixa Automática Imediata

O webhook assinado em tempo real ativa servidores e contas de alojamento no instante da confirmação.

Proteção Criptográfica

Autenticação com cabeçalho X-EDPay-Signature contra requisições falsificadas e ataques man-in-the-middle.

Instalação e Configuração

Clone ou copie os ficheiros do repositório para o directório de gateways do seu servidor WHMCS:

Estrutura de Ficheiros
cp modules/gateways/edpay.php /var/www/whmcs/modules/gateways/
cp modules/gateways/callback/edpay.php /var/www/whmcs/modules/gateways/callback/
Configuração do Módulo (edpay.php)
// modules/gateways/edpay.php function edpay_config(): array { return [ 'FriendlyName' => [ 'Type' => 'System', 'Value' => 'EDPay Multi-Gateway (M-Pesa, e-Mola, Cartões)', ], 'publicKey' => [ 'FriendlyName' => 'Chave Pública', 'Type' => 'text', 'Size' => '64', 'Description' => 'pk_live_... ou pk_test_...', ], 'privateKey' => [ 'FriendlyName' => 'Chave Privada', 'Type' => 'password', 'Size' => '64', 'Description' => 'sk_live_... ou sk_test_...', ], 'webhookSecret' => [ 'FriendlyName' => 'Segredo do Webhook', 'Type' => 'password', 'Size' => '64', 'Description' => 'whsec_... para verificação HMAC-SHA256.', ], 'testMode' => [ 'FriendlyName' => 'Modo Sandbox', 'Type' => 'yesno', 'Description' => 'Marque para activar o ambiente de testes Sandbox.', ], ]; }
Verificação e Liquidação (callback/edpay.php)
// modules/gateways/callback/edpay.php $rawPayload = file_get_contents('php://input'); $signatureHeader = $_SERVER['HTTP_X_EDPAY_SIGNATURE'] ?? ''; // Validação criptográfica HMAC-SHA256 $expectedSignature = hash_hmac('sha256', $rawPayload, $webhookSecret); if (!hash_equals($expectedSignature, $signatureHeader)) { http_response_code(401); die(json_encode(['error' => 'Invalid signature'])); } // Reconciliação imediata da factura $invoiceId = checkCbInvoiceID($invoiceId, $gatewayParams['name']); checkCbTransID($paymentId); addInvoicePayment($invoiceId, $paymentId, $amount, $fee, 'edpay');
Condições Comerciais e Prazos

Tarifa plana de 6% em MZN. Saques para contas bancárias em Moçambique são liquidados no prazo de 2 a 7 dias úteis.