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

# PAYPALEXPRESS- (PayPal Express Checkout)

> Die Daten auslesen, die PayPal beim Express Checkout zurückliefert: Käuferangaben, Beträge der Bestellung, die von PayPal übernommene Lieferadresse und die Statuswerte der Transaktion.

Beim PayPal Express Checkout beginnt der Käufer den Bezahlvorgang schon im Warenkorb. Er meldet sich bei PayPal an, und PayPal schickt ihn mit seinen Daten zurück in den Shop: Name, E-Mail-Adresse, Lieferadresse und die Beträge, über die der Vorgang läuft. Diese Antwort legt das Shopsystem ab, und die `PAYPALEXPRESS-`Tags holen einzelne Felder daraus.

Wegweiser: [PayPal Express Checkout](https://dokumentation.websale.de/v8s/zahlungsarten-anlegen/paypal.md#paypal-express-checkout)

## Wann die Tags arbeiten

Die Tags sind an den Express-Checkout gebunden. Sie liefern in genau zwei Fällen etwas: solange der Käufer sich im Express-Checkout befindet, und nach einer abgeschlossenen Bestellung, die über den Express-Checkout gelaufen ist. In jedem anderen Fall gelten sie als ungültiges Tag, unabhängig vom Template.

Genau diese Bedingung prüft auch `ST-PayPalExpressCheckout_selected`. Klammern Sie Ihren Block damit, dann steht er auf der Seite immer dann, wenn die Tags darin auch Werte haben.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{ST-PayPalExpressCheckout_selected}
   <p>Sie zahlen über PayPal als ~PAYPALEXPRESS-FIRSTNAME~ ~PAYPALEXPRESS-LASTNAME~.</p>
{/ST-PayPalExpressCheckout_selected}
```

Referenz: [ST- (Seitenzustände)](https://dokumentation.websale.de/v8s/referenz/tags/st/seitenzustand-und-navigation.md)

> [!WARNING]
>
> Die Tags gelten ausschließlich für den klassischen PayPal Express Checkout. Die neueren Express-Varianten über PayPal Checkout, Google Pay und Apple Pay laufen über eigene Zustände, und die Daten daraus erreichen Sie nicht über diese Tags.

## Das Bauprinzip

Es gibt keine feste Tag-Liste. Das Shopsystem legt die Antwort von PayPal als Liste von Feldnamen und Werten ab und sucht beim Auflösen eines Tags schlicht nach dem Namen hinter `PAYPALEXPRESS-`. Jedes Feld, das PayPal zurückliefert, ist damit erreichbar, auch wenn es unten nicht aufgeführt ist.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{PAYPALEXPRESS-<Feldname von PayPal>}
   ~PAYPALEXPRESS-<Feldname von PayPal>~
{/PAYPALEXPRESS-<Feldname von PayPal>}
```

Ein Feldname, den die Antwort nicht enthält, ist kein Fehler. Der Einzel-Tag gibt dann nichts aus und die Klammerung greift nicht. PayPal liefert viele Felder nur unter bestimmten Umständen, deshalb lohnt sich die Klammerung bei fast jedem Feld.

Die Groß- und Kleinschreibung des Feldnamens spielt keine Rolle. Die Schreibweise in Großbuchstaben auf dieser Seite folgt der Schreibweise von PayPal und macht im Template auf einen Blick sichtbar, dass der Wert von außen kommt.

Die Werte werden HTML-kodiert ausgegeben und sind bereits in den Zeichensatz des Shops umgewandelt. Zeilenumbrüche innerhalb eines Wertes ersetzt das Shopsystem durch Leerzeichen, sodass kein Feld das Layout sprengt.

## Käufer und Transaktion

| Tag | Liefert |
| - | - |
| `PAYPALEXPRESS-FIRSTNAME` | den Vornamen des Käufers |
| `PAYPALEXPRESS-LASTNAME` | den Nachnamen des Käufers |
| `PAYPALEXPRESS-EMAIL` | die bei PayPal hinterlegte E-Mail-Adresse |
| `PAYPALEXPRESS-COUNTRYCODE` | den Ländercode des Käufers |
| `PAYPALEXPRESS-PAYERID` | die Kennung des PayPal-Kontos |
| `PAYPALEXPRESS-PAYERSTATUS` | den Prüfstatus des PayPal-Kontos |
| `PAYPALEXPRESS-TOKEN` | das Token des Vorgangs |
| `PAYPALEXPRESS-CORRELATIONID` | die Kennung der Antwort von PayPal |
| `PAYPALEXPRESS-CHECKOUTSTATUS` | den Stand der Zahlung |
| `PAYPALEXPRESS-BILLINGAGREEMENTACCEPTEDSTATUS` | ob der Käufer einer Zahlungsvereinbarung zugestimmt hat |

`PAYPALEXPRESS-CORRELATIONID` ist die Kennung, nach der der PayPal-Support fragt, wenn ein Vorgang geklärt werden muss. Sie gehört deshalb in die Protokollierung oder in einen Kommentar im Quelltext der Bestätigungsseite, nicht sichtbar auf die Seite.

### Statuswerte

`PAYPALEXPRESS-PAYERSTATUS` sagt, ob PayPal das Konto des Käufers geprüft hat.

| Wert | Bedeutung |
| - | - |
| `verified` | geprüftes Konto |
| `unverified` | ungeprüftes Konto |

`PAYPALEXPRESS-BILLINGAGREEMENTACCEPTEDSTATUS` betrifft wiederkehrende Zahlungen.

| Wert | Bedeutung |
| - | - |
| `0` | nicht zugestimmt |
| `1` | zugestimmt |

`PAYPALEXPRESS-CHECKOUTSTATUS` sagt, wie weit die Zahlung gediehen ist.

| Wert | Bedeutung |
| - | - |
| `PaymentActionNotInitiated` | noch nicht angestoßen |
| `PaymentActionInProgress` | läuft |
| `PaymentActionCompleted` | abgeschlossen |
| `PaymentActionFailed` | fehlgeschlagen |

## Die Beträge der Bestellung

Die Beträge liegen unter dem Namensbestandteil `PAYMENTREQUEST_0_`. Die Null darin ist die laufende Nummer der Zahlungsanforderung, und im Shopsystem gibt es davon immer genau eine.

| Tag | Liefert |
| - | - |
| `PAYPALEXPRESS-PAYMENTREQUEST_0_CURRENCYCODE` | den Währungscode |
| `PAYPALEXPRESS-PAYMENTREQUEST_0_AMT` | die Gesamtsumme |
| `PAYPALEXPRESS-PAYMENTREQUEST_0_ITEMAMT` | die Summe der Produkte |
| `PAYPALEXPRESS-PAYMENTREQUEST_0_SHIPPINGAMT` | die Versandkosten |
| `PAYPALEXPRESS-PAYMENTREQUEST_0_HANDLINGAMT` | die Abwicklungskosten |
| `PAYPALEXPRESS-PAYMENTREQUEST_0_TAXAMT` | die Steuern |
| `PAYPALEXPRESS-PAYMENTREQUEST_0_INSURANCEAMT` | die Versicherungskosten |
| `PAYPALEXPRESS-PAYMENTREQUEST_0_SHIPDISCAMT` | den Versandrabatt |
| `PAYPALEXPRESS-PAYMENTREQUEST_0_INSURANCEOPTIONOFFERED` | ob eine Versicherung angeboten wurde |
| `PAYPALEXPRESS-PAYMENTREQUEST_0_SELLERPAYPALACCOUNTID` | die Kennung des Verkäufers |
| `PAYPALEXPRESS-PAYMENTREQUEST_0_CUSTOM` | ein frei belegbares Feld |

> [!WARNING]
>
> Nur Währungscode und Gesamtsumme sind verlässlich gefüllt. Alle übrigen Beträge liefert PayPal nur, wenn der Shop sie bei der Anfrage mitgeschickt hat. Klammern Sie jede einzelne Zeile, sonst stehen auf der Seite Beschriftungen ohne Wert.
>
> Diese Beträge sind die Werte, über die PayPal den Vorgang führt. Sie sind nicht die Summen des Warenkorbs. Für die Anzeige gegenüber dem Käufer nehmen Sie die Warenkorb- und Bestelltags des Shops. Die Werte hier eignen sich zum Abgleich, wenn Betrag und Bestellung auseinanderzulaufen scheinen.

## Die Lieferadresse von PayPal

Beim Express Checkout kommt die Lieferadresse von PayPal. Sie liegt ebenfalls unter `PAYMENTREQUEST_0_`.

| Tag | Liefert |
| - | - |
| `PAYPALEXPRESS-PAYMENTREQUEST_0_SHIPTONAME` | den Namen des Empfängers |
| `PAYPALEXPRESS-PAYMENTREQUEST_0_SHIPTOSTREET` | die Straße |
| `PAYPALEXPRESS-PAYMENTREQUEST_0_SHIPTOZIP` | die Postleitzahl |
| `PAYPALEXPRESS-PAYMENTREQUEST_0_SHIPTOCITY` | den Ort |
| `PAYPALEXPRESS-PAYMENTREQUEST_0_SHIPTOSTATE` | das Bundesland oder den Staat |
| `PAYPALEXPRESS-PAYMENTREQUEST_0_SHIPTOCOUNTRYCODE` | den Ländercode |
| `PAYPALEXPRESS-PAYMENTREQUEST_0_SHIPTOCOUNTRYNAME` | den Ländernamen |
| `PAYPALEXPRESS-PAYMENTREQUEST_0_ADDRESSSTATUS` | den Prüfstatus der Adresse bei PayPal |
| `PAYPALEXPRESS-PAYMENTREQUEST_0_ADDRESSNORMALIZATIONSTATUS` | den Normalisierungsstatus der Adresse |

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{ST-PayPalExpressCheckout_selected}
   {PAYPALEXPRESS-PAYMENTREQUEST_0_SHIPTONAME}
      <h3>Lieferadresse von PayPal</h3>
      <p>
         ~PAYPALEXPRESS-PAYMENTREQUEST_0_SHIPTONAME~<br>
         ~PAYPALEXPRESS-PAYMENTREQUEST_0_SHIPTOSTREET~<br>
         ~PAYPALEXPRESS-PAYMENTREQUEST_0_SHIPTOZIP~ ~PAYPALEXPRESS-PAYMENTREQUEST_0_SHIPTOCITY~<br>
         {PAYPALEXPRESS-PAYMENTREQUEST_0_SHIPTOSTATE}~PAYPALEXPRESS-PAYMENTREQUEST_0_SHIPTOSTATE~<br>{/PAYPALEXPRESS-PAYMENTREQUEST_0_SHIPTOSTATE}
         ~PAYPALEXPRESS-PAYMENTREQUEST_0_SHIPTOCOUNTRYNAME~
      </p>
   {/PAYPALEXPRESS-PAYMENTREQUEST_0_SHIPTONAME}
{/ST-PayPalExpressCheckout_selected}
```

`SHIPTOSTATE` ist in Deutschland meist leer und in den Vereinigten Staaten immer gefüllt. Klammern Sie die Zeile, sonst steht in deutschen Adressen eine leere Zeile mitten im Block.

### Der Prüfstatus der Adresse

`PAYPALEXPRESS-PAYMENTREQUEST_0_ADDRESSSTATUS` sagt, ob PayPal die Adresse geprüft hat.

| Wert | Bedeutung |
| - | - |
| `none` | keine Angabe |
| `Confirmed` | bestätigt |
| `Unconfirmed` | nicht bestätigt |

`PAYPALEXPRESS-PAYMENTREQUEST_0_ADDRESSNORMALIZATIONSTATUS` betrifft ausschließlich Adressen in Brasilien.

| Wert | Bedeutung |
| - | - |
| `None` | keine Normalisierung |
| `Normalized` | normalisiert |
| `Unnormalized` | nicht normalisiert |
| `UserPreferred` | der Käufer hat seine eigene Schreibweise behalten |

## Die Tags im Überblick

| Tag | Einzel-Tag | Bereichs-Tag | negatives Bereichs-Tag | Schleifen-Tag |
| - | - | - | - | - |
| `PAYPALEXPRESS-<Feldname von PayPal>` | ja | ja | ja | – |

Die Tags sind auf allen Templates zulässig, liefern aber nur im Express-Checkout und nach einer darüber abgeschlossenen Bestellung einen Wert.

## Verwandte Themen

* Wegweiser: [PayPal Express Checkout](https://dokumentation.websale.de/v8s/zahlungsarten-anlegen/paypal.md#paypal-express-checkout)
* Referenz: [ST- (Seitenzustände)](https://dokumentation.websale.de/v8s/referenz/tags/st/seitenzustand-und-navigation.md)
* Referenz: [PAY- (Zahlungsarten anzeigen und auswählen)](https://dokumentation.websale.de/v8s/referenz/tags/pay/zahlungsarten-anzeigen-und-auswaehlen.md)


## Related topics

- [PayPal](https://dokumentation.websale.de/v8s/zahlungsarten-anlegen/paypal.md)
- [checkout - Bestellablauf](https://dokumentation.websale.de/konfiguration/checkout-bestellablauf.md)
- [Schaltflächen der Zahlungsarten](https://dokumentation.websale.de/v8s/referenz/tags/bt/zahlungsarten.md)
- [PayPal Checkout](https://dokumentation.websale.de/v8s/zahlungsarten-anlegen/paypal-checkout.md)
- [PPC- (PayPal Checkout)](https://dokumentation.websale.de/v8s/referenz/tags/ppc-paypal-checkout.md)


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