Passa al contenuto
Crea account o Accedi
Il logo della documentazione Stripe
/
Chiedi all'IA
Crea un accountAccedi
Inizia
Pagamenti
Ricavi
Per piattaforme e marketplace
Gestione del denaro
Risorse per sviluppatori
API e SDKGuida
Panoramica
Informazioni sui pagamenti con Stripe
Eseguire l'upgrade dell'integrazione
Analisi dei dati sui pagamenti
Pagamenti online
PanoramicaTrovare il caso d'uso più adattoUsa Managed Payments
Utilizzare Payment Links
Utilizza una pagina di completamento della transazione preintegrata
Crea un'integrazione personalizzata con Elements
Creare un'integrazione in-app
Pagamenti di persona
Terminal
Metodi di pagamento
Aggiungere modalità di pagamento
Gestire i metodi di pagamento
Pagare più velocemente con Link
    Panoramica
    Pagamenti bancari istantanei
    Klarna su Link
    In sintesi
    Link con Checkout
    Link con Elements per il web
    Link con Elements per dispositivi mobili
    Link con Invoicing
    Guide all'integrazione
    Integrazioni di pagamento di Link
    Creare una pagina di pagamento personalizzata contenente Link
    Configurare pagamenti futuri con Elements e Link
Scenari di pagamento
Gestire più valute
Flussi di pagamento personalizzati
Acquisizione flessibile
Orchestrazione
Oltre i pagamenti
Costituire un'azienda
Criptovaluta
Commercio agentico
Financial Connections
Climate
Informazioni sulle frodi
Protezione contro le frodi di Radar
Gestisci le contestazioni
Verificare l'identità
Stati Uniti
Italiano
Pagina inizialePagamentiFaster checkout with Link

Creare una pagina di pagamento personalizzata contenente Link

Integrare Link utilizzando Payment Element o Link Authentication Element

Questa guida spiega come accettare pagamenti con Link utilizzando API Payment Intents e Payment Element o Link Authentication Element.

Sono disponibili tre modi per proteggere l’indirizzo email dei clienti per l’autenticazione e l’iscrizione a Link:

  • Specifica un indirizzo email: puoi specificare un indirizzo email per Payment Element utilizzando defaultValues. Se raccogli già l’indirizzo email e/o il numero di telefono del cliente nel flusso di pagamento, consigliamo questo approccio.
  • Raccogli un indirizzo email: puoi raccogliere un indirizzo email direttamente in Payment Element. Se non raccogli l’indirizzo email in nessuna fase del flusso di pagamento, ti consigliamo questo approccio.
  • Link Authentication Element: puoi utilizzare Link Authentication Element per creare un unico campo di inserimento dell’email sia per l’acquisizione dell’indirizzo che per l’autenticazione in Link. Questo metodo è consigliato se utilizzi Address Element.
Esegui l'autenticazione o l'iscrizione a Link direttamente in Payment Element durante il pagamento

Raccogliere l’indirizzo email dei clienti per l’autenticazione o l’iscrizione a Link

Configurare Stripe
Lato server

Innanzitutto crea un account Stripe o accedi.

Utilizza le nostre librerie ufficiali per accedere all’API Stripe dalla tua applicazione:

Command Line
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
# Available as a gem sudo gem install stripe
Gemfile
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
# If you use bundler, you can add this line to your Gemfile gem 'stripe'

Creare un PaymentIntent
Lato server

Stripe utilizza un oggetto PaymentIntent per rappresentare la tua intenzione di riscuotere un pagamento da un cliente, monitorando i tentativi di addebito e le modifiche dello stato del pagamento durante tutta la procedura.

Schema del flusso di pagamento

Se raccogli i dati delle carte per un uso futuro con Setup Intents, elenca i metodi di pagamento manualmente anziché utilizzare metodi di pagamento dinamici. Per utilizzare Link senza metodi di pagamento dinamici, aggiorna l’integrazione specificando link in payment_method_types.

