Capturas de tela de pagamentos M-Pesa: Extraia
o valor e o código de transação
Toda transação M-Pesa termina da mesma forma: uma mensagem de texto chega no seu celular. Não é uma notificação push de um aplicativo, nem um pop-up que desaparece quando você desliza — é um SMS simples, daqueles que cabem em 160 caracteres, entregue na sua caixa de entrada de mensagens junto com todo o resto. Esse SMS é o comprovante. E em um país onde o M-Pesa processou 37,15 bilhões de transações no valor de KSh 38,29 trilhões no ano fiscal de 2025, de acordo com o relatório anual da Safaricom, essa mensagem de 160 caracteres carrega mais dados financeiros do que a maioria dos extratos bancários. O desafio é que o M-Pesa não envia o mesmo SMS para toda transação — ele envia cinco formatos diferentes, dependendo do tipo de pagamento que você fez, e os campos de que você precisa estão em lugares diferentes em cada um.
Principais conclusões
- 37,15 bilhões de transações M-Pesa no ano fiscal de 2025, e cada comprovante é um SMS simples — não uma confirmação de aplicativo — com os dados de que você precisa organizados em cinco padrões diferentes.
- Esse único SMS carrega três valores em KSh que parecem idênticos à primeira vista — valor da transação, tarifa e limite diário — junto com um campo de contraparte que muda completamente de identidade entre Enviar dinheiro, Pagar conta e Comprar bens.
- Defina as colunas da sua planilha pelo que os dados significam — Código de transação, Valor, Contraparte — e não por onde eles estão na tela, e os cinco formatos de SMS se resumem a uma única exportação, sem um único modelo ou regra.
Por que o M-Pesa é Diferente: O SMS é o Comprovante
A maioria dos aplicativos de pagamento — Venmo, PayPal, WeChat Pay — entrega sua confirmação dentro da interface do aplicativo. Você tira um print da tela. O M-Pesa funciona de forma diferente porque foi criado para um mercado onde nem todo mundo tem um smartphone. O serviço foi lançado em 2007 usando códigos USSD discados de celulares básicos, e embora o M-Pesa Super App agora atenda 4,7 milhões de usuários mensais, a confirmação por SMS continua sendo o registro universal — ela chega a todos os telefones, todas as vezes, independentemente do dispositivo. Em março de 2026, o M-Pesa tinha 40 milhões de clientes ativos mensais no Quênia, com a Safaricom detendo 89,1% do mercado de dinheiro móvel do país. O SMS não é uma notificação de cortesia. É o comprovante.
Todo SMS do M-Pesa termina com a linha "PIN YAKO SIRI YAKO" (suaíli para "Seu PIN é seu segredo") — um lembrete de segurança da Safaricom que aparece nas mensagens de confirmação há anos. É também um marco consistente: não importa qual tipo de transação gerou a mensagem, esse rodapé indica que o SMS é legítimo e completo. Entre o código de transação inicial e essa linha final estão todas as informações necessárias — valor, contraparte, código de transação, data — mas sua disposição varia dependendo do que você fez.
Os cinco tipos comuns de transação — Enviar dinheiro, Pagar conta, Comprar bens (Número do caixa), Dinheiro recebido e Depósito/Saque — cada um produz um modelo de SMS distinto. Entender qual formato você está vendo e onde cada campo está localizado dentro dele é a diferença entre extrair dados em segundos e vasculhar uma string de texto em busca do número necessário.
Os Cinco Tipos de Transação e Seus Formatos de SMS
Todo SMS do M-Pesa começa com um código alfanumérico de 10 caracteres seguido por "Confirmed." — essa abertura compartilhada é a âncora estrutural mais confiável entre todos os tipos de mensagem. O que vem depois se divide por tipo de transação.
Enviar dinheiro (Transferência de cliente)
O tipo de transação mais comum. Você envia dinheiro para outro usuário registrado do M-Pesa. O SMS diz:
ABCDE12345 Confirmado. Ksh150,00 enviados para JOHN DOE 0722000000
em 23/6/23 às 15:41. Novo saldo M-PESA é Ksh1.205,10.
Custo da transação, Ksh6,00.Três campos aparecem sequencialmente: o valor (Ksh150,00), o nome completo e número de telefone do destinatário (JOHN DOE 0722000000), e a data e hora. O custo da transação é listado separadamente — não faz parte do campo de valor.
Pagar conta
Usado para pagar empresas, concessionárias, escolas e órgãos governamentais por meio de um número Paybill registrado. O formato do SMS muda para incluir o nome da empresa e a referência da conta:
DY28XV679 Confirmado. Ksh4.000,00 enviados para KCB Paybill AC
para conta 1137238445 em 9/9/23 às 23:31.
Novo saldo M-PESA é Ksh22,00.Aqui a contraparte não é uma pessoa, mas um nome de empresa (KCB Paybill) combinado com um número de conta. A string "para conta" distingue esta mensagem de uma de Enviar dinheiro. Se você estiver extraindo o campo de contraparte, precisa tanto do nome da empresa quanto da referência da conta — juntos eles identificam quem recebeu o pagamento e sob qual ID de cliente.
Comprar bens (Número do caixa / Pagamento ao comerciante)
Ao pagar em uma loja, supermercado ou restaurante usando um Número do caixa (também chamado de Lipa na M-Pesa, ou "Pague com M-Pesa"), o formato omite a cláusula "para conta" que aparece nas mensagens de Pagar conta:
GH78KT901 Confirmado. Ksh500,00 pagos para Naivas Supermarket
em 15/1/25 às 10:15. Novo saldo M-PESA é Ksh3.400,00.
Custo da transação, Ksh0,00.Observe a mudança no verbo: "pagos para" em vez de "enviados para". O destinatário é o nome do comerciante registrado no Número do caixa. Sem referência de conta, sem número de telefone — apenas o nome da loja ou empresa. Para a maioria dos pagamentos no varejo no Quênia — de uma duka (loja local) a uma rede de supermercados — este é o formato que seu SMS seguirá.
Dinheiro recebido
Quando alguém envia dinheiro para você, o SMS assume um formato voltado ao receptor:
BS49OR201 Confirmado. Você recebeu Ksh50,00 de
MICHAEL FEDERSEN 254729901555 em 15/10/24 às 11:52.
Novo saldo M-PESA é Ksh100,00.A contraparte aqui é o remetente, exibido como nome completo e número de telefone. O valor é o que o remetente transferiu (eles pagaram a taxa da transação, não você). O mesmo formato é usado para transferências internacionais de dinheiro que chegam por meio de parceiros do M-Pesa Global, como Western Union ou WorldRemit.
Depósito e Saque
Entrada de dinheiro (depósito em um agente) gera uma mensagem como:
DF34QR567 Confirmado. Você recebeu Ksh3.000,00 de
HENRY KAMAU 254701234567 em 12/4/26 às 9:14.
Novo saldo M-PESA é Ksh8.450,00.O formato é semelhante ao de Dinheiro recebido, mas a origem "de" é o agente que facilitou o depósito. Mensagens de saque incluem a palavra "Sacar" e exibem o valor deduzido mais a taxa do agente.
A principal conclusão em todos os cinco formatos: o código de transação é sempre a primeira palavra da mensagem. Essa consistência o torna o campo âncora ideal para extração — independentemente do tipo de transação, você sabe exatamente onde ele começa.
O Código de Transação: Uma Chave de 10 Caracteres que Codifica a Data
O código de transação M-Pesa — uma string como TB17CVOCY9 — é mais do que um número de recibo aleatório. Sua estrutura revela quando a transação ocorreu. Os três primeiros caracteres codificam a data: a primeira letra representa o ano (T = 2025, S = 2024, R = 2023, Q = 2022 — percorrendo o alfabeto), o segundo caractere codifica o mês e o terceiro codifica o dia. O quarto caractere é sempre um dígito, e os seis restantes são gerados aleatoriamente. O sistema pode gerar aproximadamente 21,8 bilhões de códigos únicos por dia e, com uma capacidade anual de 8 trilhões de códigos, duplicatas são efetivamente impossíveis.
Para empresas quenianas, o código de transação é a chave universal de reconciliação. Todo Número do caixa e sistema Paybill do M-Pesa registra pagamentos recebidos por esse código. O suporte ao cliente da Safaricom o utiliza para rastrear transações. A KRA (Autoridade Tributária do Quênia) aceita extratos M-Pesa — que indexam cada transação por esse código — como documentação de suporte para declarações fiscais. E em termos legais, como advogados da MMTK Law observaram no Business Daily Africa, sob a Lei de Proteção de Dados de 2019, "o código de transação é o único detalhe que um comerciante estritamente precisa" porque ele já aparece no próprio sistema de confirmação do comerciante.
Se você estiver construindo uma planilha a partir de mensagens SMS M-Pesa — seja de transações Enviar dinheiro, Pagar conta ou Comprar bens — o código de transação é a única coluna que será preenchida em todas as linhas. Todos os outros campos (contraparte, valor, data) também estão presentes em todos os formatos, mas o código de transação é o campo que permite a deduplicação: duas mensagens SMS com o mesmo código são a mesma transação, mesmo que alguém tenha encaminhado a mesma captura de tela duas vezes.
Valores em KES: O que o SMS realmente mostra
Todo valor do M-Pesa é prefixado com Ksh (xelim queniano), formatado com vírgula como separador de milhares e duas casas decimais: Ksh1.500,00, Ksh38.290,50, Ksh4.000,00. Essa parte é consistente. Mas o SMS carrega três campos de quantidade diferentes que são fáceis de confundir se você estiver lendo a mensagem rapidamente:
- Valor da transação — o valor transferido. Em um SMS de Enviar dinheiro, aparece como "Ksh150,00 enviado para". Em um Pagar conta, "Ksh4.000,00 enviado para". Em Dinheiro recebido, "Você recebeu Ksh50,00". Este é o campo que você deseja para sua planilha.
- Custo da transação — a taxa deduzida pela transferência. Listada em uma linha ou frase separada: "Custo da transação, Ksh6,00." Não faz parte do valor transferido. Em Enviar dinheiro acima de KSh 500, a taxa varia de KSh 6 a KSh 110, dependendo da faixa.
- Limite diário disponível — "O valor que você pode transacionar no dia é 289.950,00." Este é um teto, não um saldo. É fácil confundir com um saldo de conta se você ler apenas os primeiros caracteres do número.
O SMS do M-Pesa também mostra seu novo saldo após cada transação ("Novo saldo M-PESA é Ksh1.205,10."). Isso é útil para controle pessoal, mas contém dados financeiros protegidos pela Lei de Proteção de Dados de 2019 — se você estiver compartilhando ou encaminhando o SMS para verificação comercial, o saldo pode revelar mais do que a contraparte precisa saber.
Nomes, Números do Caixa e Contas Comerciais
O campo da contraparte é onde a diversidade de formato do M-Pesa é mais visível. Ele muda de identidade completamente dependendo do tipo de transação:
| Tipo de Transação | Como a Contraparte Aparece no SMS | Exemplo |
|---|---|---|
| Enviar dinheiro | Nome completo + número de telefone | JOHN DOE 0722000000 |
| Pagar conta | Nome da empresa + "AC for account [número]" | KCB Paybill AC for account 1137238445 |
| Comprar bens (Caixa) | Apenas nome do comerciante | Naivas Supermarket |
| Dinheiro recebido | Nome do remetente + número de telefone | MICHAEL FEDERSEN 254729901555 |
Para uma planilha capturando todas as transações M-Pesa de um negócio, a coluna de contraparte precisaria acomodar quatro formatos diferentes: um nome de pessoa com número de telefone, um nome de empresa com referência de conta, um nome de comerciante isolado ou um nome de remetente. Uma regra de extração baseada em posição — como "pegar o texto após 'enviado para' e antes de 'em'" — funciona para Enviar dinheiro, mas falha em Pagar conta (onde o texto inclui "AC for account") e em Dinheiro recebido (onde a estrutura é "recebido de" e não "enviado para"). A extração semântica — definindo a coluna como "a pessoa ou entidade do outro lado desta transação" — lida com todos os quatro formatos porque identifica a contraparte pelo significado, não pela sua posição em relação a palavras-chave fixas.
De SMS e Capturas de Tela para uma Planilha
A diversidade de formatos do M-Pesa — cinco modelos de SMS em cinco tipos de transação — o torna um caso de teste particularmente bom para como a extração de dados de pagamento deve funcionar. Um sistema que exige que você crie um modelo separado para Enviar dinheiro, Pagar conta, Comprar bens e Dinheiro recebido quebrará assim que um novo tipo de transação for introduzido, ou à medida que o formato do SMS evoluir (como aconteceu em 2025, quando os códigos de transação mudaram do prefixo "S" para "T").
Extração de Colunas Personalizadas — onde você define as colunas desejadas (Código de Transação, Valor, Contraparte, Data) e a IA localiza cada valor entendendo o que ele significa, em vez de onde ele está na página — resolve isso tratando a variação de formato como irrelevante. Quer o SMS diga "enviado para", "pago para", "recebido de" ou "AC for account", o mecanismo lê o papel semântico de cada trecho de texto e o mapeia para a coluna correta. Você não precisa informar qual tipo de transação está sendo analisado.
O fluxo de trabalho prático é assim: salve ou encaminhe suas confirmações de SMS do M-Pesa — ou tire capturas de tela da conversa de SMS ou do detalhe da transação no M-Pesa Super App — e faça o upload delas juntas. Nomeie suas colunas como Código de Transação, Valor, Contraparte e Data. A saída é uma linha por transação, com os valores de cada linha extraídos do formato de SMS que foi realmente usado para aquela transação. Um lote de 50 pagamentos M-Pesa misturando mensagens de Enviar dinheiro, Pagar conta e Comprar bens produz uma única tabela unificada — sem necessidade de classificá-los por tipo primeiro.
Para empresas quenianas, o uso downstream é direto. Os dados extraídos podem alimentar diretamente o Zoho Books, que oferece integração nativa com M-Pesa para contas quenianas, ou o QuickBooks Quênia para empresas que o utilizam. Muitas PMEs e contadores também mantêm um livro-razão no Google Sheets — às vezes junto com outros métodos de pagamento móvel — e a mesma estrutura de colunas funciona entre eles. Se sua empresa também recebe pagamentos através de GCash ou PayNow, por exemplo, o padrão valor-códigodetransação-contraparte-data é idêntico. As diferenças de formato que parecem confusas — cinco modelos de SMS, quatro tipos de contraparte, uma linha de taxa que parece um segundo valor — desaparecem assim que a extração é feita pelo significado, e não pela posição.
Perguntas Frequentes
Quais informações um SMS de confirmação do M-Pesa contém?
Cada SMS do M-Pesa inclui um código de transação de 10 caracteres, o valor em xelins quenianos (KSh), o nome da contraparte e/ou conta comercial, a data e hora, seu novo saldo M-Pesa e o custo da transação (taxa). Campos adicionais, como o limite restante de transações diárias, aparecem em alguns tipos de mensagem. O código de transação é sempre a primeira palavra na mensagem, seguida por "Confirmed." — este formato é consistente em todos os tipos de transação.
Posso extrair dados de uma captura de tela do M-Pesa Super App em vez do SMS?
Sim. O M-Pesa Super App exibe os mesmos campos — código de transação, valor, contraparte, data — em uma tela de confirmação visual. O número de telefone e o nome do comerciante podem ser mais legíveis na tela do aplicativo do que no SMS (o aplicativo não trunca nomes como o SMS às vezes faz). Para fins de conciliação, considere extrair o código de transação da tela do Super App, onde ele é exibido como um campo claramente identificado, e cruzá-lo com o SMS para verificação.
E se o SMS foi excluído — ainda posso acessar os dados da transação?
Disque *234# e selecione "Minha Conta", depois "Extrato M-Pesa" e "Mini Extrato" para receber suas últimas cinco transações por SMS. Para um extrato completo cobrindo até 12 meses, use o mesmo menu para solicitar um extrato em PDF enviado por e-mail para seu endereço de e-mail cadastrado. O extrato é protegido por senha usando seu número de Identificação Nacional como senha padrão. A Safaricom também fornece histórico de transações através do M-Pesa Super App na seção "Transações" ou "Extrato".
O M-Pesa funciona com softwares de contabilidade como QuickBooks ou Zoho Books?
Sim. O Zoho Books possui uma integração nativa com M-Pesa para contas quenianas, permitindo conciliar automaticamente pagamentos M-Pesa Paybill com faturas. O QuickBooks Quênia é amplamente utilizado, embora não ofereça integração nativa com M-Pesa — dados extraídos de SMS ou capturas de tela podem ser importados como CSV. Plataformas locais quenianas como ZYNO Books e ERPNext oferecem fluxos de trabalho de conciliação M-Pesa integrados, que muitos contadores quenianos consideram mais adequados ao cenário de conformidade local, incluindo os requisitos do KRA (Autoridade Tributária do Quênia) e eTIMS.
O código de transação M-Pesa é suficiente para a declaração de impostos da KRA?
A KRA aceita extratos M-Pesa como documentação de suporte para declaração de impostos, especialmente para pequenas empresas que operam principalmente por meio de dinheiro móvel. Cada transação é indexada pelo seu código de transação, e o extrato fornece uma trilha de auditoria completa. Para a declaração formal de impostos, a KRA geralmente exige o extrato M-Pesa completo (que pode ser solicitado como PDF da Safaricom discando *234#) em vez de códigos SMS individuais. No entanto, o código de transação em si é o que vincula um pagamento específico a um registro específico no extrato, tornando-o a referência crítica para qualquer auditoria ou consulta subsequente.