Weiter zum Inhalt
Konto erstellen oder anmelden
Das Logo der Stripe-Dokumentation
/
KI fragen
Konto erstellenAnmelden
Jetzt starten
Zahlungen
Umsatz
Plattformen und Marktplätze
Geldmanagement
Entwicklerressourcen
APIs und SDKsHilfe
Übersicht
Informationen zu Stripe Payments
Aktualisieren Sie Ihre Integration
Zahlungsanalysefunktionen
Online-Zahlungen
ÜbersichtIhren Use case findenVerwenden Sie Managed Payments
Payment Links verwenden
Vorgefertigte Checkout-Seite verwenden
Erstellen Sie eine benutzerdefinierte Integration mit Elements
In-App-Integration erstellen
Präsenzzahlungen
Terminal
Zahlungsmethoden
Zahlungsmethoden hinzufügen
    Übersicht
    Optionen für die Integration von Zahlungsmethoden
    Standardzahlungsmethoden im Dashboard verwalten
    Arten von Zahlungsmethoden
    Karten
    Mit Stripe-Guthaben bezahlen
    Stablecoin-Zahlungen
    Lastschriften
    Bank Redirect
    Banküberweisungen
    Überweisungen (Sources)
    Jetzt kaufen, später bezahlen
    Zahlungen in Echtzeit
    Gutscheine
    Geldbörsen
      Alipay
      Amazon Pay
      Apple Pay
        Best Practices
        Cartes Bancaires mit Apple Pay
        Wiederkehrende Apple Pay-Transaktionen
        Apple Pay-Händler-Token
        Haftungsverlagerung, Zahlungsanfechtungen und Rückerstattungen bei Apple Pay
      Cash App Pay
      Google Pay
      GrabPay
      Link
      MB WAY
      MobilePay
      PayPal
      PayPay
      Revolut Pay
      Satispay
      Secure Remote Commerce
      Vipps
      WeChat Pay
    Lokale Zahlungsmethoden nach Land aktivieren
    Nutzerdefinierte Zahlungsmethoden
Zahlungsmethoden verwalten
Schnellerer Bezahlvorgang mit Link
Zahlungsszenarien
Umgang mit mehreren Währungen
Nutzerdefinierte Zahlungsabläufe
Flexibles Acquiring
Orchestrierung
Mehr als Zahlungen
Unternehmensgründung
Krypto
Agentenbasierter Handel
Financial Connections
Climate
Betrug verstehen
Betrugsprävention von Radar
Zahlungsanfechtungen verwalten
Identitäten verifizieren
Vereinigte Staaten
Deutsch
StartseiteZahlungenAdd payment methodsWallets

Apple Pay

Ermöglichen Sie Kundinnen und Kunden die sichere Zahlungsabwicklung mit Apple Pay auf ihrem iPhone, iPad oder ihrer Apple Watch.

Unterstützte Geräte

Auf der Support-Website Mit Apple Pay kompatible Geräte erfahren Sie, welche Geräte Apple Pay unterstützen.

Apple Pay ist mit den meisten Stripe-Produkten und -Funktionen kompatibel. Nutzerinnen und Nutzer von Stripe können Apple Pay in iOS-Anwendungen ab iOS 9 sowie im Web in Safari ab iOS 10 oder macOS Sierra akzeptieren. Es fallen keine zusätzlichen Gebühren für die Verarbeitung von Apple Pay-Zahlungen an und die Preisgestaltung ist genau wie bei anderen Kartentransaktionen.