Quando crei un PaymentIntent, offri dinamicamente ai clienti i metodi di pagamento più pertinenti, incluso Link, utilizzando metodi di pagamento dinamici. Per utilizzare metodi di pagamento dinamici, non includere il parametro payment_method_types. Facoltativamente, puoi anche abilitare automatic_payment_methods.

Nota

Quando la tua integrazione non imposta il parametro payment_method_types, alcuni metodi di pagamento si attivano automaticamente, comprese le carte e i wallet.

Per aggiungere Link alla tua integrazione Elements utilizzando i metodi di pagamento dinamici:

  1. Nelle impostazioni dei metodi di pagamento della Dashboard, attiva Link.
  2. Se hai un’integrazione esistente che elenca manualmente i metodi di pagamento, rimuovi il parametro payment_method_types dalla tua integrazione.

Recuperare la chiave privata client

L’oggetto PaymentIntent contiene una chiave privata client, che il lato client usa per completare la procedura di pagamento in modo sicuro. Per specificare la chiave privata sul lato client, puoi utilizzare approcci diversi.

Recupera la chiave privata client dall’endpoint sul server utilizzando la funzione fetchdel browser. Questo approccio è più adatto quando il lato client è un’applicazione con un’unica pagina, in particolare creata con un framework front-end moderno come React. Crea l’endpoint server che invia la chiave privata client:

main.rb
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
get '/secret' do intent = # ... Create or retrieve the PaymentIntent {client_secret: intent.client_secret}.to_json end

Quindi recupera la chiave privata client con JavaScript sul lato client:

(async () => { const response = await fetch('/secret'); const {client_secret: clientSecret} = await response.json(); // Render the form using the clientSecret })();

Raccoglie l'indirizzo email del cliente

Link autentica un cliente utilizzando il suo indirizzo email. A seconda del tuo flusso di pagamento, hai le seguenti opzioni: specificare un indirizzo email in Payment Element, raccoglierlo direttamente con Payment Element o utilizzare Link Authentication Element. Tra queste, Stripe consiglia di specificare un indirizzo email del cliente in Payment Element (se disponibile).

Se ti trovi in una qualsiasi delle situazioni descritte di seguito:

  • Hai bisogno di un unico componente ottimizzato per la raccolta dell’indirizzo email e per l’autenticazione a Link.
  • Devi raccogliere un indirizzo di spedizione del cliente.

Poi utilizza il flusso di integrazione che implementa questi elementi: Link Authentication Element, Payment Element e Address Element (facoltativo).

In una pagina di pagamento compatibile con Link, Link Authentication Element si trova all’inizio, seguito da Address Element e poi da Payment Element. Puoi visualizzare Link Authentication Element anche su pagine distinte, nello stesso ordine, per i flussi di pagamento che richiedono l’utilizzo di più pagine.

Creare un modulo di pagamento utilizzando più Element

Creare un modulo di pagamento utilizzando più Element

L’integrazione funziona nel modo seguente:

Configura il modulo di pagamento
Lato client

Ora puoi configurare il tuo modulo di pagamento personalizzato con i componenti dell’interfaccia utente preintegrati di Elements. Affinché l’integrazione funzioni, l’indirizzo della pagina di pagamento deve iniziare con https:// anziché con http:// Puoi eseguire il test dell’integrazione senza utilizzare HTTPS. Abilita HTTPS quando sarà tutto pronto per accettare i pagamenti in modalità live.

Link Authentication Element visualizza un campo per l’inserimento dell’indirizzo email. Quando Link trova una corrispondenza tra l’indirizzo email di un cliente e un account Link esistente, invia un codice monouso sicuro al numero di telefono del cliente affinché possa effettuare l’autenticazione. Se il cliente si autentica correttamente, Stripe visualizza automaticamente gli indirizzi e i metodi di pagamento salvati su Link, in modo che il cliente possa utilizzarli.

Questa integrazione crea anche Payment Element, che visualizza un modulo dinamico che consente al cliente di scegliere un tipo di metodo di pagamento. Il modulo raccoglie automaticamente tutti i dati di pagamento necessari per il tipo di metodo di pagamento selezionato dal cliente. Payment Element gestisce inoltre la visualizzazione dei metodi di pagamento salvati da Link per i clienti autenticati.

Configurare Stripe Elements

Installa React Stripe.js e il caricatore Stripe.js dal registro di sistema pubblico npm.

Command Line
npm install --save @stripe/react-stripe-js @stripe/stripe-js

Nella pagina di pagamento, includi il modulo di pagamento con il componente Elements, specificando la chiave privata client dal passaggio precedente. Se raccogli l’indirizzo email del cliente già in un’altra parte del modulo, sostituisci il campo di inserimento dell’email esistente con linkAuthenticationElement​.

Se non raccogli l’indirizzo email, aggiungi linkAuthenticationElement​ al flusso di pagamento. Devi posizionare linkAuthenticationElement prima di ShippingAddressElement (facoltativo se raccogli gli indirizzi di spedizione) e PaymentElement affinché Link possa inserire automaticamente i dati salvati da Link per il cliente in ShippingAddressElement e PaymentElement. Puoi anche specificare l’opzione appearance, personalizzando i componenti Elements in modo che si adattino al design del tuo sito.

Se disponi dell’indirizzo email del cliente, specificalo nell’opzione defaultValues del linkAuthenticationElement. In questo modo viene precompilato il campo relativo all’indirizzo email e viene avviata la procedura di autenticazione di Link.

Se disponi di altre informazioni sul cliente, specificale nell’oggetto defaultValues.billingDetails relativo a PaymentElement. Se precompili il maggior numero possibile di informazioni, semplifichi la creazione e il riutilizzo dell’account Link per i tuoi clienti.

Poi visualizza i componenti linkAuthenticationElement e PaymentElement nel tuo modulo di pagamento.

Checkout.jsx
import {loadStripe} from "@stripe/stripe-js"; import { Elements, LinkAuthenticationElement, PaymentElement, } from "@stripe/react-stripe-js"; const stripe = loadStripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
); // Customize the appearance of Elements using the Appearance API. const appearance = {/* ... */}; // Enable the skeleton loader UI for the optimal loading experience. const loader = 'auto';

linkAuthenticationElement, PaymentElement e ShippingAddressElement non devono necessariamente trovarsi nella stessa pagina. Se disponi di un processo in cui le informazioni di contatto del cliente, i dati di spedizione e i dati di pagamento vengono mostrati al cliente in fasi separate, puoi visualizzare ciascun Element nella fase o nella pagina appropriata. Includi linkAuthenticationElement come modulo di inserimento dell’indirizzo email nella fase di raccolta delle informazioni di contatto per assicurarti che il cliente possa sfruttare appieno la funzione di compilazione automatica fornita da Link.

Se raccogli l’indirizzo email del cliente con Link Authentication Element all’inizio del flusso di pagamento, non devi mostrarlo di nuovo nelle pagine di spedizione o di pagamento.

Recuperare un indirizzo email

Puoi recuperare i dati dell’indirizzo email utilizzando la proprietà onChange nel componente linkAuthenticationElement. Il gestore onChange si attiva ogni volta che l’utente aggiorna il campo dell’indirizzo email o quando un indirizzo email del cliente salvato viene compilato automaticamente.

<linkAuthenticationElement onChange={(event) => { setEmail(event.value.email); }} />

Precompilare un indirizzo email del cliente

Link Authentication Element accetta un indirizzo email. Se inserisci l’indirizzo email di un cliente, si attiva il flusso di autenticazione di Link non appena il cliente viene indirizzato alla pagina di pagamento utilizzando l’opzione defaultValues.

<linkAuthenticationElement options={{defaultValues: {email: 'foo@bar.com'}}}/>

FacoltativoPrecompilare altri dati del cliente
Lato client

Se disponibile, la precompilazione delle informazioni del cliente semplifica ulteriormente la procedura di pagamento e riduce l’inserimento manuale dei dati.

Se utilizzi Link Authentication Element, aggiungi l’oggetto defaultValues.billingDetails a Payment Element per precompilare il nome e il numero di telefono del cliente, nonché i suoi indirizzi di spedizione. Se precompili il maggior numero possibile di informazioni sul cliente, semplifichi la creazione e il riutilizzo degli account Link.

Informazioni precompilate nel modulo di attivazione di Link.

Precompila l’indirizzo email, il numero di telefono e il nome del cliente per semplificare la procedura di registrazione a Link

Puoi specificare i seguenti valori per l’oggetto defaultValues.billingDetails:

ValoreObbligatorioFormato
nameFacoltativostringa
phoneFacoltativostringa
addressFacoltativoOggetto JSON con i campi postal_code e country. Tutti i campi sono stringhe.

Un Payment Element con tutti i valori precompilati è simile agli esempi seguenti:

<PaymentElement options={{ defaultValues: { billingDetails: { name: 'John Doe', phone: '888-888-8888', address: { postal_code: '10001', country: 'US', } }, }, }} />;

FacoltativoRaccogliere indirizzi di spedizione
Lato client

Per raccogliere gli indirizzi, crea un nodo DOM vuoto in cui inserire Address Element. L’Address Element deve essere visualizzato dopo il Link Authentication Element affinché Link compili automaticamente i dati relativi all’indirizzo salvato del cliente:

Checkout.jsx
import {loadStripe} from "@stripe/stripe-js"; import { Elements, LinkAuthenticationElement, AddressElement, PaymentElement, } from "@stripe/react-stripe-js"; const stripe = loadStripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
); // Customize the appearance of Elements using the Appearance API. const appearance = {/* ... */}; // Enable the skeleton loader UI for the optimal loading experience. const loader = 'auto'; const CheckoutPage = ({clientSecret}) => ( <Elements stripe={stripe} options={{clientSecret, appearance, loader}}> <CheckoutForm /> </Elements> ); export default function CheckoutForm() { return ( <form> <h3>Contact info</h3> <LinkAuthenticationElement /> <h3>Shipping</h3> <AddressElement options={{mode: 'shipping', allowedCountries: ['US']}} /> <h3>Payment</h3> <PaymentElement /> <button type="submit">Submit</button> </form> ); }

