Integração Simples e Poderosa
🔑 Chave de API de Exemplo
Onde Encontrar a Sua Chave de API Real?
A chave acima é apenas um exemplo para testes. A sua chave de produção pessoal estará disponível no seu Painel do Cliente após o registo. Mantenha-a sempre segura!Ainda não tem conta? Registe-se aqui para começar.
🚀 Documentação da API de Pagamentos
Utilize a nossa API para iniciar transações de mobile money (M-Pesa, e-Mola) diretamente da sua aplicação. Todas as requisições devem incluir a sua chave de API no URL.
Endpoint de Transação
Para iniciar um pagamento, envie uma requisição POST para o seguinte endpoint:
POST pagafacil.ecomap.co.mz/api/v1/transfer/[A_SUA_CHAVE_DE_API]
Cabeçalhos da Requisição
Cabeçalho | Valor | Descrição |
---|---|---|
Content-Type |
application/json |
Indica que o corpo da requisição está em formato JSON. |
Parâmetros do Corpo (JSON)
O corpo da sua requisição POST deve ser um objeto JSON com os seguintes campos:
Parâmetro | Tipo | Obrigatório | Descrição |
---|---|---|---|
name |
String | Sim | Uma descrição dos produtos ou serviços a serem pagos (ex: "Ebook de Finanças", "Fatura #123"). Não pode ser nulo. |
amount |
Number | Sim | O valor total a ser pago, em meticais (MZN). |
phone |
String | Sim | O número de telefone do cliente para o qual a requisição de pagamento será enviada (9 dígitos, ex: 84xxxxxxx ou 86xxxxxxx). |
💻 Exemplos de Código & Respostas
Abaixo estão exemplos práticos de como integrar com a nossa API em diferentes linguagens, bem como as respostas que pode esperar.
curl --location --request POST 'pagafacil.ecomap.co.mz/api/v1/transfer/[A_SUA_CHAVE_DE_API]' \ --header 'Content-Type: application/json' \ --data-raw '{ "name": "Curso de Programação", "amount": 2500, "phone": "841234567" }'
const url = 'https://pagafacil.ecomap.co.mz/api/v1/transfer/[A_SUA_CHAVE_DE_API]'; const data = { name: "Curso de Programação", amount: 2500, phone: "841234567" }; async function makePayment() { try { const response = await fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(data) }); const result = await response.json(); console.log(result); } catch (error) { console.error('Erro:', error); } } makePayment();
import requests import json url = "https://pagafacil.ecomap.co.mz/api/v1/transfer/[A_SUA_CHAVE_DE_API]" payload = json.dumps({ "name": "Curso de Programação", "amount": 2500, "phone": "841234567" }) headers = { 'Content-Type': 'application/json' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
<?php $curl = curl_init(); $apiKey = '[A_SUA_CHAVE_DE_API]'; curl_setopt_array($curl, array( CURLOPT_URL => 'https://pagafacil.ecomap.co.mz/api/v1/transfer/' . $apiKey, CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_POSTFIELDS => json_encode([ 'name' => 'Curso de Programação', 'amount' => 2500, 'phone' => '841234567' ]), CURLOPT_HTTPHEADER => array( 'Content-Type: application/json' ), )); $response = curl_exec($curl); curl_close($curl); echo $response;
✅ Resposta de Sucesso (200 OK)
Uma resposta bem-sucedida indica que o pedido de pagamento foi enviado ao cliente.
{ "response": { "status": "success", "message": "Transação bem-sucedida.", "transactionId": "unique_transaction_id" } }
❌ Resposta de Erro (4xx/5xx)
Uma resposta de erro incluirá um código de status e uma mensagem descrevendo o problema.
// Exemplo: Chave de API inválida { "response": { "status": "error", "message": "Autenticação falhou. Chave de API inválida." } } // Exemplo: Dados em falta { "response": { "status": "error", "message": "Erro de validação: O campo 'amount' é obrigatório." } }