Gestion des Ordres de Paiement
Vue d'ensemble
Cette section présente l'API de gestion des ordres de paiement, qui constitue le point de départ de tout processus de transaction dans le système. Elle permet la création, la gestion et le suivi des demandes de paiement entre les plateformes marchandes et leurs clients.
Fonctionnalités couvertes
Notre API d'ordres de paiement propose une solution flexible pour :
Création d'ordres
- Génération d'ordres de paiement standards avec montant fixe
- Création d'ordres via liens de paiement (paylink) pour un partage facilité
- Support de montants optionnels pour une flexibilité client
- Configuration des URLs de redirection (succès/échec)
Gestion des flux de paiement
- Confirmation des paiements avec validation des identifiants de transaction
- Récupération des détails d'ordres via slugs publics
- Intégration avec les plateformes marchandes
- Support multidevise et notifications personnalisables
Types d'ordres supportés
- Ordres standards : pour les intégrations directes avec checkout
- Paylinks : pour le partage de liens de paiement par email, SMS ou réseaux sociaux
- Support des dates d'expiration configurables
Architecture et workflow
L'API suit un workflow en trois étapes principales :
- Création : génération de l'ordre avec ses paramètres (
POST /api/v1/order
) - Traitement : l'utilisateur effectue le paiement via l'interface générée
- Confirmation : validation finale avec les identifiants de transaction (
POST /api/v1/order/confirm
)
Chaque ordre est identifié par un slug unique et reste accessible publiquement pour consultation des détails et statuts de paiement.
| Action | Endpoint |
|---|---|
| POST | /api/v1/order |
| POST | /api/v1/order/paylink |
| POST | /api/v1/order/confirm |
| GET | /api/v1/order/by-slug/{slug}
|
Creation d'order de paiement
Endpoint: POST /api/v1/order
Crée un ordre de paiement.
Exemple de Requête
{
"amount": 5000,
"currency": "USD",
"reference": "ORD-1001",
"notifyBy": "EMAIL",
"successURL": "https://app.com/success",
"failureURL": "https://app.com/failure"
}
Exemple de Réponse
{
"message": "Ordre créé",
"body": {
"paymentId": "abc123",
"url": "https://pay.com/abc123"
}
}
Création d'un ordre de paiement par lien
Endpoint: POST /api/v1/order/paylink
Crée un ordre de paiement par lien avec des articles optionnels.
Exemple de Requête
{
"amount": 5000,
"currency": "USD",
"reference": "ORD-1001",
"notifyBy": "EMAIL",
"successURL": "https://app.com/success",
"failureURL": "https://app.com/failure"
}
Exemple de Réponse
{
"message": "Ordre créé",
"body": {
"paymentId": "abc123",
"url": "https://pay.com/abc123"
}
}
Confirmation d'un ordre de paiement
Endpoint: POST /api/v1/order/confirm
Confirme le paiement en utilisant l'identifiant de paiement et l'identifiant de transaction.
Exemple de Requête
{
"paymentId": "TR558-7654-00432",
"transactionId": "54556765",
"platformReference": "TGFR44356"
}
Exemple de Réponse
{
"message": "success message",
"body": {}
}
Récupération d'un ordre de paiement par slug
Endpoint: GET /api/v1/order/by-slug/{slug}
Récupère les détails d'un ordre de paiement public à l'aide de son slug.
Paramètres de la requête
Orderslug
: slug de l'order de paiement
Réponse
{
"message": "succes message",
"body": {
"slug": "3345-00900-6666",
"status": "PENDING",
"paymentType": "PAY_LINK",
"amount": 0,
"currency": "CFA",
"langKey": "fr",
"metaData": "string",
"expirationDate": "2025-06-01T00:26:53.634Z",
"paymentLinks": [
{
"slug": "3345-00900-6666",
"url": "example@ingenovatech.com",
"status": "PENDING",
"amount": 0
}
],
"subscribedPaymentMethods": [
{
"slug": "3345-00900-6666",
"url": "example@ingenovatech.com",
"status": "PENDING",
"amount": 0
}
],
"platform": {
"slug": "4454-6612-9909",
"name": "louverture",
"image": "string",
"reference": "443NNK",
"url": "example@ingenovatech.com",
"description": "platform",
"status": "ACTIVATED",
"metaData": "string"
},
"successURL": "example@ingenovatech.com",
"failureURL": "example@ingenovatech.com",
"optionalAmount": true
}
}