Visualizza AddressElement prima di PaymentElement. Il componente PaymentElement rileva dinamicamente i dati dell’indirizzo acquisiti da AddressElement, nascondendo i campi superflui e acquisendo eventuali altri dati sull’indirizzo di fatturazione.

Recuperare i dati relativi all’indirizzo

AddressElement specifica automaticamente l’indirizzo di spedizione quando un cliente invia il pagamento, ma puoi anche recuperare l’indirizzo nel front-end utilizzando la proprietà onChange. Il gestore onChange invia un evento ogni volta che l’utente aggiorna un campo in Address Element o seleziona gli indirizzi salvati:

<AddressElement onChange={(event) => { setAddressState(event.value); }} />

Inserisci automaticamente un indirizzo di spedizione

Utilizza defaultValues per precompilare le informazioni sull’indirizzo, accelerando la procedura di pagamento per i clienti.

<AddressElement options={{ mode: 'shipping', defaultValues: { name: 'Jane Doe', address: { line1: '354 Oyster Point Blvd', line2: '', city: 'South San Francisco', state: 'CA', postal_code: '94080', country: 'US', } } }}>

FacoltativoPersonalizza l'aspetto
Lato client

Dopo aver aggiunto questi componenti Elements alla tua pagina, puoi personalizzarne l’aspetto per adattarli al resto del design:

Personalizzare l'aspetto di Elements

Personalizzare l’aspetto di Elements

Inviare il pagamento a Stripe
Lato client

Utilizza stripe.confirmPayment per completare il pagamento con i dati raccolti dal cliente nei diversi moduli Elements. Fornisci un return_url a questa funzione per indicare dove Stripe reindirizza l’utente dopo il completamento del pagamento.

L’utente può essere dapprima reindirizzato su un sito intermedio, come una pagina di autorizzazione bancaria, prima che Stripe lo reindirizzi al return_url.

