Introduction
L’API mutualisée vous permet de recevoir les paiements de vos clients via Orange Money. Sa particularité est qu’elle est disponible pour les particuliers ou les jeunes entreprise ne disposant pas encore les documents nécessaires pour l’obtention des APIs. De plus, le temps nécessaire pour l’acquisition de notre API mutualisée est très court (disponible en moins de 24h). À la fin de cette documentation vous avez des exemples concrets faits avec Postman.
Pour l’intégration de cette API, vous devez avoir à votre disposition les informations suivantes que nous vous aurons transmis:
- le idClient
- le secretClient
- le customerkey
- customersecret
Si vous n’avez pas ces informations , n’hésitez pas à nous contacter.
Pour tout besoin d’assistance vous pouvez nous contacter directement:
Nom: Support Y-Note,
Tél: 242 232 240
canal du support technique: 6054
Email: [email protected]
Notre site web : https://www.y-note.cm/
Récupération du Token
L’Access Token est un jeton d’authentification récupéré auprès de l’API, ce qui nous permettra d’effectuer le remboursement. l’URL à utiliser est la suivante : https://omapi-token.ynote.africa/oauth2/token
Cette requête doit comporter un header contenant les paramètres:
- Conten-Type:application/x-www-form-urlencoded
- Authorization: elle doit avoir comme valeur votre login:votre_mot_de_passe encodé en base64
La requête CURL est la suivante:
curl –location ‘https://omapitest.auth.us-east-1.amazoncognito.com/oauth2/token’ \
–header ‘Content-Type: application/x-www-form-urlencoded’ \
–header ‘Authorization: Basic xxxxxxxxxxxx’ \
–data-urlencode ‘grant_type=client_credentials’
La réponse a cette requête est un element en JSON comprenant votre Access Token Bearer:
{« access_token »: »eyJraWQiOiJcL2NucXVJxxxxxxxxxxxxxx », »expires_in »:300, »token_type »: »Bearer »}
Le paramètre à récupérer pour la suite de nos opérations est « access_token« . Son délai d’expiration est précisé dans la paramètre « expires_in » et exprimé en secondes.
Requête d'encaisement avec l'API Mutualisée
Par la suite, utilisez ce jeton obtenu à l’étape 1 dans votre requête de paiement sur le point de terminaison https://omapi.ynote.africa/prod/webpayment avec le type d’auhtentification Bearer :
Passer ensuite corps de la requête en json dans le dody:
{
| Paramètres | Type | Description | Exemple |
| customerkey | Chaîne de caractère | Login de l’utilisateur, fourni par l’aggrégateur | knnWJwrxaVgHzXQSloPePxAAwavB |
| customersecret | Chaîne de caractère | Mot de passe de l’utilisateur, fourni par l’aggrégateur | pknWJwrxaVgHzXQSloPePxAAwavB |
| order_id | Chaîne de caractère | L’identifiant de votre transaction | payment001 |
| amount | Chaîne de caractère | Le montant que devra payer votre client | 200 |
| subscriberMsisdn |
Chaîne de caractère | Le numéro du payeur (celui de votre client) | 692xxxxxx |
| description | Chaîne de caractère | Il s’agit d’une tres courte description de votre paiement | PaymentArticleB |
| notifUrl | Chaîne de caractère | L’url de réception de la notification lors du changement du statut de votre paiement | https://webhook.site/cf37074f-831e-4949-a93e-f0353c03e687. Note: https://webhook.site est un site gratuit qui vous permet de tester la recetion d’une requête post avant de renseigner votre URL définitive. |
| PaiementMethod |
Chaîne de caractère | La méthode de paiement. Vous ne devez pas modifier ce paramètre ca valeur reste ORANGE_CMR | ORANGE_CMR |
Exemple d’appel avec CURL:
curl –location ‘https://omapi.ynote.africa/prod/webpayment’ \
–header ‘Content-Type: application/json’ \
–header ‘Authorization: Bearer myyLTGX8-eGbI9QHJxweij72FCsyaS2UyvlCch7wH0Aog6pjTDOxxx’ \
–data ‘{
« API_MUT »:{
« customerkey »: « xxxxxxx »,
« customersecret »: « xxxxxxx »,
« order_id »: »order1222″,
« amount »: « 10 »,
« subscriberMsisdn »: »69xxxxxxx »,
« description »: »description »,
« notifUrl »: « https://webhook.site/cf37074f-831e-4949-a93e-f0353c03e687 »,
« PaiementMethod »: »ORANGE_CMR »
}
}’
La donnée renvoyée par cet appel est un dictionnaire sous la forme:
Il faut noter que le paramètre MessageId vous permettra plus tard de retrouver le statut de votre transaction à tout moment, nous y reviendrons plus bas dans la documentation.
Réponse de l’API sur le notifUrl
L’API renvoie la réponse de traitement de chaque demande sur l’URL spécifié dans le paramètre notifUrl, la table ci-dessous fournit des détails sur les réponses renvoyées.
| Codes réponse | body | Description |
|
5010
|
Missing customerkey on API_MUT
|
Le corps de la requête est manquant dans l’élément API_MUT. |
|
5011
|
customersecret missing on API_MUT
|
le paramètre customersecret est manquant dans l’élément API_MUT. |
|
5013
|
order_id missing on API_MUT
|
le paramètre order_id est manquant dans l’élément API_MUT. |
|
5014
|
amount missing on API_MUT
|
le paramètre amount est manquant dans l’élément API_MUT. |
|
5015
|
Floating numbers not allowed on amount in API_MU
|
Votre montant ne doit pas contenir de partie décimale, uniquement les entiers. |
|
5015
|
Amount in API_MUT should be a string
|
vous devez mettre votre montant entre double cotes. |
|
5015
|
Amount is too big and should be below or equal to 500.000 Fcfa
|
Votre montant ne doit pas dépasser 500.000 Fcfa |
|
5015
|
Amount is too small and should be at least 10 Fcfa
|
Votre montant doit etre au moins 10 Fcfa |
|
5016
|
subscriberMsisdn missing on API_MUT
|
le paramètre subscriberMsisdn est manquant dans l’élément API_MUT. |
|
5023
|
Le signe de l‘indicatif n‘est pas autorisé sur le numéro du bénéficiaire, les exemples de numéros valides sont:
692xxxxxx, 237692xxxxxx
|
Le signe de l’indicatif n’est pas autorisé sur le numéro du bénéficiaire, les exemples de numéros valides sont: 692xxxxxx, 237692xxxxxx |
|
5024
|
Le numéro du bénéficiaire ne doit contenir que des chiffres, les exemples de numéros valides sont: 692xxxxxx, 237692xxxxxx
|
Le numéro du bénéficiaire ne doit contenir que des chiffres, les exemples de numéros valides sont: 692xxxxxx, 237692xxxxxx |
|
5025
|
Le numéro du bénéficiaire n‘a pas la longeur requise, les exemples de numéros valides sont: 692xxxxxx, 237692xxxxxx’
|
|
|
5026
|
Le numéro du bénéficiaire n‘est’ pas un numéro mobile Camerounais valide, les exemples de numéros valides sont: 692xxxxxx, 237692xxxxxx
|
Le numéro du bénéficiaire n’est’ pas un numéro mobile Camerounais valide, les exemples de numéros valides sont: 692xxxxxx, 237692xxxxxx |
|
5017
|
description missing on API_MUT
|
le paramètre description est manquant dans l’élément API_MUT. |
|
5018
|
notifUrl missing on API_MUT
|
le paramètre notifUrl est manquant dans l’élément API_MUT. |
|
5019
|
PaiementMethod missing on API_MUT
|
le paramètre PaiementMethod est manquant dans l’élément API_MUT. Ce paramètre doit avoir pour valeur ORANGE_CMR. |
|
5020
|
PaiementMethod wrong Value on API_MUT
|
Mauvaise valeur pour le paramètre PaiementMethod, Ce paramètre doit avoir pour valeur ORANGE_CMR. |
Vérification du statut des paiements
Afin de vérifier à tout moment le statut d’une transaction faite, vous devez récupérer de nouveau un acces_token sur l’url https://omapi-token.ynote.africa/oauth2/token en fournissant l’id et le secret, vous recevrez un acces_token avec le type et sa durée de validité comme c’était le cas lorsqu’il s’agissait du acces_token pour le paiement.
Ensuite faire un GET sur l’url https://omapi.ynote.africa/prod/webpayment/status/messageId, messageId correspondant au paramètre MessageId renvoyé lors du POST sur l’url du paiement.
Les paramètres à fournir sont d’abord le access_token de type Bearer ensuite le corps de la requête en json:
{
« API_MUT »:{
« customerkey »: »XXXXXXXX »,
« customersecret »: »XXXXX »
}
}
Voici un exemple de réponse lors de l’appel a cet API:
Quelques paramètres importants:
| status | Il s’agit du statut de la transation, les valeurs possible sont: SUCCESSFUL, FAILED, PENDING, INITIATED, UNKNOWN |
| MessageId | Il s’agit du paramètre qui permet de récupérer le statut de la transaction a tout moment. |
La table ci-dessous décrit les autres possibilités de réponse:
| Codes réponse | body | Description |
| 5011 |
Missing API_MUT parameter
|
Vous devez renseigner le paramètre API_MUT |
| 5012 |
No Customer Key on API_MUT
|
Le paramètre customerkey est manquant dans l’élément API_MUT |
Voir notre exemple dan postman
Nous avons préparé un exemple complet de ces requêtes dans postman, cliquez Ici pour voir .
Et voila , vous avez maintenant implémenté l’API mutualisée Orange Money vous permettant de recevoir les paiements de vos clients.
Cette API Orange Money est valable au Cameroun et permet de bénéficier d’une souplesse dans les encaisements inégalé.
Vous avez une activité ? Vous souhaitez faire payer vos clients par Orange Money au Cameroun ?
Y-Note est Agrégateur Orange Money Cameroun officiel depuis 2018. Accompagnant des centaines de eCommerçant au Cameroun, nous proposons la mise en place de solution d’encaissement et de remboursement Orange Money.