• Resolved RK

    (@rirgang)


    Olá Cláudio

    Estive analisando recentemente os emails enviados no processo de pagamento do pagar.me.

    Por boleto tudo bem, o cliente recebe o email ON HOLD com link para pagamento. E quando paga vai o email PROCESSING.

    Por Cart?o, ocorre o seguinte. O cliente paga, imediatamente o email PROCESSING vai pra ele e o NEW ORDER vem pra mim. Até ai tudo certo, mas logo em seguida (segundos depois) o email ON HOLD vai para o cliente também, de forma desnecessária. O status do pedido n?o é alterado e continua como processando. Tudo parece acontecer ao mesmo tempo…

    Isto causa uma certa confus?o ao cliente que vê seu pedido confirmado e logo depois um novo email. Para n?o causar panico eu usei este segundo email como um “Detalhes: Veja o que fazer” mas ainda assim alguns me perguntam se o pedido está certo.

    Desculpe a longa carta, tentei explicar da forma mais clara.

    Att
    Rudimar

Viewing 6 replies - 1 through 6 (of 6 total)
  • Plugin Author Claudio Sanches

    (@claudiosanches)

    Quem envia os e-mails é o WooCommerce, este plugin n?o controla nenhum deles.
    Além que os e-mails s?o enviados baseado na mudan?a de status.
    Além que n?o deveria enviar de “On hold/guardando” depois de pago, provavelmente algum plugin causando esse comportamento no seu site.

    Thread Starter RK

    (@rirgang)

    Oi Cláudio

    Valeu pela resposta, estou investigando, o engra?ado que só dá com o pagar.me em cart?o de crédito. Caso seja para retirar no local (vai o email de processando) e o boleto do pagar.me (vai o email aguardando), tudo certinho.

    Vou continuar procurando pra ver se acho porque no cart?o ele teima em enviar os 2.

    Att
    Rudimar

    Fábio

    (@fabiopulitta)

    Passo pelo mesmo problema. Gera confus?o, cliente volta pra pagar e vez ou outra tenho que estornar um pagamento que foi duplicado. é curioso isso acontecer, já que o comportamento deveria ser proibir novo pagamento depois de já constar como pago. Talvez seja um problema de timing do script/envio/resposta do webservice.

    Thread Starter RK

    (@rirgang)

    Oi Fábio
    Eu lidei em tudo mas agora que você falou nessa quest?o fui olhar os log.

    Os emails enviados casam exatamente com os horários de 2 retornos do pagar.me, por exemplo neste caso, exxatamente neste horário o wp mandou 1 email de cada no exato segundo, vi em outros casos e o tempo bate também.

    11-02-2017 @ 01:52:33 – Payment status for order 18970 is now: authorized
    11-02-2017 @ 01:52:34 – Payment status for order 18970 is now: paid

    Agora uma dúvida pro Cláudio ??
    Olhando o arquivo class-wc-pagarme-api.php fiquei com uma duvida, n?o sou desenvolvedor ent?o me desculpem se estou falando besteira.

    Na linha 796 encontrei isso e fiquei com dúvida, o status n?o deveria ser processing aí? talvez seja o caso dele estar enviando o email de aguardando para o cliente.

    switch ( $status ) {
    case ‘authorized’ :
    if ( ! in_array( $order->get_status(), array( ‘processing’, ‘completed’ ), true ) ) {
    $order->update_status( ‘on-hold’, __( ‘Pagar.me: The transaction was authorized.’, ‘woocommerce-pagarme’ ) );

    Pe?o desculpas se dei uma bola fora astron?mica ehehehe.

    Eu contornei o problema com o plugin pretty emails, além de ficar mais profissional consegui configurar as mensagens.

    Att
    Rudimar

    Thread Starter RK

    (@rirgang)

    Oi Cláudio

    Realmente confirmei com alguns testes, mudei a linha que mencionei acima para ‘processing’ ao invés de ‘on hold’ e n?o ocorreu mais o problema de enviar o email de confirma??o (processando) e de aguardando para o cliente.

    Sei que é errado, pois na documenta??o do Pagar.me a autoriza??o n?o é o pagamento e sim o envio para o emissor aprovar.

    Na verdade a autoriza??o retornada eu acho que n?o precisaria gerar uma mudan?a de status pois é a indica??o que eles encaminharam para o banco emissor aprovar, talvez retornar apenas a nota que foi “autorizada” seria o ideal.

    Daí já na sequencia entram os Pago, Processando ou Recusado pra gerar a mudan?a de status do pedido.

    Att
    Rudimar

    Thread Starter RK

    (@rirgang)

    Olá novamente

    No final deixei assim, testei com compra em cart?o e boleto, as notas se organizaram da forma correta também na ideia que a autoriza??o seria somente um instante de transi??o… veja o que você acha, se isso é mentalmente correto

    switch ( $status ) {
    case ‘authorized’ :
    if ( ! in_array( $order->get_status(), array( ‘processing’, ‘completed’ ), true ) ) {
    $order->add_order_note( __( ‘Pagar.me: The transaction was authorized.’, ‘woocommerce-pagarme’ ) );
    }

    break;
    case ‘processing’ :
    $order->update_status( ‘on-hold’, __( ‘Pagar.me: The transaction is being processed.’, ‘woocommerce-pagarme’ ) );

    break;
    case ‘paid’ :
    if ( ! in_array( $order->get_status(), array( ‘processing’, ‘completed’ ), true ) ) {
    $order->add_order_note( __( ‘Pagar.me: Transaction paid.’, ‘woocommerce-pagarme’ ) );
    }

    Att
    Rudimar

Viewing 6 replies - 1 through 6 (of 6 total)
  • The topic ‘Fluxo de Emails’ is closed to new replies.