Blueforce Manual Payments for TWINT

Beschreibung

Dieses Plugin fügt WooCommerce eine TWINT-Bezahlmethode hinzu. Das Plugin selbst braucht keine TWINT-API, keinen Acquiring-Vertrag und keinen Payment-Service-Provider – es nutzt das manuelle TWINT-Verfahren (Geld per Handynummer senden oder anfordern) und eignet sich damit für kleine Shops, Vereine und Einzelunternehmen. Für die Einhaltung deiner eigenen TWINT-, Bank- und Geschäftsbedingungen bei gewerblicher Nutzung bleibst du verantwortlich.

TWINT bietet seine Zahlungs-API nicht öffentlich an. Eine automatisierte Anbindung ist nur über einen TWINT-Acquiring-Vertrag oder einen Payment-Service-Provider möglich. Dieses Plugin geht bewusst den manuellen Weg, damit du ohne TWINT-Integrationsvertrag starten kannst – deine eigenen TWINT- und Bankbedingungen musst du dabei weiterhin einhalten.

Zwei Abläufe

  • Kunde sendet: Dem Kunden wird deine TWINT-Handynummer und optional dein QR-Code angezeigt. Er sendet den Betrag mit der Bestellnummer als Mitteilung.
  • Ich fordere an: Der Kunde gibt seine TWINT-Handynummer an; du forderst den Betrag in der TWINT-App an.

In beiden Fällen wird die Bestellung auf „In Wartestellung“ gesetzt und der Zahlungseingang von Hand bestätigt.

Funktionen

  • Klassischer und Block-Checkout
  • Optionaler TWINT-QR-Code auf der Danke-Seite, in der Bestell-E-Mail und unter «Mein Konto»
  • Übersicht «TWINT-Zahlungen»: alle offenen Zahlungen auf einen Blick, Freigabe mit einem Klick
  • Optionale einmalige Zahlungserinnerung per E-Mail bei unbezahlten Bestellungen
  • Optionale automatische Stornierung unbezahlter Bestellungen nach einstellbarer Frist (Lagerbestand wird freigegeben)
  • Kundinnen und Kunden können «Ich habe bezahlt» melden – sichtbar an der Bestellung und in der Zahlungsübersicht
  • «Bezahlt mit TWINT»-Vermerk auf PDF-Rechnungen (mit WooCommerce PDF Invoices & Packing Slips)
  • HPOS-kompatibel
  • Übersetzungsbereit; Deutsch (Deutschland und Schweiz), Französisch (Schweiz) und Italienisch (Schweiz) liegen bei
  • Keine externen Abhängigkeiten, kein Tracking, keine Phone-home-Aufrufe

Datenschutz

Im Ablauf „Ich fordere an“ speichert das Plugin die vom Kunden angegebene TWINT-Handynummer als Bestell-Metadaten (_bf_twint_customer_phone), um die Zahlung über die TWINT-App anzufordern. Diese Nummer wird in den WooCommerce-/WordPress-Werkzeugen für Datenexport und -löschung berücksichtigt. Es werden keine Daten an Dritte gesendet und keine externen Dienste kontaktiert; der Zahlungsabgleich erfolgt manuell in der TWINT-App.

Screenshots

Installation

  1. Plugin hochladen und aktivieren.
  2. WooCommerce Einstellungen Zahlungen TWINT öffnen.
  3. Aktivieren, einen Ablauf wählen und konfigurieren.

FAQ

Brauche ich einen Vertrag mit TWINT?

Das Plugin selbst braucht keinen TWINT-API-Schlüssel, keinen Acquiring-Vertrag und keinen Payment-Service-Provider – es nutzt das manuelle TWINT-Verfahren. Beachte, dass die Bedingungen deines TWINT-, Bank- und Händlerkontos weiterhin gelten: Wenn du Zahlungen gewerblich annimmst, prüfe deine eigenen TWINT- und Bankbedingungen für die geschäftliche Nutzung.

Wird die Zahlung automatisch geprüft?

