APIs v1
Pré-requis: Créer une application dans la console
Une application se créé dans le menu "Développeur" et fournit les paramètres (clé privée et token) pour configurer vos supports d'encaissement d'argent (site web, facture, ect). Pour avoir une meilleure statistique (paiemment , moyen de paiement, ect) par supports, il est recommandé de créer une application par support.
Créer un paiement
Méthode : POST
URL : https://pay.akouendy.com/v1/billing/payment/init
Corps de la Requête :¶
{
"AppId": "{{privKey}}",
"TransactionId": "{{transactionId}}",
"TotalAmount": {{total}},
"Hash": "{{digest}}",
"Description": "Hello payment",
"Webhook": "https://httpdump.akouendy.com/callback",
"ReturnUrl": "https://www.akouendy.com",
"Email": "[email protected]",
"FullName": "Toto Nama",
"SuccessMsg": "Merci pour votre paiement",
"FailedMsg": "Paiement échoué"
}
Description des champs de la requête¶
- AppId: Identifiant de l'application (Clé privée).
- TransactionId: Identifiant unique généré pour la transaction dans votre SI.
- TotalAmount: Montant total de la transaction.
- Hash: Hash de sécurité généré en combinant la clé privée, l'identifiant de transaction, le montant total, et un secret.
- Description: Description du paiement.
- Webhook: URL pour les notifications de callback.
- ReturnUrl: URL de retour après le paiement
- Email: Adresse email du client.
- FullName: Nom complet du client.
- SuccessMsg: Message de succès à afficher après le paiement si ReturnUrl n'est pas fourni.
- FailedMsg: Message d'échec à afficher si le paiement échoue si ReturnUrl n'est pas fourni.
Avant de créer un paiement, il est nécessaire de générer un hash en utilisant la clé privée. La formule est du hash est:
A la fin du paiement, le client est redirigé vers l'url indiquée dans ReturnUrl enrichie comme suit : ReturnUrl?provider=[plateforme-paiement]&status=[status]&token=[token]&transactionId=[transactionId].- [plateforme-paiement] correspond à la plateforme de paiement utilisée : wave , orange-money-sn-api, ect
- [status] correspond au status du paiement : failed ou success
- [token] correspond à l'identifiant du paiement dans le SI Akouendy
- [transactionId] correspond à l'identifiant fourni lors de la création du paiement
Lorsque ReturnUrl n'est pas renseigné, le client est redirigé sur la page de status d'Akouendy.
Exemple de création d'un paiement de 10 FCFA avec Postman:¶
Script "Pre-request" permettant de calculer le hash Ce script exécuté avant la requête créé le hash puis l'ajoute dans une variable nommée "digest" dans la collection.
La requête POST dans postman
Réponse à la création de paiement:¶
{
"Code": "00",
"Text": "Payment in progress",
"Status": "INIT",
"Token": "7e24db2d-f11d-4315-925d-b14185a30342",
"PaymentUrl": "https://pay.akouendy.com/v1/product/buy/7e24db2d-f11d-4315-925d-b14185a30342?country=sen"
}
Description des champs de la réponse¶
- Code : Sa valeur est à 00 lorsque tout se passe bien.
- Text : Description du status du paiement
- Status : Statatus du paiement
- Token : Identifiant du paiement dans le SI Akouendy
- PaymentUrl : Page affichant les détails du paiement ainsi que les moyens de paiement
Webhook reçu après le paiement
Lorsqu'un paiement est effectué, une requête POST est envoyée l'url renseigné dans le le champ Webhook de la requête ou dans le champ Webhook de l'application utilisée pour initier la requête.
Corps de la Requête de Webhook :¶
{
"TransactionID": "7e24db2d-f11d-4315-925d-b14185a30342",
"Status": "SUCCESS",
"Hash": "298348dee3b5a28a5042d00f599918ae7811edf8fb2ad29fa32bcb00a7c237",
}
Description des champs de la requête¶
- TransactionID : Votre identification du payment utilisé lors de la création du paiement
- Status: Les status du paiement ( INIT, PENDING, SUCCESS, FAILED)
- Hash : Un hash basé sur le token de l'application utilsée lors de la création du paiement
La formule du hash de validation du webhook reçu est :
Rechercher un paiement
Méthode : GET
URL : https://pay.akouendy.com/v1/payment/{paymenId}/{applicationId}
Description des paramètres dans l'url¶
- paymenId : L'identifiant du paiement recherché
- applicationId : L'identifiant de l'application ayant servi à créer le paiement
Exemple de requête de recherche et de réponse :
Connaissant :
- l'AppId (Clé privée) : 2d2a358b-6f71-467b-a082-9f8777445be7
- l'ID du payement (Token dans la réponse de création de paiement) : 7e24db2d-f11d-4315-925d-b14185a30342
Réponse : Les données envoyées à la création du paiement sont retournées dans le champ MerchantData.
{
"Code": "00",
"PaymentId": "7e24db2d-f11d-4315-925d-b14185a30342",
"Status": "INIT",
"MerchantData": {
"Env": "",
"Fees": 0,
"Hash": "17cfeb4a58e715822a231ea64f9cd7a2aad2573761b57371ce0bd877c0cdeefb2706c998cccbd9b47bf6924165c2501b201717a0647b43ec11204278fcb66be5",
"Rate": 0,
"AppId": "b695ff5a-8a41-463b-ac3b-6c4ebbd01570",
"Email": "[email protected]",
"Webhook": "https://httpdump.akouendy.com/callback",
"AppToken": "",
"ClientId": "",
"FullName": "Toto Nama",
"FailedMsg": "Paiement échoué",
"ReturnUrl": "https://www.akouendy.com",
"SuccessMsg": "Merci pour votre paiement",
"Description": "Hello payment",
"TotalAmount": 10,
"NotifChannel": "",
"TransactionId": "d6384f1b-cdef-4b32-96ec-83fa59ca0e7f",
"MerchantCreated": false,
"TotalPayedAmount": 10
}
}
Télécharger la collection Postman
Cliquez ici pour télécharger la collection postman.