Что то туплю…в коде
if (!empty($data_auth['ForeignDelivery']) && $data_auth['ForeignDelivery']) {
$order_for_sdek['SellerAddress'] = $company_city . ', ' . $company_address;
$order_for_sdek['ShipperName'] = $company_name;
$order_for_sdek['ShipperAddress'] = $order_for_sdek['SellerAddress'];
}
Данные по адресу откуда СДЭК должен забрать товар формируется второй строчкой, но СДЭК получает только город, при том что все поля в настройках магазина заполнены с верным адресом.
Ваш код выглядит корректным в части формирования адреса для СДЭК. Проблема может быть связана с тем, как используются переменные $company_city
и $company_address
. Возможно, они не содержат полного адреса, или же СДЭК не обрабатывает информацию о адресе должным образом.
Чтобы разобраться, рекомендую проверить несколько моментов:
- Проверка содержимого переменных: Убедитесь, что переменные
$company_city
и $company_address
действительно содержат корректные данные. Вы можете добавить временные строки для логирования или отладки:
error_log("City: " . $company_city);
error_log("Address: " . $company_address);
- Формат данных для СДЭК: Возможно, СДЭК требует особого формата адреса, который отличается от того, как вы его отправляете. Необходимо убедиться, что формат соответствует их требованиям.
- Кодировка и специальные символы: Проверьте, что в адресе нет специальных символов или проблем с кодировкой, которые могут мешать корректной обработке адреса на стороне СДЭК.
- Документация СДЭК: Просмотрите документацию СДЭК на предмет правильного формата данных, который требуется для успешной отправки информации о заказе.
- Логирование запроса: Вы можете добавить логирование всего массива
$order_for_sdek
перед отправкой его в СДЭК, чтобы увидеть, какие данные реально отправляются.
error_log("Order for SDEK: " . print_r($order_for_sdek, true));
- Проверка на стороне СДЭК: Если проблема не в данных, возможно, она на стороне СДЭК. В этом случае, обратитесь в их техническую поддержку с примером запроса, который вы отправляете, чтобы они могли помочь в диагностике проблемы.
Если после этих шагов проблема не решится, то, возможно, потребуется более детальный анализ кода и логов.