PHPackages                             carsaimz/mpesa-api - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. carsaimz/mpesa-api

ActiveLibrary[API Development](/categories/api)

carsaimz/mpesa-api
==================

API PHP para integração com M-PESA Moçambique | PHP API for M-PESA Mozambique integration

v2.0.1(5mo ago)11GPL-3.0-or-laterPHPPHP &gt;=7.4

Since Dec 9Pushed 5mo ago1 watchersCompare

[ Source](https://github.com/carsaimz/mpesa-api)[ Packagist](https://packagist.org/packages/carsaimz/mpesa-api)[ Docs](https://github.com/carsaimz/mpesa-api)[ Fund](https://carsaimz.free.nf/donate)[ GitHub Sponsors](https://github.com/sponsors/carsaimz)[ RSS](/packages/carsaimz-mpesa-api/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (1)Versions (4)Used By (0)

Carsai Mozambique | mpesa-api
=============================

[](#carsai-mozambique--mpesa-api)

[![License: GPL v3](https://camo.githubusercontent.com/48bf9b56d44f38db53ce21294cf0b9487d0a3734ab3ba1fe4c69858ae20db2c1/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d47504c76332d626c75652e737667)](https://www.gnu.org/licenses/gpl-3.0)[![PHP Version](https://camo.githubusercontent.com/b43c9d6cd8939c4868f963284928566c4c35dd2da0725c027f95a3d62f2f0329/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d372e342532422d626c75652e737667)](https://camo.githubusercontent.com/b43c9d6cd8939c4868f963284928566c4c35dd2da0725c027f95a3d62f2f0329/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d372e342532422d626c75652e737667)

**[English](README.en.md) | [Português](README.md)**

API PHP para integração com M-PESA de Moçambique.

📦 Instalação
------------

[](#-instalação)

### Via Composer (Recomendado)

[](#via-composer-recomendado)

```
composer require carsaimz/mpesa-api
```

Instalação Manual

1. Faça download dos arquivos
2. Inclua o autoloader no seu projeto:

```
require_once 'caminho/para/autoload.php';
```

⚙️ Configuração

Obtenha suas credenciais em

```
use carsaimz\Mpesa;

$mpesa = Mpesa::init(
    $api_key,        // API Key do portal
    $public_key,     // Public Key do portal
    "development"    // "development" (sandbox) ou "production" (produção)
);
```

🚀 Operações Suportadas

1. C2B (Cliente → Negócio)

Pagamento do cliente para o negócio.

```
$response = $mpesa->c2b([
    "value" => 10,                          // Valor da transação
    "client_number" => "258840000000",      // Número do cliente (formato: 258XXXXXXXXX)
    "agent_id" => 171717,                   // Código do agente/fornecedor
    "transaction_reference" => 1234567,     // Referência da transação (única)
    "third_party_reference" => 33333        // Referência de terceiro
]);

print_r($response);
```

2. B2C (Negócio → Cliente)

Pagamento do negócio para o cliente.

```
$response = $mpesa->b2c([
    "value" => 10,
    "client_number" => "258840000000",
    "agent_id" => 171717,
    "transaction_reference" => 1234567,
    "third_party_reference" => 33333
]);

print_r($response);
```

3. B2B (Negócio → Negócio)

Transferência entre empresas.

```
$response = $mpesa->b2b([
    "value" => 10,
    "agent_id" => 171717,                   // Código do remetente
    "agent_receiver_id" => 979797,          // Código do destinatário
    "transaction_reference" => 1234567,
    "third_party_reference" => 33333
]);

print_r($response);
```

4. Reversão

Estorno de uma transação.

```
$response = $mpesa->reversal([
    "value" => 10,                          // Valor a reverter
    "security_credential" => "",           // Credencial de segurança (gerada)
    "indicator_identifier" => "",          // Identificador do iniciador
    "transaction_id" => "",                // ID da transação original
    "agent_id" => 171717,
    "third_party_reference" => 33333
]);

print_r($response);
```

5. Consultar Estado

Verificar status de uma transação.

```
$response = $mpesa->status([
    "transaction_id" => "",                // ID da transação
    "agent_id" => 171717,
    "third_party_reference" => 33333
]);

print_r($response);
```

6. Nome do Cliente

Consultar nome do cliente pelo número.

Nota: Requer credenciais de produção.

```
$response = $mpesa->customer_name([
    "client_number" => "258840000000",
    "agent_id" => 171717,
    "third_party_reference" => 33333
]);

print_r($response);
```

✅ Resposta de Sucesso

```
{
    "output_ResponseCode": "INS-0",
    "output_ResponseDesc": "Request processed successfully",
    "output_TransactionID": "AG_20240321_12345",
    "output_ConversationID": "e73b138d-fbd4-4be7-9965-2f4600f44c7d",
    "output_ThirdPartyReference": "33333"
}
```

❌ Códigos de Erro Comuns

Código Descrição Ação Recomendada INS-0 Sucesso - INS-1 Erro interno do sistema Tentar novamente INS-5 Transação duplicada Usar nova referência INS-6 Saldo insuficiente Verificar saldo INS-9 Transação não encontrada Verificar ID da transação INS-14 Número inválido Verificar formato (258XXXXXXXXX) INS-2001 Credenciais inválidas Verificar API Key e Public Key

🔧 Exemplo Completo

```
