Bezahlen, ohne die Seite zu verlassen.
Ein einbettbares JavaScript-Snippet, das den QR-Code oder einen Deep-Link-Button direkt in Ihrem Checkout rendert — drei Zeilen Code, kein Kartenformular, keine Weiterleitung, kein PCI.
Drei Zeilen auf Ihrer Seite, nirgends ein Kartenformular.
Der Server des Händlers erstellt die Zahlung mit serverseitig festgelegtem Betrag. Der Browser hält stets nur eine undurchsichtige paymentId — ein Capability-Token, keinen Preis.
<script src="https://js.miapos.eu/v1/"></script> <div id="mia-pay"></div> <script> miaPOS.mount('#mia-pay', { paymentId, // created server-side; amount is fixed there onSuccess: () => location = '/thank-you', onFail: (e) => console.warn(e.reason), locale: 'ro' | 'ru' | 'en', }); </script>
Das Widget läuft in seinem eigenen Shadow DOM, fragt den Zahlungsstatus ab und löst onSuccess in dem Moment aus, in dem die Bank bestätigt. Das Backend des Händlers erhält parallel einen RSA-signierten Webhook — das ist die maßgebliche Quelle für die Bestellung. Das Schließen des Tabs des Käufers führt nie zum Verlust der Zahlung.
So funktioniert es.
Vom Warenkorb bis zur Bestätigung — auf der eigenen Seite des Händlers.
/pay mit dem geheimen Schlüssel und einem Idempotency-Key. Der Betrag wird hier, im Backend des Händlers, festgelegt. Die Antwort ist eine paymentId.miaPOS.mount('#el', { paymentId, ... }) auf. Das Widget liest den öffentlichen, Capability-beschränkten Checkout-Endpoint und rendert den QR-Code (Desktop) oder einen „In Bank-App bezahlen"-Button (Mobil).onSuccess des Widgets wird parallel ausgelöst, dient aber nur dazu, den Tab des Käufers weiterzuleiten.Ein Snippet, jeder Kanal mit Webview.
Das Snippet ist von Grund auf kanalagnostisch — keine harten Weiterleitungen, keine Cookies, keine Kopplung an window.location. Dasselbe Modul läuft überall dort, wo es ein Webview gibt.
| Kanal | Webview | Snippet läuft | Hinweise |
|---|---|---|---|
| Händler-Website | Browser | Ja — wie es ist | Primärer Anwendungsfall. |
| Telegram | Mini App | Ja — derselbe Code | Das Widget läuft im Webview der Mini App. |
| Instagram & TikTok | Link-out | Ja — auf der Landing Page | Vom Bio-/Live-/Shop-Link zu einer miaPOS-Landing Page, die dasselbe Snippet ausführt. |
| Keines | Nicht im Chat | Meta erlaubt kein In-Chat-Webview. Das Backend wird unverändert über einen CTA-Link zu einer gehosteten Checkout-Seite wiederverwendet. |
Was es ist — und was es nicht ist.
Embed checkout ist einer von zwei E-Commerce-Modi. Sie ergänzen sich, sie konkurrieren nicht.
Es ist
- Ein JavaScript-Snippet, das der Händler in seinem Checkout einbettet
- Eine additive Erweiterung des bestehenden E-Commerce-Protokolls — die Redirect-Plugins funktionieren unverändert weiter
- Ein kanalagnostischer Kern — derselbe Code kann in einer Telegram Mini App laufen
- Nur IP-Schiene — keine Kartendaten, keine PAN, kein 3DS, kein PCI
- Ein Capability-beschränkter Endpoint — der Browser hält stets nur
paymentId
Es ist nicht
- Ein Ersatz für Payment Links — diese decken weiterhin die No-Code-/Rechnungs-/QR-auf-Beleg-Szenarien ab
- Ein Kartenprozessor — es sind zu keinem Zeitpunkt Karten beteiligt
- Eine Seite auf unserer Domain in einem iframe — das Widget rendert seine eigene Benutzeroberfläche
- Die maßgebliche Quelle für die Bestellung — das ist der Webhook im Backend des Händlers
- Ein In-Chat-Erlebnis auf WhatsApp — Meta erlaubt dort kein Webview
„Der schnellste Checkout ist derjenige, der die wenigsten Felder verlangt."
Für Händler, denen ihr Checkout — und ihre Chats — gehören.
Das Embed-Snippet passt dorthin, wo die Marke dem Händler gehört, nicht uns.
D2C-Online-Shops
Halten Sie den Käufer vom Warenkorb bis zur Bestätigung auf der Markenseite. Der Checkout führt nie zu einer Drittanbieter-Domain.
HoReCa & Dienstleistungen
Vorbestellungen, Anzahlungen und Buchungsabläufe im Bot in Telegram Mini Apps — dasselbe Snippet läuft dort.
Digitale Güter
Sofortige Abrechnung, sofortige Freischaltung. Das Widget löst onSuccess aus, sobald die Bank bestätigt.
Social Commerce
Instagram und TikTok Link-out zu einer Landing Page, die dasselbe Snippet ausführt — ein Akzeptanzkern.
Abonnements & SaaS
Wiederkehrende Zahlungen sind schienenabhängig, dort wo das zugrunde liegende IPS sie unterstützt.
Marktplätze & Plattformen
Fügen Sie das Snippet in den Checkout eines Mandanten ein, ohne die Integration pro Mandant zu forken.