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
    Nur-Abwickler-Modell von Issuing
    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

Issuing Elements verwenden

Erfahren Sie, wie Sie Kartendaten auf PCI-konforme Weise in Ihrer Webanwendung anzeigen.

Seite kopieren

Stripe.js enthält eine browserseitige JavaScript-Bibliothek, mit der Sie die sensiblen Daten Ihrer Issuing-Karten im Web unter Einhaltung der PCI-Anforderungen anzeigen können. Die sensiblen Daten werden in von Stripe gehosteten iFrames gerendert und gelangen nicht auf Ihre Server.

Notiz

Stripe.js erfasst zusätzliche Daten zum Schutz unserer Nutzer/innen. Erfahren Sie mehr darüber, wie Stripe diese Daten für die erweiterte Betrugserkennung erhebt.

Authentifizierung mit temporären Schlüsseln

Stripe.js verwendet temporäre Schlüssel, um Karteninformationen sicher von der Stripe -API abzurufen, ohne Ihre geheimen Schlüssel öffentlich zugänglich zu machen. Um dies einzurichten, müssen Sie einen Teil des temporären Schlüsselaustauschs auf dem Server durchführen.

Der Erstellungsprozess eines temporären Schlüssels beginnt im Browser, indem eine Nonce mit Stripe.js erstellt wird. Eine Nonce ist ein einmalig verwendbares Token, das einen temporären Schlüssel erstellt. Diese Nonce wird an Ihren Server gesendet, wo Sie sie durch Aufrufen der Stripe -API (mithilfe Ihres geheimen Schlüssels) gegen einen temporären Schlüssel eintauschen.

Nachdem Sie auf der Serverseite einen temporären Schlüssel erstellt haben, übergeben Sie ihn zur Verwendung mit Stripe.js zurück an den Browser.

Sicheren Endpoint erstellen
Serverseitig

Der erste Schritt bei der Integration mit Issuing Elements besteht darin, einen sicheren, serverseitigen Endpoint zu erstellen, um temporäre Schlüssel für die Karte zu generieren, die Sie anzeigen möchten. Ihre Issuing Elements-Webintegration ruft diesen Endpoint auf.

So können Sie einen Endpoint zur Erstellung temporärer Schlüssel im Webanwendungs-Framework in verschiedenen Sprachen implementieren:

server.js
Node
// This example sets up an endpoint using the Express framework. // Watch this video to get started: https://youtu.be/rPR2aJ6XnAc const express = require('express'); const bodyParser = require('body-parser'); const app = express(); app.use(bodyParser.urlencoded({ extended: true })); const stripe = require('stripe')(
'sk_test_BQokikJOvBiI2HlWgH4olfQ2'
); app.post('/ephemeral-keys', async (request, response) => { const { card_id, nonce } = request.body; const ephemeralKey = await stripe.ephemeralKeys.create({ nonce: nonce, issuing_card: card_id, }, { apiVersion: '2025-05-28.basil', }); response.json({ ephemeralKeySecret: ephemeralKey.secret, }); });

Notiz

Sie müssen die API-Version beim Erstellen von temporären Schlüsseln angeben. Derzeit ist die erforderliche Version 2020-03-02. Sie müssen auch eine temporäre Schlüsselnonce übergeben, die Sie in Ihrer Webintegration erstellen können.

API-Integration auf Web
Clientseitig

Fügen Sie zunächst Stripe.js in Ihre Seite ein. Weitere Informationen zum Einrichten von Stripe.js finden Sie unter Einbindung von Stripe.js.

Erstellen Sie eine Stripe-Instanz und eine temporäre Schlüsselnonce für die Karte, die Sie abrufen möchten, indem Sie stripe.createEphemeralKeyNonce verwenden. Verwenden Sie die Nonce, um den temporären Schlüssel abzurufen, indem Sie den von Ihnen erstellten serverseitigen Endpoint aufrufen:

const stripe = Stripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
); // Initialize Elements which you'll need later const elements = stripe.elements(); // Use Stripe.js to create a nonce const cardId = 'ic_1ITi6XKYfU8ZP6raDAXem8ql'; const nonceResult = await stripe.createEphemeralKeyNonce({ issuingCard: cardId, }); const nonce = nonceResult.nonce; // Call your ephemeral key creation endpoint to fetch the ephemeral key const ephemeralKeyResult = await fetch('/ephemeral-keys', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ card_id: cardId, nonce: nonce, }) }); const ephemeralKeyResponse = await ephemeralKeyResult.json(); const ephemeralKeySecret = ephemeralKeyResponse.ephemeralKeySecret;

Nachdem Sie nun einen temporären Schlüssel haben, können Sie sensible Kartendaten anzeigen. Dazu können Sie eines der folgenden Elemente verwenden und Sie können dasselbe Nonce- und temporäre Schlüsselpaar für mehrere Elemente auf derselben Seite wiederverwenden:

ElementNameVerfügbarkeit
Number (PAN)issuingCardNumberDisplayNur virtuelle Karten
Prüfziffer/CVCissuingCardCvcDisplayNur virtuelle Karten
AblaufdatumissuingCardExpiryDisplayNur virtuelle Karten
PINissuingCardPinDisplayNur physische Karten

Jedes Element nimmt die folgende Konfiguration an:

NameTypNutzung
styleStyle-ObjektBeachten Sie, dass einige Varianten, Pseudo-Klassen und Eigenschaften für Eingabe-Elements gedacht sind und für diese Elements nicht gelten. Ein Beispiel für eine Pseudoklasse, die nur für Eingaben gilt, ist ::placeholder.
issuingCardstringDie ID Ihrer ausgestellten Karte (zum Beispiel ic_abc123)
noncestringIhr temporärer Schlüsselnonce
ephemeralKeySecretstringDie secret-Komponente Ihres temporären Schlüssels

