thetechguy47/mpesa-api
Composer 安装命令:
composer require thetechguy47/mpesa-api
包简介
Biblioteca PHP para integração com a API M-Pesa (C2B, B2C e B2B).
README 文档
README
Este repositório contém um exemplo simples de integração com M-Pesa para pagamentos via C2B em PHP. O objectivo deste README é explicar, passo a passo, o que é necessário para executar o projecto localmente (WAMP/XAMPP) e em produção, como configurar credenciais e como testar pagamentos.
Estrutura principal
index.php- Página frontend onde o utilizador preenche número, valor e envia a solicitação de pagamento.processa-mpesa.php- Script servidor que recebe a requisição do frontend e interage com a API M-Pesa (C2B). Ai colocar suas credencias fornecidas na (https://developer.mpesa.vm.co.mz)mpesa-callback.php- Endpoint para receber notificações (callbacks) da M-Pesa com o resultado da transação.vendor/- Dependências gerenciadas pelo Composer. Incluithetechguy/mpesa-apique contém classes para facilitar chamadas à API M-Pesa.logs/estorage/- Pastas para armazenar logs e arquivos temporários.
Observação: O pacote
thetechguy/mpesa-apiestá incluído emvendor/thetechguy/mpesa-apicomo dependência do Composer. Revisevendor/thetechguy/mpesa-api/README.mdeexamples/se precisar de referências específicas.
Pré-requisitos
- PHP 7.4+ (recomendado PHP 8.x)
- Composer (para gerenciar dependências)
- Servidor web (WAMP no Windows, LAMP, ou um servidor com SSL em produção)
- Certificado SSL (recomendado para produção; callbacks normalmente exigem HTTPS ai desativei pois e ambiente de teste teras que depois habilitar)
- Credenciais M-Pesa (Consumer Key, Consumer Secret, Shortcode...) fornecidas pela Vodacom
Passo a passo — Instalação e configuração local (WAMP)
- Coloque o Projecto na pasta do seu servidor web (ex.:
c:\wamp64\www\mpesa). - Certifique-se de que o Apache e o MySQL (se necessário) do WAMP estão em execução.
- Instale o Composer localmente se ainda não o fez: https://getcomposer.org/
- Se você alterou o composer.json ou quiser actualizar dependências, rode no PowerShell:
cd c:\wamp64\www\mpesa; composer install
- Configure variáveis de ambiente ou edite o arquivo de configuração usado pelos scripts (se houver). Este projeto busca
MPESA_ENVusandogetenv('MPESA_ENV')e assumesandboxpor padrão. Você pode definir variáveis de ambiente no Windows (sistema) ou em um arquivo.envse preferir (atenção: este projecto não inclui parser .env por padrão).
Exemplo (PowerShell - sessão atual):
$env:MPESA_ENV = 'sandbox' $env:MPESA_CONSUMER_KEY = 'SEU_CONSUMER_KEY' $env:MPESA_CONSUMER_SECRET = 'SEU_CONSUMER_SECRET' $env:MPESA_SHORTCODE = '123456' $env:MPESA_PASSKEY = 'SUA_PASSKEY'
- Garanta que
processa-mpesa.phpempesa-callback.phpestejam configurados para ler essas variáveis ou para carregar um arquivo de configuração com as credenciais.
Como funciona o fluxo (resumido)
- O utilizador preenche número M-Pesa (+258xxxxxxxxx), valor e tipo no
index.phpe clica em PAGAR. - O frontend JavaScript envia uma requisição POST para
processa-mpesa.phpcom os dados do pagamento. processa-mpesa.phpusa as classes do pacotethetechguy/mpesa-api(ou outra implementação) para criar a solicitação C2B para a Vodacom.- A operadora processa a solicitação e envia um callback para
mpesa-callback.phpcom o resultado (sucesso/erro, transação, reference id, etc.). - O sistema deve registrar (log) o callback e actualizar o estado do pedido/transação no seu sistema.
Ajustes importantes no servidor
- Callbacks: a M-Pesa normalmente exige um endpoint HTTPS público para callbacks. Para testes locais você pode usar ferramentas como
ngrokpara expor seu servidor local via HTTPS. - Firewalls/Ports: permita conexões de entrada (HTTPS) se você estiver em produção.
- Logs: configure
logs/com permissões de escrita pelo servidor web.
Testando (sandbox)
- Use as credenciais de sandbox fornecidas pela Vodacom
- Defina
MPESA_ENVparasandbox. - Abra
index.phpno navegador (ex.:http://localhost/mpesa/index.php). - Preencha os dados (o frontend já possui exemplos/valores padrão) e clique em PAGAR.
- Verifique os logs no frontend (
response-log) e nos arquivos delogs/do servidor.
Exemplo de integração em processa-mpesa.php
- Certifique-se de usar o autoload do Composer no topo do arquivo:
require_once __DIR__ . '/vendor/autoload.php';
- Em seguida, carregue as credenciais via
getenv()ou outro método seguro e inicialize a classe do provedor M-Pesa conforme a biblioteca disponibiliza (consultevendor/thetechguy/mpesa-api/src/Mpesa.php).
Exemplos incluídos e como executá-los
O pacote thetechguy/mpesa-api já traz exemplos práticos na pasta vendor/thetechguy/mpesa-api/examples. Nessa pasta você encontrará, entre outros, os seguintes exemplos:
b2b.php— exemplo de Business-to-Businessb2c.php— exemplo de Business-to-Customerc2b.php— exemplo de Customer-to-Business
composer require thetechguy47/mpesa-api
thetechguy47/mpesa-api 适用场景与选型建议
thetechguy47/mpesa-api 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 0 次下载、GitHub Stars 达 1, 最近一次更新时间为 2025 年 10 月 22 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「api」 「pagamentos」 「mpesa」 「vodacom」 「moçambique」 「thetechguy」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 thetechguy47/mpesa-api 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 thetechguy47/mpesa-api 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 thetechguy47/mpesa-api 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Beyonic PHP Library
GuPayment fornece uma interface para controlar assinaturas do iugu.com
Projeto para se comunicar com o soap da BrasPag
A PSR-7 compatible library for making CRUD API endpoints
iugu PHP Library
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 33
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-10-22