PayPal-Zahlungen annehmen
Erfahren Sie, wie Sie PayPal-Zahlungen annehmen, einer bei europäischen Unternehmen beliebten Digital Wallet.
Stripe einrichtenServerseitig![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
Zunächst benötigen Sie ein Stripe-Konto. Registrieren Sie sich jetzt.
Nutzen Sie unsere offiziellen Bibliotheken für den Zugriff auf die Stripe API über Ihre Anwendung:
Erstellen Sie ein PaymentIntentServerseitig![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
Stripe verwendet ein Zahlungsobjekt (als PaymentIntent bezeichnet), um sämtliche Status der Zahlung zu dokumentieren und zu verarbeiten, bis sie abgeschlossen ist. Erstellen Sie einen PaymentIntent
auf Ihrem Server und geben Sie den einzuziehenden Betrag und die Währung an. Falls Sie bereits über eine Integration verfügen, die die Payment Intents API verwendet, fügen Sie der Liste der Zahlungsmethoden für Ihren PaymentIntent die Zahlungsmethode paypal
hinzu.
Im zurückgegebenen PaymentIntent ist ein Client-Geheimnis enthalten, das verwendet wird, um Zahlungen sicher abzuschließen, anstatt das gesamte PaymentIntent-Objekt zu übergeben. Senden Sie das Client-Geheimnis zurück an den Client, damit Sie es in späteren Schritten verwenden können.
Nutzerdefinierte Beschreibung einfügen![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
Standardmäßig wird in den Bestellungsdetails auf der PayPal-Aktivitätsseite der Nutzerin/des Nutzers der Bestellungsbetrag angezeigt. Sie können das ändern, indem Sie eine nutzerdefinierte Beschreibung in der Eigenschaft description
angeben.
Bevorzugtes Gebietsschema anpassen![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
Standardmäßig wird die PayPal-Autorisierungsseite basierend auf Variablen, wie z. B. dem Land der Händlerin/des Händlers, lokalisiert. Sie können dies mithilfe der Eigenschaft preferred_
an das bevorzugte Gebietsschema Ihrer Kundinnen/Kunden anpassen. Bei dem Wert muss es sich um einen zweistelligen Sprachcode in Kleinbuchstaben handeln, gefolgt von einem Bindestrich (-
) und einem zweistelligen Ländercode in Großbuchstaben. Beispiel: Der Wert für einen/eine französischsprachige/n Nutzer/in in Belgien ist fr-BE
. Siehe Unterstützte Gebietsschemata für weitere Informationen.
Zahlungsbeschreibungen bei PayPal![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
Die Zahlungsbeschreibung auf dem Kontoauszug des Käufers/der Käuferin wird von PayPal festgelegt und lautet standardmäßig PAYPAL *YOUR_
. Wenn Sie das Feld statement_
beim Erstellen des PaymentIntent
festlegen, wird sein Wert bis zu 22 Zeichen an den von PayPal festgelegten angehängt.
Wenn Ihr Unternehmensname in PayPal beispielsweise BUSINESS
lautet und Sie statement_
auf order_
festlegen, sehen die Käufer/innen auf ihrem Kontoauszug die Angabe PAYPAL *BUSINESS order
.
Zahlung an Stripe sendenClientseitig![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
Wenn Kundinnen/Kunden über das „Click to Pay“-Verfahren mit PayPal bezahlen, verwenden Sie Stripe.js, um die Zahlungen an Stripe zu übermitteln. Stripe.js ist die grundlegende JavaScript-Bibliothek für die Erstellung von Zahlungsabläufen. Sie verarbeitet automatisch komplexe Szenarien wie die nachfolgend beschriebene Weiterleitung und ermöglicht die Erweiterung Ihrer Integration durch zusätzliche Zahlungsmethoden. Binden Sie das Stripe.js-Skript in Ihre Bezahlseite ein, indem Sie es im head
Ihrer HTML-Datei einfügen.
<head> <title>Checkout</title> <script src="https://js.stripe.com/v3/"></script> </head>
Erstellen Sie auf Ihrer Checkout-Seite mit dem folgenden JavaScript eine Instanz von Stripe.js.
// Set your publishable key. Remember to change this to your live publishable key in production! // See your keys here: https://dashboard.stripe.com/apikeys const stripe = Stripe(
);'pk_test_TYooMQauvdEDq54NiTphI7jx'
Um eine Zahlung auf dem Client zu erstellen, übergeben Sie das Client-Geheimnis des in Schritt 2 erstellten PaymentIntent
-Objekts. Das Client-Geheimnis unterscheidet sich von Ihren API-Schlüsseln, die Stripe-API-Anfragen authentifizieren. Achten Sie auf einen vorsichtigen Umgang mit dem Client-Geheimnis, da mit ihm die Zahlung abgeschlossen werden kann. Es darf nicht protokolliert, in URLs eingebettet oder Personen außer der Kundin/dem Kunden selbst zugänglich gemacht werden.
PayPal-Zahlung bestätigen![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
Rufen Sie stripe.confirmPayPalPayment auf, um Ihre Kundinnen/Kunden zum Durchführen der Zahlung an PayPal weiterzuleiten. Fügen Sie eine return_
hinzu, um das Ziel anzugeben, an das Stripe Ihre Kundinnen/Kunden nach Durchführung der Zahlung weiterleiten soll.
// Redirects away from the client const {error} = await stripe.confirmPayPalPayment( '{{PAYMENT_INTENT_CLIENT_SECRET}}', { return_url: 'https://example.com/checkout/complete', } ); if (error) { // Inform the customer that there was an error. }
Wenn Sie Ihre PayPal-Mittel mit PayPal begleichen, hat die mit der Zahlung verknüpfte Saldotransaktion unabhängig vom Zahlungsbetrag einen Betrag von Null, da die Transaktion eingehendes und ausgehendes Geld Ihres Stripe-Saldos darstellt. Bei PayPal werden die Gelder jedoch Ihrem PayPal-Saldo gutgeschrieben und es wird kein Geld auf Ihren Stripe-Saldo übertragen. Die Saldotransaktion umfasst in diesem Fall auch damit verbundene Gebühren. Erfahren Sie mehr über andere wichtige Details im Zusammenhang mit den Abrechnungseinstellungen.
Weiterleitung verarbeiten![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
Die folgenden URL-Abfrageparameter werden angegeben, wenn Stripe Kund/innen an die return_
weiterleitet.
Parameter | Beschreibung |
---|---|
payment_ | Die eindeutige ID für PaymentIntent . |
payment_ | Das Client-Geheimnis des PaymentIntent -Objekts. |
Bei Angabe der return_
können Sie auch Ihre eigenen Abfrageparameter hinzufügen. Sie bleiben während des gesamten Weiterleitungsvorgangs erhalten. Die return_
sollte einer Seite auf Ihrer Website entsprechen, die den Status der Zahlung angibt. Sie sollten den Status des PaymentIntent
beim Rendern der Rückgabeseite überprüfen. Hierfür können Sie die Funktion retrievePaymentIntent
von Stripe.js verwenden und im payment_
übergeben.
(async () => { const url = new URL(window.location); const clientSecret = url.searchParams.get('payment_intent_client_secret'); const {paymentIntent, error} = await stripe.retrievePaymentIntent(clientSecret); if (error) { // Handle error } else if (paymentIntent && paymentIntent.status === 'succeeded') { // Handle successful payment } })();
Sie finden den Namen, die E-Mail-Adresse, die Zahler-ID und die Transaktions-ID des des Inhabers/der Inhaberin der Zahlung in der Eigenschaft payment_method_details.
Feld | Wert |
---|---|
payer_ | Die E-Mail-Adresse der zahlenden Person in ihrem PayPal-Konto. |
payer_ | Der Name der zahlenden Person in ihrem PayPal-Konto. |
payer_ | Eine eindeutige ID des PayPal-Kontos der zahlenden Person. |
transaction_ | Eine eindeutige, von PayPal generierte Transaktions-ID. |
{ "charges": { "data": [ { "payment_method_details": { "paypal": { "payer_id": "H54KFE9XXVVYJ", "payer_email": "jenny@example.com", "payer_name": "Jenny Rosen", "transaction_id": "89W40396MK104212M" }, "type": "paypal" }, "id": "src_16xhynE8WzK49JbAs9M21jaR", "object": "source", "amount": 1099, "client_secret": "src_client_secret_UfwvW2WHpZ0s3QEn9g5x7waU", "created": 1445277809, "currency": "eur", "flow": "redirect",