Как я могу получить данные о покупке после заказа в WooCommerce и отправить их в виде запроса POST?

Я хочу отправить детали заказа (когда заказ размещен) через HTTP-запрос POST (подробности, такие как имя, фамилия, имя заказа и т. д.).

Данные должны быть отправлены на мой сервер Node/Express и должны быть в формате JSON.

Вот мой файл functions.php:

add_action( 'woocommerce_order_status_completed', 'send_order_data' );

function send_order_data( $order_id ) {

    $order = new WC_Order( $order_id );

    $url = 'http://exemple.com/custom-url';

    if ( $order->status != 'failed' ) {

        //Get the order and customer data
        //Send the data as a HTTP POST request && the data should be as JSON

        exit;
    }

Серверная часть Node/Express:

const express = require('express');
const router = express.Router();

// @route   POST '/api'
// @desc    
// @access  Public
router.post('/', (req, res) => {
  // Get data from WC post request
  console.info('new WC request');
  console.info(req.body);
});

module.exports = router;

Любая помощь приветствуется.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
428
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
add_action( 'woocommerce_thankyou', function( $order_id ){
    $order = new WC_Order( $order_id );


    if ( $order->status != 'failed' ) { 

            $url = "https://www.test.com";

            $response = wp_remote_post(
                $url,
                array(
                    'body' => array(
                        'firstname' => $order->get_billing_address_1(),
                        'lastname' =>  $order->get_billing_address_2(),
                    )
                )
            );
    }
});

Чтобы узнать больше, проверьте Получить детали заказа.

Другие вопросы по теме