Aller au contenu principal

Wallet & Finance

Endpoints de recharge via Mobile Money et consultation des transactions.

Authentification requise

Tous les endpoints de cette section nécessitent Authorization: Bearer {token}.


GET /api/user/wallet/transactions/latest​

Retourne les 5 dernières opérations de l'utilisateur (toutes natures confondues).

Réponse 200​

{
"user": {},
"message": "Dernières transactions.",
"data": {
"operations": [
{
"id": 42,
"type": "pack-purchase",
"status": "success",
"payment_method": "orange_money",
"pack_id": 2,
"money_amount": 2500,
"money_operation": "debit",
"credit_amount": 30,
"credit_operation": "credit",
"metadata": {},
"created_at": "2026-03-10T08:00:00.000000Z"
}
]
},
"errors": []
}

GET /api/user/wallet/operations​

Retourne la liste paginée de toutes les opérations avec filtres.

Paramètres (query string)​

ChampTypeObligatoireDescription
typestringNonFiltre par type : pack-purchase, pronostic-debit, …
statusstringNonFiltre par statut : pending, success, cancelled
per_pageintegerNonRésultats par page (défaut : 10, max : 50)
pageintegerNonNuméro de page (défaut : 1)

Réponse 200​

{
"user": {},
"message": "Historique de vos opérations.",
"data": {
"operations": [{ "...": "..." }],
"meta": {
"current_page": 1,
"last_page": 3,
"per_page": 10,
"total": 28,
"has_more": true
}
},
"errors": []
}

POST /api/user/wallet/checkout​

Initie l'achat d'un pack de crédits via Mobile Money (Yabetoo). L'opération est créée en pending et passe automatiquement en success ou cancelled après vérification du paiement.

Paramètres (body JSON)​

ChampTypeObligatoireDescription
pack_idintegerOuiIdentifiant du pack à acheter
phonestringOuiNuméro Mobile Money (format E.164)
methodobjectOuiOpérateur sélectionné avec ses attributs techniques

Exemple​

{
"pack_id": 2,
"phone": "+237690000000",
"method": {
"payload": {
"db_method_type": "orange_money",
"core_method_attribute": "orange"
}
}
}

Réponses​

201 — Commande placée :

{
"user": {},
"message": "Commande placée. Les crédits seront ajoutés dès validation du paiement.",
"data": {
"operation": {
"id": 43,
"type": "pack-purchase",
"status": "pending",
"pack_id": 2,
"money_amount": 2500,
"money_operation": "debit",
"created_at": "2026-03-10T09:00:00.000000Z"
}
},
"errors": []
}

402 — Échec de l'initiation du paiement :

{
"user": {},
"message": "Erreur lors de la tentative de paiement.",
"data": [],
"errors": []
}

422 — Paramètres invalides :

{
"user": null,
"message": "Données invalides.",
"errors": {
"pack_id": ["The selected pack id is invalid."]
}
}