|
|
# Handbuch für den WooCommerce Administrator
|
|
|
|
|
|
Dieses Handbuch richtet sich an den Administrator und beschreibt die Installation und Grundeinrichtung des CrefoPay WooCommerce Plugins.
|
|
|
|
|
|
## Inhalt
|
|
|
|
|
|
- [Handbuch für den WooCommerce Administrator](#handbuch-f%c3%bcr-den-woocommerce-administrator)
|
|
|
- [Handbuch für den WooCommerce Administrator](#handbuch-für-den-woocommerce-administrator)
|
|
|
- [Installation](#installation)
|
|
|
- [Wordpress Plugin Manager (empfohlen)](#wordpress-plugin-manager-empfohlen)
|
|
|
- [Installation Abschließen](#installation-abschließen)
|
|
|
- [Grundkonfiguration](#grundkonfiguration)
|
|
|
- [Bezeichnung](#bezeichnung)
|
|
|
- [Protokollierung](#protokollierung)
|
|
|
- [Authentifizierung](#authentifizierung)
|
|
|
- [Business-2-Business](#business-2-business)
|
|
|
- [Benachrichtigungsservice](#benachrichtigungsservice)
|
|
|
- [Aktivierung](#aktivierung)
|
|
|
- [Verwandt](#verwandt)
|
|
|
- [Aktivierung](#aktivierung)
|
|
|
- [Optionen](#optionen)
|
|
|
- [Auto Capture](#auto-capture)
|
|
|
- [B2B Transaktionen](#b2b-transaktionen)
|
|
|
- [Protokollierung](#protokollierung)
|
|
|
- [Protokoll Stufe](#protokoll-stufe)
|
|
|
- [Standardsprache](#standardsprache)
|
|
|
- [Warenkorbgültigkeit](#warenkorbgültigkeit)
|
|
|
- [Bestellstatus](#bestellstatus)
|
|
|
- [Automation Tab](#automation-tab)
|
|
|
- [Status für Auto-Cancel](#status-für-auto-cancel)
|
|
|
- [Status für Auto-Capture](#status-für-auto-capture)
|
|
|
- [Status für Auto-Finish](#status-für-auto-finish)
|
|
|
- [Zahlungsarten](#zahlungsarten)
|
|
|
- [Rechnungskauf](#rechnungskauf)
|
|
|
- [Verarbeitung Status Benachrichtigungen](#verarbeitung-status-benachrichtigungen)
|
|
|
- [Konfiguration der Benachrichtigungs URL](#konfiguration-der-benachrichtigungs-url)
|
|
|
- [Konfiguration der Benachrichtigungs Verarbeitung](#konfiguration-der-benachrichtigungs-verarbeitung)
|
|
|
- [Konfiguration der Bestellstatus](#konfiguration-der-bestellstatus)
|
|
|
|
|
|
## Installation
|
|
|
|
|
|
1. Klonen oder Herunterladen des Plugins aus dem Repository
|
|
|
2. Wenn Sie das Repository als Archiv Datei diese entpacken
|
|
|
2. Verpacken des Ordners `upg` in ein zip-Archiv
|
|
|
3. Hochladen des zip-Archiv mithilfe des Wordpress Plugin Mangers
|
|
|
4. Aktivierung des Plugins `CrefoPay für WooCommerce`
|
|
|
### Wordpress Plugin Manager (empfohlen)
|
|
|
|
|
|
Die [Installation](https://wordpress.org/support/article/managing-plugins/#manual-upload-via-wordpress-admin) des CrefoPay WooCommerce Plugins erfolgt ganz einfach über den Wordpress Plugin Manager. Die aktuellste Version des Plugins kann [hier](https://repo.crefopay.de/crefopay/woocommerce/-/blob/master/crefopay-payment-solution.zip) direkt heruntergeladen werden.
|
|
|
|
|
|
### Installation Abschließen
|
|
|
|
|
|
Nach dem erfolgreichen hochladen und installieren des Plugins, kann direkt die Bestätigung zur Aktivierung durchgeführt werden.
|
|
|
Zu jedem späteren Zeitpunkt kann das Plugin über den Plugin Manager in den installierten Plugins unter dem Titel `CrefoPay Payment Solution` gefunden
|
|
|
und von dort aus *aktiviert*, *deaktiviert* oder bei Bedarf auch *deinstalliert* werden.
|
|
|
|
|
|
Um die CrefoPay Zahlungsarten im Checkout zu verwenden,
|
|
|
müssen im nächsten Schritt noch der Betriebsmodus festgelegt, sowie gültige [Zugangsdaten](#aktivierung) hinterlegt werden.
|
|
|
|
|
|
## Grundkonfiguration
|
|
|
|
|
|
Die Grundkonfiguration des CrefoPay Plugins erfolgt über die WooCommerce Einstellungen für Bezahlgateways; `WooCommerce » Einstellungen » Zahlungen`.
|
|
|
Aktivieren Sie dort die Bezahlmethode "CrefoPay".
|
|
|
Mit einem Klick auf `Verwalten`für die (Bezahl-) Methode `CrefoPay` öffnet sich die Plugin Grundkonfiguration.
|
|
|
|
|
|
### Bezeichnung
|
|
|
|
|
|
| Einstellung | Option | Beschreibung |
|
|
|
|-------------------------|----------|-------------------------------------------------------------------------------------|
|
|
|
| Aktivieren/Deaktivieren | An/Aus | Aktiviert/Deaktiviert die Zahlungsart CrefoPay |
|
|
|
| Bezeichnung | Text | Dieser Text wird im Checkout als Titel der Zahlungsart sichtbar |
|
|
|
| Beschreibung | Text | Dieser Text dient der Beschreibung und ist im Checkout üblicherweise nicht sichtbar |
|
|
|
|
|
|
### Protokollierung
|
|
|
|
|
|
| Einstellung | Option | Beschreibung |
|
|
|
|---------------------|----------|--------------------------------------------------------|
|
|
|
| Protokoll Dateiname | Text | Legt den Dateinamen für das Plugin eigene Logging fest |
|
|
|
| Protokoll Stufe | Dropdown | Legt das Loglevel für das Plugin eigene Logging fest |
|
|
|
|
|
|
### Authentifizierung
|
|
|
|
|
|
| Einstellung | Option | Beschreibung |
|
|
|
|-----------------------------------|---------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
|
| Modus | Sandbox | Live | Schaltet zwischen Testbetrieb (Sandbox) und Livebetrieb um |
|
|
|
| Automatische Buchungen aktivieren | An/Aus | Mit dieser Funktion wird die automatische Buchung aktiviert |
|
|
|
| Risikoklasse | Niedrig/Standard/Hoch | Niedrig: Alle Zahlungen werden zugelassen, es erfolgt keine Prüfung durch CrefoPay. Standard: Alle Zahlungen werden geprüft, bei Risiko wird Auswahl eingegrenzt. Hoch: Es werden nur sichere Zahlungsarten erlaubt, es erfolgt keine Prüfung durch CrefoPay. |
|
|
|
| Standard Sprache | Dropdown | Legt die Standardsprache der CrefoPay Bezahlseite (Hosted Page) fest |
|
|
|
| Händler ID | Zahl | Die CrefoPay Händler ID für den Testbetrieb unterscheidet sich i.d.R. von der für den Livebetrieb |
|
|
|
| Passwort | Text | Das CrefoPay Händler Passwort für den Testbetrieb unterscheidet sich i.d.R. von dem für den Livebetrieb |
|
|
|
| Shop ID | Text | Die CrefoPay Shop ID für den Testbetrieb ist i.d.R. gleich der für den Livebetrieb |
|
|
|
|
|
|
### Business-2-Business
|
|
|
|
|
|
| Einstellung | Option | Beschreibung |
|
|
|
|-------------------------|----------|----------------------------------------------|
|
|
|
| Aktivieren/Deaktivieren | An/Aus | Aktiviert/Deaktiviert die B2B Funktionalität |
|
|
|
|
|
|
### Benachrichtigungsservice
|
|
|
|
|
|
| Status | Beschreibung | Empfehlung |
|
|
|
|------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------|
|
|
|
| Auftrag angelegt | Legt fest in welchen Status eine Bestellung nach erfolgreicher Reservierung wechseln soll. | `In Wartestellung` |
|
|
|
| Fehler bei Auftragserfassung | Legt fest in welchen Status eine Bestellung mit abgebrochener oder fehlerhafter Zahlung wechseln soll. | `Fehlgeschlagen` |
|
|
|
| MNS PAID | Wird für jede automatisch zugeordnete Zahlung ausgelöst. | `No status change` |
|
|
|
| MNS PAYMENTFAILED | Wird für geplatzte Lastschriften oder nicht einlösbare Kreditkartenzahlungen ausgelöst. | `Fehlgeschlagen` |
|
|
|
| MNS CHARGEBACK | Wird für vom Endkunden angewiesene Rückbuchungen ausgelöst. | `Rückbuchung` |
|
|
|
| MNS INDUNNING | Wird nach erfolgreichem Versand der 1. Mahnung durch CrefoPay ausgelöst. | `In Mahnung` |
|
|
|
| MNS ACKNOWLEDGEPENDING | Wird nach jeder erfolgreichen Reservierung ausgelöst. | `No status change` |
|
|
|
| MNS FRAUDPENDING | Wird bei aktivierter Risiko-Queue für betrugsverdächtige Zahlungen ausgelöst. | `Betrugsverdacht` |
|
|
|
| MNS FRAUDCANCELLED | Wird bei Ablehnung einer betrugsverdächtigen Zahlung ausgelöst. | `Betrugsfall` |
|
|
|
| MNS CIAPENDING | Wird bei einer erfolgreich reservierten Vorkasse Zahlung ausgelöst. | `Warte auf Vorkassenzahlung` |
|
|
|
| MNS CANCELLED / EXPIERD | Wird bei Stornierung (CANCEL) oder nicht Abschluss (EXPIRED) einer Zahlung ausgelöst. | `Storniert/Abgebrochen` |
|
|
|
| MNS MERCHANTPENDING | Wird als Bestätigung jeder erfolgreichen Zahlung ausgelöst (bei Vorkasse erst nach Geldeingang) und zeigt damit an, dass die zugehörige Bestellung versendet werden kann. | `In Bearbeitung` |
|
|
|
| MNS DONE | Zeigt an, dass alle offenen Forderungen eines Zahlungsvorgangs ausgeglichen wurden. | `Abgeschlossen` |
|
|
|
|
|
|
#### Aktivierung
|
|
|
|
|
|
Die Aktualisierung der Zahlungsstatus in WooCommerce erfolgt auf Grundlage der CrefoPay Zahlungsbenachrichtigungen bzw. Notifications (siehe auch: [Notification Call](https://docs.crefopay.de/api/#notification-call)). Die Notifications werden dabei jedoch nicht synchron bei Zustellung verarbeitet, sondern zunächst nur validiert, um die Quelle der Information sicher zu stellen, um anschließend in der Datenbank des Shops zwischengespeichert zu werden. Die eigentliche Aktualisierung der Bestellungen wird über einen CronJob gesteuert. Die für den Aufruf erforderliche Cron-URL wird in den Einstellungen des CrefoPay Plugins im WooCommerce Backend angezeigt. (Siehe auch: [CronJob](https://de.wikipedia.org/wiki/Cron))
|
|
|
|
|
|
Beispiel:
|
|
|
```shell
|
|
|
######################################### WooCommerce ##################################################################
|
|
|
*/5 * * * * curl -s https://www.mein.server/woocommerce/index.php/wc-api/wc_hosted_payment_mns_process/ >>/mein/woocommerce/verzeichnis/wp-content/uploads/wc-logs/cron.log
|
|
|
Die Grundkonfiguration der Plugins erfolgt in einem eigenen Menüpunkt, welchen das Plugin bei seiner Aktivierung in den Navigationsbereich im Backend unter `WooCommerce > CrefoPay` einfügt und ist in die folgenden vier Abschnitte [Aktivierung](#aktivierung), [Optionen](#optionen), [Bestellstatus](#bestellstatus) und [Automation Tab](#automation-tab) unterteilt.
|
|
|
|
|
|
### Aktivierung
|
|
|
|
|
|
Die für den CrefoPay Bedtrieb erforderlichen Zugangsdaten erhalten werden entweder direkt vom CrefoPay Service Team oder durch Erstellung eines automatisch generierten [Testzugangs](https://www.crefopay.de/testzugang#testzugang) bereitgestellt.
|
|
|
|
|
|
Benötigt werden immer folgende Zugangsdaten:
|
|
|
|
|
|
- **Merchant ID**
|
|
|
- **Shop ID**
|
|
|
- **Händler Passwort**
|
|
|
- **Public Key**
|
|
|
|
|
|
Die Zugangsdaten sind dabei immer *entweder* für den **Testbetrieb (Sandbox)** *oder* für den **Livebetrieb** passend. Welcher Betriebsmodus von dem Plugin verwendet werden soll, wird über die Einstellung `Betriebsmodus` festgelegt.
|
|
|
|
|
|
### Optionen
|
|
|
|
|
|
Das Plugin bring eine Reihe von Optionen mit, mit denen die internen Prozesse und Abläufe individualisiert werdden können.
|
|
|
|
|
|
#### Auto Capture
|
|
|
|
|
|
Der Auto-Capture sorgt dafür, dass aus jeder reservierten CrefoPay Zahlung auch implizit eine offene Forderung erstellt wird. Das bedeutet, dass Zahlungen wie die Lastschrift sofort nach Kaufabschluss eingezogen werden und auch das Zahlungsziel für einen Rechnungskauf beginnend vom Kaufabschluss berechnet wird. Diese Option sollte deshalb nur dann aktiviert werden, wenn es so gut wie nie Teillieferungen gibt und außerdem eine verbindliche, definierte Lieferzeit der Bestellungen garantiert werden kann. Ursprünglich wurde diese Option für *digital goods*, wie beispielsweise Hörbücher, digitale Zeitschriften usw. entwickelt.
|
|
|
|
|
|
#### B2B Transaktionen
|
|
|
|
|
|
Das CrefoPay System unterscheidet insbesondere bei der Risikobewertung zwischen Business- (B2B) und Privatpersonen- (B2C) Zahlungen. Wird eine Zahlung von einer Privatperson duchgeführt, so wird beispielsweise, bei aktivierter Bonitätsprüfung, die Anrede sowie das Geburtsdatum, zusätzlich zu den Adressinformationen zwingend erforderlich. Für Firmenbestellungen hingegen sind diese Angaben natürlich nicht erforderlich.
|
|
|
|
|
|
Bei aktivierter B2B Option prüft das Plugin, ob im Checkout ein Firmenname angegeben wurde und interpretiert, sollte das Feld befüllt sein, die Zahlung als Businesstransaktion.
|
|
|
|
|
|
**Anmerkung:** Da einige aktuelle Web-Browser mit ihrer Auto-Fill funktion für Formulardaten, häufig das Feld für den Firmennamen falsch befüllen, werden folgende Parameter nicht als Indiz für eine Firmentransaktion berücksichtigt:
|
|
|
|
|
|
- Herr
|
|
|
- Frau
|
|
|
- Mr.
|
|
|
- Ms.
|
|
|
- Mrs.
|
|
|
|
|
|
#### Protokollierung
|
|
|
|
|
|
Die Protokollierung kann grundsätzlich aktiviert oder deaktiviert werden. Die Aktivierung der Protokollierung wird aber dringend empfohlen, da mögliche Fehlerursachen im laufenden Bertrieb häufig nur bei aktivierter Protokollierung eindeutig identifiziert werden können.
|
|
|
|
|
|
#### Protokoll Stufe
|
|
|
|
|
|
Ist die Protokollierung eingeschaltet kann mit Hilfe dieser Option eingestellt werden, welche Art von Vorgängen durch das Plugin protokolliert werden sollen. Die Protokollstufen sind dabei so aufgebaut, dass jede Stufe eine Teilmenge der vorangegangenen Stufe darstellt. Einfacher gesagt, alle Einträge, die mit der Protokollstufe *Error* protokolliert werden, sind vollständig in der nächsten Detailstufe *Warning* enthalten. *Notice* hingegen enthält nicht nur alle Einträge von *Error*, *Warning* und allen darüber liegenden Stufen.
|
|
|
|
|
|
Die empfohlene Protokoll Stufe für den produktiven Einsatz ist *Warning*. Hier sind alle relevanten Informationen enthalten, um im Fehlerfall sinnbringende Hinweise auf eine mögliche Fehlerursache zu erhalten, ohne dass zu viele Informationen gespeichert werden.
|
|
|
|
|
|
#### Standardsprache
|
|
|
|
|
|
Die von dem Plugin genutzte Standardsprache (Locale) legt fest, in welcher Sprache die von CrefoPay generierte Kommunikation verwendet. Dazu gehören:
|
|
|
|
|
|
- Bereitgestellte SEPA Mandatsreferenz
|
|
|
- Einzugsankündigung für SEPA Lastschriften
|
|
|
|
|
|
Wird die Standardsprache nicht festgelegt bzw. die Option auf `Sprache Erkennen` gestellt, so verwendet das Plugin die Funktion `get_user_locale()`, um die aktuellen Spracheinstellungen des Benutzers zu verwenden. Wird dabei keine verfügbare Sprache erkannt, so wird Deutsch als Kommunikationssprache verwendet.
|
|
|
|
|
|
Wird eine Standardspreche festgelegt, so wird immer die festgelegte Auswahl als Kommunikationssprache verwendet.
|
|
|
|
|
|
#### Warenkorbgültigkeit
|
|
|
|
|
|
Mit diesem Parameter wird die Warenkorbgültigkeit für eine Zahlung festgelegt. Der Zahlungsvorgang wird üblicherweise mit dem ersten Klick auf *Jetzt kaufen* begonnen. Die Warenkorbgültigkeit legt fest, wie lange es ab diesem Zeitpunkt möglich ist, die Zahlung zu der Bestellung abzuschließen.
|
|
|
|
|
|
Wird die Zahlung für eine Bestellung nicht innerhalb der Warenkorbgültigkeit durchgeführt, so expired aus CrefoPay Sicht die Zahlung und die zugehörige Bestellung wird abgebrochen bzw. in denjenigen Status versetzt, der für die Expired Notification festgelegt wurde (siehe auch ).
|
|
|
|
|
|
### Bestellstatus
|
|
|
|
|
|
Nach erfolgreicher Aktivierung des Plugins stehen in WooCommerce zwei neue Bestellstatus zur Verfügung, die von dem CrefoPay Plugin zur bestehenden Liste der WooCommerce Bestellstatus hinzugefügt werden:
|
|
|
|
|
|
1. Zahlung reserviert: `wc-payment-reserved`
|
|
|
2. Betrugsverdacht: `wc-payment-fraudpending`
|
|
|
|
|
|
### Automation Tab
|
|
|
|
|
|
Im automation Tab können verschiedene Plugin Automatisierungen eingestellt werden.
|
|
|
|
|
|
#### Status für Auto-Cancel
|
|
|
|
|
|
#### Status für Auto-Capture
|
|
|
|
|
|
#### Status für Auto-Finish
|
|
|
|
|
|
|
|
|
## Zahlungsarten
|
|
|
|
|
|
#### Rechnungskauf
|
|
|
|
|
|
Das Payment Gateway für den CrefoPay Rechnungskauf ist ein direct gateway und erfordert keine Umleitung bei Kaufabschluss. Die Abfrage der Bonität des Endkunden wird automatisch durch CrefoPay geprüft, sofern die entsprechende CrefoPay Option gebucht und im Händler-Account aktiviert wurde.
|
|
|
|
|
|
Da für die Bonitätsprüfung von Privatpersonen ein Geburtsdatum erforderlich ist, wird dieses direkt im Checkout bei Auswahl der Zahlungsart abgefragt. Für Firmenkunden wird das Geburtsdatumsfeld zwar angezeigt, für die Bezahlung ist aber keine Angabe notwendig.
|
|
|
|
|
|
```php
|
|
|
// todo: Aktivierung, Date of Birth, Notification Flow
|
|
|
```
|
|
|
|
|
|
**Weitere Hinweise:**
|
|
|
Um zu prüfen, ob die Verarbeitung der Zahlungsbenachrichtigungen sauber konfiguriert ist, sollte die Datenbanktabelle `wp_woocommerce_payco_mns_messages` überprüft werden. Hier sind insbesondere die Spalten `mns_processed` und `mns_error_processing` wichtig. In einem funktionierenden System haben die Einträge alle eine 1 in der Spalte `mns_processed` und eine 0 in der Spalte `mns_error_processing`.
|
|
|
### Verarbeitung Status Benachrichtigungen
|
|
|
|
|
|
Die CrefoPay API versendet für jede relevante Statusveränderung einer CrefoPay Transaktion eine Benachrichtigung (MNS). [Siehe auch](https://docs.crefopay.de/api/#notification-call)
|
|
|
|
|
|

|
|
|
|
|
|
Die Zustellung der MNS erfolgt als parametrisierter Post-Request, der von dem Callback Controller `WC_API_Crefo_Notification_Callback` entgegengenommen wird.
|
|
|
Dabei speichert dieser Controller die Informationen zunächst in den Meta-Daten der Bestellung. Die Verarbeitung erfolgt asynchron und kann durch den API Controller `WC_API_CrefoPay` ausgelöst werden.
|
|
|
|
|
|
#### Konfiguration der Benachrichtigungs URL
|
|
|
|
|
|
Damit das CrefoPay System den richtigen Controller für die Zustellung der Benachrichtigungen erreichen kann, muss diese in der CrefoPay Konfiguration bekannt gemacht werden. Für den Aufbau der URL, mit der wir diesen Controller erreichen können, gilt:
|
|
|
|
|
|
Benachrichtigungs-URL = <https://{www.meinshop.de}/?wc-api=notification_callback>
|
|
|
|
|
|
{www.meinshop.de}: Bitte mit der Base-URL des Shopsystems ersetzen. Beispiel: www.meinshop.de/woocommerce
|
|
|
|
|
|

|
|
|
|
|
|
---
|
|
|
Hinweis:
|
|
|
Für die folgenden Schritte ist eine administrative Berechtigung erforderlich.
|
|
|
|
|
|
---
|
|
|
|
|
|
1. Loggen Sie sich in den CrefoPay Händler Service Bereich ein.
|
|
|
2. Navigieren Sie zu `Einstellungen » Shop Details` und erweitern den Bereich `URL Konfiguration`.
|
|
|
3. Hinterlegen Sie im Feld `Benachrichtigungsziel-URL` Ihre individuelle Benachrichtigungs-URL.
|
|
|
4. Vergessen Sie nicht Ihre Einstellungen zu Speichern.
|
|
|
|
|
|
#### Konfiguration der Benachrichtigungs Verarbeitung
|
|
|
|
|
|
Um die Verarbeitung der Benachrichtigungen einer Bestellung anzustoßen, stellt das CrefoPay Plugin die API Funktion `notification_process` bereit.
|
|
|
|
|
|
---
|
|
|
Hinweis:
|
|
|
Wir empfehlen dringend die Einrichtung eines Server CronJob. [Siehe auch](https://de.wikipedia.org/wiki/Cron)
|
|
|
|
|
|
---
|
|
|
|
|
|
Beispiel-Abfrage in SQL:
|
|
|
```sql
|
|
|
select `order_id` from wp_woocommerce_payco_mns_messages where `mns_processed` = 0 OR `mns_error_processing` = 1;
|
|
|
```bash
|
|
|
# Beispiel Ausfürhrung der Verarbeitung alle 15 min
|
|
|
*/15 * * * * curl https://www.meinshop.de/?wc-api=notification_process >>/var/log/cron-log-$(date +%Y-%m-%d)
|
|
|
```
|
|
|
*...liefert alle Bestellnummern, bei denen entweder die Bearbeitung (noch) nicht erfolgt ist oder ein Bearbeitungsfehler festgestellt wurde.*
|
|
|
|
|
|
## Verwandt
|
|
|
#### Konfiguration der Bestellstatus
|
|
|
|
|
|
[Handbuch für den WooCommerce Anwender](Handbuch-für-den-WooCommerce-Anwender) |
|
|
Sind die Zustellung und die Verarbeitung der Benachrichtigungen konfiguriert, so können wir uns nun den `Status Automatisierungen` widmen. Diesen Abschnitt finden wir in den Einstellungen des CrefoPay Plugins im Wordpress, Backend im Bereich `WooCommerce » CrefoPay`. Hier definieren wir den WooCommcere Bestellstatus, der auf Grundlage eingehender Status-Benachrichtigungen gesetzt werden wird. [Siehe auch](https://docs.crefopay.de/api/#process-description) |