В общем, проблема была как раз там, где я и предпо

В общем, проблема была как раз там, где я и предполагал. Дело в том, что вэбовский процессор по соображениям безопасности выл дописан таким образом, что получить данные можно только по заказам текущего пользователя. Следовательно, нет пользователя — нечего и получать. А вот получение прочих заказов предполагалось делать через mgr-процессоры, к которым априори внимание по безопасности должно быть выше, то есть использовать их надо очень аккуратно. Но вот в новой версии движка как раз вот этот участок мы и проглядели. Если помнишь, мы ведь все процессоры перевели в папку processors/basket/(web|mgr), а тут еще просто processors/web. Все это явно указывает, что там не по новой системе. Переработается это только в новой версии магазина, а пока просто код-патч шаблона:

{*
    Оплата
*}
{$modx->regClientCSS("{$template_url}css/robokassa.css")}

{if !$smarty.get.order_id}
    <h3 class="error">Не был указан ID заказа</h3>
{else}
    
    {* Пытаемся получить заказ *}
    {assign var=params value=[
        "order_id"  => $smarty.get.order_id
        
    ]}
    
    {*processor action="web/orders/getlist" ns="basket" params=$params assign=result*}
    
    
    {processor action="basket/mgr/orders/products/getdata" ns="basket" params=$params assign=result}
    
    {if $result.success && $result.object}
    
        {*assign var=order value=$result.object[0]*} 
        
        {assign var=order value=$result} 
        
        {snippet name="robokassa.getButton" params="shp_order=`{$smarty.get.order_id}`&out_sum=`{$order.sum}`"}
        
    {else}
        <h3 class="error">Не был получен заказ</h3>
    {/if} 
    
{/if}

Исправленное закомментрировано. Сравни с текущим шаблоном (с ошибкой).