Nein. Der Zahlungseingang wird in der TWINT-App geprüft und die Bestellung von Hand auf «In Bearbeitung» gesetzt.

Muss ich für die Erinnerung oder die automatische Stornierung einen Cronjob einrichten?

Nein. Beides läuft über WP-Cron und verwaltet sich selbst: Sobald du eine Anzahl Tage einträgst, wird der Zeitplan angelegt; stellst du sie auf 0 zurück (oder deaktivierst das Plugin), wird er wieder entfernt. Bei Websites mit wenig Besuchen läuft WP-Cron mit dem nächsten Aufruf, die genaue Uhrzeit kann darum variieren – für Erinnerungen und Stornierungen spielt das keine Rolle.

Wann genau werden Erinnerungen verschickt und Bestellungen storniert?

Das Plugin prüft zweimal täglich. Die Erinnerung erhält ein Kunde einmalig, nach der eingestellten Anzahl Tage ohne Zahlung – und nie, nachdem er «Ich habe bezahlt» gemeldet hat. Die automatische Stornierung greift nach ihrer eigenen Frist und gibt den reservierten Lagerbestand wieder frei. Beide Optionen sind standardmäßig ausgeschaltet.

Ist dieses Plugin offizielle TWINT-Software?

Nein. Es ist ein unabhängiges Community-Projekt von Blueforce Digital Solutions und steht in keiner Verbindung zur TWINT AG. «TWINT» ist eine eingetragene Marke der TWINT AG und wird hier nur zur Beschreibung der Kompatibilität verwendet.

Welche personenbezogenen Daten werden gespeichert?

Nur im Ablauf „Ich fordere an“: die TWINT-Handynummer, die der Kunde im Checkout angibt (als Bestell-Metadaten, ausschließlich zur Anforderung der Zahlung). Sie wird in den WordPress-Werkzeugen für Datenexport und -löschung berücksichtigt; ein Textbaustein für die Datenschutzerklärung steht unter Einstellungen Datenschutz bereit. Im Ablauf „Kunde sendet“ werden keine personenbezogenen Zahlungsdaten erfasst.

Rezensionen

Zu diesem Plugin liegen noch keine Rezensionen vor.

Mitwirkende und Entwickler

„Blueforce Manual Payments for TWINT“ ist Open-Source-Software. Folgende Menschen haben an diesem Plugin mitgewirkt:

Mitwirkende

„Blueforce Manual Payments for TWINT“ wurde in 1 Sprache übersetzt. Danke an die Übersetzer für ihre Mitwirkung.

Übersetze „Blueforce Manual Payments for TWINT“ in deine Sprache.

Interessiert an der Entwicklung?

Durchstöbere den Code, sieh dir das SVN-Repository an oder abonniere das Entwicklungsprotokoll per RSS.

Änderungsprotokoll

1.6.2

  • Neu: Dashboard-Widget mit den offenen TWINT-Zahlungen (Summe, Kundenmeldungen, Alter der ältesten) und den erhaltenen Zahlungen der letzten 30 Tage, mit Direktlink zur Zahlungsübersicht.

1.6.1

  • Behoben: Bestellungen wurden auch dann als erinnert markiert, wenn der Versand der Erinnerungs-Mail fehlschlug; jetzt gibt es beim nächsten Lauf einen neuen Versuch.
  • Behoben: Die automatische Stornierung storniert keine Bestellungen mehr, bei denen der Kunde «Ich habe bezahlt» gemeldet hat – diese verlangen manuelle Prüfung.

