Como corrigir erro de pagamento do Tutor LMS com WooCommerce
O que é o erro de pagamento do Tutor LMS com WooCommerce?
No Tutor LMS, quando a engine de monetizacao esta definida como WooCommerce, a venda do curso passa a ser um pedido do WooCommerce. A matricula do aluno não e disparada no momento do pagamento: ela so e liberada quando o pedido atinge o status que o Tutor LMS reconhece como pago. O erro de pagamento do Tutor LMS com WooCommerce e exatamente essa quebra no fluxo: o cliente paga, o pedido fica preso em Processando ou Aguardando, e o curso nunca aparece na conta do aluno. Também entra nesse erro o caso em que o método de pagamento nem chega a aparecer na finalizacao, porque a integração ou o produto do curso estão mal configurados.
Como identificar
- O aluno conclui o pagamento, mas o curso não aparece em Meus Cursos e ele continua vendo o botão ‘Comprar’ em vez de ‘Continuar’.
- No painel, o pedido do curso fica preso em ‘Processando’ ou ‘Aguardando pagamento’ e nunca muda para ‘Concluido’.
- Mensagem ‘Nenhum método de pagamento disponível’ ou ausencia de gateway na página de finalizacao do curso.
- Em WooCommerce > Status > Logs não ha registro de matricula, e o curso comprado continua marcado como ‘Pago’ (não matriculado) para aquele usuário.
Como prevenir
- Sempre que criar um curso pago, marque o produto como Virtual e For Tutor antes de publicar, e valide com um pedido de teste
- Mantenha apenas uma engine de monetizacao ativa no Tutor LMS para evitar conflito entre WooCommerce e a engine nativa
- Após cada atualização do Tutor LMS ou do WooCommerce, refaca um pedido de teste para confirmar que a matricula automática continua disparando
Causa
- A opção 'Automatically Complete WooCommerce Orders' esta desligada em Tutor LMS > Configurações > Monetizacao, entao o pedido fica em Processando e a matricula, que depende do status Concluido, nunca dispara.
- O produto WooCommerce ligado ao curso não esta marcado como Virtual nem com a opção 'For Tutor', fazendo o WooCommerce tratar a compra como item fisico e cobrar frete ou travar o checkout.
- A engine de monetizacao em Tutor LMS > Configurações > Monetizacao não esta definida como WooCommerce (ou ha duas engines ativas, o que a doc proibe: apenas uma engine pode operar por vez).
- O curso esta marcado como 'Paid' mas sem nenhum produto WooCommerce selecionado no campo 'Add Product', deixando a compra sem pedido associado.
- Nenhum método de pagamento ativo em WooCommerce > Configurações > Pagamentos, entao a venda do curso não pode ser concluida (a doc avisa: nenhuma transação ocorre sem método configurado).
Como resolver
- Confirme a engine de monetizacao: abra o painel e garanta que a engine de venda esta definida como WooCommerce, e apenas ela. Use o caminho de menu abaixo. Apenas uma engine pode operar por vez, segundo a documentação do Tutor LMS.
Tutor LMS -> Configurações -> Monetizacao -> eCommerce Engine = WooCommerce - Ative o auto-completar do pedido: ligue a opção que conclui o pedido automaticamente. Sem isso o pedido fica em Processando e a matricula, que so dispara no status Concluido, não acontece. Marque também o redirecionamento para o curso.
Tutor LMS -> Configurações -> Monetizacao -> Automatically Complete WooCommerce Orders = ON Tutor LMS -> Configurações -> Monetizacao -> Auto Redirect to Courses = ON - Corrija o produto do curso: edite o produto WooCommerce ligado ao curso e marque-o como Virtual e com a opção For Tutor. Produto fisico cobra frete e pode travar o checkout do curso.
Produtos -> [produto do curso] -> Dados do produto -> marcar 'Virtual' Produtos -> [produto do curso] -> marcar a opção 'For Tutor' - Religue produto e método de pagamento: no editor do curso, confirme que ele esta como Paid e com o produto certo selecionado em Add Product. Depois ative ao menos um método de pagamento no WooCommerce. Sem método ativo, nenhuma transação ocorre.
Cursos -> [curso] -> Add Product -> Paid -> selecionar o produto WooCommerce -> Configurações -> Pagamentos -> ativar ao menos um método - Faca um pedido de teste real: com tudo configurado, compre o curso com um valor baixo para validar o fluxo de ponta a ponta. O pedido deve chegar a Concluido e o curso deve aparecer em Meus Cursos para o comprador.
WooCommerce -> Pedidos -> confirmar status 'Concluido' do pedido de teste
// functions.php do tema filho — matricula de emergencia quando o pedido fica
// preso em 'Processando' (status que o Tutor LMS nao reconhece como pago).
// Trata o pedido 'Processando' do curso como concluido, disparando a matricula.
add_action( 'woocommerce_order_status_processing', function ( $order_id ) {
if ( ! function_exists( 'tutor_utils' ) ) {
return; // Tutor LMS inativo: nao faz nada.
}
$order = wc_get_order( $order_id );
foreach ( $order->get_items() as $item ) {
$product_id = $item->get_product_id();
// So conclui se o produto estiver ligado a um curso do Tutor LMS.
if ( tutor_utils()->product_belongs_with_course( $product_id ) ) {
$order->update_status( 'completed' );
break;
}
}
}, 10, 1 );














