moncasheasy/moncash-easy-sdk

PHP SDK for using Moncash on web project

v1.3.3 2023-07-17 16:15 UTC

This package is auto-updated.

Last update: 2024-04-17 17:56:26 UTC


README

Une librairie PHP permettant d'utiliser les services Moncash dans un projet, basée sur la version 1 de la documentation officielle de l'API REST de Moncash, cette librairie vise à offrir une interface de communication la plus facile possible avec l'API REST de Moncash.

Installation

Dans la racine du dossier de votre projet, créez un nouveau fichier composer.json avec le contenu suivant :

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

Utilisez composer pour installer MoncashEasy et ses dépendances, après avoir modifié son chemin global, exécutez la commande suivante sur votre terminal en vous positionnant dans le dossier de votre projet :

composer install

Prérequis

Pour utiliser MoncashEasy il faut d'abord avoir un compte marchand sur le site de MonCash, ce compte vous servira pour tester votre intégration.

Après avoir entrer les informations nécessaires, vous serez diriger vers une nouvelle page sur laquelle vous obtiendrez votre clientID et clientSecret qui seront très utiles pour l'utilisation de MoncashEasy.

Utilisations

Dans un fichier dans le repertoire source (src/) de votre projet : Instantiez l'objet MoncashAPI avec comme arguments : $clientId et $clientSecret qui sont à récupérer sur le site moncash après avoir créé votre compte business, un troisième argument $debug spécifie l'environnement, par défaut il est à true, passez le à false en mode production.

require '../vendor/autoload.php';

use MoncashEasy\SDK\MoncashAPI;

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

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

Pour effectuer un paiement vous utilisez l'objet PaymentRequest, qui vous donnera par la suite un moyen d'obtenir le lien qui dirigera l'utilisateur sur le site moncash pour finaliser le processus de paiement :

<?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>

Utlisez la méthode btnPay('fr') ou btnPay('kr') sur l'objet MoncashAPI pour afficher le boutton moncash respectivement en français ou en créole, sans argument cette méthode affiche la version anglaise du boutton.

Après finalisation du processus de paiement, vous pouvez récupérer les informations à partir de l'objet 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/>";

Notes : Vous pouvez aussi récupérer les détails du paiement avec la méthode getDetailsByTransactionId($transaction_id) sur l'objet MoncashAPI

Certaines opérations sont succeptibles de déclencher des exceptions, surtout en cas d'erreur au niveau des données fournies, avec MoncashEasy il est possible de capturer ces exceptions :

try {

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

	//Les opérations qui s'en suivent

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

Si vous avez besoin de changer de compte, pas besoin de réinstantier l'objet $moncash, vous n'avez qu'à utiliser la méthode setCredentials($id, $secret) pour assigner à l'objet les nouvels identifiants correspondant au nouveau compte

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();
}

Extras

Pour toutes suggestions ou problèmes rencontrées, contacter au schneiderchery7@gmail.com

Toutes améliorations et ajouts de fonctionnalités sont les bienvenues.