Todos os problemas (ou quase todos os problemas) têm solução. Aqui está uma pequena coletânea de problemas e como resolvê-los. É uma coletânea de problemas tanto para o plugin Redsys que está no WordPress.org quanto para o plugin Premium que você pode adquirir no WooCommerce.
Se você não encontra a solução para o seu problema e utiliza o plugin do WordPress.org, veja nos fóruns ou abra um novo tópico no WordPress.org.
Se você utiliza o plugin premium e tem a licença em dia, abra um ticket em WooCommerce.com. Você deve selecionar o plugin Redsys no menu suspenso para que chegue diretamente a mim.
Em ambos os sites, você pode escrever diretamente em português, pois o suporte é fornecido por mim mesmo.
▼ Como abrir um ticket de suporte em WooCommerce.com?
▼ Cartão de crédito que você deve usar para os testes no Redsys
Você encontrará essas informações no e-mail de boas-vindas que deve ter recebido, mas pode usar esses dados sem problemas:
Número do cartão: 4918019199883839
Validade: 12/32
Código CVV2: 123
Para forçar o erro de cartão nos testes, você pode usar este:
Número do cartão: 4907271141151707
Validade: 12/32
Lembre-se de que o Redsys sempre pede que você tenha pelo menos um pedido correto sem erros, e depois force um erro para que também seja comunicado ao comerciante.
Para BIZUM, você pode usar estes dados, atenção, alguns bancos sempre retornam erro após inserir os dados corretamente.
Telefone Bizum: 700000000
Senha Bizum: 1234
Código SMS: 12345678
Que o custo do pedido para realizar os testes seja baixo, inferior a 10€. Eu particularmente costumo criar um produto de 1€ para garantir que funciona nos testes.
▼ O plugin do Redsys de WooCommerce.com funciona no WordPress.com?
Sim, funciona sim, já há muitos clientes que o estão usando no WordPress.com sem problemas. Se por algum motivo os pedidos não são marcados como pagos, ou você recebe um erro 500, deve entrar em contato com o suporte do WordPress.com e acessar um chat ao vivo em https://wordpress.com/help/contact (principalmente no Live Chat, não vá para os fóruns) e dizer que você está recebendo um erro 500 em https://tusitio.com/?wc-api=WC_Gateway_redsys ou https://tusitio.wpcomstaging.com/?wc-api=WC_Gateway_redsys
Eles irão corrigir para que funcione. Isso acontece por medidas de segurança implementadas, mas por ser um plugin reconhecido e auditado pela Automattic (donos do WordPress.com e WooCommerce) através do WooCommerce.com, farão com que funcione sem problemas, caso não funcione desde o início.
▼ Como devo configurar o Redsys?
Simplesmente certifique-se de que o Redsys está configurado como na captura a seguir..

Notificações online: (HTTP + Email Comércio) –> Email Entidade
Sincronização: Sincrona
URL OK: Nada
URL KO: Nada
Enviar parâmetros nas URLs: NÃO
▼ Extensão PHP mcrypt_encrypt() para PHP igual ou inferior a 5.6
Para poder enviar os dados ao Redsys corretamente em PHP 5.6 ou inferior, é necessário que o hosting que você contratar tenha a extensão PHP mcrypt_encrypt() instalada e ativada. Se não estiver, você não poderá utilizar o Redsys. Portanto, certifique-se de que seu hosting tenha instalado e, se não tiver, peça para instalar no servidor e ativar no php.ini.
▼ Extensão PHP encrypt_3DES() para PHP igual ou superior a 7.0
Para poder enviar os dados ao Redsys corretamente em PHP 7.0 ou superior, é necessário que o hosting que você contratar tenha a extensão PHP encrypt_3DES() instalada e ativada. Se não estiver, você não poderá utilizar o Redsys. Portanto, certifique-se de que seu hosting tenha instalado e, se não tiver, peça para instalar no servidor e ativar no php.ini.
▼ Os pedidos ficam aguardando pagamento no WooCommerce (NÃO utilizo CloudFlare)
Este é, de longe, o maior problema que existe no WooCommerce com o Redsys.
As razões para que um pedido fique sem ser marcado como pago podem ser várias.
Por regra geral, isso se deve ao uso de um certificado de segurança que não é compatível com o Redsys, por exemplo, Let’s Encrypt, Comodo e outros.
A forma de solucioná-lo é marcar na configuração do plugin a compatibilidade com certificados SNI.
Se seu hosting forçar o redirecionamento de todas as requisições para HTTPS, você também deve desativar esse redirecionamento forçado.
Se você usar um plugin como Really Simple SSL, deve ativar que o redirecionamento forçado seja feito através do arquivo .htaccess, desativar o redirecionamento via WordPress e, finalmente, desativar que possa continuar fazendo modificações no arquivo htaccess.

