Weiter zum Inhalt
Konto erstellen
oder
anmelden
Das Logo der Stripe-Dokumentation
/
KI fragen
Konto erstellen
Anmelden
Jetzt starten
Zahlungen
Finanzautomatisierung
Plattformen und Marktplätze
Geldmanagement
Entwickler-Tools
Jetzt starten
Zahlungen
Finanzautomatisierung
Jetzt starten
Zahlungen
Finanzautomatisierung
Plattformen und Marktplätze
Geldmanagement
Ü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
    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
Zahlungsschnittstellen
Payment Links
Checkout
Web Elements
In-App-Elements
Zahlungsszenarien
Nutzerdefinierte Zahlungsabläufe
Flexibles Acquiring
Orchestrierung
Präsenzzahlungen
Terminal
Andere Stripe-Produkte
Financial Connections
Krypto
Climate
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.

Seite kopieren

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 (außer Mexiko)

  • 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.

Stripe und Apple Pay im Vergleich zu In-App-Käufen

Für den Verkauf von physischen Waren, Dienstleistungen und bestimmten anderen Dingen kann Ihre App Apple Pay oder jede andere von Stripe unterstützte Zahlungsmethode akzeptieren. Diese Zahlungen werden über Stripe abgewickelt und Sie müssen nur die Bearbeitungsgebühren von Stripe zahlen. Der Verkauf von digitalen Produkten, Inhalten und anderen Dingen muss jedoch über die In-App-Käufe von Apple erfolgen. Diese Zahlungen werden von Apple verarbeitet und unterliegen deren Transaktionsgebühren.

Weitere Informationen darüber, bei welchen Verkäufen In-App-Käufe verwendet werden müssen, finden Sie in den App Store-Überprüfungsrichtlinien von Apple.

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:

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
# Available as a gem sudo gem install stripe
Gemfile
Ruby
# 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. In Xcode, select File > Add Package Dependencies… and enter https://github.com/stripe/stripe-ios-spm as the repository URL.
  2. Wählen auf unserer Veröffentlichungsseite die neueste Version aus.
  3. Fügen Sie das Produkt StripeApplePay zum Ziel Ihrer App hinzu.

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.

AppDelegate.swift
Swift
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 } }

Notiz

Use your test keys while you test and develop, and your live mode keys when you publish your 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

Notiz

Wenn Sie PaymentSheet verwenden, erledigt diese Klasse den Rest für Sie.

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
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
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
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
curl https://api.stripe.com/v1/payment_intents \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "amount"=1099 \ -d "currency"="usd"

Clientseitig

Implementieren Sie applePayContext(_:didCreatePaymentMethod:completion:), um den Completion-Block mit dem Client-Geheimnis des PaymentIntent aufzurufen, das vom oben erwähnten Endpoint abgerufen wurde.

Nachdem Sie den Completion-Block aufgerufen haben, schließt STPApplePayContext die Zahlung ab, beendet das Apple Pay-Formular und ruft applePayContext(_:didCompleteWithStatus:error:) mit dem Status der Zahlung auf. Implementieren Sie diese Methode, um Kund/innen einen Zahlungsbeleg anzuzeigen.

CheckoutViewController.swift
Swift
extension CheckoutViewController { func applePayContext(_ context: STPApplePayContext, didCreatePaymentMethod paymentMethod: StripeAPI.PaymentMethod, paymentInformation: PKPayment, completion: @escaping STPIntentClientSecretCompletionBlock) { let clientSecret = ... // Retrieve the PaymentIntent client secret from your backend (see Server-side step above) // Call the completion block with the client secret or an error completion(clientSecret, error) } 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.

Notiz

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, completion: @escaping STPIntentClientSecretCompletionBlock) { // ... } 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, completion: @escaping STPIntentClientSecretCompletionBlock) { // ... } 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.

CheckoutViewController.swift
Swift
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
extension CheckoutViewController { func applePayContext(_ context: STPApplePayContext, willCompleteWithResult authorizationResult: PKPaymentAuthorizationResult, handler: @escaping (PKPaymentAuthorizationResult) -> Void) { // Fetch the order details from your service MyAPIClient.shared.fetchOrderDetails(orderID: myOrderID) { myOrderDetails 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" // Call the handler block on the main queue with your modified PKPaymentAuthorizationResult handler(authorizationResult) } } }

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.
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