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

# easyCredit-Ratenkauf

> Wie Sie den Ratenkauf mit easyCredit in WEBSALE V8s einrichten, den Ratenrechner einbinden, Zustimmungstexte und Finanzierungsdaten über die JSON-Schnittstelle anzeigen und die Zinsen behandeln.

Beim Ratenkauf mit easyCredit zahlt der Käufer seinen Warenkorb in Monatsraten, die er selbst wählt. Die TeamBank prüft seine Bonität, übernimmt die Forderung und trägt das Ausfallrisiko. Für den Händler bleibt nur der Versand, und der kann noch am selben Tag laufen, denn Unterschrift und Postident entfallen.

Von allen Zahlungsarten in WEBSALE V8s ist diese die aufwendigste in der Einrichtung. Das liegt daran, dass easyCredit an vier Stellen im Shop sichtbar wird und die Daten dafür auf zwei verschiedenen Wegen hereinkommen:

| Wo | Was | Wie |
| - | - | - |
| Produktdetailseite | Ratenangebot und Ratenrechner | JavaScript von easyCredit |
| Zahlungs- und Versandartenseite | Zustimmungstext und günstigster Finanzierungsplan | JSON-Schnittstelle |
| Payment-Seite bei easyCredit | Bonitätsprüfung und Laufzeitwahl | Weiterleitung |
| Bestellübersicht | Ratenplan, Zinsen, Gesamtsumme | JSON-Schnittstelle |

Die JSON-Schnittstelle ist dabei der Teil, der die Einarbeitung kostet. Sie holt die Daten von easyCredit und macht sie über die `EJD`-Tags im Template zugänglich.

## Wie der Bezahlvorgang abläuft

1. Auf der Produktdetailseite sieht der Käufer, was das Produkt in Raten kosten würde, und kann den Ratenrechner öffnen.
2. Auf der Zahlungs- und Versandartenseite wählt er easyCredit und stimmt der Übermittlung seiner Daten an die TeamBank zu.
3. Der Shop leitet ihn auf eine Seite von easyCredit weiter. Dort werden weitere Angaben abgefragt und geprüft.
4. Fällt die Entscheidung positiv aus, wählt er die Laufzeit innerhalb der bewilligten Grenzen und nimmt das Angebot an.
5. Zurück im Shop zeigt die Bestellübersicht die Finanzierung mit Laufzeit und Zinsen. Der Käufer schließt die Bestellung ab.
6. Er bekommt die Bestätigungsmail des Shops und eine zweite Mail von easyCredit mit Finanzierungs- und Tilgungsplan.

Die Zustimmungstexte holt der Shop bei jedem Aufruf frisch von easyCredit. Ändert die TeamBank etwas an der rechtlich verbindlichen Formulierung, gilt das sofort, ohne dass Sie eingreifen müssen. Schreiben Sie diese Texte deshalb nicht fest ins Template.

## Was easyCredit voraussetzt

Diese Bedingungen sind nicht verhandelbar. Sie schlagen sich unten direkt in der Konfiguration nieder.

| Bedingung | Umgesetzt durch |
| - | - |
| Gesamtbetrag zwischen 200 und 10.000 Euro | `MinTotal-Value` und `MaxTotal-Value` |
| Rechnungsadresse in Deutschland | `BillCountry-Rule` und `BillCountry-List` |
| keine abweichende Lieferadresse | `DenyDifferentDeliveryAddress` |
| Anrede wird abgefragt, und zwar nur „Herr" oder „Frau" | `<AddressFilter>` auf `SalutationCode` |
| Vorname, Nachname, Straße mit Hausnummer, Postleitzahl, Ort, Land werden übergeben | Pflichtfeldprüfungen im Abschnitt `<InputCheck>` |

## Schritt 1: Vertrag und Freischaltung

Schließen Sie zunächst einen Vertrag mit easyCredit ab. Sie erhalten dabei zwei Angaben, die WEBSALE für die Freischaltung braucht:

* die Webshop-ID
* das API-Kennwort, auch Token genannt

Reichen Sie beides bei Ihrem WEBSALE-Ansprechpartner ein.

## Schritt 2: Zahlungsart anlegen

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<PaymentInstallment-Txt>
   Allow                        = yes
   TestMode                     = yes
   Name                         = easyCredit-Ratenkauf
   NameSuffix                   = Zahlen Sie Ihren Einkauf bequem in fairen Monatsraten.
   Img                          = logo-easycredit.png
   RadioOnClick                 = selectPayment('~ID~');
   ImgOnClick                   = selectPaymentImage('~ID~');
   DelivererID-List             = standard,express
   Cost                         = Zinsen

   BillCountry-Rule             = AllowCountries
   BillCountry-List             = DEU
   DenyDifferentDeliveryAddress = yes
   MinTotal-Value               = 200
   MaxTotal-Value               = 10000
</PaymentInstallment-Txt>
```

> [!WARNING]
>
> Der Parameter `Cost` muss gesetzt sein und einen Wert haben. Über ihn laufen die Zinsen als Zahlungskosten in die Bestelldaten. Fehlt er, fehlt der Zinsbetrag.

`MinTotal-Value` und `MaxTotal-Value` beziehen sich auf die **Gesamtsumme** einschließlich Versand- und Zahlungskosten, nicht auf den Warenwert. Für den Warenwert gäbe es `MinOrder-Value` und `MaxOrder-Value`, die hier aber nicht gemeint sind.

### Ablehnungsgründe sichtbar machen

Bei easyCredit lohnt sich die ausgegraute Anzeige besonders: Wer knapp unter 200 Euro liegt oder eine abweichende Lieferadresse eingetragen hat, kann das selbst beheben, wenn er den Grund erfährt.

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<PaymentInstallment-Txt>
   ShowDisabled-Allow = 14,15,21
   <ShowDisabled-Txt>
      14 = Ratenkauf bieten wir ab einer Gesamtsumme von 200 Euro an.
      15 = Ratenkauf bieten wir bis zu einer Gesamtsumme von 10.000 Euro an.
      21 = Beim Ratenkauf liefern wir nur an die Rechnungsadresse. Entfernen Sie Ihre abweichende Lieferadresse, dann steht Ihnen der Ratenkauf zur Verfügung.
   </ShowDisabled-Txt>
</PaymentInstallment-Txt>
```

| Nr. | Grund |
| - | - |
| 14 | Gesamtsumme unter `MinTotal-Value` |
| 15 | Gesamtsumme über `MaxTotal-Value` |
| 19 | Adressfilter greift nicht, beispielsweise bei einer anderen Anrede als „Herr" oder „Frau" |
| 21 | abweichende Lieferadresse eingetragen |
| 27 | die easyCredit-Konfiguration ist unvollständig oder ungültig |

> [!WARNING]
>
> Der Grund `27` gehört nicht in die Liste für Käufer. Er bedeutet, dass mit Ihrer eigenen Einrichtung etwas nicht stimmt. Taucht er auf, wenden Sie sich an Ihren WEBSALE-Ansprechpartner, statt einen Text dafür zu formulieren.

### Zustimmung zur Datenübermittlung abfragen

Das Auswahlkästchen für die Zustimmung ist eine Zusatzabfrage der Zahlungsart.

