In-App-Zahlungen annehmen
Erstellen Sie mithilfe des Payment Sheet eine benutzerdefinierte Zahlungsintegration in Ihrer iOS-, Android- oder React Native-App.
Das Payment Sheet ist eine anpassbare Komponente, die eine Liste von Zahlungsmethoden anzeigt und Zahlungsdetails in Ihrer App mithilfe eines unteren Blatts erfasst.
Mit einem SetupIntent-Ablauf können Sie Zahlungsmethoden erfassen und für zukünftige Zahlungen speichern, ohne eine Abbuchung erstellen zu müssen. Bei dieser Integration rendern Sie das Payment Sheet, erstellen einen SetupIntent und speichern die Zahlungsmethode in Ihrer App.
Stripe einrichtenServerseitigClientseitig
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:
Client-seitig
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.
Sie müssen auch Ihren veröffentlichbaren Schlüssel festlegen, damit das SDK API Aufrufe an Stripe tätigen kann. Zunächst können Sie den veröffentlichbaren Schlüssel während der Integration auf dem Client codieren, aber den veröffentlichbaren Schlüssel von Ihrem Server in der Produktion abrufen.
// Set your publishable key: remember to change this to your live publishable key in production // See your keys here: https://dashboard.stripe.com/apikeys STPAPIClient.shared.publishableKey ="pk_test_TYooMQauvdEDq54NiTphI7jx"
Zahlungsmethoden aktivieren
Zeigen Sie Ihre Einstellungen für Zahlungsmethoden an und aktivieren Sie die Zahlungsmethoden, die Sie unterstützen möchten. Sie müssen mindestens eine Zahlungsmethode aktiviert haben, um einen SetupIntent zu erstellen.
Standardmäßig aktiviert Stripe Karten und andere gängige Zahlungsmethoden, mit denen Sie mehr Kundinnen und Kunden erreichen können. Wir empfehlen jedoch, zusätzliche Zahlungsmethoden zu aktivieren, die für Ihr Unternehmen und Ihre Kundschaft relevant sind. Weitere Informationen zur Unterstützung von Produkten und Zahlungsmethoden finden Sie auf der Seite Unterstützte Zahlungsmethoden und der Preisseite für Gebühren.
Rückgabe-URL einrichtenClientseitig
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"
Kund/innen erstellenServerseitig
Um eine Zahlungsmethode für zukünftige Zahlungen einzurichten, müssen Sie sie einem/einer Kund/in hinzufügen. Erstellen Sie Customer-Objekte, wenn Kund/innen ein Konto bei Ihrem Unternehmen erstellen. Customer-Objekte ermöglichen die Wiederverwendung von Zahlungsmethoden und die Nachverfolgung über mehrere Zahlungen hinweg.
Zahlungsdaten erfassenClientseitig
Wir bieten zwei Arten der Integration an. Wählen Sie eine, um fortzufahren.
| PaymentSheet | PaymentSheet.FlowController |
|---|---|
| |
| Zeigt ein Formular an, um die Zahlungsdetails zu erfassen und die Einrichtung abzuschließen. Die Schaltfläche im Formular zeigt Einrichten an und richtet die Zahlungsmethode ein. | Zeigt ein Formular an, über das nur Zahlungsdetails erfasst werden. Die Schaltfläche im Formular zeigt Fortfahren an und leitet Kundinnen und Kunden zu Ihrer App zurück, in der die Einrichtung mit Ihrer eigenen Schaltfläche abgeschlossen wird. |
SetupIntent erstellenServerseitig
Erstellen Sie einen SetupIntent auf Ihrem Server. Zahlungsmethoden können Sie über das Dashboard verwalten. Stripe wertet Einschränkungen der Zahlungsmethode und andere Parameter aus, um die Liste der unterstützten Zahlungsmethoden zu ermitteln.
Wenn der Aufruf erfolgreich ist, geben Sie den SetupIntent das Client-Geheimnis zurück. Wenn der Aufruf fehlschlägt, beheben Sie den Fehler und geben eine Fehlermeldung mit einer kurzen Erklärung an Ihre Kundin/Ihren Kunden zurück.
Notiz
Überprüfen Sie, ob alle IntentConfiguration-Eigenschaften mit Ihrem SetupIntent (zum Beispiel Nutzung) übereinstimmen.
Die gespeicherte Zahlungsmethode später belastenServerseitig
Achtung
bancontact und ideal sind standardmäßig einmalige Zahlungsmethoden. Wenn sie für die künftige Verwendung eingerichtet werden, erzeugen sie eine wiederverwendbare Art der Zahlungsmethode sepa_, sodass Sie sepa_ verwenden müssen, um gespeicherte Zahlungsmethoden abzufragen.
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
truefest, 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
truefest. 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.
Integration testen
Hier finden Sie weitere Informationen zum Testen Ihrer Integration.