Der Client wird über das Entase-CDN als einzelne Datei bereitgestellt. Es gibt kein npm-Paket, kein zu erstellendes Bundle und keine Abhängigkeit, die aktuell gehalten werden muss – Sie erhalten immer die aktuelle Version.
<script src="https://js.entase.com/client.js"></script>Durch das Laden des Skripts wird eine globale Klasse Entase definiert. Darüber hinaus geschieht nichts von selbst: keine Netzwerkanfragen, keine DOM-Änderungen, keine gerenderten Inhalte. Alles beginnt, wenn Sie eine Instanz erstellen.
Eine Instanz erstellen
const entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY' });Erstellen Sie eine Instanz pro Seite und verwenden Sie sie für jedes Event wieder. Der Konstruktor registriert einen message-Listener auf dem Window und beginnt zu erkennen, welchen Checkout-Modus Ihre Domain verwenden darf. Mehrere Instanzen bedeuten daher doppelte Listener und doppelte Erkennungsaufrufe ohne Nutzen.
Jede Option hat einen Standardwert, daher ist new Entase() ohne Argumente gültig – ohne pk kann der Client jedoch nicht prüfen, ob Ihre Domain den Inline-Checkout verwenden darf, und greift immer auf ein Pop-up-Fenster zurück. Siehe Checkout-Modi.
Das Skript asynchron laden
Wenn Sie client.js mit async oder defer laden, existiert die Klasse noch nicht, wenn Ihr Inline-Skript ausgeführt wird. Die Bibliothek löst auf window nach dem Laden ein entase:ready-Event aus. Warten Sie daher darauf:
<script src="https://js.entase.com/client.js" async></script>
<script>
let entase = null;
const init = () => { entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY' }); };
if (typeof Entase !== 'undefined') init();
else window.addEventListener('entase:ready', init);
</script>Die typeof-Prüfung muss zuerst erfolgen: Wenn das Skript bereits vollständig geladen wurde, wurde entase:ready schon ausgelöst, und ein Listener dafür würde endlos warten.
Aufräumen
Rufen Sie in einer Single-Page-Anwendung destroy() auf, wenn die Ansicht, zu der die Instanz gehört, ausgehängt wird:
entase.destroy();Dadurch werden die vom Client registrierten Window-Listener entfernt. Eine zerstörte Instanz kann nicht wiederverwendet werden – ein Aufruf von book() darauf protokolliert einen Fehler und bewirkt nichts. Erstellen Sie stattdessen eine neue Instanz.
Content Security Policy
Wenn Ihre Website einen Content-Security-Policy-Header sendet, benötigt der Checkout Folgendes:
script-src https://js.entase.com– zum Laden der Bibliothek.frame-src https://www.entase.com– der Checkout wird im Pane-Modus in einem iframe gerendert.connect-src https://www.entase.com– der Client ruft die Entase-API auf, um den zulässigen Checkout-Modus zu bestimmen.
Ohne frame-src erzeugt der Pane-Modus ein leeres Panel. Ohne connect-src schlägt die Moduserkennung fehl und jeder Checkout wird als Pop-up geöffnet.