Skip to content

Commit

Permalink
Added Postfinance Checkout
Browse files Browse the repository at this point in the history
  • Loading branch information
aschempp committed Nov 28, 2024
1 parent 1e374b9 commit 7d23eee
Show file tree
Hide file tree
Showing 15 changed files with 158 additions and 0 deletions.
34 changes: 34 additions & 0 deletions docs/payment-pfc/_index.de.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
title: "Postfinance Checkout für Isotope eCommerce"
---

# PostFinance Checkout

[PostFinance Checkout][website] ist eine Online-Zahlungslösung der Schweizerischen PostFinance.

> Mit PostFinance Checkout erhalten Sie eine flexible und funktionsstarke Payment Service Providing Lösung für Ihren
> Onlineshop erweiterbar mit einem Zahlungsterminal für den stationären Verkauf. Zahlungsarten, Funktionen und Terminals
> können gemäss Ihren Bedürfnissen konfiguriert werden.
Die Lösung bietet verschiedene Zahlungsmöglichkeiten, darunter Kreditkarten (VISA, MasterCard), PostFinance Card,
PostFinance E-Finance und TWINT. Die Erweiterung für Isotope eCommerce unterstützt sowohl [_Checkout All-in-One_][all-in-one] als auch [_Checkout Flex_][flex].


## Einrichtung

