Тема: Проблема с НДС, самовывозом и оплатой онлайн
Здравствуйте!
Возникла проблема после обновления со старой 2-й до 3-й версии. В новых версиях 2 и 3 поля адреса не нужно вводить для самовывоза.
Но если выбираешь самовывоз и оплату онлайн, то не получается правильно расчитать НДС и скрипт оплаты валится на $tax_api->getProductTaxes($product, $this->transaction->getUser(), $address);
В свою очередь getProductTaxes вызывает getTaxesByIds.
Правильно ли я понял из кода, что для НДС обязателен адрес пользователя?
protected static function getTaxesByIds(array $tax_id_list, \Users\Model\Orm\User $user, Orm\Address $address)
{
$address_id = $address['country_id'].':'.$address['region_id'];
$tax_ids = implode(',', $tax_id_list);
if (!isset(self::$cache_tax[$address_id][$tax_ids])) {
self::$cache_tax[$address_id][$tax_ids] = array();
if (count($tax_id_list)) {
$taxes = \RS\Orm\Request::make()
->from(new Orm\Tax())
->whereIn('id', $tax_id_list)
->objects();
foreach($taxes as $tax) {
if ($tax->canApply($user, $address)) {
self::$cache_tax[$address_id][$tax_ids][] = $tax;
}
}
}
}
return self::$cache_tax[$address_id][$tax_ids];
}