Enviar datos de Woocommerce después de hacer clic en el botón Realizar Pedido
Estoy buscando la manera de añadir un hook a mi página de checkout de WooCommerce (http://localhost/checkout). Mi intención es enviar los artículos del carrito, la dirección de facturación y la información del usuario a otra página como http://localhost/hooking después de hacer clic en el botón Realizar Pedido para otros propósitos posteriores, ¿es esto posible y cómo se puede hacer?

Para estas tres posibilidades:
Si realmente deseas hacerlo al momento de crear el pedido, tendrías que usar el hook:
Sin embargo, te recomendaría que uses el hook:
woocommerce_order_status_completed
Esto aseguraría que el pedido esté finalizado cuando envíes la información.
Para capturar la información antes de la facturación siempre podrías usar:
woocommerce_before_checkout_billing_form
Si esto todavía no funciona, podrías revisar la lista de hooks:
https://docs.woocommerce.com/wc-apidocs/hook-docs.html
Entonces tendrías algo como:
add_action( 'woocommerce_order_status_completed', 'wc_send_order_to_mypage' );
function wc_send_order_to_mypage( $order_id ) {
$shipping_add = [
"firstname" => $order->shipping_first_name,
"lastname" => $order->shipping_last_name,
"address1" => $order->shipping_address_1,
"address2" => $order->shipping_address_2,
"city" => $order->shipping_city,
"zipcode" => $order->shipping_postcode,
"phone" => $order->shipping_phone,
"state_name" => $order->shipping_state,
"country" => $order->shipping_country
];
//desde $order puedes obtener toda la información de los artículos, etc.
//arriba hay solo un ejemplo simple de cómo funciona
//tu código para enviar los datos
}
Como el objetivo final es tener tu propio sistema de pago, te recomendaría que revises este tutorial que explica cómo integrar tu propia pasarela de pago:
https://www.skyverge.com/blog/how-to-create-a-simple-woocommerce-payment-gateway/

¿Qué tal si usas este hook: woocommerce_review_order_after_submit? El problema es que mi http://localhost/hooking es una página php, he intentado poner algún código como global $woocommerce;
$items = $woocommerce->cart->get_cart();
function process_payment($order_id) {
$order = new WC_Order($order_id);
return array('result' => 'success', 'redirect' => $order->get_checkout_payment_url( true ));
}
pero parece que no funciona

El código que te di debería estar en un plugin o en el functions.php de tu tema y en esa función wc_send_order_to_mypage
haces una petición POST a tu página php, por ejemplo

Gracias, pero ¿cómo puedo obtener la lista de artículos y llevarla a mypage
?

Si no sabes cómo hacer una redirección en PHP, no deberías estar codificando algo así. Mira esto: https://www.skyverge.com/blog/how-to-create-a-simple-woocommerce-payment-gateway/
