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.
Paiements
Section intitulée « Paiements »| 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 |
Réessayer en toute sécurité
Section intitulée « Réessayer en toute sécurité »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 :
- un en-tête de requête
Idempotency-Key, qui est le mécanisme à privilégier - un
orderIddans le corps - 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-1Les 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.
Adresses de dépôt
Section intitulée « Adresses de dépôt »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 |
Cross-chain
Section intitulée « Cross-chain »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 |
Réseaux et taux
Section intitulée « Réseaux et taux »| 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.