Uma vez que tenhamos tudo configurado, devemos adicionar a seguinte linha no código adicionado pelo Simple SSL ou pelo plugin que utilizamos:
RewriteCond %{QUERY_STRING} !^wc-api=WC_Gateway_(.*)redsys
Tenhamos um código adicionado por outro plugin ou não, devemos ter esse código no arquivo .htaccess. Se você tiver algum outro código de redirecionamento, remova-o.
O seguinte código serve tanto para o plugin do WordPress.org quanto para o premium do WooCommerce.com. Adiciona uma exceção para todas as opções de pagamento que o plugin premium adiciona.
# REDIRECIONAMENTO CERTIFICADO SSL REDSYS POR JOSE CONTI V.2.0
RewriteEngine on
RewriteCond %{QUERY_STRING} !^wc-api=WC_Gateway_(.*)redsys
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# FIM REDIRECIONAMENTO CERTIFICADO SSL REDSYS POR JOSE CONTI V.2.0
Outra possibilidade é que o firewall, seja do servidor ou de um plugin que utilizamos, por exemplo, o antibot do All In One SEO Pack, esteja bloqueando o IP do Redsys. Devemos verificar se nenhum dos IPs bloqueados pelo firewall pertence ao Redsys. No caso do All In One SEO Pack, desative a proteção Anti Bots, pois não há como adicionar exceções e sempre bloqueará o Redsys.
Por fim, não configuramos corretamente o Redsys e não temos ativa a notificação HTTP e apenas temos ativa a notificação por e-mail. Acesse o Redsys e verifique se as notificações para o site estão bem configuradas. Deve estar selecionada a notificação HTTP, seja sozinha ou junto com a notificação por e-mail.
▼ Os pedidos ficam aguardando no WooCommerce e utilizo iThemes Security
É muito simples o que deve ser feito.
Em primeiro lugar, iremos para Segurança > Configurações > Usuários Banidos

Devemos desativar “Ativar recurso de lista negra do HackRepair.com”

Se você tiver o System Tweaks ativo, acesse-o.

Uma vez dentro, procure “Filtrar Strings de URL Longas” e certifique-se de que está desativado.

Note que também marquei Suspicious Query String. Às vezes, essa configuração pode interferir e causar que os pedidos não sejam marcados como pagos.
Uma vez que você tenha realizado essas verificações, já pode tentar novamente se não tiver algum dos outros motivos pelos quais um pedido não é marcado como pago (Let’sEncrypt e CloudFlare), que neste caso, continue procurando como resolver.
▼ Os pedidos ficam aguardando pagamento no WooCommerce (utilizo CloudFlare)
Você deve ir para a aba Firewall no CloudFlare, onde impediremos que o CloudFlare confunda a notificação que o Redsys realiza para o nosso site como um bot malicioso. Dentro da aba Firewall, acessaremos o submenu “Ferramentas”.
No submenu Ferramentas, devemos adicionar o seguinte:
No “Digite um IP”, colocaremos “195.76.9.0/24“, no menu suspenso selecionaremos “whitelist”, no próximo menu suspenso selecionaremos se queremos para o site ativo ou para todos os que temos, e por último, podemos colocar uma nota ou clicar diretamente em “Adicionar”.
Uma vez que você tenha adicionado o intervalo de IPs anterior, repita a ação, mas com este outro intervalo “193.16.243.0/24“.
E novamente com este outro intervalo «194.224.159.0/24».
Uma vez adicionado, deve ficar assim (mais o segundo intervalo).

