Über PayPal


Logo

Info

wickelt PayPal-Zahlungen ab, die Ihnen weltweiten Verkäuferschutz sowie ein Potenzial von 425 Millionen internationalen Kunden in über 200 Märkten bieten.

PayPal gehört zu den beliebtesten Online-Zahlungsmitteln und kann im E- und M-Commerce eingesetzt werden.

TypZahlungen per eWallet

Allgemeines zu PayPal

PayPal steht seit mehr als 20 Jahren an der Spitze der digitalen Zahlungsrevolution. Durch den Einsatz von Technologie, um Finanzdienstleistungen und Handel bequemer, erschwinglicher und sicherer zu machen, ermöglicht die PayPal-Plattform mehr als 425 Millionen Kunden und Händlern in mehr als 200 Märkten, sich der globalen Wirtschaft anzuschließen und erfolgreich zu sein.

Kunden in Deutschland können per Lastschrift, giropay oder Kreditkarte (American Express, Diners Club, Discover, MasterCard, Visa) bezahlen. Mitglieder loggen sich während des Bestellvorgangs mit ihrer E-Mail-Adresse und einem Passwort in ihr PayPal-Konto ein und wählen die bevorzugte Zahlungsquelle – Lastschrift, Kreditkarte, PayPal-Guthaben (Pay Later) und ggf. Kauf auf Rechnung oder Ratenzahlung.

Für weitere Informationen besuchen Sie https://www.paypal.com/ .

PayPal Shortcut (früher "Express Checkout Shortcut (ECS)")

bietet zur Verkürzung des Bestellvorgangs den PayPal Shortcut an: Ihr Kunde muss keine Adressdaten eingeben, sondern klickt im Warenkorbbereich auf Mit PayPal bezahlen, meldet sich an und wählt die bei PayPal hinterlegte Rechnungs- und Lieferadresse aus. Das sendet dann die Lieferadresse als Ergebnisparameter an Ihren Shop zurück.

Käufer und Verkäufer sind geschützt

PayPal bietet Käufern und Händlern einen umfassenden Käufer-/Verkäuferschutz bei Verwendung von „Bezahlen mit PayPal“ als Zahlungsmethode (ausgenommen alternative Zahlungsmethoden). Käufer können bei Nichterfüllung eines Kaufvertrags Geld von PayPal zurückfordern. Mit Adressverifizierung und PayPal-Verkäuferschutz nimmt PayPal dem Händler das Risiko von Zahlungsausfällen bei Lastschriftzahlungen, deutschen Kreditkartenzahlungen und unberechtigten Kundenreklamationen ab. Der Verkäuferschutz ist immer an die Regeln und Bedingungen von PayPal gekoppelt. Das PayPal-Risikomanagement mit Käuferschutz und Adressverifizierung wird Ihnen über das zur Verfügung gestellt.

Weltweit online bezahlen

PayPal ist besonders vorteilhaft für die Kundenakquise im Ausland. Das unterstützt alle von PayPal angebotenen Währungen und Märkte. In vielen Ländern bietet PayPal den Kunden landestypische Zahlungsmethoden an. Kunden im Ausland können häufig typische Zahlungsmethoden wie Prepaid-Karten in Italien oder Debitkarten in Großbritannien verwenden. Durch die Integration von PayPal in Ihren Shop haben Sie die Möglichkeit, Ihren Kunden gleich mehrere Zahlungsarten anzubieten. Natürlich steht es Ihnen auch frei, nur "Bezahlen mit PayPal" anzubieten.

Vorteile von Orders V2 ("PayPal Checkout")

Orders V2 hat folgende Vorteile gegenüber PayPal NVP und SOAP.

  • Orders V2 ist die Grundlage für alle zukünftigen Entwicklungen von Produkten und wird von PayPal empfohlen. PayPal wird keine neuen Funktionen mehr entwickeln/bestehende Funktionen auf der Grundlage von PayPal NVP und SOAP erweitern.
  • Orders V2 hält sich an die neuesten Compliance-Standards.
  • Orders V2 bietet einen reibungsloseren Checkout-Prozess mit einer Lightbox (unter Verwendung von JS SDK, sogenannter „PayPal Mini Browser“), einem Fenster-Overlay, das oben auf der Online-Shop-Seite des Händlers erscheint. Dadurch bleibt der Kunde auf der Seite des Händlers und den Fokus nicht verlieren.


