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

  1. Den Bestellbetrag und einen Timer für die Gültigkeit der Rechnung.
  2. Die Währungsauswahl – nur Assets der Rechnung, die gerade verfügbar sind.
  3. Nach der Auswahl: QR-Code, exakter Betrag mit Button „Kopieren“, Adresse, Netzwerkhinweis und Link „Im Wallet öffnen“ (BIP21, EIP-681, Solana Pay, TRON).
  4. Der Status aktualisiert sich selbst: „Zahlung erkannt“ → „Bestätigungen 7/20“ → „Zahlung erhalten“.
  5. 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

WoWie
WebsiteWeiterleitung im selben Tab: 303 See Other von Ihrem Server oder location.href
iOSASWebAuthenticationSession oder SFSafariViewController
AndroidChrome Custom Tabs (androidx.browser)
Telegram-BotInline-Button mit Link auf checkout_url
Nicht verwendeniframe, 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_url kö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 Sie GET /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

SituationWas tun
Kunde hat den Tab geschlossenZeigen Sie in der Bestellung einen Link „Zur Zahlung“ auf die checkout_url – die Rechnung gilt bis expires_at
Rechnung abgelaufenNeue 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 AblaufDas Geld ist da, Sie entscheiden: Bestellung ausliefern oder erstatten
AML-PrüfungTeilen Sie mit, dass die Zahlung geprüft wird; warten Sie auf invoice.paid