Я пытаюсь выяснить, как контролировать поведение скидок на моем сайте, чтобы он взаимодействовал с внешним каналом распространения. Прямо сейчас у меня есть успешная отправка почты с прикрепленным XML -файлом, когда клиент закончил платить.
Единственное поле данных, которое вызывает проблемы, - это скидка. Потому что:
Канал распространения принимает скидку только на каждый элемент (продукт) в виде целого числа в процентах
Я использовал простой XML и добавил данные для каждого элемента (проданного продукта), как это - только часть полного кода
// Basic $order data and wp_mail configurations BEFORE
foreach ($order->get_items() as $item) {
$product = $item->get_product();
$isbn = get_field( 'isbn', $item->get_product_id() );
$price = $product->get_price();
$quantity = $item->get_quantity();
$order_line = $order_head->addChild( 'Ordrelinje' );
$order_line->addAttribute( 'besked', 'notat tilknyttet ordrelinjen' );
$order_line->addAttribute( 'rabatprocent', '' );
$order_line->addAttribute( 'stykpris', $price );
$order_line->addAttribute( 'antal', $quantity );
$order_line->addAttribute( 'isbn', $isbn );
}
// SimpleXML save and attachment created with the XML file AFTER
// Sent with wp_mail and the return tested AFTER
Так что проблема в основном:
Я знаю, как рассчитать процент от полной цены и скидки в данных о продукте [], но у меня возникают трудности с представлением гибкой системы с различными возможностями скидок (см. внизу)
Со скидкой как в процентах, так и в сумме вы можете себе представить, что у вас есть конфликт с целое число при расчете процентов после покупки. Некоторые десятичные дроби будут потеряны.
Пример:
Допустим, я делаю скидку на одну книгу в 22 KR (Дани sh), и цена без скидки была: 143.
Тогда скидка в процентах будет: 100/143 * 22: 15,38%.
Я бы, например, чтобы получить целое число в процентах, округлить с round(15.38, 0)
, чтобы получить 15.
И тогда клиент потеряет: .38%
, то есть 143*0.0038 = 0.54KR
Так что мой вопрос:
У кого-нибудь есть идеи, как чтобы решить эту проблему, или обходной путь, чтобы скидка на сумму была, например, целым числом обычной цены в процентах. Или есть другие идеи?