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
    Panoramica
    Guide QuickStart
    Stripe Elements
    Confronta le Sessions di Checkout e i PaymentIntent
    Progettare un'integrazione avanzata
    Personalizzare l'aspetto
    Gestire i metodi di pagamento
    Raccogliere informazioni aggiuntive
    Creare un'integrazione per abbonamenti
    Aggiornamenti dinamici
    Aggiungere sconti
    Riscuotere le imposte sui pagamenti
    Riscatta crediti
    Consentire ai clienti di pagare nella loro valuta locale
    Salva e recupera i metodi di pagamento del cliente
      Salvare il metodo di pagamento utilizzato per un pagamento
      Salvare un metodo di pagamento senza effettuare un pagamento
    Inviare ricevute e fatture pagate
    Approvare manualmente i pagamenti sul tuo server
    Autorizzare e acquisire un pagamento separatamente
    Elements con log delle modifiche beta per l'API Checkout Sessions
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
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 inizialePagamentiBuild a custom integration with ElementsSave and retrieve customer payment methods

Salvare il metodo di pagamento di un cliente senza effettuare un pagamento

Scopri come salvare un metodo di pagamento ed eseguire l'addebito in un secondo momento.

Le API Checkout Sessionsin modalità di configurazione permette di salvare i dettagli pagamento di un cliente senza un pagamento iniziale. Questo è utile se vuoi aggiungere i clienti adesso, configurarli per pagamenti ed eseguire addebiti a loro utilizzando l’API Payment Intents in futuro, quando saranno offline.

Utilizza questa integrazione per configurare i pagamenti ricorrenti o per creare pagamenti una tantum il cui importo finale viene determinato in un secondo momento, spesso dopo che il cliente ha ricevuto il servizio.

Transazioni con carta presente

Le transazioni con carta presente, come la raccolta dei dati della carta attraverso Stripe Terminal, usano un processo diverso per salvare il metodo di pagamento.

Conformità

Quando salvi i dati di pagamento di un cliente, sei responsabile della conformità a tutte le leggi, le normative e le regole del circuito applicabili. Questi requisiti si applicano generalmente se desideri salvare la modalità di pagamento del cliente per un uso futuro, ad esempio visualizzando la modalità di pagamento del cliente nel flusso di pagamento per un acquisto futuro o addebitando il pagamento quando il cliente non sta utilizzando attivamente il sito web o l’app. Aggiungi al tuo sito web o alla tua app delle condizioni che indichino come intendi salvare i dettagli della modalità di pagamento e permetti ai clienti di scegliere.

Quando salvi una modalità di pagamento, puoi utilizzarla solo per l’utilizzo specifico che hai incluso nelle tue condizioni. Per addebitare una modalità di pagamento quando un cliente è offline e salvarla come opzione per acquisti futuri, accertati di raccogliere esplicitamente il consenso del cliente per questo uso specifico. Ad esempio, includi una casella di controllo “Salva la mia modalità di pagamento per usi futuri” per raccogliere il consenso.

Per eseguire un addebito a un cliente quando è offline, assicurati che i tuoi termini includano i seguenti:

  • Il consenso del cliente a disporre un pagamento o una serie di pagamenti a suo nome per determinate transazioni.
  • La tempistica e la frequenza previste per i pagamenti (ad esempio, se gli addebiti sono per rate programmate, pagamenti di abbonamenti o ricariche non programmate).
  • Il modo in cui determini l’importo del pagamento.
  • La tua politica di annullamento, se la modalità di pagamento è per un servizio in abbonamento.

Assicurati di conservare una copia scritta del consenso relativo a questi termini, fornito dal cliente.

Nota

Se devi utilizzare la conferma manuale sul lato server o la tua integrazione richiede la presentazione separata dei metodi di pagamento, consulta la nostra guida alternativa.

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 oggetto Customer
Lato server

Per configurare una modalità di pagamento per pagamenti futuri, è necessario associarla a un Customer. Crea un oggetto Customer quando il cliente crea un account con la tua azienda. Gli oggetti Customer permettono di riutilizzare le modalità di pagamento e di monitorare più pagamenti.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl -X POST https://api.stripe.com/v1/customers \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"

Usa la modalità di configurazione
Lato server

Crea una sessione di completamento della transazione conmode=setup.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d mode=setup \ -d ui_mode=custom \ -d currency=usd

Associare il metodo di pagamento a un cliente
Lato server

Se non hai creato la sessione di completamento della transazione con un cliente esistente, utilizza l’ID del PaymentMethod per associare il metodo pagamento a un cliente.

In caso contrario, il metodo di pagamento si collega automaticamente al cliente indicato durante la creazione della sessione di completamento della transazione.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/payment_methods/
{{PAYMENT_METHOD_ID}}
/attach
\ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer=
"{{CUSTOMER_ID}}"

Recupera il metodo di pagamento
Lato server

Dopo che un cliente ha completato con successo la sessione di completamento della transazione, gestisci il webhook checkout.session.completed. Recupera l’oggetto Session nel webhook e quindi effettua le seguenti operazioni:

  • Ottieni il valore della chiave setup_intent, che è l’ID SetupIntent creato durante la sessione di completamento della transazione.
  • Utilizza l’ID SetupIntent per recuperare l’oggetto SetupIntent. L’oggetto restituito contiene un ID payment_method che puoi collegare a un cliente nel passaggio successivo.

Ulteriori informazioni sull’impostazione dei webhook.

Addebita in un secondo momento il metodo di pagamento
Lato server

Dopo aver collegato il metodo di pagamento a un cliente, è possibile effettuare un pagamento off-session utilizzando unPaymentIntent:

  • Imposta customer con l’ID cliente e payment_method con l’ID del metodo di pagamento.
  • Impostare off_session a true per indicare che il cliente non è nel flusso di pagamento durante un tentativo di pagamento e non può soddisfare una richiesta di autenticazione effettuata da un partner, come una società emittente della carta, una banca o altro istituto di pagamento. Se, durante il flusso di pagamento, un partner richiede l’autenticazione, Stripe richiede le esenzioni utilizzando le informazioni sul cliente ricavate da una transazione precedente on-session. Se le condizioni per l’esenzione non sono soddisfatte, PaymentIntent potrebbe generare un errore.
  • Imposta il valore di conferma della proprietà PaymentIntent atrue, per far sì che la conferma avvenga immediatamente quando crei il PaymentIntent.
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 customer=
"{{CUSTOMER_ID}}"
\ -d payment_method=
"{{PAYMENT_METHOD_ID}}"
\ -d off_session=true \ -d confirm=true

Se un tentativo di pagamento non riesce, non riesce anche la richiesta con un codice di stato HTTP 402 e il PaymentIntent stato è requires_payment_method. Avvisa il cliente di tornare all’applicazione (ad esempio, inviando un’email o una notifica in-app) e indirizza il tuo cliente a una nuova sessione di completamento della transazione per selezionare un altro metodo di pagamento.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer=
"{{CUSTOMER_ID}}"
\ -d "line_items[0][price_data][currency]"=usd \ -d "line_items[0][price_data][product_data][name]"=T-shirt \ -d "line_items[0][price_data][unit_amount]"=1099 \ -d "line_items[0][quantity]"=1 \ -d mode=payment \ -d ui_mode=custom \ --data-urlencode return_url="https://example.com/return"
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