wanzoou/momoapicollection

此存储库提供了一个PHP类,MomoAPI,以方便与MTN Mobile Money (MoMo) API进行集成,用于收款服务。该类允许您创建API用户、生成API密钥、获取访问令牌并向MTN MoMo平台发送支付请求。

v0.0.1 2024-06-19 10:03 UTC

This package is auto-updated.

Last update: 2024-09-19 11:08:56 UTC


README

简介

此存储库提供了一个PHP类,MomoAPI,以方便与MTN Mobile Money (MoMo) API进行集成,用于收款服务。该类允许您创建API用户、生成API密钥、获取访问令牌并向MTN MoMo平台发送支付请求。

特性

  • 创建API用户:自动为MTN MoMo集成创建API用户。
  • 生成API密钥:安全地为创建的API用户生成API密钥。
  • 获取访问令牌:生成用于授权的访问令牌。
  • 请求支付:向MoMo API发起支付请求。
  • 检查交易状态:检索支付请求的状态。

要求

  • PHP 7.0 或更高版本
  • cURL 扩展

安装

您可以通过Composer安装此库。运行以下命令

composer require wanzoou/momoapicollection

在您的项目中包含MomoAPI

require_once 'vendor/autoload.php';

use Wanzoou\Momoapicollection\MomoAPI;

用法

初始化

实例化MomoAPI类

$momo = new MomoAPI();

配置

设置所需参数

$momo->setMomoPayHost('sandbox.momodeveloper.mtn.com'); // Set MoMo API host
$momo->setPrimaryKey('your_primary_key'); // Set your primary key
$momo->setProviderCallbackHost('your_callback_host'); // Set your provider callback host
$momo->setTargetEnvironment('sandbox'); // Set the target environment (sandbox or live)

请求支付

发起支付请求

$phone = '237679465319'; // Payer's phone number
$amount = 100; // Amount to be paid
$currency = 'EUR'; // Currency

$responseCode = $momo->requestToPay($phone, $amount, $currency);

if ($responseCode == 202) {
    echo "Payment request initiated successfully.";
} else {
    echo "Failed to initiate payment request.";
}

检查交易状态

检索支付请求的状态

$status = $momo->requestToPayTransactionStatus();
echo "Transaction Status: " . json_encode($status);

方法

setMomoPayHost($momo_pay_host)

设置MoMo API主机。

setProviderCallbackHost($providerCallbackHost)

设置提供者回调主机。

setPrimaryKey($primary_key)

设置主密钥。

setTargetEnvironment($targetEnvironment)

设置目标环境(沙盒或生产)。

requestToPay($phone, $amount, $currency)

发起支付请求。

requestToPayTransactionStatus()

检索支付请求的状态。

示例

以下是在PHP脚本中使用MomoAPI类的一个示例

<?php
require_once 'vendor/autoload.php';

use Wanzoou\Momoapicollection\MomoAPI;

$momo = new MomoAPI();
$momo->setMomoPayHost('sandbox.momodeveloper.mtn.com');
$momo->setPrimaryKey('your_primary_key');
$momo->setProviderCallbackHost('your_callback_host');
$momo->setTargetEnvironment('sandbox');

$phone = '237679465319';
$amount = 100;
$currency = 'EUR';

$responseCode = $momo->requestToPay($phone, $amount, $currency);

if ($responseCode == 202) {
    echo "Payment request initiated successfully.\n";
    $status = $momo->requestToPayTransactionStatus();
    echo "Transaction Status: " . json_encode($status);
} else {
    echo "Failed to initiate payment request.\n";
}
?>

许可

本项目采用MIT许可证 - 有关详细信息,请参阅LICENSE文件。

贡献

欢迎贡献!请为任何更改打开问题或提交拉取请求。

联系方式

如有任何疑问,请联系wanzoou@gmail.com