1.6.0

  • Neu: Übersicht «TWINT-Zahlungen» im WooCommerce-Menü – alle offenen (unbezahlten) TWINT-Bestellungen mit Betrag, Kunde, Alter, der passenden Anweisung je Ablauf und einem «Zahlung erhalten»-Button.
  • Neu: Optionale einmalige Zahlungserinnerung per E-Mail bei unbezahlten Bestellungen (Frist einstellbar; standardmäßig aus). Wer die Zahlung bereits gemeldet hat, wird nicht erinnert.
  • Neu: Optionale automatische Stornierung unbezahlter TWINT-Bestellungen nach einstellbarer Frist (standardmäßig aus); der Lagerbestand wird automatisch freigegeben.
  • Neu: Kundinnen und Kunden können auf der Danke-Seite und unter «Mein Konto» «Ich habe bezahlt» melden. Die Meldung erscheint an der Bestellung und in der Zahlungsübersicht und ändert nie den Bestellstatus.
  • Neu: Die Zahlungsangaben (Nummer/QR/Referenz) erscheinen auch unter «Mein Konto Bestellung ansehen», solange die Zahlung aussteht.
  • Neu: «Bezahlt mit TWINT am [Datum]»-Vermerk auf PDF-Rechnungen (WooCommerce PDF Invoices & Packing Slips) – nur bei tatsächlich bezahlter Bestellung.
  • Neu: Im Ablauf «Ich fordere an» enthält die «Neue Bestellung»-E-Mail an den Shop jetzt die TWINT-Nummer des Kunden, den Betrag und die Referenz.
  • Neu: Die Einstellungen zeigen nur noch die zum gewählten Ablauf passenden Felder.
  • Behoben: Der Hinweis unter dem Nummernfeld im Block-Checkout erschien auf nicht-deutschen Websites auf Deutsch.
  • Behoben: Das Nummernfeld im Block-Checkout ragte über die Box der Bezahlmethode hinaus.
  • Behoben: Der QR-Code in E-Mails wird jetzt auf eine sinnvolle Größe begrenzt (Mail-Programme laden das Stylesheet des Plugins nicht).
  • Geändert: Währungssymbole in Klartext-E-Mails werden nicht mehr HTML-kodiert ausgegeben.

1.5.1

  • Behoben: Der Konfigurationshinweis (Ablauf «Kunde sendet» aktiv, aber weder Nummer noch QR-Code hinterlegt) blieb nach dem Wechsel zu «Ich fordere an» bis zum nächsten Seitenaufruf sichtbar; die zwischengespeicherten Einstellungen werden beim Speichern jetzt aufgefrischt.
  • Geändert: Plugin URI zeigt jetzt auf die Plugin-Landingpage statt auf das GitHub-Repository.
  • Internationalisierung: Die mitgelieferte deutsche Übersetzung ist jetzt in de_DE (deutsche Rechtschreibung) und de_CH (Schweizer Schreibweise) getrennt.

1.5.0 – wordpress.org-Willkommens-Release!

  • Internationalisierung: Das Plugin nutzt jetzt englische Quell-Strings; Deutsch, Französisch (CH) und Italienisch (CH) liegen als echte Übersetzungen bei. So kann translate.wordpress.org die Übersetzungen korrekt verarbeiten – die bisherigen deutschen Quell-Strings verhinderten das. Keine funktionalen Änderungen.

1.4.3

  • Formulierung: Klargestellt, dass das Plugin selbst keinen TWINT-API-Key und keinen Acquiring-Vertrag braucht, während Shop-Betreibende für ihre eigenen TWINT-, Bank- und Händlerbedingungen bei gewerblicher Nutzung verantwortlich bleiben.
  • Formulierung «TWINT-Logo» aus älteren Changelog-Einträgen entfernt, um Markenunklarheiten zu vermeiden; das Plugin-Icon ist ein eigenes Blueforce-Design.
  • Übersetzungsvorlage und Metadaten auf die aktuelle Version gebracht.
  • Härtung: Der gewählte Ablauf (senden/anfordern) wird beim Laden und Speichern auf einen bekannten Wert normalisiert; Block-Checkout-Daten werden bereinigt, bevor sie ans Frontend gehen.
  • Paketierung/CI: Das Build-Skript stellt jetzt sicher, dass Entwicklungs-, Test-, Repo- und WordPress.org-Asset-Ordner nie im ausgelieferten Plugin-ZIP landen; PHP-Lint ist auf die eigentlichen Plugin-Dateien begrenzt.
  • Aufräumarbeiten: uninstall.php ergänzt – beim Löschen des Plugins werden die gespeicherten Einstellungen entfernt (Bestelldaten bleiben erhalten).
  • Konsistenz: Lizenz-Notation zwischen Plugin-Header und readme angeglichen und verbliebene interne Doku-Kommentare auf den aktuellen Plugin-Namen aktualisiert.
  • Datenschutz/Härtung: Im Ablauf «Kunde sendet» speichert der Block-Checkout serverseitig keine Kundennummer mehr, selbst wenn ein manipulierter Client das Feld mitsendet – analog zum klassischen Checkout und zum dokumentierten Datenschutzverhalten.

