Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/schery19/moncash-easy-sdk
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.
https://github.com/schery19/moncash-easy-sdk
api digicel moncash moncasheasy php
Last synced: 9 days ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/schery19/moncash-easy-sdk
- Owner: schery19
- License: mit
- Created: 2022-02-15T04:14:00.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-10-04T00:46:51.000Z (3 months ago)
- Last Synced: 2024-12-07T20:24:42.452Z (17 days ago)
- Topics: api, digicel, moncash, moncasheasy, php
- Language: PHP
- Homepage: https://github.com/schery19/Moncash-Easy-SDK
- Size: 101 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Moncash-Easy-SDK
Une librairie PHP permettant d'utiliser les services Moncash dans un projet, basée sur la version 1 de la [documentation](https://sandbox.moncashbutton.digicelgroup.com/Moncash-business/resources/doc/RestAPI_MonCash_doc.pdf) 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
-----## Via Composer
Dans la racine du dossier de votre projet, créez un nouveau fichier composer.json s'il n'existe pas encore, ajoutez le contenu suivant :
```php
{
"require": {
"moncasheasy/moncash-easy-sdk": "^2.0.1"
}
}
```Utilisez [composer](https://getcomposer.org/download/) pour installer MoncashEasy et ses dépendances, après avoir modifié son chemin [global](https://askcodez.com/modifier-le-chemin-global-du-composeur-windows.html), exécutez la commande suivante sur votre terminal en vous positionnant dans le dossier de votre projet :
```bash
composer install
```Vous pouvez aussi tapez directement la commande suivante :
```bash
composer require moncasheasy/moncash-easy-sdk
```Si vous ignorez quelle version installer, dans ce cas la version la plus récente sera installée.
Ensuite dans votre code, utilisez l'[autoload](https://getcomposer.org/doc/01-basic-usage.md#autoloading) de Composer :
```php
require_once 'vendor/autoload.php';
```## Installation manuelle
Si vous ne souhaitez pas utiliser Composer, vous pouvez télécharger la [dernière version](https://github.com/schery19/Moncash-Easy-SDK/releases), et ensuite incluez le fichier `init.php` dans votre code :
```php
require_once '/path/to/Moncash-Easy-SDK/init.php';
```Prérequis
-----Pour utiliser MoncashEasy il faut d'abord avoir un compte marchand sur le site de [MonCash](https://sandbox.moncashbutton.digicelgroup.com/Moncash-business/New), ce compte vous servira pour tester votre intégration.
Après avoir entré les informations nécessaires, vous serez dirigé 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.```php
use MoncashEasy\SDK\MoncashAPI;
$clientId = "";
$clientSecret = "";$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
makePaymentRequest($orderId, $amount);?>
```
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
```php
$payDetails = $moncash->getDetailsByOrderId(93);echo "Date de la transaction : ".Date("d/m/Y", $payDetails->getTimestamp()/1000)."
";echo "Reference : ".$payDetails->getPayment()->getReference()."
";
echo "No Transaction : ".$payDetails->getPayment()->getTransactionId()."
";
echo "Prix : ".$payDetails->getPayment()->getCost()."
";
echo "Message : ".$payDetails->getPayment()->getMessage()."
";
echo "Numéro tél : ".$payDetails->getPayment()->getPayer()."
";```
Notes :
Vous pouvez aussi récupérer les détails du paiement avec la méthode `getDetailsByTransactionId($transaction_id)` sur l'objet MoncashAPI en utilisant le paramètre transactionId dans l'url de retour fournit par l'api moncashCertaines 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 :
```php
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
```php
try {$moncash = new MoncashAPI($id, $secret);
//Les opérations qui s'en suivent
$newId = "";
$newSecret = "";$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 [email protected]
Toutes améliorations et ajouts de fonctionnalités sont les bienvenues.