Demandes de paiement
Demander un paiement à un client. Renvoie une URL de checkout (gateway_url) à partager au client.
Flow complet
1. POST /payment-requests → 202 + operation_id
2. Worker crée Transaction PENDING
3. Webhook payment_request.created → result.gateway_url disponible
4. Tu redirigeas le client vers gateway_url (ou tu lui envoies par email/SMS)
5. Le client paie via le gateway
6. Webhook payment_request.paid|pending|failed selon le résultatRequête
POST /v1/payment-requests
X-Api-Key: …
X-Timestamp: …
X-Signature: …
Idempotency-Key: pr-order-4521-attempt-1
Content-Type: application/jsonBody
{
"invoice": {
"amount": 12000,
"currency": "XOF",
"description": "Commande #4521",
"customer": {
"email": "[email protected]",
"first_name": "Ada",
"last_name": "Lovelace",
"phone": "22961234567"
}
},
"payment_method": {
"code": "MTN_BENIN_229",
"country_code": "BJ",
"msisdn": "22961234567"
},
"return_urls": {
"success": "https://shop.example.com/ok",
"cancel": "https://shop.example.com/no"
},
"webhook_data": { "order_id": "4521" }
}Validation
Champ
Obligatoire
Règles
Réponse 202 Accepted
202 AcceptedRésultat final (op.result après payment_request.created)
payment_request.created)Champ
Description
Événements webhook
Événement
Quand
Cas d'usage typiques
E-commerce — checkout immédiat
Facture par email
QR à scanner en boutique
Erreurs
Code
Cas
Voir aussi
Mis à jour