# Aggiungere sconti Applica uno sconto al subtotale del tuo cliente utilizzando coupon e codici promozionali. # Pagina completamente in hosting > This is a Pagina completamente in hosting for when payment-ui is stripe-hosted. View the full page at https://docs.stripe.com/payments/checkout/discounts?payment-ui=stripe-hosted. puoi utilizzare gli sconti per ridurre l’importo addebitato a un cliente. I coupon e i codici promozionali ti permettono di: - Applicare uno sconto a tutto il subtotale dell’acquisto - Applicare uno sconto a prodotti specifici - Ridurre il totale addebitato di una percentuale o di un importo fisso - Creare codici promozionali visibili ai clienti in aggiunta ai coupon da condividere direttamente con i clienti > Per utilizzare i coupon per sconti sugli *abbonamenti* (A Subscription represents the product details associated with the plan that your customer subscribes to. Allows you to charge the customer on a recurring basis) con Checkout e Billing, consulta [Sconti per abbonamenti](https://docs.stripe.com/billing/subscriptions/coupons.md). ## Creare un coupon I coupon specificano uno sconto dal valore fisso. Puoi creare codici promozionali visibili ai clienti associati a un unico coupon corrispondente. Ciò significa che sia i codici `FALLPROMO` che `SPRINGPROMO` possono essere collegati a un unico coupon con uno sconto del 25%. Puoi creare coupon nella [Dashboard](https://dashboard.stripe.com/coupons) o con l’[API](https://docs.stripe.com/api.md#coupons): ```curl curl https://api.stripe.com/v1/coupons \ -u "<>:" \ -d percent_off=20 \ -d duration=once ``` ## Usare un coupon Per creare una sessione con uno sconto applicato, specifica l’[ID del coupon](https://docs.stripe.com/api/coupons/object.md#coupon_object-id) nel parametro `coupon` della matrice [sconti](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-discounts). Al momento la Sessione di Checkout supporta al massimo un coupon o un codice promozionale. ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=1" \ -d "discounts[0][coupon]={{COUPON_ID}}" \ -d mode=payment \ --data-urlencode "success_url=https://example.com/success" ``` ## Configurare un coupon I coupon hanno i seguenti parametri utilizzabili: - `currency` - `percent_off` o `amount_off` - `max_redemptions` - `redeem_by`, ultima data disponibile per l’utilizzo del coupon - `applies_to`, che limita i prodotti a cui si applica il coupon > L’oggetto Coupon aggiunge sconti sia ai pagamenti una tantum sia agli abbonamenti. Alcuni parametri dell’oggetto Coupon, come `duration`, si applicano solo agli [abbonamenti](https://docs.stripe.com/billing/subscriptions/coupons.md). ### Limitare l’utilizzo I valori `max_redemptions` e `redeem_by` si applicano ai coupon in tutte le applicazioni. Ad esempio, puoi limitare un coupon ai primi 50 utilizzi oppure far scadere un coupon entro una determinata data. ### Limitare i prodotti idonei Per limitare i prodotti idonei per gli sconti usando un coupon, puoi aggiungere gli ID prodotto all’hash `applies_to` nell’oggetto Coupon. Gli eventuali codici promozionali associati a questo coupon si applicano solo all’elenco dei prodotti idonei. ### Eliminare un coupon Puoi eliminare i coupon tramite la Dashboard o l’API. Una volta eliminato il coupon, non puoi più applicarlo a transazioni o clienti in futuro. ## Creare un codice promozionale I codici promozionali sono codici per i clienti creati in aggiunta ai coupon. Puoi anche specificare ulteriori limitazioni per controllare quando un cliente può applicare la promozione. Puoi condividere questi codici con i clienti in modo tale che possano inserirli durante il pagamento per applicare uno sconto. Per creare un [codice promozionale](https://docs.stripe.com/api/promotion_codes.md), specifica un `coupon` esistente ed eventuali limitazioni, ad esempio limitandolo a un parametro [customer](https://docs.stripe.com/api/promotion_codes/object.md#promotion_code_object-customer) o [customer_account](https://docs.stripe.com/api/promotion_codes/object.md#promotion_code_object-customer_account) specifico. Se hai già un codice specifico per il cliente, come `FALL25OFF`, imposta il parametro `code`. Se lo lasci in bianco, generiamo un parametro `code` casuale per te. Il parametro `code` non fa distinzione tra maiuscole e minuscole ed è univoco per tutti i codici promozionali di qualsiasi cliente. Per esempio: - Puoi creare più codici promozionali che limitano l’utilizzo a determinati clienti utilizzando lo stesso parametro `code`, ma non puoi utilizzare quel parametro `code` per un codice promozionale riscattabile da qualsiasi cliente. - Se crei un codice promozionale riscattabile da qualsiasi cliente, non puoi creare un altro codice promozionale attivo con lo stesso parametro `code`. - Puoi creare un codice promozionale con `code: NEWUSER`, disattivalo specificando `active: false`, quindi crea un nuovo codice promozionale con `code: NEWUSER`. Puoi creare i codici promozionali nella sezione Coupon della [Dashboard](https://dashboard.stripe.com/coupons/create) o con l’[API](https://docs.stripe.com/api.md#promotion_codes): ```curl curl https://api.stripe.com/v1/promotion_codes \ -u "<>:" \ -d coupon={{COUPON_ID}} \ -d code=VIPCODE ``` ## Utilizzare un codice promozionale Per abilitare i codici promozionali riscattabili dagli utenti, utilizza il parametro [allow_promotion_codes](https://docs.stripe.com/api/checkout/sessions/object.md#checkout_session_object-allow_promotion_codes) in una sessione di Checkout. Di conseguenza in Checkout viene abilitato un campo per consentire agli utenti di inserire i codici promozionali. ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price_data][unit_amount]=2000" \ -d "line_items[0][price_data][product_data][name]=T-shirt" \ -d "line_items[0][price_data][currency]=usd" \ -d "line_items[0][quantity]=1" \ -d mode=payment \ -d allow_promotion_codes=true \ --data-urlencode "success_url=https://example.com/success" ``` ## Configurare un codice promozionale Per ogni codice promozionale puoi personalizzare i clienti idonei, il numero di utilizzi e altre limitazioni. ### Limitare per cliente Per limitare una promozione a un determinato cliente, specifica un parametro [customer](https://docs.stripe.com/api/promotion_codes/create.md#create_promotion_code-customer) o [customer_account](https://docs.stripe.com/api/promotion_codes/create.md#create_promotion_code-customer_account) durante la creazione del codice promozionale. Se non specifichi alcun cliente, il codice può essere riscattato da qualsiasi cliente. ### Limitare al primo ordine Puoi limitare il codice promozionale anche ai nuovi clienti con il parametro [restrictions.first_time_transaction](https://docs.stripe.com/api/promotion_codes/create.md#create_promotion_code-restrictions-first_time_transaction). Se il parametro `customer` o `customer_account` non è definito o se un parametro `customer` o `customer_account` non è associato a pagamenti precedenti o *fatture* (Invoices are statements of amounts owed by a customer. They track the status of payments from draft through paid or otherwise finalized. Subscriptions automatically generate invoices, or you can manually create a one-off invoice) non annullate, la transazione viene considerata effettuata per la prima volta. > Sessioni che non creano un cliente creano invece un [cliente ospite](https://docs.stripe.com/payments/checkout/guest-customers.md) nella Dashboard. I codici promozionali limitati ai nuovi clienti sono ancora accettati per queste sessioni. ### Impostare un importo minimo Con i codici promozionali puoi impostare un importo minimo della transazione come condizione di idoneità per lo sconto configurando [minimum_amount](https://docs.stripe.com/api/promotion_codes/create.md#create_promotion_code-restrictions-minimum_amount) e [minimum_amount_currency](https://docs.stripe.com/api/promotion_codes/create.md#create_promotion_code-restrictions-minimum_amount_currency). Dato che le limitazioni dei codici promozionali vengono verificate al momento del riscatto, l’importo minimo della transazione si applica solo al pagamento iniziale di un abbonamento. ### Personalizzare le scadenze Puoi impostare una data di scadenza per il codice promozionale utilizzando [expires_at](https://docs.stripe.com/api/promotion_codes/create.md#create_promotion_code-expires_at). Se per il coupon corrispondente hai già impostato `redeem_by`, la data di scadenza del codice promozionale non può essere successiva a quella del coupon. Se non hai specificato `promotion_code[expires_at]`, la voce `redeem_by` del coupon viene inserita automaticamente nel parametro `expires_at`. Ad esempio, potresti offrire un coupon per un anno, ma volere che sia riscattabile solo per una settimana dopo che il cliente lo ha ricevuto. Puoi impostare `coupon[redeem_by]` su un anno a partire da oggi e `promotion_code[expires_at]` su una settimana dopo la creazione. ### Limitare gli utilizzi Puoi limitare il numero di utilizzi con [max_redemptions](https://docs.stripe.com/api/promotion_codes/create.md#create_promotion_code-max_redemptions), che funziona in modo analogo al parametro coupon. Se per il coupon corrispondente hai già impostato `max_redemptions`, il valore di `max_redemptions` del codice promozionale non può essere maggiore di quello del coupon. Ad esempio, un coupon per i saldi di fine stagione potrebbe essere riscattabile dai primi 50 clienti, ma di questi utilizzi, solo 20 potrebbero valere per la promozione invernale. In questo scenario, puoi impostare `coupon[max_redemptions]: 50` e `promotion_code[max_redemptions]: 20`. ### Promozioni non attive Puoi stabilire se un codice promozionale sia attualmente riscattabile utilizzando il parametro [active](https://docs.stripe.com/api/promotion_codes/create.md#create_promotion_code-active). Tuttavia, se il coupon corrispondente a un codice promozionale non è più valido, tutti i codici promozionali diventano non attivi in modo permanente. Allo stesso modo, se un codice promozionale raggiunge `max_redemptions` o `expires_at`, diventa permanentemente non attivo. Questi codici promozionali non possono essere riattivati. ### Elimina promozioni Puoi eliminare le promozioni tramite la Dashboard o l’API. Una volta eliminata la promozione, non puoi più applicarla a transazioni o clienti in futuro. # Pagina completamente incorporata > This is a Pagina completamente incorporata for when payment-ui is embedded-page. View the full page at https://docs.stripe.com/payments/checkout/discounts?payment-ui=embedded-page. puoi utilizzare gli sconti per ridurre l’importo addebitato a un cliente. I coupon e i codici promozionali ti permettono di: - Applicare uno sconto a tutto il subtotale dell’acquisto - Applicare uno sconto a prodotti specifici - Ridurre il totale addebitato di una percentuale o di un importo fisso - Creare codici promozionali visibili ai clienti in aggiunta ai coupon da condividere direttamente con i clienti > Per utilizzare i coupon per sconti sugli *abbonamenti* (A Subscription represents the product details associated with the plan that your customer subscribes to. Allows you to charge the customer on a recurring basis) con Checkout e Billing, consulta [Sconti per abbonamenti](https://docs.stripe.com/billing/subscriptions/coupons.md). ## Creare un coupon I coupon specificano uno sconto dal valore fisso. Puoi creare codici promozionali visibili ai clienti associati a un unico coupon corrispondente. Ciò significa che sia i codici `FALLPROMO` che `SPRINGPROMO` possono essere collegati a un unico coupon con uno sconto del 25%. Puoi creare coupon nella [Dashboard](https://dashboard.stripe.com/coupons) o con l’[API](https://docs.stripe.com/api.md#coupons): ```curl curl https://api.stripe.com/v1/coupons \ -u "<>:" \ -d percent_off=20 \ -d duration=once ``` ## Usare un coupon Per creare una sessione con uno sconto applicato, specifica l’[ID del coupon](https://docs.stripe.com/api/coupons/object.md#coupon_object-id) nel parametro `coupon` della matrice [sconti](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-discounts). Al momento la Sessione di Checkout supporta al massimo un coupon o un codice promozionale. ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=1" \ -d "discounts[0][coupon]={{COUPON_ID}}" \ -d mode=payment \ -d ui_mode=embedded_page \ --data-urlencode "return_url=https://example.com/checkout/return?session_id={CHECKOUT_SESSION_ID}" ``` ## Configurare un coupon I coupon hanno i seguenti parametri utilizzabili: - `currency` - `percent_off` o `amount_off` - `max_redemptions` - `redeem_by`, ultima data disponibile per l’utilizzo del coupon - `applies_to`, che limita i prodotti a cui si applica il coupon > L’oggetto Coupon aggiunge sconti sia ai pagamenti una tantum sia agli abbonamenti. Alcuni parametri dell’oggetto Coupon, come `duration`, si applicano solo agli [abbonamenti](https://docs.stripe.com/billing/subscriptions/coupons.md). ### Limitare l’utilizzo I valori `max_redemptions` e `redeem_by` si applicano ai coupon in tutte le applicazioni. Ad esempio, puoi limitare un coupon ai primi 50 utilizzi oppure far scadere un coupon entro una determinata data. ### Limitare i prodotti idonei Per limitare i prodotti idonei per gli sconti usando un coupon, puoi aggiungere gli ID prodotto all’hash `applies_to` nell’oggetto Coupon. Gli eventuali codici promozionali associati a questo coupon si applicano solo all’elenco dei prodotti idonei. ### Eliminare un coupon Puoi eliminare i coupon tramite la Dashboard o l’API. Una volta eliminato il coupon, non puoi più applicarlo a transazioni o clienti in futuro. ## Creare un codice promozionale I codici promozionali sono codici per i clienti creati in aggiunta ai coupon. Puoi anche specificare ulteriori limitazioni per controllare quando un cliente può applicare la promozione. Puoi condividere questi codici con i clienti in modo tale che possano inserirli durante il pagamento per applicare uno sconto. Per creare un [codice promozionale](https://docs.stripe.com/api/promotion_codes.md), specifica un `coupon` esistente ed eventuali limitazioni, ad esempio limitandolo a un parametro [customer](https://docs.stripe.com/api/promotion_codes/object.md#promotion_code_object-customer) o [customer_account](https://docs.stripe.com/api/promotion_codes/object.md#promotion_code_object-customer_account) specifico. Se hai già un codice specifico per il cliente, come `FALL25OFF`, imposta il parametro `code`. Se lo lasci in bianco, generiamo un parametro `code` casuale per te. Il parametro `code` non fa distinzione tra maiuscole e minuscole ed è univoco per tutti i codici promozionali di qualsiasi cliente. Per esempio: - Puoi creare più codici promozionali che limitano l’utilizzo a determinati clienti utilizzando lo stesso parametro `code`, ma non puoi utilizzare quel parametro `code` per un codice promozionale riscattabile da qualsiasi cliente. - Se crei un codice promozionale riscattabile da qualsiasi cliente, non puoi creare un altro codice promozionale attivo con lo stesso parametro `code`. - Puoi creare un codice promozionale con `code: NEWUSER`, disattivalo specificando `active: false`, quindi crea un nuovo codice promozionale con `code: NEWUSER`. Puoi creare i codici promozionali nella sezione Coupon della [Dashboard](https://dashboard.stripe.com/coupons/create) o con l’[API](https://docs.stripe.com/api.md#promotion_codes): ```curl curl https://api.stripe.com/v1/promotion_codes \ -u "<>:" \ -d coupon={{COUPON_ID}} \ -d code=VIPCODE ``` ## Utilizzare un codice promozionale Per abilitare i codici promozionali riscattabili dagli utenti, utilizza il parametro [allow_promotion_codes](https://docs.stripe.com/api/checkout/sessions/object.md#checkout_session_object-allow_promotion_codes) in una sessione di Checkout. Di conseguenza in Checkout viene abilitato un campo per consentire agli utenti di inserire i codici promozionali. ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price_data][unit_amount]=2000" \ -d "line_items[0][price_data][product_data][name]=T-shirt" \ -d "line_items[0][price_data][currency]=usd" \ -d "line_items[0][quantity]=1" \ -d mode=payment \ -d ui_mode=embedded_page \ -d allow_promotion_codes=true \ --data-urlencode "return_url=https://example.com/checkout/return?session_id={CHECKOUT_SESSION_ID}" ``` ## Configurare un codice promozionale Per ogni codice promozionale puoi personalizzare i clienti idonei, il numero di utilizzi e altre limitazioni. ### Limitare per cliente Per limitare una promozione a un determinato cliente, specifica un parametro [customer](https://docs.stripe.com/api/promotion_codes/create.md#create_promotion_code-customer) o [customer_account](https://docs.stripe.com/api/promotion_codes/create.md#create_promotion_code-customer_account) durante la creazione del codice promozionale. Se non specifichi alcun cliente, il codice può essere riscattato da qualsiasi cliente. ### Limitare al primo ordine Puoi limitare il codice promozionale anche ai nuovi clienti con il parametro [restrictions.first_time_transaction](https://docs.stripe.com/api/promotion_codes/create.md#create_promotion_code-restrictions-first_time_transaction). Se il parametro `customer` o `customer_account` non è definito o se un parametro `customer` o `customer_account` non è associato a pagamenti precedenti o *fatture* (Invoices are statements of amounts owed by a customer. They track the status of payments from draft through paid or otherwise finalized. Subscriptions automatically generate invoices, or you can manually create a one-off invoice) non annullate, la transazione viene considerata effettuata per la prima volta. > Sessioni che non creano un cliente creano invece un [cliente ospite](https://docs.stripe.com/payments/checkout/guest-customers.md) nella Dashboard. I codici promozionali limitati ai nuovi clienti sono ancora accettati per queste sessioni. ### Impostare un importo minimo Con i codici promozionali puoi impostare un importo minimo della transazione come condizione di idoneità per lo sconto configurando [minimum_amount](https://docs.stripe.com/api/promotion_codes/create.md#create_promotion_code-restrictions-minimum_amount) e [minimum_amount_currency](https://docs.stripe.com/api/promotion_codes/create.md#create_promotion_code-restrictions-minimum_amount_currency). Dato che le limitazioni dei codici promozionali vengono verificate al momento del riscatto, l’importo minimo della transazione si applica solo al pagamento iniziale di un abbonamento. ### Personalizzare le scadenze Puoi impostare una data di scadenza per il codice promozionale utilizzando [expires_at](https://docs.stripe.com/api/promotion_codes/create.md#create_promotion_code-expires_at). Se per il coupon corrispondente hai già impostato `redeem_by`, la data di scadenza del codice promozionale non può essere successiva a quella del coupon. Se non hai specificato `promotion_code[expires_at]`, la voce `redeem_by` del coupon viene inserita automaticamente nel parametro `expires_at`. Ad esempio, potresti offrire un coupon per un anno, ma volere che sia riscattabile solo per una settimana dopo che il cliente lo ha ricevuto. Puoi impostare `coupon[redeem_by]` su un anno a partire da oggi e `promotion_code[expires_at]` su una settimana dopo la creazione. ### Limitare gli utilizzi Puoi limitare il numero di utilizzi con [max_redemptions](https://docs.stripe.com/api/promotion_codes/create.md#create_promotion_code-max_redemptions), che funziona in modo analogo al parametro coupon. Se per il coupon corrispondente hai già impostato `max_redemptions`, il valore di `max_redemptions` del codice promozionale non può essere maggiore di quello del coupon. Ad esempio, un coupon per i saldi di fine stagione potrebbe essere riscattabile dai primi 50 clienti, ma di questi utilizzi, solo 20 potrebbero valere per la promozione invernale. In questo scenario, puoi impostare `coupon[max_redemptions]: 50` e `promotion_code[max_redemptions]: 20`. ### Promozioni non attive Puoi stabilire se un codice promozionale sia attualmente riscattabile utilizzando il parametro [active](https://docs.stripe.com/api/promotion_codes/create.md#create_promotion_code-active). Tuttavia, se il coupon corrispondente a un codice promozionale non è più valido, tutti i codici promozionali diventano non attivi in modo permanente. Allo stesso modo, se un codice promozionale raggiunge `max_redemptions` o `expires_at`, diventa permanentemente non attivo. Questi codici promozionali non possono essere riattivati. ### Elimina promozioni Puoi eliminare le promozioni tramite la Dashboard o l’API. Una volta eliminata la promozione, non puoi più applicarla a transazioni o clienti in futuro.