Passa al contenuto
Crea account
o
Accedi
Il logo della documentazione Stripe
/
Chiedi all'IA
Crea un account
Accedi
Inizia
Pagamenti
Automazione finanziaria
Per piattaforme e marketplace
Gestione del denaro
Strumenti di sviluppo
Inizia
Pagamenti
Automazione finanziaria
Inizia
Pagamenti
Automazione finanziaria
Per piattaforme e marketplace
Gestione del denaro
PanoramicaExplore all products
Start building
Avviare lo sviluppo
Progetti di esempio
Informazioni sulle API
    Presentazione dell'API
    API Payment Intents
    API Setup Intents
    Modalità di pagamento
    API precedenti
      Addebiti
        Migrare alle nuove API
        Accettare un pagamento con carta
        Salvare una carta
        Bloccare un importo su una carta
        Charges e Connect
      Origini
    Fasi di rilascio
Sviluppare con gli LLM
Utilizza Stripe senza dover scrivere codice
Configura Stripe
Crea un account
Prodotti e prezzi
Dashboard per il web
Dashboard per dispositivi mobili
Passare a Stripe
Eseguire la migrazione dei dati dei clienti
Eseguire la migrazione dei dati dei pagamenti
Esegui la migrazione degli abbonamenti
Gestire il rischio di frode
Informazioni sulle frodi
Protezione contro le frodi di Radar
Gestisci le contestazioni
Verificare l'identità
Regulatory support
Pagina inizialeIniziaAbout the APIsOlder APIsCharges

Migrare all'API Payment Intents

Copia pagina

Ti interessa utilizzare Stripe Billing, Tax, sconti, spedizione o conversione di valuta?

Stiamo sviluppando un’integrazione di Payment Element che gestisce abbonamenti, imposte, sconti, spedizione e conversione di valuta. Per ulteriori informazioni, consulta la guida Creare una pagina di pagamento.

Migrare le carte esistenti e l’integrazione API Charges

La migrazione del flusso di pagamento può essere scoraggiante. È consigliabile adottare in modo incrementale l’API Payment Intents e utilizzarla insieme all’API Charges. A questo scopo, puoi frazionare le fasi della migrazione come segue:

  1. Aggiorna la versione API e la libreria client.
  2. Se applicabile, migra il codice che legge le proprietà Charge in modo da ottenere un percorso di lettura coerente tra gli addebiti creati dall’API Charges e quelli creati dall’API Payment Intents. In questo modo, ottieni un’integrazione di lettura compatibile con le integrationi nuove e precedenti.
  3. Effettua la migrazione della tua integrazione API Charges esistente su Web, iOS e Android per utilizzare l’API Payment Intents.
  4. Migra l’integrazione che salva le carte negli oggetti Customer.
  5. Effettua test regolari con le carte di test per assicurarti che l’integrazione aggiornata gestisca l’autenticazione in modo corretto.

Aggiornare la versione API e la libreria client

Sebbene l’API Payment Intents funzioni su tutte le versioni dell’API, ti consigliamo di eseguire l’aggiornamento alla versione più recente dell’API. Se decidi di utilizzare una versione dell’API precedente all’11-02-2019, tieni presente le seguenti due modifiche mentre esamini gli esempi di codice:

  • requires_source è stato rinominato in requires_payment_method
  • requires_source_action è stato rinominato in requires_action

In addition, if you use one of our SDKs, upgrade to the latest version of the library to use the Payment Intents API.

Migrare i flussi di pagamento una tantum

Un’integrazione creata con Stripe.js ed Elements consiste delle seguenti fasi:

  1. Registrare l’intenzione di incassare il pagamento sul lato server
  2. Raccogliere i dati di pagamento sul lato client
  3. Avviare la creazione del pagamento
  4. Evadere l’ordine del cliente sul lato server

Fase 1: registrare l’intenzione di incassare il pagamento sul lato server

Crea un PaymentIntent sul tuo server e rendilo accessibile sul lato client.

Prima
Dopo

Impossibile prima

