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 telefone. Não é uma notificação push de um aplicativo, nem um pop-up que desaparece quando você desliza — é um SMS simples, do tipo que cabe em 160 caracteres, entregue na sua caixa de entrada junto com todo o resto. Esse SMS é o recibo. 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, segundo 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 todas as transações — ele envia cinco formatos diferentes, dependendo do tipo de pagamento que você fez, e os campos de que você precisa ficam em lugares diferentes em cada um deles.

Principais conclusões
- 37,15 bilhões de transações M-Pesa no ano fiscal de 2025, e cada recibo é 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, taxa e limite diário — além de 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 ficam 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 destinatário:
BS49OR201 Confirmado. Você recebeu Ksh50,00 de
MICHAEL FEDERSEN 254729901555 em 15/10/24 às 11:52 AM.
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 (ele pagou a taxa da transação, não você). O mesmo formato é usado para transferências internacionais recebidas 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 AM.
Novo saldo M-PESA é Ksh8.450,00.O formato espelha o de Dinheiro recebido, mas a origem "de" é o agente que facilitou o depósito. Mensagens de saque incluem a palavra "Withdraw" e exibem o valor deduzido mais a taxa do agente.
O ponto principal 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 aconteceu. 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 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 conciliação. Todo Número do caixa e sistema Paybill M-Pesa registra pagamentos recebidos por esse código. O suporte ao cliente da Safaricom o usa 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ê está 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 deduplicar: 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 Pagar conta, "Ksh4,000.00 enviado para". Em Dinheiro recebido, "Você recebeu Ksh50.00". Este é o campo que você quer 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 de 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 de contraparte é onde a diversidade de formatos do M-Pesa fica mais visível. Ele muda completamente de identidade 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 | Apenas nome do comerciante | Naivas Supermarket |
| Dinheiro recebido | Nome do remetente + número de telefone | MICHAEL FEDERSEN 254729901555 |

Para uma planilha que captura todas as transações M-Pesa de uma empresa, a coluna de contraparte precisaria acomodar quatro formatos diferentes: o nome de uma pessoa com número de telefone, um nome comercial com referência de conta, um nome de comerciante independente ou o nome de um remetente. Uma regra de extração baseada em posição — como "pegar o texto após 'sent to' e antes de 'on'" — funciona para Enviar dinheiro, mas falha em Pagar conta (onde o texto inclui "AC for account") e em Dinheiro recebido (onde a estrutura é "received from" e não "sent to"). A extração semântica — definindo a coluna como "a pessoa ou entidade do outro lado desta transação" — lida com os quatro formatos porque identifica a contraparte pelo significado, não pela posição em relação a palavras-chave fixas.
De SMS e Capturas de Tela a uma Planilha
A diversidade de formatos do M-Pesa — cinco modelos de SMS em cinco tipos de transação — faz dele 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 vai falhar assim que um novo tipo de transação for introduzido, ou conforme o formato de SMS evoluir (como aconteceu em 2025, quando os códigos de transação passaram do prefixo "S" para "T").
Extração de Colunas Personalizadas — em que 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 está na página — resolve isso tratando a variação de formato como irrelevante. Se o SMS diz "sent to", "paid to", "received from" 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 dizer a ele qual tipo de transação está analisando.
O fluxo de trabalho prático é este: salve ou encaminhe suas confirmações de SMS do M-Pesa — ou tire capturas de tela do histórico de SMS ou do detalhe da transação no M-Pesa Super App — e faça o upload de todas juntas. Uma captura de tela do M-Pesa da confirmação no Super App não precisa de configuração separada — as colunas são definidas pelo significado, não pelo formato da mensagem, então ela é processada no mesmo lote que as mensagens de SMS. Dê às suas colunas os nomes Transaction Code, Amount, Counterparty e Date. A saída é uma linha por transação, com os valores de cada linha extraídos do formato de SMS 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 ordená-los por tipo primeiro.
Para empresas quenianas, o uso subsequente é simples. 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 em todos eles. Se sua empresa também recebe pagamentos por meio de GCash ou PayNow, por exemplo, o padrão valor-código de transaçã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 quando a extração é feita pelo significado, em vez da posição. O extrator de dados de capturas de tela de pagamento aplica esse mesmo padrão de colunas no GCash, no PayNow e em todas as outras plataformas de pagamento em um único lote.
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.