Weiter zum Inhalt
Konto erstellen
oder
anmelden
Das Logo der Stripe-Dokumentation
/
KI fragen
Konto erstellen
Anmelden
Jetzt starten
Zahlungen
Umsatz
Plattformen und Marktplätze
Geldmanagement
Entwicklerressourcen
Ü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
    Mit Stripe-Guthaben bezahlen
    Krypto
    Lastschriften
    Bank Redirect
    Banküberweisungen
    Überweisungen (Sources)
    Jetzt kaufen, später bezahlen
    Zahlungen in Echtzeit
      Pay by Bank
      PayNow
      PayTo
      Pix
      PromptPay
      Swish
        Zahlung annehmen
    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
Umgang mit mehreren Währungen
Nutzerdefinierte Zahlungsabläufe
Flexibles Acquiring
Orchestrierung
Präsenzzahlungen
Terminal
Mehr als Zahlungen
Unternehmensgründung
Krypto
Financial Connections
Climate
StartseiteZahlungenAdd payment methodsReal-time paymentsSwish

Swish-ZahlungenNur auf Einladung

Erfahren Sie, wie Sie Zahlungen per Swish, einer beliebten Zahlungsmethode in Schweden, akzeptieren.

Swish ist eine in Schweden verwendete Zahlungsmethoden zum einmaligen Gebrauch. Sie bietet Kundinnen und Kunden die Möglichkeit, Zahlungen mit der mobilen Swish-App und der schwedischen mobilen BankID-App zu authentifizieren und zu genehmigen.

Sie erhalten eine sofortige Benachrichtigung, ob die Zahlung erfolgreich war oder fehlgeschlagen ist.

Erforderliche Hinweise

Um die Swish-Regeln einzuhalten, müssen Sie in Ihrem Zahlungsablauf den folgenden Text anzeigen, bevor die Kundin/der Kunde die Swish-Zahlung autorisiert:

  • Für englische Lokalisierungen: „Stripe Technology Europe Limited („Stripe“) has acquired the claim for payment. Therefore your payment will be made to Stripe.“
  • Für schwedische Lokalisierungen: „Stripe Technology Europe Limited („Stripe“) har övertagit fordran på betalning. Din betalning görs därför till Stripe.”
  • Für andere Sprachen eine gleichwertige Übersetzung des Vorstehenden.

Wenn Sie Swish über ein von Stripe gehostetes Zahlungsformular oder eine von Stripe gehostete Nutzeroberfläche wie Checkout oder das Payment Element integrieren, zeigt Stripe Ihnen diesen Hinweis an.

Wir empfehlen die Verwendung des mobilen Payment Element. Bei diesem handelt es sich um ein Zahlungsformular, über das Sie Swish und weitere Zahlungsmethoden mit wenig Aufwand zu Ihrer Integration hinzufügen können.

In diesem Leitfaden erfahren Sie, wie Sie Swish über Ihre native Mobilanwendung akzeptieren, wenn Sie Ihr eigenes benutzerdefiniertes Zahlungsformular verwenden möchten.

Wenn Sie Swish über Ihre native mobile App akzeptieren, werden Ihre Kundinnen/Kunden zur Authentifizierung an die mobile Swish-App weitergeleitet. Die Zahlung wird bei der Weiterleitung authentifiziert. Der Abschluss des Kaufs erfordert keine zusätzlichen Aktionen in der mobilen Swish-App, und die Kundinnen/Kunden werden auf Ihre Seite zurückgeleitet.

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. Wählen Sie in Xcode Datei > Add Package Dependencies (Paketabhängigkeiten hinzufügen) aus und geben Sie als Repository-URL https://github.com/stripe/stripe-ios-spm ein.
  2. Wählen auf unserer Veröffentlichungsseite die neueste Version aus.
  3. Fügen Sie das Produkt StripePaymentsUI zum Ziel Ihrer App hinzu.

Notiz

Details zur aktuellen SDK-Version und zu vorherigen Versionen finden Sie auf der Seite Releases auf GitHub. Um bei Veröffentlichung einer neuen Version eine Benachrichtigung zu erhalten, achten Sie auf die Releases zum jeweiligen 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

Verwenden Sie Ihre Testschlüssel beim Testen und Entwickeln Ihrer App und Ihre Live-Modus-Schlüssel beim Veröffentlichen Ihrer App.

Erstellen Sie ein PaymentIntent
Serverseitig
Clientseitig

Serverseitig

