Künftige Zahlungen einrichten
Erfahren Sie, wie Sie Zahlungsdetails in Ihrer mobilen App speichern und später Zahlungen Ihrer Kundinnen und Kunden akzeptieren.
Mit der Setup Intents API können Sie die Zahlungsdetails Ihrer Kundinnen und Kunden ohne vorherige Zahlung speichern. Das ist hilfreich, wenn Sie das Onboarding von Kundinnen/Kunden jetzt durchführen, Zahlungen für sie einrichten, diese aber erst später durchführen möchten (wenn die Kundinnen/Kunden offline sind).
Verwenden Sie diese Integration, um wiederkehrende Zahlungen einzurichten oder einmalige Zahlungen zu erstellen, bei denen der endgültige Betrag später festgelegt wird (häufig erst nach Erhalt Ihrer Dienstleistung).
Transaktionen mit vorhandener Karte
Bei Card-Present-Transaktionen, wie z. B. bei der Erfassung von Kartendaten über Stripe Terminal, wird ein anderes Verfahren zum Speichern der Zahlungsmethode verwendet. Weitere Informationen finden Sie in der Terminal-Dokumentation.
Konformität
Sie sind dafür verantwortlich, dass Sie alle geltenden Gesetze, Vorschriften und Netzwerkregeln einhalten, wenn Sie Zahlungsdetails auf Kundenseite speichern. Diese Anforderungen gelten in der Regel, wenn Sie Zahlungsmethoden Ihrer Kundinnen und Kunden für die zukünftige Verwendung speichern möchten. Ein Beispiel wäre, wenn Sie die kundenseitig bevorzugte Zahlungsmethode im Bezahlvorgang für einen zukünftigen Kauf anzeigen oder das Kundenkonto belasten möchten, wenn Kundinnen und Kunden Ihre Website oder App zu dem Zeitpunkt nicht aktiv nutzen. Fügen Sie Nutzungsbedingungen zu Ihrer Website oder App hinzu, aus denen hervorgeht, wie Sie die Zahlungsdetails speichern möchten, und lassen Sie Kundinnen und Kunden aktiv zu diesen zustimmen.
Wenn Sie eine Zahlungsmethode speichern, können Sie diese nur für die in Ihren Konditionen vereinbarte Nutzung verwenden. Um eine Zahlungsmethode belasten zu können, wenn Kundinnen und Kunden offline sind, und diese Option auch für zukünftige Einkäufe zu speichern, müssen Sie explizit die kundenseitige Zustimmung einholen. Fügen Sie beispielsweise ein Kontrollkästchen mit dem Titel „Meine Zahlungsmethode für die zukünftige Verwendung speichern“ ein, um die Einwilligung zu erhalten.
Um Zahlungen Ihrer Kundinnen und Kunden zu akzeptieren, wenn diese offline sind, fügen Sie unbedingt Folgendes in Ihre Konditionen ein:
- Die kundenseitige Zustimmung, eine Zahlung oder mehrere Zahlungen für bestimmte Transaktionen in deren Namen einzuleiten.
- Der erwartete Zeitpunkt und die voraussichtliche Häufigkeit von Zahlungen (z. B. Zahlungen für geplante Raten- oder Abonnementzahlungen oder für außerplanmäßige Aufstockungen).
- Wie Sie den Zahlbetrag ermitteln.
- Ihre Stornorichtlinie, wenn die Zahlungsmethode für einen Abonnementdienst ist.
Dokumentieren Sie unbedingt die schriftliche Zustimmung Ihrer Kundinnen und Kunden zu diesen Bedingungen.
Notiz
Wenn Sie die manuelle serverseitige Bestätigung verwenden müssen oder für Ihre Integration die separate Angabe von Zahlungsmethoden erforderlich ist, lesen Sie unseren alternativen Leitfaden.