Apple Pay ist für Karteninhaber/innen bei teilnehmenden Banken in unterstützten Ländern verfügbar. Weitere Informationen finden Sie in der Dokumentation zu teilnehmenden Banken von Apple.

  • Kundenstandorte

    Weltweit, außer Indien

  • Transaktionswährung

    Siehe unterstützte Transaktionsährungen

  • Zahlungsbestätigung

    Kundenseitig initiiert

  • Art der Zahlungsmethode

    Wallet

  • Wiederkehrende Zahlungen

    Ja

  • Auszahlungsintervall

    Es gilt das Standard-Auszahlungsintervall

  • Connect-Support

    Ja

  • Unterstützung bei angefochtenen Zahlungen

    Ja

  • Unterstützung für manuelle Erfassung

    Ja

  • Komplette/anteilige Rückerstattungen

    Ja/Ja

Zahlungsablauf

Unten finden Sie eine Demonstration des Apple Pay-Zahlungsablaufs auf Ihrer Bezahlseite:

Apple Pay-Zahlungsablaufanimation mit der Stripe-Zahlungsseite, der Apple Pay-Schaltfläche und dem Bestätigungsdialogfeld während des Testens.

In-App-Kaufberechtigung für Apple Pay

In diesem Leitfaden wird erläutert, wie Sie Ihre App so konfigurieren, dass Apple Pay direkt für physische Waren, Dienstleistungen und andere berechtigte Artikel akzeptiert wird. Stripe verarbeitet diese Zahlungen und Sie zahlen lediglich die Bearbeitungsgebühren von Stripe.

Für digitale Produkte, Inhalte und Abos, die in den Vereinigten Staaten oder im Europäischen Wirtschaftsraum (EWR) verkauft werden, kann Ihre App Apple Pay akzeptieren, indem sie zu einer externen Zahlung weiterleitet. Sie können dabei die folgenden Zahlungs-Nutzeroberflächen verwenden:

  • Stripe Checkout
  • Web Elements
  • Payment Links (am besten geeignet für eine begrenzte Anzahl von Produkten und Preisen)

In anderen Regionen kann Ihre App Apple Pay für digitale Produkte, Inhalte oder Abos nicht akzeptieren.

Apple Pay akzeptieren

Stripe bietet Ihnen mehrere Möglichkeiten, Apply Pay als Zahlungsmethode hinzuzufügen. Weitere Informationen zur Integration finden Sie unter der jeweiligen Methode:

Hinweis

Wenn Sie die vorgefertigte Nutzeroberfläche von Stripe verwenden, befolgen Sie stattdessen die Schritte in diesem Leitfaden.

Mit dem Stripe iOS SDK können Sie sowohl Zahlungen per Apple Pay als auch herkömmliche Kreditkartenzahlungen annehmen. Bevor Sie beginnen, müssen Sie beim Apple Developer Program angemeldet sein. Befolgen Sie als Nächstes diese Schritte:

  1. Stripe einrichten
  2. Eine Apple-Händler-ID registrieren
  3. Neues Apple Pay-Zertifikat erstellen
  4. Mit Xcode integrieren
  5. Prüfen, ob Apple Pay unterstützt wird
  6. Zahlungsanfrage erstellen
  7. Zahlungsformular anzeigen
  8. Zahlung an Stripe senden

Stripe einrichten
Serverseitig
Clientseitig

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

Serverseitig

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

Command Line
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
# Available as a gem sudo gem install stripe
Gemfile
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
# If you use bundler, you can add this line to your Gemfile gem 'stripe'

Client-seitig

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 StripeApplePay zum Ziel Ihrer App hinzu.

Hinweis

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
Objective-C
No results
import UIKit import StripeApplePay @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 } }

Hinweis

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

Eine Apple-Händler-ID registrieren

Beantragen Sie eine Apple-Händler-ID, indem Sie sich auf der Apple Developer-Website für eine neue Kennung registrieren.

Tragen Sie eine Beschreibung und eine Kennung in das Formular ein. Die Beschreibung ist nur für Ihre internen Zwecke bestimmt und kann später geändert werden. Stripe empfiehlt, dass Sie den Namen Ihrer App als Kennung verwenden, zum Beispiel merchant.com.{{YOUR_APP_NAME}}.

Neues Apple Pay-Zertifikat erstellen

