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

> Die Tags der Zahlungsart easyCredit-Ratenkauf: Ratenbeispiele vor dem Kauf abrufen, Tilgungsplan und Zustimmungstext im Bestellprozess anzeigen und Fehler auswerten.

Beim Ratenkauf über easyCredit entscheidet nicht der Shop über die Finanzierung, sondern easyCredit. Alles, was der Käufer zu sehen bekommt, holt der Shop deshalb zur Laufzeit von dort: das Ratenbeispiel auf der Produktseite, den Tilgungsplan im Bestellprozess, den Zustimmungstext vor der Bestellung.

Die Tags mit dem Präfix `EASYCREDIT-` sind die Schnittstelle dazu.

Wegweiser: Zahlungsart "easyCredit-Ratenkauf"

## Das Muster in drei Schritten

Die Tags treten paarweise auf. Ein Tag **holt** die Daten von easyCredit, ein zweites **enthält** die Antwort als JSON. Ausgegeben wird die Antwort nicht von WEBSALE, sondern über die JSON-Schnittstelle mit den `EJD-`-Tags.

| Schritt | Tag |
| - | - |
| Daten bei easyCredit abrufen | `EASYCREDIT-Get…` |
| Antwort in die JSON-Schnittstelle geben | `EJD-SetRawDataHexCodedInput()` und `EJD-LoadData()` |
| einzelne Werte ausgeben | die `EJD-`-Tags |

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
~EASYCREDIT-GetModelCalculation($PR-Price$)~

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

{EJD-DataOK(easycalc)}
   ~EJD-SetUseID(easycalc)~
   <!-- Die Ausgabe der einzelnen Werte bauen Sie mit den EJD-Tags selbst auf -->
{/EJD-DataOK(easycalc)}
```

WEBSALE reicht die Antwort von easyCredit unverändert durch. Welche Felder darin stehen, bestimmt easyCredit, nicht der Shop. Die Ausgabe bauen Sie deshalb immer selbst mit den `EJD-`-Tags auf.

> [!WARNING]
>
> Jeder Abruf ist ein Aufruf bei easyCredit und kostet Zeit. Der Shop holt die Daten deshalb nur beim ersten Mal: Steht die Antwort schon bereit, tut ein zweites `EASYCREDIT-Get…` auf derselben Seite nichts mehr. Umgekehrt heißt das auch, dass sich die Antwort innerhalb eines Seitenaufrufs nicht aktualisieren lässt.

Wegweiser: [JSON-Schnittstelle](https://dokumentation.websale.de/v8s/externe-dienste/json-schnittstelle.md)

## Die fünf Abrufe im Überblick

| Abruf | Antwort | Wofür | Parameter |
| - | - | - | - |
| `EASYCREDIT-GetModelCalculation()` | `EASYCREDIT-ModelCalculationJSON` | ein Ratenbeispiel zu einem Betrag | Betrag, Pflicht |
| `EASYCREDIT-GetCheapestModelCalculation()` | `EASYCREDIT-CheapestModelCalculationJSON` | die günstigste Rate zu einem Betrag | Betrag, Pflicht |
| `EASYCREDIT-GetRepaymentPlan` | `EASYCREDIT-RepaymentPlanJSON` | die allgemeinen Vorgangsdaten, den Tilgungsplan | – |
| `EASYCREDIT-GetRepaymentPlanDetails` | `EASYCREDIT-RepaymentPlanDetailsJSON` | den detaillierten Zahlungsplan | – |
| `EASYCREDIT-GetAgreementText` | `EASYCREDIT-AgreementTextJSON` | den Zustimmungstext | – |

Die beiden oberen Abrufe dienen der Werbung vor dem Kauf und sind nur auf Startseite, Produktübersicht und Produktdetailansicht zulässig. Die drei unteren gehören in den Bestellprozess und sind dort auf den Seiten für Zahlung und Versand, der Bestellübersicht, den Bestätigungsseiten und der Bestätigungsmail zulässig.

## Ratenbeispiele vor dem Kauf

Auf der Produktseite zeigt ein Ratenbeispiel, was der Artikel monatlich kostet. `EASYCREDIT-GetModelCalculation()` holt es, der Betrag steht in den Klammern.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
~EASYCREDIT-GetModelCalculation($PR-Price$)~

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

{EJD-DataOK(easycalc)}
   ~EJD-SetUseID(easycalc)~
   <!-- Ratenbeispiel ausgeben -->
{/EJD-DataOK(easycalc)}
```

Für die günstigste Rate zum Warenkorbwert nehmen Sie stattdessen `EASYCREDIT-GetCheapestModelCalculation()`.

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

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

> [!WARNING]
>
> Der Betrag ist bei beiden Tags Pflicht. Ohne Klammerinhalt bleibt das Tag ungültig und es wird nichts abgerufen.

Ein Komma im Betrag wandelt der Shop selbst in einen Punkt um, weil easyCredit dieses Format verlangt. Sie können deshalb einen formatierten Preis wie `$PR-Price$` direkt übergeben.

