> ## Documentation Index
> Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt
> Use this file to discover all available pages before exploring further.

# TWINT

> Wie Sie die Schweizer Bezahl-App TWINT über Computop in WEBSALE V8s einrichten, auf die Schweiz eingrenzen und testen.

TWINT ist eine in der Schweiz verbreitete Bezahl-App. Der Käufer bezahlt mit dem Smartphone, entweder indem er einen QR-Code scannt oder indem sich die App auf demselben Gerät direkt öffnet.

Angebunden wird TWINT über Computop. Wenn Sie bereits andere Zahlungsarten über Computop abwickeln, ist die Grundlage damit schon vorhanden und es bleibt wenig zu tun.

Wegweiser: [Computop](https://dokumentation.websale.de/v8s/zahlungsarten-anlegen/computop.md)

## Wie der Bezahlvorgang abläuft

1. Der Käufer wählt TWINT und löst die Bestellung aus.
2. Der Shop leitet ihn auf die Zahlungsseite von TWINT. Dort erscheint ein QR-Code zum Scannen, oder die App öffnet sich von selbst.
3. Der Käufer bestätigt die Zahlung in der App.
4. Er kehrt in den Shop zurück und sieht die Bestelleingangsbestätigung `ws_confirm.htm`.

## Voraussetzungen

Nötig sind drei Dinge in dieser Reihenfolge:

1. ein Händlervertrag mit Computop
2. die Registrierung Ihres Shops bei TWINT über das TWINT-Portal
3. die Weitergabe der dabei vergebenen Shop-UUID an Computop

Für die Freischaltung durch WEBSALE brauchen Sie anschließend die Zugangsdaten von Computop, unter anderem UUID, HMAC-Schlüssel und MerchantID.

Ist die Zahlungsart nicht durch WEBSALE freigeschaltet, schaltet der Shop sie von sich aus wieder ab, unabhängig davon, was in `Allow` steht.

## Zahlungsart anlegen

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<PaymentTWINT-Txt>
   Allow            = yes
   TestMode         = yes
   Name             = TWINT
   NameSuffix       = Bequem und sicher mit dem Smartphone bezahlen.
   Img              = logo-twint.png
   RadioOnClick     = selectPayment('~ID~');
   ImgOnClick       = selectPaymentImage('~ID~');
   DelivererID-List = standard,express

   BillCountry-Rule = AllowCountries
   BillCountry-List = CHE
</PaymentTWINT-Txt>
```

Der Abschnitt kennt keine eigenen Parameter. Alles, was Sie hier einstellen, sind die allgemeinen Zahlungsart-Parameter.

> [!WARNING]
>
> TWINT steht nur Kunden in der Schweiz zur Verfügung. Grenzen Sie die Zahlungsart deshalb über `BillCountry-Rule` und `BillCountry-List` auf `CHE` ein. Ohne diese Eingrenzung bieten Sie die Zahlungsart auch dort an, wo sie niemand nutzen kann, und der Käufer scheitert erst auf der Seite von TWINT.

Referenz: [Abschnitt PaymentTWINT-Txt](https://dokumentation.websale.de/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/zahlungsarten.md#ohne-eigene-parameter) · [Abschnitt PaymentXXX-Txt](https://dokumentation.websale.de/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/zahlungsarten.md)

## Hinweismeldungen

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<NotifyMessages-Txt>
   TWINT-ClearingError  = Derzeit kann keine Zahlung mit TWINT durchgeführt werden. Bitte wählen Sie eine andere Zahlungsart.
   TWINT-ClearingCancel = Sie haben den Bezahlvorgang mit TWINT abgebrochen. Um fortzufahren, wählen Sie bitte eine andere Zahlungsart.
   TWINT-ClearingDeny   = Die Transaktion mit TWINT wurde abgelehnt. Bitte prüfen Sie Ihre Eingaben und versuchen Sie es erneut.
</NotifyMessages-Txt>
```

| Meldung | Wann sie erscheint |
| - | - |
| `TWINT-ClearingError` | Die Anbindung ist gestört oder TWINT ist nicht erreichbar |
| `TWINT-ClearingCancel` | Der Käufer hat den Vorgang in der App abgebrochen |
| `TWINT-ClearingDeny` | TWINT hat die Transaktion abgelehnt |

Der Abbruch ist bei einer Bezahl-App der häufigste der drei Fälle, denn der Käufer wechselt das Gerät und kommt manchmal nicht zurück. Formulieren Sie `TWINT-ClearingCancel` deshalb freundlich und ohne Fehlerton, es ist kein Fehler.

Referenz: [Abschnitt NotifyMessages-Txt](https://dokumentation.websale.de/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/texte-und-meldungen.md#notifymessages-txt)

## Die Abbuchung erfolgt zeitversetzt

Bei TWINT trennt der Shop Freigabe und Abbuchung. Zum Zeitpunkt der Bestellung liegt die Freigabe des Käufers vor, die eigentliche Abbuchung stößt der Shop erst danach an, in einem eigenen Vorgang neben dem Bestellablauf.

Scheitert dieser Vorgang, versucht der Shop es bis zu dreimal, mit wachsendem Abstand. Insgesamt stehen dafür rund drei Minuten zur Verfügung. Bleibt auch der dritte Versuch erfolglos, wird das als schwerer Fehler protokolliert.

> [!WARNING]
>
> Für den Käufer ist die Bestellung in diesem Fall abgeschlossen, das Geld ist aber nicht abgebucht. Sie erfahren davon nur über das Protokoll. Klären Sie mit Ihrer Warenwirtschaft, wie solche Bestellungen erkannt und behandelt werden, bevor Sie die Zahlungsart produktiv schalten.

## Auswahl im Bestellablauf

TWINT erscheint zusammen mit allen anderen Zahlungsarten über `~WS-PaymentFields~` auf der Zahlungs- und Versandartenseite `ws_pay_deliv.htm`. Das Tag gehört innerhalb des Formulars `<form action="~Form-PayDeliv~">`. Eigene Tags oder Template-Anpassungen braucht es nicht.

Wegweiser: [Auswahl der Zahlungsart im Checkout-Prozess](https://dokumentation.websale.de/v8s/versandarten-anlegen/ausgabe-im-bestellprozess.md) · Referenz: [WS-PaymentFields](https://dokumentation.websale.de/v8s/referenz/tags/ws/zahlung-versand-und-bestellabschluss.md#die-tags-im-uberblick)

## Testen

Für TWINT gibt es einen eigenen Clearing-Testmodus, der die Abwicklung auf die Testzugangsdaten von Computop umleitet. Er wird zusätzlich zum allgemeinen Zahlungsarten-Testmodus eingeschaltet.

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
https://www.ihre-shop-url.de/?test=on&payment-test=on&twintclearing-test=on
```

Mit `TestMode = yes` im Abschnitt `<PaymentTWINT-Txt>` ist die Zahlungsart nur sichtbar, solange der Shop im Zahlungsarten-Testmodus läuft. Der Produktivbetrieb Ihres Shops bleibt davon unberührt.

Im Template lässt sich der Testbetrieb anzeigen:

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{ST-PaymentTest}
   <p class="hinweis">Zahlungsarten-Testmodus aktiv</p>
{/ST-PaymentTest}
```

Zum Abschalten:

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
https://www.ihre-shop-url.de/?test=off&payment-test=off&twintclearing-test=off
```

> [!WARNING]
>
> Das Umschalten eines Zahlungsart-Testmodus verwirft die laufende Sitzung und damit den Warenkorb. Schalten Sie ihn deshalb vor dem Befüllen des Warenkorbs ein, nicht auf der Bestellübersicht.

Wegweiser: [Testmodi des Shops ein- und ausschalten](https://dokumentation.websale.de/v8s/domains/testmodi-des-shops-ein-ausschalten.md) · Referenz: [ST-PaymentTest](https://dokumentation.websale.de/v8s/referenz/tags/st/seitenzustand-und-navigation.md)

## Produktivbetrieb

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<PaymentTWINT-Txt>
   Allow    = yes
   TestMode = no
</PaymentTWINT-Txt>
```

## Verwandte Themen

* Wegweiser: [Computop, für die gemeinsame Grundlage aller über Computop abgewickelten Zahlungsarten](https://dokumentation.websale.de/v8s/zahlungsarten-anlegen/computop.md)
* Wegweiser: [Zahlungsarten anlegen, für die allgemeinen Parameter und die Ausgabe im Template](https://dokumentation.websale.de/v8s/zahlungsarten-anlegen/zahlungsarten-anlegen.md)
* Wegweiser: [Versandarten anlegen, für die Kopplung über `DelivererID-List`](https://dokumentation.websale.de/v8s/versandarten-anlegen/versandarten-anlegen)


## Related topics

- [Computop](https://dokumentation.websale.de/v8s/zahlungsarten-anlegen/computop.md)
- [Zahlungsarten](https://dokumentation.websale.de/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/zahlungsarten.md)
- [Zahlungsarten-Codes](https://dokumentation.websale.de/v8s/materialien/zahlungsarten-codes.md)
- [Texte und Meldungen](https://dokumentation.websale.de/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/texte-und-meldungen.md)
- [Sektionen: Positionen und Zahlung](https://dokumentation.websale.de/v8s/schnittstellen/bestellungen/ws-bestelldaten/sektionen-positionen-und-zahlung.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.