Weitere Informationen finden Sie auf der Webseite von PayPal (https://www.paypal.com).

Wichtige Hinweise

Bitte beachten Sie, dass entgegen der Darstellung in unserer Währungstabelle die Währungen HUF (Ungarn ‒ Forint), JPY (Japanische Yen) und TWD (Republik China ‒ Taiwan-Dollar) ohne Nachkommastellen einzureichen sind.

Beispiel: Um 100,00 HUF einzureichen, übergeben Sie Amount=100.

Diese Ausnahme gilt ausschließlich für die Zahlungsart PayPal. Weitere Details finden Sie unter https://developer.paypal.com/reference/currency-codes/.

Wenn Sie die MassPay-Funktionalität nutzen möchten, wenden Sie sich bitte an den , um diese Funktion für Sie zu aktivieren.

Auf dieser Seite


Diagramm zum Prozessablauf



Konfiguration für PayPal

PayPal Sandbox Geschäftskonto

Wenn Sie die Integration testen möchten bevor Sie live gehen und noch über kein PayPal Sandbox-Testkonto verfügen, bitten wir Sie im ersten Schritt ein PayPal Sandbox-Testkonto zu erstellen.

1. Melden Sie sich bei https://developer.paypal.com/ an und gehen Sie zu „Testing Tools“ => „Sandbox Accounts“

2. Klicken Sie auf „Konto erstellen“ und wählen Sie „Geschäftlich (Händlerkonto)“ und „Deutschland“ als „Land / Region“ aus.

3. Wählen Sie „Konto anzeigen/bearbeiten“

4. Nehmen Sie „E-Mail-ID“ und „vom System generiertes Passwort“ und verwenden Sie diese im nächsten Schritt als Login/Pass für Sandbox.

Dem API-Berechtigungen erteilen

Damit Transaktionen in Ihrem Namen verarbeiten darf, bitten wir Sie, die entsprechenden Berechtigungen zu erteilen.

Berechtigungen können unter Ihrem PayPal-Konto erteilt werden. Bitte verwenden Sie die folgenden Links, um sich bei Ihrem PayPal-Konto anzumelden, und folgen Sie den Schritten.

<br/>
<script type="text/javascript">
    function sh() {
        alert('Failed to acquire paypal registration link, please contact customer support or try again later.')
    }
  
    function getPPRegUrl(merchId,dataKey,dataLen) {
        const request = new XMLHttpRequest();
        request.open('GET', 'https://www.computop-paygate.com/ExternalServices/paypalorders.aspx?MerchantID='+merchId+'&Len='+dataLen+'&Data='+dataKey, false);
        request.send(null);
        if (request.status === 200) {
            console.log(request.responseText);
            try {
                return request.responseText.split('&').filter(p=>p.startsWith('paypalurl')).map(pv=>pv.substring(pv.indexOf('=')+1))[0]
            } catch (ex) {
                console.log("Unable to extract PP Url");
                sh()
            }
        } else {
            sh()
        }
        return ""
    }

     (function(d, s, id) {
      var js, ref = d.getElementsByTagName(s)[0];
      if (!d.getElementById(id)) {
        js = d.createElement(s);
        js.id = id;
        js.async = true;
        js.src = "https://www.paypal.com/webapps/merchantboarding/js/lib/lightbox/partner.js";
        ref.parentNode.insertBefore(js, ref);
      }

    }(document, "script", "paypal-js"));

</script> 
 <div dir="ltr" style="text-align: center;" trbidi="on">
  <a id="paypal-reg-button-sb" data-paypal-button="true" href="<Action-URL>&displayMode=minibrowser" target="PPFrame"><h3>Sign up for PayPal Sandbox</h3></a>
  <script type="text/javascript">
    
    function setUrlSB(e) {
        const newUrl = getPPRegUrl('CT_PayPal_Onboarding_Sandbox','F629FDED40503D5783C8C879A183F09135BE4273A2425AF69E75BF65ED026CE509E949A51037906F37DA3EE9161741742DEEFFF5D1146BFAC67DD35F49799F49518D3459657B2C3181AC5FF352640902AF342A2F3804DE9B167FF083A2C52EF20C8FEA76A8A73BA877E54264DCB4C70F','105')
        if (newUrl) {
            const elm = e.currentTarget
            if (elm) {
                elm.setAttribute("href", "<Action-URL>&displayMode=minibrowser".replace("<Action-URL>", newUrl))
                return true
            }
        }
        if (!e) e = window.event;
        e.cancelBubble = true;
        if (e.stopPropagation) e.stopPropagation();
        return false
    }

    const ppLinkSB = document.getElementById("paypal-reg-button-sb")
    if (typeof window.addEventListener != "undefined") {
        ppLinkSB.addEventListener("click",setUrlSB);
    } else {
        ppLinkSB.attachEvent("onclick",setUrlSB);
    }

  </script>
</div> <br/>
<div dir="ltr" style="text-align: center;" trbidi="on">
  <a id="paypal-reg-button-prod" data-paypal-button="true" href="<Action-URL>&displayMode=minibrowser" target="PPFrame"><h3>Sign up for PayPal Production</h3></a>
  <script type="text/javascript">
    
    function setUrlProd(e) {
        const newUrl = getPPRegUrl('CT_PayPal_Onboarding_Prod','3846216250F3E10765463DDE776E26881A43EC12E422B535E33B9124EEF9E739483E1FED8962A43AFA5E6B7158EAFF5C40ACF8C6C22B52ADD579DFE28BCAB4AF245E4294F662148AEBB07777604CB5C4BC3F715497806D1E63FD5BC159835BCE2F7D8A5E63BAB67F','102')
        if (newUrl) {
            const elm = e.currentTarget
            if (elm) {
                elm.setAttribute("href", "<Action-URL>&displayMode=minibrowser".replace("<Action-URL>", newUrl))
                return true
            }
        }
        if (!e) e = window.event;
        e.cancelBubble = true;
        if (e.stopPropagation) e.stopPropagation();
        return false
    }

    const ppLinkProd = document.getElementById("paypal-reg-button-prod")
    if (typeof window.addEventListener != "undefined") {
        ppLinkProd.addEventListener("click",setUrlProd);
    } else {
        ppLinkProd.attachEvent("onclick",setUrlProd);
    }

  </script>
</div>

 

PayerID an Merchant Services senden

Um die Händlereinrichtung auf -Seite abzuschließen, bitten wir Sie, die PayerID an Merchant Services zu senden.

Die PayerID finden Sie unter Ihrem PayPal-Konto unter https://paypal.com/myaccount/settings/ wie angegeben. Durch die PayerID wird der Händler eindeutig bei PayPal identifiziert. Für die Sandbox- und Live Umgebung lautet die PayerID identisch.

image2023-3-29_21-32-47.png



PayPal Smart Button

Einrichtung der PayPal-Schaltfläche

Auf der Client-Seite erfolgt die PayPal-Implementierung über das PayPal JavaScript SDK.

Je nach Ihrer Einrichtung können Sie das folgende Skript verwenden oder mit Hilfe der offiziellen PayPal JavaScript SDK-Dokumentation https://developer.paypal.com/sdk/js/ ein eigenes erstellen.

Während Sie in der Sandbox testen, können Sie die client-id verwenden, die zu Ihrer Test-App vom PayPal-Webentwicklerportal passt. Wenn Sie live gehen, ersetzen Sie diese mit der live client-id.

Aktivierung der PayPal-Schaltfläche Später Bezahlen

Der obige Codeabschnitt enthält die folgende Zeile. In dieser Zeile können Sie festlegen, welche Finanzierungsquellen im Webshop zugelassen werden.

<script type="text/javascript" src="https://www.paypal.com/sdk/js?client-id=sb&currency=EUR&disable-funding=giropay,sofort,sepa,card&intent=capture"></script>

Die Zeile entsprach der folgenden Schaltfläche. Standardmäßig (unter Verwendung der obigen Zeile) ist nur die PayPal-Schaltfläche verfügbar.


Wenn zusätzlich der zur standardmäßigen PayPal-Schaltfläche die Schaltfläche PayPal Später Bezahlen benötigt wird, kann die Schaltfläche durch den Parameter enable-funding wie folgt aktiviert werden.

<script type="text/javascript" src="https://www.paypal.com/sdk/js?client-id=sb&currency=EUR&disable-funding=giropay,sofort,sepa,card&enable-funding=paylater"></script>

Im Ergebnis erscheinen folgende zwei Schaltflächen.


Die komplette List der Werte für disable-funding und enable-funding finden Sie unter nachstehendem Link.

https://developer.paypal.com/docs/regional/th/checkout/reference/customize-sdk/#components

Parameter intent

Der obige Codeabschnitt enthält die folgende Zeile.

<script type="text/javascript" src="https://www.paypal.com/sdk/js?client-id=sb&currency=EUR&disable-funding=giropay,sofort,sepa,card&intent=capture"></script>

Das bietet 3 mögliche Optionen für eine Zahlung.

  • SALE (capture=Auto) (wenn das automatisch die Buchung für eine Zahlung sendet; das ist das Standardszenario, das den Anforderungen der meisten Händler entspricht)
  • AUTHORIZE (capture=Manual + txtype=Auth) (wenn die Buchung später vom Händler als separater API-Aufruf gesendet werden soll)
  • ORDER (capture=Manual + txtype=Order) (wenn Autorisierung und Buchung später vom Händler als separate API-Aufrufe gesendet werden sollen)

Der Parameter intent in der obigen Zeile muss mit diesen Optionen synchron sein.

Wenn die Option SALE verwendet wird, muss der Parameter intent wie nachstehend auf "capture" gesetzt werden.

<script type="text/javascript" src="https://www.paypal.com/sdk/js?client-id=sb&currency=EUR&disable-funding=giropay,sofort,sepa,card&intent=capture"></script>

Wenn die Option AUTHORIZE oder ORDER verwendet wird, muss der Parameter intent wie nachstehend auf "authorize" gesetzt werden.

<script type="text/javascript" src="https://www.paypal.com/sdk/js?client-id=sb&currency=EUR&disable-funding=giropay,sofort,sepa,card&intent=authorize"></script>

Es ist wichtig, den richtigen Wert für den Parameter intent festzulegen, weil sonst ein Fehler auftritt.

Stil der PayPal-Schaltfläche

Der obige Codeabschnitt für die PayPal-Schaltfläche hat keine stilbezogenen Parameter. Dieser Codeabschnitt geht wie folgt vom standardmäßigen PayPal-Stil für die Schaltfläche aus.


PayPal erlaubt es, verschiedene Stile für die PayPal-Schaltfläche zu definieren, indem Sie die Parameter shape, color, layout und label verwenden. Eine vollständige Liste der stilbezogenen Parameter finden Sie unter dem folgenden Link.

https://developer.paypal.com/docs/checkout/advanced/style-guide/



-Schnittstelle


Aufruf der Schnittstelle

Um eine PayPal-Zahlung im -Formular abzuwickeln, nutzen Sie folgende URL und Parameter:

ExternalServices/paypalorders.aspx


Mit dieser URL unterstützt das zwei verschiedene PayPal-Methoden: Einerseits können Sie PayPal ganz normal als zusätzliche Zahlungsmethode zum Abschluss einer Bestellung anbieten. Zum anderen können Sie PayPal Express Checkout nutzen, damit der Kunde vom Warenkorb direkt zu PayPal gelangt und dort seine Liefer- und Rechnungsadresse auswählt. Dem Kunden erspart das die erneute Eingabe von Adressdaten und als Händler genießen Sie den PayPal Verkäuferschutz.

Das unterstützt auch für PayPal Express Checkout das Auseinanderfallen von Autorisierung und Buchung. Sie können über das über Parameter steuern, ob der Betrag auf dem PayPal-Account des Kunden geblockt oder gleich gebucht werden soll.

Hinweis: Damit Sie vom PayPal Verkäuferschutz profitieren, muss eine der folgenden Bedingungen erfüllt sein. Entweder der Kunde nutzt PayPal Express Checkout und wählt eine bei PayPal selbst hinterlegte Lieferadresse aus, die das an Ihren Shop übergibt. Oder Ihr Shop übergibt die bereits bekannte Lieferadresse an PayPal. Der Verkäuferschutz gilt nur, wenn die Ware an diese angegebene Adresse geliefert wurde. Zwischen der Autorisierung des Betrags im PayPal-Konto des Kunden und der Buchung dürfen nicht mehr als 3 Tage liegen, wenn Sie vom Verkäuferschutz profitieren möchten. Das unterstützt deshalb mehrere Alternativen zur Abwicklung von PayPal-Zahlungen: für eine Beratung zur Implementierung von PayPal stehen wir Ihnen gerne zur Verfügung.


Parameter für PayPal-Zahlungen


Ergebnis-Parameter für URLSuccess, URLFailure und URLNotify bei PayPal


Hinweis: Die Adress-Parameter werden immer an den Shop übergeben, sind aber leer, wenn keine Adressdaten ausgetauscht wurden.


Aufruf der Schnittstelle für Methode "shortcut"

Die PayPal-Methode "shortcut" ermöglicht einen geänderten Transaktionsablauf, bei dem der Kunde für die Zahlungsbestätigung in den Shop zurückgeleitet wird. Um im nächsten Schritt diese PayPal-Zahlung abzuschließen, nutzen Sie folgende URL und Parameter:

paypalComplete.aspx


Parameter für PayPal-Zahlungen mit Methode "shortcut"


Ergebnis-Parameter bei PayPal mit Methode "shortcut"


Aufruf der Schnittstelle für separate Autorisierung

Für eine PayPal Zahlung kann im Prozessablauf die ORDER von der anschließenden Autorisierung und nachfolgenden Schritten getrennt werden. Eine separate Autorisierung ist nur nach erfolgten Order (TxType=Order) möglich.

Für eine separate Autorisierung bei PayPal verwenden Sie bitte URL:

Authorize.aspx


Parameter für PayPal-Autorisierung


Ergebnis-Parameter bei PayPal-Autorisierung



Aufruf der Schnittstelle für eine Buchung

Um eine Buchung (Capture) für PayPal über eine Server-zu-Server-Verbindung auszuführen, verwenden Sie bitte folgende URL:

capture.aspx


Parameter für PayPal-Buchungen


Ergebnis-Parameter für PayPal-Buchungen



Aufruf der Schnittstelle für eine Gutschrift mit Referenz

Um eine Gutschrift (Credit) mit Referenztransaktion für PayPal auszuführen, verwenden Sie bitte folgende URL:

credit.aspx


Parameter für PayPal-Gutschriften mit Bezugstransaktion


Ergebnis-Parameter für PayPal-Gutschriften mit Bezugstransaktion



Aufruf der Schnittstelle für nicht referenzierte Gutschriften

Um eine Gutschrift ohne Bezugstransaktion für PayPal abzuwickeln, verwenden Sie bitte folgende URL:

paypalcreditEx.aspx


Parameter für PayPal-Gutschriften ohne Bezugstransaktion


Ergebnis-Parameter für PayPal-Gutschriften ohne Bezugstransaktion



Aufruf der Schnittstelle für Stornierungen

Um eine Transaktion bei PayPal zu stornieren, verwenden Sie bitte folgende URL:

reverse.aspx


Parameter für PayPal-Stornierungen


Ergebnis-Parameter für PayPal-Stornierungen



Referenztransaktionen

Voraussetzungen

  • Die Option "Referenztransaktionen“ muss in Ihrem PayPal-Konto aktiviert sein. Beantragen Sie die Aktivierung bitte direkt bei PayPal.

Prozess

Der Prozess umfasst zwei Schritte.

Einrichten einer Abrechnungsvereinbarung (Anfangstransaktion der Abrechnungsvereinbarung)

  1. Rufen Sie PayPalOrders.aspx mit TxType=BAID auf (siehe ). Als Antwort gibt das die URL zurück. Alle Parameter außer den folgenden sind im Fall von TxType=BAID optional.
  2. Über die URL meldet sich der Kunde im PayPal-Konto an und genehmigt die Abrechnungsvereinbarung.
  3. Sobald die Abrechnungsvereinbarung vom Kunden genehmigt ist, wird die Billing Agreement ID über URLNotify gesendet.

Nutzung der Abrechnungsvereinbarung

  1. Rufen Sie PayPalRefTrans.aspx auf (unten als Server-zu-Server-Anfrage beschrieben) mit BillingAgreementID="Billing Agreement ID", die im vorigen Schritt erzeugt wurde. Der Kunde muss sich zur Genehmigung der Transaktion nicht mehr am PayPal-Konto anmelden.

Widerruf der Abrechnungsvereinbarung

  • Ein Kunde kann die Billing Agreement ID in seinem eigenen PayPal-Konto widerrufen. Der Händler kann nur dann über die Kündigung informiert werden, wenn für das Händlerkonto die Zusatzoption IPN „Sofortzahlungsbenachrichtigung“ aktiviert ist. Die Freischaltung muss über den erfolgen. Bitte beachten Sie, dass der Händler nach der IPN-Aktivierung Benachrichtigungen über jede Statusänderung einer PayPal-Zahlung erhält.
  • Wenn ein Kunde die Billing Agreement ID widerruft, sind keine weiteren Referenztransaktionen (unter Verwendung dieser Billing Agreement ID) mehr möglich. Diese Billing Agreement ID kann auch nicht wieder reaktiviert werden.

Anfrage

Um eine PayPal-Abonnementzahlung zu veranlassen, verwenden Sie bitte folgende URL:

paypalreftrans.aspx


Parameter für PayPal-Referenztransaktionen


Antwort

Ergebnis-Parameter für PayPal-Referenztransaktionen



Batch-Nutzung der Schnittstelle

Dieses Kapitel beschreibt die Parameter, die Sie im Datensatz (Record) für die Ausführung einer PayPal-Zahlung übergeben müssen und welche Informationen Sie der Antwort-Datei über den Status des Zahlungsvorgangs entnehmen können.

Bei den Batch-Aufrufen ist die verwendete Batch-Version zu unterscheiden, wovon die optionalen Parameter abhängen. Alle mit „2.“ beginnen Versionsbezeichnungen betreffen Aufrufe für einen Konzern. Das bedeutet, innerhalb einer Batch-Datei mit einer bestimmten MerchantID können auch Transaktionen anderer Händler mit einer abweichenden Sub-MID übertragen werden.

Folgende Tabelle gibt eine Übersicht der pro Aktion jeweils möglichen Batch-Versionen und ihrer Besonderheiten:

Beschreibung der möglichen Batch-Versionen


Der Aufbau für eine PayPal-Zahlung in einer einzureichenden Batch-Datei sieht folgendermaßen aus:


Beispiel für Master-MID-Funktion:


Hinweis: Bei Version 1.4 ist es auch möglich, bei einer Capture-Aktion den CompleteType zusätzlich mit zu übergeben:

PAYPAL,Capture,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>(,<CompleteType>,<TID>)


Beschreibung der Felder im Datensatz von Batch-Dateien


Der Record-Bereich in der Antwort-Datei zu Batch-Transaktionen sieht folgendermaßen aus:


Beschreibung der Ergebnis-Parameter im Datensatz von Batch-Dateien