Ai chega aquele requisito de executar uma ação apenas após a confirmação de pagamento do pedido (através do WooCommerce, é claro), como é que faz?
Há algum tempo atrás precisei fazer isso e achei aqui nas minhas anotações esses dias, então resolvi compartilhar!
O WooCommerce já tem uma action prontinha pra gente utilizar, e ela recebe o parâmetro da id do pedido que foi atualizado. Com isso, sempre que o seu gateway de pagamento enviar a info que o pagamento está ok esse gancho vai ser executado e você pode pendurar nele a ação que quiser.
No exemplo abaixo estou fazendo a atualização de algum campo do usuário, mas você pode fazer o que quiser.
function checkPayment( $order_id ) {
$order = new WC_Order( $order_id );
/**
* Faça o que você quiser aqui!
* Exemplo atualizando dados do usuário após a confirmação do pagamento.
*/
$user_id = $order->get_user_id();
update_user_meta( $user_id, 'field_name', 'field_value' );
}
add_action( 'woocommerce_payment_complete', 'checkPayment' );
Importante: essa action é executada se o método de pagamento executar woocommerce_payment_complete() ou $order->payment_complete(). A maioria faz isso, pois é um comportamento padrão/recomendado ao registrar métodos de pagamento. Mas vale a pena o lembrete.
Testa ai e me conta nos comentários!
Até a próxima!
Deixe um comentário