• Resolved Babak Fakhamzadeh

    (@mastababa)


    Para obter os produtos um usuario comprou, e fa?o isso:

    $customer_orders = wc_get_orders( array(
    ‘limit’ => -1,
    ‘customer_id’ => $user_id,
    ‘status’ => “completed”,
    ‘return’ => ‘ids’,
    ) );

    Como posso obter as assinaturas de um usuário? E como posso obter o status dessas assinaturas? Ou seja, se elas est?o “ativas” ou “canceladas”?

Viewing 8 replies - 1 through 8 (of 8 total)
  • Plugin Author Ricardo Martins

    (@martins56)

    Oi, @mastababa. Tudo bom?

    Veja se o artigo Como saber se a assinatura está ativa para produtos digitais? ajuda.

    O método \RM_PagBank\Helpers\Recurring::getStatusFromOrder também pode ajudar.

    Qualquer coisa é só falar.

    Grande abra?o e sucesso nas vendas.

    PS: Se estiver gostando do plugin e tiver 2 minutinhos, deixa um review ?????????? pra ele >aqui<.???????? Nos esfor?amos bastante para mantê-lo, e seu review nos ajuda bastante. ??

    Thread Starter Babak Fakhamzadeh

    (@mastababa)

    Obrigado, Ricardo, mas isso n?o está funcionando para mim:

    Fatal error: Uncaught Error: Call to undefined function RM_PagBank\Helpers\Recurring()

    Plugin Author Ricardo Martins

    (@martins56)

    Oi, @mastababa .

    N?o tenho certeza se você fez a chamada da forma correta, mas o certo seria algo como:

    use RM_PagBank\Helpers\Recurring;
    $status = Recurring::getStatusFromOrder($order);
    echo "<h1>Status da assinatura: $status</h1>";

    Se isso gerar erro, certifique-se de estar usando uma vers?o recente do nosso plugin.

    Thread Starter Babak Fakhamzadeh

    (@mastababa)

    Eu tenho isso:

    60: use RM_PagBank\Helpers\Recurring;
    61: $order_id = 130;
    62: $order = wc_get_order( $order_id );
    63: $status = Recurring::getStatusFromOrder($order);
    64: echo "<h1>Status da assinatura: $status</h1>";

    Agora:

    Fatal error: Uncaught Error: Non-static method RM_PagBank\Helpers\Recurring::getStatusFromOrder() cannot be called statically … on line?63

    Plugin Author Ricardo Martins

    (@martins56)

    Falha minha. N?o percebi que n?o era método estático.

    Nesse caso fa?a:

    use RM_PagBank\Helpers\Recurring;
    $helper = new Recurring();
    $status = $helper->getStatusFromOrder($order);
    echo "<h1>Status da assinatura: $status</h1>";
    Thread Starter Babak Fakhamzadeh

    (@mastababa)

    Obri. Isso n?o retorna um erro. Porém, isso também n?o parece funcionar como esperado.

    Quando uso isso para um pedido de um produto que n?o é recorrente, ainda recebo a resposta “Ativo”.

    Quando verifico o status de um pedido relacionado a uma assinatura cancelada, também recebo “ativo”.

    Parece-me que essa fun??o retorna o status do pedido, n?o da assinatura.

    Também observo que, quando um usuário cancela uma assinatura, a assinatura é revertida para “cancelamento pendente”. Como o cancelamento se torna definitivo?

    Plugin Author Ricardo Martins

    (@martins56)

    Oi, @mastababa

    De fato isso só deve ser usado em pedidos recorrentes.

    Você pode fazer um

    if($order->get_meta('_pagbank_is_recurring') > 0 || $order->get_meta('_recurring_cycle') > 0)

    pra ver se o pedido é recorrente ou n?o.

    Thread Starter Babak Fakhamzadeh

    (@mastababa)

    Obri. Isso parece funcionar.

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