> ## Documentation Index
> Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt
> Use this file to discover all available pages before exploring further.

# payment - Zahlungsmethoden

> Der payment-Knoten bündelt die Zahlungskonfiguration: einzelne Zahlungsarten, Anzeigeregeln und Payment-Provider wie PayPal, Stripe oder Computop.

export const KonfigDeeplink = ({node}) => <>
    Die Einstellung kann über folgenden Link direkt im Admin-Interface geöffnet werden:{" "}
    <code>{`https://<shop-domain>/admin/config/${node}`}</code>{" "}
    (<a href="/konfiguration/konfigurations-deeplinks">Deeplink-Übersicht</a>)
  </>;

export const TextbausteinHinweis = () => <>
    Dieser Text wird über einen Textbaustein realisiert.<br />
    Alles zu Textbausteinen in Konfigurationen finden Sie{" "}
    <a href="https://dokumentation.websale.de/konfiguration#verwendung-von-textbausteinen-in-konfigurationen">hier</a>.
  </>;

Der Knoten `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`

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{
  "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 <br />(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.

<KonfigDeeplink node="payment.computopHosted" />

#### Beispielkonfiguration (`payment.computopHosted.creditcard`)

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{
  "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: <br />`auto`= die Zahlung wird in einem Schritt geprüft und direkt eingezogen. <br />`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: <br />`aes` = Moderne Verschlüsselungsoption. <br />`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. <br />Zulässige Werte: <br />-`test`= für Sandbox Tests <br />- `live`= Verwendung in der Produktion.                                                                                                                                      |
| `passCredentialOnFile`         | bool    | Kennzeichnet "Kartendaten hinterlegt" für Folgetransaktionen, sofern unterstüzt.                                                                                                                                                                                                   |
| `pwLarge`                      | string  | Zusätzliches Passwort gemäß Computop-Spezifikation. <br />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`). <br />`0`= kein Auf-/Abschlag.  <br />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.

<KonfigDeeplink node="payment.payment" />

#### Beispielkonfiguration (`payment.payment.paypalCheckout`)

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{
  "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`).  <br />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](/schnittstellen/admin-interface-api/api-referenz-kundendaten)).  <br />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". <br /><br /><TextbausteinHinweis />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `orderText`   (**demnächst verfügbar)** | Textbaustein (string)        | Technischer Übergabewert für angebundene Drittsysteme, der mit der Bestellung exportiert wird. <br /><br /><TextbausteinHinweis />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `labels`   (**demnächst verfügbar)**    | list / textbaustein (string) | Optionale Kurzkennzeichnung für die Zahlart, die im Checkout als Hinweis angezeigt werden kann. <br /><br /><TextbausteinHinweis />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `type`   (**demnächst verfügbar)**      | string                       | Beschreibt die Art der Zahlabwicklung und hilft bei der Darstellung im Checkout.   <br />Ü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.      <br />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: <br />- `subtotal` (float) - Zwischensumme, ab der der Eintrag gilt <br />- `cost` (float) - Kosten der Zahlart in Währungseinheiten  <br />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`](/frontend/referenz/module/wscheckout#wscheckout-sum) 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.  <br />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 <br />- z.B. im Footer oder auf einer Zahlungsarten-Informationsseite.  <br />Die Anzeige der enthaltenen Zahlungsmöglichkeiten im Bestellablauf erfolgt in der Regel über den jeweiligen Provider.      <br />Pro Eintrag können folgende Eigenschaften gesetzt werden:  <br />- `name` - Anzeigename der Zahlungsoption <br />- `image` - Pfad oder URL zu einem Bild / Icon der Zahlungsoption <br />- `description` - Beschreibungstext der Zahlungsoption  Die Ausgabe im Template erfolgt über die Variable des [\$wsConfig-Moduls](/frontend/referenz/module/wsconfig), ü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 <br />(z.B. `paymentValidation.voucherDeny`- sperrt die Zahlart bei Gutschein-Warenkörben, `paymentValidation.userAgent` - schränkt die Zahlart auf bestimmte Geräte oder Browser ein).  <br />Mehr unter: [Validierungs- und Prüfservices](/konfiguration/validierungs-und-prufservices)  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. <br /><br /><TextbausteinHinweis />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `longDescription`                       | Textbaustein (string)        | Noch ausführlichere Variante des Beschreibungstextes als `description`, beispielsweise für eine Zahlungsarten-Informationsseite oder ausführliche Hinweise. <br /><br /><TextbausteinHinweis />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `freeFields`                            | list (string)                | Freie Felder (z.B. zusätzliche Infos bei Rechnungskauf abfragen, wie Geburtstdatum oder Firmeninfos).   <br />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.

<KonfigDeeplink node="payment.payPalCheckout" />

#### Beispielkonfiguration

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{
  "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.   <br />`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. <br />`sandbox`- Testmodus   <br />`live`- Produktivmodus  <br />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()`](/frontend/referenz/module/wspaypalcheckout#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).  <br />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`](/frontend/referenz/module/wspaypalcheckout#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`](/frontend/referenz/module/wspaypalcheckout#wspaypalcheckout-expresscheckoutgooglepay) aus.                                                                                                                                                                                 |

***

## `payment.payPalPlus` - PayPal Plus Konfiguration

<Warning>
  **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**](/frontend/referenz/module/wspaypalcheckout) abgelöst. Die Integration wurde daher aus der aktuellen Software-Generation entfernt.

  Der Knoten `payment.payPalPlus` konfigurierte ehemals PayPal Plus im Shop. Darunter beispielsweise die Aktivschaltung, die Einstellung des Modus (Live / Testmodus) und die Sprache.

  **Beispielkonfiguration**

  ```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
  {
    "active": false,
    "denyPendingPayments": true,
    "dummyProductAddition": "dummy product",
    "experienceProfileID": "<PROFILEID>",
    "merchantId": "<MERCHANTID>",
    "mode": "sandbox"
  }
  ```

  **Parameterbeschreibung**

  | **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.   <br />`false`- "**pending**" wird zugelassen. |
  | `mode`                               | enum    | Betriebsmodus von PayPalPlus. <br />`sandbox`- Testmodus   <br />`live`- Produktivmodus  <br />Default: `sandbox`                                 |
</Warning>

***

## `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.

<KonfigDeeplink node="payment.stripe" />

#### Beispielkonfiguration

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{
  "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. <br />`sandbox`- Testmodus   <br />`live`- Produktivmodus  <br />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. <br />Bereits bezahlte, aber ungültige Bestellungen werden dadurch automatisch erstattet.  <br />Ist die Option deaktiviert, müssen solche Fälle manuell in Stripe rückerstattet werden.  <br />Default: `true` |
| `savedPaymentMethods`             | object  | Steuerung der gespeicherten Zahlungsarten.                                                                                                                                                                                                                                                                                           |
| `displaySavedPaymentMethods`      | bool    | Bereits gespeicherte Zahlungsarten im Checkout anzeigen.                                                                                                                                                                                                                                                                             |
| `maxDisplayedSavedPaymentMethods` | int     | Maximal anzuzeigende gespeicherte Zahlungsarten.  <br />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.

<KonfigDeeplink node="payment.transactionSettings" />

#### Beispielkonfiguration

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{
  "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](/konfiguration/validierungs-und-prufservices)
