Intégrez l'API Wassy Connect en quelques minutes. Base de l'API :
https://connect.prp.aydou.com/v1
# 1. Créer un payment intent (montant en XOF) curl -u "$WASSY_SECRET_KEY:" https://connect.prp.aydou.com/v1/payment_intents \ -d amount=5000 \ -d currency=XOF \ -d description="Commande #1234" # 2. Confirmer (pose le hold) curl -u "$WASSY_SECRET_KEY:" https://connect.prp.aydou.com/v1/payment_intents/PI-xxxx/confirm # 3. Capturer (mouvement définitif) curl -u "$WASSY_SECRET_KEY:" https://connect.prp.aydou.com/v1/payment_intents/PI-xxxx/capture
Chaque requête est authentifiée par votre clé secrète, passée en Basic Auth
(la clé comme identifiant, mot de passe vide) ou en en-tête
Authorization: Bearer. Le préfixe indique l'environnement :
sk_live_ (Production) ou sk_sandbox_ (Sandbox).
# Basic Auth : la clé secrète comme identifiant, mot de passe vide curl -u "sk_sandbox_xxx_yyy:" https://connect.prp.aydou.com/v1/payment_intents/PI-xxxx # ou en Bearer curl -H "Authorization: Bearer sk_sandbox_xxx_yyy" https://connect.prp.aydou.com/v1/payment_intents/PI-xxxx
Ne divulguez jamais votre clé secrète côté client. Une clé compromise doit être révoquée immédiatement depuis la console.
Un payment intent suit le cycle
created → authorized → captured (ou canceled /
failed). L'autorisation pose un hold ; la capture est le seul
mouvement définitif.
| Méthode | Endpoint | Description |
|---|---|---|
| POST | /v1/payment_intents | Créer |
| GET | /v1/payment_intents/:id | Récupérer |
| POST | /v1/payment_intents/:id/confirm | Autoriser (hold) |
| POST | /v1/payment_intents/:id/capture | Capturer |
| POST | /v1/payment_intents/:id/cancel | Annuler |
curl -u "$WASSY_SECRET_KEY:" https://connect.prp.aydou.com/v1/payment_intents \
-d amount=5000 \
-d currency=XOF \
-d capture_method=manual \
-d description="Abonnement"
# Réponse
{
"id": "PI-xxxx",
"object": "payment_intent",
"status": "created",
"amount": "5000",
"currency": "XOF",
"capture_method": "manual"
}
Enregistrez une URL HTTPS pour recevoir les événements. Chaque livraison est
signée HMAC-SHA256 sur timestamp.body et l'en-tête
X-Wassy-Signature: sha256=… permet de la vérifier. Les livraisons
sont relancées automatiquement en cas d'échec.
| Méthode | Endpoint | Description |
|---|---|---|
| POST | /v1/webhook_endpoints | Enregistrer (secret révélé une fois) |
| GET | /v1/webhook_endpoints | Lister |
curl -u "$WASSY_SECRET_KEY:" https://connect.prp.aydou.com/v1/webhook_endpoints \
-d url=https://monapp.com/webhooks/wassy \
-d "events[]=payment_intent.succeeded" \
-d "events[]=payment_intent.failed"
# Le secret de signature n'est renvoyé QU'À la création :
{ "id": "WHE-xxxx", "object": "webhook_endpoint", "secret": "whsec_..." }
Passez un idempotency_key unique par opération : rejouer la même
requête avec la même clé ne crée pas de doublon. L'unicité est garantie par
(environnement, clé).
curl -u "$WASSY_SECRET_KEY:" https://connect.prp.aydou.com/v1/payment_intents \ -d amount=5000 \ -d currency=XOF \ -d idempotency_key=ord_1234_attempt_1
| Statut | Signification |
|---|---|
| 201 / 200 | Succès (création / lecture) |
| 202 | Accepté — traitement asynchrone, issue par webhook |
| 401 | Clé API invalide ou révoquée |
| 402 | Paiement refusé (fonds/hold) |
| 404 | Ressource introuvable dans cet environnement |
| 422 | Requête invalide (statut incompatible, expiré, validation) |
Besoin d'aller plus loin ? La console développeur fournit une documentation pré-remplie avec vos clés et environnements. Ouvrir dans la console →