• Olá meu cliente efetuou o pagamento via pix, porem não apareceu nos pedidos do woocommerce e também ele não recebeu o produto digital pois não constou como compra.

    e o dinheiro caiu na hora na minha conta, existe alguma atualização?

Viewing 15 replies - 1 through 15 (of 25 total)
  • Estou com o mesmo problema. Pagamento PIX, o plugin não esta reconhecendo e mudando para processando.

    Olá, o problema não seria do plugin deste plugin, né? Ele ainda não foi atualizado com o pagamento com PIX

    Plugin Author Claudio Sanches

    (@claudiosanches)

    @alanabilio a API do PagSeguro continua a mesma, é como receber qualquer outro pagamento por transferia, cartão ou boleto. Então já funciona sim com PIX neste plugin, só não precisou atualizar nada.

    Plugin Author Claudio Sanches

    (@claudiosanches)

    E eu não vejo nada na documentação do PagSeguro dizendo que precisa de algo especial para o PIX: https://dev.pagseguro.uol.com.br/docs/comecando-introducao

    Muito obrigado por sua resposta! Entendi então onde estou moscando. Abraço!

    @alanabilio qual a resolução para o problema vocês conseguiram? Tenho o mesmo problema com o PIX aqui.

    Alguém encontrou alguma solução? Também estou passando pelo mesmo problema…

    Claudio, tudo bem?

    Eu preciso fazer alguma coisa para que a opção PIX apareça no checkout transparente? Aqui só aparece boleto e cartão de crédito.

    O PIX funciona no checkout transparente? Vocês que conseguiram habilitar o PIX, que checkout usam? Precisaram habilitar algo no PagSeguro?

    @ricardomorganti @fabertleury @jhouccc @jffaria O PIX funciona no checkout transparente? Vocês que conseguiram habilitar o PIX, que checkout usam? Precisaram habilitar algo no PagSeguro?

    ricardomorganti

    (@ricardomorganti)

    @jorgehen estou usando o checkout com redirecionamento, assim foi habilitado automaticamente. @claudiosanches, entrei em contato diretamente com o PagSeguro e eles disseram que “É preciso verificar com o módulo que utiliza se está preparado para tratar o retorno de pagamentos via PIX, que possui o código 11.”. Pode ser por isso que o PIX não esteja se comunicando propriamente?

    Plugin Author Claudio Sanches

    (@claudiosanches)

    @ricardomorganti o plugin vai verificar e vai informar tudo no log de erro dele se ativado, caso seja isso o problema, vai mostrar lá o código.

    Também por padrão vai pegar o código enviado pelo PagSeguro e enviar de volta para eles para validar, veja: https://github.com/claudiosanches/woocommerce-pagseguro/blob/c0ceaf7eb4441ab76948b94de73ffb5667ea124c/includes/class-wc-pagseguro-api.php#L835

    O PagSeguro deve responder com o status do pedido depois disso, e usamos a resposta do PagSeguro para alterar o status do pedido em https://github.com/claudiosanches/woocommerce-pagseguro/blob/6e37bcf952f33644483d023acd52f63837a50c84/includes/class-wc-pagseguro-gateway.php#L551-L653

    João Faria

    (@jffaria)

    Amigos, o que acontece é que o PagSeguro retorna direto o status 4. E é isso que o código faz quando recebe esse status:

    case 4:
         $order->add_order_note( __( 'PagSeguro: Payment completed and credited to your account.', 'woocommerce-pagseguro' ) );

    Normalmente esse status é utilizado para quando o valor é liberado na nossa conta PagBank, ou seja, no caso do cartão de crédito ali 15 ou 30 dias depois… então o plugin só adiciona essa nota mas não faz mais nada, pois a essa altura do campeonato tudo já foi feito. Esse é o problema. Para resolver é preciso verificar se o pedido ainda está com pagamento pendente e, se for o caso, atualizar o que tem pra atualizar.

    @claudiosanches se você achar ok posso fazer um PR.

    João Faria

    (@jffaria)

    @ricardomorganti @jorgehen @fabriciobw @alanabilio btw so o jeito mais fácil de fazer funcionar (mas não solução completa pra integrar o PIX de fato) é trocar o case ali de cima por isso aqui:

    
     case 4:
         // Check if order is not paid already
         if ( method_exists( $order, 'get_status' ) && 'processing' !== $order->get_status() && 'completed' !== $order->get_status() ) {
             if ( method_exists( $order, 'get_status' ) && 'cancelled' === $order->get_status() ) {
                 $order->update_status( 'processing', __( 'PagSeguro: Payment approved.', 'woocommerce-pagseguro' ) );
                 wc_reduce_stock_levels( $order_id );
             } else {
                 $order->add_order_note( __( 'PagSeguro: Payment approved.', 'woocommerce-pagseguro' ) );
                 $order->payment_complete( sanitize_text_field( (string) $posted->code ) );
             }
          }
          $order->add_order_note( __( 'PagSeguro: Payment completed and credited to your account.', 'woocommerce-pagseguro' ) );
    
          break;
    

    linha 595 do arquivo includes/class-wc-pagseguro-gateway.php

    João Faria

    (@jffaria)

    @jorgehen @fabriciobw essa solução aqui em cima só resolve pro checkout com redirecionamento. checkout transparente o buraco é mais embaixo…

Viewing 15 replies - 1 through 15 (of 25 total)
  • You must be logged in to reply to this topic.