## Vorgangsdaten im Bestellprozess

Sobald der Käufer easyCredit gewählt hat, gibt es zu seiner Bestellung einen Vorgang bei easyCredit. Drei Abrufe holen dessen Daten.

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

   ~EASYCREDIT-GetRepaymentPlan~

   ~EJD-SetRawDataHexCodedInput($EASYCREDIT-RepaymentPlanJSON$)~
   ~EJD-LoadData(intern,rawdatahexcodedinput,easyrepay)~

   {EJD-DataOK(easyrepay)}
      ~EJD-SetUseID(easyrepay)~
      <!-- Tilgungsplan ausgeben -->
   {/EJD-DataOK(easyrepay)}

{/ST-EasyCreditCheckout_selected}
```

> [!WARNING]
>
> Klammern Sie die Abrufe immer mit `ST-EasyCreditCheckout_selected`. Ohne diese Bedingung fragt der Shop auch dann bei easyCredit an, wenn der Käufer eine andere Zahlungsart gewählt hat.

| Abruf | Enthält |
| - | - |
| `EASYCREDIT-GetRepaymentPlan` | die allgemeinen Vorgangsdaten mit dem Tilgungsplan |
| `EASYCREDIT-GetRepaymentPlanDetails` | den detaillierten Zahlungsplan mit den Finanzierungsdaten |

Die Antwort auf `EASYCREDIT-GetRepaymentPlanDetails` legt der Shop zusätzlich bei der Bestellung ab. Deshalb stehen diese Daten auch später noch zur Verfügung, beispielsweise auf der PDF-Bestätigung und in der Bestätigungsmail.

### Der Zustimmungstext

Vor der Bestellung muss der Käufer den Bedingungen von easyCredit zustimmen. Den Text dazu liefert easyCredit.

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

{EASYCREDIT-AgreementTextJSON}
   ~EJD-SetRawDataHexCodedInput($EASYCREDIT-AgreementTextJSON$)~
   ~EJD-LoadData(intern,rawdatahexcodedinput,easyagree)~
{/EASYCREDIT-AgreementTextJSON}
```

> [!WARNING]
>
> Der Zustimmungstext ist rechtlich verbindlich. Geben Sie ihn unverändert aus und kürzen Sie ihn nicht.

## Zugangsdaten anzeigen

Zwei Tags geben die Verbindungsdaten des Shops zu easyCredit aus.

| Tag | Liefert |
| - | - |
| `EASYCREDIT-WebshopID` | die Kennung des Shops bei easyCredit |
| `EASYCREDIT-EndpointURL` | die Adresse der easyCredit-Schnittstelle |

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

Beide Tags werden für die Einbindung des easyCredit-Widgets gebraucht, das seine Daten selbst nachlädt. Für die Anzeige im Shop sind sie nicht gedacht.

## Fehler auswerten

Schlägt eine Anfrage bei easyCredit fehl, liefert easyCredit eine Fehlermeldung als JSON. `EASYCREDIT-LastErrorJSON` enthält die Antwort der zuletzt gestellten Anfrage.

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

      {EJD-DataOK(easyerror)}
         ~EJD-SetUseID(easyerror)~
         <!-- Fehlermeldung von easyCredit ausgeben -->
      {/EJD-DataOK(easyerror)}
   {/EASYCREDIT-LastErrorJSON}
{/ST-EasyCreditCheckout_selected}
```

Als Bereichs-Tag beantwortet `EASYCREDIT-LastErrorJSON` bereits die Frage, ob überhaupt ein Fehler vorliegt. Die Klammerung ersetzt damit eine eigene Prüfung.

### Einen bestimmten Vorgang nachschlagen

Der Shop merkt sich die Fehler **je Anfrageart** getrennt. `EASYCREDIT-TouchErrorJSON()` wählt eine davon aus, `EASYCREDIT-LastErrorJSONAccessed` gibt sie anschließend aus.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
~EASYCREDIT-TouchErrorJSON(ModellBeispiel)~

{EASYCREDIT-LastErrorJSONAccessed}
   ~EJD-SetRawDataHexCodedInput($EASYCREDIT-LastErrorJSONAccessed$)~
   ~EJD-LoadData(intern,rawdatahexcodedinput,easyerror)~
{/EASYCREDIT-LastErrorJSONAccessed}
```

Zulässige Werte für die Anfrageart:

| Wert | Anfrage |
| - | - |
| `VorgangClear` | Vorgang zurücksetzen |
| `VorgangBestaetigen` | Vorgang bestätigen |
| `VorgangGet` | Vorgangsdaten holen |
| `VorgangFinanzierung` | Finanzierungsdaten holen |
| `VorgangEntscheidung` | Entscheidung holen |
| `ModellBeispiel` | Ratenbeispiel |
| `ModellGuenstigster` | günstigste Rate |
| `TexteZustimmung` | Zustimmungstext |

