Guida alla migrazione di Checkout
Nella versione precedente di Checkout i clienti visualizzavano una finestra di dialogo modale che raccoglieva i dati della carta e restituiva un token o un’origine al tuo sito web. Invece, nella versione corrente di Checkout i pagamenti e gli abbonamenti vengono creati in una pagina di pagamento intelligente ospitata su Stripe, che supporta Apple Pay, il 3D Secure dinamico e molte altre funzionalità.
La versione corrente di Checkout offre la massima flessibilità e supporta le voci riga dinamiche, Connect, il riutilizzo di clienti esistenti e funzionalità avanzate per gli abbonamenti. Inoltre, puoi utilizzare l’integrazione solo client, che è più rapida e adatta per cataloghi di prodotti più semplici.
Per eseguire la migrazione dalla versione precedente alla versione corrente, segui la guida che meglio rappresentata il tuo modello di business. Ogni guida consiglia un percorso di integrazione e fornisce un esempio di codice.
Catalogo prodotti e prezzi dinamici
Se hai un vasto catalogo prodotti o devi supportare voci riga generate in modo dinamico (ad esempio donazioni o imposte).
Se sei un fornitore SaaS che emette ricevute e devi supportare funzionalità avanzate.
Piattaforme e marketplace Connect
Se gestisci un marketplace che mette in contatto i fornitori con i clienti.
Salvare le modalità di pagamento per uso futuro
Se gestisci un’attività che addebita l’importo al cliente solo dopo aver erogato i servizi.
Catalogo prodotti semplice con prezzi fissi
Se vendi alcuni prodotti con prezzi predeterminati.
Se sei un fornitore SaaS con un piano di abbonamento mensile.
Mentre segui le istruzioni della guida alla migrazione pertinente, puoi anche fare riferimento alla tabella di conversione per associare i parametri specifici e le opzioni di configurazione delle due versioni di Checkout.
Catalogo prodotti e prezzi dinamici
Se vendi prodotti per i quali l’importo o le voci riga vengono determinati in modo dinamico, ad esempio con un vasto catalogo di prodotti o per donazioni, scopri come accettare i pagamenti una tantum.
Probabilmente hai utilizzato la versione precedente di Checkout per creare un token o un’origine sul client, che poi hai specificato sul server per salvarlo per un uso futuro. Nella versione corrente dell’integrazione server di Checkout questo flusso è invertito. Prima crei una sessione sul server, specifichi l’ID sul client e reindirizzi il cliente su Checkout, che a sua volta viene reindirizzato all’applicazione una volta completata l’operazione.
Prima
Con la versione precedente di Checkout, visualizzeresti l’importo e la descrizione dinamici e raccoglieresti i dati della carta del cliente.
<form action="/purchase" method="POST"> <script src="https://checkout.stripe.com/checkout.js" class="stripe-button" data-key=
data-name="Custom t-shirt" data-description="Your custom designed t-shirt" data-amount="{{ORDER_AMOUNT}}" data-currency="usd"> </script> </form>"pk_test_TYooMQauvdEDq54NiTphI7jx"
Poi invieresti al server il token o l’origine risultanti per effettuare l’addebito.
Dopo
Con la versione corrente di Checkout, crei innanzitutto una sessione di Checkout sul tuo server.
Nota
Se utilizzi una delle nostre Librerie client, esegui l’aggiornamento alla versione più recente della libreria per utilizzare l’API Checkout Sessions.
Poi specifichi l’ID sessione sul tuo client e reindirizzi il cliente su Checkout per completare il pagamento.
const stripe = Stripe(
); const checkoutButton = document.getElementById('checkout-button'); checkoutButton.addEventListener('click', () => { stripe.redirectToCheckout({ // Make the id field from the Checkout Session creation API response // available to this file, so you can provide it as argument here // instead of the {{CHECKOUT_SESSION_ID}} placeholder. sessionId: '{{CHECKOUT_SESSION_ID}}' }) // If `redirectToCheckout` fails due to a browser or network // error, display the localized error message to your customer // using `error.message`. });'pk_test_TYooMQauvdEDq54NiTphI7jx'
Una volta completato il pagamento, il cliente viene reindirizzato all’URL della pagina di conferma specificato nel success_url
.
Se devi evadere un ordine di beni acquistati dopo il pagamento, leggi come evadere gli ordini per acquisti con Checkout.
Abbonamenti dinamici
Se fornisci servizi di abbonamento che vengono determinati in modo dinamico o che richiedono il supporto di altre funzionalità avanzate, scopri come configurare un abbonamento.
Probabilmente hai utilizzato la versione precedente di Checkout per creare un token o un’origine sul client, che poi hai specificato sul server per creare un cliente e un abbonamento. Nella nuova versione dell’integrazione server di Checkout questo flusso è invertito. Prima crei una sessione sul server, specifichi l’ID sul client e reindirizzi il cliente su Checkout, che a sua volta viene reindirizzato all’applicazione una volta completata l’operazione.
Prima
Con la versione precedente di Checkout, visualizzeresti le informazioni sull’abbonamento e raccoglieresti i dati della carta del cliente.
<form action="/subscribe" method="POST"> <script src="https://checkout.stripe.com/checkout.js" class="stripe-button" data-key=
data-name="Gold Tier" data-description="Monthly subscription with 30 days trial" data-amount="2000" data-label="Subscribe"> </script> </form>"pk_test_TYooMQauvdEDq54NiTphI7jx"
Poi invieresti al server il token o l’origine risultanti per creare un cliente e un abbonamento.
Dopo
Con la versione corrente di Checkout, crei innanzitutto una sessione di Checkout sul tuo server.
Nota
Se utilizzi una delle nostre Librerie client, esegui l’aggiornamento alla versione più recente della libreria per utilizzare l’API Checkout Sessions.
Poi specifichi l’ID sessione sul tuo client e reindirizzi il cliente su Checkout per completare il pagamento.
const stripe = Stripe(
); const checkoutButton = document.getElementById('checkout-button'); checkoutButton.addEventListener('click', () => { stripe.redirectToCheckout({ // Make the id field from the Checkout Session creation API response // available to this file, so you can provide it as argument here // instead of the {{CHECKOUT_SESSION_ID}} placeholder. sessionId: '{{CHECKOUT_SESSION_ID}}' }) // If `redirectToCheckout` fails due to a browser or network // error, display the localized error message to your customer // using `error.message`. });'pk_test_TYooMQauvdEDq54NiTphI7jx'
Una volta creati il cliente e l’abbonamento, il cliente viene reindirizzato al success_url
.
Se devi evadere l’ordine di servizi acquistati dopo il pagamento, leggi come evadere gli ordini per acquisti con Checkout.
Puoi anche aggiornare le informazioni dell’abbonamento utilizzando Checkout.
Connettere piattaforme e marketplace
Se gestisci una piattaforma o un marketplace Connect e crei pagamenti che coinvolgono gli account connessi, ti consigliamo di utilizzare la versione corrente dell’integrazione server di Checkout. Per eseguire la migrazione della tua integrazione, segui le istruzioni della Guida di Connect.
Il seguente esempio mostra l’utilizzo dell’API Checkout Sessions per elaborare un addebito diretto. Per ulteriori informazioni su come creare gli addebiti indiretti, segui le istruzioni della Guida di Connect.
Prima
Con la versione precedente di Checkout, raccoglieresti i dati della carta del cliente sul client.
<form action="/purchase" method="POST"> <script src="https://checkout.stripe.com/checkout.js" class="stripe-button" data-key=
data-name="Food Marketplace" data-description="10 cucumbers from Roger's Farm" data-amount="2000"> </script> </form>"pk_test_TYooMQauvdEDq54NiTphI7jx"
Poi invieresti al server il token o l’origine risultanti e addebiteresti l’importo per conto dell’account connesso.
Dopo
Con la versione corrente di Checkout, crei innanzitutto una sessione di Checkout sul tuo server per conto dell’account connesso.
Nota
Se utilizzi una delle nostre Librerie client, esegui l’aggiornamento alla versione più recente della libreria per utilizzare l’API Checkout Sessions.
Poi specifichi l’ID sessione sul tuo client e reindirizzi il cliente su Checkout per completare il pagamento. Assicurati di specificare l’ID dell’account connesso quando inizializzi Stripe.js.
// Initialize Stripe.js with the same connected account ID used when creating // the Checkout Session. const stripe = Stripe(
, { stripeAccount:'pk_test_TYooMQauvdEDq54NiTphI7jx'}); const checkoutButton = document.getElementById('checkout-button'); checkoutButton.addEventListener('click', () => { stripe.redirectToCheckout({ // Make the id field from the Checkout Session creation API response // available to this file, so you can provide it as argument here // instead of the {{CHECKOUT_SESSION_ID}} placeholder. sessionId: '{{CHECKOUT_SESSION_ID}}' }) // If `redirectToCheckout` fails due to a browser or network // error, display the localized error message to your customer // using `error.message`. });'{{CONNECTED_ACCOUNT_ID}}'
Una volta completato il pagamento, il cliente viene reindirizzato all’URL della pagina di conferma specificato nel success_url
.
Se devi evadere l’ordine di beni o servizi acquistati dopo il pagamento, leggi come evadere gli ordini per acquisti con Checkout.
Salvare le modalità di pagamento per uso futuro
Se fornisci servizi che non vengono addebitati subito ai clienti, leggi come impostare pagamenti futuri.
Probabilmente hai utilizzato la versione precedente di Checkout per creare un token o un’origine sul client, che poi hai specificato sul server per salvarlo per un uso futuro. Nella versione corrente dell’integrazione server di Checkout questo flusso è invertito. Prima crei una sessione sul server, specifichi l’ID sul client e reindirizzi il cliente su Checkout, che a sua volta viene reindirizzato all’applicazione una volta completata l’operazione.
Prima
Con la versione precedente di Checkout, visualizzeresti le informazioni sull’addebito e raccoglieresti i dati della carta del cliente.
<form action="/subscribe" method="POST"> <script src="https://checkout.stripe.com/checkout.js" class="stripe-button" data-key=
data-name="Cleaning Service" data-description="Charged after your home is spotless" data-amount="2000"> </script> </form>"pk_test_TYooMQauvdEDq54NiTphI7jx"
Poi invieresti al server il token o l’origine risultante per creare successivamente un addebito.
Dopo
Con la versione corrente di Checkout, crea innanzitutto una sessione di Checkout sul tuo server utilizzando la modalità di impostazione.
Nota
Se utilizzi una delle nostre Librerie client, esegui l’aggiornamento alla versione più recente della libreria per utilizzare l’API Checkout Sessions.
Poi specifica l’ID sessione sul tuo client e reindirizza il cliente su Checkout per raccogliere i dettagli della modalità di pagamento.
const stripe = Stripe(
); const checkoutButton = document.getElementById('checkout-button'); checkoutButton.addEventListener('click', () => { stripe.redirectToCheckout({ // Make the id field from the Checkout Session creation API response // available to this file, so you can provide it as argument here // instead of the {{CHECKOUT_SESSION_ID}} placeholder. sessionId: '{{CHECKOUT_SESSION_ID}}' }) // If `redirectToCheckout` fails due to a browser or network // error, display the localized error message to your customer // using `error.message`. });'pk_test_TYooMQauvdEDq54NiTphI7jx'
Una volta completato il flusso, il cliente viene reindirizzato all’URL della pagina di conferma specificato in success_url
.
Da qui puoi recuperare il Setup Intent dal flusso di Checkout e utilizzarlo per preparare la transazione.
Catalogo prodotti semplice con prezzi fissi
Se vendi prodotti con prezzi fissi (ad esempio t-shirt o ebook), consulta la guida sui pagamenti una tantum per scoprire come generare un frammento di codice da aggiungere al tuo sito web.
Probabilmente hai utilizzato la versione precedente di Checkout per creare un token o un’origine sul client, che poi hai specificato sul server per creare un addebito. Invece la versione corrente di Checkout crea automaticamente il pagamento per te e non è necessaria alcuna integrazione server.
Codice lato client
Codice lato server
La tabella di conversione riportata di seguito mostra la corrispondenza delle opzioni di configurazione tra le due versioni di Checkout. Per l’elenco completo delle opzioni di configurazione della nuova versione, fai riferimento a redirectToCheckout
.
Abbonamenti semplici
Se fornisci un servizio di abbonamento semplice (ad esempio l’accesso mensile a un software), consulta la guida sugli abbonamenti per scoprire come creare un piano nella Dashboard e generare un frammento di codice da aggiungere al tuo sito web.
Probabilmente hai utilizzato la versione precedente di Checkout per creare un token o un’origine sul client, che poi hai specificato sul server per creare un cliente e un abbonamento. Invece la nuova versione di Checkout crea automaticamente sia il cliente che l’abbonamento e non è necessaria alcuna integrazione server.
Codice lato client
Codice lato server
La tabella di conversione riportata di seguito mostra la corrispondenza delle opzioni di configurazione tra le due versioni di Checkout. Per l’elenco completo delle opzioni di configurazione della nuova versione, fai riferimento a redirectToCheckout
.
Conversione dei parametri
La versione corrente di Checkout supporta la maggior parte delle funzionalità della versione precedente di Checkout. Tuttavia, le due versioni non condividono la stessa API. La tabella riportata di seguito mostra la corrispondenza dei parametri e delle opzioni di configurazione della versione precedente e della versione corrente.
Per l’elenco completo delle opzioni di configurazione accettate dalla versione corrente di Checkout, consulta la documentazione di riferimento di Stripe.js e la documentazione di riferimento dell’API per le sessioni di Checkout.
Versione precedente | Versione corrente | Suggerimenti per l’integrazione |
---|---|---|
allowRememberMe |
| La versione corrente di Checkout non supporta questa funzionalità. Per riutilizzare i clienti esistenti, ti consigliamo di specificare il parametro customer quando crei una sessione di Checkout. |
amount |
| L’importo totale è la somma delle voci riga specificate in Checkout. |
billingAddress |
| Checkout raccoglie automaticamente l’indirizzo di fatturazione se è obbligatorio per prevenire le frodi o a fini normativi. Per raccogliere sempre l’indirizzo di fatturazione, imposta questo parametro su required . |
billingAddress |
| Checkout raccoglie automaticamente l’indirizzo di fatturazione se è obbligatorio per prevenire le frodi o a fini normativi. Per raccogliere sempre l’indirizzo di fatturazione, imposta questo parametro su required . |
closed |
| Se un cliente vuole chiudere Checkout, deve chiudere la scheda del browser o selezionare cancelUrl . |
currency |
| |
description |
| Se specifichi un prezzo, Checkout genera una descrizione automatica della frequenza dei pagamenti. Se specifichi il parametro Session.line_items , Checkout visualizza il nome di ogni voce riga nel parametro name . |
email |
| Se conosci già l’indirizzo email del cliente, specificalo qui in modo tale che non debba inserirlo di nuovo. |
image |
| Checkout utilizza immagini specifiche per il branding della tua azienda e per i prodotti che vendi. Checkout mostra il logo dell’azienda per impostazione predefinita e recupera l’icona e il nome della tua azienda. |
key |
| |
locale |
| Durante la creazione di una sessione di Checkout, puoi specificare le impostazioni locali. |
name |
| Se specifichi un prezzo, Checkout mostra il nome del prodotto a cui appartiene il prezzo. Se specifichi il parametro Session.line_items , Checkout mostra il nome di ogni voce riga nel parametro name . |
panelLabel |
| Checkout personalizza automaticamente il testo del pulsante a seconda degli articoli che vendi. Per i pagamenti una tantum, utilizza submit_type per personalizzare il testo del pulsante. |
shippingAddress |
| Raccogli le informazioni sull’indirizzo di spedizione specificando una matrice di allowed_countries autorizzati per le spedizioni. |
token o source |
| In JavaScript non è più disponibile una richiamata una volta completato il pagamento. Dato che il cliente paga su una pagina diversa, imposta successUrl per reindirizzare il cliente sulla pagina di conferma dopo che ha completato il pagamento. |
zipCode |
| Checkout raccoglie automaticamente il codice postale se richiesto per prevenire le frodi o a fini normativi. |