AtelierAPI de paiement · v1
IntroductionAuthentificationFrais & servicesCréer un paiementVérifier un paiementLister les paiementsWebhooksCodes d'erreur

Introduction

L'API de paiement Atelier vous permet d'encaisser des paiements mobile money et carte bancaire depuis votre propre site ou application, en Afrique de l'Ouest et au-delà. Créez une clé API depuis votre tableau de bord, puis appelez nos endpoints REST.

URL de base

https://myateliers.store/api/public/v1

Toutes les réponses sont en JSON et les montants sont exprimés en XOF (entiers, sans décimales).

Authentification

Chaque requête doit inclure votre clé API secrète. Elle est visible une seule fois à sa création : conservez-la côté serveur, ne l'exposez jamais dans du code client.

Authorization: Bearer atl_live_xxxxxxxxxxxxxxxxxxxx
Content-Type: application/json

L'en-tête X-API-Key est également accepté.

Frais & services

Pour l'utilisation via API, les frais de service sont de 10 % du montant, prélevés automatiquement sur chaque transaction réussie. Le champ net indique le montant qui vous revient.

ServiceMoyens de paiement
service_1Mobile money et carte bancaire
service_2Mobile money et carte bancaire

Créer un paiement

POST /v1/payments

curl -X POST https://myateliers.store/api/public/v1/payments \
  -H "Authorization: Bearer atl_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 5000,
    "description": "Commande #1024",
    "customer": {
      "name": "Awa Kone",
      "email": "awa@example.com",
      "phone": "+2250700000000"
    },
    "return_url": "https://monsite.com/merci",
    "callback_url": "https://monsite.com/webhooks/atelier",
    "metadata": { "order_id": "1024" }
  }'

Réponse 201 :

{
  "success": true,
  "data": {
    "reference": "ATLM3F2K9XA1B2",
    "checkout_url": "https://myateliers.store/pay/ATLM3F2K9XA1B2",
    "amount": 5000,
    "fee": 500,
    "net": 4500,
    "currency": "XOF",
    "service": "service_1",
    "status": "pending"
  }
}

Redirigez ensuite votre client vers checkout_url. À la fin du paiement, il est renvoyé sur votre return_url.

Vérifier un paiement

GET /v1/payments/{reference}

curl https://myateliers.store/api/public/v1/payments/ATLM3F2K9XA1B2 \
  -H "Authorization: Bearer atl_live_xxx"
{
  "success": true,
  "data": {
    "reference": "ATLM3F2K9XA1B2",
    "status": "paid",
    "amount": 5000,
    "fee": 500,
    "net": 4500,
    "currency": "XOF",
    "customer": { "name": "Awa Kone", "email": "awa@example.com", "phone": "+2250700000000" },
    "metadata": { "order_id": "1024" },
    "created_at": "2026-01-05T10:00:00.000Z",
    "paid_at": "2026-01-05T10:02:11.000Z"
  }
}

Statuts possibles : pending, paid, failed.

Lister les paiements

GET /v1/payments?limit=20

curl "https://myateliers.store/api/public/v1/payments?limit=20" \
  -H "Authorization: Bearer atl_live_xxx"

Webhooks

Si vous fournissez un callback_url, nous y envoyons une requête POST dès que le paiement est confirmé ou échoue.

{
  "event": "payment.success",
  "data": {
    "reference": "ATLM3F2K9XA1B2",
    "status": "paid",
    "amount": 5000,
    "fee": 500,
    "net": 4500,
    "currency": "XOF",
    "service": "service_1",
    "customer": { "name": "Awa Kone", "email": "awa@example.com", "phone": "+2250700000000" },
    "metadata": { "order_id": "1024" }
  }
}

⚠️ Sécurité

Les webhooks ne sont pas encore signés. Vous DEVEZ impérativement vérifier le statut final via l'endpoint GET /v1/payments/{reference} dès réception avant de délivrer votre produit ou service.

Codes d'erreur

HTTPCodeSignification
400invalid_jsonCorps de requête illisible
401unauthorizedClé API absente, invalide ou révoquée
404not_foundTransaction introuvable
422validation_errorParamètre manquant ou invalide
502payment_errorLe service de paiement a refusé la demande

Prêt à démarrer ?

Générez votre clé API en quelques secondes depuis votre tableau de bord et commencez à encaisser.