Öffentlicher Katalog

GET /api/v1/catalog liefert den ausgewählten Dienst- und Länderkatalog. Dies sind beschreibende Daten, kein Live-Bestandsfeed eines Anbieters. GET /openapi.json beschreibt die aktuellen HTTP-Endpunkte. Anbieter-Zugangsdaten werden niemals an den Browser gesendet.

Benutzergebundene Angebote

POST /api/v1/quotes akzeptiert Dienst und Land aus einer authentifizierten Sitzung derselben Origin. Angebote gehören diesem Benutzer und laufen nach 60 Sekunden ab. Ihr USD-Betrag wird serverseitig anhand geprüfter Ausgangswährungsumrechnung, Aufschlag und Mindestverkaufspreis berechnet.

Idempotente Bestellungen

POST /api/v1/orders akzeptiert quoteId und Idempotency-Key. Eine Wiederholung mit demselben Schlüssel liefert dieselbe Bestellung, statt eine weitere Nummer zu kaufen. Die Geldbörsenreservierung wird atomar verbucht. Eine unklare Anbieterantwort hält die Bestellung zur Prüfung zurück; sie löst keinen automatischen zweiten Kauf aus.

Status und Abschluss

GET /api/v1/orders/{id} liest eine eigene Bestellung und ihren SMS-Status. POST an denselben Endpunkt mit der Aktion finish oder cancel fordert einen Statuswechsel an. Der Server erzwingt die anfängliche Stornierungssperre von 120 Sekunden und verbucht eine Erstattung einmalig, nachdem der Anbieter die Stornierung bestätigt hat.

Zahlungsbestätigung

Stripe Checkout schreibt der passenden Live- oder Testgeldbörse erst nach verifiziertem Webhook und authentifizierter Zahlungsprüfung Guthaben gut. Die bereitgestellten Live- und Testschlüssel gehören zu unterschiedlichen Stripe-Konten; Schlüssel, Endpunktgeheimnisse und Einzahlungen bleiben daher getrennt. NOWPayments verwendet eine verifizierte IPN, Rechnungszuordnung und Prüfung einer endgültigen Zahlung mit ±0,50 % Betragstoleranz. Eine erfolgreiche Browserweiterleitung ist niemals Zahlungsnachweis.

Zugriff und Verfügbarkeit

Hauptseite und Katalog sind öffentlich. Geldbörsen, Angebote und Bestellungen erfordern Authentifizierung und Eigentumsprüfungen. Live-Aktionen hängen von konfigurierten Zugangsdaten, Anbieterzugriff und verifizierten Bestätigungen ab; API-Beispiele behaupten nicht, dass ein bezahlter Kauf oder der vollständige Zahlungszyklus bereits validiert wurde.

GET /api/v1/catalog
GET /api/v1/offers?service=whatsapp&country=usa

POST /api/v1/quotes
Content-Type: application/json
{"service":"whatsapp","country":"usa"}

POST /api/v1/orders
Idempotency-Key: <unique-request-key>
{"quoteId":"<owned-unexpired-quote-id>"}

GET /api/v1/orders/<order-id>
POST /api/v1/orders/<order-id>
{"action":"cancel"}
Zum Dashboard zurück