A inser??o de encomenda é síncrona, ou seja, apenas pretendemos que o funcionamento ocorra exatamente como ocorre quando se insere uma encomenda pelo processo normal.
Exatamente com o mesmo pedido e 5 minutos para pagamento, a única coisa que muda é a origem do pedido que em vez de ser feito pela loja, é gerado através da API do Woocommerce.
Em todos os pagamentos definidos no website o processo está a funcionar corretamente, inclusive no pagamento por Ref. MB, em que conseguimos descobrir que era necessário criar a encomenda no estado “on-hold”, em vez de “pending” que é o estado default.
O habitual é que as a??es associadas à cria??o de encomendas sejam despoletadas independentemente da origem (checkout ou rest-api). Por acreditarmos nisto é que questionamos se faltará alguma informa??o, ou se teremos que fazer alguma altera??o no pedido que n?o estamos a encontrar.
Conseguem identificar o “problema”?
Segue um exemplo de um pedido que estamos a fazer:
Array
(
[customer_id] => 1
[payment_method] => mbway_ifthen_for_woocommerce
[payment_method_title] => MB WAY
[currency] => EUR
[status] => on-hold
[billing] => Array
(
[first_name] => XXXX
[last_name] => XXXXXXX
[address_1] => XXXXXX
[city] => XXXX
[postcode] => XXXX-XXX
[country] => PT
[phone] => 9XXXXXXX4
)
[shipping] => Array
(
[first_name] => XXXX
[last_name] => XXXXXXX
[address_1] => XXXX
[city] => XXXX
[postcode] => XXXX-XXX
[country] => PT
)
[shipping_lines] => Array
(
[0] => Array
(
[method_id] => local_pickup
[method_title] => XXXX
)
)
[line_items] => Array
(
[0] => Array
(
[product_id] => XXX
[quantity] => 1
[total] => 4.690265486725664
[meta_data] => Array
(
)
)
)
[meta_data] => Array
(
[0] => Array
(
[key] => _mbway_ifthen_for_woocommerce_phone
[value] => 9XXXXXXX8
)
[1] => Array
(
[key] => _billing_nif
[value] => 2XXXXXXX2
)
)
)