Postfinance

Postfinance im Backend

Postfinance ist eine klassische Weiterleitungs-Zahlart: Der Shop erzeugt Zahlungsdaten, zeigt die Postfinance-Zahlseite an und verarbeitet danach Browser-Rückkehr sowie Server-Rückmeldungen.

Einordnung

Die Seite beschreibt die Postfinance-spezifische Konfiguration. Die allgemeine Zahlungsarten-Verwaltung bleibt zusätzlich zuständig für Aktivstatus, Kundengruppen, Versandarten, Versandzonen und Betragsgrenzen.

Postfinance speichert Einstellungen pro Multishop. PSPID, Signatur und Designwerte müssen deshalb je Shop zur passenden Postfinance-Konfiguration gehören.

Status und Rechnung

  • order_status_ok: Bestellstatus nach erfolgreicher Server-Rückmeldung. Der Status wird gesetzt, wenn Postfinance eine Acceptance liefert und Status 9 meldet.
  • order_status_error: Bestellstatus bei fehlgeschlagener Zahlung. Der Status wird bei Rückmeldung mit Status 2 gesetzt.
  • status_ok_createBill: erstellt bei erfolgreicher Zahlung automatisch eine Rechnung. Im neuen Backend ist der Schalter deaktiviert, wenn das FiBu-Modul nicht aktiv ist.
  • status_ok_sendBill: sendet die automatisch erstellte Rechnung an die Kundschaft. Auch dieser Schalter hängt im neuen Backend vom aktiven FiBu-Modul ab.

Die erfolgreiche Browser-Rückkehr schließt die Bestellung ab, aktualisiert Gutscheincodes, sendet bei aktiver Shop-Einstellung die Bestellbestätigung, leert den Warenkorb und leitet auf die Abschlussseite weiter. Bei Abbruch wird die noch nicht abgeschlossene Bestellung gelöscht.

Zugangsdaten und Signatur

  • pspid: Händlerkennung von Postfinance. Der Wert wird im Zahlungsrequest als PSPID übertragen.
  • sha1: SHA1-Signaturpassphrase. Der Shop sortiert die übergebenen Felder, hängt je Feld den Signaturwert an und berechnet daraus die Signatur für den Zahlungsrequest.
Die Signatur im Shop und die Signatur im Postfinance-Backend müssen identisch sein. Abweichungen führen zu abgelehnten oder nicht zuordenbaren Rückmeldungen.

Designfelder

Diese Felder werden an Postfinance übergeben und steuern die Darstellung der Zahlseite.

  • title: Titel der Zahlungsseite.
  • bgcolor: Hintergrundfarbe.
  • txtcolor: Textfarbe.
  • tblbgcolor: Tabellen-Hintergrundfarbe.
  • tbltxtcolor: Tabellen-Textfarbe.
  • buttonbgcolor: Button-Hintergrundfarbe.
  • buttontxtcolor: Button-Textfarbe.
  • fonttype: Schriftart.
  • logo: Logo-Angabe für die Zahlseite.

Leere Designfelder werden beim Signaturaufbau nicht berücksichtigt. Dadurch zählt nur, was tatsächlich an Postfinance übertragen wird.

Postfinance-Backend

Im Postfinance-Backend muss das Transaktions-Feedback passend zur Shop-Konfiguration eingetragen werden.

  • Direktes HTTP-Server-zu-Server-Feedback sollte zeitversetzt aktiv sein.
  • Die im Shop angezeigte Rückmelde-URL mit der Variable PARAMVAR muss als Feedback-Adresse eingetragen werden.
  • Die gleiche Adresse wird auch für Statusänderungen verwendet.
  • Für Offline-Statusänderungen muss die Rückmeldung im Postfinance-Backend je Status aktiviert werden.
  • Die SHA1-Signatur muss im Postfinance-Backend mit dem Shopwert übereinstimmen.
Die konkrete Rückmelde-URL wird im Backend dynamisch aus Shop-Protokoll, Shop-Domain und Mandant aufgebaut. Den dort angezeigten Wert unverändert in Postfinance übernehmen.

Zahlungsrequest

