Txenka
Guia rápido

Documentação

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.

Introdução Autenticação Criar pagamento Confirmar pagamento Métodos de pagamento Webhooks Erros Ajuda

Introdução

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.

Autenticação

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.

HTTP Header
Authorization: Bearer txk_test_8f2a3c9d1e...

Criar um pagamento

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"
  }'
Response
{
  "object": "payment_intent",
  "id": "pi_01hx4k9…",
  "status": "requires_confirmation",
  "amount": 2450,
  "currency": "MZN",
  "payment_method": "mpesa"
}

Confirmar o pagamento

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.

Métodos de pagamento

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

Webhooks

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

Erros seguem sempre o mesmo formato, com um code estável para tratares programaticamente e uma message legível.

Response
{
  "error": {
    "code": "payment_method_disabled",
    "message": "O método de pagamento 'mpesa' não está activo para esta conta."
  }
}

Precisas de ajuda a integrar?

A nossa equipa responde a dúvidas técnicas sobre a API.

Falar com a equipa