Строки с двойной скидкой в API заказов Shopify

#shopify #shopify-api

Вопрос:

Я столкнулся с ситуацией, которую, надеюсь, видел кто-то другой.

Заказ выглядит так в shopify:

Скриншот

JSON позиции со скидкой выглядит следующим образом:

       {
    "id": XXXXX,
    "name": "NAME",
    "price": "19.10",
    "product_exists": true,
    "quantity": 1,
    "sku": "SKU",
    "total_discount": "9.55",
    "discount_allocations": [
      {
        "amount": "9.55",
        "amount_set": {
          "shop_money": {
            "amount": "9.55",
            "currency_code": "USD"
          },
          "presentment_money": {
            "amount": "9.55",
            "currency_code": "USD"
          }
        },
        "discount_application_index": 0
      }
    ]
  },
 

К этому заказу была применена автоматическая скидка в виде «BOGO со скидкой 50%», но я не могу правильно использовать скидку по чистой цене за единицу, не вызывая проблем в других местах этого конкретного арендатора Shopify.

Раньше я бы

 line_unit_price = price - (TotalDiscount/Quantity) - SumOfDiscountApplications
 

Но в данном случае это просто удвоило бы его до нуля, что неверно. В других случаях с этим арендатором Shopify мне действительно нужно использовать приложения для скидок, так как TotalDiscount будет равен 0. Я не могу понять, когда/где/почему нужно делать математику по-другому для эффективной чистой цены за единицу.

Очень странно. Любая помощь была бы очень кстати.

Комментарии:

1. Я немного смущен тем, чего именно вы на самом деле пытаетесь достичь здесь

2. ERP-система, которую мы поддерживаем, нуждается в цене за вычетом скидок за единицу. Однако, если мы посмотрим, какие данные мы можем использовать для каждой строки в Shopify, я не могу достаточно последовательно рассчитать чистую цену за единицу, когда используется акция со скидкой 50%. Я надеялся, что другие узнают о лучшем способе справиться с этим.

3. Таким образом, вам нужно, чтобы скидка применялась к обоим товарам и чтобы у вас была точная чистая цена для каждого из них?

4. Проблема заключается в том, что я делаю (приложения «Цена — общий учет — скидки») для всех остальных, у которых есть сочетание скидок на корзину и скидок по строке. Когда мы получаем этот тип скидки со скидкой 50%, эта математика больше не работает. В качестве обходного пути нам остается сравнить предполагаемую общую сумму с платежом/транзакцией, чтобы убедиться, что мы близки.