Capturas de tela de pagamentos M-Pesa: extraiao 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.

Pare de digitar dados — deixe a IA ler por você
Envie uma imagem ou PDF — dados estruturados em 10 segundos
Experimente agora →
Imagem de capa do blog: o título 'Capturas de tela de pagamentos M-Pesa: extraia o valor e o código de transação' em azul e negrito acima de três ícones vetoriais planos com legendas 'Código de 10 caracteres primeiro', 'Valor em Ksh, não a taxa' e '50 SMS, uma tabela', sobre um fundo com gradiente suave de creme a azul-claro com finas decorações geométricas em azul nos cantos.

Principais conclusões

  1. 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.
  2. 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.
  3. 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

Diagrama inline mostrando um código de transação M-Pesa de 10 caracteres dividido em três blocos coloridos 'TB1', '7' e 'CVOCY9', cada um com um ícone e uma legenda explicando que os três primeiros caracteres codificam ano, mês e dia, o quarto é sempre um dígito, e os últimos seis são aleatórios.

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:

Três cartões de comparação lado a lado para valores de SMS do M-Pesa: um cartão verde para Valor da Transação marcado com tiques, um cartão vermelho para Custo da Transação marcado com X, e um cartão âmbar para Limite Diário Disponível marcado com triângulos de aviso.
  • 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çãoComo a Contraparte Aparece no SMSExemplo
Enviar dinheiroNome completo + número de telefoneJOHN DOE 0722000000
Pagar contaNome da empresa + "AC for account [número]"KCB Paybill AC for account 1137238445
Comprar bensApenas nome do comercianteNaivas Supermarket
Dinheiro recebidoNome do remetente + número de telefoneMICHAEL FEDERSEN 254729901555
Ilustração de comparação em duas colunas: a coluna esquerda, intitulada Regra Baseada em Posição com um selo de cruz vermelha, mostra uma regra que falha em Pagar conta e Dinheiro recebido; a coluna direita, intitulada Extração de Colunas Personalizadas com um selo de visto verde, mostra extração baseada em significado lidando com os quatro formatos de contraparte em uma única coluna.

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.

📮 contact email: [email protected]