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
Integration starten
Produkte
Globale Auszahlungen
Capital
Karten ausstellen
    Übersicht
    Funktionsweise von Issuing
    Globale Verfügbarkeit
    Betrug handhaben
    Karten
    Ihren Kartentyp auswählen
    Virtuelle Karten
    Virtuelle Karten ausstellen
    Physische Karten
    Karten verwalten
    Digitale Geldbörsen
    Ersatzkarten
    Kartenprogramme
    Programmmanagement
    Ihr Kartenprogramm anpassen
    Ihrem Kartenprogramm Gelder hinzufügen
    Credit Consumer Issuing
    Kontrollen
    Ausgabenkontrollen
    Fortschrittliche Betrugs-Tools
    3DS
    Fraud Challenges
    Autorisierung in Echtzeit
    PIN-Verwaltung
    Elements in Issuing
    Token-Verwaltung
    Finanzierung
    Ausstehender Betrag
    Nachträgliche Finanzierung Ihrer Integration mit Stripe
    Nachfinanzierung Ihrer Integration mit Dynamic Reserves
    Käufe
    Autorisierungen
    Transaktionen
    Anfechtungen
    Tests
    Händlerkategorien
    ATM-Nutzung
    Issuing mit Connect
    Issuing- und Connect-Integration einrichten
    Annahme der Allgemeinen Geschäftsbedingungen aktualisieren
    Finanzierung in Connect
    Verbundene Konten, Karteninhaber/innen und Karten
    Schnittstelle für Kartenverwaltung einbetten
    Kreditkonto
    Übersicht
    Verbundene Konten einrichten
    Kreditbedingungen verwalten
    Andere Kreditentscheidungen melden und AANs handhaben
    Erforderliche regulatorische Daten für Kreditentscheidungen melden
    Kontoverpflichtungen verwalten
    Kreditintegration testen
    Weitere Informationen
    Karteninhabertyp auswählen
    Kunden-Support für Issuing und Treasury
    Überwachungsliste in Issuing
    Marketing-Beratung (Europa/Vereinigtes Königreich)
    Beratung bezüglich Produkt- und Marketingkonformität (USA)
Treasury
Geld verwalten
StartseiteGeldmanagementIssuing cards

Verwendung digitaler Geldbörsen mit Issuing

Erfahren Sie, wie Sie mit Issuing Karten zu digitalen Geldbörsen hinzufügen können.

Seite kopieren

Mit Issuing können Nutzer/innen Karten sowohl manuell als auch über eine App zu digitalen Wallets wie Apple Pay und Google Pay hinzufügen. Stripe unterstützt das Hinzufügen von Karten über zwei Methoden:

  1. Manuelle Bereitstellung: Karteninhaber/innen geben ihre Kartendaten in die digitale Geldbörse eines Smartphones ein, um diese zu ihrer digitalen Geldbörse hinzuzufügen.
  2. Push-Bereitstellung: Mit mobilen Anwendungen können Nutzer/innen Karten direkt über die App in ihre digitalen Geldbörsen einzahlen.

Wenn eine Karte zu einer digitalen Geldbörse hinzugefügt wird, wird eine tokenisierte Darstellung dieser Karte erstellt. Netzwerk-Token werden getrennt von Karten verwaltet. Weitere Informationen zu Netzwerk-Token und ihrer Funktionsweise finden Sie unter Token-Verwaltung.

Manuelle Bereitstellung

Karteninhaber/innen können virtuelle Karten und physische Karten von Stripe Issuing manuell zu ihren Geldbörsen von Apple Pay, Google Pay und Samsung Pay hinzufügen.

Dazu öffnen die Karteninhaber/innen die Wallet-App auf ihrem Smartphone und geben ihre Kartendaten ein. Stripe sendet dann einen 6-stelligen Verifizierungscode an die phone_number oder email des/der Karteninhaber/in, der/die mit der Karte verknüpft ist.

Die Fehlermeldung Card not supported (Karte nicht unterstützt) wird angezeigt, wenn für den/die Karteninhaber/in bei der Bereitstellung der Karte keines der Felder festgelegt war.

Es ist kein Code erforderlich, um die manuelle Bereitstellung zu implementieren, aber der Einrichtungsprozess kann je nach Anbieter digitaler Geldbörsen und Land, in dem Sie ansässig sind, variieren:

USA

Geldbörsen für Apple Pay erfordern eine Genehmigung durch Apple. Überprüfen Sie die Einstellungen in Ihrer digitalen Geldbörse, um den Status von Apple Pay in Ihrem Konto anzuzeigen. Gegebenenfalls müssen Sie eine Berechtigung beantragen, bevor Sie Apple Pay verwenden können.

