Accepter des paiements
Pour accepter un paiement, il faut préparer les informations de paiement et ensuite envoyer une requête de paiement à l'aide de notre API, de notre bibliothèque Nodejs, du widget JS ou de nos SDKs.
Chaque transaction comprend une référence qui peut être utilisée pour vérifier le paiement.
Environnement de test & de production
Nous ne saurions trop insister là-dessus : veuillez tester nos APIs par rapport à notre environnement sandbox avant de les diriger vers la production. Nous préférons éviter les interruptions de service en production causées par du code non testé.
L'URL de base est la même que ce soit en production ou en test. Seul votre API key distingue les deux environnements.
Url de requête
https://apis.chipdeals.me/momo/requestpayment?apikey=<YOUR_API_KEY>
Initier un paiement avec l'API
Pour initier un paiement, vous devrez transmettre des informations telles que le numéro mobile money, les nom, le montant, etc.
Le numéro, le montant, la devise et les noms et prénoms sont obligatoires. Vous pouvez également transmettre un autre paramètre qui est l'URL à contacter lorsque la transaction change d'état.
Voici la liste complète des paramètres que vous pouvez passer pour accepter un paiement
Paramètre | Requis? | Description |
---|---|---|
senderPhoneNumber | Oui | Numéro mobile money du client Il dois respecter le format E.164 sans le signe + .Format: [country code][local phone number] Ex: 22951010588 |
senderFirstName | Oui | Prénom du client |
senderLastName | Oui | Nom de famille du client |
amount | Oui | Montant à récupérer chez le client |
currency | Oui | Devise Voir les devises supportées |
webhookUrl | Non | URL que nous allons contacter pour vous notifier des mises à jour par rapport au paiement initié. |
- HTTP
- Curl
- NodeJs
- Laravel
- PHP
POST https://apis.chipdeals.me/momo/requestpayment?apikey=test_FOdigzgSopV8GZggZa89 HTTP/1.1content-type: application/json{ "senderFirstName": "Iyam", "senderLastName": "EVERICH", "senderPhoneNumber": "22951010588", "amount": 250, "currency": "XOF"}
curl --request POST \'https://apis.chipdeals.me/momo/requestpayment?apikey=test_FOdigzgSopV8GZggZa89' \--header 'Content-Type: application/json' \--data-raw '{ "senderFirstName": "Iyam", "senderLastName": "EVERICH", "senderPhoneNumber": "22951010588", "amount": 250, "currency": "XOF"}'
const momo = require("@chipdeals/momo-api");momo.setApiKey("test_FOdigzgSopV8GZggZa89");momo .collect() .amount(250) .currency("XOF") .from("22951010200") .firstName("Iyam") .lastName("EVERICH") .create();
<?php$client = new \GuzzleHttp\Client();$apikey = "test_FOdigzgSopV8GZggZa89";$url = "https://apis.chipdeals.me/momo/requestpayment?apikey=".$apikey;$data = [ 'senderFirstName'=> "Iyam", 'senderLastName'=> "EVERICH", 'senderPhoneNumber'=> "22951010588", 'amount'=> 100, 'currency'=> "XOF"];$response = $client->post($url, [ 'body' => json_encode($data) ]);$body = $response->getBody();print_r(json_decode( $result));
require_once("path/to/chipdeals-mobile-money-api.php");$momo = new Momo();$momo->setApiKey("test_FOdigzgSopV8GZggZa89");$collection = $momo ->collect() ->amount(2000) //Amount of the transaction ->currency("XOF") // Any valid currency ->from("22951010200") // Sender phone number with country code préfix ->firstName("Iyam") // First name of the sender ->lastName("EVERICH") // Last name of the sender ->create();print_r($collection->getArray());
Initier un paiement avec le widget Javascript
Le widget de paiement permet d'accepter le paiement depuis son site web sans écrire beaucoup de codes. Pour accepter un paiement depuis votre site web avec notre widget Javascript, renseignez votre clé API, incluez le script JS fournit par Chipdeals et ajoutez un bouton de paiement pour vous faire payer
Le widget Javascript Mobile Money de Chipdeals fournit un flow de paiement simple et pratique pour le Web. Il peut être intégré en 3 étapes faciles, ce qui en fait le moyen le plus simple de commencer à recevoir des paiements. Accédez à la démo du widget ici.
Intégrez le widget en 3 étapes
Intégrez en 3 étapes facile notre widget sur votre propre site web. Vous pouvez aussi directement voir une démo du résultat après intégration.
1. Obtenez votre clé API
Récupérez votre clé api depuis le dashboard. Nous allons utiliser une clé api test comme exemple ici.
Clé api: test_FOdigzgSopV8GZggZa89
2. Incluez le script Javascript
Ajoutez ce code dans l'entête de votre page HTML. N'oubliez pas de remplacer votre propre clé API.
<script
src="https://cdn.jsdelivr.net/gh/Chipdeals/mobile-money-api-Javascript@1.6.1/lib.min.js"
apiKey="test_FOdigzgSopV8GZggZa89"
successfulRedirection="https://chipdeals.me/mobile-money"
></script>
✓ L'attribut src
est l'URL du script de la version de la bibliothèque Chipdeals que vous incluez
apiKey
est votre apiKey obtenue après inscription chez nous
✓ L'attribut successRedirection
est facultatif. Il contient une URL où vous souhaitez que vos utilisateurs soient redirigés après avoir payé 3. Ajoutez un bouton de paiement
Ajoutez ce bouton de paiement à votre code.
Le bouton doit contenir la classe chipdeals-button
pour permettre à notre script de le trouver et d'ajouter un écouteur de clic.
<button class="chipdeals-button" amount="3000">Pay 3000 XOF</button>
Voilà, vous avez réussi !
Lorsque vous cliquez sur votre bouton, le widget de paiement Chipdeals apparaîtra et vous pouvez accepter des paiement avec simplicité.
Personaliser votre widget de paiement
La plupart des modifications que vous pouvez effectuer sont disponibles via des propriétés que vous pouvez ajouter à votre bouton ou simplement ignorer.
Propriétés de personnalisation :
Propriétés | Requis? | Signification |
---|---|---|
amount | Oui | Le montant que vous voulez que l'utilisateur paie |
currency | Non | La devise du montant. La valeur par défaut est XOF |
img | Non | URL de l'image du produit |
name | Non | Le nom du produit |
addFeeToUser | Non | Si vous ajoutez cet attribut à votre bouton, votre utilisateur supportera les frais. Ex : si les frais sont de 2% nous demanderons à l'utilisateur de payer 1020 XOF pour un montant de 1000 XOF |
Quelques exemples de personnalisation
Personnaliser la devise
Personaliser l'image du produit
Personnaliser le nom du produit
Personnaliser le support des frais
Personalisation avancée du widget
Dans votre code javascript, vous pouvez ajouter des gestionnaires pour intercepter les événements de changement d'état de la transaction.
Événement de paiement réussi
Vous pouvez ajouter un code qui sera exécuté dès que l'utilisateur réussit son paiement. Pour le faire, il suffit d'écouter l'événement chipdealsPaymentSucceeded
sur l'objet document
.
document.addEventListener("chipdealsPaymentSucceeded", (event) => {
console.log(event);
console.log(event.detail.description);
});
Événement de paiement échoué
Vous pouvez ajouter un code qui sera exécuté dès que l'utilisateur échoue son paiement. Pour le faire, il suffit d'écouter l'événement chipdealsPaymentFailed
sur l'objet document
.
document.addEventListener("chipdealsPaymentFailed", (event) => {
console.log(event);
console.log(event.detail.description);
});
Événement de mise à jour de l'état du paiement
Vous pouvez ajouter un gestionnaire pour que votre code soit exécuté dès que l'état du paiement change. Vous devez écouter l'événement chipdealsPaymentUpdated
sur l'objet document
.
document.addEventListener("chipdealsPaymentUpdated", (event) => {
console.log(event);
console.log(event.detail.description);
});