moncasheasy/moncash-easy-sdk

PHP SDK,用于在Web项目中使用Moncash

v2.0 2024-08-06 03:14 UTC

This package is auto-updated.

Last update: 2024-09-06 03:33:48 UTC


README

这是一个PHP库,允许在项目中使用Moncash服务,基于Moncash官方API REST v1版文档,该库旨在提供与Moncash API REST的最简单通信接口。

安装

通过Composer

在项目根目录下,如果尚不存在,创建一个新的 composer.json 文件,并添加以下内容

{
    "require": {
        "moncasheasy/moncash-easy-sdk": "^2.0"
    }
}

使用 composer 安装MoncashEasy及其依赖项,在修改其全局路径global之后,在终端中定位到您的项目目录并执行以下命令

composer install

您也可以直接输入以下命令

composer require moncasheasy/moncash-easy-sdk

如果您不知道要安装哪个版本,则会安装最新版本。

然后在您的代码中,使用Composer的自动加载

require_once 'vendor/autoload.php';

手动安装

如果您不想使用Composer,您可以下载最新版本,然后将其中的 init.php 文件包含到您的代码中

require_once '/path/to/Moncash-Easy-SDK/init.php';

先决条件

为了使用MoncashEasy,您首先需要在MonCash网站上创建一个商家账户,此账户将用于测试您的集成。

输入所需信息后,您将被引导到一个新页面,在那里您将获得clientID和clientSecret,这对使用MoncashEasy非常有用。

使用

在项目源目录(src/)中的一个文件中:使用从Moncash网站创建商家账户后获得的 $clientId$clientSecret 实例化 MoncashAPI 对象,第三个参数 $debug 指定环境,默认为 true,在生产模式下将其设置为 false

use MoncashEasy\SDK\MoncashAPI;

$clientId = "<votre client id>";
$clientSecret = "<votre client secret>";

$moncash = new MoncashAPI($clientId, $clientSecret);

要执行支付,请使用 PaymentRequest 对象,它将为您提供一种方法,让用户通过链接跳转到Moncash网站以完成支付流程

<?php
//Effectuer un paiement

$orderId = 93;//Une identification unique pour le paiement
$amount = 120;//Le montant du paiement

$payReq = $moncash->makePaymentRequest($orderId, $amount);

?>

<p>
	<a href='<?= $payReq->getRedirect(); ?>'>
		<img src='<?= $moncash->btnPay(); ?>' width="120px" height="50px">
	</a>
</p>

使用 MoncashAPI 对象的 btnPay('fr')btnPay('kr') 方法显示Moncash按钮,分别用于法语和克里奥尔语,不带参数时显示英文版本

支付流程完成后,您可以从 PaymentDetails 对象中获取信息

$payDetails = $moncash->getDetailsByOrderId(93);

echo "Date de la transaction : ".Date("d/m/Y", $payDetails->getTimestamp()/1000)."<br/>";

echo "Reference : ".$payDetails->getPayment()->getReference()."<br/>";
echo "No Transaction : ".$payDetails->getPayment()->getTransactionId()."<br/>";
echo "Prix : ".$payDetails->getPayment()->getCost()."<br/>";
echo "Message : ".$payDetails->getPayment()->getMessage()."<br/>";
echo "Numéro tél : ".$payDetails->getPayment()->getPayer()."<br/>";

注意:您也可以使用 MoncashAPI 对象的 getDetailsByTransactionId($transaction_id) 方法通过 transactionId 参数从API返回的url中获取支付详情

某些操作可能会触发异常,尤其是在提供的数据出现错误时,使用MoncashEasy可以捕获这些异常

try {

	$moncash = new MoncashAPI($id, $secret);

	//Les opérations qui s'en suivent

} catch(MoncashEasy\SDK\MoncashException $e) {
	echo "Erreur : ".$e->getMessage();
}

如果您需要更换账户,不需要重新实例化 $moncash 对象,您只需使用 setCredentials($id, $secret) 方法为对象分配新的标识符即可

try {

	$moncash = new MoncashAPI($id, $secret);

	//Les opérations qui s'en suivent

	$newId = "<nouveau client id>";
	$newSecret = "<nouveau client secret>";

	$moncash->setCredentials($newId, $newSecret);

	var_dump($moncash);

} catch(MoncashEasy\SDK\MoncashException $e) {
	echo "Erreur : ".$e->getMessage();
}

其他信息

对于所有建议或遇到的问题,请联系 schneiderchery7@gmail.com

所有改进和功能添加都受欢迎。