Per impostazione predefinita, i pagamenti con carta e bancari vengono reindirizzati immediatamente al return_url quando il pagamento va a buon fine. Se vuoi impedire il reindirizzamento a return_url, puoi utilizzare if_required per modificare il comportamento.

Checkout.jsx
import {loadStripe} from "@stripe/stripe-js"; import { useStripe, useElements, Elements, LinkAuthenticationElement, PaymentElement, // If collecting shipping AddressElement, } from "@stripe/react-stripe-js"; const stripe = loadStripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
); const appearance = {/* ... */}; // Enable the skeleton loader UI for the optimal loading experience. const loader = 'auto'; const CheckoutPage =({clientSecret}) => ( <Elements stripe={stripe} options={{clientSecret, appearance, loader}}> <CheckoutForm /> </Elements> ); export default function CheckoutForm() { const stripe = useStripe(); const elements = useElements(); const handleSubmit = async (event) => { event.preventDefault(); const {error} = await stripe.confirmPayment({ elements, confirmParams: { return_url: "https://example.com/order/123/complete", }, }); if (error) { // handle error } }; return ( <form onSubmit={handleSubmit}> <h3>Contact info</h3> <LinkAuthenticationElement /> {/* If collecting shipping */} <h3>Shipping</h3> <AddressElement options={{mode: 'shipping', allowedCountries: ['US']}} /> <h3>Payment</h3> <PaymentElement /> <button type="submit">Submit</button> </form> ); }

Il return_url corrisponde a una pagina del tuo sito web che fornisce lo stato del pagamento del PaymentIntent quando visualizzi la pagina di ritorno. Quando Stripe reindirizza il cliente al return_url, puoi utilizzare i seguenti parametri di ricerca dell’URL per verificare lo stato del pagamento. Puoi anche aggiungere i tuoi parametri di ricerca quando specifichi il return_url. Questi parametri di query vengono conservati durante la procedura di reindirizzamento.

ParametroDescrizione
payment_intentIdentificativo univoco per il PaymentIntent
payment_intent_client_secretLa chiave privata client dell’oggetto PaymentIntent.

FacoltativoSeparare l'autorizzazione dall'acquisizione
Lato server

Link supporta l’autorizzazione e l’acquisizione separate. Devi acquisire un pagamento Link autorizzato entro 7 giorni dall’autorizzazione. In caso contrario, l’autorizzazione viene annullata automaticamente e il pagamento non potrà essere acquisito.

Indicare a Stripe di eseguire solo l’autorizzazione

Per indicare che vuoi separare l’autorizzazione dall’acquisizione, imposta capture_method su manual quando crei il PaymentIntent. Il parametro indica a Stripe di limitarsi ad autorizzare l’importo sul metodo di pagamento del cliente.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "payment_method_types[]"=link \ -d "payment_method_types[]"=card \ -d amount=1099 \ -d currency=usd \ -d capture_method=manual

Acquisire i fondi

Dopo l’avvenuta autorizzazione, lo stato PaymentIntent diventa requires_capture. Per acquisire i fondi autorizzati, effettua una richiesta di acquisizione del PaymentIntent. L’importo totale autorizzato viene acquisito per impostazione predefinita. Non puoi acquisire un importo superiore, ma puoi acquisire un importo inferiore.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents/
{{PAYMENT_INTENT_ID}}
/capture
\ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount_to_capture=750

Facoltativo Annullare l’autorizzazione

Per annullare un’autorizzazione, puoi annullare il PaymentIntent.

Gestire gli eventi successivi al pagamento
Lato server

Stripe invia un evento payment_intent.succeeded quando il pagamento viene completato. Utilizza un webhook per ricevere questi eventi ed eseguire azioni come l’invio della conferma di un ordine al cliente, la registrazione della vendita in un database o l’avvio del flusso di lavoro per una spedizione.

Configura la tua integrazione in modo che ascolti questi eventi anziché attendere un callback dal client. Quando attendi un callback dal client, il cliente può chiudere la finestra del browser o uscire dall’app prima dell’esecuzione del callback. La configurazione dell’integrazione per l’ascolto di eventi asincroni ti consente di accettare diversi tipi di metodi di pagamento con una sola integrazione.

