Когда Ubercart создает пользователя, он также регистрирует его, так что вам просто нужно сделать это, чтобы получить uid:
global $user;
$uid = $user->uid;
Это, вероятно, лучше всего использовать в hook_order (), как упоминалось в похожем вопросе, на который вы ссылались.
UPDATE
Если с заказом не связано uid
, вы можете получить что-то вроде этого:
function MYMODULE_order($op, &$order, $arg2) {
if ($op == 'update' && $arg2 == 'payment_received') {
if ($order->uid) {
$uid = $order->uid;
}
else {
global $user;
$uid = $user->uid;
}
}
}