Weiterleitungsverhalten anpassen
Zeigen Sie eine Bestätigungsseite mit der Bestellübersicht für den Kunden/die Kundin an.
Wenn Sie eine Checkout-Integration haben, die ein integriertes Formular verwendet, können Sie anpassen, wie und ob Stripe Ihre Kundinnen/Kunden nach Abschluss der Zahlung weiterleitet. Sie können Stripe anweisen, Kundinnen/Kunden immer oder nur für einige Zahlungsmethoden weiterzuleiten oder Weiterleitungen vollständig zu deaktivieren.
Um Weiterleitungen einzurichten, geben Sie die Rückgabeseite im Parameter return_
an.
Alternativ können Sie:
- Kundinnen/Kunden nur weiterleiten, wenn die Zahlungsmethode dies erfordert (zum Beispiel eine Bankautorisierungsseite für eine Lastschriftmethode).
- Keine Rückgabeseite verwenden und auf Weiterleitung basierte Zahlungsmethoden deaktivieren.
Kundinnen/Kunden an eine Rückgabeseite weiterleiten
Wenn Sie die Checkout-Sitzung erstellen, geben Sie die URL der Rückgabeseite im Parameter return_
an. Fügen Sie die Vorlagenvariable {CHECKOUT_
in die URL ein. Wenn Checkout einen Kunden/eine Kundin weiterleitet, wird die Variable durch die tatsächliche Checkout-Sitzungs-ID ersetzt. Rufen Sie beim Rendern Ihrer Rückgabeseite den Status der Checkout-Sitzung mit der Checkout-Sitzungs-ID in der URL ab.
app.get('/session_status', async (req, res) => { const session = await stripe.checkout.sessions.retrieve(req.query.session_id); const customer = await stripe.customers.retrieve(session.customer); res.send({ status: session.status, payment_status: session.payment_status, customer_email: customer.email }); });
Verarbeiten Sie das Ergebnis entsprechend dem Sitzungsstatus wie folgt:
complete
: Die Zahlung war erfolgreich. Verwenden Sie die Informationen aus der Checkout-Sitzung, um eine Bestätigungsseite zu rendern.open
: Die Zahlung ist fehlgeschlagen oder wurde storniert. Stellen Sie erneut eine Verbindung zu Checkout her, damit Ihre Kundinnen/Kunden es nochmals versuchen können.
const session = await fetch(`/session_status?session_id=${session_id}`) if (session.status == 'open') { // Remount embedded Checkout else if (session.status == 'complete') { // Show success page // Optionally use session.payment_status or session.customer_email // to customize the success page }
Auf Weiterleitung basierende Zahlungsmethoden
Während der Zahlung leiten einige Zahlungsmethoden die Kundin/den Kunden auf eine Zwischenseite weiter, zum Beispiel eine Bankautorisierungsseite. Wenn sie diese Seite ausgefüllt haben, leitet Stripe sie zu Ihrer Rückgabeseite weiter.
Weiterleitung nur für auf Weiterleitung basierende Zahlungsmethoden durchführen
Wenn Sie Kundinnen/Kunden nach Zahlungen, für die keine Weiterleitung erforderlich ist, nicht weiterleiten möchten, legen Sie redirect_on_completion auf if_
fest. Dadurch werden nur Kundinnen/Kunden weitergeleitet, die mit auf Weiterleitung basierenden Zahlungsmethoden bezahlen.
Bei Kartenzahlungen rendert Checkout einen erfolgreichen Standardstatus, anstatt eine Weiterleitung durchzuführen. Um Ihren eigenen Erfolgsstatus zu verwenden, übergeben Sie einen onComplete-Callback, der die Checkout-Instanz löscht und Ihren nutzerdefinierten Erfolgsstatus rendert.
onComplete
wird aufgerufen, wenn die Checkout-Sitzung erfolgreich abgeschlossen wurde oder wenn das Webhook-Ereignis checkout.session.completed gesendet wurde.
Auf Weiterleitung basierende Zahlungsmethoden deaktivieren
Wenn Sie keine Rückgabeseite erstellen möchten, erstellen Sie Ihre Checkout-Sitzung und legen dabei redirect_on_completion auf never
fest.
Dadurch werden auf Weiterleitung basierende Zahlungsmethoden deaktiviert:
- Wenn Sie dynamische Zahlungsmethoden verwenden, können Sie Zahlungsmethoden weiterhin über das Dashboard verwalten. Die Zahlungsmethoden, für die Weiterleitungen erforderlich sind, können jedoch nicht ausgewählt werden.
- Wenn Sie Zahlungsmethoden manuell mit payment_method_types festlegen, können Sie keine auf Weiterleitung basierenden Zahlungsmethoden angeben.
Wenn Sie redirect_
festlegen, wird die return_
entfernt. Für diese Sitzungen rendert Checkout einen erfolgreichen Standardstatus, anstatt eine Weiterleitung durchzuführen. Sie können Ihren eigenen Erfolgsstatus verwenden, indem Sie einen onComplete-Callback übergeben, der die Checkout-Instanz löscht und Ihren nutzerdefinierten Erfolgsstatus rendert.
onComplete
wird aufgerufen, wenn die Checkout-Sitzung erfolgreich abgeschlossen wurde oder wenn das Webhook-Ereignis checkout.session.completed gesendet wurde.