API RESTful moderna para aceitar pagamentos MPesa. Simples, segura e bem documentada.
Comece a aceitar pagamentos em 3 passos simples.
Crie uma conta e gere sua API Key no dashboard.
Use o endpoint de criação de pagamento.
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 checkoutUrlReceba notificações automáticas sobre mudanças de status.
Todas as requisições devem incluir sua API Key no header Authorization.
Authorization: Bearer YOUR_API_KEYcurl -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"
}'/api/v1/paymentsCria um novo pagamento e retorna URL de checkout
amountnumber - Valor em MZNreferencestring - Referência únicacallbackUrlstring - URL para webhookreturnUrlstring - URL de retornoconst 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);/api/v1/payments/directNOVOProcessa pagamento direto sem checkout
💡 Use quando você já tem os dados do cliente e quer processar o pagamento diretamente.
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!');
}/api/v1/payments/reference/:refConsulta status do pagamento
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, FAILEDReceba notificações em tempo real sobre mudanças de status.
payment.createdPagamento criadopayment.successPagamento bem-sucedidopayment.failedPagamento falhadoapp.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');
});