▼ Ativei o pagamento por referência, pagamento com um clique ou tokenização e não funciona
Em primeiro lugar, seu banco deve ter ativado o pagamento por referência, se não ativarem, você não poderá utilizá-lo. Por outro lado, devido às características do WooCommerce, é necessário que o Redsys envie vários dados. Se não o fizer, o pagamento com um clique não funcionará, e os pedidos não serão marcados como pagos, podendo até ocorrer em alguns casos erros 500. Embora o Redsys ou seu banco diga que esses campos não são necessários, no caso do WooCommerce, eles são necessários. Sem esses campos, a tokenização não funciona no WooCommerce. Portanto, mesmo que realmente para o uso de tokens esses campos não sejam necessários, eles são no caso de usar o WooCommerce, pois este faz uso deles. Sem eles, simplesmente não pode funcionar.
Para que o pagamento com um clique funcione corretamente, você deve pedir em primeiro lugar que o ativem. Em segundo lugar, deve pedir que enviem os seguintes dados no callback que o Redsys realizará para confirmar o pagamento.
– Ds_Card_Brand
– Ds_ExpiryDate
– Ds_Card_Number
Se qualquer um dos campos anteriores não for enviado, os pedidos não serão marcados como pagos, o pagamento com 1 clique não funcionará e o plugin enviará um e-mail ao administrador da instalação avisando sobre essa problemática.
Sem os dados anteriores, o WooCommerce não poderá salvar a marca do cartão, a terminação numérica do cartão e a data de validade, e portanto não salvará o token. Há até outra razão pela qual devem ser enviados, dessa forma, o cliente sabe qual cartão está salvo graças à marca e à terminação numérica.

Note na captura anterior que diz Visa terminada em 004 12/20.
Isso está montado através dos campos que o Redsys deve enviar. Se não o enviar, o WooCommerce não poderá montar esta página e, portanto, não aceitará o token enviado pelo Redsys.
▼ Pagamento com um clique sem sair da página
Para poder utilizar esta opção, em primeiro lugar, você deve ter ativado no Redsys e no plugin o pagamento com 1 clique. Tenha em mente que eles devem enviar todos os campos conforme explico no ponto anterior.
A segunda coisa que você deve ter ativa a nível do Redsys é que o terminal seja não seguro. Se o terminal não for não seguro, o pagamento com um clique não poderá funcionar sem sair da web.
▼ Utilizo Booking e não são enviados e-mails de confirmação
Se você utiliza o Booking do WooCommerce.com e não são enviados e-mails após o pagamento, certifique-se em wp-admin > Booking > Configurações > Conexão do Calendário que a conexão está ativa no caso de você tê-la configurado. Se a conexão foi solicitada, haverá um erro fatal no momento do pagamento, e o processo de envio de e-mails não será realizado.
▼ As Pré-autorização não funcionam
As pré-autorização devem ser ativadas pelo Redsys. Portanto, primeiro certifique-se de que estão ativas.
Certifique-se de que as transações normais (cobrança no momento) são marcadas como pagas no WooCommerce.
Se as pré-autorização não funcionarem, você deve pedir ao Redsys que as ative.
▼ O que preciso para realizar assinaturas com o plugin premium do Redsys
Para realizar as assinaturas, você precisa de uma série de coisas.
- Você precisa do plugin Redsys de WooCommerce.com
- Você precisa do plugin WooCommerce Subscriptions
- Você precisa ter ativado em seu terminal o pagamento por referência (pagamento por tokenização) e cumprir com o que foi explicado em “Ativei o pagamento por referência, pagamento com um clique ou tokenização e não funciona”.
- O terminal que você utilizar deve estar ativado como não seguro, ou não poderá funcionar.
▼ Não funcionam as assinaturas com o plugin WooCommerce Subscriptions
- Certifique-se de que tudo esteja na última versão, que o plugin do Redsys de WooCommerce.com seja igual ou superior à versão 5.0.0.
- Para descartar qualquer incidente anterior, teste primeiro realizando uma compra normal sem pagamento com um clique. Desative. Se passar pelo Redsys e os pagamentos forem marcados como pagos, continue, se não, revise os outros pontos do FAQ ou abra um ticket em WooCommerce.com para que te ajudem a resolver.
- Se no ponto anterior os pedidos forem marcados como pagos, ative o pagamento com um clique.
- Se no ponto anterior os pedidos forem marcados como pagos, ative o pagamento com um clique sem sair da página.
- Se no ponto anterior os pedidos forem marcados como pagos, realize o pagamento com a assinatura.
- Se qualquer um dos pontos anteriores falhar e você não ver a solução, entre em contato comigo através de WooCommerce.com abrindo um ticket para o plugin. Por regra geral, responderei muito rápido.
▼ Como utilizo o filtro redsys_modify_data_to_send?
Antes de criar o formulário de envio ao Redsys, este filtro é executado caso o estejamos utilizando.
O único que devemos fazer é utilizar os dados que desejamos para realizar as modificações.
Exemplo:
▼ Antes você utilizava o plugin de modulosdepago.es e agora não funciona Subscriptions ou o pagamento com 1 clique
Este é um erro muito comum, e é pela forma que o plugin de modulosdepago.es gerencia o tema dos tokens, simplesmente não é a correta dentro do WooCommerce, pois não utilizam a API de tokenização.
Aqui você encontrará uma entrada onde explico como resolver.
