Так смотрите что у Вас получается вот в этой строчке:
$basket = Sale\Basket::loadItemsForFUser(\CSaleBasket::GetBasketUserID(), Bitrix\Main\Context::getCurrent()->getSite())->getOrderableItems();
К моменту выполнения php кода у Вас есть некоторая сформированая корзина. Верно?
Вот строчкой ниже Вы её применяете к первому заказу. Соответственно как её же вы хотите применить к второму заказу?
В Вашем случаи нужно не получать корзину а создавать новую, хотя бы в одном из случаев.
Создать можно так: $basket = Basket::create($siteId); затем накидываете в неё нужные товары и создаёте под неё заказ. Посмотрите ссылку что я Вам скинул, у меня там есть закомментированный участок как создать корзину и добавить к ней произвольный товар/ТП. Закомментирован потому что под моё задачу мне нужно было получать существующую, но я на всякий случай оставил код, если вдруг потребуется.
$siteId можно получить так $siteId = Context::getCurrent()->getSite();
$basket = Sale\Basket::loadItemsForFUser(\CSaleBasket::GetBasketUserID(), Bitrix\Main\Context::getCurrent()->getSite())->getOrderableItems();
К моменту выполнения php кода у Вас есть некоторая сформированая корзина. Верно?
Вот строчкой ниже Вы её применяете к первому заказу. Соответственно как её же вы хотите применить к второму заказу?
В Вашем случаи нужно не получать корзину а создавать новую, хотя бы в одном из случаев.
Создать можно так: $basket = Basket::create($siteId); затем накидываете в неё нужные товары и создаёте под неё заказ. Посмотрите ссылку что я Вам скинул, у меня там есть закомментированный участок как создать корзину и добавить к ней произвольный товар/ТП. Закомментирован потому что под моё задачу мне нужно было получать существующую, но я на всякий случай оставил код, если вдруг потребуется.
$siteId можно получить так $siteId = Context::getCurrent()->getSite();