Support » Plugin: Claudio Sanches - Moip for WooCommerce » Mudança de "Pagamento Pendente" para "Processando" não ocorre

  • Resolved FCE

    (@fce-1)


    Olá Claudio,

    Eu estou tentando configurar o meu WooCommerce MoIP plugin.
    Eu já segui os passos da instalação aqui do plugin.

    Coloquei no MoIP a URL de notificação. Aparentemente tudo certo.

    Após o pedido o estatus entra em “Pagamento Pendente”. Depois o MoIP envia uma notificação de pagamento, pois estou vendo no pedido que está escrito assim nas Notas: “Moip: Pagamento completo e creditado na sua Carteira Moip.”

    Porém o Status do pedido muda para “Aguardando” e não “Processando”. Com isto o Woocommerce não faz a baixa do estoque também.

    Notas que podem ser relevantes:

    Nota 1: Estou usando o método HTML, mesmo colocando o access key e token, não consegui fazer funcionar o checkout transparente e nem o XML.
    Nota 2: estou fazendo uso do seu outro plugin que adiciona os campos para cadastro do cliente.. excelente!
    Nota 3: Não consegui encontrar o arquivo de log.. na verdade não consegui encontrar a pasta woocommerce/logs/ – Encontrei aqui: html/wp-content/uploads/wc-logs/
    Nota 4: versão WooCommerce/2.4.10 e WP 4.3.1

    Muito Obrigado,
    Flavio

    https://wordpress.org/plugins/woocommerce-moip/

