O essencial para criar e confirmar o teu primeiro pagamento pela API da Txenka. Uma referência completa está a caminho — entretanto, isto cobre o fluxo principal.
A API da Txenka é organizada em torno de payment_intents — cada pagamento que crias e confirmas. Todos os pedidos e respostas usam JSON, e o URL base é https://api.txenka.com/v1.
Todas as chamadas autenticadas usam a tua API key no cabeçalho Authorization. Encontras a tua chave em Definições → API Keys no dashboard — usa txk_test_… para testar sem processar dinheiro real, e txk_live_… em produção.
Authorization: Bearer txk_test_8f2a3c9d1e...Um payment_intent representa uma cobrança. O valor é sempre em centavos (2450 = 24,50 MZN).
curl -X POST https://api.txenka.com/v1/payment-intents \
-H "Authorization: Bearer txk_test_8f2a3c9d1e..." \
-H "Content-Type: application/json" \
-d '{
"amount": 2450,
"currency": "MZN",
"payment_method": "mpesa",
"customer_phone": "258840000000",
"description": "Pedido #1042"
}'{
"object": "payment_intent",
"id": "pi_01hx4k9…",
"status": "requires_confirmation",
"amount": 2450,
"currency": "MZN",
"payment_method": "mpesa"
}Confirmar dispara o pedido junto do método escolhido — por exemplo, um pedido STK push no telemóvel do cliente para M-Pesa/e-Mola.
curl -X POST https://api.txenka.com/v1/payment-intents/pi_01hx4k9…/confirm \
-H "Authorization: Bearer txk_test_8f2a3c9d1e..."O status devolvido pode ser processing (aguarda confirmação do cliente), succeeded ou failed. Para métodos assíncronos, subscreve um webhook para saberes quando o estado muda sem teres de sondar a API.
mpesa
M-Pesa — carteira móvel Vodacom
emola
e-Mola — carteira móvel Movitel
card
Cartão — Visa e Mastercard
bank_transfer
Transferência bancária
Configura um endpoint em Definições → Webhooks no dashboard para receberes uma notificação HTTP POST sempre que o estado de um pagamento mudar — sem teres de sondar a API.
Eventos principais
payment_intent.succeeded
O pagamento foi confirmado com sucesso.
payment_intent.failed
O pagamento falhou ou foi recusado.
payment_intent.processing
Aguarda confirmação do cliente (ex: STK push enviado).
Erros seguem sempre o mesmo formato, com um code estável para tratares programaticamente e uma message legível.
{
"error": {
"code": "payment_method_disabled",
"message": "O método de pagamento 'mpesa' não está activo para esta conta."
}
}A nossa equipa responde a dúvidas técnicas sobre a API.
Falar com a equipa