Verwendung digitaler Geldbörsen mit Issuing
Erfahren Sie, wie Sie mit Issuing Karten zu digitalen Geldbörsen hinzufügen können.
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:
- Manuelle Bereitstellung: Karteninhaber/innen geben ihre Kartendaten in die digitale Geldbörse eines Smartphones ein, um diese zu ihrer digitalen Geldbörse hinzuzufügen.
- 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_
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.
Zugriff anfordern
Für Push-Provisioning ist eine gesonderte Berechtigung von Apple mit der Bezeichnung com.
erforderlich. Sie können diese Berechtigung mit einer E-Mail an support-issuing@stripe.com anfordern. In Ihrer E-Mail sollten Sie Folgendes angeben:
- 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().
verfügbar. Möglicherweise müssen Sie die Karte entfernen und erneut bereitstellen, damit die Änderung wirksam wird.
Anspruch prüfenClientseitig
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.
- Überprüfen Sie, ob der Wert von
wallets[apple_
in der ausgestellten Kartepay][eligible] true
ist. - Rufen Sie
PKPassLibrary().
mitcanAddSecureElementPass(primaryAccountIdentifier:) wallets[primary_
von Ihrer Karte auf und prüfen Sie, ob das Ergebnisaccount_ identifier] true
ist. Wennprimary_
leer ist, übergeben Sie eine leere Zeichenfolge anaccount_ identifier 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_
-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.
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 bereitstellenClientseitig
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.
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.
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.
Schauen Sie sich für zusätzlichen Kontext an, wie die Beispiel-App einen STPIssuingCardEphemeralKeyProvider
verwendet.
Backend aktualisierenServerseitig
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.
{ "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.
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.
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.