Mobile Money
Mobile Money est un moyen rapide, simple, pratique, sécurisé et abordable de réaliser des paiements et d'effectuer d'autres transactions à l'aide d'un téléphone mobile.
La méthode de paiement avec Mobile Money permet à vos clients de vous payer en saisissant leur numéro de téléphone mobile. Lorsque le client clique pour payer, il recevra une notification sur l'appareil mobile associé à son numéro, lui demandant de confirmer le paiement en saisissant un code PIN. Lorsque les clients effectuent des paiements, vous recevrez une notification webhook indiquant que des paiements ont été effectués sur votre compte.
Liste des devises disponibles
Symbôles | Noms |
---|---|
NGN | Niaria Nigérian |
XAF | Franc CFA CEMAC |
XOF | Franc CFA CEDEAO |
GNF | Franc Guinéen |
Liste des opérateurs
Noms |
---|
MTN Money |
Moov Money |
Airtel Money |
Free Money |
M-pesa |
Wave |
Orange Money |
Les étapes suivantes sont nécessaires pour accepter les paiements par Mobile Money :
Initier un paiement (a mettre dans l'API)
Pour facturer un client, vous devrez collecter les informations de paiement nécessaires auprès du client.
Traduction en français et présentation sous forme de tableau :
Champ | Requis | Type | Description |
---|---|---|---|
type | Oui | String | Il s'agit de la méthode de paiement. Dans ce cas, ce sera mobile_money. |
reference | Oui | String | La référence unique générée pour la transaction. |
amount | Oui | String | Le montant à facturer. |
currency | Oui | String | La devise. |
phone | Oui | String | Le numéro de téléphone mobile du client à facturer, par exemple 221700000000. |
operator | Oui | String | L'opérateur de mobile money. |
customer | Oui | Object | Les détails du client. |
customer.name | Oui | String | Le nom du client. |
customer.email | Oui | String | L'adresse e-mail du client. |
customer.phoneNumber | Non | String | Le numéro de téléphone du client (facultatif). |
settlementDestination | Non | String | La destination de règlement est l'endroit où vous souhaitez que vos paiements soient réglés. Les règlements se font actuellement uniquement vers les portefeuilles (soldes). |
callbackUrl | Non | String | L'URL pour rediriger votre client lorsque la transaction est terminée. |
Ensuite, préparez votre objet de données pour qu'il ressemble à l'exemple ci-dessous :
{
"type": "mobile_money",
"amount": 50000,
"reference": "dhshsdsd9sj",
"currency": "XOF",
"customer": {
"name": "Claude Dominique",
"email": "[email protected]"
},
"phone": "221773884332",
"operator": "Orange Money",
"settlementDestination": "wallet"
}
data_object = {
"type": "mobile_money",
"amount": 50000,
"reference": "dhshsdsd9sj",
"currency": "XOF",
"customer": {
"name": "Claude Dominique",
"email": "[email protected]"
},
"phone": "221773884332",
"operator": "Orange Money",
"settlementDestination": "wallet"
}
# Printing the data_object
print(data_object)
Verifier le paiement
Voici un exemple de vérification de paiement et de réponse :
{
"status": true,
"message": "Charge trouvée",
"data": {
"id": 01293,
"authorization": {
"mode": null,
"redirect": null
},
"auth_model": null,
"amount": 50000,
"amountReceived": 0,
"currency": "XOF",
"fee": 1,
"message": "<p>Vous recevrez une demande sur le numéro de mobile <b>221700000000</b>. <br/> Entrez votre code PIN MTN Money pour autoriser votre paiement de <b>XOF 50000</b> vers le compte numéro <b>221700000000</b>. <br/><br/> Si vous ne recevez pas de demande dans les 30 secondes, suivez les instructions",
"status": "success",
"reference": "Mobile Data",
"description": "",
"type": "mobile_money",
"customer": {
"name": "claude",
"email": "[email protected]",
"phoneNumber": null
},
"metadata": {
"phone": "221700000000",
"operator": "MTN money"
},
"settlementDestination": "wallet"
}
}
data = {
"status": True,
"message": "Charge trouvée",
"data": {
"id": 1293,
"authorization": {
"mode": None,
"redirect": None
},
"auth_model": None,
"amount": 50000,
"amountReceived": 0,
"currency": "XOF",
"fee": 1,
"message": "<p>Vous recevrez une demande sur le numéro de mobile <b>221700000000</b>. <br/> Entrez votre code PIN M-Pesa pour autoriser votre paiement de <b>XOF 50000</b> vers le compte numéro <b>221700000000</b>. <br/><br/> Si vous ne recevez pas de demande dans les 30 secondes, suivez les instructions",
"status": "success",
"reference": "Mobile Data",
"description": "",
"type": "mobile_money",
"customer": {
"name": "claude",
"email": "[email protected]",
"phoneNumber": None
},
"metadata": {
"phone": "221700000000",
"operator": "MTN money"
},
"settlementDestination": "wallet"
}
}
# Vous pouvez maintenant utiliser le dictionnaire 'data' dans votre code Python
print(data["status"])
print(data["message"])
print(data["data"]["id"])
# Accédez à d'autres champs imbriqués au besoin
Configurer le webhook
En tant qu'étape facultative, vous pouvez configurer votre application pour recevoir des confirmations via des webhooks. Consultez la documentation sur les Webhooks pour plus d'informations. Après la configuration de votre webhook, nous vous enverrons une notification avec le statut de la transaction à l'URL que vous avez spécifiée lors de l'initiation du paiement.
Consultez notre guide pour apprendre comment sécuriser et valider les notifications de webhook de votre côté.
Voici un exemple de réponse de webhook :
{
"event": "charge.successful",
"data": {
"id": 563,
"authorization": {
"mode": "NONE",
"redirect": null
},
"auth_model": "NONE",
"amount": 50000,
"currency": "XOF",
"fee": 319.39,
"message": "Paiement mobile effectué avec succès",
"status": "success",
"reference": "8778hdd",
"description": "",
"type": "mobile_money",
"customer": {
"name": "Claude",
"email": "[email protected]",
"phoneNumber": "+2217743829322"
},
"settlementDestination": "wallet"
}
}
data = {
"status": True,
"message": "Charge trouvée",
"data": {
"id": 1293,
"authorization": {
"mode": None,
"redirect": None
},
"auth_model": None,
"amount": 50000,
"amountReceived": 0,
"currency": "XOF",
"fee": 1,
"message": "<p>Vous recevrez une demande sur le numéro de mobile <b>221700000000</b>. <br/> Entrez votre code MTN Money pour autoriser votre paiement de <b>XOF 50000</b> vers le compte numéro <b>221700000000</b>. <br/><br/> Si vous ne recevez pas de demande dans les 30 secondes, suivez les instructions",
"status": "success",
"reference": "Mobile Data",
"description": "",
"type": "mobile_money",
"customer": {
"name": "claude",
"email": "[email protected]",
"phoneNumber": None
},
"metadata": {
"phone": "221700000000",
"operator": "MTN money"
},
"settlementDestination": "wallet"
}
}
# Vous pouvez maintenant utiliser le dictionnaire 'data' dans votre code Python
print(data["status"])
print(data["message"])
print(data["data"]["id"])
# Accédez à d'autres champs imbriqués au besoin
Updated about 2 months ago