Купон прикрепляется к заказу, но заказ приходится пересчитывать вручную

При создании заказа методом

$workflow->getActionById('create')->run($order);

где в массиве $order помимо прочего, присутствует следующее:

$order['params']['coupon_id'] = 10;

Заказ создается успешно, и в бэкенде видно, что к нему прикреплен купон, но скидка не рассчитана (− 0 Р).

Если зайти в редактирование заказа, то напротив поля со скидкой видно синие стрелочки. Нажимаем на них и вычисляется скидка по купону. 

Почему это не происходит в момент создания заказа?

Заказ создается с такой структурой:

"id": "1202",
"contact_id": "1423",
"create_datetime": "2020-03-01 01:43:07",
"update_datetime": null,
"state_id": "new",
"total": "4999.0000",
"currency": "RUB",
"rate": "1.00000000",
"tax": "0.0000",
"shipping": "0.0000",
"discount": "0.0000",
"assigned_contact_id": null,
"paid_year": null,
"paid_quarter": null,
"paid_month": null,
"paid_date": null,
"auth_date": null,
"is_first": "0",
"unsettled": "0",
"comment": "Тест применения купона.",
"shipping_datetime": null,
"params": {
    "auth_code": "******************************",
    "auth_pin": "******",
    "coupon_id": "10",
    "ip": "46.4.97.17",
    "payment_id": "26",
    "sales_channel": "storefront:*************.ru",
    "shipping_address.country": "rus",
    "shipping_address.phone": "7**************",
    "shipping_address.region": "78",
    "shipping_address.street": "",
    "shipping_address.zip": "",
    "shipping_contact_name": "***************",
    "shipping_currency": "RUB",
    "shipping_currency_rate": "1",
    "shipping_id": "31",
    "signup_url": "",
    "source": "mobile_android",
    "storefront": "************.ru",
    "user_agent": "php-requests\/1.7",
    "virtualstock_id": "1"
},
"contact": {
    "id": "1423",
    "name": "************",
    "email": "******@***********.ru",
    "phone": "**************",
    "registered": true,
    "photo_50x50": "\/wa-data\/public\/contacts\/photos\/23\/14\/1423\/152100860.50x50.jpg"
},
"coupon": {
    "id": "10",
    "code": "TEST",
    "type": "%",
    "limit": "120",
    "used": "0",
    "value": "10.0000",
    "comment": "Тест",
    "expire_datetime": "2020-03-02 23:59:59",
    "create_datetime": "2020-02-27 23:08:21",
    "create_contact_id": "927",
    "products_hash": ""
},
"items": {
    "2464": {
        "id": "2464",
        "order_id": "1202",
        "name": "Товар",
        "product_id": "7460",
        "sku_id": "44864",
        "sku_code": "",
        "type": "product",
        "service_id": null,
        "service_variant_id": null,
        "price": "4999.0000",
        "quantity": "1",
        "parent_id": null,
        "stock_id": "1",
        "virtualstock_id": "1",
        "purchase_price": "0.0000",
        "total_discount": "0.0000",
        "tax_percent": null,
        "tax_included": "0",
        "image_id": "140822",
        "image_filename": "",
        "sku_image_id": "140822",
        "ext": "jpg",
        "file_name": "",
        "file_size": "0"
    }
},
"items_total_discount": 0

При прямом обращении к $order->items_discount видно рассчитанную скидку.

Пока нет ответов. Ответьте на этот вопрос первым!

    Добавить ответ

    Чтобы добавить комментарий, зарегистрируйтесь или войдите