Похоже, что проверка количества (variable.check_quantity) в fuction create_line_for_order не смогла предотвратить перепроданность в ситуации высокого параллелизма. Если две транзакции проверяют один и тот же вариант продукта (который может иметь только 1 количество) одновременно, обе они могут пройти проверку и создать заказы. Это ожидаемое поведение у продавца?