Beim Start der Zahlung sendet der Shop die Daten an Postfinance und gibt die erhaltene Zahlseite aus.

  • ACCEPTURL: Rückkehr bei erfolgreichem Abschluss.
  • CANCELURL: Rückkehr bei Abbruch.
  • PSPID: Händlerkennung aus dem Formular.
  • EMAIL: E-Mail-Adresse der Kundschaft.
  • ORDERID: Bestellnummer.
  • AMOUNT: Gesamtbetrag inklusive Steuer in kleinster Währungseinheit.
  • LANGUAGE: Sprache der Zahlseite.
  • CURRENCY: Währung der Bestellung.
  • CN, OWNERADDRESS, OWNERZIP, OWNERTOWN, OWNERCTY und OWNERTELNO: Kundendaten für Postfinance.
  • PARAMVAR: Rückmeldeparameter für die spätere Server-Rückmeldung.
  • SHASign: berechnete Signatur über alle nicht leeren Requestfelder.

Der Shop nutzt die produktive Postfinance-Schnittstelle. Ein Testpfad ist im Backend nur als inaktiver Kommentar vorhanden und wird vom aktuellen Ablauf nicht verwendet.

Server-Rückmeldung

Die Server-Rückmeldung ordnet Postfinance-Daten der Bestellung zu und schützt dabei gegen falsche Zuordnung.

  • order_id: wird aus dem Rückmeldeparameter gelesen. Fehlt der Wert, wird die Rückmeldung abgewiesen.
  • amount: muss mit der Bestellsumme inklusive Steuer übereinstimmen. Bei Abweichung wird nicht weiter verarbeitet.
  • orderID: muss zur Bestellnummer passen. Bei Abweichung wird nicht weiter verarbeitet.
  • ACCEPTANCE und STATUS: eine erfolgreiche Zahlung braucht Acceptance und Status 9.
  • STATUS 2: setzt den Fehlerstatus der Bestellung.
  • Logdaten: jede akzeptierte Rückmeldung wird mit Status, Zeitpunkt und vollständigem Rückmeldeinhalt gespeichert.

Bei erfolgreicher Rückmeldung wird zusätzlich die Rechnungserstellung und der Rechnungsversand über die Checkout-Logik angestoßen.

Bestellung und Rückmeldungen

In der Bestellung zeigt das Modul gespeicherte Postfinance-Rückmeldungen aus den Zahlungsdaten an.

  • Payment requested: Zahlung wurde angefragt.
  • Authorized: Zahlung wurde autorisiert.
  • Authorization waiting: Autorisierung wartet.
  • Authorization not known: Autorisierung ist unbekannt.
  • Payment uncertain: Zahlungsstatus ist unsicher.
  • Payment processing: Zahlung wird verarbeitet.
  • Cancelled by client: Abbruch durch Kundschaft.
  • Authorization refused: Autorisierung wurde abgelehnt.

Jeder Logeintrag zeigt den übersetzten Status, den Zeitpunkt und den gespeicherten Rückmeldeinhalt. Dadurch lässt sich nachvollziehen, welche Rückmeldung Postfinance zur Bestellung geliefert hat.

Filter, Tabellen und Optionen

Die Postfinance-Einstellungsseite enthält keine eigene filterbare Liste, keinen DataFilter und keine konfigurierbare BsTable. Deshalb wird kein Spalten-Snippet verwendet.

  • Die sichtbaren Felder liegen direkt im spezifischen Zahlungsarten-Formular.
  • Die Bestellansicht zeigt gespeicherte Rückmeldeblöcke, aber keine sortierbare Tabellenliste.
  • Eine eigene Optionsspalte mit Zeilenaktionen existiert für Postfinance nicht.
  • Eine Rückzahlungsaktion ist im aktuellen Postfinance-Modul nicht vorhanden.

Prüfung nach Änderungen

  • Nach Änderung von pspid oder sha1 eine Zahlung mit kleinem Betrag testen.
  • Nach Änderung der Feedback-Einstellungen eine Server-Rückmeldung im Bestelllog prüfen.
  • Nach Designänderungen kontrollieren, ob die Postfinance-Zahlseite erwartungsgemäß dargestellt wird.
  • Nach Änderung der Statusfelder erfolgreiche Zahlung, Abbruch und abgelehnte Autorisierung prüfen.
  • Bei Rechnungserstellung prüfen, ob FiBu-Modul, Rechnungserzeugung und Rechnungsversand zusammenpassen.

War diese Seite hilfreich?

Hilf uns, das Handbuch weiter zu verbessern. Wenn etwas fehlt oder unverständlich ist, kannst Du direkt einen kurzen Kommentar senden.