payment bündelt die komplette Zahlungskonfiguration des Shops inklusive einzelner Zahlungsarten (Anzeige, Regeln) und Payment-Providern wie PayPal, Stripe oder Computop.
payment* - Grundstruktur
Nachfolgend der Grundaufbau des Knotens payment
{
"payment": {
"payment": {},
"computopHosted": {},
"payPalCheckout": {},
"payPalPlus": {},
"stripe": {},
"transactionSettings": {}
}
}
Parameterbeschreibung
| Parameter | Beschreibung |
|---|---|
payment | Steuert, welche Zahlungsarten im Shop angeboten werden. |
computopHosted | Konfiguriert die Anbindung an Computop. |
payPalCheckout | Konfiguriert die Anbindung an PayPal-Checkout. |
payPalPlus | Konfiguriert die Anbindung an PayPal Plus. |
stripe | Konfiguriert die Anbindung an Stripe. |
transactionSettings | Legt zentral fest, welche Funktionen von den Zahlungsanbietern unterstützt werden (z.B. refund, manual, capturing). |
payment.computopHosted - Computop Hosted Payments
Mit payment.computopHosted lässt sich Computop als gehostete Zahlungsseite einbinden. Der Knoten steuert beispielsweise Betriebsmodus (Live / Test), Verschlüsselung und Sprache / Template der Bezahlseite.
Beispielkonfiguration (payment.computopHosted.creditcard)
{
"callbackUrl": "",
"capturingMode": "auto",
"chDesc": "",
"encryption": "blowfish",
"hmacKey": "",
"hostedCheckBoxDefaultChecked": false,
"hostedTemplateName": "Websale",
"id": "creditcard",
"languageCode": "",
"linkValidForSeconds": 500,
"mode": "test",
"passCredentialOnFile": true,
"pwLarge": "",
"sendIPAddr": true,
"sendIPZone": true,
"sendZone": true,
"totalSumAddition": 0,
"uid": "Websale"
}
Parameterbeschreibung
| Parameter | Typ | Beschreibung |
|---|---|---|
callbackUrl | string | Name des Shop-Templates (Views), auf das Computop den Kunden nach der Zahlung zurückleitet. Aus der URL dieses Templates wird die Rückkehr-Adresse gebaut; der Ausgang der Zahlung wird dabei als URL-Parameter wsPaymentStatus (refresh bzw. cancel bei Abbruch) angehängt. |
capturingMode | enum | Zulässige Werte: auto= die Zahlung wird in einem Schritt geprüft und direkt eingezogen. manual= der Betrag wird beim Checkout nur reserviert, aber noch nicht belastet. |
chDesc | string | Text, der beim Zahler erscheint (z.B. auf der Kartenabrechnung). |
encryption | enum | Zulässige Werte: aes = Moderne Verschlüsselungsoption. blowfish= ältere Verschlüsselungsoption, die noch unterstützt wird. |
hmacKey | string | Geheimschlüssel für Prüfungen der Daten gegenüber Computop. |
hostedCheckBoxDefaultChecked | bool | Setzt eine von Computop bereitgestellte Einverständnis-Checkbox auf aktiv oder nicht aktiv (true / false). |
hostedTemplateName | string | Name des Templates der gehosteten Computop-Bezahlseite. |
id | string | Eindeutige Kennung der Zahlart (z.B. creditcard). Frei wählbar. |
languageCode | string | Sprache der Hosted-Page (z.B. de, en). Leer = Standard von Computop. |
linkValidForSeconds | int | Gültigkeitsdauer des Zahlungslinks in Sekunden. |
mode | enum | Betriebsmodus der Computop-Integration. Zulässige Werte: - test= für Sandbox Tests - live= Verwendung in der Produktion. |
passCredentialOnFile | bool | Kennzeichnet “Kartendaten hinterlegt” für Folgetransaktionen, sofern unterstüzt. |
pwLarge | string | Zusätzliches Passwort gemäß Computop-Spezifikation. Das Passwort wird für die verschlüsselte Übertragung verwendet. |
sendIPAddr | bool | Übermittelt die Kunden-IP-Adresse an Computop. |
sendIPZone | bool | Übermittelt die aus der IP abgeleitete Zone (z.B. Land / Region) an Computop. |
sendZone | bool | Übermittelt die Shop-Zone (z.B. Lieferzone) an Computop. |
totalSumAddition | float | Fester Auf-/Abschlag in Währungseinheiten auf die Gesamtsumme der Zahlart. (z.B. 0.30). 0= kein Auf-/Abschlag. Nur möglich, wenn capturingMode den Wert manual hat. |
uid | string | Händler-/Account-ID bei Computop. |
payment.payment - Zahlungsarten anlegen
Der Knoten payment.payment fasst alle Zahlarten des Shops zusammen. Hier kann beispielsweise definiert werden, ob eine Zahlart aktiv ist, wie sie im Checkout heißen und aussehen soll, welcher Provider sie bedient und welche Regeln gelten.
Beispielkonfiguration (payment.payment.paypalCheckout)
{
"active": true,
"availableByDefault": true,
"basicCost": [
{ "subtotal": 0, "cost": 2.5 },
{ "subtotal": 50, "cost": 0 }
],
"description": "<Textbaustein>",
"longDescription": "<Textbaustein>",
"discount": 0,
"displayedPaymentTypes": null,
"freeFields": null,
"id": "paypalCheckout",
"image": "",
"labels": ["<Textbaustein>"],
"name": "<Textbaustein>",
"onlineClearing": {
"options": {
"view": "paypal_checkout_pending.htm"
},
"service": "payment.paypal-checkout"
},
"orderText": "<Textbaustein>",
"provider": "",
"type": "",
"validations": [
{ "service": "paymentValidation.voucherDeny" }
]
}
Parameterbeschreibung
| Parameter | Typ | Beschreibung |
|---|---|---|
active | bool | Zahlart im Checkout ein / aus. |
availableByDefault | bool | Steuert, ob die Zahlart standardmäßig für alle Kunden verfügbar ist (Standard: true). Bei false steht die Zahlart Gästen und normalen Kundenkonten nicht zur Verfügung. Sie kann dann gezielt für einzelne Kundenkonten freigeschaltet werden, indem die Zahlart über die Admin-API in die Liste enabledPaymentMethods des Kontos aufgenommen wird (siehe API-Referenz Kundendaten). Umgekehrt kann eine standardmäßig verfügbare Zahlart über die Liste blockedPaymentMethods für einzelne Konten gesperrt werden. |
id | string | Eindeutige Kennung der Zahlart, z.B. paypalCheckout |
name | Textbaustein (string) | Anzeigename im Checkout, z.B. “PayPal”. |
orderText (demnächst verfügbar) | Textbaustein (string) | Technischer Übergabewert für angebundene Drittsysteme, der mit der Bestellung exportiert wird. |
labels (demnächst verfügbar) | list / textbaustein (string) | Optionale Kurzkennzeichnung für die Zahlart, die im Checkout als Hinweis angezeigt werden kann. |
type (demnächst verfügbar) | string | Beschreibt die Art der Zahlabwicklung und hilft bei der Darstellung im Checkout. Übliche Werte sind z.B.: online- Zahlung läuft über einen Provider. offline- Zahlung wird manuell abgewickelt. |
onlineClearing | singleService | Verknüpft die Zahlart mit einer konkreten Online-Zahlungs-Engine und schaltet damit den Echtzeit-Zahlungsablauf frei. target: payment |
provider (demnächst verfügbar) | string | Technischer Provider-Key (z.B. stripe) |
image (demnächst verfügbar) | string | Icon/Logo-URL für die Zahlart. |
basicCost | list (object) | Kosten der Zahlart, gestaffelt nach der Zwischensumme des Warenkorbs. Pro Eintrag: - subtotal (float) - Zwischensumme, ab der der Eintrag gilt - cost (float) - Kosten der Zahlart in Währungseinheiten Im Beispiel oben kostet die Zahlart 2,50 und ist ab einer Zwischensumme von 50 kostenlos. Die Kosten fließen im Checkout in $wsCheckout.sum.paymentCost ein. |
displayedPaymentTypes | list (object) | Mit diesem Parameter können für eine Zahlungsart mehrere Einträge mit eigenem Namen, Icon, Bild oder Beschreibung hinterlegt werden. Dies ist vor allem dann relevant, wenn z.B. Payment-Provider wie Stripe direkt als Zahlungsarten konfiguriert werden, die enthaltenen Zahlungsmöglichkeiten jedoch außerhalb des Bestellablaufs separat dargestellt werden sollen - z.B. im Footer oder auf einer Zahlungsarten-Informationsseite. Die Anzeige der enthaltenen Zahlungsmöglichkeiten im Bestellablauf erfolgt in der Regel über den jeweiligen Provider. Pro Eintrag können folgende Eigenschaften gesetzt werden: - name - Anzeigename der Zahlungsoption - image - Pfad oder URL zu einem Bild / Icon der Zahlungsoption - description - Beschreibungstext der Zahlungsoption Die Ausgabe im Template erfolgt über die Variable des $wsConfig-Moduls, über die die konfigurierten Einträge im Frontend an der gewünschten Stelle ausgegeben werden können. |
validations | multiService | Regeln und Checks für die Verfügbarkeit einer Zahlart (z.B. paymentValidation.voucherDeny- sperrt die Zahlart bei Gutschein-Warenkörben, paymentValidation.userAgent - schränkt die Zahlart auf bestimmte Geräte oder Browser ein). Mehr unter: Validierungs- und Prüfservices target: paymentValidation |
discount (demnächst verfügbar) | float | Rabatt / Abschlag in Währungseinheiten. (z.B. 2.00- Kunde Zahlt 2€ weniger mit dieser Zahlart). |
description | Textbaustein (string) | Längere Beschreibung / Hinweise zur Zahlungsart. |
longDescription | Textbaustein (string) | Noch ausführlichere Variante des Beschreibungstextes als description, beispielsweise für eine Zahlungsarten-Informationsseite oder ausführliche Hinweise. |
freeFields | list (string) | Freie Felder (z.B. zusätzliche Infos bei Rechnungskauf abfragen, wie Geburtstdatum oder Firmeninfos). Wird aktuell nur für Computop verwendet. |
payment.payPalCheckout - PayPal Checkout Konfiguration
Der Knoten payment.payPalCheckout konfiguriert den PayPal Checkout im Shop. Darunter beispielsweise die Aktivschaltung, die Einstellung des Modus (Live / Testmodus) und die Sprache.
Beispielkonfiguration
{
"active": true,
"approvalTemplate": "",
"brandName": "Websale AG",
"cancelTemplate": "",
"customerServiceInstructions": null,
"denyPendingPayments": true,
"dummyProductAddition": "dummy product",
"errorTemplate": "",
"expressCheckoutAllow": true,
"expressCheckoutApplePayAllow": false,
"expressCheckoutGooglePayAllow": false,
"languageCode": "de-DE",
"logoUrl": "",
"mode": "sandbox",
"payerId": ""
}
Parameterbeschreibung
| Parameter | Typ | Beschreibung |
|---|---|---|
active (demnächst verfügbar) | bool | Schaltet PayPal Checkout ein / aus. |
payerId | string | Paypal Merchant-ID des Händlerkontos. |
dummyProductAddition | string | Optionaler Zusatztext für Artikelnamen, falls PayPal eine Mindestangabe fordert. (z.B. Platzhalter bei leeren Namen). |
denyPendingPayments | bool | true- Bestellungen mit dem PayPal-Status “pending” werden abgelehnt bzw. nicht fortgeführt. false- “pending” wird zugelassen. |
brandName | string | Händlername, der angezeigt wird. |
languageCode | string | Anzeigesprache für PayPal (z.B. de-DE, en-US). |
logoUrl | string | URL zu einem Logo für die Darstellung im PayPal-Checkout. |
customerServiceInstructions | list (string) | Optionale Kundenhinweise, die im PayPal-Kontext angezeigt werden können. |
mode | enum | Betriebsmodus des PayPal-Checkouts. sandbox- Testmodus live- Produktivmodus Default: sandbox |
approvalTemplate | string | Name des Shop-Templates (Views), auf das der Kunde nach erfolgreicher Bestätigung der PayPal-Zahlung zurückgeleitet wird. Aus der URL dieses Templates wird die Rückkehr-Adresse gebaut, mit dem URL-Parameter wsPaymentStatus=refresh. Sie steht im Frontend als approvalUrl bzw. expressApprovalUrl in der Rückgabe von $wsPayPalCheckout.loadData() zur Verfügung. |
errorTemplate | string | Name des Shop-Templates (Views), auf das der Kunde bei einem Fehler im PayPal-SDK geleitet wird (URL-Parameter wsPaymentStatus=error). Im Frontend als errorUrl in der Rückgabe von loadData() verfügbar. |
cancelTemplate | string | Name des Shop-Templates (Views), auf das der Kunde nach dem Abbruch der PayPal-Zahlung geleitet wird (URL-Parameter wsPaymentStatus=cancel). Im Frontend als cancelUrl in der Rückgabe von loadData() verfügbar. |
expressCheckoutAllow | bool | Erlaubt PayPal Express (Direktkauf-Buttons z.B. im Warenkorb oder am Produkt). Default: false |
expressCheckoutApplePayAllow | bool | Erlaubt Apple Pay Express über die PayPal Commerce Platform. Ob Apple Pay Express im Frontend angeboten werden kann, gibt $wsPayPalCheckout.expressCheckoutApplePay aus. |
expressCheckoutGooglePayAllow | bool | Erlaubt Google Pay Express über die PayPal Commerce Platform. Ob Google Pay Express im Frontend angeboten werden kann, gibt $wsPayPalCheckout.expressCheckoutGooglePay aus. |
payment.payPalPlus - PayPal Plus Konfiguration
PayPal Plus war eine integrierte Zahlungslösung für Online-Händler, die PayPal, Lastschrift, Kreditkarte und Kauf auf Rechnung in einem Modul gebündelt hat. Inzwischen wurde PayPal Plus durch das neue PayPal Checkout abgelöst. Die Integration wurde daher aus der aktuellen Software-Generation entfernt.Der Knoten Parameterbeschreibung
payment.payPalPlus konfigurierte ehemals PayPal Plus im Shop. Darunter beispielsweise die Aktivschaltung, die Einstellung des Modus (Live / Testmodus) und die Sprache.Beispielkonfiguration{
"active": false,
"denyPendingPayments": true,
"dummyProductAddition": "dummy product",
"experienceProfileID": "<PROFILEID>",
"merchantId": "<MERCHANTID>",
"mode": "sandbox"
}
| Parameter | Typ | Beschreibung |
|---|---|---|
active (demnächst verfügbar) | bool | Schaltet PayPal Plus ein / aus. |
merchantId | string | Paypal Merchant-ID des Händlerkontos. |
dummyProductAddition | string | Optionaler Zusatztext für Artikelnamen, falls PayPal eine Mindestangabe fordert. (z.B. Platzhalter bei leeren Namen). |
experienceProfileID | string | ID eines PayPal-Experience-Profils (steuert u.a. Darstellung / Branding im PayPal-Flow). |
denyPendingPayments | bool | true- Bestellungen mit dem PayPal-Status “pending” werden abgelehnt bzw. nicht fortgeführt. false- “pending” wird zugelassen. |
mode | enum | Betriebsmodus von PayPalPlus. sandbox- Testmodus live- Produktivmodus Default: sandbox |
payment.stripe - Stripe Konfiguration
Der Knoten payment.stripe konfiguriert Stripe als Zahlungsdienstleister. Darunter beispielsweise die Aktivschaltung, die Einstellung des Modus (Live / Testmodus) und die Sprache.
Beispielkonfiguration
{
"active": false,
"autoRefundOnError": true,
"mode": "sandbox",
"savedPaymentMethods": {
"displaySavedPaymentMethods": false,
"maxDisplayedSavedPaymentMethods": 3,
"paymentMethodAllowDelete": false,
"paymentMethodAllowSave": false
},
"targetAccount": ""
}
Parameterbeschreibung
| Parameter | Typ | Beschreibung |
|---|---|---|
active | bool | Schaltet den Stripe-Connector ein / aus. |
mode | enum | Betriebsmodus von Stripe. sandbox- Testmodus live- Produktivmodus Default: sandbox |
targetAccount | string | Stripe-Konto (z.B. Account-ID), an das Zahlungen gebucht werden. |
autoRefundOnError | bool | Aktiviert die automatische Rückerstattung, wenn während der Bestellverarbeitung seitens Websale ein Fehler auftritt. Bereits bezahlte, aber ungültige Bestellungen werden dadurch automatisch erstattet. Ist die Option deaktiviert, müssen solche Fälle manuell in Stripe rückerstattet werden. Default: true |
savedPaymentMethods | object | Steuerung der gespeicherten Zahlungsarten. |
displaySavedPaymentMethods | bool | Bereits gespeicherte Zahlungsarten im Checkout anzeigen. |
maxDisplayedSavedPaymentMethods | int | Maximal anzuzeigende gespeicherte Zahlungsarten. Default: 3 |
paymentMethodAllowSave | bool | Kunden dürfen neue Zahlungsmittel speichern. |
paymentMethodAllowDelete | bool | Kunden dürfen gespeicherte Zahlungsarten löschen. |
payment.transactionSettings - Transaktionseinstellungen (global)
Der Knoten payment.transactionSettings legt fest, welche Aktionen man im Store-Backend für Zahlungen ausführen kann - z.B. Rückzahlungen, Storno, Status aktualisieren oder Betrag einziehen.
Für jeden Zahlungsanbieter wird konfiguriert, ob die jeweilige Aktion erlaubt ist und welche Eingaben dabei abgefragt werden.
Beispielkonfiguration
{
"clearers": [
{
"name": "paypalCheckout",
"options": [
{ "name": "refund", "active": true, "additionalFields": [
{ "name": "amount", "type": "decimal", "required": true },
{ "name": "reason", "type": "string", "required": false }
]},
{ "name": "cancel", "active": true, "additionalFields": [] },
{ "name": "refresh", "active": true, "additionalFields": [] },
{ "name": "capture", "active": false, "additionalFields": [] }
]
},
{
"name": "stripe",
"options": [
{ "name": "refund", "active": true, "additionalFields": [
{ "name": "amount", "type": "decimal", "required": false },
{ "name": "reference", "type": "string", "required": false }
]},
{ "name": "cancel", "active": true, "additionalFields": [] },
{ "name": "refresh", "active": true, "additionalFields": [] },
{ "name": "capture", "active": true, "additionalFields": [
{ "name": "amount", "type": "decimal", "required": true }
]}
]
}
]
}
Parameterbeschreibung
| Parameter | Typ | Beschreibung |
|---|---|---|
clearers | list (object) | Liste der angebundenen Zahlungsabwickler, für die Transaktionseinstellungen konfiguriert werden sollen. |
name | string | Technischer Name des Providers (z.B. paypalCheckout, stripe). |
options | list (object) | Definiert pro Provider die erlaubten Aktionen und deren Eingabefelder. |
name | enum | Mögliche Optionen: refund, cancel, refresh, capture |
active | bool | Aktiviert / Deaktiviert die Aktion im Store Backend. |
name | string | Feldname (z.B. amount) |
type | string | Datentyp des Feldes (z.B. string, int). |
required | bool | Definiert, ob es ein Pflichtfeld für die Aktion ist. |
payment.* - Validierungs- und Prüfservices
Die fest vorgegebenen Validierungs- und Prüfservices für den Knoten payment werden in Validations und Services verwendet. Eine Übersicht ist hier zu finden: Validierungs- und Prüfservices