emagombe/mpesa-api

此包最新版本(v4.0.0)没有提供许可信息。

PHP编写的M-PESA(莫桑比克)API

v4.0.0 2024-07-13 19:52 UTC

This package is auto-updated.

Last update: 2024-09-13 20:16:49 UTC


README

PHP编写的M-PESA(莫桑比克)API

License: GPL v3

此API(应用程序编程接口)允许使用PHP执行M-PESA交易。

安装

composer require emagombe/mpesa-api

实现

首先在https://developer.mpesa.vm.co.mz/网站上创建账户,并获取api keypublic key

use emagombe\Mpesa;

$api_key = "";		# Aqui introduz a api key disponibilizada no site
$public_key = "";	# Aqui introduz o public key disponibilizado no site
$environment = "development";		# production/development

# Inicialização e criação do objecto
$mpesa = Mpesa::init($api_key, $public_key, $environment);

从企业到客户的转账(从企业到客户)

从代理到客户的转账

$data = [
	"value" => 10,					# (Obrigatório) Valor a transferir
	"client_number" => "258840000000",			# (Obrigatório) Número do cliente beneficiário
	"agent_id" => 171717,				# (Obrigatório) Código do agente
	"transaction_reference" => 1234567		# (Obrigatório) Usado para atribuir uma referencia a transação
	"third_party_reference" => 33333,	# (Obrigatório) Esta referencia será usada para efectuar consulta das transações
];
$response = $mpesa->b2c($data);
print_r($response);
成功时的可能响应
{
  "output_ResponseCode": "INS-0",
  "output_ResponseDesc": "Request processed successfully",
  "output_TransactionID": "wgzupjwc5mm9",
  "output_ConversationID": "ccf590fbfa1d4ff4a245b9c430a64220",
  "output_ThirdPartyReference": "33333"
}

从客户到企业的转账(从客户到企业)

从客户到代理的转账

$data = [
	"value" => 10,					# (Obrigatório) Valor a transferir
	"client_number" => "258840000000",			# (Obrigatório) Número do cliente
	"agent_id" => 171717,				# (Obrigatório) Código do agente beneficiário
	"transaction_reference" => 1234567		# (Obrigatório) Usando para atribuir uma referencia a transação
	"third_party_reference" => 33333,	# (Obrigatório) Esta referencia será usada para efectuar consulta das transações
];
$response = $mpesa->c2b($data);
print_r($response);
成功时的可能响应
{
  "output_ResponseCode": "INS-0",
  "output_ResponseDesc": "Request processed successfully",
  "output_TransactionID": "3cr8whltpb6m",
  "output_ConversationID": "25230e0e20514ba790c1273b866e98d1",
  "output_ThirdPartyReference": "33333"
}

从企业到企业的转账(从企业到企业)

从代理到代理的转账

$data = [
	"value" => 10,					# (Obrigatório) Valor a transferir
	"agent_id" => 171717,				# (Obrigatório) Código do agente
	"agent_receiver_id" => 979797,			# (Obrigatório) Código do agente beneficiário
	"transaction_reference" => 1234567		# (Obrigatório) Usando para atribuir uma referencia a transação
	"third_party_reference" => 33333,	# (Obrigatório) Esta referencia será usada para efectuar consulta das transações
];
$response = $mpesa->b2b($data);
print_r($response);
成功时的可能响应
{
  "output_ResponseCode": "INS-0",
  "output_ResponseDesc": "Request processed successfully",
  "output_TransactionID": "wdv2x712xjsx",
  "output_ConversationID": "1f427e27529e410ea433c79a253d7281",
  "output_ThirdPartyReference": "33333"
}

交易撤销

$data = [
	"value" => 10,
	"security_credential" => "",	# (Obrigatório)
	"indicator_identifier" => "",	# (Obrigatório)
	"transaction_id" => "",			# (Obrigatório) Id da transação a reverter
	"agent_id" => 171717,			# (Obrigatório) Código do agente
	"third_party_reference" => 33333,	# (Obrigatório) Esta referencia será usada para efectuar consulta das transações
];
$response = $mpesa->reversal($data);
print_r($response);
成功时的可能响应
{
  "output_ResponseCode": "INS-0",
  "output_ResponseDesc": "Request processed successfully",
  "output_TransactionID": "18c9kqgagz7h",
  "output_ConversationID": "2af1dce322394316917307c5320add6d",
  "output_ThirdPartyReference": "33333"
}

交易状态

$data = [
	"transaction_id" => "",		# (Obrigatório) Id da transação a reverter
	"agent_id" => 171717,			# (Obrigatório) Código do agente
	"third_party_reference" => 33333,	# (Obrigatório) Esta referencia será usada para efectuar consulta das transações
];
$response = $mpesa->status($data);
print_r($response);
成功时的可能响应
{
  "output_ResponseCode": "INS-0",
  "output_ResponseDesc": "Request processed successfully",
  "output_ResponseTransactionStatus": "Completed",
  "output_ConversationID": "7552194cb219468fa8da3356eed77feb",
  "output_ThirdPartyReference": "33333"
}

客户名称

返回客户名称。通常用于确认输入的客户编号是否正确。

重要提示:使用测试凭据无法验证客户名称。需要获取生产凭据才能查看客户名称!

$data = [
	"client_number" => "258840000000",	# (Obrigatório) Número do cliente
	"agent_id" => 171717,		# (Obrigatório) Código do agente
	"third_party_reference" => 33333,	# (Obrigatório) Esta referencia será usada para efectuar consulta das transações
];
$response = $mpesa->customer_name($data);
print_r($response);
成功时的可能响应
{
  "output_ResponseCode": "INS-26",
  "output_ResponseDesc": "Not authorized",
  "output_ConversationID": "f4f9e06d93b7439eb79bd61c7de6f642",
  "output_ThirdPartyReference": "33333",
  "output_CustomerName": "N/A"
}