Eine Karte ohne Bankauthentifizierung speichern
Erfassen Sie Kartenangaben und nehmen später Belastungen vor.
Mit Stripe haben Sie die Möglichkeit, Kartendaten Ihrer Kund/innen vorab zu erfassen und die Belastung zu einem späteren Zeitpunkt durchzuführen. In einigen Regionen erfordern Banken eine zweite Authentifizierungsmethode, z. B. die Eingabe eines Codes über ein Mobilgerät. Der zusätzliche Schritt wirkt sich negativ auf die Konversionsrate auf, wenn Kund/innen Ihre Website oder Anwendung nicht aktiv nutzen und den Kauf nicht direkt authentifizieren können.
Wenn Sie überwiegend in den USA und Kanada tätig sind, erfordern die Banken keine Authentifizierung und Sie können diese einfachere Integration verwenden. Diese Integration ist in Ländern, die eine Authentifizierung für das Speichern von Karten erfordern (z. B. Indien), nicht konform und hat zur Folge, dass für eine Expansion in andere Länder oder für zusätzliche Zahlungsmethoden grundlegende Änderungen an der Integration notwendig sind. Hier erfahren Sie, wie Sie Karten speichern, die eine Authentifizierung erfordern.
Konformität
Sie sind für die Einhaltung aller geltenden Gesetze, Vorschriften und Netzwerkregeln verantwortlich, wenn Sie die Zahlungsdaten eines Kunden/einer Kundin speichern. Zum Beispiel für den Fall, dass Sie seine/ihre Zahlungsmethode für die zukünftige Nutzung speichern möchten, wenn er/sie Ihre Website oder App nicht aktiv nutzt. Fügen Sie Ihrer Website oder App Bedingungen hinzu, die angeben, wie Sie die Details zur Zahlungsmethode speichern und Kund/innen die Möglichkeit geben, sich anzumelden. Wenn Sie Zahlungen offline vornehmen möchten, stellen Sie sicher, dass Ihre Bedingungen Folgendes enthalten:
- 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.
Stripe einrichtenServerseitigClientseitig
Zunächst benötigen Sie ein Stripe-Konto. Jetzt regristrieren.
Richten Sie das iOS- und das Server-Stripe-SDK ein, bevor Sie mit der Integration beginnen.
Serverseitig
Diese Integration erfordert Endpoints auf Ihrem Server, die mit der Stripe API kommunizieren können. Nutzen Sie unsere offiziellen Bibliotheken:
Clientseitig
Das Stripe iOS SDK ist Open Source, vollständig dokumentiert und kompatibel mit Apps, die iOS 13 oder höher unterstützen.
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.
Notiz
Verwenden Sie Ihre Test-Modus-Schlüssel beim Testen und Entwickeln Ihrer App und Ihre Live-Modus-Schlüssel beim Veröffentlichen Ihrer App.
Kartendaten erfassenClientseitig
Zeigen Sie Ihren Kundinnen und Kunden zunächst ein Zahlungsformular an. Erfassen Sie ihre Kartendaten mit STPPaymentCardTextField, einer Drop-In-Komponente der Nutzeroberfläche aus dem SDK, die die Kartennummer, das Ablaufdatum, die Prüfziffer (CVC) und die Postleitzahl erfasst.
STPPaymentCardTextField führt Validierung und Formatierung dynamisch aus.
Übergeben Sie die Kartendaten an [createPaymentMethod(https://stripe.dev/stripe-ios/stripe-payments/Classes/STPAPIClient.html#/c:@CM@StripePayments@StripeCore@objc(cs)STPAPIClient(im)createPaymentMethodWithPayment:completion:), um eine PaymentMethod] zu erstellen.
Schicken Sie die daraus resultierende PaymentMethod-ID an Ihren Server und befolgen Sie die restlichen Schritte, um die Karte bei einem Kunden zu speichern und künftig diese Karte zu belasten.
Karte speichernServerseitig
Speichern Sie die Karte, indem Sie die PaymentMethod einem Kunden/einer Kundin zuordnen. Sie können das Customer-Objekt verwenden, um weitere Informationen über Ihre Kundinnen/Kunden zu speichern, z. B. Versanddaten und E-Mail-Adresse.
Wenn bereits ein Kunde besteht, können Sie die PaymentMethod stattdessen an dieses Objekt anhängen.
Verknüpfen Sie anschließend die ID des Customer-Objekts und die ID der PaymentMethod mit Ihrer eigenen Kundenrepräsentation, falls vorhanden.
Die gespeicherte Karte belastenServerseitig
Wenn Sie eine Kundenzahlung verarbeiten möchten, suchen Sie nach der PaymentMethod-ID, die Sie belasten möchten. Dies können Sie entweder durch Speichern der IDs beider Objekte in Ihrer Datenbank tun oder indem Sie anhand der Kunden-ID nach allen für das Customer-Objekt verfügbaren PaymentMethods suchen.
Verwenden Sie die PaymentMethod-ID und die Kunden-ID, um einen neuen PaymentIntent zu erstellen. Legen Sie den Wert error_on_requires_action auf „true“ fest, um Zahlungen abzulehnen, die weitere Aktionen von Ihren Kundinnen/Kunden erfordern, wie z. B. die Zwei-Faktor-Authentifizierung.
Schlägt ein Zahlungsversuch fehl, schlägt auch die Anfrage mit einem HTTP-Statuscode 402 fehl und Stripe gibt eine Fehlermeldung aus. Sie müssen Ihre Kundinnen/Kunden auffordern, zu Ihrer Anwendung zurückzukehren (z. B. indem Sie eine In-App-Benachrichtigung senden), um die Zahlung abzuschließen. Überprüfen Sie den Code des von der Stripe API Library ausgelösten Fehlers oder überprüfen Sie den last_payment_error.decline_code auf dem PaymentIntent, um zu erfahren, warum der Kartenaussteller die Zahlung abgelehnt hat.
Umgang mit Kartenfehlern
Benachrichtigen Sie Ihren Kunden/Ihre Kundin, dass die Zahlung fehlgeschlagen ist und verweisen Sie sie/ihn auf das Bezahlformular, das Sie in Schritt 1 erstellt haben. Dort kann er/sie seine Kartendaten neu eingeben. Senden Sie die neue PaymentMethod-ID an Ihren Server, um sie an das Kundenobjekt anzufügen und die Zahlung erneut durchzuführen.
Alternativ können Sie in einem einzigen API-Aufruf eine PaymentIntent erstellen und eine Karte speichern, wenn Sie bereits einen Kunden/eine Kundin erstellt haben.
Indem setup_future_usage auf on_
gesetzt wird, erhält Stripe die Nachricht, dass Sie die Karte für später speichern möchten, ohne dass eine unnötige Authentifizierung eingeleitet wird.
Integration testen
Stripe stellt Testkarten bereit, die Sie im Test-Modus verwenden können, um verschiedene Kartenverhaltensweisen zu simulieren. Die Karten können Sie mit beliebigen CVCs, Postleitzahlen und künftigen Ablaufdaten nutzen.
Nummer | Beschreibung |
---|---|
Bei Erfolg sofortige Verarbeitung der Zahlung. | |
Schlägt stets mit dem Ablehnungscode insufficient_ fehl. | |
Erfordert eine Authentifizierung, die in dieser Integration zu einem Fehler mit dem Code authentication_ führt. |
Upgrade Ihrer Integration zur Authentifizierung von Karten
Diese Integration lehnt Karten ab, die während der Zahlung eine Authentifizierung erfordern. Wenn viele Zahlungen im Dashboard als Failed
angezeigt werden, ist es an der Zeit, Ihre Integration zu aktualisieren. Die globale Integration von Stripe verarbeitet diese Zahlungen, statt sie automatisch abzulehnen.