![20200331 Checkbox](https://mintcdn.com/websaleag-44ee7ea6/LS0r3yDDNtTzNzIH/images/20200331_checkbox.jpg?fit=max\&auto=format\&n=LS0r3yDDNtTzNzIH\&q=85\&s=139de4f3399521de28d226a9ed0eece3)

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<PaymentInstallment-Txt>
   <+CountryRule>
      CountryList-ISO             = *
      FieldDescr-Txt              = Zustimmung zur Datenverarbeitung
      Type                        = checkbox
      Required                    = yes
      RequiredErrorMessage-Txt    = Ihre Zustimmung ist notwendig, bitte haken Sie das Kästchen an.
      ID                          = ws_clearing_easycredit
      SaveInputForNextOrder-Allow = no
   </+CountryRule>
</PaymentInstallment-Txt>
```

> [!WARNING]
>
> Die Kennung `ws_clearing_easycredit` ist fest vorgegeben und darf nicht geändert werden. Der Shop erkennt an ihr, dass die Zustimmung vorliegt.
>
> `SaveInputForNextOrder-Allow = no` ist hier ebenso wichtig. Ohne diese Zeile käme das Kästchen beim nächsten Einkauf vorangehakt zurück, und eine Einwilligung, die niemand aktiv erteilt hat, ist keine.

### Auf „Herr" und „Frau" beschränken

easyCredit akzeptiert nur diese beiden Anreden. Prüfen Sie in Ihrer `salutation.dat`, welche Codes dort dafür stehen, und tragen Sie diese ein.

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<PaymentInstallment-Txt>
   <AddressFilter>
      Allow              = yes
      TechnicalFieldName = SalutationCode
      Rule               = Allow
      Values-List        = 01,02
   </AddressFilter>
</PaymentInstallment-Txt>
```

Referenz: [Abschnitt PaymentInstallment-Txt](https://dokumentation.websale.de/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/zahlungsarten.md#paymentinstallment-txt) · [Abschnitt +CountryRule](https://dokumentation.websale.de/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/zahlungsarten.md#countryrule) · [Abschnitt AddressFilter](https://dokumentation.websale.de/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/zahlungsarten.md#addressfilter)

## Schritt 3: Adressfelder prüfen lassen

Damit die Anrede überhaupt verglichen werden kann, muss das Feld `SalutationCode` aktiv sein.

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<AddressFields-Txt>
   SalutationCode = Anredecode
</AddressFields-Txt>
```

Richten Sie außerdem im Abschnitt `<InputCheck>` Pflichtfeldprüfungen für alle Felder ein, die easyCredit braucht: Anrede, Vorname, Nachname, Straße mit Hausnummer, Postleitzahl, Ort und Land.

Wegweiser: [Prüfungen von Adressdaten festlegen](https://dokumentation.websale.de/v8s/adressdaten/pruefungen-von-adressdaten-festlegen.md) · Referenz: [Abschnitt InputCheck](https://dokumentation.websale.de/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/adressen-und-eingabepruefung.md#inputcheck)

## Schritt 4: Hinweismeldungen hinterlegen

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<NotifyMessages-Txt>
   Installment-ClearingDeny  = Der Ratenkauf wurde abgelehnt.
   Installment-ClearingError = Der Ratenkauf wurde abgelehnt oder abgebrochen.
   PaymentInputSuffix        = Bitte ergänzen Sie die erforderlichen Angaben zu Ihrer gewählten Zahlungsart.
</NotifyMessages-Txt>
```

`PaymentInputSuffix` greift, wenn die Zustimmung fehlt und in der `<+CountryRule>` kein eigener Fehlertext steht.

Referenz: [Abschnitt NotifyMessages-Txt](https://dokumentation.websale.de/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/texte-und-meldungen.md#notifymessages-txt)

## Schritt 5: Zustimmungstext und Ratenangebot anzeigen

Ab hier arbeiten Sie mit der JSON-Schnittstelle. Das Muster ist immer dasselbe und wiederholt sich auf dieser Seite dreimal:

1. Ein `EASYCREDIT-Get…`-Tag holt die Daten von easyCredit.
2. `EJD-SetRawDataHexCodedInput` und `EJD-LoadData` übergeben sie an die JSON-Schnittstelle, unter einer frei gewählten Kennung.
3. `{EJD-DataOK(…)}` klammert die Ausgabe, `EJD-SetUseID` wählt die Kennung, `EJD-DA-Value` holt einzelne Werte.

### Zustimmungstext

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<div class="easycredit_agreementtxt">
   ~EASYCREDIT-GetAgreementText~
   {EASYCREDIT-AgreementTextJSON}
      ~EJD-SetRawDataHexCodedInput($EASYCREDIT-AgreementTextJSON$)~
      ~EJD-LoadData(intern,rawdatahexcodedinput,easy)~
   {/EASYCREDIT-AgreementTextJSON}
   {EJD-DataOK(easy)}
      ~EJD-SetUseID(easy)~
      ~EJD-DA-Value(zustimmungDatenuebertragungPaymentPage)~
   {/EJD-DataOK(easy)}
</div>
```

Der Text soll beim Auswahlkästchen stehen, nicht irgendwo auf der Seite. Weil `~WS-PaymentFields~` das Kästchen selbst erzeugt, wird der Text nachträglich per JavaScript dorthin verschoben.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<script>
   $('#ws_paymentdiv_paymentcountryrule_ws_clearing_easycredit_name_id_26')
      .html($('.easycredit_agreementtxt').html());
</script>
```

> [!WARNING]
>
> Die `26` in dieser Kennung ist der Zahlungsarten-Code des Ratenkaufs. Die Kennung selbst erzeugt `~WS-PaymentFields~`. Prüfen Sie im Browser, wie der Container auf Ihrer Seite tatsächlich heißt, bevor Sie den Selektor übernehmen. Bauen Sie die Zahlungsarten mit den `PAY-Data`-Tags statt mit `~WS-PaymentFields~`, brauchen Sie dieses Verschieben gar nicht und setzen den Text direkt an die richtige Stelle.

### Günstigster Finanzierungsplan

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
~WS-DisablePriceAndNumberFormat~
~EASYCREDIT-GetCheapestModelCalculation($BASKET-OrderTotal$)~
~WS-EnablePriceAndNumberFormat~

~EJD-SetRawDataHexCodedInput($EASYCREDIT-CheapestModelCalculationJSON$)~
~EJD-LoadData(intern,rawdatahexcodedinput,easycalc)~

{EJD-DataOK(easycalc)}
   ~EJD-SetUseID(easycalc)~
   ~EJD-SetRealOutputFormat(2)~
   <div class="easycredit_cheapestmodelcalculation">
      <p>Günstigster Finanzierungsplan</p>
      <p>Anzahl Raten: ~EJD-DA-Value(.anzahlRaten)~</p>
      <p>Monatliche Rate: ~EJD-DA-TouchValue(.betragRate)~~DC-CommercialCalc1_set($EJD-LastValueAccessed$)~~DC-CommercialCalc1~</p>
      <p>Gesamtsumme: ~EJD-DA-TouchValue(.gesamtsumme)~~DC-CommercialCalc2_set($EJD-LastValueAccessed$)~~DC-CommercialCalc2~</p>
   </div>

   <script>
      $('#ws_paymentdiv_text_id_26').append($('.easycredit_cheapestmodelcalculation'));
   </script>
{/EJD-DataOK(easycalc)}
```

Die Klammer `~WS-DisablePriceAndNumberFormat~` um den Aufruf ist kein Schönheitsfehler. easyCredit erwartet den Betrag als reine Zahl mit Punkt als Dezimaltrennzeichen. Ohne die Klammer ginge ein formatierter Preis mit Tausenderpunkt und Komma hinaus, und der Aufruf schlüge fehl.

Die `EASYCREDIT-Get…`-Tags lösen den Aufruf bei easyCredit nur aus, wenn die Daten noch nicht geladen sind. Sie mehrfach auf einer Seite zu setzen, kostet also keine zusätzlichen Anfragen. Bei `GetModelCalculation` und `GetCheapestModelCalculation` ist der Betrag als Parameter **Pflicht**, ohne ihn liefert das Tag nichts.

Wegweiser: [JSON-Schnittstelle](https://dokumentation.websale.de/v8s/externe-dienste/json-schnittstelle.md) · Referenz: [EASYCREDIT-Tags](https://dokumentation.websale.de/v8s/referenz/tags/easycredit.md) · Referenz: [EJD-Tags](https://dokumentation.websale.de/v8s/referenz/tags/ejd.md)

## Schritt 6: Ratenrechner auf der Produktdetailseite

Auf `ws_product.htm` zeigt ein Widget von easyCredit, was das Produkt in Raten kostet. Ein Klick darauf öffnet den vollständigen Ratenrechner in einem Fenster.

![20200331 Ratenrechner](https://mintcdn.com/websaleag-44ee7ea6/LS0r3yDDNtTzNzIH/images/20200331_ratenrechner.png?fit=max\&auto=format\&n=LS0r3yDDNtTzNzIH\&q=85\&s=aed96e51e65406bab40ba6066b09df0f)

### Widget einbinden

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<link rel="stylesheet" href="https://ratenkauf.easycredit.de/ratenkauf/js/ratenrechner/v1/ratenrechner.css">
<script src="https://ratenkauf.easycredit.de/ratenkauf/js/ratenrechner/v1/ratenrechner.js"></script>

<script>
   $(document).ready(function () {
      var options = {
         webshopId: "~EASYCREDIT-WebshopID~",
         finanzierungsbetrag: ~WS-DisablePriceAndNumberFormat~~PR-Price~~WS-EnablePriceAndNumberFormat~,
         textVariante: "KURZ",
         widgetTemplate: '<div class="ec-widget"><span class="ec-text-beschreibung">%from_text% </span>'
            + '<span class="ec-rate">%installmentTemplate%</span>'
            + '<div class="cursor-pointer" data-toggle="modal" data-target="#easycredit_ratenkaufrechner_modal">%link_text%</div></div>'
      };
      rkPlugin.anzeige("easycredit_ratenkaufrechner", options);
   });
</script>
```

Auch hier wird der Preis von der Formatierung befreit, aus demselben Grund wie oben.

### Fenster für den Ratenrechner

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<div id="easycredit_ratenkaufrechner"></div>

<div class="modal fade" id="easycredit_ratenkaufrechner_modal" tabindex="-1" role="dialog" aria-hidden="true">
   <div class="modal-dialog modal-lg" role="document">
      <div class="modal-content">
         <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-label="Schließen">
               <span aria-hidden="true">&times;</span>
            </button>
         </div>
         <div class="modal-body">
            <div class="embed-responsive embed-responsive-1by1">
               <iframe class="embed-responsive-item"
                  src="https://ratenkauf.easycredit.de/widget/app/#/ratenwunsch?shopKennung=~EASYCREDIT-WebshopID~&bestellwert=~WS-DisablePriceAndNumberFormat~~PR-Price~~WS-EnablePriceAndNumberFormat~"
                  allowfullscreen></iframe>
            </div>
         </div>
      </div>
   </div>
</div>
```

Das Beispiel verwendet ein Bootstrap-Fenster. Jede andere Lösung tut es auch, entscheidend ist das `iframe`, denn darin läuft der Ratenrechner von easyCredit.

> [!WARNING]
>
> Die Kennung, die Sie an `rkPlugin.anzeige()` übergeben, muss der `id` des leeren `div` entsprechen. Stimmen die beiden nicht überein, erscheint das Widget nicht, und es gibt keine Fehlermeldung.

## Schritt 7: Finanzierungsdaten auf der Bestellübersicht

Nach der Rückkehr von easyCredit steht fest, wie die Finanzierung aussieht. Diese Angaben müssen Sie dem Käufer vor dem Abschluss zeigen.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{ST-EasyCreditCheckout_selected}

   ~EASYCREDIT-GetRepaymentPlanDetails~
   ~EJD-SetRawDataHexCodedInput($EASYCREDIT-RepaymentPlanDetailsJSON$)~
   ~EJD-LoadData(intern,rawdatahexcodedinput,easyfinal)~

   {EJD-DataOK(easyfinal)}
      ~EJD-SetUseID(easyfinal)~
      <p>Anzahl Raten: ~EJD-DA-Value(ratenplan.zahlungsplan.anzahlRaten)~</p>
      <p>Monatliche Rate: ~EJD-DA-TouchValue(ratenplan.zahlungsplan.betragRate)~~DC-CommercialCalc1_set($EJD-LastValueAccessed$)~~DC-CommercialCalc1~</p>
      <p>Letzte Rate: ~EJD-DA-TouchValue(ratenplan.zahlungsplan.betragLetzteRate)~~DC-CommercialCalc2_set($EJD-LastValueAccessed$)~~DC-CommercialCalc2~</p>
      <p>Sollzinssatz pro Jahr, fest für die gesamte Laufzeit: ~EJD-DA-Value(ratenplan.zinsen.nominalzins)~ %</p>
      <p>Effektiver Jahreszins: ~EJD-DA-Value(ratenplan.zinsen.effektivzins)~ %</p>
   {/EJD-DataOK(easyfinal)}

   <input name="~BT-EasyCreditCheckout_cancel~" type="submit" value="Ratenkauf abbrechen">

{/ST-EasyCreditCheckout_selected}
```

Der Abbruchknopf gehört dazu. Ohne ihn säße ein Käufer, der es sich anders überlegt, in der gewählten Finanzierung fest.

Referenz: [ST-EasyCreditCheckout\_selected](https://dokumentation.websale.de/v8s/referenz/tags/easycredit.md#die-tags-im-uberblick) · [BT-EasyCreditCheckout\_cancel](https://dokumentation.websale.de/v8s/referenz/tags/easycredit.md#die-tags-im-uberblick) · [ST-EasyCreditCheckout\_cancel](https://dokumentation.websale.de/v8s/referenz/tags/easycredit.md#die-tags-im-uberblick)

## Schritt 8: Testen

Setzen Sie `TestMode = yes` im Abschnitt `<PaymentInstallment-Txt>` und rufen Sie den Shop im Zahlungsarten-Testmodus auf.

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
https://www.ihre-shop-url.de/?test=on&payment-test=on
```

Zum Beenden setzen Sie `payment-test=off` und danach `TestMode` zurück auf `no`.

Im Template lässt sich anzeigen, dass der Testmodus läuft:

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{ST-PaymentTest}
   <p class="hinweis">Zahlungsarten-Testmodus aktiv</p>
{/ST-PaymentTest}
```

Wegweiser: [Testmodi des Shops ein- und ausschalten](https://dokumentation.websale.de/v8s/domains/testmodi-des-shops-ein-ausschalten.md) · Referenz: [ST-PaymentTest](https://dokumentation.websale.de/v8s/referenz/tags/st/seitenzustand-und-navigation.md)

### Fehlersuche

Schlägt ein Aufruf bei easyCredit fehl, lässt sich nachsehen, an welchem Schritt es lag. `~EASYCREDIT-TouchErrorJSON(…)~` wählt den Schritt aus, `~EASYCREDIT-LastErrorJSONAccessed~` gibt die Fehlermeldung dazu aus.

| Parameter | Schritt |
| - | - |
| `TexteZustimmung` | Zustimmungstexte holen |
| `ModellBeispiel` | Modellrechnung holen |
| `ModellGuenstigster` | günstigste Modellrechnung holen |
| `VorgangFinanzierung` | Finanzierung anlegen |
| `VorgangEntscheidung` | Kreditentscheidung abfragen |
| `VorgangGet` | Vorgang abrufen |
| `VorgangBestaetigen` | Vorgang bestätigen |
| `VorgangClear` | Vorgang abschließen |

`~EASYCREDIT-LastErrorJSON~` gibt den zuletzt aufgetretenen Fehler aus, unabhängig vom Schritt.

> [!WARNING]
>
> Diese Tags sind ein Werkzeug für die Einrichtung, nicht für den Produktivbetrieb. Nehmen Sie sie wieder aus dem Template, bevor Sie live gehen. Käufer sollen keine Schnittstellenfehler zu sehen bekommen.

## Zinsen nicht als Zahlungskosten ausweisen

Der Shop bucht die Zinsen normalerweise als Zahlungskosten. Manche Warenwirtschaftssysteme dürfen das nicht. Klären Sie, ob das bei Ihnen zutrifft.

Falls ja, müssen Sie zwei Dinge tun, denn der Käufer muss die Gesamtsumme einschließlich Zinsen vor dem Kauf sehen: die Buchung als Zahlungskosten abschalten und die Zinsen im Template selbst zur Gesamtsumme addieren.

### Buchung abschalten

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<PaymentInstallment-Txt>
   UseInterestAmountAsPaymentCostsForEasyCredit = no
</PaymentInstallment-Txt>
```

### Gesamtsumme im Template berechnen

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{ST-EasyCreditCheckout_selected}
   ~EASYCREDIT-GetRepaymentPlanDetails~
   ~EJD-SetRawDataHexCodedInput($EASYCREDIT-RepaymentPlanDetailsJSON$)~
   ~EJD-LoadData(intern,rawdatahexcodedinput,easyfinal)~

   {EJD-DataOK(easyfinal)}
      ~EJD-SetUseID(easyfinal)~
      ~DC-CommercialCalc1_set($EJD-DA-Value(ratenplan.zinsen.anfallendeZinsen)$)~
      ~DC-CommercialCalc1_add($BASKET-OrderTotal$)~
      ~DC-FPEasyCreditTotalPrice_set($DC-CommercialCalc1$)~
   {/EJD-DataOK(easyfinal)}
{/ST-EasyCreditCheckout_selected}

{BASKET-OrderTotal}
   {!DC-FPEasyCreditTotalPrice}
      ~BASKET-OrderTotal~
   {/!DC-FPEasyCreditTotalPrice}
   {DC-FPEasyCreditTotalPrice}
      ~DC-FPEasyCreditTotalPrice~
   {/DC-FPEasyCreditTotalPrice}
{/BASKET-OrderTotal}
```

Die Berechnung muss **vor** der Ausgabe der Gesamtsumme im Template stehen, sonst ist der Wert noch nicht gesetzt, wenn er gebraucht wird.

Die zweite Klammerung sorgt dafür, dass bei allen anderen Zahlungsarten weiterhin die gewöhnliche Gesamtsumme erscheint.

Referenz: DC-CommercialCalc1 bis DC-CommercialCalc3

## Verwandte Themen

* Wegweiser: [Zahlungsarten anlegen, für die allgemeinen Parameter und die ausgegraute Anzeige](https://dokumentation.websale.de/v8s/zahlungsarten-anlegen/zahlungsarten-anlegen.md)
* Wegweiser: [JSON-Schnittstelle, für die `EJD`-Tags](https://dokumentation.websale.de/v8s/externe-dienste/json-schnittstelle)
* Wegweiser: [Prüfungen von Adressdaten festlegen](https://dokumentation.websale.de/v8s/adressdaten/pruefungen-von-adressdaten-festlegen.md)
* Wegweiser: [Bildung von Anreden und Titeln festlegen, für die Codes in der `salutation.dat`](https://dokumentation.websale.de/v8s/adressdaten/bildung-von-anreden-und-titeln-festlegen)


## Related topics

- [EASYCREDIT- (Ratenkauf)](https://dokumentation.websale.de/v8s/referenz/tags/easycredit.md)
- [Ratenkauf](https://dokumentation.websale.de/v8s/zahlungsarten-anlegen/ratenkauf.md)
- [Zahlungsarten](https://dokumentation.websale.de/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/zahlungsarten.md)
- [Zahlungsarten anlegen](https://dokumentation.websale.de/v8s/zahlungsarten-anlegen/zahlungsarten-anlegen.md)
- [Sektionen: Positionen und Zahlung](https://dokumentation.websale.de/v8s/schnittstellen/bestellungen/ws-bestelldaten/sektionen-positionen-und-zahlung.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.