Was muss ich bei einem Zahlungsterminal mit O.P.I. Schnittstelle einstellen?

O.P.I.-Zahlungsterminal in PhoenixDS Online-Pay

Zweck dieser Dokumentation

Diese Anleitung beschreibt die Einrichtung eines Zahlungsterminals über die O.P.I.-Schnittstelle in PhoenixDS Online-Pay.

Als Beispiel wird ein CCV Pad Next verwendet. Die genaue Bezeichnung der Menüpunkte am Terminal kann abhängig von Firmware, Netzbetreiber und Terminalkonfiguration abweichen.

Wichtig: Die O.P.I.-Funktion muss am Terminal beziehungsweise durch CCV oder den Netzbetreiber freigeschaltet und eingerichtet sein. Die Konfiguration in Online-Pay allein aktiviert O.P.I. nicht am Terminal.


Funktionsprinzip

O.P.I. verwendet zwei getrennte TCP-Verbindungen:

  1. Befehlskanal: Online-Pay verbindet sich mit dem Zahlungsterminal.
  2. Rückkanal: Das Zahlungsterminal verbindet sich zurück mit Online-Pay auf dem RDS-Server.
Online-Pay / RDS-Server                         CCV-Terminal

       Zahlungsanforderung  ----------------->  TCP-Port 20002
       TCP-Port 20007        <-----------------  Anzeigen und Belegdaten

Für eine funktionierende Verbindung müssen beide Kommunikationsrichtungen im Netzwerk und in der Firewall freigegeben sein.

Beispielkonfiguration

Komponente Beispielwert
IP-Adresse des CCV-Terminals 10.10.10.140
IP-Adresse des RDS-Servers beispielsweise 10.10.10.10
O.P.I.-Befehlsport am Terminal 20002
O.P.I.-Rückkanal-Port in Online-Pay 20007
Kasse 01
Workstation-ID 01

Die im Online-Pay-Protokoll angezeigte Adresse 127.0.0.1 mit einem zufälligen hohen Port gehört zur internen Kommunikation von Online-Pay. Sie ist nicht der O.P.I.-Port des Terminals.


Voraussetzungen

Vor der Einrichtung müssen folgende Voraussetzungen erfüllt sein:


Vorbereitung des CCV-Terminals

Am Terminal oder durch den zuständigen Netzbetreiber müssen mindestens folgende Werte eingerichtet werden:

Einstellung am Terminal Beispiel Bedeutung
Schnittstelle O.P.I. Aktiviert die Kassenanbindung über O.P.I.
Befehlskanal / Port 20002 Port, auf dem das Terminal Anforderungen von Online-Pay annimmt
Zieladresse des Rückkanals IP-Adresse des RDS-Servers Adresse, zu der das Terminal Anzeigen und Belegdaten sendet
Rückkanal-Port 20007 Muss mit der Einstellung in Online-Pay übereinstimmen
Workstation-ID 01 Kennung der zugeordneten Kasse

Die Änderung dieser Werte kann sich im geschützten Servicebereich des Terminals befinden. Falls die Einstellungen nicht sichtbar sind, muss CCV, der Terminalbetreuer oder der Netzbetreiber die O.P.I.-Konfiguration durchführen.


Einrichtung in Online-Pay

  1. Online-Pay öffnen.
  2. Mit der rechten Maustaste auf die gewünschte Kasse klicken.
  3. Zahlungsterminal konfigurieren auswählen.
  4. Zuerst die allgemeinen Kasseneinstellungen bearbeiten.
  5. Anschließend den Unterordner O.P.I. Einstellungen öffnen.

Allgemeine Kasseneinstellungen

Einstellung Empfohlener Wert für das Beispiel Beschreibung
Aktiv aktiviert Aktiviert die Verarbeitung für diese Kasse.
Terminalprotokoll O.P.I. Verwendet die O.P.I.-Schnittstelle.
Verbindungsart TCP/IP Verbindung zum Terminal über das Netzwerk.
IP-Adresse 10.10.10.140 IP-Adresse des Zahlungsterminals.
Port 20002 O.P.I.-Befehlsport des Terminals.
Timeout 1 5000 Zeitlimit für den Verbindungsaufbau in Millisekunden.
Timeout 2 180000 Maximale Wartezeit für einen Zahlungsvorgang in Millisekunden.
Protokollierung Erweitert Empfohlen für Einrichtung und Fehleranalyse.
Sprache DE Sprache für die Kommunikation mit dem Terminal.
Währung EUR ISO-Währungscode für Zahlungen.
Zeichensatz/CodePage des Terminals 28591 - Westeuropäisch (ISO) Entspricht ISO-8859-1 und ist für das getestete CCV-Terminal erforderlich.

Zeichensatz: Für die getestete CCV-Konfiguration ist 28591 - Westeuropäisch (ISO) korrekt. Dadurch werden Umlaute in Beleg- und Anzeigetexten richtig verarbeitet.

O.P.I. Einstellungen

