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