Ergebnis 1 bis 3 von 3

Thema: Anleitung zum Einrichten: Isotope – Postfinance Schweiz

  1. #1
    Contao-Nutzer
    Registriert seit
    17.03.2012.
    Beiträge
    27

    Standard Anleitung zum Einrichten: Isotope – Postfinance Schweiz

    Liebe Contaofreunde,

    da ich einige Mühe hatte, bis ich den Anschluss zum Zahlungssystem Postfinance hatte, möchte ich eine kleine Anleitung beisteuern. Diese bezieht sich auf Contao 3.5.9. und Isotope. Ich gehe davon aus, das sich Leser bereits mit dem Einrichten der Zahlungsarten in der Shop-Konfiguration von Isotope auskennen.

    – Abklärung Postfinance: Voraussetzung ist ein Geschäftskonto bei Postfinance. Danach muss man mit der Post einen Vertrag abschliessen, um das PSP-Tool einrichten zu lassen. Möchte man eine der zwei angebotenen Leistungsoptionen (insgesamt 3) mit Kreditkarte einrichten, muss man zusätzlich einen Vertrag mit dem Kreditkarteninstitut abschliessen (läuft alles unkompliziert via Postfinance). Die kleinste und günstigste Variante ist die Basic nur für Zahlungsmöglichkeit mit der Postcard und mit Postfinance Onlinetool. Dafür hat man hier nur ein einmalige Einrichtungsgebühr ohne monatliche Folgekosten. Informationen zur Kontaktaufnahme findet man unter Payment Service Providing auf der Postfinance Seite. Wichtig: Konditionen der Postfinance für Artikel bis 300 CHF und Konditionen für Artikel teurer als 300 CHF klären.
    Am besten mit dem regionalen Vertreter der Postfinance.

    – Technisch ist aber bei allen drei Varianten derselbe Vorgang. Welche Zahlungssysteme man wünscht kann man wählen und später lediglich mit neuem Vertragsabschluss noch erweitern.

    – Etwas Verwirrung hatte ich, da die Post von einem benötigten PlugIn sprach und einige davon aufführte … dieses benötigen wir aber nicht, da wir das PlugIn, sprich die Schnittstelle in Contao aber bereits integriert haben. Die Post führt Contao nicht auf, da es Open Source ist und sie die Funktionsfähigkeit nicht gewährleisten können.

    – Das PSP der Post ist im Prinzip ein eigenes CMS, mit Frontend-Zahlungsmaske und Backend mit den Einstellungen. Der technische Dienst hilft auf Wunsch mit den Einstellungen … das geht 15 Minuten. Wichtig: Es wird zuerst ein identischer Test-Zugang aufgeschaltet, der bis zum effektiven GO gratis ist. Man kann ihn in Ruhe testen. Dabei MUSS in Zahlungsart/Isotope zwingend «Testsystem verwenden» aktiviert sein. Sonst funktioniert es nicht …

    – Einstellungen Zahlungsart unter Isotope
    1.) Zahlungsmodul «Postfinance» wählen
    2.) PSPID eintragen (ein Codename, den man von der Post nach Anmeldung erhält)
    3.) Hash-Methode (dieselbe wie im PSP-Backend gewählt, die bvoreingestellte SHA-1 passt)
    4.) SHA-IN und SHA-OUT: Das sind nichts weiter als Passwörter, die man selbst im PSP-Backend der Post vergibt. Sie müssen einfach identisch sein.
    5.) Zahlungsart: frei lassen!

    – Testzugang zum echtem Zugang schalten
    Funktioniert der Testzugang, kann man mit einem Mail den richtigen Zugang aufschalten lassen. Dabei erhält man eine neue PSPID und muss das Häkchen bei «Testsystem verwenden» in Isotope wieder entfernen. Alles andere bleibt, man hat nichts mehr zu tun …

    Beste Grüsse
    Lorri
    Angehängte Grafiken Angehängte Grafiken
    Geändert von lorri12 (16.05.2016 um 15:16 Uhr)

  2. #2
    Contao-Nutzer Avatar von rory_ch
    Registriert seit
    11.05.2016.
    Ort
    Schweiz
    Beiträge
    119

    HTML Zusätzlicher Input für Suchende: Isotope Shop Postfinance Card Anleitung

    Habe zwei Bereiche die ich gerne hinzufügen würde:

    1. Eine Problemstellung die wir beheben mussten
    Problemstellung:
    Nach Bezahlung einer Bestellung erscheint die Meldung "Der Bezahlvorgang ist fehlgeschlagen. Bitte versuchen Sie es erneut oder wählen Sie eine andere Bezahlmethode"
    Im Backend-Log erscheint die Meldung: "Received invalid postsale data for order ID "xy""

    Ursache:
    In der Postfinance Übersicht unter Konfiguration > Technische Informationen > Transaktion Feedback besteht die Möglichkeit, die Felder auszuwählen, die zurück an Isotope geschickt werden anzupassen.

    Da mussten wir in unserem Fall sicherstellen dass „PAYIDSUB“ nicht ausgewählt ist.
    Man kann auch „nur“ das Minimum auswählen, das müsste aus AMOUNT, CURRENCY, NCERROR, ORDERID, PAYID, STATUS sein.

    Falls man hier selbst Troubleshooten will, wir haben diese Felder aus dem File:
    system/modules/isotope/library/Isotope/Model/Payment/PSP.php

    Ab Zeile 275 wird es spannend.
    Auf Zeile 281/282 wird ermittelt, ob der Wert eines dieser Parameter leer ist.
    Aus allen die nicht leer sind, wird ein String erstellt, mit Parametername, Wert und dem SHA1 Value. Beispiel: "AMOUNT=10.0XXXXXXBRAND=PostFinance CardXXXXXXCN=Max Muster..." XXXXXX repräsentiert dabei den im Backend eingegebenen SHA1 Key.
    Daraus wird dann ein Hash generiert, dieser wird mit dem POST Parameter SHASIGN verglichen. Heisst die Postfinance generiert auch einen solchen String und dann einen Hash.

    Unsere Annahme, wenn man falsche Parameter auswählt, ist entweder der Wert leer und wird durch Contao aus dem String ausgeschlossen und somit unterscheidet sich dann der Hash von dem der Post und unserer. Falls Ihr selbst nachforschen wollt, könnt ihr auf Zeile 280 z.B. die('<pre>'.print_r($arrParams, true) .'</pre>'); einfügen und die übermittelten Parameter anschauen.


    2. Wir haben alle betroffenen Felder zusammengefasst
    Falls sich jemand noch unsicher ist, welche Einstellungen zu setzen sind, hier unsere Konfiguration:

    Postfinance > Globale Transaktionsparameter
    Operationswert: Autorisierung
    Datenerfassungsprozedur: Datenerfassung durch Händler
    Maximale zahlungsversuche: 10
    Einzeltransaktionen: Online, jedoch Umstellung auf offline, wenn...

    Postfinance > Globale Sicherheitsparameter
    Erstellen sie den String, der gehasht werden soll: Jeder Parameter
    Hash-Algorithmus: SHA-1
    Zeichenkodierung: Verwenden Sie die zeichenkodierung, die mit der ursprünglichen...

    Postfinance > Zahlungsseite
    Zurück: http://%domain%/kasse/review.html

    Postfinance > Daten- und Ursprungsüberprüfung
    URL Händlerseite: http://%domain%
    SHA-IN signatur: kann ein selbst generierter SHA-Key sein, wir haben dazu unter Test-Info > Test Sie Ihre SHA-IN Signatur einen generiert, muss einfach gleich sein wie im isotope SHA-IN Feld

    Postfinance > Transaktions-Feedback
    Accepturl: http://%domain%/system/modules/isotope/postsale.php
    DeclineURL: http://%domain%/kasse/failed.html
    Ich wünsche die Transaktionsfeedbackparameter in URL...: JA
    Bei der Umleitung auf eine der URLs...: JA
    Direktes Feedback: Immer online
    Zahlungsstatus Akzeptiert: http://%domain%/system/modules/isotope/postsale.php
    Durch Kunden annuliert: http://%domain%/system/modules/isotope/postsale.php
    Anfragemethode: POST
    Dynamische e-Commerce Parameter: AMOUNT, CURRENCY, NCERROR, ORDERID, PAYID, STATUS (oder wie oben beschrieben)
    Ich wünsche, während der Zahlungsverarbeitung die Anzeige...: JA
    SHA-1-OUT Signatur: Wiederum ein selbst generierter SHA-1 Code der im Isotope Backend eingetragen werden muss
    HTTP-Anfrage für Statusänderungen: Keine Anfrage.

    Contao > Shop-Konfiguration > Zahlunsarten > „Postfinance Card“ >
    Grundsätzlich kann alles ausgefüllt werden, diese sind aber nötig:
    Zahlungsmodul: PostFinance
    Status für neue Bestellungen: Bezahlung erhalten
    PSPID: der Benutzername der die Post euch gibt
    TTP Methode: POST
    Hash-Methode: SHA-1
    SHA-IN und OUT Signatur: Wie oben erwähnt, analog der Postfinance Seite eintragen (btw. gross oder kleiner Hex ist irrelevant, Contao vergleich später sowieso alles in Grossbuchstaben)
    Zahlungsart: Anders als wie in anderen Beiträgen erwähnt, kann hier normal Postfinance Card ausgewählt werden, es macht keinen Unterschied (wenn nicht im backend definiert, muss es der Kunde beim weitereiten auf die Postfinance Seite auswählen)
    Testsystem verwenden: Ja (halt nur solange man den Test-Account oben angegeben hat)
    Aktiv: Ja

    So läuft es bei uns, hoffe das hilft euch irgendwie.

  3. #3
    Contao-Nutzer Avatar von vienneva
    Registriert seit
    13.01.2011.
    Ort
    Wien
    Beiträge
    136

    Daumen hoch Funktioniert auch so für Viveum

    Danke für den Post.
    Hatte den gleichen Fall bei Viveum (Österreich). Der Rückgabewert PAYIDSUB brachte die gleiche Fehlermeldung und einen falschen Hash-Wert. PAYIDSUB in der Viveum-Oberfläche aus der Rückgabe rausgenommen und es funktionierte.
    Eure Anleitung für Postfinance funktioniert auch für Viveum. Die Oberfläche dort ist fast identisch.

    Liebe Grüße aus Wien
    Eva

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •