Integração Simples e Poderosa

🔑 Chave de API de Exemplo

🚀 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."
  }
}