Salta al contenuto principale
Versione: 1.x

Ricevute nel tuo negozio online

I tuoi modelli di ricevuta WCPOS non sono limitati alla cassa. I clienti del negozio online possono visualizzare e scaricare la ricevuta o la fattura del proprio ordine da Il mio account o dalla pagina di conferma dell'ordine, generate con un modello personalizzato da WP Admin → POS → Modelli.

Note sulla versione

L'accesso alle ricevute dal negozio online — il pulsante Il mio account e lo shortcode [wcpos_receipt] — è disponibile con WCPOS 1.9.11. L'impostazione Consenti ai clienti di scaricare le ricevute e il selettore Modello di ricevuta per i clienti descritti di seguito sono stati aggiunti nella versione 1.9.12; nella versione 1.9.11 il pulsante è attivo per impostazione predefinita e non è disponibile alcuna impostazione per controllarlo. Le versioni precedenti generano le ricevute solo all'interno del POS.

Questa pagina riguarda il download delle proprie ricevute da parte dei clienti

Cassieri e personale non hanno bisogno di nulla di tutto questo: la schermata Ordini del POS elenca già tutti gli ordini WooCommerce, inclusi gli ordini online, e consente di visualizzare, stampare o inviare via email la relativa ricevuta dal menu con tre puntini. Questa pagina tratta l'altra direzione: consentire ai clienti di scaricare autonomamente la ricevuta dal tuo sito web.

Pulsante di download in Il mio account

Il pulsante Ricevuta è disattivato per impostazione predefinita. Attivalo in POS > Impostazioni > Generale, nella sezione Clienti: abilita Consenti ai clienti di scaricare le ricevute. Una volta abilitato, i clienti che hanno effettuato l'accesso vedranno un pulsante Ricevuta accanto agli ordini idonei in Il mio account → Ordini e, facendo clic, scaricheranno un PDF (receipt-1234.pdf) generato con il tuo modello di ricevuta.

Il pulsante viene visualizzato per gli ordini In lavorazione, Completato e Rimborsato — stati per i quali l'ordine è stato pagato. Non viene visualizzato per gli ordini con stato In attesa di pagamento, Annullato o Fallito. (Uno sviluppatore può modificare gli stati per cui viene visualizzato.)

È necessario anche un modello di ricevuta Attivo — se non è attivo alcun modello, non c'è nulla da generare, quindi il pulsante rimane nascosto anche quando l'impostazione è attivata.

Lo shortcode è separato

Lo shortcode [wcpos_receipt] riportato di seguito funziona indipendentemente dall'attivazione di questa impostazione — l'interruttore controlla solo il pulsante automatico Il mio account.

Lo shortcode [wcpos_receipt]

Per aggiungere un link alla ricevuta alla pagina di conferma dell'ordine ("grazie") o alla pagina Il mio account → visualizza ordine, usa:

[wcpos_receipt]

Senza attributi, lo shortcode rileva automaticamente l'ordine corrente in entrambe le pagine e visualizza un link Scarica ricevuta (PDF). Nelle altre pagine non restituisce nulla. Un valore order_id esplicito funziona solo per un cliente che ha effettuato l'accesso e possiede quell'ordine.

Attributi

AttributoPredefinitoDescrizione
order_id(rilevato automaticamente)Link a un ordine specifico. Funziona solo per i clienti che hanno effettuato l'accesso e possiedono l'ordine.
link_textDownload receipt (PDF)Il testo del link.
formatpdfpdf scarica un PDF; html apre invece la vista di stampa della ricevuta.
template(impostazione predefinita della vetrina)Esegue il rendering con un ID modello specifico anziché con quello predefinito della vetrina.
classwcpos-receipt-linkClasse CSS per il link.
id(nessuno)id HTML per il link.

Esempi

Un link per il download nella pagina di conferma dell'ordine:

[wcpos_receipt link_text="Download your invoice"]

