PHPackages                             derckjunior/api-m-pesa-curl - 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. derckjunior/api-m-pesa-curl

ActiveLibrary[API Development](/categories/api)

derckjunior/api-m-pesa-curl
===========================

Pacote de implentacao da API do M-Pesa simplificado em PHP usando curl

v1.0.0(8mo ago)03GPL-3.0-or-laterPHPPHP &gt;=7.0

Since Sep 6Pushed 8mo agoCompare

[ Source](https://github.com/DerckJunior/api-m-pesa-curl)[ Packagist](https://packagist.org/packages/derckjunior/api-m-pesa-curl)[ RSS](/packages/derckjunior-api-m-pesa-curl/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)DependenciesVersions (2)Used By (0)

API M-PESA
==========

[](#api-m-pesa)

Pacote de implentacao da API do M-Pesa simplificado em PHP usando curl

Instalacao
----------

[](#instalacao)

Para instalar esta dependencia usando o composer basta executar o comando a baixo:

```
	composer require derckjunior/api-m-pesa-curl
```

Conhecimentos necessarios
-------------------------

[](#conhecimentos-necessarios)

Em primeiro lugar: Voce deve saber o basico PHP Em segundo lugar: Voce deve entender que codigo PHP foi feito para rodar no servidor

SERVIDOR LOCAL
--------------

[](#servidor-local)

Quando eu digo servidor, nao estou a dizer apenas aquele servidor da internet Voce pode usar no teu computador com os programas XAMPP ou WAMPP desde que voce tenha o APACHE ligado e coloque o teu projecto na pasta certa do aplicativo correspondente. Ex: htdocs

AVISO
-----

[](#aviso)

Se voce nao estiver a entender este codigo, tenho disponivel um curso de programacao para iniciantes

FALE COMIGO USANDO OS CONTACTOS ABAIXO: Nome: Derck Junior Whatsapp: +258 878275458 E-mail:

Utilizacao
----------

[](#utilizacao)

Para usar este pacote basta seguir o exemplo abaixo:

```
Envie parametros atraves de um formulario para o arquivo c2b.php
O arquivo c2b esta a espera de dois(2) parametros do tipo POST
Ex:
	index.html -------> c2b.php

// RECEBENDO OS PARAMETROS
$numero = '258' . $_POST['numero'];
$valor = $_POST['valor'];

// DADOS DA API
$url = 'https://api.sandbox.vm.co.mz:18352/ipg/v1x/c2bPayment/singleStage/';

$API_KEY = 's598lxkgfiqpibh7dfs6vlj5xvddq';

$PUBLIC_KEY = 'MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAmptSWqV7cGUUJJhUBxsMLonux24u+FoTlrb+4fsdmzssasdkjhavxqakerekrkhktehkfh/xQYNAyd5bpN5Z8r8100LGbnvN20Sgqmw/cH+Bua4GJsWYLEqf/h/yiMgiBbxFxsnwZl0im5vXDlwKPw+QnO2fscDhxZFAwV06bgG0oEoWm9FnjMsfvwm0rUNYFlZ+TOtCEhmhtFp+Tsx9jPCuOd5h2emGdSKD8A6jtwhNa7oQ8RtLEEqwAn44orENa1ibOkxMiiiFpmmJkwgZPOG/zMCjXIrrhDWTDUOZaPx/lEQoInJoE2i43VN/HTGCCw8dKQAwg0jsEXau5ixD0GUothqvuX3B9taoeoFAIvUPEq35YulprMM7ThdKodSHvhnwKG82dCsodRwY428kg2xM/UjiTENog4B6zzZfPhMxFlOSFX4MnrqkAS+8Jamhy1GgoHkEMrsT5+/ofjCx0HjKbT5NuA2V/lmzgJLl3jIERadLzuTYnKGWxVJcGLkWXlEPYLbiaKzbJb2sYxt+Kt5OxQqC1MCAwEAAQ==';

// CRIANDO O BEARER TOKEN
$bearerToken = Tokenizer::token($API_KEY, $PUBLIC_KEY);

// INICIO DA REQUISICAO
// CONFIGURANDO A MESNAGEM
$mensagem = [
	"input_Amount" => $valor,
	"input_CustomerMSISDN" =>  $numero,
	"input_ServiceProviderCode" => 171717,
	"input_TransactionReference" => 33331,
	"input_ThirdPartyReference" => 1234567,
];
$mensagem = json_encode($mensagem);
$tamanhoDaMensagem = strlen($mensagem);

// CONFIGURANDO OS CABECALHOS
$headers = [
	"Content-Lenght: $tamanhoDaMensagem",
    "Content-Type: application/json",
	"Origin: *",
	"Authorization: Bearer $bearerToken",
];

// INICIANDO O CURL COM O PARAMETRO DA URL
$curl = curl_init($url);

curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

// ALTERENDO O METODO PADRAO GET PARA POST e ALTERANDO AOUTAS CONFIGURACAOES
curl_setopt_array($curl, [

	CURLOPT_CUSTOMREQUEST => 'POST',
	CURLOPT_RETURNTRANSFER => true,
	CURLOPT_POSTFIELDS => $mensagem

]);

// CONTROLANDO O RETORNO
$resposta_do_servidor = curl_exec($curl);
$resposta_do_servidor = json_decode($resposta_do_servidor, true);

//// TRATAMENTO DA RESPOSTA
//	SE A RESPOSTA FOR POSITIVA
if( $resposta_do_servidor['output_ResponseDesc'] == 'Request processed successfully'){

//	SE A RESPOSTA FOR NEGATIVA
}else{

}

// RESPOSTAS DO SERVIDOR
//

// 			CASO A TRANSACAO SEJA BEM SUCEDIDA
// Array (
//     		[output_ResponseCode] => INS-0
//     		[output_ResponseDesc] => Request processed successfully
//     		[output_TransactionID] => rfclukcyxdgl
//     		[output_ConversationID] => b393732f4ae349baaacdc184d2aa9b71
//     		[output_ThirdPartyReference] => 1234567
// )

// 			CASO SEJA DIGITADO UM PIN ERRADO
// Array (
// 			[output_ResponseCode] => INS-6
// 			[output_ResponseDesc] => Transaction Failed
// 			[output_TransactionID] => N/A
// 			[output_ConversationID] => 9c20e9fa943c4bf8b9f76a74f1b625e5
// 			[output_ThirdPartyReference] => 1234567
// )

//			CASO O TEMPO ACABE OU A PESSOA NAO COLOQUE O PIN
// Array (
// 			[output_ResponseCode] => INS-9
// 			[output_ResponseDesc] => Request timeout
// 			[output_TransactionID] => N/A
// 			[output_ConversationID] => 05fbcfdf125b44d187fb7b360f1d50b3
// 			[output_ThirdPartyReference] => 1234567
// )

// 			CASO A TRANSACAO SEJA DUPLICADA
// Array (
//     		[output_ResponseCode] => INS-10
//     		[output_ResponseDesc] => Duplicate Transaction
//     		[output_TransactionID] => N/A
//     		[output_ConversationID] => 6cac1ee6bc644aaab5ca54610a16138e
//     		[output_ThirdPartyReference] => 1234567
// )
```

Requisitos
----------

[](#requisitos)

Necessario PHP 7.0 ou superior

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance61

Regular maintenance activity

Popularity3

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity30

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

246d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/ca0a9fb496cea31a67946921753aab60a72bd47dac79d4e7292dc0185b0f90a9?d=identicon)[DerckJunior](/maintainers/DerckJunior)

---

Top Contributors

[![DerckJunior](https://avatars.githubusercontent.com/u/100061479?v=4)](https://github.com/DerckJunior "DerckJunior (6 commits)")

### Embed Badge

![Health badge](/badges/derckjunior-api-m-pesa-curl/health.svg)

```
[![Health](https://phpackages.com/badges/derckjunior-api-m-pesa-curl/health.svg)](https://phpackages.com/packages/derckjunior-api-m-pesa-curl)
```

###  Alternatives

[stripe/stripe-php

Stripe PHP Library

4.0k143.3M478](/packages/stripe-stripe-php)[twilio/sdk

A PHP wrapper for Twilio's API

1.6k92.9M271](/packages/twilio-sdk)[knplabs/github-api

GitHub API v3 client

2.2k15.8M187](/packages/knplabs-github-api)[facebook/php-business-sdk

PHP SDK for Facebook Business

90121.9M34](/packages/facebook-php-business-sdk)[meilisearch/meilisearch-php

PHP wrapper for the Meilisearch API

73813.7M114](/packages/meilisearch-meilisearch-php)[google/gax

Google API Core for PHP

263103.1M454](/packages/google-gax)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
