Weiter zum Inhalt
Konto erstellen
oder
anmelden
Das Logo der Stripe-Dokumentation
/
KI fragen
Konto erstellen
Anmelden
Jetzt starten
Zahlungen
Finanzautomatisierung
Plattformen und Marktplätze
Geldmanagement
Entwickler-Tools
Jetzt starten
Zahlungen
Finanzautomatisierung
Jetzt starten
Zahlungen
Finanzautomatisierung
Plattformen und Marktplätze
Geldmanagement
Übersicht
Informationen zu Stripe Payments
Aktualisieren Sie Ihre Integration
Zahlungsanalysefunktionen
Online-Zahlungen
ÜbersichtIhren Use case findenZahlungen verwalten
Payment Links verwenden
Bezahlseite erstellen
Erweiterte Integration erstellen
In-App-Integration erstellen
Zahlungsmethoden
Zahlungsmethoden hinzufügen
    Übersicht
    Optionen für die Integration von Zahlungsmethoden
    Standardzahlungsmethoden im Dashboard verwalten
    Arten von Zahlungsmethoden
    Karten
    Lastschriften
    Bank Redirect
      Bancontact
      BLIK
      EPS
      FPX
      iDEAL
      Przelewy24
      Sofort
        SOFORT entfernen und ersetzen
        Zahlung annehmen
        Bankdaten im Zahlungsverlauf speichern
        Zukünftige Zahlungen einrichten
      TWINT
    Banküberweisungen
    Überweisungen (Sources)
    Jetzt kaufen, später bezahlen
    Zahlungen in Echtzeit
    Gutscheine
    Geldbörsen
    Lokale Zahlungsmethoden nach Land aktivieren
    Nutzerdefinierte Zahlungsmethoden
Zahlungsmethoden verwalten
Schnellerer Bezahlvorgang mit Link
Zahlungsschnittstellen
Payment Links
Checkout
Web Elements
In-App-Elements
Zahlungsszenarien
Nutzerdefinierte Zahlungsabläufe
Flexibles Acquiring
Orchestrierung
Präsenzzahlungen
Terminal
Andere Stripe-Produkte
Financial Connections
Krypto
Climate
StartseiteZahlungenAdd payment methodsBank redirectsSOFORT

Zahlungen per Sofort akzeptieren

So akzeptieren Sie Zahlungen per Sofort, einer gängigen Zahlungsmethode in Europa.

Seite kopieren

Achtung

SOFORT has been discontinued as of March 31, 2025. For more information, read our support page.

Vorsicht

Wir empfehlen Ihnen, den Leitfaden Zahlung akzeptieren zu befolgen, es sei denn, Sie müssen eine manuelle serverseitige Bestätigung verwenden oder Ihre Integration erfordert die separate Angabe von Zahlungsmethoden. Wenn Sie Elements bereits integriert haben, lesen Sie den Migrationsleitfaden für Payment Element.

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 einrichten
Serverseitig
Clientseitig

Zunächst benötigen Sie ein Stripe-Konto. Registrieren Sie sich jetzt.

Serverseitig

Diese Integration erfordert Endpoints auf Ihrem Server, die mit der Stripe-API kommunizieren können. Nutzen Sie die offiziellen Bibliotheken für den Zugriff auf die Stripe-API von Ihrem Server aus:

Command Line
Ruby
# Available as a gem sudo gem install stripe
Gemfile
Ruby
# If you use bundler, you can add this line to your Gemfile gem 'stripe'

Clientseitig

Das Stripe iOS SDK ist Open Source, vollständig dokumentiert und kompatibel mit Apps, die iOS 13 oder höher unterstützen.

Führen Sie zur Installation des SDK die folgenden Schritte aus:

  1. In Xcode, select File > Add Package Dependencies… and enter https://github.com/stripe/stripe-ios-spm as the repository URL.
  2. Wählen auf unserer Veröffentlichungsseite die neueste Version aus.
  3. Fügen Sie das Produkt StripePaymentsUI zum Ziel Ihrer App hinzu.

Notiz

For details on the latest SDK release and past versions, see the Releases page on GitHub. To receive notifications when a new release is published, watch releases for the repository.

Konfigurieren Sie das SDK mit Ihrem veröffentlichbaren Schlüssel von Stripe, um es beim Start der App auszuführen. Dadurch kann Ihre App Anfragen an die Stripe-API senden.