Command Line
curl https://api.stripe.com/v1/payment_intents \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "amount"=1099 \ -d "currency"="usd"

Fase 2: raccogliere i dati di pagamento sul lato client

Utilizza la funzione confirmCardPayment, che raccoglie i dati di pagamento e li invia direttamente a Stripe.

Prima
Dopo
stripe.createToken( cardElement ).then(function(token) { // Send token to server });
stripe.confirmCardPayment( INTENT_SECRET_FROM_STEP_1, { payment_method: {card: cardElement} } ).then(function(result) { if (result.error) { // Display error.message in your UI. } else { // The payment has succeeded // Display a success message } });

Fase 3: avviare la creazione del pagamento

Nella tua integrazione esistente, la fase finale consiste nell’utilizzare le informazioni di pagamento tokenizzate per creare un addebito sul server. Questo non è più necessario perché la funzione confirmCardPayment richiamata nella fase precedente avvia la creazione dell’addebito.

Prima
Dopo
Command Line
curl https://api.stripe.com/v1/charges \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "source"="{{FROM_PREVIOUS_STEP}}" \ -d "amount"=1099 \ -d "currency"="usd"

Completato nella fase precedente

Fase 4: evadere l’ordine del cliente

Con la conferma automatica, l’addebito viene creato in modo asincrono in base alle azioni del cliente sul lato client; devi quindi monitorare i webhook per sapere quando il pagamento viene completato correttamente. Per eseguire operazioni come l’evasione degli ordini dopo che il pagamento di un cliente è andato a buon fine, implementa il supporto per i webhook e monitora l’evento payment_intent.succeeded.

Prima
Dopo

Se l’addebito riesce, evadi l’ordine.

Iscriviti al webhook payment_intent.succeeded ed evadi l’ordine nel gestore webhook.

Ora che hai effettuato la migrazione, utilizza le carte di test della sezione seguente per verificare che la tua integrazione aggiornata gestisca l’autenticazione 3D Secure.

Migrare l’integrazione che salva le carte negli oggetti Customer

Un’integrazione dell’API Payment Intents che raccoglie i dati delle carte nel flusso di pagamento consiste delle seguenti fasi:

  1. Registrare l’intenzione di incassare il pagamento sul lato server
  2. Raccogliere i dati di pagamento sul lato client
  3. Avviare la creazione del pagamento
  4. Evadere l’ordine del cliente sul lato server

Fase 1: registrare l’intenzione di incassare il pagamento sul lato server

Crea un PaymentIntent sul tuo server. Imposta setup_future_usage su off_session se intendi addebitare i pagamenti agli utenti principalmente quando sono scollegati dalla tua applicazione o su on_session se prevedi di effettuare gli addebiti quando sono collegati all’applicazione. Se intendi utilizzare la carta sia per i pagamenti all’interno che all’esterno della sessione, usa off_session. Se specifichi il parametro setup_future_usage insieme a un ID cliente, il PaymentMethod risultante verrà salvato per questo cliente dopo che il PaymentIntent è stato confermato e che il cliente ha effettuato tutte le azioni richieste. Infine, rendi il PaymentIntent accessibile sul lato client.

Prima
Dopo

Impossibile prima

Command Line
curl https://api.stripe.com/v1/payment_intents \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "setup_future_usage"="off_session" \ -d "amount"=1099 \ -d "currency"="usd"

Fase 2: raccogliere i dati di pagamento sul lato client

Utilizza la funzione confirmCardPayment, che raccoglie i dati di pagamento e li invia direttamente a Stripe.

Prima
Dopo
stripe.createToken( // or stripe.createSource cardElement ).then(function(token) { // Send token to server });
stripe.confirmCardPayment( '{{INTENT_SECRET_FROM_STEP_1}}', { payment_method: {card: cardElement}, } ).then(function(result) { if (result.error) { // Display error.message in your UI. } else { // The payment has succeeded // Display a success message } });

Infine, associa la modalità di pagamento (paymentIntent.payment_method) al cliente.

Prima
Dopo
Command Line
curl https://api.stripe.com/v1/customers/{{CUSTOMER_ID}}/sources \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "source"="{{TOKEN_OR_SOURCE}}"
Command Line
curl https://api.stripe.com/v1/payment_method/{{PAYMENT_METHOD_ID}}/attach \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "customer"="{{CUSTOMER_ID}}"

Fase 3: avviare la creazione del pagamento

Nella tua integrazione esistente, la fase finale consiste nell’utilizzare le informazioni di pagamento tokenizzate per creare un addebito sul server. Questo non è più necessario perché la funzione confirmCardPayment richiamata nella fase precedente avvia la creazione dell’addebito.

Prima
Dopo
Command Line
curl https://api.stripe.com/v1/charges \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "source"="{{FROM_PREVIOUS_STEP}}" \ -d "customer"="{{CUSTOMER_ID}}" \ -d "amount"=1099 \ -d "currency"="usd"

Completato nella fase precedente

Fase 4: evadere l’ordine del cliente

Con la conferma automatica, l’addebito viene creato in modo asincrono in base alle azioni del cliente sul lato client; devi quindi monitorare i webhook per sapere quando il pagamento viene completato correttamente. Per eseguire operazioni come l’evasione degli ordini dopo che il pagamento di un cliente è andato a buon fine, implementa il supporto per i webhook e monitora l’evento payment_intent.succeeded.

Prima
Dopo

Se l’addebito riesce, evadi l’ordine.

Iscriviti al webhook payment_intent.succeeded ed evadi l’ordine nel gestore webhook.

Ora che hai effettuato la migrazione, utilizza le carte di test della sezione seguente per verificare che la tua integrazione aggiornata gestisca l’autenticazione 3D Secure.

Accedere alle modalità di pagamento salvate

Per visualizzare le carte, le origini e i PaymentMethods precedentemente salvati del cliente, crea un elenco delle modalità di pagamento anziché leggere la proprietà sources dell’oggetto Customer. Questa operazione è richiesta perché i nuovi PaymentMethods aggiunti a un cliente non saranno duplicati nella proprietà Sources dell’oggetto Customer.

Prima
Dopo
Command Line
customer.sources
Command Line
curl https://api.stripe.com/v1/payment_methods?customer={{CUSTOMER_ID}}&type=card \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:

Testa l’integrazione

È importante testare a fondo la tua integrazione per assicurarti di gestire correttamente le carte che richiedono un’autenticazione aggiuntiva e le carte che non lo fanno. Utilizza questi numeri di carta in una sandbox con qualsiasi data di scadenza futura e qualsiasi codice CVC a tre cifre per convalidare la tua integrazione quando è richiesta l’autenticazione e quando non è richiesta.

NumeroAutenticazioneDescrizione
Obbligatoria al momento della configurazione o della prima transazioneQuesta carta di test richiede l’autenticazione per i pagamenti una tantum. Tuttavia, se la configuri utilizzando l’API Setup Intents e usi la carta salvata per i pagamenti successivi, non è richiesta un’ulteriore autenticazione.
ObbligatoriaQuesta carta di test richiede l’autenticazione per tutte le transazioni.
ObbligatoriaQuesta carta di test richiede l’autenticazione, ma i pagamenti verranno rifiutati con un codice di errore insufficient_funds dopo un’autenticazione riuscita.
SupportataThis test card supports authentication through 3D Secure 2, but does not require it. Payments using this card do not require additional authentication in a sandbox unless your sandbox Radar rules request authentication.

Utilizza queste carte nella tua applicazione o la demo di pagamenti per vedere le differenze di comportamento.

Vedi anche

  • Payment Intents su iOS
  • Payment Intents su Android
Questa pagina è stata utile?
SìNo
Hai bisogno di aiuto? Contatta l'assistenza clienti.
Partecipa al nostro programma di accesso anticipato.
Dai un'occhiata al nostro registro delle modifiche.
Domande? Contattaci.
LLM? Leggi llms.txt.
Realizzato da Markdoc