lepresk/ momo-api
MoMo(移动货币)API集成到PHP应用程序中的强大且用户友好的包装器。
v1.0.2
2024-04-22 19:06 UTC
Requires
- php: ^7.4|^8.0
- symfony/http-client: ^6.3
Requires (Dev)
- phpunit/phpunit: ^10.2
- symfony/var-dumper: ^6.3
README
lepresk/momo-api库是MoMo(移动货币)官方API的封装。它简化了与MoMo平台的交互,并提供了额外的功能,以简化金融交易集成和管理。
功能
lepresk/momo-api库让您能够
所需配置
- PHP 7.4或更高版本。
- 在Momo Developper上拥有账户并获取
subscriptionKey,或者在生产中使用由MTN提供的API密钥。
📢在生产环境中,
subscriptionKey、apiUser和apiKey将直接由MTN提供
安装
要安装库lepresk/momo-api,您可以使用Composer
composer require lepresk/momo-api
使用
以下是使用此库的简单示例
<?php use Lepresk\MomoApi\MomoApi; use Lepresk\MomoApi\Utilities; require 'vendor/autoload.php'; // Récupérer la subscriptionKey dans son profile ou utiliser celui fournit par MTN si vous êtes en production $subscriptionKey = 'SUBSCRIPTION KEY HERE'; // Récupérer le client Momo $momo = MomoApi::create(MomoApi::ENVIRONMENT_SANDBOX);
📢请确保将“SUBSCRIPTION KEY HERE”替换为您的实际订阅密钥。
可能的环境
与沙箱交互
创建api用户
// Créer une api user $uuid = Utilities::guidv4(); // Ou tout autre guuidv4 valide $callbackHost = 'https://my-domain.com/callback'; $apiUser = $momo->sandbox($subscriptionKey)->createApiUser($uuid, $callbackHost); echo "Api user created: $apiUser\n";
获取用户信息
$data = $momo->sandbox($subscriptionKey)->getApiUser($apiUser); print_r($data); // [ // 'providerCallbackHost' => 'https://my-domain.com/callback', // 'targetEnvironment' => 'sandbox', // ]
创建api密钥
$apiKey = $momo->sandbox($subscriptionKey)->createApiKey($apiUser); echo "Api token created: $apiKey\n";
与集合产品交互
在使用集合API之前,您必须定义配置。
// Créer un object Config $config = new \Lepresk\MomoApi\Config::collection($subscriptionKey, $apiUser, $apiKey, $callbackHost); // Définir la configuration sur l'instance de MomoApi $momo->setupCollection($config);
获取oauth令牌
$token = $momo->collection()->getAccessToken(); echo $token->getAccessToken(); // Token echo $token->getExpiresIn(); // Date d'expiration du token
要执行requestToPay请求或检查交易状态,您无需请求令牌,它在每次交易中自动生成。
获取账户余额
$balance = $momo->collection()->getAccountBalance(); echo $balance->getAvailableBalance(); // Solde du compte echo $balance->getCurrency(); // Devise du compte
执行requestToPay请求
<?php // Pour initier un paiement requestToPay $request = new PaymentRequest(1000, 'EUR', 'ORDER-10', '46733123454', 'Payer message', 'Payer note'); $paymentId = $momo->collection()->requestToPay($request);
有关测试电话号码的详细信息,请参阅https://momodeveloper.mtn.com/api-documentation/testing/
$paymentId是刚刚完成的支付的id,您可以将它记录在数据库中以供以后使用(例如,检查支付状态)
检查交易状态
<?php // Vérifier le statut du paiement $transaction = $momo->collection()->checkRequestStatus($paymentId); echo $transaction->getStatus(); // Pour obtenir le statut de la transaction
管理回调钩子
<?php use Lepresk\MomoApi\Models\Transaction; // Créer un objet transaction depuis le tableau GET $transaction = Transaction::parse($_GET); echo $transaction->getStatus(); // Pour obtenir le statut de la transaction echo $transaction->getAmount(); // Pour récuperer le montant de la transaction
补充文档
有关使用库lepresk/momo-api和可用功能的更多信息,请参阅GitHub存储库中的“docs”文件夹中的官方文档。
贡献
欢迎贡献!如果您想改进库、报告问题或提交功能请求,请在此库的GitHub存储库上创建一个问题:lepresk/momo-api。
许可
此库根据MIT许可证分发。您可以根据自己的需求使用和修改它。