• Resolved devapp4you

    (@devapp4you)


    Olá,

    estou tentando usar a api v3 para alterar o status de um pedido, e retorna o seguinte erro ( nao deixei o caminho completo por seguran?a mas o log esta completo ).

    Se uso a V1 da api funciona, mas preciso usar a V3.
    https://woocommerce.github.io/woocommerce-rest-api-docs/?shell#update-an-order

    Obrigado

    [17-Sep-2020 11:48:21 UTC] PHP Fatal error: Uncaught Error: Call to a member function get() on null in /home/dominio…/wp-content/plugins/woo-payment-on-delivery/woo-payment-on-delivery.php:397
    Stack trace:
    #0 /home/app4you/domains/modelo-delivery.app4you.app.br/public_html/wp-includes/class-wp-hook.php(287): add_woo_payment_on_delivery_gateway_class()
    #1 /home/app4you/domains/modelo-delivery.app4you.app.br/public_html/wp-includes/plugin.php(206): WP_Hook->apply_filters()
    #2 /home/app4you/domains/modelo-delivery.app4you.app.br/public_html/wp-content/plugins/woocommerce/includes/class-wc-payment-gateways.php(85): apply_filters()
    #3 /home/app4you/domains/modelo-delivery.app4you.app.br/public_html/wp-content/plugins/woocommerce/includes/class-wc-payment-gateways.php(70): WC_Payment_Gateways->init()
    #4 /home/app4you/domains/modelo-delivery.app4you.app.br/public_html/wp-content/plugins/woocommerce/includes/class-wc-payment-gateways.php(43): WC_Payment_Gateways->__construct()
    #5 /home/app4you/domains/modelo-de in /home/app4you/domains/modelo-delivery.app4you.app.br/public_html/wp-content/plugins/woo-payment-on-delivery/woo-payment-on-delivery.php on line 397

