Documentação da API

Integre pagamentosem minutos

API RESTful moderna para aceitar pagamentos MPesa. Simples, segura e bem documentada.

Início Rápido

Comece a aceitar pagamentos em 3 passos simples.

1

Obtenha sua API Key

Crie uma conta e gere sua API Key no dashboard.

2

Faça sua primeira requisição

Use o endpoint de criação de pagamento.

javascript
const response = await fetch('https://paymozapi.flexibilidade.co.mz/api/v1/payments', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    amount: 1000,
    reference: 'ORDER-123',
    callbackUrl: 'https://seu-site.com/webhook',
    returnUrl: 'https://seu-site.com/sucesso'
  })
});

const { checkoutUrl } = await response.json();
// Redirecione o cliente para checkoutUrl
3

Configure webhooks

Receba notificações automáticas sobre mudanças de status.

Autenticação

Todas as requisições devem incluir sua API Key no header Authorization.

Header de Autenticação

Authorization: Bearer YOUR_API_KEY
bash
curl -X POST https://paymozapi.flexibilidade.co.mz/api/v1/payments \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 1000,
    "reference": "ORDER-123"
  }'

Endpoints

POST/api/v1/payments

Cria um novo pagamento e retorna URL de checkout

Parâmetros

amountnumber - Valor em MZN
referencestring - Referência única
callbackUrlstring - URL para webhook
returnUrlstring - URL de retorno
javascript
const response = await fetch('https://paymozapi.flexibilidade.co.mz/api/v1/payments', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    amount: 1000,
    reference: 'ORDER-123',
    method: 'MPESA',
    description: 'Pagamento do pedido #123',
    callbackUrl: 'https://seu-site.com/webhook',
    returnUrl: 'https://seu-site.com/sucesso'
  })
});

const data = await response.json();
console.log(data.checkoutUrl);
POST/api/v1/payments/directNOVO

Processa pagamento direto sem checkout

💡 Use quando você já tem os dados do cliente e quer processar o pagamento diretamente.

javascript
const response = await fetch('https://paymozapi.flexibilidade.co.mz/api/v1/payments/direct', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    amount: 1000,
    reference: 'ORDER-123',
    method: 'MPESA',
    customerPhone: '840000000',
    customerName: 'João Silva'
  })
});

const data = await response.json();
if (data.status === 'success') {
  console.log('Pagamento processado!');
}
GET/api/v1/payments/reference/:ref

Consulta status do pagamento

javascript
const response = await fetch(
  'https://paymozapi.flexibilidade.co.mz/api/v1/payments/reference/ORDER-123',
  {
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY'
    }
  }
);

const data = await response.json();
console.log(data.data.status); // PENDING, SUCCESS, FAILED

Webhooks

Receba notificações em tempo real sobre mudanças de status.

Eventos

payment.createdPagamento criado
payment.successPagamento bem-sucedido
payment.failedPagamento falhado
javascript
app.post('/webhook', (req, res) => {
  const { event, data } = req.body;
  
  if (event === 'payment.success') {
    console.log(`Pagamento ${data.reference} confirmado!`);
    // Atualizar seu banco de dados
  }
  
  res.status(200).send('OK');
});