Für Google Pay und Samsung Pay sind keine zusätzlichen Schritte erforderlich.

EU/Vereinigtes Königreich

Digital Wallet-Integrationen erfordern eine zusätzliche Genehmigung des Stripe-Partnerschaftsteams. Kontaktieren Sie Ihre/n Kundenbetreuer/in oder wenden Sie sich an Stripe, um weitere Informationen zu erhalten.

Geldbörsen für Apple Pay erfordern eine zusätzliche Genehmigung. Überprüfen Sie die Einstellungen in Ihrer digitalen Geldbörse, um den Status von Apple Pay in Ihrem Konto anzuzeigen. Gegebenenfalls müssen Sie eine Berechtigung beantragen, bevor Sie Apple Pay verwenden können.

Push-Bereitstellung

Mit der Push-Bereitstellung können Karteninhaber/innen ihre Stripe Issuing-Karten über Ihre App zu ihren digitalen Geldbörsen hinzufügen, indem sie auf die Schaltflächen „ Zu Wallet hinzufügen“ klicken, wie unten abgebildet.

Nutzer/innen müssen zunächst manuelle Bereitstellungsschritte durchführen, um die Push-Bereitstellung in den USA zu aktivieren. Zusätzlich zur manuellen Genehmigung der Bereitstellung müssen Sie für die Push-Bereitstellung eine Integration mit dem Stripe SDK durchführen.

Dies erfordert sowohl den Genehmigungsprozess über Stripe als auch die Code-Integration mit dem Stripe SDK für jede Plattform, auf der Sie die Push-Bereitstellung unterstützen möchten. Plattformgenehmigungen werden an alle verbundenen Konten weitergegeben.

Push-Bereitstellung von Samsung Pay wird von unseren SDKs nicht unterstützt.

Eine schwarze Nutzeroberflächen-Schaltfläche mit der Aufschrift „Zu Apple Wallet hinzufügen“. Links neben dem Text befindet sich ein Apple Wallet-Logo. Es handelt sich um eine graue Geldbörse mit leicht versetzt gestapelten blauen, gelben, grünen und roten Karten.

Zugriff anfordern