Sie helfen bei der Fehlersuche, weil sich damit erkennen lässt, welcher der acht Aufrufe gescheitert ist, und nicht nur der letzte.

> [!WARNING]
>
> Ein unbekannter Wert in den Klammern führt nicht zu einer Meldung. `EASYCREDIT-LastErrorJSONAccessed` bleibt dann einfach leer. Achten Sie deshalb auf die Schreibweise.

## Tags anderer Präfixe

Drei Tags gehören zur Zahlungsart, tragen aber ein anderes Präfix. Alle drei sind auf der Bestellübersichtsseite `ws_place_order.htm` zulässig.

| Tag | Zweck | Präfix |
| - | - | - |
| `ST-EasyCreditCheckout_selected` | greift, wenn der Käufer easyCredit gewählt hat | ST- |
| `ST-EasyCreditCheckout_cancel` | greift, wenn der Käufer die Zahlung abgebrochen hat | ST- |
| `BT-EasyCreditCheckout_cancel` | die Schaltfläche zum Abbrechen | BT- |

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{ST-EasyCreditCheckout_selected}
   <input name="~BT-EasyCreditCheckout_cancel~" type="submit" value="Ratenkauf abbrechen">
{/ST-EasyCreditCheckout_selected}

{ST-EasyCreditCheckout_cancel}
   <p>Sie haben den Ratenkauf abgebrochen. Bitte wählen Sie eine andere Zahlungsart.</p>
{/ST-EasyCreditCheckout_cancel}
```

Ohne die Schaltfläche zum Abbrechen sitzt ein Käufer fest, der es sich anders überlegt hat. Sehen Sie sie deshalb immer vor.

## Die Tags im Überblick

| Tag | Einzel-Tag | Bereichs-Tag | negatives Bereichs-Tag | Schleifen-Tag |
| - | - | - | - | - |
| `EASYCREDIT-GetModelCalculation()` | ja | – | – | – |
| `EASYCREDIT-GetCheapestModelCalculation()` | ja | – | – | – |
| `EASYCREDIT-GetRepaymentPlan` | ja | – | – | – |
| `EASYCREDIT-GetRepaymentPlanDetails` | ja | – | – | – |
| `EASYCREDIT-GetAgreementText` | ja | – | – | – |
| `EASYCREDIT-ModelCalculationJSON` | ja | ja | ja | – |
| `EASYCREDIT-CheapestModelCalculationJSON` | ja | ja | ja | – |
| `EASYCREDIT-RepaymentPlanJSON` | ja | ja | ja | – |
| `EASYCREDIT-RepaymentPlanDetailsJSON` | ja | ja | ja | – |
| `EASYCREDIT-AgreementTextJSON` | ja | ja | ja | – |
| `EASYCREDIT-LastErrorJSON` | ja | ja | ja | – |
| `EASYCREDIT-TouchErrorJSON()` | ja | – | – | – |
| `EASYCREDIT-LastErrorJSONAccessed` | ja | ja | ja | – |
| `EASYCREDIT-WebshopID` | ja | ja | ja | – |
| `EASYCREDIT-EndpointURL` | ja | ja | ja | – |
| `ST-EasyCreditCheckout_selected` | – | ja | ja | – |
| `ST-EasyCreditCheckout_cancel` | – | ja | ja | – |
| `BT-EasyCreditCheckout_cancel` | ja | – | – | – |

| Tag | Zulässig in Templates |
| - | - |
| `EASYCREDIT-GetModelCalculation()`, `EASYCREDIT-GetCheapestModelCalculation()` und die beiden zugehörigen JSON-Tags | Startseite `ws_start.htm`, Produktübersicht `ws_category.htm`, Produktdetailansicht `ws_product.htm` |
| die übrigen Abrufe, JSON-Tags und Fehler-Tags | Zahlung und Versand `ws_pay_deliv.htm`, Bestellübersicht `ws_place_order.htm`, Bestätigungsseite `ws_confirm.htm`, PDF-Bestätigung `pdf_confirm.htm`, Bestätigungsmail `mail_customer_order.htm` |
| `EASYCREDIT-WebshopID`, `EASYCREDIT-EndpointURL` | alle |
| die drei Tags mit ST- und BT-Präfix | Bestellübersicht `ws_place_order.htm` |

## Verwandte Themen

* Wegweiser: Zahlungsart "easyCredit-Ratenkauf"
* Wegweiser: [JSON-Schnittstelle](https://dokumentation.websale.de/v8s/externe-dienste/json-schnittstelle.md)
* Wegweiser: [Zahlungsarten anlegen](https://dokumentation.websale.de/v8s/zahlungsarten-anlegen/zahlungsarten-anlegen.md)
* Referenz: [EJD- (Externe JSON-Daten)](https://dokumentation.websale.de/v8s/referenz/tags/ejd.md)


## Related topics

- [easyCredit-Ratenkauf](https://dokumentation.websale.de/v8s/zahlungsarten-anlegen/easycredit-ratenkauf.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.