Salvare i dati di pagamento durante il pagamento
Come accettare un pagamento e salvare i dati di pagamento del cliente per acquisti futuri
Utilizza Stripe Checkout per un’integrazione rapida e low-code che consente ai clienti di salvare i dati di pagamento per acquisti futuri.
Configurare StripeLato server
Innanzitutto registrati per creare un account Stripe.
Utilizza le nostre librerie ufficiali per accedere all’API Stripe dalla tua applicazione:
Creare un clienteLato server
Per configurare una carta per pagamenti futuri, devi associarla a un Customer. Crea un oggetto Customer quando il cliente crea un account con la tua azienda. Un oggetto Customer ti permette di riutilizzare modalità di pagamento e monitorare più pagamenti.
Una creazione riuscita restituisce l’oggetto Customer. Puoi controllare l’oggetto per trovare l’id
del cliente e memorizzare il valore nel database per poterlo recuperare successivamente.
Puoi trovare questi clienti nella pagina Clienti della Dashboard.
Creare una sessione di CheckoutLato clientLato server
Aggiungi sul tuo sito web un pulsante di pagamento che richiami un endpoint lato server per creare una sessione di Checkout.
Puoi anche creare una sessione di Checkout per un cliente esistente, che ti consente di precompilare i campi di Checkout con le informazioni di contatto note e di unificare la cronologia degli acquisti per quel cliente.
<html> <head> <title>Buy cool new product</title> </head> <body> <!-- Use action="/create-checkout-session.php" if your server is PHP based. --> <form action="/create-checkout-session" method="POST"> <button type="submit">Checkout</button> </form> </body> </html>
Una sessione di Checkout è una rappresentazione programmatica di quello che il cliente visualizza quando viene reindirizzato al modulo di pagamento. Puoi configurarlo con le seguenti opzioni:
- Voci riga da addebitare
- Valute da utilizzare
Devi popolare success_
con il valore URL di una pagina del tuo sito web a cui Checkout rimanda il cliente una volta che ha completato il pagamento. Se lo desideri, puoi anche fornire un valore cancel_
di una pagina del tuo sito web a cui Checkout rimanda il cliente se interrompe la procedura di pagamento prima del completamento.
Nota
Per impostazione predefinita, le sessioni di Checkout scadono 24 ore dopo la creazione.
Dopo aver creato una sessione di Checkout, reindirizza il cliente all’URL restituito nella risposta.
Metodi di pagamento
Per impostazione predefinita, Stripe abilita le carte e altri metodi di pagamento più diffusi. Puoi attivare o disattivare i singoli metodi di pagamento nella Stripe Dashboard. In Checkout, Stripe verifica la valuta e le eventuali limitazioni, poi presenta in modo dinamico al cliente i metodi di pagamento supportati.
Per vedere come i clienti visualizzano i tuoi metodi di pagamento, inserisci un ID transazione o imposta l’importo e la valuta dell’ordine nella Dashboard.
Puoi abilitare Apple Pay e Google Pay nelle impostazioni dei metodi di pagamento. Per impostazione predefinita, Apple Pay è abilitato e Google Pay è disabilitato. Tuttavia, in alcuni casi Stripe li filtra anche quando sono abilitati. Filtriamo Google Pay se abiliti l’imposta automatica senza raccogliere un indirizzo di spedizione.
Per abilitare Apple Pay o Google Pay, non devi apportare modifiche all’integrazione delle pagine in hosting su Stripe Checkout. Stripe gestisce questi pagamenti come gli altri pagamenti con carta.
Confermare l’endpoint
Conferma se il tuo endpoint è accessibile avviando il server web (ad esempio, localhost:4242
) ed esegui il seguente comando:
curl -X POST -is "http://localhost:4242/create-checkout-session" -d ""
Il terminale mostra una risposta simile alla seguente:
HTTP/1.1 303 See Other Location: https://checkout.stripe.com/c/pay/cs_test_... ...
Test
Adesso dovresti avere un pulsante di pagamento funzionante che reindirizza il cliente a Stripe Checkout.
- Fai clic sul pulsante di pagamento.
- Viene eseguito il reindirizzamento al modulo di pagamento di Stripe Checkout.
Se l’integrazione non funziona:
- Apri la scheda Rete negli strumenti per sviluppatori del browser.
- Fai clic sul pulsante di pagamento e conferma l’invio della richiesta XHR all’endpoint lato server (
POST /create-checkout-session
). - Verifica che la richiesta restituisca uno stato 200.
- Utilizza
console.
nel listener del clic sul pulsante per confermare la restituzione dei dati appropriati.log(session)
Per ulteriori informazioni sulla configurazione e sul test della tua integrazione di Checkout in hosting, leggi come Accettare un pagamento.
Salvare il metodo di pagamentoLato server
Dopo aver configurato l’integrazione di Checkout in hosting, scegli una configurazione per la tua integrazione in modo da salvare i metodi di pagamento utilizzati dai clienti.
Per impostazione predefinita, i metodi di pagamento utilizzati per effettuare un pagamento una tantum con Checkout non sono disponibili per usi futuri.
Salvare i metodi di pagamento per effettuare gli addebiti all’esterno della sessione
Puoi impostare Checkout in modo tale che salvi i metodi di pagamento utilizzati per un pagamento una tantum specificando l’argomento payment_intent_data.setup_future_usage. Questa opzione è utile se devi acquisire un metodo di pagamento registrato per utilizzarlo per commissioni future, ad esempio in caso di annullamento o no-show.
Se utilizzi Checkout in modalità subscription
, Stripe salva automaticamente i metodi di pagamento per effettuare gli addebiti dei pagamenti successivi. I metodi di pagamento con carta salvati utilizzando la modalità setup_
o subscription
non vengono visualizzati per gli acquisti successivi al primo in Checkout (ulteriori informazioni di seguito). Ti suggeriamo di utilizzare un testo personalizzato che includa link a tutte le condizioni relative all’utilizzo dei dati di pagamento salvati.
Attenzione
Le leggi sulla privacy globali sono complicate e dettagliate. Ti consigliamo di contattare il tuo team legale e di privacy prima di implementare setup_future_usage perché potrebbe avere effetti sul tuo attuale quadro normativo sulla privacy. Per ulteriori informazioni sul salvataggio dei dati di pagamento, consulta le linee guida emesse dal Comitato europeo per la protezione dei dati.
Salva i metodi di pagamento per precompilarle in Checkout
Per impostazione predefinita, Checkout utilizza Link per offrire ai clienti la possibilità di salvare e riutilizzare in modo sicuro i dati di pagamento. Se preferisci gestire in maniera autonoma i metodi di pagamento, utilizza saved_payment_method_options.payment_method_save quando crei una sessione di Checkout per consentire ai clienti di salvare i metodi di pagamento per gli acquisti futuri in Checkout.
Se specifichi questo parametro in modalità payment o subscription, viene visualizzata una casella di controllo facoltativa che consente ai clienti di salvare esplicitamente il metodo di pagamento per acquisti futuri. Quando i clienti selezionano questa casella di controllo, Checkout salva il metodo di pagamento con allow_redisplay: always. Checkout utilizza questo parametro per stabilire se un metodo di pagamento può essere precompilato per gli acquisti futuri. Quando utilizzi saved_
, non devi specificare setup_
per salvare il metodo di pagamento.
Devi specificare un oggetto Customer
se utilizzi saved_payment_method_options.payment_method_save. Per salvare un nuovo cliente, imposta la customer_creation della sessione di Checkout su always
, altrimenti la sessione non salva il cliente o il metodo di pagamento.
Se payment_
non viene specificato o se il cliente non accetta di salvare il metodo di pagamento, Checkout salva comunque i metodi di pagamento creati in modalità subscription
o utilizzando setup_
. Questi metodi di pagamento hanno un valore allow_
impostato su limited
, che impedisce che vengano precompilati per gli acquisti successivi al primo e consentono di rispettare le regole del circuito della carta e le normative sulla protezione dei dati. Scopri come modificare il comportamento predefinito abilitato da questi metodi e come modificare o ignorare il comportamento allow_
.
Nota
Puoi utilizzare Checkout per salvare le carte e altri metodi di pagamento per effettuare addebiti all’esterno della sessione, ma Checkout precompila solo le carte salvate. Scopri come precompilare le carte salvate. Per salvare un metodo di pagamento senza un pagamento iniziale, utilizza Checkout in modalità configurazione.