Ga naar inhoud

Alle endpoints

Basis-URL https://hub.stablezact.com. Zet /api/v1 voor elk pad. Zie Versiebeheer.

De meeste hiervan vereisen authenticatie. Een paar niet, omdat een checkoutpagina in de browser van de klant ze moet kunnen bereiken: /payments/public/{paymentId}, /payments/contract/{chainId}, /deposits/chains, /payments/cross-chain/sources, /currency/rates en /payments/health.

Methode Pad Doel
POST /payments/create een betaling aanmaken
GET /payments/{paymentId} een betaling opvragen, inclusief de voortgang van de uitbetaling
GET /payments/{paymentId}/status heeft de klant betaald
GET /payments/status/{paymentId} hetzelfde, alternatief pad
GET /payments/public/{paymentId} beperkte details, veilig voor een checkoutpagina
POST /payments/process een on-chain transactie indienen voor verificatie
POST /payments/fail een betaling markeren als mislukt, geannuleerd of verlopen
POST /payments/verify-qr een via QR gestarte betaling verifiëren
GET /payments/contract/{chainId} contractadres en ABI voor een chain
GET /payments/merchant/list uw betalingen, gepagineerd (API-sleutel en secret)
GET /payments/merchant/stats totalen voor uw account (API-sleutel en secret)
GET /payments/health status van de dienst

Het aanmaken van een betaling is idempotent. De server bepaalt of een request een herhaling is aan de hand van het eerste van de volgende dat hij vindt:

  1. een request-header Idempotency-Key, het mechanisme dat de voorkeur heeft
  2. een orderId in de body
  3. een fingerprint van de volledige requestbody

Een identieke nieuwe poging wordt dus herkend, ook als u geen van beide meestuurt, maar daarop vertrouwen is fragiel: wijzig één veld en het wordt een nieuwe betaling. Stuur een Idempotency-Key mee bij alles wat u mogelijk opnieuw probeert.

Idempotency-Key: order-1234-attempt-1

Sleutels gelden per account en per endpoint, en het pad met versie en het pad zonder versie delen een sleutel, dus opnieuw proberen via /api/payments/create na /api/v1/payments/create maakt geen tweede betaling aan.

Een betaling via depositoadres geeft de klant een uniek adres om naar te sturen, en het geld wordt doorgestuurd naar uw afwikkelingswallet.

Methode Pad Doel
POST /deposits/create een betaling via depositoadres aanmaken
GET /deposits/status/{paymentId} status van de deposit
GET /deposits/balance/{paymentId} wat er tot nu toe is aangekomen
GET /deposits/chains chains die depositoadressen ondersteunen
POST /deposits/refund-request/{paymentId} een adres opgeven voor een terugbetaling

Voor klanten die betalen vanaf een andere chain dan de gefactureerde.

Methode Pad Doel
POST /payments/cross-chain/create een cross-chainbetaling aanmaken
GET /payments/cross-chain/sources chains waarvandaan een klant kan betalen
GET /payments/cross-chain/status/{paymentId} voortgang van de bridge
Methode Pad Doel
GET /networks alle ondersteunde netwerken
GET /networks/payable netwerken die momenteel betalingen kunnen accepteren
GET /networks/stablecoins ondersteunde tokens
GET /networks/payable/stablecoins tokens op netwerken die betalingen kunnen accepteren
GET /currency/rates wisselkoersen die voor omrekening worden gebruikt
Methode Pad Doel
GET /api/health of de dienst actief is, niet geversioneerd
GET /api/versions ondersteunde versies, niet geversioneerd

Die twee zijn de uitzondering op de /api/v1-regel. Om te controleren of de dienst actief is, en om te vragen welke versies er bestaan, kan niet worden vereist dat u al een versie kent. /api/v1/health retourneert bewust 404.