Aller au contenu

Tous les endpoints

URL de base https://hub.stablezact.com. Préfixez chaque chemin par /api/v1. Consultez Versionnage.

La plupart de ces endpoints nécessitent une authentification. Quelques-uns n’en nécessitent pas, car une page de paiement dans le navigateur du client doit pouvoir les atteindre : /payments/public/{paymentId}, /payments/contract/{chainId}, /deposits/chains, /payments/cross-chain/sources, /currency/rates et /payments/health.

Méthode Chemin Rôle
POST /payments/create créer un paiement
GET /payments/{paymentId} lire un paiement, y compris la progression du versement
GET /payments/{paymentId}/status savoir si le client a payé
GET /payments/status/{paymentId} la même chose, chemin alternatif
GET /payments/public/{paymentId} détails limités, sûrs pour une page de paiement
POST /payments/process soumettre une transaction on-chain pour vérification
POST /payments/fail marquer un paiement comme échoué, annulé ou expiré
POST /payments/verify-qr vérifier un paiement initié par QR code
GET /payments/contract/{chainId} adresse et ABI du contrat pour une chaîne
GET /payments/merchant/list vos paiements, paginés (clé API et secret)
GET /payments/merchant/stats totaux pour votre compte (clé API et secret)
GET /payments/health état du service

La création de paiement est idempotente. Le serveur détermine si une requête est une répétition en utilisant le premier des éléments suivants qu’il trouve :

  1. un en-tête de requête Idempotency-Key, qui est le mécanisme à privilégier
  2. un orderId dans le corps
  3. une empreinte de l’ensemble du corps de la requête

Une nouvelle tentative identique est donc reconnue même si vous n’envoyez ni l’un ni l’autre, mais s’y fier est fragile : modifiez un seul champ et cela devient un nouveau paiement. Envoyez un Idempotency-Key sur toute requête que vous pourriez réessayer.

Idempotency-Key: order-1234-attempt-1

Les clés sont propres à votre compte et à l’endpoint, et les chemins versionné et non versionné partagent une même clé : réessayer sur /api/payments/create après /api/v1/payments/create ne créera donc pas de second paiement.

Un paiement par adresse de dépôt fournit au client une adresse unique à laquelle envoyer les fonds, qui sont ensuite transférés vers votre wallet de règlement.

Méthode Chemin Rôle
POST /deposits/create créer un paiement par adresse de dépôt
GET /deposits/status/{paymentId} statut du dépôt
GET /deposits/balance/{paymentId} ce qui est arrivé jusqu’à présent
GET /deposits/chains chaînes prenant en charge les adresses de dépôt
POST /deposits/refund-request/{paymentId} fournir une adresse pour un remboursement

Pour les clients qui paient depuis une autre chaîne que celle facturée.

Méthode Chemin Rôle
POST /payments/cross-chain/create créer un paiement cross-chain
GET /payments/cross-chain/sources chaînes depuis lesquelles un client peut payer
GET /payments/cross-chain/status/{paymentId} progression du bridge
Méthode Chemin Rôle
GET /networks tous les réseaux pris en charge
GET /networks/payable réseaux pouvant actuellement accepter des paiements
GET /networks/stablecoins tokens pris en charge
GET /networks/payable/stablecoins tokens sur les réseaux pouvant accepter des paiements
GET /currency/rates taux de change utilisés pour la conversion
Méthode Chemin Rôle
GET /api/health le service est-il disponible, non versionné
GET /api/versions versions prises en charge, non versionné

Ces deux endpoints font exception à la règle /api/v1. Vérifier si le service est disponible, et demander quelles versions existent, ne peut pas exiger de connaître une version au préalable. /api/v1/health renvoie 404 à dessein.