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:
- Befehlskanal: Online-Pay verbindet sich mit dem Zahlungsterminal.
- 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.1mit 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:
- Das CCV-Terminal ist für O.P.I. freigeschaltet.
- Terminal und RDS-Server können sich gegenseitig über das Netzwerk erreichen.
- Das Terminal besitzt nach Möglichkeit eine feste IP-Adresse oder eine feste DHCP-Zuordnung.
- Der O.P.I.-Befehlsport des Terminals ist bekannt. Beim CCV Pad Next ist dies häufig
20002. - Der Rückkanal des Terminals ist auf die IP-Adresse des RDS-Servers und den vorgesehenen Rückkanal-Port eingestellt.
- Die Windows-Firewall erlaubt die benötigten Verbindungen.
- Bei mehreren Kassen wird für jede gleichzeitig aktive Kasse ein eigener Rückkanal-Port verwendet.
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
- Online-Pay öffnen.
- Mit der rechten Maustaste auf die gewünschte Kasse klicken.
- Zahlungsterminal konfigurieren auswählen.
- Zuerst die allgemeinen Kasseneinstellungen bearbeiten.
- 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
FatalErrorundParsingError.
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:
- Anmeldung beziehungsweise Initialisierung des Terminals.
- Diagnose über das Kontextmenü der Kasse.
- Testzahlung mit einem kleinen Betrag, beispielsweise 1,00 EUR.
- Abbruch einer Zahlung am Terminal.
- Erfolgreiche Zahlung einschließlich Kunden- und Händlerbeleg.
- 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:
- XML-Namespace verwenden deaktivieren.
- Als Zeichensatz
28591 - Westeuropäisch (ISO)einstellen. - Verbindung anschließend neu initialisieren.
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:
- Für das CCV-Beispiel den Befehlsport
20002verwenden. - Nicht den Rückkanal-Port als Befehlsport eintragen.
- Prüfen, ob O.P.I. am Terminal wirklich aktiviert ist.
Keine Verbindung zum Terminal
Mögliche Ursachen:
- IP-Adresse oder Port ist falsch.
- O.P.I. ist am Terminal nicht aktiviert.
- Eine Firewall blockiert den Befehlsport.
- Terminal und RDS-Server befinden sich in getrennten Netzen ohne passende Freigabe.
Zahlung startet, aber Anzeigen oder Belege fehlen
Mögliche Ursache: Der Rückkanal erreicht Online-Pay nicht.
Prüfung:
- Zieladresse des Rückkanals am Terminal kontrollieren.
- Rückkanal-Port am Terminal und in Online-Pay vergleichen.
- Eingehende Windows-Firewall-Regel prüfen.
- Bei mehreren Kassen sicherstellen, dass jeder Rückkanal-Port nur einmal verwendet wird.
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:
- Zeichensatz auf
28591 - Westeuropäisch (ISO)stellen. - Beachten, dass eine fehlerhafte Darstellung nur im verwendeten Logreader auftreten kann, obwohl die eigentliche Datei korrekt gespeichert wurde.
Abnahmecheckliste
- O.P.I. ist am Terminal aktiviert.
- Terminal-IP-Adresse ist fest vergeben oder reserviert.
- Befehlsport stimmt mit der Terminalkonfiguration überein.
- Rückkanal zeigt auf die IP-Adresse des RDS-Servers.
- Rückkanal-Port stimmt in Terminal und Online-Pay überein.
- Windows-Firewall erlaubt beide Kommunikationsrichtungen.
- Workstation-ID ist eindeutig und korrekt zugeordnet.
- Zeichensatz ist
28591 - Westeuropäisch (ISO). - XML-Namespace ist für das CCV Pad Next deaktiviert.
- Anmeldung und Diagnose wurden erfolgreich getestet.
- Erfolgreiche Zahlung wurde getestet.
- Zahlungsabbruch wurde getestet.
- Belegtexte und Umlaute wurden geprüft.
- Tagesabschluss wurde erfolgreich getestet.
Wichtige Hinweise
- O.P.I.-Details können abhängig von Terminalmodell, Firmware und Netzbetreiber abweichen.
- Die Befehlsnamen für Diagnose und Tagesabschluss sind herstellerabhängig und müssen im Zweifelsfall mit CCV oder dem Netzbetreiber abgestimmt werden.
- Bei einem unklaren Zahlungsergebnis darf eine Zahlung nicht ungeprüft wiederholt werden. Zuerst muss der Status am Terminal beziehungsweise beim Netzbetreiber kontrolliert werden.
- Die beschriebenen Werte bilden die erfolgreich getestete XML-Verarbeitung mit einem CCV-Terminal ab. Zahlung, Storno, Diagnose und Tagesabschluss müssen vor dem Produktivbetrieb vollständig abgenommen werden.
Weiterführende Herstellerinformationen
Die vollständige CCV-O.P.I.-Spezifikation ist gegebenenfalls direkt bei CCV anzufordern.