Вы опубликовали 3 варианта $ mCouponCost = xxxxxxx
Первый использует * для умножения ... что является правильным решением.
Второй использует ->, что определенно было бы неправильно, потому что данные не в формате объекта, который -> потребовал бы.
Третий, который является частью того, что вы сказали,«весь код», использует - который будет вычитать и определенно не даст правильного результата.
Ваш код требует нескольких вещей, некоторые из которых отсутствуют в вашем посте:
a) объект $ order должен быть объявлен как глобальный внутри функции / метода, который вы используете в
b) вы должны написать свой собственный код для фактического объявления и назначениязначение элемента 'coupon_cost' массива $ order-> info
c) если вы работаете с несколькими валютами, то умножение базовой стоимости на $ order-> info ['currency_value'] будетдать правильный результат для валюты, в которойклиент делает покупки.
Простой тест, чтобы определить, действительно ли ваша проблема связана с строкой кода, которую вы впервые процитировали, состояла бы в том, чтобы просто присвоить
$mCouponCost = $order->info['coupon_cost'];
, т.е.умножение на всех.Это позволит получить полезную информацию о том, какие другие проблемы могут на самом деле вызывать трудности, с которыми вы сталкиваетесь.