если заказ можно посмотреть по его id в интернете без регистрации и смс, и не должно быть возможности смотреть чужие заказы, я бы при генерации ид использовал текущую дату и 9-символьное случайное число, то есть
Илья, в нормальном магазине спросят последние несколько цифр, потому что менеджер в момент начала разговора уже видит, с кем он общается, какие у чувака есть активные заказы...
я делаю так:
1. Оформление заказа, отправка клиента на платежку, создание в системе транзакции с номером заказа, суммой, датой и состоянием Ожидает оплаты и прочей инфой
2. клиент оплачивает , платежный шлюз шлет успешный калбек с номером транзакции , транзакция обновляется, меняя статус Оплачено, через нее выходим на заказ.
3. Заказ указанный в транзации меняет состояние
и тд