Oltre a gestire l’evento payment_intent.succeeded, puoi gestire anche altri due eventi importanti quando riscuoti pagamenti con Payment Element:

EventoDescrizioneAzione
payment_intent.succeededInviato da Stripe quando un cliente ha completato un pagamento con esito positivo.Invia al cliente la conferma di un ordine ed evade l’ordine.
payment_intent.payment_failedInviato da Stripe quando il cliente ha tentato un pagamento che non è andato a buon fine.Se un pagamento è passato da processing a payment_failed, offri al cliente un altro tentativo di pagamento.

Testa l'integrazione

Attenzione

Non memorizzare dati di utenti reali negli account Link della sandbox. Trattali come se fossero pubblicamente disponibili, perché questi account di test sono associati alla tua chiave pubblicabile.

Attualmente Link funziona solo con carte di credito, carte di debito e acquisti su conti bancari qualificati degli Stati Uniti. Link richiede la registrazione del dominio.

Puoi creare account sandbox per Link utilizzando qualsiasi indirizzo email valido. La tabella seguente mostra i valori di passcode monouso fissi che Stripe accetta per autenticare gli account sandbox:

ValoreRisultato
Sei cifre qualsiasi tra quelle non elencate di seguitoOperazione riuscita
000001Errore, codice non valido
000002Errore, codice scaduto
000003Errore, numero massimo di tentativi superato

Per testare metodi di pagamento specifici, consulta gli esempi di test di Payment Element.

Più fonti di finanziamento

Quando Stripe fornisce fonti di finanziamento aggiuntive, non è necessario aggiornare l’integrazione. Stripe le supporta automaticamente con le stesse tempistiche di regolamento delle transazioni e le stesse garanzie dei pagamenti con carta e conto corrente.

Autenticazione delle carte e 3D Secure

Link supporta l’autenticazione 3D Secure 2 (3DS2) per i pagamenti con carta. 3DS2 richiede ai clienti di completare un passaggio di verifica aggiuntivo con la società emittente della carta quando paga. I pagamenti autenticati tramite 3D Secure sono coperti da una traslazione di responsabilità.

Per attivare il flusso di autenticazione 3DS2 con Link in una sandbox, utilizza la seguente carta di test con qualsiasi CVC, codice postale e data di scadenza futura: .

In una sandbox, la procedura di autenticazione mostra una pagina di autenticazione simulata. In tale pagina puoi autorizzare o annullare il pagamento. L’autorizzazione del pagamento simula la riuscita dell’autenticazione e ti reindirizza all’URL di reindirizzamento specificato. Se fai clic sul pulsante Operazione non riuscita viene simulato un tentativo di autenticazione non andato a buon fine.

Per ulteriori informazioni, consulta la pagina sull’autenticazione 3D Secure.

Nota

Quando testi i flussi 3DS, solo le carte di test per 3DS2 attivano l’autenticazione su Link.

FacoltativoVisualizzare i dati salvati del cliente
Lato server
Lato client

Oltre a visualizzare gli indirizzi e i metodi di pagamento salvati per un cliente, puoi visualizzare i suoi dati salvati tramite Link.

Se un cliente ha più di un metodo di pagamento salvato, Stripe mostra le tre carte utilizzate più di recente salvate per il cliente, oltre a tutti i metodi di pagamento che il cliente ha salvato con Link.

Anteprima dei dati salvati del cliente

A tal fine, crea una chiave temporanea e inviala al tuo front-end insieme all’ID Customer. Le informazioni relative all’oggetto customer sono sensibili: non puoi recuperarle direttamente all’interno di Stripe.js. Una chiave temporanea consente di accedere temporaneamente ai dati customer.

Command Line
curl
Ruby
Python
PHP
Node.js
No results
curl https://api.stripe.com/v1/ephemeral_keys \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -H "Stripe-Version: 2025-10-29.clover" \ -d "customer"="{{CUSTOMER_ID}}" \ curl https://api.stripe.com/v1/payment_intents \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "amount"=1099 \ -d "currency"="usd" \ -d "customer"="{{CUSTOMER_ID}}" \ -d "payment_method_types[]"="link" \ -d "payment_method_types[]"="card"

