Personalizza il comportamento del reindirizzamento
Mostra una pagina di conferma con le informazioni relative all'ordine del cliente.
Se hai un’integrazione di Checkout che utilizza un modulo incorporato, puoi personalizzare come e se Stripe reindirizza i tuoi clienti dopo che hanno completato il pagamento. Puoi fare in modo che Stripe reindirizzi sempre i clienti, reindirizzi solo per alcuni metodi di pagamento o disabiliti completamente i reindirizzamenti.
Per impostare i reindirizzamenti, specifica la pagina di ritorno nel parametro return_
.
In alternativa:
- Puoi reindirizzare i clienti solo se il metodo di pagamento lo richiede, ad esempio una pagina di autorizzazione bancaria per un metodo basato sull’addebito.
- Non puoi utilizzare una pagina di ritorno e disabilitare i metodi di pagamento basati sul reindirizzamento.
Reindirizzare i clienti a una pagina di ritorno
Quando crei la sessione di checkout, specifica l’URL della pagina di ritorno nel parametro return_
. Includi la variabile del modello {CHECKOUT_
nell’URL. Quando Checkout reindirizza un cliente, sostituisce la variabile con l’ID effettivo della sessione di Checkout. Durante il rendering della pagina di ritorno, recupera lo stato della sessione di pagamento utilizzando l’ID della sessione di pagamento nell’URL.
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 }); });
Gestisci il risultato in base allo stato della sessione come segue:
complete
: il pagamento è andato a buon fine. Utilizza le informazioni della sessione di Checkout per visualizzare una pagina di conferma.open
: il pagamento non è riuscito o è stato annullato. Rimonta Checkout in modo che il cliente possa riprovare.
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 }
Metodi di pagamento con reindirizzamento
Durante il pagamento, alcuni metodi di pagamento reindirizzano il cliente a una pagina intermedia, ad esempio una pagina di autorizzazione della banca. Una volta completata la pagina, Stripe li reindirizza alla pagina di ritorno.
Reindirizzare solo per i metodi di pagamento con reindirizzamento
Se vuoi impedire il reindirizzamento dei clienti dopo i pagamenti che non richiedono un reindirizzamento, imposta redirect_on_completion su if_
. In questo modo vengono reindirizzati solo i clienti che utilizzano metodi di pagamento basati sul reindirizzamento.
Per i pagamenti con carta, Checkout visualizza uno stato di operazione riuscita predefinito anziché il reindirizzamento. Per utilizzare il tuo stato di operazione riuscita, specifica un callback onComplete che distrugge l’istanza di Checkout e visualizza il tuo stato di operazione riuscita personalizzato.
onComplete
viene chiamato quando la sessione di Checkout viene completata correttamente o quando viene inviato l’evento webhook checkout.session.completed.
Disabilitare i metodi di pagamento con reindirizzamento
Se non vuoi creare una pagina di ritorno, crea la tua sessione di checkout con redirect_on_completion impostato su never
.
I metodi di pagamento con reindirizzamento vengono disabilitati nel seguente modo:
- Se utilizzi metodi di pagamento dinamici, puoi comunque gestire i metodi di pagamento dalla Dashboard, ma i metodi di pagamento che richiedono reindirizzamenti non sono idonei.
- Se specifichi manualmente i metodi di pagamento con payment_method_types, non puoi includere alcun metodo di pagamento con reindirizzamento.
L’impostazione redirect_
rimuove il requisito return_
. Per queste sessioni, Checkout visualizza uno stato di operazione riuscita predefinito anziché il reindirizzamento. Puoi utilizzare il tuo stato di operazione riuscita specificando un callback onComplete che distrugge l’istanza di Checkout e visualizza il tuo stato di operazione riuscita personalizzato.
onComplete
viene chiamato quando la sessione di Checkout viene completata correttamente o quando viene inviato l’evento webhook checkout.session.completed.