Nach der Installation gemäss [Extension Store](https://extensions.terminal42.ch) steht die neue Zahlungsmethode im
Isotope Backend zur Verfügung.

![Zahlungsmodul auswählen](modul.png)


PostFinance Checkout bietet eine kostenlose Testversion, für welche man sich auf dem [Portal][portal] frei registrieren
kann. Mit dem Testkonto kann die volle Funktionalität in Isotope eCommerce getestet werden, erst nach Vertragsabschluss
werden tatsächliche Kosten berechnet und können echte Transaktionen durchgeführt werden.

[Weiterlesen](./einrichtung/)

[website]: https://www.postfinance.ch/de/unternehmen/produkte/einkassieren/onlineshop.html
[all-in-one]: https://www.postfinance.ch/de/unternehmen/produkte/einkassieren/onlineshop/e-payment-all-in-one.html
[flex]: https://www.postfinance.ch/de/unternehmen/produkte/einkassieren/onlineshop/e-payment-flex.html
[portal]: https://checkout.postfinance.ch
49 changes: 49 additions & 0 deletions docs/payment-pfc/configuration/_index.de.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
title: "Einrichtung"
description: "Einrichtung von PostFinance Checkout"
url: "einrichtung"
weight: 100
---

PostFinance Checkout bietet eine kostenlose Testversion, für welche man sich auf der [Webseite][website] frei registrieren
kann. Mit dem Testkonto kann die volle Funktionalität in Isotope eCommerce getestet werden, erst nach Vertragsabschluss
werden tatsächliche Kosten berechnet und können echte Transaktionen durchgeführt werden.


## Zahlungsmethode konfigurieren

Für die Einrichtung im Isotope Backend werden folgende Zugangsdaten benötigt:
1. Space ID
2. User ID
3. Api Secret (Authentication Key)

![Isotope Modulkonfiguration](zugangsdaten.png)


### Space anlegen

Das PostFinance Checkout System ist so ausgelegt, dass mit demselben Benutzerkonto mehrere Shops oder andere
Zahlungssysteme bedient werden können. Diese werden jeweils über eigene sogenannte _Spaces_ konfiguriert.

Nach der Einrichtung eines Spaces ist dessen ID im Dashboards ersichtlich.

![Space-ID](space-id.png)


### Applikationsbenutzer anlegen

Ausserdem benötigen wir einen Applikationsbenutzer, um Isotope Zugang zur PostFinance API zu geben.

![Applikationsbenutzer anlegen](api-benutzer.png)

Geben Sie dem Benutzer einen Namen der sich auf den Shop bezieht, z.B. die verwendete Domain. Danach erhalten Sie die
Zugriffsdetails, welche im Isotope Zahlungsmodul konfiguriert werden müssen. Notieren Sie sich die **Benutzer-ID** sowie
den **Authentication Key**.

Ausserdem muss der Applikationsbenutzer eine Rolle für den Zugriff auf den entsprechenden Space erhalten. Fügen Sie
dazu eine neue Space-Rolle hinzu.
![Applikationsbenutzer-Rollen zuweisen](api-rollen.png)



[website]: https://checkout.postfinance.ch/
Binary file added docs/payment-pfc/configuration/api-benutzer.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/payment-pfc/configuration/api-rollen.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/payment-pfc/configuration/space-id.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/payment-pfc/configuration/zugangsdaten.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/payment-pfc/modul.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
56 changes: 56 additions & 0 deletions docs/payment-pfc/webhooks/_index.de.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
---
title: "Webhooks"
description: "Webhooks für PostFinance Checkout"
url: "webhooks"
weight: 200
---

Um die Zuverlässigkeit der Zahlungsschnittstelle zu verbessern, sollten Webhooks für die
Verarbeitung des Zahlungsstatus konfiguriert werden.

{{% notice note %}}
Beachte das Webhooks nicht auf lokalen Testsystemen funktionieren, oder wenn du
deinen Shop mittels .htaccess-Passwort geschützt hast.
{{% /notice %}}

Webhooks bestehen bei Postfinance Checkout aus einer **URL** uns einem oder mehreren **Listeners**.
Um diese einzurichten, navigiere im Portal in deinen Space und danach Links unten auf _Einstellungen_ und dann
in den Tabs auf _Generell_. Hier findest du die beiden nötigen Punkte.

![](navigation.png)


## Webhook-URLs

Als Erstes musst du die URL deines Shops konfigurieren. Gehe dazu auf _Webhook-URLs_ und lege
einen neuen Datensatz an. Gibt einen Namen für deinen Shop und die URL zur Postsale-Schnittstelle von Isotope ein.
Die URL beginnt mit deiner Domain, die Zahl am Ende bezieht sich auf die Datenbank-ID der Zahlungsart.

{{% notice tip %}}
Die korrekte URL wird in deinem Shop-Backend angezeigt, wenn du die Zahlungsmethode bearbeitest.
{{% /notice %}}

![](url.png)


## Webhook-Listeners

Mit der _Webhook-URL_ weis Postfinance Checkout, unter welcher URL dein Shop informiert werden kann.
Nun müssen wir noch mitteilen, welche Informationen uns interessieren. Lege dazu einen **Webhook-Listener** an.

Wähle im ersten Schritt **Transaktion** als Entität. Im nächsten Schritt musst du dann die entsprechenden Felder
ausfüllen. Gib dem Listener einen Namen, wähle die neue angelegte URL aus und selektiere mindestens
die folgende vier _Entity States_:
- Bestätigt
- Autorisiert
- Abgeschlossen
- Liefern

![](listener.png)


## Testing

Leider lassen sich die Webhooks nicht direkt aus Postfinance testen. Du siehst aber, ob alles korrekt eingerichtet ist,
wenn du eine Testbestellung durchführst. Sobald diese abgeschlossen ist, sollte im Backend-Log von Contao ein Eintrag
beginnend mit `New post-sale request: …` zu sehen sein.
Binary file added docs/payment-pfc/webhooks/listener.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/payment-pfc/webhooks/navigation.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/payment-pfc/webhooks/url.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 12 additions & 0 deletions page/config/payment-pfc/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
contentDir: '../docs/payment-pfc'
title: 'PostFinance Checkout'
defaultContentLanguageInSubdir: true
DefaultContentLanguage: de

menu:
shortcuts:
-
name: "<i class='fas fa-shopping-cart'></i> Extension Store"
identifier: "ds"
url: "https://extensions.terminal42.ch/p/payment-pfc"
weight: 10
3 changes: 3 additions & 0 deletions page/config/payment-pfc/languages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
de:
languageName: Deutsch
weight: 1
3 changes: 3 additions & 0 deletions page/config/payment-pfc/params.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
DocumentationTitleDe: PostFinance Checkout
extensionPermalink: https://extensions.terminal42.ch/p/payment-pfc
extensionIcon: payment-pfc.svg
1 change: 1 addition & 0 deletions page/static/images/logos/payment-pfc.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 7d23eee

Please sign in to comment.