Für Push-Provisioning ist eine gesonderte Berechtigung von Apple mit der Bezeichnung com.apple.developer.payment-pass-provisioning erforderlich. Sie können diese Berechtigung mit einer E-Mail an support-issuing@stripe.com anfordern. In Ihrer E-Mail sollten Sie Folgendes angeben:

  • Kartennetzwerk – Visa oder MasterCard.
  • Kartenname – Dies ist der Name der Karte, der in der Wallet angezeigt wird.
  • Name der Anwendung – Der Name Ihrer App.
  • Developer ID des Teams – Zu finden in Ihren Apple Developer Kontoeinstellungen unter Mitgliedschaft (zum Beispiel 2A23JCNA5E).
  • ADAM ID – Die eindeutige numerische ID Ihrer App, die Sie in App Store Connect oder im App-Store-Link zu Ihrer App finden (z. B. https://apps.apple.com/app/id123456789)
  • Bundle ID – Die Paket-ID Ihrer App, den Sie auch im App Store Connect finden (z. B. com.example.yourapp).

Wenn Sie mehrere Apps (z. B. zu Testzwecken) mit unterschiedlichen Feldern für die oben genannten Attribute haben, müssen Sie den Zugriff für jede dieser Apps anfordern.

Nachdem wir Ihre Anfrage genehmigt und umgesetzt haben, wird Ihre App auf der Detailseite einer bereitgestellten Karte in der Wallet-App angezeigt, und das PKSecureElementPass-Objekt ist in Ihrer App durch Aufrufen von PKPassLibrary().passes() verfügbar. Möglicherweise müssen Sie die Karte entfernen und erneut bereitstellen, damit die Änderung wirksam wird.

Anspruch prüfen
Clientseitig

Stellen Sie sicher, dass Sie die neueste Version des Stripe iOS SDK in Ihrer App integriert haben.

Ermitteln Sie, ob das Gerät für Push-Provisioning infrage kommt.

  1. Überprüfen Sie, ob der Wert von wallets[apple_pay][eligible] in der ausgestellten Karte true ist.
  2. Rufen Sie PKPassLibrary().canAddSecureElementPass(primaryAccountIdentifier:) mit wallets[primary_account_identifier] von Ihrer Karte auf und prüfen Sie, ob das Ergebnis true ist. Wenn primary_account_identifier leer ist, übergeben Sie eine leere Zeichenfolge an canAddSecureElementPass().

Rufen Sie diese Werte in Ihrem Backend ab und übergeben Sie sie dann zur Prüfung an Ihre App.

Achtung

Sie müssen das serverseitige wallets[apple_pay][eligible]-Flag und das Ergebnis von canAddSecureElementPass() überprüfen, bevor Sie die PKAddPassButton anzeigen. Falls Sie die Schaltfläche Zu Apple Wallet hinzufügen anzeigen, ohne diese Werte zu überprüfen, lehnt App Review Ihre App möglicherweise ab.

Swift
import Stripe class MyViewController: UIViewController { @IBOutlet weak var addPassButton: PKAddPassButton! // ... func handleEligibilityResponse(eligible: Bool, primaryAccountIdentifier: String?) { if eligible && PKPassLibrary().canAddSecureElementPass(primaryAccountIdentifier: primaryAccountIdentifier ?? "") { addPassButton.isHidden = false } else { addPassButton.isHidden = true } } }

Mehr Kontext finden Sie in den Code-Snippets und Verweisen auf die Beispiel-App bei jedem Schritt. Sehen Sie sich für diesen Schritt an, wie die Beispiel-App die Berechtigung prüft .

Karte bereitstellen
Clientseitig

Wenn der/die Nutzer/in auf PKAddPassButton klickt, erstellen und präsentieren Sie einen PKAddPaymentPassViewController, der die Nutzeroberfläche von Apple für den Ablauf des Push-Provisioning enthält.

Notiz

PKAddPaymentPassViewController kann den primaryAccountIdentifier aus dem vorherigen Schritt verwenden, um festzustellen, ob eine Karte bereits auf einem bestimmten Gerät bereitgestellt wurde. Wurde die Karte beispielsweise bereits zu einem iPhone hinzugefügt, bietet die Benutzeroberfläche von Apple an, sie auch zu einer gekoppelten Apple Watch hinzuzufügen.

Swift
import Stripe class MyViewController: UIViewController { // ... func beginPushProvisioning() { let config = STPPushProvisioningContext.requestConfiguration( withName: "Jenny Rosen", // the cardholder's name description: "RocketRides Card", // optional; a description of your card last4: "4242", // optional; the last 4 digits of the card brand: .visa, // optional; the brand of the card primaryAccountIdentifier: self.primaryAccountIdentifier // the primary_account_identifier value from the previous step ) let controller = PKAddPaymentPassViewController(requestConfiguration: config, delegate: self) self.present(controller!, animated: true, completion: nil) } }

Schauen Sie sich für zusätzlichen Kontext an, wie die Beispiel-App einen PKAddPaymentPassViewController verwendet.

Der Initialisierer des PKAddPaymentPassViewController nimmt einen Delegaten an, den Sie implementieren müssen. In der Regel kann es sich dabei nur um die Ansichtssteuerung handeln, von der aus Sie die Anwendung anzeigen. Wir stellen eine Klasse mit dem Namen STPPushProvisioningContext bereit, die Sie bei der Implementierung dieser Methoden unterstützen soll.

Swift
class MyViewController: UIViewController { var pushProvisioningContext: STPPushProvisioningContext? = nil // ... } extension MyViewController: PKAddPaymentPassViewControllerDelegate { func addPaymentPassViewController(_ controller: PKAddPaymentPassViewController, generateRequestWithCertificateChain certificates: [Data], nonce: Data, nonceSignature: Data, completionHandler handler: @escaping (PKAddPaymentPassRequest) -> Void) { self.pushProvisioningContext = STPPushProvisioningContext(keyProvider: self) // STPPushProvisioningContext implements this delegate method for you, by retrieving encrypted card details from the Stripe API. self.pushProvisioningContext?.addPaymentPassViewController(controller, generateRequestWithCertificateChain: certificates, nonce: nonce, nonceSignature: nonceSignature, completionHandler: handler); } func addPaymentPassViewController(_ controller: PKAddPaymentPassViewController, didFinishAdding pass: PKPaymentPass?, error: Error?) { // Depending on if `error` is present, show a success or failure screen. self.dismiss(animated: true, completion: nil) } }

Schauen Sie sich für zusätzlichen Kontext an, wie die Beispiel-App einen PKAddPaymentPassViewControllerDelegate implementiert.

Sie werden feststellen, dass der Initialisierer von STPPushProvisioningContext einen keyProvider erwartet. Dies ist die Instanz einer Klasse, die das Protokoll STPIssuingCardEphemeralKeyProvider implementiert.

Dieses Protokoll definiert eine einzige erforderliche Methode: createIssuingCardKeyWithAPIVersion:completion. Zur Implementierung dieser Methode muss ein API-Aufruf an Ihr Backend erfolgen. Ihr Backend erstellt das Objekt „Temporärer Schlüssel“ mithilfe der Stripe-API und gibt es an Ihre App zurück. Ihre App ruft anschließend den angegebenen Abschluss-Handler mit der API-Antwort Ihres Backends auf.

Swift
extension MyViewController: STPIssuingCardEphemeralKeyProvider { func createIssuingCardKey(withAPIVersion apiVersion: String, completion: @escaping STPJSONResponseCompletionBlock) { // This example uses Alamofire for brevity, but you can make the request however you want AF.request("https://myapi.com/ephemeral_keys", method: .post, parameters: ["api_version": apiVersion]) .responseJSON { response in switch response.result { case .success: if let data = response.data { do { let obj = try JSONSerialization.jsonObject(with: data, options: []) as! [AnyHashable: Any] completion(obj, nil) } catch { completion(nil, error) } } case .failure(let error): completion(nil, error) } } } }

Schauen Sie sich für zusätzlichen Kontext an, wie die Beispiel-App einen STPIssuingCardEphemeralKeyProvider verwendet.

Backend aktualisieren
Serverseitig

Die Implementierung von Push-Provisioning sieht Methoden vor, bei denen Sie mit Ihrem eigenen Backend kommunizieren müssen, um einen temporären Stripe-Schlüssel zu erstellen und einen JSON-Code davon an Ihre App zurückzugeben. Bei diesen Schlüsseln handelt es sich um kurzlebige API-Zugangsdaten, die Sie zum Abrufen der verschlüsselten Kartendaten für eine einzelne Instanz eines Kartenobjekts verwenden können.

Um sicherzustellen, dass das von der Stripe-API zurückgegebene Objekt mit der von Ihnen verwendeten Version des iOS oder Android SDK kompatibel ist, informiert Sie das Stripe SDK über seine bevorzugte API-Version. Sie müssen diese API-Version bei der Erstellung des Schlüssels explizit an unsere API übergeben.

Command Line
curl
curl https://api.stripe.com/v1/ephemeral_keys \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "issuing_card"="{{ISSUING_CARD_ID}}" \ -H "Stripe-Version: {{API_VERSION}}"
{ "id": "ephkey_1G4V6eEEs6YsaMZ2P1diLWdj", "object": "ephemeral_key", "associated_objects": [ { "id": "ic_1GWQp6EESaYspYZ9uSEZOcq9", "type": "issuing.card" } ], "created": 1586556828, "expires": 1586560428, "livemode": false, "secret": "ek_test_YWNjdF8xRmdlTjZFRHelWWxwWVo5LEtLWFk0amJ2N0JOa0htU1JzEZkd2RpYkpJdnM_00z2ftxCGG" }

Schauen Sie sich für zusätzlichen Kontext an, wie das Beispiel-Backend einen temporären Stripe-Schlüssel erstellt.

Tests

Die Berechtigung com.apple.developer.payment-pass-provisioning funktioniert nur mit den Distribution Provisioning Profiles. Das heißt, selbst wenn Sie diese Berechtigung erhalten haben, können Sie den End-to-End-Ablauf von Push-Provisioning nur testen, indem Sie Ihre App mit TestFlight oder dem App Store bereitstellen.

Um beim Testen zu helfen, stellen wir eine Pseudoversion von PKAddPaymentPassViewController mit dem Namen STPFakeAddPaymentPassViewController zur Verfügung, die beim Testen austauschbar verwendet werden kann.

Swift
import Stripe class MyViewController: UIViewController { // ... func beginPushProvisioning() { let config = STPPushProvisioningContext.requestConfiguration( withName: "Jenny Rosen", // the cardholder's name description: "RocketRides Card", // optional; a description of your card last4: "4242", // optional; the last 4 digits of the card brand: .visa // optional; the brand of the card ) let controller = STPFakeAddPaymentPassViewController(requestConfiguration: config, delegate: self) self.present(controller!, animated: true, completion: nil) } }

Um die Beispiel-App zu erstellen, befolgen Sie die Schritte im Readme. Sie müssen die App nicht erstellen, um die Anweisungen oben zu befolgen.

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