Modal-Fenster

Zahlungsseite in einem Modal-Fenster öffnen.

Mit dem Modal-Fenster zeigst du eine zahls.ch-Zahlungsseite in einem weissen Modal an. Kopiere die Code-Snippets auf deine Website.

Integration

Beispiele

Zwei Beispiele für zahls.ch-Modal-Integrationen. Für die Einbindung müssen zwei Dateien im HTML eingebunden werden:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js" integrity="sha512-bLT0Qm9VnAYZDflyKcBaQ2gg0hSYNQrJ8RilYldYQ1FxQYoCLtUjuuRuZo+fjqhx/qtq/1itJ0C2ejDxltZVFg==" crossorigin="anonymous"></script>
<script type="text/javascript" src="https://media.zahls.ch/modal/v1/modal.min.js"></script>

Zahlungsseite aus dem Pages-Tool

<a class="zahls-modal-window" href="#"
    data-href="https://{INSTANCE_NAME}.zahls.ch/pay?tid={PAYMENT_TEMPLATE_ID}">
    Open modal window
</a>
<script type="text/javascript">
    jQuery(".zahls-modal-window").zahlsModal();
</script>
  • INSTANCE_NAME – Name der Zahlungsinstanz
  • PAYMENT_TEMPLATE_ID – Seiten-ID einer Zahlungsseite: Pages-Tool

Zahlungsseite mit Terminal

<a class="zahls-modal-window" href="#"
    data-href="https://{INSTANCE_NAME}.zahls.ch/vpos">
    Open modal window
</a>
<script type="text/javascript">
    jQuery(".zahls-modal-window").zahlsModal();
</script>
  • INSTANCE_NAME – Name der Zahlungsinstanz

Weitere Integrationen mit Tools

Mehrere Pay-Buttons

Bei mehreren Buttons für das zahls.ch-Modal passt du den Standardcode wie folgt an:

Ersetze in allen Links/Buttons das Attribut:
id="btn-zahls-modal" durch class="btn-zahls-modal"

und ersetze den JavaScript-Code durch

jQuery(".btn-zahls-modal").each(function() {    
    jQuery(this).zahlsModal();
});

Damit wird das zahls.ch-Modal auf allen Links/Buttons mit der Klasse «btn-zahls-modal» initialisiert.

Erweitert

ParameterTypeDefault
hideObjectsArray[]
showFunctionfunction(e)
shownFunctionfunction()
hideFunctionfunction(transaction)
hiddenFunctionfunction(transaction)

Willst du den gesamten Kontaktbereich der Zahlungsvorlage ausblenden, kannst du den Parameter hideObjects setzen:

jQuery(".zahls-modal-window").zahlsModal({
    hideObjects: ['#contact-details', '.contact']
});

Nach einer erfolgreichen Transaktion soll eine neue Seite erscheinen, z. B. eine Danke-Seite – dann kannst du eine eigene hidden-Funktion definieren:

jQuery(".zahls-modal-window").zahlsModal({
    hidden: function(transaction) {
        location.href = "http://mywebsite.com/thank-you-for-your-payment";
    }
});

Du musst ein Formular validieren, bevor das zahls.ch-Modal öffnet, hast das Modal aber am Submit-Button initialisiert – dann kannst du eine eigene show-Funktion setzen:

jQuery(".zahls-modal-window").zahlsModal({
    show: function(e) {
        if (validateMyForm()) {
            return true;
        }
        return e.preventDefault();
    }
});