Zukünftige PayPal-Zahlungen einrichten
Erfahren Sie, wie Sie PayPal-Details speichern und später Zahlungen Ihrer Kund/innen akzeptieren.
Aktivieren Sie Unterstützung für wiederkehrende Zahlungen vom Stripe Dashboard aus
Sie können den Zugriff auf wiederkehrende Zahlungen direkt über das Stripe-Dashboard anfordern. Rufen Sie dazu die Seite mit Einstellungen für Zahlungsmethoden auf, suchen Sie nach PayPal und klicken Sie neben dem Abschnitt „Wiederkehrende Zahlungen“ auf Aktivieren. Ihnen wird der Status ausstehend angezeigt. In der Regel dauert es bis zu 5 Werktage, bis Sie Zugriff auf die wiederkehrenden Zahlungen für PayPal erhalten. Wenn der Zugriff gewährt wird, sehen Sie wiederkehrende Zahlungen auf der Seite mit Ihren PayPal-Einstellungen. Für den Testmodus sind wiederkehrende Zahlungen standardmäßig aktiviert.
Sie können Stripe Checkout verwenden, um PayPal-Zahlungsinformationen vorab zu erfassen und den endgültigen Betrag bzw. das Zahlungsdatum später zu bestimmen. Mögliche Anwendungsszenarien:
- Zahlungsmethoden in einer Wallet speichern, um zukünftige Einkäufe zu optimieren
- Einziehen von Zuschlägen nach Abwicklung einer Dienstleistung
- Kostenlosen Testzeitraum für ein Abonnement starten
Stripe einrichtenServerseitig
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:
Kund/innen vor Einrichtung erstellen oder abrufenServerseitig
Um eine PayPal-Zahlungsmethode für zukünftige Zahlungen zu wiederzuverwenden, muss sie einem Customer-Objekt zugeordnet werden.
Sie sollten ein Customer-Objekt erstellen, wenn Ihre Kund/innen ein Konto bei Ihrem Unternehmen anlegen. Wenn Sie die ID des Customer-Objekts mit Ihrer eigenen Darstellung einer Kundin/eines Kunden verknüpfen, können Sie später die gespeicherten Angaben zur Zahlungsmethode abrufen und verwenden. Wenn Ihre Kund/innen noch kein Konto erstellt haben, können Sie jetzt trotzdem ein Customer-Objekt erstellen und es zu einem späteren Zeitpunkt mit Ihrer eigenen internen Darstellung des Kundenkontos verknüpfen.
Checkout-Sitzung erstellenClientseitigServerseitig
Bevor Sie Zahlungen per PayPal annehmen können, müssen Ihre Kund/innen Sie zum Verwenden ihrer PayPal-Konten für künftige Zahlungen über Stripe Checkout autorisieren.
Fügen Sie Ihrer Website eine Schaltfläche zum Bezahlen hinzu, über die ein serverseitiger Endpoint aufgerufen wird, um eine Checkout-Sitzung zu erstellen.
<html> <head> <title>Checkout</title> </head> <body> <form action="/create-checkout-session" method="POST"> <button type="submit">Checkout</button> </form> </body> </html>
Erstellen Sie eine Checkout-Sitzung im setup
-Modus, um die erforderlichen Informationen zu erfassen. Leiten Sie Ihre Kundinnen/Kunden nach dem Erstellen der Checkout-Sitzung an die in der Antwort zurückgegebene URL weiter.
Wenn Ihre Kund/innen ihre Angaben zur Zahlungsmethode machen, werden sie an die success_
weitergeleitet. Hierbei handelt es sich um eine Seite auf Ihrer Website, auf der Ihre Kund/innen darüber informiert werden, dass ihre Zahlungsmethode erfolgreich gespeichert wurde. Stellen Sie die Sitzungs-ID auf Ihrer Erfolgsseite zur Verfügung, indem Sie die Vorlagenvariable {CHECKOUT_
wie im obigen Beispiel in die success_
einfügen.
Wenn Ihre Kund/innen in einer Checkout-Sitzung auf Ihr Logo klicken, ohne Angaben zur Zahlungsmethode zu machen, leitet Checkout sie über die cancel_
zurück zu Ihrer Website. In der Regel ist das die Seite auf Ihrer Website, die die Kund/innen vor der Weiterleitung zu Stripe Checkout besucht haben.
Vorsicht
Verlassen Sie sich beim Erkennen von initiierten Zahlungen nicht allein auf die Weiterleitung auf die success_
:
- Böswillige Nutzer/innen könnten, ohne zu bezahlen, direkt auf die
success_
zugreifen und sich so unberechtigt Zugang zu Waren und Dienstleistungen verschaffen.url - In manchen Fällen werden Kund/innen nach erfolgreicher Zahlung nicht zur
success_
weitergeleitet. Möglicherweise haben sie die Registerkarte im Browser geschlossen, bevor die Weiterleitung erfolgt ist.url
Zahlungsmethode abrufenServerseitig
Nachdem ein Kunde/eine Kundin seine/ihre Zahlungsdetails übermittelt hat, rufen Sie das PaymentMethod-Objekt ab. Eine PaymentMethod speichert die PayPal account-Informationen der Kundinnen und Kunden für spätere Zahlungen. Sie können die PaymentMethod synchron mit der success_
oder asynchron mithilfe von Webhooks abrufen.
Ob Sie die PaymentMethod synchron oder asynchron abrufen, hängt von Ihrer Toleranz gegenüber Kaufabbrüchen ab, da Kund/innen in manchen Fällen nach erfolgreicher Zahlung nicht zur success_
weitergeleitet werden. (Sie können beispielsweise die Registerkarte im Browser schließen, bevor die Weiterleitung erfolgt ist.) Die Verarbeitung von Webhooks verhindert diese Form von Kaufabbrüchen in Ihrer Integration.
Ereignisse nach Einrichtung verarbeitenServerseitig
Verwenden Sie eine Methode wie Webhooks, um zu bestätigen, dass die Abrechnungsvereinbarung kundenseitig ordnungsgemäß autorisiert wurde, statt sich darauf zu verlassen, dass Ihre Kunden und Kundinnen zur Zahlungsstatusseite zurückkehren. Wird eine Abrechnungsvereinbarung erfolgreich autorisiert, so gibt der SetupIntent das Webhook-Ereignis setup_intent.succeeded aus. Wenn Kundinnen/Kunden die Abrechnungsvereinbarung nicht erfolgreich autorisieren, gibt der SetupIntent das Webhook-Ereignis setup_intent.setup_failed aus und wechselt wieder in den Status requires_
. Wenn ein Kunde/eine Kundin die Abrechnungsvereinbarung von seinem/ihren PayPal-Konto widerruft, wird mandate.updated ausgegeben.
Integration testen
Testen Sie Ihre PayPal-Integration mit Ihren Test-API-Schlüsseln, indem Sie die Weiterleitungsseite anzeigen. Sie können die erfolgreiche Zahlung testen, indem Sie die Zahlung auf der Weiterleitungsseite authentifizieren. Der PaymentIntent wechselt von requires_
zu succeeded
.
Um den Fall zu testen, in dem Nutzer/innen sich nicht authentifizieren können, verwenden Sie Ihre Test-API-Schlüssel und zeigen Sie die Weiterleitungsseite an. Klicken Sie auf der Weiterleitungsseite auf Fail test payment (Testzahlung fehlschlagen lassen). Der PaymentIntent wechselt von requires_
zu requires_
.
Zahlungsmethode für künftige Zahlungen verwendenServerseitig
Wenn Sie bereit sind, Kundinnen/Kunden Off-Session abzurechnen, verwenden Sie die Kunden- und PaymentMethod-IDs, um einen PaymentIntent zu erstellen.
Um ein paypal
-Instrument zu finden, das belastet werden soll, listen Sie die Ihren Kundinnen/Kunden zugeordneten PaymentMethods auf.
Wenn Ihnen die Kunden-ID und die PaymentMethod-ID vorliegen, erstellen Sie eine PaymentIntent mit dem Betrag und der Währung der Zahlung. Legen Sie einige weitere Parameter fest, um die Off-Session-Zahlung durchzuführen:
- Setzen Sie off_session auf
true
, um anzugeben, dass sich der Kunde/die Kundin während dieses Zahlungsversuchs nicht in Ihrem Bezahlvorgang befindet. Dies hat zur Folge, dass der PaymentIntent einen Fehler ausgibt, wenn eine Authentifizierung erforderlich ist. - Legen Sie den Wert der Eigenschaft confirm des PaymentIntent auf
true
fest. Dadurch erfolgt die Bestätigung sofort, wenn der PaymentIntent erstellt wird. - Setzen Sie payment_method auf die ID der PaymentMethod und Kunde/Kundin auf die ID des Kunden/der Kundin.
Abbruch einer nutzerinitiierten ZahlungsmethodeServerseitig
Ein Kunde/eine Kundin kann das Abonnement (Abrechnungsvereinbarung) über sein/ihr PayPal-Konto kündigen. Wenn dies geschieht, gibt Stripe den Webhook mandate.updated aus. Alle nachfolgenden Payment Intents, die die gespeicherte Zahlungsmethode verwenden, schlagen fehl, bis Sie zu einer Zahlungsmethode mit aktiven Mandaten wechseln. Wenn Abonnementzahlungen fehlschlagen, ändert sich der Status in den Abonnementstatus, der in Ihren Einstellungen für den automatischen Einzug konfiguriert ist. Benachrichtigen Sie die Kundinnen/Kunden, wenn die Zahlung fehlgeschlagen ist und belasten Sie ihr Konto mit einer anderen Zahlungsmethode.