Viewing 15 replies - 1 through 15 (of 17 total)
  • OLá!
    Voce conseguiu resolver?

    tenho este erro sempre no mesmo horario…

    Plugin Author carlosramosweb

    (@carlosramosweb)

    @renatomiranda
    O plugin n?o foi feito para e n?o tem suporte para API.
    Obrigado.

    Opa… Obrigado por responder.
    Na verdade acho que n?o uso API, eu só instalei e ele funciona bem porem fui olhar os logs e vi que tem vários logs “fatal erros” sempre no mesmo horário.

    LOG:
    2020-12-10T17:53:51+00:00 CRITICAL Uncaught Error: Call to a member function get() on null in /domains//public_html/wp-content/plugins/woo-payment-on-delivery/woo-payment-on-delivery.php:397
    Stack trace:
    #0 /domains//public_html/wp-includes/class-wp-hook.php(287): add_woo_payment_on_delivery_gateway_class(Array)
    #1 /domains//public_html/wp-includes/plugin.php(206): WP_Hook->apply_filters(Array, Array)
    #2 /domains//public_html/wp-content/plugins/woocommerce/includes/class-wc-payment-gateways.php(85): apply_filters(‘woocommerce_pay…’, Array)
    #3 /domains//public_html/wp-content/plugins/woocommerce/includes/class-wc-payment-gateways.php(70): WC_Payment_Gateways->init()
    #4 /domains//public_html/wp-content/plugins/woocommerce/includes/class-wc-payment-gateways.php(43): WC_Payment_Gateways->__construct()
    #5 /domains//public_html/wp-content/plugins/woocommerce/includes/class-woocommerce.php(846): WC_Payment_Gateways::instance()
    #6 /domains//public_html/wp-content/plugins/woocommerce/includes/class-woocommerce.php(157): WooCommerce->payment_gateways()
    #7 /domains//public_html/wp-content/plugins/woocommerce/packages/woocommerce-admin/src/Notes/WC_Admin_Notes_Onboarding_Payments.php(36): WooCommerce->__get(‘payment_gateway…’)
    #8 /domains//public_html/wp-content/plugins/woocommerce/packages/woocommerce-admin/src/Notes/NoteTraits.php(74): Automattic\WooCommerce\Admin\Notes\WC_Admin_Notes_Onboarding_Payments::get_note()
    #9 /domains//public_html/wp-content/plugins/woocommerce/packages/woocommerce-admin/src/Events.php(88): Automattic\WooCommerce\Admin\Notes\WC_Admin_Notes_Onboarding_Payments::possibly_add_note()
    #10 /domains//public_html/wp-includes/class-wp-hook.php(287): Automattic\WooCommerce\Admin\Events->do_wc_admin_daily()
    #11 /domains//public_html/wp-includes/class-wp-hook.php(311): WP_Hook->apply_filters(”, Array)
    #12 /domains//public_html/wp-includes/plugin.php(544): WP_Hook->do_action(Array)
    #13 /domains//public_html/wp-cron.php(138): do_action_ref_array(‘wc_admin_daily’, Array)
    #14 {main}
    thrown, em /domains//public_html/wp-content/plugins/woo-payment-on-delivery/woo-payment-on-delivery.php, na linha 397

    Plugin Author carlosramosweb

    (@carlosramosweb)

    @renatomiranda
    Mas isso está deixando seu site fora do AR?
    Veja se seus plugins est?o atualizado com novas vers?o e inclusive o WP.
    Normalmente isso n?o deixa o site fora do ar.

    Nunca percebi que ficou fora do ar, embora o erro aconte?a sempre no mesmo horário.
    Decidi pesquisar só porque vi nos logs, mas no site nunca percebi nenhum erro relacionado a este plugin.

    Uma coisa é o plugin n?o ter API, outra é ele dar conflito e interferir no funcionamento da API nativa do WooCommerce.

    Com este plugin habilitado, o método de atualizar status do pedido que o colega está tentando usar deixa de funcionar. Nas APIs v2 e v3 é retornado o erro ‘Call to a member function get() on null’ (woo-payment-on-delivery.php:397). A api v1 n?o retorna o erro, mas também n?o atualiza o pedido. O plugin de pagamento na entrega n?o deveria tornar n?o-funcional a API nativa do WC que já estava funcionando.

    Plugin Author carlosramosweb

    (@carlosramosweb)

    @marc2377, boa noite
    Achei seu texto um pouco agressivo e mau educado.

    Acredito que vc entenda que é um plugin gratuito e dediquei horas, dias e meses nele para ajuda a comunidade WP.

    Mas o plugin pode ser alterado por qualquer pessoa. E assim se adequar as suas necessidades.

    Obrigado.

    Eu havia tido a mesma impress?o, com rela??o ao seu tom na primeira resposta argumentando que seu plugin n?o tem suporte a API. Em meu comentário, fui igualmente objetivo, mas nenhum julgamento fiz acerca das qualidades do autor. Inclusive agrade?o pela sua dedica??o em tê-lo desenvolvido e compartilhado com a comunidade.

    Agora, falando-se de solu??o:

    No método add_woo_payment_on_delivery_gateway_class (linha 393 do arquivo woo-payment-on-delivery.php, o seguinte código pode ser acrescentado logo no início do método:

    if (!isset( WC()->session) )
        return;

    Ou alternativamente, a linha 395 pode ser substituída por if ( !is_admin() && isset( WC()->session) ) {.

    P.S. Uma das coisas que aprendi com desenvolvimento open-source é que, quando seu código quebra funcionalidade existente em outras partes do programa, você introduziu um bug e qualquer resposta que o justifique ao invés de prontamente trabalhar na sua resolu??o n?o é aceitável. Aprendi isso com palavras muito mais duras do que as que utilizei.

    Encerro minha participa??o no tópico.

    Plugin Author carlosramosweb

    (@carlosramosweb)

    @marc2377, bom dia.
    Parceiro se n?o está feliz com o plugin só n?o usar.
    N?o sou seu escravo particular que quando vc quiser eu tenho que fazer algo.

    Espero que tenha entendido dessa vez.

    Plugin Author carlosramosweb

    (@carlosramosweb)

    @renatomiranda, bom dia.
    Veja se esse plugin resolve problema em sua API.

    Código de Teste:
    https://drive.google.com/file/d/1MkGrYoM67bhYYaXvcjqvfacpqXMfQhNg/view?usp=sharing

    Bom dia!
    Instalei o plugin e vou verificar se no log aparece erro novamente.
    Postarei o resultado.
    Poderia me explicar o porque de adicionar esse novo plugin pode resolver este erro?
    Vi que ele serve para imprimir os pedidos.
    Grato.

    Plugin Author carlosramosweb

    (@carlosramosweb)

    @renatomiranda
    Na primeira postagem mandei o link trocado.
    O link certo é esse abaixo.

    Código de Teste:
    https://drive.google.com/file/d/1MkGrYoM67bhYYaXvcjqvfacpqXMfQhNg/view?usp=sharing

    Entendi… é preciso dar acesso ao arquivo no drive.

Viewing 15 replies - 1 through 15 (of 17 total)
  • The topic ‘API V3 Woocommerce Erro’ is closed to new replies.