Integrieren Sie die vorgefertigte Zahlungs-UI von Stripe in den Bezahlvorgang Ihrer iOS app mit der PaymentSheet-Klasse. Sehen Sie sich unsere Beispielintegration auf GitHub an.
Stripe einrichtenServerseitigClientseitig
Zunächst benötigen Sie ein Stripe-Konto. Jetzt regristrieren.
Serverseitig
Diese Integration erfordert Endpoints auf Ihrem Server, die mit der Stripe API kommunizieren können. Nutzen Sie unsere offiziellen Bibliotheken für den Zugriff auf die Stripe API von Ihrem Server aus:
Clientseitig
Das Stripe iOS SDK ist Open Source, vollständig dokumentiert und kompatibel mit Apps, die iOS 13 oder höher unterstützen.
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.
Endpoint hinzufügenServerseitig
Notiz
Das mobile Payment Element unterstützt nur SetupIntents mit Karten, Bancontact, iDEAL, Link, SEPA-Lastschrift, Sofort und US-Bankkonten.
Diese Integration verwendet drei Stripe-API-Objekte:
Ein SetupIntent ist ein Objekt, das Ihre Absicht darstellt, die Zahlungsmethode eines Kunden/einer Kundin für zukünftige Zahlungen einzurichten. Die Zahlungsmethoden, die dem Kunden/der Kundin während des Bezahlvorgangs angezeigt werden, sind ebenfalls im SetupIntent enthalten. Sie können Stripe automatisch Zahlungsmethoden aus Ihren Dashboard-Einstellungen abrufen lassen oder sie manuell auflisten.
Ein/e Kund/in. Um eine Zahlungsmethode für zukünftige Zahlungen einzurichten, muss diese einem/einer Kund/in zugeordnet werden. Erstellen Sie ein Customer-Objekt, wenn Ihre Kundin/Ihr Kunde ein Konto bei Ihrem Unternehmen anlegt. Wenn eine Zahlung als Gast durchgeführt wird, können Sie vor der Zahlung ein Customer-Objekt erstellen und es zu einem späteren Zeitpunkt mit Ihrer eigenen internen Darstellung des Kundenkontos verknüpfen.
Ein temporärer Kundenschlüssel (optional). Informationen zum Kundenobjekt sind vertraulich und können nicht direkt über die App abgerufen werden. Ein temporärer Schlüssel gewährt dem SDK vorübergehenden Zugriff auf den Kunden/die Kundin.
Aus Sicherheitsgründen kann Ihre App diese Objekte nicht erstellen. Fügen Sie stattdessen einen Endpoint auf Ihrem Server hinzu, der:
- Ruft den/die Kund/in ab oder erstellt eine/n neue/n.
- Erstellt einen temporären Schlüssel für den/die Kund/in.
- Erstellt eine SetupIntent mit der Customer-ID.
- Gibt das Client-Geheimnis des PaymentIntent, das
secret
des temporären Schlüssels, die ID des Customer-Objekts und Ihren veröffentlichbaren Schlüssel an Ihre App zurück.
Die Zahlungsmethoden, die Kund/innen während des Bezahlvorgangs angezeigt werden, sind ebenfalls in der SetupIntent enthalten. Sie können Stripe Zahlungsmethoden automatisch aus Ihren Dashboard-Einstellungen abrufen lassen oder sie manuell auflisten.
Zahlungsdaten erfassenClientseitig
Hinweis
Um das mobile Payment Element vor dem Erstellen eines SetupIntent zu präsentieren, finden Sie weitere Informationen unter Erfassen von Zahlungsdetails vor dem Erstellen eines Intent.
Um das mobile Zahlung Element auf Ihrem Checkout-Bildschirm anzuzeigen, müssen Sie eine Zahlungsschaltfläche hinzufügen, die die Nutzeroberfläche von Stripe anzeigt.
Wenn das Ergebnis von PaymentSheetResult
.
lautet, informieren Sie den/die Nutzer/in, (zum Beispiel durch die Anzeige einer Bestellbestätigung).
Wenn Sie allowsDelayedPaymentMethods
auf true festlegen, werden Zahlungsmethoden mit verzögerter Benachrichtigung wie US-Bankkonten zugelassen. Für diese Zahlungsmethoden ist der endgültige Zahlungsstatus nicht bekannt, wenn das PaymentSheet
abgeschlossen wird. Stattdessen ist sie erfolgreich oder schlägt fehl. Wenn Sie diese Art von Zahlungsmethoden unterstützen, informieren Sie den Kunden/die Kundin darüber, dass seine/ihre Bestellung bestätigt ist, und führen seine/ihre Bestellung erst aus (z. B. das Produkt versenden), wenn die Zahlung erfolgreich ist.
Rückgabe-URL einrichtenServerseitig
Der Kunde/Die Kundin verlässt ggf. Ihre App, um sich zu authentifizieren (z. B. in Safari oder einer Banking-App). Damit sie nach der Authentifizierung automatisch zu Ihrer App zurückkehren können, konfigurieren Sie ein benutzerdefiniertes URL-Schema und richten Sie Ihren App-Delegate so ein, dass die URL an das SDK weitergeleitet wird. Stripe unterstützt keine universellen Links.
Legen Sie zusätzlich die returnURL in Ihrem PaymentSheet.Configuration-Objekt auf die URL für Ihre App fest.
var configuration = PaymentSheet.Configuration() configuration.returnURL = "your-app://stripe-redirect"
Die gespeicherte Zahlungsmethode später belastenServerseitig
Compliance
Sie sind für die Einhaltung aller geltenden Gesetze, Vorschriften und Netzwerkregeln verantwortlich, wenn Sie die Zahlungsdaten von Kundinnen und Kunden speichern. Wenn Sie Ihren Endkundinnen und Endkunden zuvor genutzte Zahlungsmethoden für zukünftige Einkäufe anzeigen, dürfen Sie nur Zahlungsmethoden auflisten, für die Sie bereits eine kundenseitige Zustimmung eingeholt haben, dank der Sie die Details der Zahlungsmethode für diese spezifische zukünftige Verwendung speichern können. Verwenden Sie den Parameter allow_redisplay, um zwischen Zahlungsmethoden zu unterscheiden, die mit Kundinnen und Kunden verknüpft sind und Ihren Endkundinnen und Endkunden als gespeicherte Zahlungsmethode für zukünftige Einkäufe angezeigt werden können oder nicht.
Wenn Sie eine Kundenzahlung per Off-Session vornehmen möchten, erstellen Sie anhand der Kunden-ID und der PaymentMethod-ID einen PaymentIntent. Um eine geeignete Zahlungsmethode zu finden, listen Sie die mit Ihrer Kundin/Ihrem Kunden verbundenen Zahlungsmethoden auf. In diesem Beispiel sind Karten aufgeführt, Sie können aber auch alle anderen unterstützten Zahlungsmethoden verwenden.
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:
- Legen Sie off_session auf
true
fest, um anzugeben, dass die Kundin/der Kunde sich während eines Zahlungsversuchs nicht in Ihrem Bezahlvorgang befindet und somit eine Authentifizierungsanfrage eines Partners, wie z. B. eines Kartenausstellers, einer Bank oder eines anderen Zahlungsinstituts nicht erfüllen kann. Wenn ein Partner während Ihres Bezahlvorgangs eine Authentifizierung anfordert, fordert Stripe Ausnahmen unter Verwendung von Kundeninformationen aus einer vorherigen On-Session-Transaktion an. Wenn die Bedingungen für eine Ausnahme nicht erfüllt sind, gibt der PaymentIntent möglicherweise einen Fehler zurück. - 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.