Notiz

Wenn Sie sich für die Verwendung von issuingCardPinDisplay entscheiden, müssen Sie geeignete Methoden implementieren, um sicherzustellen, dass der Zugriff auf Ihre autorisierten Nutzer/innen beschränkt ist. Insbesondere müssen Sie die Zwei-Faktor-Authentifizierung (2FA) anwenden, bevor Sie mit issuingCardPinDisplay Zugriff auf eine Seite gewähren. Wenn Stripe entscheidet, dass Sie keine ausreichenden Sicherheitsmaßnahmen getroffen haben, sperren wir möglicherweise Ihren Zugriff auf dieses Element.

Im Folgenden finden Sie ein Beispiel dafür, wie eines dieser Elemente mithilfe des im obigen Beispiel erstellten Nonce- und temporären Schlüsselpaars angezeigt wird:

const number = elements.create('issuingCardNumberDisplay', { issuingCard: cardId, nonce: nonce, ephemeralKeySecret: ephemeralKeySecret, style: { base: { color: '#fff', fontSize: '16px' }, }, }); number.mount('#card-number');

Eine Schaltfläche zum Kopieren hinzufügen

Zusätzlich zu den bereits erläuterten „Elementen zur Darstellung von Kartendaten“ stellen wir auch das Element issuingCardCopyButton zur Verfügung. Dieses akzeptiert das Argument toCopy und stellt die transparente Schaltfläche „In Zwischenablage kopieren“ dar, die den Platz des übergeordneten <div> einnimmt. Dadurch wird es ermöglicht, alle Klick-Ereignisse mit einem Klick-Handler abzufangen, der die entsprechenden Kartendaten, die bei der Initialisierung angegeben wurden, übernimmt und in die Zwischenablage kopiert.

Damit können Sie die Schaltfläche „In Zwischenablage kopieren“ neben der Kartennummer, dem Ablaufdatum und der Prüfziffer anzeigen. Dadurch wird verhindert, dass die Karteninhaber/innen die Kartendaten manuell kopieren. Die Kopierfunktion ist auf den PCI-konformen <iframe> von Stripe beschränkt.

Das Element issuingCardCopyButton erhält die folgende Konfiguration:

NameTypNutzung
FormatStyle-ObjektBeachten Sie, dass einige Varianten, Pseudo-Klassen und Eigenschaften für Eingabe-Elements gedacht sind und für diese Elements nicht gelten. Ein Beispiel für eine Pseudoklasse, die nur für Eingaben gilt, ist ::placeholder.
toCopy'expiry' oder 'cvc' oder 'number' oder 'pin'

Nachfolgend finden Sie ein Beispiel für die Verwendung dieser Komponente:

const cardNumber = elements.create('issuingCardNumberDisplay', { issuingCard: cardId, nonce: nonce, ephemeralKeySecret: ephemeralKeySecret, }); cardNumber.mount('#card-number'); const cardNumberCopy = elements.create('issuingCardCopyButton', { toCopy: 'number', style: { base: { fontSize: '12px', lineHeight: '24px', }, }, }); cardNumberCopy.mount('#card-number-copy');

Wenn Sie Schwierigkeiten mit der Reaktion Ihrer Schaltfläche auf Klicks haben, achten Sie darauf, den iframe richtig an Ihrer Schaltfläche auszurichten. Sie können Ihr Bild und die <div> in Ihren Stylesheets nach Belieben anpassen.

#card-number-copy { height: 24px; width: 24px; position: relative; background-repeat: no-repeat; background-position: center; background-size: contain; background-image: url('data:image/svg+xml;base64,...'); }

Als letzten Schritt sollten Sie Ihren Nutzer/innen ein „After-Click-Feedback“ anbieten. Verwenden Sie dazu das On-Click-Ereignis des issuingCardCopyButton-Elements. Dies könnte vorübergehend ein neues Symbol sein, wie unten dargestellt.

#card-number-copy-success { display: none; height: 24px; width: 24px; background-image: url('data:image/svg+xml;base64,...'); background-size: 100%; }
// Example of hiding, replacing, and re-showing icons upon click const timeout = (ms) => { return new Promise((resolve) => setTimeout(resolve, ms)); }; const hideAndShowSuccess = (iconElementId, successIconElementId) => { const el = document.getElementById(iconElementId); el.style.display = 'none'; const elSuccess = document.getElementById(successIconElementId); elSuccess.style.display = 'block'; timeout(2000).then(() => { elSuccess.style.display = 'none'; el.style.display = 'block'; }); }; cardNumberCopy.on('click', () => { hideAndShowSuccess('card-number-copy', 'card-number-copy-success'); });

Zusätzliche Informationen

Das zurückgegebene Kartenobjekt verfügt über PCI-Felder (z. B. die Nummer), die vollständig aus der Nutzlast result.issuingCard entfernt wurden.

Neben .mount() im oben genannten Beispiel unterstützen die Elemente auch die folgenden Methoden:

  • .destroy()
  • .unmount()
  • .update({style})

Issuing Elements und native Anwendungen

Issuing Elements unterstützt keine nativen Anwendungsplattformen wie iOS, Android oder React Native.

Verwenden Sie eine Webansicht, um sensible Kartendaten mit Issuing Elements in Ihrer nativen App anzuzeigen. Erstellen Sie eine Webintegration auf Ihren Servern, indem Sie diesen Leitfaden befolgen, und verweisen Sie dann die URL einer Webansicht auf diese Integration. Informationen zur Implementierung von Webansichten für native Apps finden Sie in diesen externen Ressourcen:

  • iOS und iPadOS: WKWebView
  • Android: WebView
  • React Native: react-native-webview
  • Flutter: webview-flutter
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