Einstellung Empfohlener Wert für das Beispiel Beschreibung
Rückkanal-Port 20007 Port, auf dem Online-Pay Verbindungen vom Terminal annimmt.
Lokale IP-Adresse 0.0.0.0 Online-Pay lauscht auf allen lokalen Netzwerkadressen. Alternativ kann die feste IP-Adresse des RDS-Servers eingetragen werden.
Workstation-ID 01 Kassenkennung im O.P.I.-Protokoll. Muss zur Terminalkonfiguration passen.
POP-ID leer Optionale Point-of-Payment-ID. Nur eintragen, wenn CCV oder der Netzbetreiber einen Wert vorgibt.
Application-Sender PhoenixDS Online-Pay Name der sendenden Kassenanwendung.
XML-Namespace verwenden deaktiviert Beim getesteten CCV Pad Next muss diese Option deaktiviert sein.
Unterschrift automatisch bestätigen deaktiviert Nur aktivieren, wenn ein organisatorisch und technisch abgesicherter Freigabeablauf besteht.
Nachlaufzeit Rückkanal ms 500 Kurze Wartezeit, damit abschließende Anzeige- oder Belegdaten übernommen werden können.
Diagnose-Anforderung Diagnosis Herstellerabhängiger O.P.I.-Befehlsname für die Diagnose.
Tagesabschluss-Anforderung ReconciliationWithClosure Herstellerabhängiger O.P.I.-Befehlsname für den Tagesabschluss.

CCV Pad Next: Die Option XML-Namespace verwenden muss für die getestete Konfiguration deaktiviert sein. Bei aktiviertem Namespace antwortete das Terminal mit FatalError und ParsingError.


Windows-Firewall und Netzwerk

Für das Beispiel werden folgende Verbindungen benötigt:

Richtung Quelle Ziel TCP-Port
Ausgehend RDS-Server / Online-Pay CCV-Terminal 20002
Eingehend CCV-Terminal RDS-Server / Online-Pay 20007

Der eingehende Port muss auf dem RDS-Server in der Windows-Firewall freigegeben sein. Zusätzlich dürfen Netzwerk-Firewalls oder VLAN-Regeln die Kommunikation nicht blockieren.

Mehrere Kassen auf demselben RDS-Server

Jede gleichzeitig aktive O.P.I.-Kasse benötigt einen eigenen Rückkanal-Port.

Kasse Beispiel Rückkanal-Port
Kasse 01 20007
Kasse 02 20008
Kasse 03 20009

Der jeweilige Port muss sowohl in Online-Pay als auch im zugehörigen Terminal eingetragen und in der Firewall freigegeben werden.


Verbindung testen

Nach dem Speichern der Einstellungen sollte Online-Pay beziehungsweise die betreffende Terminalverbindung neu gestartet werden.

Die Inbetriebnahme sollte in folgender Reihenfolge getestet werden:

  1. Anmeldung beziehungsweise Initialisierung des Terminals.
  2. Diagnose über das Kontextmenü der Kasse.
  3. Testzahlung mit einem kleinen Betrag, beispielsweise 1,00 EUR.
  4. Abbruch einer Zahlung am Terminal.
  5. Erfolgreiche Zahlung einschließlich Kunden- und Händlerbeleg.
  6. Tagesabschluss.

Bei einer erfolgreichen Initialisierung enthält das erweiterte Protokoll unter anderem:

PROVIDER PHXFrameworkOPI initialize Command=10.10.10.140:20002 DevicePort=20007
OPI TX <ServiceRequest RequestType="Login" ...>
OPI RX <ServiceResponse ...>

Im XML der Anforderung darf für die beschriebene CCV-Konfiguration kein zusätzliches xmlns-Attribut enthalten sein.


Protokolldateien

Die O.P.I.-Protokolle werden unterhalb des Online-Pay-Programmordners gespeichert:

<Programmordner>\Log\OPI\PHXFrameworkOPI_Kasse001_YYYYMMDD.log

Für die Einrichtung und Diagnose sollte die Einstellung Protokollierung vorübergehend auf Erweitert stehen.

Sensible Kartendaten wie PAN, Track-Daten, PIN-Informationen und Zugangsdaten werden nicht im Klartext protokolliert.


Fehlerbehebung

FatalError / ParsingError

Mögliche Ursache: Das Terminal kann die gesendete XML-Struktur nicht verarbeiten.

Prüfung:

Ungültige O.P.I.-Nachrichtenlänge oder negativer Längenwert

Mögliche Ursache: Es wird der falsche Terminalport verwendet oder die Gegenstelle liefert auf diesem Port kein O.P.I.-XML.

Prüfung:

Keine Verbindung zum Terminal

Mögliche Ursachen:

Zahlung startet, aber Anzeigen oder Belege fehlen

Mögliche Ursache: Der Rückkanal erreicht Online-Pay nicht.

Prüfung:

Rückkanal-Port ist bereits belegt

Mögliche Ursache: Eine zweite Kasse oder ein anderes Programm verwendet denselben lokalen Port.

Lösung: Für jede O.P.I.-Kasse einen eigenen Rückkanal-Port konfigurieren.

Umlaute werden falsch dargestellt

Prüfung:


Abnahmecheckliste


Wichtige Hinweise

Weiterführende Herstellerinformationen

Die vollständige CCV-O.P.I.-Spezifikation ist gegebenenfalls direkt bei CCV anzufordern.


Revision #1
Created 2026-09-10 14:46:43 CEST by Martin Dauwa
Updated 2026-09-10 14:49:58 CEST by Martin Dauwa