я делал скрипт так(скрипт для публички делался): вот я авторизован,
1, собираю список всех товаров в массив,
2, помещаю свой id в отдельную переменную, под кого нужно во вторую.
3, далее произвожу авторизацию под нужным пользователем,
4, очищаю его корзину чтобы ничего лишнего не попало
5, закидываю в корзину все товары что у меня в массиве были
6, создаю заказ
7, привязываю корзину к заказу
8, авторизуюсь обратно под собой
однако в таком подходе есть много всяких "НО"