Sul lato client, recupera customerOptions con clientSecret.

(async () => { const response = await fetch('/secret'); const {clientSecret, customerOptions} = await response.json(); })

Poi specifica i valori customerOptions.ephemeralKey e customerOptions.customer per l’opzione customerOptions nel gruppo Elements. Devi anche specificare il flag beta elements_customers_beta_1 durante il caricamento dell’istanza Stripe.

Checkout.jsx
import {loadStripe} from "@stripe/stripe-js"; import { useStripe, useElements, Elements, LinkAuthenticationElement, PaymentElement, } from "@stripe/react-stripe-js"; const stripe = loadStripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
, { apiVersion: '2025-10-29.clover', betas: ['elements_customers_beta_1'], }); const appearance = {/* ... */}; const loader = 'auto'; const CheckoutPage =({ clientSecret, customerOptions, }) => ( <Elements stripe={stripe} options={{ clientSecret, appearance, loader, customerOptions, }}> <CheckoutForm /> </Elements> );

FacoltativoSalvare i metodi di pagamento di Link
Lato server
Lato client

Puoi salvare i metodi di pagamento Link per pagamenti all’esterno della sessione o abbonamenti futuri, ma non per pagamenti all’interno della sessione futuri. Per farlo, devi associarlo a un oggetto Customer. Crea un oggetto customer quando il cliente crea un account con la tua attività, poi specificalo durante la creazione del PaymentIntent.

Quando un nuovo cliente effettua la sua prima transazione con la tua attività, crea un oggetto customer in Stripe per memorizzare i suoi dati per uso futuro.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=1099 \ -d currency=usd \ -d "automatic_payment_methods[enabled]"=true \ -d customer=
"{{CUSTOMER_ID}}"
\ -d setup_future_usage=off_session

Nell’ultima versione dell’API, specificare il parametro automatic_payment_methods è facoltativo perché Stripe ne abilita la funzionalità per impostazione predefinita.

Quando è tutto pronto per effettuare un nuovo addebito al cliente, usa l’oggetto customer e l’ID del PaymentMethod corrispondente per creare un nuovo PaymentIntent. Imposta off_session su true. Di conseguenza il PaymentIntent invia un errore se è richiesta l’autenticazione quando il cliente non utilizza attivamente il tuo sito o la tua app.

Command Line
curl
CLI di Stripe
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d amount=1099 \ -d currency=usd \ # In the latest version of the API, specifying the `automatic_payment_methods` parameter is optional because Stripe enables its functionality by default. -d "automatic_payment_methods[enabled]"=true \ -d customer="{{CUSTOMER_ID}}" \ -d payment_method="{{PAYMENT_METHOD_ID}}" \ -d return_url="https://example.com/order/123/complete" \ -d off_session=true \ -d confirm=true

Comunicare ai clienti l’utilizzo di Stripe

Stripe raccoglie informazioni sulle interazioni dei clienti con Elements per fornirti servizi, prevenire le frodi e migliorare i propri servizi. Ad esempio, utilizza cookie e indirizzi IP per identificare quali Elements sono stati visualizzati da un cliente durante una singola sessione di pagamento. Sei responsabile della comunicazione e della raccolta di tutti i diritti e i consensi necessari affinché Stripe utilizzi i dati in questi modi. Per ulteriori informazioni, visita il nostro Centro privacy.

Vedi anche

  • Che cos’è Link
  • Link con Elements
  • Link in Payment Element
  • Esplorare Link Authentication Element
  • Link in diverse integrazioni di pagamento
Questa pagina è stata utile?
SìNo
  • Hai bisogno di aiuto? Contatta l'assistenza clienti.
  • Dai un'occhiata al nostro registro delle modifiche.
  • Domande? Contattaci.
  • LLM? Leggi llms.txt.
  • Realizzato da Markdoc