# Bloccare un metodi di pagamento Separare l'autorizzazione di pagamento dall'acquisizione per creare un addebito immediatamente, ma acquisire i fondi in un secondo momento. Quando crei un pagamento, puoi bloccare un metodo di pagamento idoneo per trattenere dei fondi che potrai acquisire in seguito. Ad esempio, gli hotel spesso autorizzano un pagamento completo prima dell’arrivo dell’ospite, quindi acquisiscono il denaro quando l’ospite lascia l’albergo al termine del soggiorno. Questa operazione viene talvolta definita *acquisizione manuale* (Manually capture funds separately from an authorization). L’autorizzazione di un pagamento garantisce l’importo trattenendolo sul metodo di pagamento del cliente. Se utilizzi l’API, l’attributo [payment_method_details.card.capture_before](https://docs.stripe.com/api/charges/object.md#charge_object-payment_method_details-card-capture_before) dell’addebito indica la scadenza dell’autorizzazione. Devi acquisire i fondi prima della scadenza dell’autorizzazione. Se l’autorizzazione scade prima dell’acquisizione dei fondi, questi vengono rilasciati e lo stato del pagamento passa a `canceled`. Ulteriori informazioni sugli [stati dei pagamenti asincroni](https://docs.stripe.com/payments/paymentintents/lifecycle.md). ## Finestre di validità dell’autorizzazione Le tabelle seguenti illustrano le finestre di validità per l’autorizzazione di diversi tipi di transazioni. ### Transazioni con carta non presente | Circuito carta | finestra di validità dell’autorizzazione per [transazione avviata dall’esercente](https://docs.stripe.com/payments/cits-and-mits.md) | Finestra di validità dell’autorizzazione per [transazione avviata dal cliente](https://docs.stripe.com/payments/cits-and-mits.md) | | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------- | | **Visa** | 5 giorni* | 7 giorni | | **Mastercard** | 7 giorni | 7 giorni | | **American Express** | 7 giorni | 7 giorni | | **Discover** | 7 giorni | 7 giorni | La finestra di autorizzazione esatta è di 4 giorni e 18 ore per garantire il tempo necessario per le procedure di compensazione. ### Transazioni con carta presente (pagamenti di persona) | Circuito carta | Finestra di validità dell’autorizzazione | | -------------------- | ---------------------------------------- | | **Visa** | 5 giorni* | | **Mastercard** | Due giorni | | **American Express** | Due giorni | | **Discover** | Due giorni | La finestra di autorizzazione esatta è di 4 giorni e 18 ore per garantire il tempo necessario per le procedure di compensazione. ### Finestre di autorizzazione di 30 giorni in Giappone Se il tuo account è domiciliato in Giappone, puoi conservare le transazioni in JPY di Visa, Mastercard, JCB, Diners Club e Discover per un massimo di 30 giorni. Le transazioni non in JPY e American Express scadono dopo la finestra standard di 7 giorni. > A partire dal 14 aprile 2024, Visa ha ridotto la finestra di autorizzazione per le [transazioni online avviate dall’esercente](https://docs.stripe.com/payments/cits-and-mits.md) da 7 a 5 giorni. Visa ha anche esteso la finestra di autorizzazione per le transazioni di persona (Terminal) da 2 a 5 giorni. ## Limitazioni dei metodi di pagamento Prima di passare all’implementazione, tieni presente che la separazione tra autorizzazione e acquisizione è soggetta alle seguenti limitazioni. - Solo alcuni metodi di pagamento accettano l’autorizzazione e l’*acquisizione del pagamento* (Fulfillment is the process of providing the goods or services purchased by a customer, typically after payment is collected) separati. Alcuni metodi di pagamento che supportano questa funzionalità includono carte, Affirm, Afterpay, Cash App Pay, Klarna e PayPal. Alcuni metodi di pagamento che non supportano questa funzionalità includono [ACH](https://docs.stripe.com/payments/ach-direct-debit.md) e [iDEAL](https://docs.stripe.com/payments/ideal.md). Scopri di più sul [supporto delle funzioni dei metodi di pagamento](https://docs.stripe.com/payments/payment-methods/payment-method-support.md). - Oltre a quanto indicato nelle tabelle sopra riportate, altri metodi di pagamento hanno regole e finestre di autorizzazione diverse: - Pagamenti con carta: in genere l’importo viene trattenuto per 7 giorni per i pagamenti online e per 2 giorni per i pagamenti di persona effettuati con Terminal (a seconda del tipo di transazione e del circuito della carta). Puoi richiedere un’autorizzazione estesa per determinate autorizzazioni di pagamento [online](https://docs.stripe.com/payments/extended-authorization.md) e [Terminal](https://docs.stripe.com/terminal/features/extended-authorizations.md) idonee per periodi di validità estesi. I circuiti delle carte di credito potrebbero limitare anche le autorizzazioni a 1 USD che non intendi acquisire. - [Affirm](https://docs.stripe.com/payments/affirm/accept-a-payment.md?platform=web#manual-capture): se Affirm richiede un acconto per ordini molto elevati, addebita l’importo in fase di autorizzazione e lo rimborsa se il pagamento non viene acquisito. Hai quindi 30 giorni di tempo per acquisire il saldo del pagamento. - [Afterpay/Clearpay](https://docs.stripe.com/payments/afterpay-clearpay/accept-a-payment.md?web-or-mobile=web&payment-ui=direct-api#manual-capture): Durante l’autorizzazione, il cliente paga la prima rata di rimborso. Afterpay rimborsa il pagamento se non viene mai acquisito. Hai quindi 13 giorni di tempo per addebitare il saldo di pagamento. - [Cash App Pay](https://docs.stripe.com/payments/cash-app-pay/accept-a-payment.md?web-or-mobile=web&payment-ui=direct-api#manual-capture): Per completare un pagamento, le autorizzazioni valide devono essere acquisite entro 7 giorni. - [Klarna](https://docs.stripe.com/payments/klarna/accept-a-payment.md?web-or-mobile=web&payment-ui=direct-api#manual-capture): L’addebito deve essere effettuato entro la mezzanotte del ventottesimo giorno di calendario successivo alla richiesta, altrimenti l’autorizzazione scadrà. Ad esempio, dovrai acquisire una richiesta di addebito alle 14:00 del 01/10/2020 entro le 00:00 UTC del 29/10/2020. - [PayPal](https://docs.stripe.com/payments/paypal/accept-a-payment.md?web-or-mobile=web&payment-ui=direct-api#manual-capture): Trattiene l’importo per 10 giorni. Stripe tenta automaticamente di estendere la trattenuta per altri 10 giorni, per un totale di 20 giorni. La tua [preferenza di regolamento](https://docs.stripe.com/payments/paypal/choose-settlement-preference.md) potrebbe influire sul periodo di autorizzazione. Per ulteriori informazioni, consulta la sezione relativa all’[autorizzazione e all’acquisizione separate](https://docs.stripe.com/payments/paypal/accept-a-payment.md?web-or-mobile=web&payment-ui=direct-api#manual-capture). ## Utilizzare la Dashboard per autorizzare e acquisire Puoi autorizzare un pagamento e acquisire fondi separatamente senza scrivere codice. 1. Nella Dashboard, [crea un nuovo pagamento](https://dashboard.stripe.com/test/payments/new). Seleziona **Una tantum**. 1. Quando inserisci o selezioni il metodo di pagamento, seleziona **Altre opzioni** e **Acquisisci i fondi in seguito**. Il pagamento viene mostrato nella tua [pagina di pagamento](https://dashboard.stripe.com/test/payments) come **Non acquisito**. Per acquisire i fondi, vai alla pagina dei dati di pagamento e fai clic su **Acquisisci**. ## Indicare a Stripe di eseguire solo l’autorizzazione #### API Checkout Sessions Per indicare che vuoi separare l’autorizzazione dall’acquisizione, imposta [capture_method](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-payment_intent_data-capture_method) su `manual` quando crei la sessione di Checkout. Il parametro indica a Stripe di limitarsi ad autorizzare l’importo senza acquisirlo con il metodo di pagamento del cliente. ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]"="{{PRICE_ID}}" \ -d "line_items[0][quantity]"=2 \ -d mode=payment \ -d ui_mode=custom \ -d "payment_intent_data[capture_method]"=manual ``` Con l’approccio sopra descritto, indichi a Stripe che puoi usare “capture after” solo per un PaymentIntent con metodi di pagamento idonei. #### API Payment Intents Per indicare che vuoi separare l’autorizzazione dall’acquisizione, imposta [capture_method](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-capture_method) su `manual` quando crei il PaymentIntent. Il parametro indica a Stripe di limitarsi ad autorizzare l’importo senza acquisirlo con il metodo di pagamento del cliente. ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d amount=1099 \ -d currency=usd \ -d "payment_method_types[]"=card \ -d capture_method=manual ``` Con l’approccio sopra descritto, indichi a Stripe che puoi usare “capture after” solo per un PaymentIntent con metodi di pagamento idonei. Ad esempio, non puoi accettare pagamenti con carta e addebito diretto SEPA (che non supporta l’acquisizione successiva) per un singolo PaymentIntent. Per accettare i metodi di pagamento che potrebbero non essere tutti compatibili con l’addebito successivo, puoi configurare capture-after-per-payment-method configurando `capture_method=manual` nell’oggetto `payment_method_options[]`. Ad esempio, se configuri `payment_method_options[card][capture_method]=manual`, metti in sospeso solo i pagamenti con carta. Puoi gestire i metodi di pagamento dalla [Dashboard](https://dashboard.stripe.com/settings/payment_methods). Stripe gestisce la logica che consente di [visualizzare dinamicamente](https://docs.stripe.com/payments/payment-methods/dynamic-payment-methods.md) i metodi di pagamento idonei più pertinenti per ogni cliente, in base a fattori quali l’importo della transazione, la valuta e il flusso di pagamento. ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d amount=1099 \ -d currency=usd \ -d "automatic_payment_methods[enabled]"=true \ -d "payment_method_options[card][capture_method]"=manual ``` In alternativa, puoi indicare `card` e `sepa_debit` utilizzando i [tipi di metodo di pagamento](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-payment_method_types), come nell’esempio riportato di seguito. ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d amount=1099 \ -d currency=eur \ -d "payment_method_types[]"=card \ -d "payment_method_types[]"=sepa_debit \ -d "payment_method_options[card][capture_method]"=manual ``` Prima di passare all’acquisizione, associa un metodo di pagamento con i dati della carta al PaymentIntent e autorizza la carta confermando il PaymentIntent. Puoi eseguire questa operazione impostando i campi `payment_method` e `confirm` del PaymentIntent. > #### Autorizzazioni estese > > Di solito, un’autorizzazione per un pagamento con carta online è valida 7 giorni. Per aumentare il periodo di validità, puoi [bloccare in modo prolungato un pagamento online con carta](https://docs.stripe.com/payments/extended-authorization.md). ## Acquisire i fondi > #### Checkout Sessions ha un ID PaymentIntent > > Se utilizzi l’API Checkout Sessions, assicurati di utilizzare l’[ID PaymentIntent](https://docs.stripe.com/api/checkout/sessions/object.md#checkout_session_object-payment_intent) restituito nell’oggetto Checkout Session. Dopo l’autorizzazione del metodo di pagamento, lo [stato](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-status) del PaymentIntent diventa `requires_capture`. Per acquisire i fondi autorizzati, effettua una richiesta di [acquisizione](https://docs.stripe.com/api/payment_intents/capture.md) del PaymentIntent. L’importo totale autorizzato viene acquisito per impostazione predefinita. Per acquisire un importo inferiore o superiore a quello iniziale per alcuni pagamenti online con carta, specifica l’opzione [amount_to_capture](https://docs.stripe.com/api/payment_intents/capture.md#capture_payment_intent-amount_to_capture). Un’acquisizione parziale sblocca automaticamente l’importo rimanente. Se tenti di acquisire un importo superiore a quello iniziale per un pagamento con carta online, consulta la [documentazione sulle acquisizioni di importo superiore](https://docs.stripe.com/payments/overcapture.md). L’esempio seguente mostra come acquisire 7,50 USD di un pagamento autorizzato pari a 10,99 USD: ```curl curl https://api.stripe.com/v1/payment_intents/pi_123/capture \ -u "<>:" \ -d amount_to_capture=750 ``` Sebbene alcuni pagamenti con carta siano idonei per l’[acquisizione multipla](https://docs.stripe.com/payments/multicapture.md), per la maggior parte dei pagamenti puoi eseguire solo un’acquisizione su un pagamento autorizzato. Se acquisisci parzialmente un pagamento, non puoi eseguire un’altra acquisizione per la differenza. A seconda delle tue esigenze, potrebbe essere consigliabile [salvare i dati del metodo di pagamento del cliente per utilizzarli in seguito](https://docs.stripe.com/payments/save-during-payment.md#save-payment-details-for-future-use) e creare pagamenti futuri in base alle necessità. Gli estratti conto della carta di alcune società emittenti e le interfacce dei metodi di pagamento non fanno differenza tra autorizzazioni e pagamenti acquisiti (saldati), il che talvolta può confondere i clienti. Inoltre, quando un cliente completa la procedura di pagamento su un PaymentIntent con acquisizione manuale, attiva l’evento `payment_intent.amount_capturable_updated`. Puoi controllare la proprietà [amount_capturable](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-amount_capturable) del PaymentIntent per visualizzare l’importo totale che puoi acquisire dal PaymentIntent. ## Annullare l’autorizzazione Per annullare un’autorizzazione, puoi [annullare il PaymentIntent](https://docs.stripe.com/refunds.md#cancel-payment). ## Acquisisci il pagamento prima della scadenza dell’autorizzazione (Private preview) Puoi impostare Stripe in modo che acquisisca automaticamente i pagamenti prima della scadenza dell’autorizzazione, invece di attivare manualmente l’acquisizione per i metodi di pagamento con carta. Utilizza l’acquisizione automatica ritardata per assicurarti di non perdere i pagamenti autorizzati. Puoi anche specificare un periodo di ritardo personalizzato tra l’autorizzazione e l’acquisizione. Per abilitare l’acquisizione automatica ritardata, imposta [capture_method](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-payment_method_options-card) su `automatic_delayed` in PaymentIntent: ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d amount=1099 \ -d currency=usd \ -d "payment_method_types[]"=card \ -d "payment_method_options[card][capture_method]"=automatic_delayed ``` Con questo approccio, Stripe acquisisce il pagamento con carta prima della scadenza dell’autorizzazione, attivando l’acquisizione circa 6 ore prima della scadenza. Questo serve come processo di backup per garantire che i pagamenti autorizzati vengano acquisiti prima della scadenza. È comunque possibile [acquisire](https://docs.stripe.com/api/payment_intents/capture.md) o [annullare](https://docs.stripe.com/refunds.md#cancel-payment) manualmente il PaymentIntent prima che venga acquisito automaticamente. Puoi specificare un periodo di ritardo personalizzato per l’acquisizione includendo il parametro `capture_delay_days`. Questo parametro indica il numero di giorni di ritardo dell’acquisizione dopo l’autorizzazione riuscita: ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d amount=1099 \ -d currency=usd \ -d "payment_method_types[]"=card \ -d "payment_method_options[card][capture_method]"=automatic_delayed \ -d "payment_method_options[card][capture_delay_days]"=3 ``` In questo esempio, Stripe acquisisce automaticamente il PaymentIntent 3 giorni dopo l’autorizzazione. Ciò è utile se conosci il tempo necessario per eseguire le azioni tra l’autorizzazione e l’acquisizione, garantendo al contempo l’acquisizione prima della scadenza dell’autorizzazione. > Con `capture_method=automatic_delayed`, Stripe dà priorità all’acquisizione del pagamento prima della scadenza dell’autorizzazione. Se la finestra di autorizzazione è più breve del periodo di ritardo specificato, acquisiamo il PaymentIntent prima della scadenza, ignorando il periodo di ritardo. ## See also - [Separa autorizzazione e acquisizione con Checkout](https://docs.stripe.com/payments/accept-a-payment.md?payment-ui=checkout&ui=stripe-hosted#auth-and-capture) - [Bloccare in modo prolungato un pagamento con carta di credito](https://docs.stripe.com/payments/extended-authorization.md)