Erstellen Sie ein Zertifikat für Ihre App, um Zahlungsdaten zu verschlüsseln.

Gehen Sie zu den iOS-Zertifikateinstellungen im Dashboard, klicken Sie auf Neue Anwendung hinzufügen und befolgen Sie die Anleitung.

Laden Sie eine Certificate Signing Request (CSR)-Datei herunter, um ein sicheres Zertifikat von Apple zu erhalten, mit dem Sie Apple Pay verwenden können.

Eine CSR-Datei muss verwendet werden, um genau ein Zertifikat auszustellen. Wenn Sie Ihre Apple-Händler-ID wechseln, müssen Sie zu den iOS-Zertifikateinstellungen im Dashboard gehen, um eine neue CSR und ein Zertifikat zu erhalten.

Mit Xcode integrieren

Fügen Sie Ihrer App die Apple Pay-Funktion hinzu. Öffnen Sie in Xcode Ihre Projekteinstellungen, klicken Sie auf die Registerkarte Signing & Capabilities (Anmeldung und Funktionen) und fügen Sie die Apple Pay-Funktion hinzu. Möglicherweise werden Sie an dieser Stelle aufgefordert, sich bei Ihrem Entwicklerkonto anzumelden. Wählen Sie die zuvor erstellte Händler-ID aus. Ihre App sollte nun Apple Pay unterstützen.

Apple Pay-Funktion in Xcode aktivieren

Prüfen, ob Apple Pay unterstützt wird

Bevor Sie Apple Pay als Zahlungsoption in Ihrer App anzeigen, sollten Sie prüfen, ob die Geräte der Nutzer/innen Apple Pay unterstützen und ob im Wallet eine Karte hinterlegt ist:

CheckoutViewController.swift
Swift
Objective-C
No results
import StripeApplePay import PassKit class CheckoutViewController: UIViewController, ApplePayContextDelegate { let applePayButton: PKPaymentButton = PKPaymentButton(paymentButtonType: .plain, paymentButtonStyle: .black) override func viewDidLoad() { super.viewDidLoad() // Only offer Apple Pay if the customer can pay with it applePayButton.isHidden = !StripeAPI.deviceSupportsApplePay() applePayButton.addTarget(self, action: #selector(handleApplePayButtonTapped), for: .touchUpInside) } // ...continued in next step }

Zahlungsanfrage erstellen

Wenn der/die Nutzer/in auf die Schaltfläche Apple Pay tippt, rufen Sie StripeAPI paymentRequestWithMerchantIdentifier:country:currency: auf, um eine PKPaymentRequest zu erstellen.

Konfigurieren Sie dann PKPaymentRequest, sodass Ihr Firmenname und die Gesamtsumme angezeigt werden. Sie können auch Informationen wie Rechnungsdaten oder Versandinformationen erfassen.

In der Apple-Dokumentation finden Sie eine ausführliche Anleitung zum Anpassen der Zahlungsanfrage.

CheckoutViewController.swift
Swift
Objective-C
No results
func handleApplePayButtonTapped() { let merchantIdentifier = "merchant.com.your_app_name" let paymentRequest = StripeAPI.paymentRequest(withMerchantIdentifier: merchantIdentifier, country: "US", currency: "USD") // Configure the line items on the payment request paymentRequest.paymentSummaryItems = [ // The final line should represent your company; // it'll be prepended with the word "Pay" (that is, "Pay iHats, Inc $50") PKPaymentSummaryItem(label: "iHats, Inc", amount: 50.00), ] // ...continued in next step }

Zahlungsformular anzeigen

Erstellen Sie eine STPApplePayContext-Instanz mit der PKPaymentRequest und verwenden Sie diese, um das Apple Pay-Blatt vorzulegen:

CheckoutViewController.swift
Swift
Objective-C
No results
func handleApplePayButtonTapped() { // ...continued from previous step // Initialize an STPApplePayContext instance if let applePayContext = STPApplePayContext(paymentRequest: paymentRequest, delegate: self) { // Present Apple Pay payment sheet applePayContext.presentApplePay(on: self) } else { // There is a problem with your Apple Pay configuration } }

Apple verlangt, dass Nutzergesten das Apple Pay-Modal auslösen (z. B. durch Klicken auf eine Schaltfläche oder Interagieren mit dem Formular). Stellen Sie sicher, dass Ihr Code Folgendes einhält:

  • Rufen Sie das Zahlungsformular direkt mit einem Nutzeraktivierungsereignis auf.
  • Fügen Sie den Code für das Zahlungsformular am oder nahe dem oberen Rand des Ereignis-Handlers für Nutzergesten hinzu, bevor asynchroner oder lang andauernder Code ausgeführt wird.
  • Legen Sie ein angemessenes Zeitlimit für den Aufruf confirmPayment nach der Nutzergeste fest.

Zahlung an Stripe senden

Serverseitig

Erstellen Sie einen Endpoint, der einen PaymentIntent mit einem Betrag und einer Währung generiert. Legen Sie den zu bezahlenden Betrag immer serverseitig fest, also in einer vertrauenswürdigen Umgebung, und nicht clientseitig. So wird verhindert, dass böswillige Kund/innen ihre eigenen Preise festlegen können.

Command Line
Curl
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "amount"=1099 \ -d "currency"="usd"

Clientseitig

Implementieren Sie applePayContext(_:didCreatePaymentMethod:paymentInformation:), um das PaymentIntent-Client-Geheimnis vom oben genannten Endpunkt zurückzugeben oder geben Sie einen Fehler aus, wenn die Anfrage fehlschlägt.

Nachdem Sie das Client-Geheimnis zurückgegeben haben, schließt STPApplePayContext die Zahlung ab, blendet das Apple-Pay-Fenster aus und ruft applePayContext(_:didCompleteWithStatus:error:) mit dem Zahlungsstatus auf. Implementieren Sie diese Methode, um Ihren Kundinnen und Kunden einen Zahlungsbeleg anzuzeigen.

CheckoutViewController.swift
Swift
Objective-C
No results
extension CheckoutViewController { func applePayContext(_ context: STPApplePayContext, didCreatePaymentMethod paymentMethod: StripeAPI.PaymentMethod, paymentInformation: PKPayment) async throws -> String { let clientSecret = try await ... // Retrieve the PaymentIntent client secret from your backend (see Server-side step above) // Return the client secret or throw an error return clientSecret } func applePayContext(_ context: STPApplePayContext, didCompleteWith status: STPApplePayContext.PaymentStatus, error: Error?) { switch status { case .success: // Payment succeeded, show a receipt view break case .error: // Payment failed, show the error break case .userCancellation: // User canceled the payment break @unknown default: fatalError() } } }

Verwalten Sie zum Schluss Ereignisse nach der Zahlung, um beispielsweise eine Bestellbestätigungs-E-Mail an Ihren Kunden/Ihre Kundin zu senden, den Verkauf in einer Datenbank zu verzeichnen oder einen Versandworkflow zu starten.

Fehlerbehebung

Wenn bei der Tokenerstellung Fehler mit der Stripe-API auftreten, liegt höchstwahrscheinlich ein Problem mit Ihrem Apple Pay-Zertifikat vor. In diesem Fall müssen Sie ein neues Zertifikat generieren und bei Stripe hochladen, wie auf dieser Seite beschrieben. Stellen Sie dabei sicher, dass Sie einen CSR verwenden, den Sie vom Dashboard abgerufen und nicht selbst generiert haben. Xcode legt alte Zertifikate oft fälschlicherweise im Zwischenspeicher ab. Stripe empfiehlt daher, zusätzlich zur Erstellung eines neuen Zertifikats auch eine neue Apple-Händler-ID zu erstellen.

Wenn Sie den Fehler erhalten, hat das folgenden Grund:

Sie haben Ihr Apple-Händler-Konto nicht bei Stripe hinterlegt.

Wahrscheinlich sendet Ihre App Daten, die mit einem früheren (nicht von Stripe stammenden) CSR/Zertifikat verschlüsselt wurden. Stellen Sie sicher, dass alle Zertifikate widerrufen werden, die durch nicht von Stripe stammende CSRs generiert wurden und Ihre Apple-Händler-ID aufweisen. Wenn dadurch das Problem nicht behoben wird, löschen Sie die Händler-ID in Ihrem Apple-Konto und legen Sie eine neue an. Erstellen Sie dann ein neues Zertifikat basierend auf dem zuvor verwendeten (von Stripe bereitgestellten) CSR. Sie müssen dieses neue Zertifikat nicht bei Stripe hochladen. Aktivieren und deaktivieren Sie die Apple Pay-Anmeldedaten in Ihrer App, um sicherzustellen, dass sie korrekt aktualisiert werden.

App-Clips

Das StripeApplePay-Modul ist ein benutzerfreundliches Stripe-SDK, das für die Verwendung in einem App Clip optimiert ist. Folgen Sie der Anleitung oben, um das StripeApplePay-Modul zum Ziel Ihres App-Clips hinzuzufügen.

Hinweis

Das StripeApplePay-Modul wird nur in Swift unterstützt. Objective-C-Nutzer/innen müssen STPApplePayContext aus dem Stripe-Modul importieren.

Umstellung von STPApplePayContext

Wenn Sie STPApplePayContext bereits nutzen und zum benutzerfreundlichen Apple Pay SDK wechseln möchten, gehen Sie folgendermaßen vor:

  1. Ersetzen Sie in den Abhängigkeiten im Ziel Ihres App Clips das Stripe-Modul durch das StripeApplePay-Modul.
  2. Ersetzen Sie in Ihrem Code import Stripe durch import StripeApplePay.
  3. Ersetzen Sie Ihre Verwendung von STPApplePayContextDelegate durch das neue ApplePayContextDelegate-Protokoll.
  4. Ändern Sie Ihre Implementierung von applePayContext(_:didCreatePaymentMethod:completion:), um eine StripeAPI.PaymentMethod zu akzeptieren.
  5. Ändern Sie Ihre Implementierung von applePayContext(_:didCompleteWith:error:), um einen STPApplePayContext.PaymentStatus zu akzeptieren.
Vorher
Nachher
import Stripe class CheckoutViewController: UIViewController, STPApplePayContextDelegate { func applePayContext(_ context: STPApplePayContext, didCreatePaymentMethod paymentMethod: STPPaymentMethod, paymentInformation: PKPayment, ) async throws -> String { // ... } func applePayContext(_ context: STPApplePayContext, didCompleteWith status: STPPaymentStatus, error: Error?) { // ... } }
import StripeApplePay class CheckoutViewController: UIViewController, ApplePayContextDelegate { func applePayContext(_ context: STPApplePayContext, didCreatePaymentMethod paymentMethod: StripeAPI.PaymentMethod, paymentInformation: PKPayment // ... } async throws -> String { func applePayContext(_ context: STPApplePayContext, didCompleteWith status: STPApplePayContext.PaymentStatus, error: Error?) { // ... } }

Wiederkehrende Zahlungen

In iOS 16 oder höher können Sie Händer-Token annehmen, indem Sie die Eigenschaft recurringPaymentRequest oder automaticReloadPaymentRequest auf PKPaymentRequest festlegen.

Wiederkehrende Zahlungen können gespeicherte Zahlungsmethoden nur für Off-Session-Transaktionen verwenden.

CheckoutViewController.swift
Swift
Objective-C
No results
extension CheckoutViewController { func handleApplePayButtonTapped() { let request = StripeAPI.paymentRequest(withMerchantIdentifier: merchantIdentifier, country: "US", currency: "USD") let billing = PKRecurringPaymentSummaryItem(label: "My Subscription", amount: NSDecimalNumber(string: "59.99")) billing.startDate = Date() billing.endDate = Date().addingTimeInterval(60 * 60 * 24 * 365) billing.intervalUnit = .month request.recurringPaymentRequest = PKRecurringPaymentRequest(paymentDescription: "Recurring", regularBilling: billing, managementURL: URL(string: "https://my-backend.example.com/customer-portal")!) request.recurringPaymentRequest?.billingAgreement = "You'll be billed $59.99 every month for the next 12 months. To cancel at any time, go to Account and click 'Cancel Membership.'" request.paymentSummaryItems = [billing] } }

Weitere Informationen zur Verwendung wiederkehrender Zahlungen mit Apple Pay finden Sie in der PassKit-Dokumentation von Apple.

Sendungsverfolgung

Um die Bestellungsnachverfolgung in iOS 16 oder höher anzuwenden, implementieren Sie die Funktion applePayContext(context:willCompleteWithResult:handler:) in Ihrem ApplePayContextDelegate. Stripe ruft Ihre Implementierung auf, nachdem die Zahlung durchgeführt wurde, aber bevor iOS das Apple Pay-Formular schließt.

Gehen Sie in Ihrer Implementierung wie folgt vor:

  1. Rufen Sie die Bestelldetails für die abgeschlossene Bestellung von Ihrem Server ab.
  2. Fügen Sie diese Details dem angegebenen PKPaymentAuthorizationResult hinzu.
  3. Rufen Sie den angegebenen Abschluss-Handler für die Hauptwarteschlange auf.

Weitere Informationen zur Bestellungsnachverfolgung finden Sie in der Dokumentation zu Wallet-Bestellungen von Apple.

CheckoutViewController.swift
Swift
Objective-C
No results
extension CheckoutViewController { func applePayContext(_ context: STPApplePayContext, willCompleteWithResult authorizationResult: PKPaymentAuthorizationResult) async -> PKPaymentAuthorizationResult { // Fetch the order details from your service do { let myOrderDetails = try await MyAPIClient.shared.fetchOrderDetails(orderID: myOrderID) authorizationResult.orderDetails = PKPaymentOrderDetails( orderTypeIdentifier: myOrderDetails.orderTypeIdentifier, // "com.myapp.order" orderIdentifier: myOrderDetails.orderIdentifier, // "ABC123-AAAA-1111" webServiceURL: myOrderDetails.webServiceURL, // "https://my-backend.example.com/apple-order-tracking-backend" authenticationToken: myOrderDetails.authenticationToken) // "abc123" ) // Return your modified PKPaymentAuthorizationResult return authorizationResult } catch { return PKPaymentAuthorizationResult(status: .failure, errors: [error]) } } }

Apple Pay testen

Um Apple Pay zu testen, müssen Sie eine echte Kreditkartennummer und Ihre API-Testschlüssel verwenden. Stripe erkennt, dass Sie sich im Test-Modus befinden und gibt ein Testkarten-Token zurück, das Sie verwenden können, sodass Sie Testzahlungen mit einer Live-Karte durchführen können, ohne diese zu belasten.

Sie können Stripe Testkarten oder Apple Pay-Testkarten nicht in Apple Pay Wallets speichern, um Apple Pay zu testen.

Siehe auch

  • iOS-Integration
  • Apple Pay on the Web
  • Best Practices für Apple Pay
War diese Seite hilfreich?
JaNein
  • Benötigen Sie Hilfe? Kontaktieren Sie den Kundensupport.
  • Schauen Sie sich unser Änderungsprotokoll an.
  • Fragen? Sales-Team kontaktieren.
  • LLM? Lesen Sie llms.txt.
  • Unterstützt von Markdoc