Dokumentation / Integration
Bezahlseite
Die Bezahlseite stellen wir bereit. Ihr Server leitet den Kunden nur dorthin weiter – über die checkout_url aus der Antwort beim Erstellen der Rechnung.
Was der Kunde sieht
- Den Bestellbetrag und einen Timer für die Gültigkeit der Rechnung.
- Die Währungsauswahl – nur Assets der Rechnung, die gerade verfügbar sind.
- Nach der Auswahl: QR-Code, exakter Betrag mit Button „Kopieren“, Adresse, Netzwerkhinweis und Link „Im Wallet öffnen“ (BIP21, EIP-681, Solana Pay, TRON).
- Der Status aktualisiert sich selbst: „Zahlung erkannt“ → „Bestätigungen 7/20“ → „Zahlung erhalten“.
- Den Button „Zurück zum Shop“ – Ihre
return_url.
Solange nichts bezahlt ist, kann der Kunde die Währung wechseln. Nach der ersten Zahlung ist sie festgelegt. Für ein volatiles Asset läuft ein Kurs-Timer (20 Minuten); ist er abgelaufen, werden Betrag und Adresse ausgeblendet.
Die Seite gibt es auf Russisch und Englisch, mit hellem und dunklem Design – je nach Geräteeinstellung.
So öffnen Sie sie
| Wo | Wie |
|---|---|
| Website | Weiterleitung im selben Tab: 303 See Other von Ihrem Server oder location.href |
| iOS | ASWebAuthenticationSession oder SFSafariViewController |
| Android | Chrome Custom Tabs (androidx.browser) |
| Telegram-Bot | Inline-Button mit Link auf checkout_url |
| Nicht verwenden | iframe, WKWebView, WebView: keine Adressleiste (Phishing nicht erkennbar), Wallet-Links funktionieren unzuverlässig. Die Seite verbietet das Einbetten (frame-ancestors 'none') |
Mobile AppsDie App ruft die Coinetic-API nicht direkt auf und speichert kein Schlüssel-Secret – das ließe sich in Minuten aus dem Build extrahieren. Die Rechnung erstellt Ihr Server auf Anfrage der App und gibt ihr nur die
checkout_url zurück.Rückkehr des Kunden
- Der Kunde kann vor der Zahlung, während der Bestätigungen oder gar nicht zurückkehren. Ihre Bestellseite darf sich darauf nicht verlassen.
- In der
return_urlkönnen Sie die Bestellnummer mitgeben, aber den Status lesen Sie aus Ihrer eigenen Datenbank – die aktualisiert der Webhook. Ist die Bestellung noch nicht bezahlt, prüfen SieGET /v1/invoices/{id}. - Für Apps übergeben Sie einen universellen Link (Universal Links / App Links):
https://shop.example/app/orders/ORDER-1001. Eigene Schemata (myapp://) werden nicht akzeptiert.
Typische Situationen
| Situation | Was tun |
|---|---|
| Kunde hat den Tab geschlossen | Zeigen Sie in der Bestellung einen Link „Zur Zahlung“ auf die checkout_url – die Rechnung gilt bis expires_at |
| Rechnung abgelaufen | Neue Rechnung mit neuer order_id (z. B. ORDER-1001-2) und neuem Idempotency-Key |
| Unterzahlung | „Zahlen Sie den Rest an dieselbe Adresse“ – die Bezahlseite zeigt den offenen Betrag an |
| Zahlung nach Ablauf | Das Geld ist da, Sie entscheiden: Bestellung ausliefern oder erstatten |
| AML-Prüfung | Teilen Sie mit, dass die Zahlung geprüft wird; warten Sie auf invoice.paid |