Pular para o conteúdo principal
Versão: 1.x

Recibos em sua loja online

Seus modelos de recibo do WCPOS não se limitam ao caixa. Os clientes da loja online podem visualizar e baixar o recibo ou a fatura do pedido em Minha conta ou na página de confirmação do pedido, renderizados com um modelo personalizado em WP Admin → POS → Modelos.

Notas sobre versões

O acesso a recibos na loja online — o botão Minha conta e o shortcode [wcpos_receipt] — está disponível no WCPOS 1.9.11. A configuração Permitir que clientes baixem recibos e o seletor Modelo de recibo para clientes, descritos abaixo, foram adicionados na versão 1.9.12; na versão 1.9.11, o botão fica ativado por padrão, sem uma configuração para controlá-lo. Versões anteriores renderizam recibos apenas no POS.

Esta página trata do download de recibos pelos próprios clientes

Caixas e equipe não precisam de nada disso — a tela Pedidos do POS já lista todos os pedidos do WooCommerce, incluindo pedidos online, e permite visualizar, imprimir ou enviar o recibo por e-mail pelo menu de três pontos. Esta página aborda o outro sentido: permitir que os clientes baixem o recibo por conta própria no seu site.

Botão de download em Minha conta

O botão Recibo fica desativado por padrão. Ative-o em POS > Configurações > Geral, na seção Clientes: habilite Permitir que clientes baixem recibos. Depois de ativado, os clientes conectados verão um botão Recibo ao lado dos pedidos elegíveis em Minha conta → Pedidos, e, ao clicar nele, será baixado um PDF (receipt-1234.pdf) renderizado com seu modelo de recibo.

O botão aparece para pedidos Processando, Concluído e Reembolsado — status nos quais o pedido foi pago. Pedidos Aguardando pagamento, Cancelado e Malsucedido não o exibem. (Um desenvolvedor pode alterar quais status o exibem.)

Também é necessário ter um modelo de recibo Ativo — se nenhum modelo estiver ativo, não haverá nada para renderizar, então o botão permanecerá oculto mesmo quando a configuração estiver ativada.

O shortcode é independente

O shortcode [wcpos_receipt] abaixo funciona independentemente de esta configuração estar ativada — a opção controla apenas o botão automático de Minha conta.

O shortcode [wcpos_receipt]

Para adicionar um link do recibo à página de confirmação do pedido ("obrigado") ou à página Minha conta → ver pedido, use:

[wcpos_receipt]

Sem atributos, o shortcode detecta automaticamente o pedido atual em qualquer uma das páginas e renderiza um link Baixar recibo (PDF). Em outras páginas, não exibe nada. Um order_id explícito só funciona para um cliente conectado que seja proprietário desse pedido.

Atributos

AtributoPadrãoO que faz
order_id(detectado automaticamente)Link para um pedido específico. Só funciona para clientes conectados que sejam proprietários do pedido.
link_textDownload receipt (PDF)O texto do link.
formatpdfpdf baixa um PDF; html abre a visualização imprimível do recibo.
template(padrão da loja virtual)Renderiza com um ID de modelo específico em vez do padrão da loja virtual.
classwcpos-receipt-linkClasse CSS para o link.
id(nenhum)id HTML para o link.

Exemplos

Um link de download na página de confirmação do pedido:

[wcpos_receipt link_text="Download your invoice"]

Um link para o recibo exibido na tela (imprimível) em vez de um PDF:

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

Renderize com um modelo específico — por exemplo, um modelo de fatura A4 em vez do recibo de caixa de 80mm:

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

O ID do modelo é o número no URL da tela de edição do modelo (post=123) em WP Admin → POS → Modelos.

Qual modelo os clientes recebem?

Logo abaixo do botão de alternância, Modelo de recibo para clientes define qual modelo será usado para o download. O padrão é Usar modelo de recibo ativo, para que os clientes recebam o mesmo modelo usado pelo seu POS — altere o modelo ativo e os recibos deles serão atualizados automaticamente.

Para dar uma aparência diferente aos pedidos on-line, selecione um modelo específico no menu suspenso. O download do cliente sempre usará esse modelo, independentemente do modelo que um operador de caixa selecionar no menu suspenso do caixa. Se o modelo do cliente for um recibo estreito de estilo térmico, o PDF também será estreito — para pedidos on-line, talvez seja preferível um documento de página inteira, e o modelo Fatura da galeria foi criado para A4/Letter.

Substituições por página

A configuração controla o botão Minha conta. Para um link único em uma página específica, ainda é possível substituir o modelo com o template atributo do shortcode ou alterá-lo em todo o site (inclusive para o botão) com o filtro para desenvolvedores abaixo.

Os modelos são renderizados com os mesmos dados do recibo do POS, portanto o logotipo, a identidade da loja, as configurações tributárias e as personalizações são mantidos.

Segurança

Os links de recibo carregam a chave exclusiva do pedido — o mesmo mecanismo que o WooCommerce usa nas páginas de confirmação de pedido —, para que convidados que finalizaram a compra sem uma conta ainda possam usar o link da página de confirmação. Quem não tiver o link precisará estar conectado como cliente do pedido. Shortcodes explícitos de order_id são renderizados somente para o proprietário conectado desse pedido.

Links permanentes amigáveis obrigatórios

Como todas as páginas de checkout do WCPOS, a URL do recibo usa as regras de regravação do WordPress. Sites que usam links permanentes Simples (Configurações → Links permanentes) precisam mudar para qualquer outra estrutura de links permanentes.

Para desenvolvedores

Três filtros controlam os elementos da vitrine. Eles são aplicados sobre as configurações acima e são úteis para lógica condicional que as configurações não conseguem expressar (por pedido, por cliente e assim por diante):

// 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 );

A própria rota de PDF é /wcpos-checkout/wcpos-receipt/{order_id}?key={order_key}&format=pdf — o mesmo endpoint protegido pela chave do pedido que o POS usa para recibos, com format=pdf retornando o PDF renderizado em vez da visualização na tela.