Un link alla ricevuta visualizzata (stampabile) anziché a un PDF:

[wcpos_receipt format="html" link_text="View your receipt"]

Esegue il rendering con un modello specifico — ad esempio un modello di fattura A4 anziché la ricevuta da cassa da 80mm:

[wcpos_receipt template="123" link_text="Download invoice (PDF)"]

L'ID del modello è il numero nell'URL della schermata di modifica del modello (post=123) in WP Admin → POS → Modelli.

Quale modello ricevono i clienti?

Subito sotto l'interruttore, Modello ricevuta per i clienti seleziona il modello usato per il download. Per impostazione predefinita è impostato su Usa il modello di ricevuta attivo, quindi i clienti ricevono lo stesso modello usato dal POS — modificando il modello attivo, le loro ricevute si aggiornano automaticamente.

Per dare agli ordini online un aspetto diverso, selezionare invece un modello specifico dal menu a discesa. Il download del cliente utilizzerà quindi sempre quel modello, indipendentemente dal modello selezionato dal cassiere nel menu a discesa della cassa. Se il modello del cliente è una ricevuta stretta in stile termico, anche il PDF sarà stretto; per gli ordini online potrebbe essere preferibile un documento a pagina intera e il modello Fattura della galleria è progettato per A4/Letter.

Override per pagina

L'impostazione controlla il pulsante Il mio account. Per un link una tantum su una pagina specifica, è comunque possibile sostituire il modello con l'attributo template dello shortcode o modificarlo per tutto il sito (incluso il pulsante) con il filtro per sviluppatori riportato di seguito.

I modelli vengono visualizzati usando gli stessi dati della ricevuta del POS, quindi il logo, l'identità del negozio, le impostazioni fiscali e le personalizzazioni vengono mantenuti.

Sicurezza

I link delle ricevute includono la chiave univoca dell'ordine, lo stesso meccanismo utilizzato da WooCommerce per le pagine di conferma dell'ordine, quindi anche gli ospiti che hanno completato l'acquisto senza un account possono usare il link dalla pagina di conferma. Chi non dispone del link deve aver effettuato l'accesso come cliente dell'ordine. Gli shortcode order_id espliciti vengono visualizzati solo per il proprietario dell'ordine che ha effettuato l'accesso.

Sono richiesti permalink leggibili

Come tutte le pagine di checkout di WCPOS, l'URL della ricevuta usa le regole di riscrittura di WordPress. I siti che usano permalink semplici (Impostazioni → Permalink) devono passare a qualsiasi altra struttura di permalink.

Per sviluppatori

Tre filtri controllano le aree del negozio online. Si sovrappongono alle impostazioni precedenti e sono utili per la logica condizionale che le impostazioni non possono esprimere (per ordine, per cliente e così via):

// Force the My Account Receipt button on or off, overriding the setting.
// The filter's default value is the "Let customers download receipts" setting,
// so you only need this to override it — e.g. show the button for one user role.
add_filter( 'woocommerce_pos_storefront_receipt_my_account_button', '__return_true' );

// Change which order statuses show the button (default: processing, completed, refunded).
add_filter( 'woocommerce_pos_storefront_receipt_order_statuses', function ( $statuses, $order ) {
$statuses[] = 'on-hold';
return $statuses;
}, 10, 2 );

// Use a different template for storefront PDF downloads, overriding the
// "Receipt template for customers" setting. Receives and returns the full
// template array (null when none is configured).
add_filter( 'woocommerce_pos_storefront_receipt_template', function ( $template, $order ) {
return \WCPOS\WooCommercePOS\Templates::get_template( 123 );
}, 10, 2 );

Il percorso PDF è /wcpos-checkout/wcpos-receipt/{order_id}?key={order_key}&format=pdf: lo stesso endpoint protetto dalla chiave dell'ordine che il POS usa per le ricevute, con format=pdf che restituisce il PDF generato anziché la visualizzazione a schermo.