Documentação do WP Simple Pay

Documentação, Materiais de Referência e Tutoriais para o WP Simple Pay

Como Resolver Problemas Causados por Plugins de Cache e Otimização

Tempo de leitura: 4 minutos | Dificuldade: Iniciante

Visão Geral

Plugins de cache e caches de hospedagem web tornam seu site mais rápido salvando uma cópia de cada página e servindo essa cópia para visitantes posteriores. Plugins de otimização vão além e minificam, combinam ou atrasam o JavaScript do seu site. Ambos são bons para o desempenho, mas podem interferir com formulários de pagamento se forem configurados de forma muito agressiva.

Desde o WP Simple Pay 4.17.5, os formulários de pagamento funcionam em páginas totalmente cacheadas. Cada formulário carrega suas configurações e um token de segurança atualizado do seu site quando a página é aberta, então a cópia em cache da página não contém mais nada que possa expirar. Você não precisa mais excluir suas páginas de formulário de pagamento do cache.

Este guia cobre as duas coisas que ainda precisam de atenção: manter suas páginas de confirmação de pagamento fora do cache e manter os scripts do WP Simple Pay fora das otimizações de JavaScript.

Pré-requisitos

  • WP Simple Pay 4.17.5 ou posterior. Em versões mais antigas, as páginas de formulário de pagamento também devem ser excluídas do cache, ou cacheadas por no máximo 12 horas.
  • Acesso às configurações do seu plugin de cache ou otimização, ou à equipe de suporte da sua hospedagem web se o cache for executado no servidor.

Cache

Páginas de Formulário de Pagamento

No WP Simple Pay 4.17.5 e posterior, as páginas que contêm um formulário de pagamento podem ser cacheadas como qualquer outra página. Quando um visitante abre a página, cada formulário busca seus próprios dados da API REST do seu site. O botão de pagamento permanece desabilitado até que o formulário esteja pronto, então um clique antecipado não pode enviar um formulário incompleto.

Se você excluiu suas páginas de formulário de pagamento do cache em uma versão anterior, pode manter a exclusão ou removê-la. Ambas as opções funcionam.

Acabou de atualizar? Limpe o cache do seu site uma vez após a atualização para a 4.17.5. Páginas cacheadas antes da atualização ainda contêm o código antigo do formulário até serem atualizadas.

Páginas de Confirmação de Pagamento

Mantenha suas páginas de sucesso e falha de pagamento excluídas do cache. Essas páginas mostram os detalhes de um pagamento específico, então cada cliente deve receber uma página recém-gerada.

Com algumas hospedagens web, o cache é executado no servidor e não pode ser alterado pelo WordPress. Nesse caso, entre em contato com sua hospedagem e peça para eles excluíssem as URLs de suas páginas de confirmação do cache.

Configurar Plugins Específicos

Otimização de JavaScript

Problemas de JavaScript causados por plugins de otimização geralmente vêm destes recursos:

  • Minificar
    Remove caracteres desnecessários do código, como espaços em branco, para produzir um arquivo menor.
  • Combinar
    Mescla arquivos JavaScript separados em um para reduzir o número de requisições feitas ao servidor.
  • Carregar Adiado/Assincronamente
    Atrasa o carregamento ou a execução de arquivos JavaScript para que a página não espere por eles.

Exclua os seguintes arquivos de todas as configurações de otimização de JavaScript, qualquer que seja o plugin que você use:

js.stripe.com/v3/
simpay-public-shared.js
simpay-public-upe.js
accounting.min.js
simpay-public-pro-upe.js

O que a Otimização Deve Manter

Formulários de pagamento precisam de um pequeno conjunto de configurações do site antes de poderem carregar: o endereço da API REST do seu site, o formato da sua moeda e a mensagem exibida quando um formulário não pode carregar. O WP Simple Pay imprime essas configurações em dois lugares:

  • Dentro do HTML de cada formulário de pagamento, no atributo data-simpay-general do formulário. Esta cópia faz parte do próprio formulário, portanto, é armazenada em cache junto com a página.
  • Em um pequeno script perto do final da página, <script id="simpay-shared-js-extra">, que define spGeneral.

Desde o WP Simple Pay 4.17.6, um formulário carrega desde que qualquer uma das cópias esteja na página. Alguns plugins de otimização removem ou atrasam pequenos scripts inline como o segundo, e o formulário agora usa sua própria cópia quando isso acontece.

Para manter os formulários de pagamento funcionando, certifique-se de que seu plugin de otimização não:

  • Remova atributos HTML da tag <form> do formulário de pagamento, especialmente data-simpay-form-id e data-simpay-general.
  • Remova tanto o atributo data-simpay-general quanto o script simpay-shared-js-extra. Se ambos forem removidos, o formulário não poderá carregar.

Configurar Plugins Específicos

Solução de Problemas

“Este formulário de pagamento não pôde ser carregado”

Se os visitantes virem Este formulário de pagamento não pôde ser carregado. Por favor, atualize a página e tente novamente. abaixo do botão de pagamento, o formulário não conseguiu buscar seus dados do seu site. Isso geralmente é causado por algo que está bloqueando a API REST do seu site:

Erros de Token de Segurança

Erros como Falha na verificação de segurança do cupom ou Nonce do cookie é inválido costumavam ser causados por páginas em cache que continham tokens de segurança expirados. Desde a versão 4.17.5, os formulários buscam um novo token toda vez que carregam, e tokens expirados em requisições de convidados são recuperados automaticamente. Se você ainda vir esses erros após a atualização, limpe o cache do seu site. Veja Como Resolver o Erro 'Falha na verificação de segurança do cupom' para mais informações.

Perguntas Frequentes

Eu ainda preciso excluir páginas de formulários de pagamento do cache?

Não, não no WP Simple Pay 4.17.5 ou posterior. Você ainda precisa excluir suas páginas de confirmação de pagamento.

Eu tenho código personalizado que lê window.spGeneral. Ele ainda funciona?

Sim. Quando o script do rodapé está presente, window.spGeneral é definido por ele, como antes. Quando um plugin de otimização removeu esse script, o WP Simple Pay define window.spGeneral a partir do atributo data-simpay-general do formulário de pagamento assim que seus scripts são carregados, para que seu código veja os mesmos valores.

Eu tenho código personalizado que lê window.simplePayForms. Ele ainda funciona?

Sim. O objeto ainda está disponível e a entrada de cada formulário é adicionada à medida que os dados desse formulário chegam. Se o seu código for executado assim que a página carregar, ele pode precisar esperar até que o formulário termine de carregar.

Próximos Passos?

Ainda tem d uevovidas? Estamos aqui para ajudar!

Última Modificação:

Comece a Aceitar Pagamentos Hoje

Comece a aceitar pagamentos únicos e recorrentes ou doações em seu site WordPress.