Chargement de vos clés API…

Idempotence

Éviter les doubles paiements en cas de retry réseau.

Pourquoi c'est crucial

Une requête de paiement peut échouer côté réseau alors que le paiement a déjà été traité côté serveur. Si vous re-tentez sans précaution, vous risquez de débiter votre client deux fois. La clé d'idempotence permet à Mobupay de reconnaître une requête déjà traitée et de renvoyer la même réponse — sans créer de doublon.

Comment l'utiliser

Ajoutez le header Idempotency-Key avec un identifiant unique pour cette opération (UUID v4 recommandé) :

curl -X POST https://api.mobupay.nc/api/v1/payments/sessions \
  -H "Authorization: Bearer sk_test_VOTRE_CLE" \
  -H "Idempotency-Key: 7c3f4a8e-2b81-4d9a-b76e-fc1e3f2a4b89" \
  -H "Content-Type: application/json" \
  -d '{ ... }'

Si vous renvoyez la même clé pour la même requête dans les 24h, Mobupay retournera la réponse de la première exécution (sans ré-exécuter).

Quelles routes le supportent

  • POST /payments/sessions
  • POST /payments/direct
  • POST /payments/links
  • POST /payments/:id/capture
  • POST /payments/:id/refund
  • POST /customers
  • POST /customers/:id/sessions
  • POST /payment-methods

Les autres routes (GET, DELETE) sont nativement idempotentes — pas besoin de header.

Bonnes pratiques

  • Générer la clé côté client au moment de l'action utilisateur (clic sur "Payer"), pas au moment de chaque retry. Sinon le retry crée une nouvelle clé et perd la protection.
  • Stocker la clé en BD avec la transaction métier associée. Permet de la réutiliser sur les retries automatiques.
  • Format recommandé : UUID v4 (36 caractères) ou un hash déterministe (ex : SHA256(orderId + userId + timestamp)).
  • Durée de validité : 24h. Au-delà, la clé est purgée et réutilisable pour une nouvelle requête.
  • Erreurs : si vous envoyez la même clé avec un body différent, vous recevez une erreur 409 IDEMPOTENCY_KEY_CONFLICT.