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
Stripe stellt einen SDK-Wrapper für eine private Google-Bibliothek für das Push-Provisioning bereit. Gehen Sie wie folgt vor, um Ihre App im Google Pay Store mithilfe von Push-Provisioning bereitstellen zu können:
- Zugriff auf Google Pay anfordern. Nach Ausfüllen des Formulars können Sie innerhalb weniger Stunden bis zu einem Tag mit der Genehmigung rechnen.
- Laden Sie nach Erhalt der Genehmigung das private TapAndPay SDK von Google herunter. Die zuletzt getestete Version des TapAndPay SDK ist Version 18.
- Fordern Sie Zugriff auf die Push-Provisioning API für Ihre App an. Sie müssen Ihre App-ID angeben, um zur Zulassungsliste von Google hinzugefügt zu werden. Einzelheiten zu diesem Vorgang finden Sie in der Dokumentation von Google. Nachdem der Vorgang abgeschlossen ist, gewährt Google Push-Bereitstellungsberechtigungen.
- Nachdem Google die Push-Bereitstellungsberechtigungen gewährt hat, kontaktieren Sie Stripe und geben Sie Ihren Anwendungsnamen, Ihre Anwendungs-ID, Ihr Kartennetzwerk und Ihren Kartennamen an, um diesen Schritt abzuschließen.
App aktualisierenClientseitig
- Importieren Sie das private SDK von Google.
- Importieren Sie das SDK von Stripe.
dependencies { [... your dependencies] implementation 'com.stripe:stripe-android-issuing-push-provisioning:1.2.2' }
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 diese SDKs importiert.
- Bereiten Sie Ihr Backend für die Erstellung von temporären Schlüsseln für Ihre Karten vor. Weitere Informationen finden Sie im Abschnitt unten.
- Erstellen Sie einen
EphemeralKeyProvider
, derPushProvisioningEphemeralKeyProvider
erweitert. Da der Anbieter eines temporären Schlüssels an eine andere Aktivität übergeben werden soll, muss dieser auchParcelable
implementieren (siehe Parcelable). Schauen Sie sich für zusätzlichen Kontext an, wie die Beispiel-App ihrenEphemeralKeyProvider
definiert. - Implementieren Sie die Schaltfläche Zu Google Pay hinzufügen gemäß den Spezifikationen von Google. Die Beispiel-App enthält ein Beispiel für die Einhaltung der Branding-Richtlinien durch die Schaltfläche.
Vorsicht
Verlangen Sie, wie von Google empfohlen, nicht, dass Ihre Nutzer/innen die Google Pay App installieren und überprüfen Sie auch nicht automatisch, ob diese vorhanden ist. Die App ist nur ein Frontend und wird nicht benötigt damit Google Pay funktioniert. Nutzer/innen können ihre Karten in ihren Google-Einstellungen in der App „Einstellungen“ verwalten.
Vorsicht
Google verlangt, dass die Schaltfläche Zu Google Pay hinzufügen nur angezeigt wird, wenn noch keine Karte auf dem Gerät der Nutzer/innen vorhanden ist, und dass Nutzer/innen mit Karten, die noch überprüft werden müssen, den abschließenden geführten Aktivierungsprozess durchführen. Prüfen Sie anhand der Liste der Checkpoints von Google, ob Ihre Implementierung korrekt ist.
Um den Status der Karten Ihrer Nutzer/innen zu überprüfen, verwenden Sie listTokens(), um eine Liste aller Ihrer bereits auf dem Gerät vorhandenen Karten abzurufen. Vergleichen Sie den Wert von getFpanLastFour()
für jedes zurückgegebene Objekt mit der Stripe-Eigenschaft last4) des Issued Card-Objekts für die Karte, die Sie hinzufügen möchten. Verwerfen Sie alle nicht übereinstimmenden Objekte aus der Antwortliste.
- Wenn die Ergebnisliste leer ist, bedeutet dies, dass die Karte, die Sie hinzufügen möchten, noch nicht auf dem Gerät vorhanden ist, Sie können mit der Anzeige der Schaltfläche wie unten beschrieben fortfahren.
- Wenn die Ergebnisliste ein
TokenInfo
-Objekt enthält, prüfen Sie seinen TokenState durch Aufruf vongetTokenState()
.- Wenn der Status
TOKEN_
ist, hat Ihr/e Nutzer/in bereits versucht, die angegebenen Karte zu seinem/ihrem Gerät hinzuzufügen. Zeigen Sie die Schaltfläche Zu Google Pay hinzufügen an. Helfen Sie den Nutzer/innen jedoch dabei, diese Situation zu beheben, indem Sie den ListenerSTATE_ NEEDS_ IDENTITY_ VERIFICATION onActivityResult
mit der Methodetokenize()
verbinden, wie in der Dokumentation von Google beschrieben. - Bei einem anderen Status ist die Karte bereits auf dem Gerät vorhanden. Zeigen Sie keine Google Pay-Schaltfläche an.
- Wenn der Status
Stellen Sie Stripe unbedingt Ihre Anwendungs-ID zur Verfügung, bevor Sie mit den internen Tests beginnen. Die Einrichtung kann mehr als eine Woche dauern, und die Folgen einer unvollständigen Einrichtung sind unter anderem inkonsistente Antworten auf diese beiden Methoden. Das Ergebnis von listTokens()
enthält nur Karten, die hinzugefügt wurden, nachdem Stripe die Einrichtung abgeschlossen hat.
- Wenn ein/e Nutzer/in auf die Schaltfläche klickt, wird die
PushProvisioningActivity
von Stripe mit demPushProvisioningActivityStarter
gestartet.
new PushProvisioningActivityStarter( this, // The Activity or Fragment you are initiating the push provisioning from new PushProvisioningActivityStarter.Args( "Stripe Card", // The name that will appear on the push provisioning UI ephemeralKeyProvider, // Your instance of EphemeralKeyProvider false // If you want to enable logs or not )).startForResult();
Schauen Sie sich für zusätzlichen Kontext an, wie die Beispiel-App PushProvisioningActivity
einführt.
Dadurch wird das Push-Provisioning vorbereitet und die Nutzeroberfläche aufgerufen, um die Karte der Geldbörse hinzuzufügen. Implementieren Sie den Callback in Ihrem onActivityResult
.
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { if (requestCode == PushProvisioningActivityStarter.REQUEST_CODE) { if (resultCode == PushProvisioningActivity.RESULT_OK) { PushProvisioningActivityStarter.Result success = PushProvisioningActivityStarter.Result.fromIntent(data); } else if (resultCode == PushProvisioningActivity.RESULT_ERROR) { PushProvisioningActivityStarter.Error error = PushProvisioningActivityStarter.Error.fromIntent(data); } } }
Schauen Sie sich für zusätzlichen Kontext an, wie die Beispiel-App onActivityResult
implementiert.
Wenn die Bereitstellung erfolgreich war, erhalten Sie ein PushProvisioningActivityStarter.
mit einer cardTokenId
, der ID von Google für die Karte in der aktiven Geldbörse. Mit dieser ID können Sie auch die anderen Funktionen der Geldbörse nutzen.
Wenn bei der Bereitstellung ein Fehler auftritt, wird ein PushProvisioningActivityStarter.
mit einem code
und einer message
zurückgegeben. Bei der message
handelt es sich um eine entwicklerfreundliche Erläuterung des Fehlers. Der code
kann die folgenden Werte haben:
Enum | Bedeutung |
---|---|
USER_CANCELED | Der/die Nutzer/n hat die Bereitstellung abgebrochen. |
CARD_CANCELED | Die Karte wurde deaktiviert oder ist verloren oder gestohlen und kann nicht bereitgestellt werden. |
EPHEMERAL_KEY_ERROR | Beim Abrufen des temporären Schlüssels ist ein Fehler aufgetreten. |
TAP_AND_PAY_UNAVAILABLE | Die TapAndPay-Bibliothek kann nicht verwendet werden, wahrscheinlich wurde die App nicht zu einer Zulassungsliste hinzugefügt. |
NO_STABLE_HARDWARE_ID | Dieser Fehler kann im Entwicklungsemulator auftreten. Die App kann die stabile Hardware-ID nicht abrufen. |
NO_ACTIVE_WALLET_FOUND | Es ist keine aktive Geldbörse verfügbar. Beachten Sie, dass Emulatoren in der Regel nicht über Google Pay verfügen. |
PUSH_PROVISIONING_ENCRYPTED_PAYLOAD_ERROR | Es gab einen Fehler bei der Verbindung mit den Servern von Stripe, um die verschlüsselte Nutzlast für das Push-Provisioning zu erhalten. |
UNKNOWN_ERROR | Es ist ein unerwarteter Fehler aufgetreten. Die message enthält weitere Informationen. |
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
Alle Tests müssen im Live-Modus mit Live-Karten und auf physischen Geräten durchgeführt werden.
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.