AppDelegate.swift
Swift
import UIKit import StripePaymentsUI @main class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { StripeAPI.defaultPublishableKey =
"pk_test_TYooMQauvdEDq54NiTphI7jx"
// do any other necessary launch configuration return true } }

Notiz

Use your test keys while you test and develop, and your live mode keys when you publish your app.

PaymentIntent erstellen
Serverseitig

Ein PaymentIntent stellt Ihre Absicht dar, Zahlungen von Kundinnen und Kunden einzuziehen, und dokumentiert den gesamten Zahlungsvorgang.

Serverseitig

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.

Command Line
cURL
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=1099 \ -d currency=eur \ -d "payment_method_types[]"=sofort

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_language ändern. Die unterstützten Werte sind de, en, es, it, fr, nl und pl.

Command Line
cURL
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=1099 \ -d currency=eur \ -d "payment_method_types[]"=sofort \ -d "payment_method_options[sofort][preferred_language]"=de

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.

Clientseitig

Fordern Sie auf dem Client einen PaymentIntent von Ihrem Server an und speichern Sie sein Client-Geheimnis.

CheckoutViewController.swift
Swift
Vollständiges Beispiel anzeigen
class CheckoutViewController: UIViewController { var paymentIntentClientSecret: String? func startCheckout() { // Request a PaymentIntent from your server and store its client secret } }

Zahlung an Stripe senden
Clientseitig

Wenn ein Kunde auf „Zahlung mit Sofort“ klickt, bestätigen Sie die PaymentIntent, um die Zahlung abzuschließen. Konfigurieren Sie ein STPPaymentIntentParams Objekt mit dem Client-Geheimnis PaymentIntent von Ihrem Server. Sofort verlangt, dass Sie den Ländercode der Bank Ihrer Kundin/Ihres Kunden erfassen und in STPPaymentMethodSofortParams übergeben.

Anstatt das gesamte PaymentIntent-Objekt an den Client zu senden, wird die Verwendung des Client-Geheimnisses empfohlen. Dies unterscheidet sich von Ihren API-Schlüsseln, die Stripe-API-Anfragen authentifizieren. Das Client-Geheimnis ist eine Zeichenkette, mit der Ihre App auf wichtige Felder aus dem PaymentIntent zugreifen kann (z. B. status), während sensible Felder verborgen bleiben (z. B. customer).

Rückgabe-URL einrichten

Das iOS SDK kann zur Durchführung einer Zahlung per Sofort eine Webansicht in Ihrer App anzeigen. Wenn die Authentifizierung abgeschlossen ist, muss Ihre Kundin/Ihr Kunde sie nicht schließen, sondern dies geschieht automatisch. Um dieses Verhalten zu aktivieren, konfigurieren Sie ein benutzerdefiniertes URL-Schema oder einen Universal-Link und richten Sie Ihre App so ein, dass die URL an das SDK weitergeleitet wird.

Swift
// This method handles opening custom URL schemes (for example, "your-app://stripe-redirect") func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool { let stripeHandled = StripeAPI.handleURLCallback(with: url) if (stripeHandled) { return true } else { // This was not a Stripe url – handle the URL normally as you would } return false } // This method handles opening universal link URLs (for example, "https://example.com/stripe_ios_callback") func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool { if userActivity.activityType == NSUserActivityTypeBrowsingWeb { if let url = userActivity.webpageURL { let stripeHandled = StripeAPI.handleURLCallback(with: url) if (stripeHandled) { return true } else { // This was not a Stripe url – handle the URL normally as you would } } } return false }

Rufen Sie STPPaymentHandler confirmPayment auf, um die Zahlung abzuschließen.

Swift
let paymentIntentParams = STPPaymentIntentParams(clientSecret: paymentIntentClientSecret) let sofort = STPPaymentMethodSofortParams() sofort.country = "DE" paymentIntentParams.paymentMethodParams = STPPaymentMethodParams(sofort: sofort, billingDetails: nil, metadata: nil) paymentIntentParams.returnURL = "payments-example://stripe-redirect" STPPaymentHandler.shared().confirmPayment(paymentIntentParams, with: self) { (handlerStatus, paymentIntent, error) in switch handlerStatus { case .succeeded: // Payment succeeded // ... case .canceled: // Payment canceled // ... case .failed: // Payment failed // ... @unknown default: fatalError() } }

Ereignisse nach Zahlung verarbeiten

As Sofort is a delayed notification payment method, the PaymentIntent’s status remains in a payment_intent.processing state for up to 14 days from its creation (also known as the cutoff date). In a sandbox, the PaymentIntent’s status remains in the processing state for three minutes to simulate this.

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

  • Testzahlungen im Dashboard anzeigen

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.

  • Nutzerdefinierten Webhook erstellen

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_payment_method. 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_intent.succeeded 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_payment_method ist, werden vollständige und teilweise Rückerstattungen als storniert gekennzeichnet, da das Geld zu keinem Zeitpunkt vom Bankkonto der Kundinnen/Kunden abgegangen ist.

War diese Seite hilfreich?
JaNein
Benötigen Sie Hilfe? Kontaktieren Sie den Kundensupport.
Nehmen Sie an unserem Programm für frühzeitigen Zugriff teil.
Schauen Sie sich unser Änderungsprotokoll an.
Fragen? Sales-Team kontaktieren.
LLM? Lesen Sie llms.txt.
Unterstützt von Markdoc