Как записать скидку и купон на заказы API в бэкэнде администратора WP?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как записать скидку и купон на заказы API в бэкэнде администратора WP?

Сообщение Anonymous »

Итак, я понял, что при использовании WP REST API для создания заказов параметр Discount_total показывает сумму скидки (которая вероятно рассчитывается путем вычитания line_items['total']< /code> от общей стоимости приобретенных покупателем товаров).
Я не совсем уверен, правда ли это, поскольку это всего лишь временное решение, которое я придумал, чтобы понять, как WOOCOMMERCE выполняет расчет скидки.
Итак, в приведенном ниже фрагменте кода я имитировал запрос заказа через WP API с рассчитанной извне суммой скидки, после чего я передал новое значение $totalPrice в API, чтобы оно отражало скидку на панели администратора. Код РАБОТАЕТ и скидка отобразилась на панели управления

Код: Выделить всё

   //code snippet
$order_data = [
'payment_method' => 'bacs',
'payment_method_title' => 'Checkout',
'customer_id' => intval($customer_id),
'transaction_id' => (string)$transaction_id,
'set_paid' => true,
'status' => 'completed',
'billing' => $billing_data,
'shipping' => $shipping_data,
'meta_data' => array(
array(
'key' => 'created by',
'value' => 'api request'
)
),
'line_items' => array(
array(
'product_id' => intval($product_id),
'quantity' => intval($quantityToBuy),
'total' => (string)$totalPrice,
)
),
];
Однако, когда я повторил тот же процесс для заказов, которые включали КУПОНЫ, отражалась только скидка по купону.

Код: Выделить всё

   $order_data = [
'payment_method' => 'bacs',
'payment_method_title' => 'Checkout',
'customer_id' => intval($customer_id),
'transaction_id' => (string)$transaction_id,
'set_paid' => true,
'status' => 'completed',
'billing' => $billing_data,
'shipping' => $shipping_data,
'meta_data' => array(
array(
'key' => 'created by',
'value' => 'api request'
)
),
'line_items' => array(
array(
'product_id' => intval($product_id),
'quantity' => intval($quantityToBuy),
'total' => (string)$totalPrice,
)
),
'coupon_lines' => array(
array(
'code' => (string)$coupon_code
)
)
];
Итак, в случаях, когда клиент использует купон в дополнение к какой-либо другой скидке, общая сумма, подлежащая оплате пользователем будет отличаться (меньше) от суммы, указанной на информационной панели.
Как мне решить эту проблему, я открыт для любых предложений.
Спасибо

Подробнее здесь: https://stackoverflow.com/questions/785 ... in-backend
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»