Zahlungen per Sofort akzeptieren
So akzeptieren Sie Zahlungen per Sofort, einer gängigen Zahlungsmethode in Europa.
Achtung
New businesses can’t accept SOFORT payments and our financial partners are in the process of discontinuing SOFORT. For more information, read our support page.
Bei Sofort handelt es sich um eine Zahlungsmethode für die einmalige Nutzung mit verzögerter Benachrichtigung, bei der Kundinnen und Kunden ihre Zahlungen authentifizieren müssen. Kundinnen und Kunden zahlen mit Sofort, indem sie von Ihrer Website auf das Portal ihrer Bank weitergeleitet werden, um die Zahlung zu authentifizieren. Eine Benachrichtigung über den Erfolg oder das Fehlschlagen der Zahlung erfolgt in der Regel innerhalb von 2 bis 14 Tagen.
Notiz
Bei der Annahme von Sofort-Zahlungen gelten die Nutzungsbedingungen für Sofort.
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:
PaymentIntent erstellenServerseitig
Eine PaymentIntent stellt Ihre Absicht dar, eine Zahlung von einer Kundin/einem Kunden einzuziehen und verfolgt den Lebenszyklus des Zahlungsvorgangs. Erstellen Sie eine PaymentIntent
auf Ihrem Server und geben Sie den einzuziehenden amount
und die Währung eur
an (Sofort unterstützt keine anderen Währungen). Wenn Sie über eine bestehende Payment Intents-Integration verfügen, fügen Sie sofort
der Liste der Arten der Zahlungsmethoden hinzu.
Bevorzugte Sprache ändern
Die Autorisierungsseite für Sofort zeigt Stripe standardmäßig in der Sprache an, die dem angegebenen Ländercode entspricht. Sie können diese Spracheinstellung an die bevorzugte Sprache der Kundin/des Kunden anpssen, indem Sie sie in der Anfrage übermitteln und den Wert der Eigenschaft preferred_
ändern. Die unterstützten Werte sind de
, en
, es
, it
, fr
, nl
und pl
.
Statt das gesamte PaymentIntent-Objekt an Ihre App zu übergeben, übergeben Sie nur das Client-Geheimnis. Das Client-Geheimnis des PaymentIntent ist ein eindeutiger Schlüssel, mit dem Sie die Zahlung bestätigen und Zahlungsdetails auf dem Client aktualisieren können, ohne dass eine Manipulation vertraulicher Daten, wie beispielsweise des Zahlungsbetrags, möglich ist.
Zahlung an Stripe sendenClientseitig
Um eine Zahlung auf der Client-Seite abzuschließen, stellen Sie Ihrer Client-Anwendung das Client-Geheimnis der PaymentIntent zur Verfügung.
Weiterleitung verarbeiten
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 } })();
Details zum Bankkonto der Kundin/des Kunden, über das die Zahlung vorgenommen wurde, finden Sie unter payment_method_details.
"payment_method_details": { "sofort": { "bank_code": "VAPE", "bank_name": "VAN DE PUT & CO", "bics": "VAPEBE22", "country": "DE", "iban_last4": "7061", "preferred_language": "en", "verified_name": "Jenny Rosen", }, "type": "sofort" }
Weiterleitungsprozess testen
Wenn Sie ein PaymentIntent-Objekt mit Test-API-Schlüssen erstellen, werden Sie zu einer Stripe-Seite weitergeleitet, auf der Sie Informationen zur API-Anfrage finden und die Zahlung entweder autorisieren oder stornieren können. Nach Autorisierung der Zahlung werden Sie an die in return_
angegebene URL weitergeleitet.
Ereignisse nach Zahlung verarbeiten
Da es sich bei Sofort um eine Zahlungsmethode mit verzögerter Benachrichtigung handelt, verbleibt der Status des PaymentIntent für bis zu 14 Tage ab seiner Erstellung (auch als letztmöglicher Zahlungstermin bezeichnet) im Zustand payment_intent.processing. Im Test-Modus verbleibt der Status des PaymentIntent drei Minuten lang im Verarbeitungszustand, um dies zu simulieren.
- Stripe empfiehlt, Bestellungen während des Verarbeitungszustands abzuwickeln. Im Durchschnitt können Sie davon ausgehen, dass etwa 0,2 % der Sofort-Zahlungsversuche nach dem Wechsel in den Verarbeitungszustand fehlschlagen. Dies gilt nur für Sofort-Zahlungen aufgrund der geringen Fehlerquote und nicht für andere Zahlungsmethoden mit verzögerter Benachrichtigung.
- Möglicherweise ziehen Sie es vor, Bestellungen erst nach Erhalt des payment_intent.succeeded-Ereignisses auszuführen. Stripe sendet dieses Ereignis, nachdem der Zahlungsversuch bestätigt wurde und die Gelder garantiert sind.
- Falls eine Kundin/ein Kunde nicht bezahlt, sendet Stripe das payment_intent.failed-Ereignis, und der PaymentIntent wechselt wieder in den Status
requires_
.payment_ method
Verwenden Sie das Dashboard, einen benutzerdefinierten Webhook oder eine Partnerlösung, um diese Ereignisse zu empfangen und Aktionen, wie das Versenden einer Bestellbestätigung per E-Mail, das Erfassen des Verkaufs in einer Datenbank oder das Initiieren eines Versandworkflows, auszuführen.
Manuell
Im Stripe-Dashboard können Sie alle Stripe-Zahlungen anzeigen, Zahlungsbelege per E-Mail versenden, Auszahlungen abwickeln oder fehlgeschlagene Zahlungen erneut durchführen.
Benutzerdefinierter Code
Erstellen Sie einen Webhook-Handler, um Ereignisse zu überwachen und benutzerdefinierte asynchrone Zahlungsabläufe zu erstellen. Mit der Stripe-CLI können Sie Ihre Webhook-Integration lokal testen und Fehler beheben.
Vorgefertigte Apps
Verarbeiten Sie häufige Geschäftsereignisse, wie Automatisierung oder Marketing und Vertrieb durch Integration einer Partneranwendung.
Angefochtene Zahlungen
Das Risiko von Betrug oder Zahlungen, die nicht zugeordnet werden können, ist gering, da Kund/innen jede Zahlung bei ihrer Bank authentifizieren müssen. Dadurch kommt es nicht zu Zahlungsanfechtungen, die Rückbuchungen und damit eine Abbuchung von Ihrem Stripe-Konto nach sich ziehen können.
Fehlgeschlagene Versuche
Wenn ein Zahlungsversuch nicht innerhalb der Frist bestätigt wurde, wechselt der Status des PaymentIntent-Objekts automatisch von processing
zu requires_
. Zudem erhalten Kundinnen und Kunden automatisch eine Rückerstattung, wenn die Gelder nach der Zahlungsfrist eingehen.
Im Durchschnitt schlagen etwa 0,2 % der Zahlungsversuche mit Sofort fehl. Das kann je nach Branche oder Kundenstamm variieren. Unter Umständen empfiehlt es sich, abhängig von Ihrem durchschnittlichen Zahlungsbetrag, der Art der angebotenen Produkte und Dienstleistungen und dem individuellen Risiko Ihres Unternehmens, Bestellungen erst abzuwickeln, nachdem Sie das Ereignis payment_
erhalten haben.
Rückerstattungen
Sofort akzeptiert Rückerstattungsanfragen nur innerhalb von 180 Tagen nach dem Zahlungsdatum. Nach 180 Tagen ist eine Rückerstattung nicht mehr möglich.
Für ausstehende, noch nicht bestätigte Zahlungen können Sie eine Rückerstattung senden. Falls Sie eine vollständige oder teilweise Rückerstattung erstellen, wenn der Status einer PaymentIntent processing
ist, erfolgt die Rückerstattung erst, wenn der Status der PaymentIntent succeeded
ist. Falls der der Status der PaymentIntent nach einem fehlgeschlagenen Zahlungsversuch requires_
ist, werden vollständige und teilweise Rückerstattungen als storniert gekennzeichnet, da das Geld zu keinem Zeitpunkt vom Bankkonto der Kundinnen/Kunden abgegangen ist.