Ein PaymentIntent ist ein Objekt, das Ihre Absicht, eine Kundenzahlung einzuziehen, repräsentiert und den gesamten Zahlungsvorgang dokumentiert.

So erstellen und bestätigen Sie einen PaymentIntent auf Ihrem Server:

  • Geben Sie den einzuziehenden Betrag und die Währung an.
  • Fügen Sie swish zur Liste der Zahlungsmethoden für Ihren PaymentIntent hinzu. Vergewissern Sie sich, dass Swish im Dashboard aktiviert ist.
  • Setzen Sie payment_method_data[type] auf swish, um eine PaymentMethod zu erstellen und diese sofort mit diesem PaymentIntent zu verwenden.
Command Line
cURL
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=6000 \ -d currency=sek \ -d "payment_method_types[]"=swish \ -d "payment_method_data[type]"=swish \ --data-urlencode return_url="payments-example://stripe-redirect"

Der zurückgegebene PaymentIntent enthält ein Client-Geheimnis, das Sie verwenden werden, um den PaymentIntent zu bestätigen. Übermitteln Sie das Client-Geheimnis zurück an den Client, damit Sie es im nächsten Schritt verwenden können.

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? // ...continued from previous step override func viewDidLoad() { // ...continued from previous step startCheckout() } func startCheckout() { // Request a PaymentIntent from your server and store its client secret // Click View full sample to see a complete implementation } }

Zahlung an Stripe senden
Clientseitig

Wenn Kundinnen/Kunden die Schaltfläche zum Bezahlen mit Swish antippen, bestätigen Sie den PaymentIntent, um die Zahlung abzuschließen. Konfigurieren Sie ein STPPaymentIntentParams-Objekt mit dem Client-Geheimnis des PaymentIntent.

Das Client-Geheimnis unterscheidet sich von Ihren API-Schlüsseln, die die Stripe API-Anfragen authentifizieren. Achten Sie auf einen vorsichtigen Umgang mit dem Client-Geheimnis, da mit ihm die Zahlungen abgeschlossen werden können. Es darf nicht protokolliert, in URLs eingebettet oder anderen Personen zugänglich gemacht werden.

Rückgabe-URL einrichten

Das iOS SDK zeigt zur Durchführung einer Zahlung per Swish eine Webansicht in Ihrer App an. Wenn die Authentifizierung abgeschlossen ist, muss Ihre Kundin/Ihr Kunde sie nicht schließen, da dies automatisch geschieht. 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 }

Übergeben Sie die URL als return_url, wenn Sie den PaymentIntent bestätigen. Nach Abschluss der Authentifizierung über die Webansicht leitet Stripe die Nutzer/innen an die return_url weiter.

Swish-Zahlung bestätigen

Führen Sie durch Aufrufen von STPPaymentHandler confirmPayment die Zahlung durch. Dies entspricht einer Webansicht, über die die Kundinnen/Kunden die Zahlung per Swish durchführen können. Danach wird der Completion-Block mit dem Ergebnis der Zahlung aufgerufen.

Swift
let paymentIntentParams = STPPaymentIntentParams(clientSecret: paymentIntentClientSecret) // Swish does not require additional parameters so we only need to pass the initialized // STPPaymentMethodSwishParams instance to STPPaymentMethodParams let swish = STPPaymentMethodSwishParams() let paymentMethodParams = STPPaymentMethodParams(swish: swish, billingDetails: nil, metadata: nil) paymentIntentParams.paymentMethodParams = paymentMethodParams 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() } }

OptionalEreignisse nach der Zahlung verarbeiten

OptionalIntegration testen

OptionalKündigung

Fehlgeschlagene Zahlungen

Swish verwendet mehrere Datenpunkte, um zu entscheiden, wann eine Transaktion abgelehnt wird (zum Beispiel ist das Kundenguthaben auf dem Bankkonto nicht ausreichende oder die Kundin/der Kunde hat in der App auf Abbrechen geklickt).

In diesen Fällen wird die PaymentMethod getrennt und der Status des PaymentIntent-Objekts wechselt automatisch zu requires_payment_method.

Anders als bei einer abgelehnten Zahlung müssen Kundinnen/Kunden bei einem Swish-PaymentIntent mit dem Status requires_action die Zahlung innerhalb von 3 Minuten nach abschließen. Wenn nach 3 Minuten keine Aktion erfolgt ist, wird die PaymentMethod getrennt, und der Status des PaymentIntent-Objekts wechselt automatisch zu requires_payment_method.

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