Weiter zum Inhalt
Konto erstellen
oder
anmelden
Das Logo der Stripe-Dokumentation
/
KI fragen
Konto erstellen
Anmelden
Jetzt starten
Zahlungen
Umsatz
Plattformen und Marktplätze
Geldmanagement
Entwickler-Tools
Ü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
Zahlungsmethoden verwalten
Schnellerer Bezahlvorgang mit Link
Zahlungsschnittstellen
Payment Links
Checkout
Web Elements
    Übersicht
    Payment Element
      Best Practices für das Payment Element
      Card Element-Vergleich
      Auf das Payment Element mit Payment Intents umstellen
      Auf das Payment Element mit Checkout Sessions umstellen
      Zu Confirmation Token migrieren
    Express Checkout Element
    Address Element
    Currency Selector Element
    Link Authentication Element
    Payment Method Messaging Element
In-App-Elements
Zahlungsszenarien
Nutzerdefinierte Zahlungsabläufe
Flexibles Acquiring
Orchestrierung
Präsenzzahlungen
Terminal
Andere Stripe-Produkte
Financial Connections
Krypto
Climate
StartseiteZahlungenWeb ElementsPayment Element

Migration zu Bestätigungstoken

Schließen Sie Zahlungen auf dem Server mithilfe eines ConfirmationToken anstelle einer PaymentMethod ab.

Seite kopieren

In diesem Leitfaden erfahren Sie, wie Sie Zahlungen auf dem Server abschließen, indem Sie ein ConfirmationToken anstelle einer PaymentMethod verwenden, um von Ihrem Client erfasste Daten an Ihren Server zu übertragen.

Ein ConfirmationToken enthält eine Obermenge der auf einer PaymentMethod gefundenen Daten, wie zum Beispiel Versandinformationen, und ermöglicht neue Funktionen, während wir diese entwickeln.

Bestätigungstoken erstellen
clientseitig

Rufen Sie anstatt stripe.createPaymentMethod den Parameter stripe.createConfirmationToken auf, um ein ConfirmationToken-Objekt zu erstellen. Übergeben Sie dieses ConfirmationToken an den Server, um den PaymentIntent zu bestätigen.

Die Methode stripe.createConfirmationToken akzeptiert die gleichen Parameter wie stripe.createPaymentMethod (über params.payment_method_data) sowie zusätzliche Parameter für shipping und die return_url.

Vorher
Nachher
checkout.js
// Create the PaymentMethod using the details collected by the Payment Element. const {error, paymentMethod} = await stripe.createPaymentMethod({ elements, params: { billing_details: { name: 'Jenny Rosen', } } }); if (error) { // This point is only reached if there's an immediate error when creating the PaymentMethod. // Show the error to your customer (for example, payment details incomplete) handleError(error); return; } // Create and confirm the PaymentIntent const res = await fetch("/create-confirm-intent", { method: "POST", headers: {"Content-Type": "application/json"}, body: JSON.stringify({ paymentMethodId: paymentMethod.id, }), });
checkout.js
// Create the ConfirmationToken using the details collected by the Payment Element and additional shipping information. Provide shipping and return_url if you don't want to provide it when confirming the intent on the server const {error, confirmationToken} = await stripe.createConfirmationToken({ elements, params: { payment_method_data: { billing_details: { name: 'Jenny Rosen', } }, // Remove shipping if you're collecting it using Address Element or don't require it shipping: { name: 'Jenny Rosen', address: { line1: '1234 Main Street', city: 'San Francisco', state: 'CA', country: 'US', postal_code: '94111', }, }, return_url: 'https://example.com/order/123/complete', } }); if (error) { // This point is only reached if there's an immediate error when creating the ConfirmationToken. // Show the error to your customer (for example, payment details incomplete) handleError(error); return; } // Create and confirm the PaymentIntent const res = await fetch("/create-confirm-intent", { method: "POST", headers: {"Content-Type": "application/json"}, body: JSON.stringify({ confirmationTokenId: confirmationToken.id, }), });

Zahlung erstellen und an Stripe übermitteln
serverseitig

Sie übergeben nun das ConfirmationToken an den Server, um den PaymentIntent zu bestätigen. Dies ersetzt die vorherige Methode, bei der Sie die PaymentMethod übergeben haben. Die im ConfirmationToken gespeicherten Eigenschaften werden auf den Intent angewendet, wenn ihre ID dem Parameter confirmation_token zum Zeitpunkt der Bestätigung zur Verfügung gestellt wird.

Notiz

Wenn Sie shipping und return_url bereits auf dem ConfirmationToken angeben, müssen Sie diese Felder nicht erneut angeben, wenn Sie den PaymentIntent bestätigen.

Vorher
Nachher
server.js
app.post('/create-confirm-intent', async (req, res) => { try { const intent = await stripe.paymentIntents.create({ confirm: true, amount: 1099, currency: 'usd', // In the latest version of the API, specifying the `automatic_payment_methods` parameter is optional because Stripe enables its functionality by default. automatic_payment_methods: {enabled: true}, use_stripe_sdk: true, // the PaymentMethod ID sent by your client payment_method: req.body.paymentMethodId, return_url: 'https://example.com/order/123/complete', mandate_data: { customer_acceptance: { type: "online", online: { ip_address: req.ip, user_agent: req.get("user-agent"), }, }, }, shipping: { name: 'Jenny Rosen', address: { line1: '1234 Main Street', city: 'San Francisco', state: 'CA', country: 'US', postal_code: '94111', }, } }); res.json({ client_secret: intent.client_secret, status: intent.status }); } catch (err) { res.json({ error: err }) } });
server.js
app.post('/create-confirm-intent', async (req, res) => { try { const intent = await stripe.paymentIntents.create({ confirm: true, amount: 1099, currency: 'usd', // In the latest version of the API, specifying the `automatic_payment_methods` parameter is optional because Stripe enables its functionality by default. automatic_payment_methods: {enabled: true}, use_stripe_sdk: true, // the ConfirmationToken ID sent by your client that already has the shipping, mandate_data, and return_url data confirmation_token: req.body.confirmationTokenId, }); res.json({ client_secret: intent.client_secret, status: intent.status }); } catch (err) { res.json({ error: err }) } });

Alle Parameter, die zum Zeitpunkt der Bestätigung direkt dem PaymentIntent oder SetupIntent zur Verfügung gestellt werden, wie zum Beispiel shipping überschreiben die entsprechenden Eigenschaften des ConfirmationToken.

OptionalBedingungsparameter setup_future_usage oder capture_method anhand der Zahlungsmethode festlegen

Siehe auch

  • Integration entwerfen
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