PagSeguro para WooCommerce

Receba pagamentos na sua loja WooCommerce usando o PagSeguro.

Este plugin é gratuito e esta disponível no WordPress.org, além que foi desenvolvido sem nenhum apoio do PagSeguro ou UolHost, desta forma vocês não irão conseguir suporte deles sobre este plugin.

Você pode receber pagamentos nas seguintes modalidades:

  • Padrão – Cliente é redirecionado ao PagSeguro para concluir a compra.
  • Lightbox – Uma janela do PagSeguro é aberta na finalização para o cliente fazer o pagamento.
  • Transparente – Em breve!

Instalação:

Veja todos os detalhes no tutorial de instalação no WordPress.org.

Dúvidas sobre o plugin?

Você pode solucionar suas dúvidas publicando um comentário aqui, entretanto você DEVE ler toda a FAQ do plugin.

É indispensável o arquivo de log do plugin caso seja um problema na hora de fazer/receber pagamentos e retornos na API. Vou precisar do log publicado no pastebin.com ou no gist.github.com.

No caso para gerar o arquivo de log vocês precisam ativar a opção

Links para Download:

WordPress GitHub

Agradecimentos:

Obrigado ao Gabriel Reguly do OmniWP pelo apoio.

Marcado como: , ,

45 comentários

  1. Daniel Affonso 3 de abril de 2014 at 00:59 #

    Pagseguro Lightbox:!? SHOW DE BOLA!

    • Claudio Sanches 3 de abril de 2014 at 09:35 #

      Sim, esta funcionando já o Lightbox e em breve vai rolar o checkout transparente também.

      • Mateus 8 de maio de 2014 at 19:56 #

        Fantástico Claudio!

        Checkout transparente do pagseguro no woocommerce será a melhor invenção do século!

        Nossa, nós brasileiros usuários do wordpress devemos muito a você!!

        Obrigado por tudo!

  2. Zafenate Desidério 4 de abril de 2014 at 11:45 #

    Olá Cláudio estou com um problema, usando o woocommerce e o plugin pagseguro, mas no final da transação ao clicar em finalizar compra o mesmo não finaliza e gera esta mensagem — PagSeguro: Um erro ocorreu ao processar o seu pagamento, por favor, revise os seus dados e tente novamente. Ou entre em contato conosco para obter assistência. —-

    • Claudio Sanches 4 de abril de 2014 at 11:53 #

      Leia a FAQ do plugin e me envie o log dele usando o pastebin.com

    • Andre Rodrigues Feitosa 10 de abril de 2014 at 14:04 #

      Estou tendo o mesmo problema.. também tenho outra dúvida.. a conta do pag seguro precisa está verificada?

      • Claudio Sanches 22 de abril de 2014 at 10:14 #

        A resposta é a mesma, eu preciso que você leia a FAQ e me envie o arquivo de log.
        E sim, a conta precisa sre verificada.

  3. leonardobg 8 de abril de 2014 at 00:05 #

    Claudio… tudo bom?

    os retornos automáticos estão funcionando via API?

    pq estou usando woocommerce para vender arquivos.. apos o pagamento via pagseguro.. fica como processando.. e não conclui a compra…

    dei uma olhada nos logs… apareceu isso :

    04-08-2014 @ 02:46:03 – PagSeguro Payment Token created with success! The Token is: 675E98ATOKENBF9D0B6C15B3
    04-08-2014 @ 02:47:14 – Checking IPN request…
    04-08-2014 @ 02:47:14 – PagSeguro IPN is valid! The return is: SimpleXMLElement Object

    • Claudio Sanches 22 de abril de 2014 at 10:54 #

      Sim funciona.
      Um pedido jamais pode ser alterado para “concluído” assim por um método de pagamento e no caso esta correto colocar pedido como “processando”, porque desta forma é disparado um e-mail para o cliente e para você dono da loja, avisando que o pedido esta “processando”, que no caso significa que ele foi pago e você dono da loja esta preparando o pedido para ser entregue. Uma vez que os produtos foram entregues ao cliente é que o pedido realmente esta “concluído”.
      Se for produto digital (como é o seu caso) é possível alterar o comportamento para que o download seja liberado com este status (até mesmo a opção se chama Conceder acesso para download do produto após o pagamento, porque como eu já lhe falei, o status “processando” indica que foi pago).

  4. tribcast 25 de abril de 2014 at 17:38 #

    Claudio, será que consigo integrar o PagSeguro com a extensão Subscriptions do WooCommerce através do seu plugin? A ideia é adotar pagamentos recorrentes para assinaturas e cancelamento automático de assinatura no site quando o assinante cancelar no pagseguro.

    Funciona?

    abraço

    • Claudio Sanches 21 de maio de 2014 at 17:41 #

      Nunca testei, mas deve funcionar.
      Entretanto não com o pagamento recorrente do PagSeguro, porque eles não tem API para isso ainda.
      Mas o WooCommerce Subscriptions é capaz de gerar um novo pedido a cada período e envia isso para o cliente que deve pagar.

  5. Eduardo 29 de abril de 2014 at 16:08 #

    Boan tarde Claudio como vai?
    Estou com uma dúvida, o meio de pagamento do meu site é PagSeguro até ai blz, minha duvida é o seguinte…
    O Woocommerce não um email de pagamento aprovado que envia para o cliente? Ou ele apenas recebe o email do PagSeguro só?

    Muito Obrigado
    Eduardo

    • Claudio Sanches 21 de maio de 2014 at 17:44 #

      O WooCommerce vai enviar e-mails assim que o PagSeguro enviar o IPN para o site seu, no caso o seu site deve receber ele com sucesso e mudar o status do pedido de pendente para aguardando ou processando.

  6. Bruno 23 de maio de 2014 at 19:38 #

    Fala Claudio! Acompanho teu trabalho a algum tempo e sou fã do que vc desenvolve. Gostaria de deixar aqui o feedback sobre dois pontos que me deparei essa semana: Estou usando o lightbox (fantástico!), mas uma usuária teve problemas no navegador Safari. Ao finalizar a compra ficava dando reload com a tela toda em branco. O problema foi resolvida qdo ela primeiro entrou no pagseguro e criou uma conta. Limpou os cookies, voltou no meu site e conseguiu concluir a compra (não sei se foi um problema só do mac dela, mas fica aqui o case). O segundo ponto nem tem tanto a ver contigo (eu acho). No celular o pagseguro só da a opção de pagamento com cartão. Não me exibe os radio buttons para escolher forma de pagamento.
    Espero ter contribuido com algo =D

    • Claudio Sanches 24 de maio de 2014 at 13:50 #

      Legal Bruno, os dois pontos que você levantou são problemas do PagSeguro e não do plugin, não tem nem o que fazer por aqui para melhorar isso.
      Você acabou de prova que eu estava certo em não querer adicionar esse Lightbox neste plugin. Infelizmente a maioria das pessoas queriam provar por elas mesmo e eu acabei integrando depois de vários de pedidos…

  7. kevin 3 de junho de 2014 at 16:40 #

    Oi Claudio, ja viu isso: https://sandbox.pagseguro.uol.com.br/como-comecar.html ?

  8. Simone 22 de junho de 2014 at 16:34 #

    Olá Cláudio, primeiro parabéns pelo seu plugin, é de grande utilidade!
    Veja se pode me ajudar. Eu vendia um curso sem problema nenhum, mas há duas semanas estou vendendo um ebook e está ocorrendo um erro que não sei identificar daonde é o problema.

    Somente alguns pedidos ficam com o seguinte status:

    Pedido cancelado pelo cliente. Status do pedido alterado de pendente para cancelado.

    Mas logo em seguida passam para:

    PagSeguro: Pagamento aprovado.

    E

    Status do pedido alterado de cancelado para concluído.

    O problemas é que mesmo que isso aconteça em um espaço curto de tempo, é suficiente pro email que deveria ser disparado com o link para o download do ebook, não seja enviado.

    Tem alguma ideia?

    Muito obrigada.

    Simone

    • Claudio Sanches 25 de junho de 2014 at 18:33 #

      Provavelmente esta ativa a opção de cancelar o pedido depois de X minutos que eu mostro claramente na FAQ e no Guia de instalação do plugin que é necessário desativar.

      • Simone 11 de julho de 2014 at 13:24 #

        Claudio, chega a ser constrangedor! Eu instalei o Woocommerce em tantos sites diferentes e justamente neste, escorreguei nesta configuração!!

        Muito obrigada por pacientemente responder o óbvio.

        Parabéns pelo trabalho!
        Simone

  9. Bruno Leal 3 de julho de 2014 at 17:03 #

    Fala Claudio,
    Vou colocar aqui o resumo de uma situação que tenho e, com a ajuda dos integrantes do grupo do woo no face, consegui achar o problema (não sei pq, mas no face o meu tópico some):
    Estava com problema com alguns usuários no PagSeguro onde a compra não era concluída. Acessei o log e vi que o erro estava no campo COMPLEMENTO.
    Fui verificar os outros usuários que estavam com o mesmo problema e posso afirmar que TODOS tiveram erro por conta de complemento muito extenso (troquei os números para preservar a privacidade).

    Segue o log

    11020 shippingAddressComplement invalid length: Apto 000 Blc X Condomínio Village Ponta Negra IV 0 etapa
    
    11020 shippingAddressComplement invalid length: BLOCO B APTO 000 RESIDENCIAL ACQUA VILLAGE
    

    Havia te dado um feedback com relação a um outro problema parecido com isso (que foi o update do release 1.2.1 do plug-in). Fica aqui mais uma vez a minha “contribuição” =D

    • Claudio Sanches 3 de julho de 2014 at 17:19 #

      Obrigado por avisar, mas tinha percebido isso e já esta corrigindo na versão 2.5.0 que vai sair com o Checkout Transparente.
      Na versão 1.2.1 foi corrigido isso no nome dos produtos, que funciona até diferente suportado 100 caracteres, já ai suporta apenas 40 que é muito pouco.
      Solução para os nomes dos produtos foi remover o excesso, mas não podia fazer isso com o endereço e então assim a mensagem que retorna é dizendo que esta muito grande o campo de complemento e que precisa arrumar.

      • Bruno Leal 8 de julho de 2014 at 10:17 #

        Muito obrigado pelo suporte!
        Aquele abraço.

  10. Kleber Pera 16 de julho de 2014 at 16:09 #

    Olá Cláudio, veja se poderia me ajudar.
    Tenho o Plugin do Pagseguro instalado no WordPress com Woocommerce.
    A venda ocorre normalmente quando o cliente compra pelo Pagseguro. Recebo o email de confirmação do pagamento do PagSeguro, porém, o Woocommerce não envia o e-mail de pedido.
    Outra coisa que quando o cliente comprar com cartão de crédito pelo Pagseguro, o status do pedido no Woocommece fica como pendente. Antes já ficava como Pagamento Confirmado.
    Bem, isso começou a ocorrer a pouco tempo, antes funcionava tudo normal.

    A versão do Woocommerce que tenho instalado é a 2.0.9
    A versão do PagSeguro é 2.5.1
    A versão do WordPress é 3.9.1

    Obrigado.

    • Claudio Sanches 18 de julho de 2014 at 12:00 #

      Isso esta acontecendo porque o seu servidor não esta recebendo ou esta recusando a notificação do PagSeguro.
      Você ativou mod_security ou algo assim que possa negar POST de IPs externos?

      • Kleber Pera 23 de julho de 2014 at 08:42 #

        Olá Cláudio.

        Realmente era isso. No meu caso existe uma opção dentro do Painel de Controle da Hospedagem chamada “ModSecurity”. Essa opção estava Habilitada. Após desabilitar comecei a receber o email de pedido do Woocommerce pelas compras efetuadas com PagSeguro.

        O único detalhe é que tenho outros domínios com WordPress + Woocommerce + PagSeguro instalados na mesma hospedagem, os quais estão com a opção ModSecurity habilitada e não ocorre o problema, apenas 1 domínio em específico ocorreu o problema.

        Muito grato pela ajuda.

        • Claudio Sanches 24 de julho de 2014 at 09:42 #

          Precisava ver se na configuração do mod_security não esta bloqueando URL ou IP do PagSeguro, porque ai daria para habilitar por ele e tudo ficaria ok.

  11. Heron 22 de julho de 2014 at 13:13 #

    Olá no meu painel o status não altera verifiquei no log e no final tem isto o que é se refere?

    07-22-2014 @ 13:08:30 – Error: Order Key does not match with PagSeguro reference.

  12. Silvio Grimaldo 4 de agosto de 2014 at 22:23 #

    Oi Claudio,
    Eu acho o seu plugin muito bom. Eu o utilizo com o Woocommerce subscripton + WP. Eu gostaria de saber se a opção de “vender” assinaturas do PagSeguro com ele vai ser implementada. A extensão de subscription do Woocommerce cria uma cobrança recorrente (mas não um pagamento recorrente) para assinantes, mas não consigo oferecer uma assinatura na minha loja. Então, ao invés de vender uma assinatura pagseguro, eu tenho que vender um produto e reenviar a cobrança via woocommerce todo mês. Eu li acima que o PagSeguro ainda não oferece a API para assinaturas. Não houve mudanças nisso ainda?

    • Silvio Grimaldo 4 de agosto de 2014 at 22:35 #

      Atualizando meu comentário, eu li esse post do link e fiquei com a impressão de que é pelo menos teoricamente possível fazer, associando um produto a uma assinatura, mas não tenho idéia se é possível desenvolver isso dentro do seu plugin.
      http://sounoob.com.br/requisicao-de-pagamento-do-pagseguro-com-assinatura-associada-usando-php/#more-670

      De qualquer forma, parabéns e muito obrigado. Esse plugin roda perfeitamente. Não entendo porque não é ele o oficial do PagSeguro e sim aquela tralha que eles tem lá.

      • Claudio Sanches 4 de agosto de 2014 at 23:06 #

        Se eu implementar o que esta nesse site e parar de funcionar daqui 2 meses… eu vou um filhodaputa que só faz bosta ou a culpa foi de implementar uma “API” que não esta oficialmente documentada no site do PagSeguro?
        Responde isso pra mim.

  13. Rafael E. Paulin 5 de agosto de 2014 at 05:18 #

    Cláudio, gostaria de saber como proceder para que o pagSeguro gere as notificações automátivas via API (https://pagseguro.uol.com.br/integracao/pagina-de-redirecionamento.jhtml), para atualizar o pedido automaticamente na caixa, enviar e-mail quando um novo pedido for feito, para avisar o responsável, etc. o plugin “oficial” disponível no site do próprio pagSeguro tinha um campo para esses dados, mas como ele não é compatível com a versão mais atual do WooCommerce, acabei por encontrar o seu. Fora esse detalhe, ele funciona perfeitamente. parabéns pelo trabalho!

    • Rafael E. Paulin 5 de agosto de 2014 at 06:08 #

      Corrigindo: o plugin está enviando a atualização.

      Uma pergunta: no ambiente sandbox, todas as alterações de status do pedido no PagSeguro tem que ser feitas de forma manual mesmo? ele não funciona automaticamente como na versão normal?

      Outra coisa, as notificações foram ok para quando o pedido passa de “aguardando pagamento” (quando o pedido é feito no site. ele não gera e-mail nenhum para o cliente avisando do pedido, e nem para meu sistema avisando de um novo pedido) para “em análise” (quando altero manualmente no PagSeguro Sandbox), enviando para o cliente dados do pedido dele, e mara o meu sistema que foi feito um novo pedido.

      é normal eu não receber notificação sobre o pedido assim que ele é feito, e somente depois que o pagamento está em processamento?

      quando altero manualmente no PagSeguro sandbox para “pago” o status do pedido, o cliente recebe a notificação de que seu pedido foi concluído, normal. mas se por acaso altero manualmente para “cancelado”, nenhuma notificação é enviada, nem para a loja, nem para o cliente. isso né normal?

      aguardo resposta, e agradeço desde já.

      • Claudio Sanches 6 de agosto de 2014 at 22:40 #

        Então, você no Sandbox pode gerar comportamentos diferentes do que realmente vai acontecer e como o PagSeguro trabalha.
        Além que no Sandbox vai ter que ser tudo na mão mesmo.
        O WooCommerce vai enviar e-mails quando o pedido sair de “pendente” e ir para “aguardando” ou “processando”, no caso de “processando” é quando o pedido foi pago.
        Enfim, o plugin não é responsável pelo e-mail de nenhum e-mail, é tudo responsabilidade do WooCommerce. No caso não tem um e-mail de cancelado, até porque quando é cancelado geralemente pode ser ação do cliente ou falta de pagamento e nesse caso o cliente já sabe que foi cancelado.

  14. Felipe 6 de agosto de 2014 at 22:11 #

    Fala Claudio, blz?

    To fazendo uns testes com o PagSeguro Sandbox pra um cliente e o site não esta recebendo as notificações

    Log do PagSeguro
    https://gist.github.com/anonymous/91aaa93d56bb455e9e5a

    Dados do Sandbox
    https://gist.github.com/anonymous/941a56b227ede1a6c995

    Pode me ajudar?

    Vlw

    • Claudio Sanches 6 de agosto de 2014 at 22:35 #

      No caso esta recusando, provavelmente porque esta com o ID errado ou algo que falhou na confirmação da notificação.
      Tenta simular em produção usando boleto mesmo, ao imprimir o boleto deve receber notificação e mudar o status para “aguardando”.
      Tem que lembrar que Sandbox do PagSeguro tem aquele negocio de “beta” e ai já pode esperar algumas coisas estranhas as vezes xD
      Mas se não funcionar como “produção” ai precisamos olhar e ver o que esta dando errado.

      • Felipe 6 de agosto de 2014 at 23:50 #

        Funcionou não.

        Olha o log ai

        https://gist.github.com/anonymous/8d8483375f312cc6c4e2

        • Claudio Sanches 7 de agosto de 2014 at 09:26 #

          Então ai já é problema com o seu servidor. Tem algo bloqueando ou alterando o $_POST, porque é exatamente isso que o log esta mostrando que é apenas um array vazio.
          Tente verificar os plugins que você esta usando e também verificar configuração do mod_security.

          • Felipe 7 de agosto de 2014 at 20:50 #

            Valeu pela ajuda cara.
            Foi o plugin “All In One WP Security” que estava bloqueando as requisições. Desabilitei e funcionou.
            Vou procurar pela configuração correta agora.
            Valeu

          • Claudio Sanches 7 de agosto de 2014 at 23:18 #

            Nossa, bom saber disso.
            Nunca cheguei a usar ele, uso mais o iThemes Security, mas provavelmente vai chover gente com problema assim ainda xD
            Vou testar ele e ver de escrever no tutorial do plugin sobre isso :)

  15. Douglas Renan 17 de agosto de 2014 at 20:20 #

    Olá claudio, gostaria de saber se o check-out transparente já está funcionando? testei aqui e abriu uma nova janela seria problema do meu tema ou ainda não tá rolando valeu?

    • Claudio Sanches 20 de agosto de 2014 at 00:07 #

      Funciona, por favor, leia o guia de instalação do plugin e a FAQ dele antes de tentar usar o Checkout Transparente.

Deixe uma resposta