Reçus sur votre boutique en ligne
Vos modèles de reçus WCPOS ne sont pas limités à la caisse. Les clients de la boutique en ligne peuvent consulter et télécharger le reçu ou la facture de leur commande depuis Mon compte ou la page de confirmation de commande, généré avec un modèle personnalisé depuis WP Admin → POS → Modèles.
L’accès aux reçus depuis la boutique — le bouton Mon compte et le shortcode [wcpos_receipt] — est inclus dans WCPOS 1.9.11. Le réglage Permettre aux clients de télécharger des reçus et le sélecteur Modèle de reçu pour les clients décrits ci-dessous ont été ajoutés dans 1.9.12 ; dans la version 1.9.11, le bouton est activé par défaut, sans réglage permettant de le contrôler. Les versions antérieures n’affichent les reçus que dans le POS.
Les caissiers et le personnel n’ont besoin de rien de tout cela : l’écran Commandes du POS répertorie déjà toutes les commandes WooCommerce, y compris les commandes en ligne, et permet de consulter, imprimer ou envoyer leur reçu par e-mail depuis le menu à trois points. Cette page couvre l’autre sens : permettre aux clients de télécharger eux-mêmes le reçu depuis votre site web.
Bouton de téléchargement Mon compte
Le bouton Reçu est désactivé par défaut. Activez-le dans POS > Réglages > Général, dans la section Clients : activez Permettre aux clients de télécharger des reçus. Une fois activé, les clients connectés voient un bouton Reçu à côté des commandes concernées dans Mon compte → Commandes ; en cliquant dessus, ils téléchargent un PDF (receipt-1234.pdf) généré avec votre modèle de reçu.
Le bouton apparaît pour les commandes En cours, Terminée et Remboursée — des statuts indiquant que la commande a été payée. Les commandes en attente de paiement, annulées et échouées ne l’affichent pas. (Un développeur peut modifier les statuts qui l’affichent.)
Un modèle de reçu Actif est également nécessaire — si aucun modèle n’est actif, il n’y a rien à afficher ; le bouton reste donc masqué même lorsque le réglage est activé.
Le shortcode [wcpos_receipt] ci-dessous fonctionne que ce réglage soit activé ou non — le commutateur contrôle uniquement le bouton automatique Mon compte.
Le shortcode [wcpos_receipt]
Pour ajouter un lien vers le reçu à la page de confirmation de commande (« merci ») ou à la page Mon compte → voir la commande, utilisez :
[wcpos_receipt]
Sans attribut, le shortcode détecte automatiquement la commande actuelle sur l’une ou l’autre page et affiche un lien Télécharger le reçu (PDF). Sur les autres pages, il n’affiche rien. Un order_id explicite fonctionne uniquement pour un client connecté propriétaire de cette commande.
Attributs
| Attribut | Par défaut | Rôle |
|---|---|---|
order_id | (détection automatique) | Lien vers une commande spécifique. Fonctionne uniquement pour les clients connectés propriétaires de la commande. |
link_text | Download receipt (PDF) | Le texte du lien. |
format | pdf | pdf télécharge un PDF ; html ouvre à la place la vue imprimable du reçu. |
template | (valeur par défaut de la vitrine) | Utilise un ID de modèle spécifique au lieu de la valeur par défaut de la vitrine. |
class | wcpos-receipt-link | Classe CSS du lien. |
id | (aucun) | id HTML du lien. |
Exemples
Un lien de téléchargement sur la page de confirmation de commande :
[wcpos_receipt link_text="Download your invoice"]
Un lien vers le reçu affiché à l’écran (imprimable) plutôt que vers un PDF :
[wcpos_receipt format="html" link_text="View your receipt"]
Utiliser un modèle spécifique — par exemple, un modèle de facture A4 plutôt que votre reçu de caisse de 80mm :
[wcpos_receipt template="123" link_text="Download invoice (PDF)"]
L’ID du modèle est le nombre figurant dans l’URL de l’écran de modification du modèle (post=123) dans WP Admin → POS → Modèles.
Quel modèle les clients reçoivent-ils ?
Juste sous l’interrupteur, Modèle de reçu pour les clients permet de choisir le modèle utilisé pour le téléchargement. La valeur par défaut est Utiliser le modèle de reçu actif ; les clients reçoivent donc le même modèle que celui utilisé par votre POS — modifiez le modèle actif et leurs reçus sont automatiquement mis à jour.
Pour donner un aspect différent aux commandes en ligne, choisissez plutôt un modèle spécifique dans la liste déroulante. Le téléchargement du client utilise alors toujours ce modèle, indépendamment du modèle qu’un caissier sélectionne dans la liste déroulante de la caisse. Si le modèle destiné aux clients est un reçu étroit de style thermique, le PDF sera également étroit — pour les commandes en ligne, un document pleine page peut être préférable, et le modèle Facture de la galerie est conçu pour les formats A4/Letter.
Ce réglage contrôle le bouton Mon compte. Pour un lien ponctuel sur une page donnée, le modèle peut toujours être remplacé par l’attribut template du shortcode, ou modifié pour l’ensemble du site (y compris pour le bouton) à l’aide du filtre pour développeurs ci-dessous.
Les modèles sont rendus à partir de la même charge utile de données de reçu que le POS, de sorte que votre logo, l’identité de votre boutique, vos réglages fiscaux et vos personnalisations sont tous conservés.
Sécurité
Les liens de reçu comportent la clé unique de la commande — le même mécanisme que WooCommerce utilise pour ses pages de confirmation de commande — afin que les clients invités ayant passé commande sans compte puissent tout de même utiliser le lien depuis la page de confirmation. Toute personne ne disposant pas du lien doit être connectée en tant que client de la commande. Les shortcodes order_id explicites ne s’affichent que pour le propriétaire connecté de cette commande.
Comme toutes les pages de paiement WCPOS, l’URL du reçu utilise les règles de réécriture de WordPress. Les sites utilisant des permaliens simples (Réglages → Permaliens) doivent passer à toute autre structure de permaliens.
Pour les développeurs
Trois filtres contrôlent les éléments de la vitrine. Ils s’ajoutent aux réglages ci-dessus, ce qui est utile pour la logique conditionnelle que les réglages ne peuvent pas exprimer (par commande, par client, etc.) :
// 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 );
La route PDF elle-même est /wcpos-checkout/wcpos-receipt/{order_id}?key={order_key}&format=pdf — le même point de terminaison protégé par la clé de commande que le POS utilise pour les reçus, avec format=pdf qui renvoie le PDF généré au lieu de l’affichage à l’écran.