Как я и говорил, проблема в том, что у вас передае

Как я и говорил, проблема в том, что у вас передается многоуровневый массив.

(
    [0] => Array
        (
            [0] => L
            [1] => Classic Ball 3-5 мм
            [2] => молочный
        )

)

Но как эту проблему решить с шопкипером, я не знаю, так как перелопачивать его нет никакого желания. Посмотрите, я дописал у вас сниппет arrayToStr

<?php
// $modx->log только для отладки, потому можно удалить эту строку

$input = $modx->getPlaceholder("addit_data");

$modx->log(1, "addit_data test", "FILE");
$modx->log(1, print_r($input, 1), "FILE");
$modx->log(1, print_r($modx->getPlaceholder("shkDataArray"), 1), "FILE");
$modx->log(1, "addit_data test end", "FILE");

// return $input && is_array($input) ? implode(",", $input) : $input;

return "dsfg";

Плейсхолдер shkDataArray я устанавливаю в файле core/components/shopkeeper3/model/shopkeeper.class.php на строке 1297. Посмотрите там код. Вот свою переменную я в сниппете смог получить как есть, а вот плейсхолдер data_arr там же в сниппете я получаю Array, то есть где-то он преобразовывается.

Сорри, ничем больше не помогу.

P.S. в чанке orderDataRow я тоже дописал [[!arrayToStr]], оставил, чтобы вы посмотрели что и как. Удалите что не нужно будет.