Viewing 3 replies - 1 through 3 (of 3 total)
  • RESOLVIDO! Falha minha… explico:

    Eu estava simulando lá no Sandbox do MoIP a condição de “Creditado”.
    Pelo PHP (class-wc-moip-gateway.php) do plugin esta condição gera somente uma nota dentro do pedido que diz: Moip: Pagamento completo e creditado na sua Carteira Moip.
    E não altera status nenhum.

    Obviamente eu não me dei conta de que para chegar ao “Creditado” o pedido vai ter que passar pelo “Autorizado”.

    E quando ele passa pelo autorizado, o plugin gera uma nota e uma condição de Pedido Pago ($order->payment_complete();). O que dispara o Woocommerce mudar o status para ” “Processando” e a fazer a baixa no estoque.

    Depois disso viria o status “creditado” onde o MoIP simplesmente está informando o Woocommerce que o dinheiro caiu na conta, mas isso não altera mais o status do pedido.

    Caso alguém se interesse, seguem os testes que eu fiz. Onde efetuei um pedido para cada condição simulado no MoIP e com isso verifiquei:
    1) a mensagem no log
    2) o que o código do plugin comandava
    3) como era a resposta no pedido, no woocommerce

    Pedido 75 – boleto impresso

    Log:
    11-26-2015 @ 11:33:13 – Payment status from order 75: 2
    11-26-2015 @ 11:33:27 – Payment status from order 75: 3

    PHP do plugin:
    case ‘3’:
    $order->update_status( ‘on-hold’, __( ‘Moip: Billet was printed and has not been paid yet.’, ‘woocommerce-moip’ ) );

    WooCommerce Pedido:
    Order note : Moip: Pagamento em análise. Status do pedido alterado de Pagamento Pendente para Aguardando.
    Status : Aguardando

    Pedido 76 – cancelado

    Log:
    11-26-2015 @ 11:34:03 – Payment status from order 76: 2
    11-26-2015 @ 11:34:13 – Payment status from order 76: 5

    PHP do plugin:
    case ‘5’:
    $order->update_status( ‘cancelled’, __( ‘Moip: Payment canceled.’, ‘woocommerce-moip’ ) );

    WooCommerce Pedido:
    Order note : Moip: Pagamento em análise. Status do pedido alterado de Pagamento Pendente para Aguardando.
    : Moip: Pagamento cancelado. Status do pedido alterado de Aguardando para Cancelado.
    Status : Cancelado

    Pedido 77 – iniciado

    Log:
    11-26-2015 @ 11:36:14 – Payment status from order 77: 2

    PHP do plugin:
    case ‘2’:
    $order->update_status( ‘on-hold’, __( ‘Moip: Payment under review.’, ‘woocommerce-moip’ ) );

    WooCommerce Pedido:
    Order note : Moip: Pagamento em análise. Status do pedido alterado de Pagamento Pendente para Aguardando.
    Status : Aguardando

    Pedido 78 – autorizado

    Log:
    11-26-2015 @ 11:37:37 – Payment status from order 78: 2
    11-26-2015 @ 11:37:48 – Payment status from order 78: 1

    PHP do plugin:
    case ‘1’:
    // Order details.
    if ( ! empty( $posted[‘cod_moip’] ) ) {
    update_post_meta(
    $order_id,
    __( ‘Moip Transaction ID’, ‘woocommerce-moip’ ),
    $posted[‘cod_moip’]
    );
    }
    if ( ! empty( $posted[’email_consumidor’] ) ) {
    update_post_meta(
    $order_id,
    __( ‘Payer email’, ‘woocommerce-moip’ ),
    $posted[’email_consumidor’]
    );
    }
    if ( ! empty( $posted[‘tipo_pagamento’] ) ) {
    update_post_meta(
    $order_id,
    __( ‘Payment type’, ‘woocommerce-moip’ ),
    $posted[‘tipo_pagamento’]
    );
    }
    if ( ! empty( $posted[‘parcelas’] ) ) {
    update_post_meta(
    $order_id,
    __( ‘Number of parcels’, ‘woocommerce-moip’ ),
    $posted[‘parcelas’]
    );
    }

    // Payment completed.
    $order->add_order_note( __( ‘Moip: Payment has already been made but not yet credited to Carteira Moip.’, ‘woocommerce-moip’ ) );
    $order->payment_complete();

    WooCommerce Pedido:
    Order note : Moip: Pagamento em análise. Status do pedido alterado de Pagamento Pendente para Aguardando.
    : Moip: O pagamento já foi feito, mas ainda não foi creditado na sua Carteira Moip.
    : Status do pedido alterado de Aguardando para Processando.
    : O item #10 teve seu estoque reduzido de 7 para 6.
    Status : Processando

    Pedido 79 – creditado

    Log:
    11-26-2015 @ 11:38:57 – Payment status from order 79: 4

    PHP do plugin:
    case ‘4’:
    $order->add_order_note( __( ‘Moip: Payment completed and credited in your Carteira Moip.’, ‘woocommerce-moip’ ) );

    WooCommerce Pedido:
    Order note : Moip: Pagamento em análise. Status do pedido alterado de Pagamento Pendente para Aguardando.
    : Moip: Pagamento completo e creditado na sua Carteira Moip.
    Status : Aguardando

    Acabei de perceber um pequeno errinho…

    Veja o teste do pedido 75:

    75 – boleto impresso

    Log:
    11-26-2015 @ 11:33:13 – Payment status from order 75: 2
    11-26-2015 @ 11:33:27 – Payment status from order 75: 3

    PHP do plugin:
    case ‘3’:
    $order->update_status( ‘on-hold’, __( ‘Moip: Billet was printed and has not been paid yet.’, ‘woocommerce-moip’ ) );

    WooCommerce Pedido:
    Order note : Moip: Pagamento em análise. Status do pedido alterado de Pagamento Pendente para Aguardando.
    Status : Aguardando

    A nota ‘Moip: Billet was printed and has not been paid yet.’ não acontece no WooCommerce, não aparece esta nota no meu pedido.

    Nada grave…

    Abraço

Viewing 3 replies - 1 through 3 (of 3 total)
  • The topic ‘Mudança de "Pagamento Pendente" para "Processando" não ocorre’ is closed to new replies.