Обновлено
Вкл нормальный процесс Вы можете увидеть в WC_Checkout
Класс в process_checkout()
метод:
$order_id = $this->create_order( $posted_data ); // on line 1067
или WC_Checkout
Класс с create_order()
Метод:
$order_id = $order->save(); // on line 365
Что дает Идентификатор заказа
Теперь внутри метода process_checkout()
у вас есть:
if ( WC()->cart->needs_payment() ) {
$this->process_order_payment( $order_id, $posted_data['payment_method'] );
И если вы посмотрите на метод process_order_payment()
вы увидите:
// Store Order ID in session so it can be re-used after payment failure
WC()->session->set( 'order_awaiting_payment', $order_id );
, который будет хранить идентификатор заказа в сеансах Woocommerce
Итак ПОЛУЧИТЬ идентификатор заказа через AJAX (когда он будет сгенерирован) вы будете использовать внутри своей PHP-функции Wordpress Ajax:
$order_id = WC()->session->get( 'order_awaiting_payment' );
и вернуть ее в jQuery.