1.4.2

  • Coding Standards: Gateway-Klasse auf das Plugin-Präfix umbenannt (BF_TWINT_Gateway).
  • Header: Plugin-Beschreibung auf unter 140 Zeichen gekürzt, «Requires Plugins: woocommerce» ergänzt und «WC tested up to» aktualisiert.
  • Paketierung: composer.json ist im ausgelieferten Plugin enthalten; GitHub-Dokumentation (README.md, CHANGELOG.md) bleibt aus dem ZIP draußen.
  • Keine funktionalen Änderungen.

1.4.1

  • Sicherheit/Härtung: Die Ausgabe der Einstellungsfelder wird spät mit wp_kses_post() escaped (Tooltip- und Beschreibungs-HTML im QR-Bild-Feld); die entsprechenden phpcs:ignore-Anmerkungen wurden entfernt. Keine funktionalen Änderungen.

1.4.0

  • Umbenannt in «Blueforce Manual Payments for TWINT» und fürs WordPress.org-Plugin-Verzeichnis vorbereitet.
  • Bisherigen GitHub-Update-Mechanismus entfernt; das Plugin macht keine externen Aufrufe mehr.
  • Keine funktionalen Änderungen an Checkout, Abläufen oder Datenschutz.

1.3.0

  • Bestell-Snapshot: Ablauf, Nummer, Kontoinhaber, QR-Bild und Hinweise werden pro Bestellung eingefroren – Danke-Seite, E-Mail und Admin bleiben korrekt, auch wenn die Einstellungen später ändern.
  • Block-Checkout: TWINT wird bei Fremdwährungen jetzt korrekt ausgeblendet (wie im klassischen Checkout).
  • Datenschutz: Die Kundennummer ist in Datenexport/-löschung eingebunden; Textvorschlag für die Datenschutzerklärung ergänzt.
  • Admin-Hinweis bei unvollständiger Konfiguration; echte Klartext-E-Mail; zentrale Validierung/Normalisierung der Handynummer.
  • Barrierefreiheit verbessert; Inline-Styles ins CSS verschoben; «Als bezahlt markieren»-Button auf berechtigte Rollen beschränkt, mit protokollierter Notiz.
  • CI: PHP-Lint, WordPress Coding Standards und ZIP-Build-Test.

1.2.0

  • «Als bezahlt markieren»-Button in der Bestellansicht: TWINT-Bestellung mit einem Klick als bezahlt freigeben.
  • Französische (fr_CH) und italienische (it_CH) Übersetzungen – inklusive Block-Checkout.
  • Kopier-Button für die Bestellnummer auf der Danke-Seite (weniger Tippfehler in der TWINT-Mitteilung).
  • TWINT erscheint nur bei Shop-Währung CHF (Filter «bf_twint_is_available» zum Übersteuern).

1.1.2

  • Sicherheit: Zusätzliche Berechtigungsprüfung (manage_woocommerce) beim Laden der Admin-Skripte.

1.1.1

  • Plugin-Icon in der Plugin-Liste.
  • Englische Übersetzungen (en_GB/en_US) für die neuen Admin-Texte ergänzt (QR-Bild-Auswahl).

1.1.0

  • TWINT-QR-Bild: Auswahl direkt aus der Mediathek per Button (statt URL-Eingabe), mit Vorschau.

1.0.2

  • Block-Checkout: Icon der Bezahlmethode neben dem Namen und Pflichtfeld-Markierung («*») bei der Handynummer.

1.0.1

  • Interne Verbesserungen.

1.0.0

  • Erste Veröffentlichung.