Повторная Отправка Заказа На Оплату

Здравствуйте,

Cделал новый модуль онлайн оплаты и столкнулся с проблемой:

если при переводе пользователя на сайт платежной системы что-то пошло не так (или оплата прошла не успешно), пользователь вернулся на страницу магазина (страница оформления заказа) и пользователь пытается попробовать оплатить заказ снова (например, Яндекс.Деньги), платежная система возвращает "Повторная оплата счета "###" невозможна для магазина. Номер счета "###" уже зарегистрирован в системе для ПМ Яндекс.Деньги". И это правильно, т.к. происходит повторная попытка создания счета (с тем же Order_Id).

Вопрос: каким образом можно избежать данной ситуации? Нужно как-то пересоздавать Заказ в магазине (чтобы получить новый Order_id)? Или есть еще какие-то варианты?

Спасибо.

Здравствуйте,

Cделал новый модуль онлайн оплаты и столкнулся с проблемой:

если при переводе пользователя на сайт платежной системы что-то пошло не так (или оплата прошла не успешно), пользователь вернулся на страницу магазина (страница оформления заказа) и пользователь пытается попробовать оплатить заказ снова (например, Яндекс.Деньги), платежная система возвращает "Повторная оплата счета "###" невозможна для магазина. Номер счета "###" уже зарегистрирован в системе для ПМ Яндекс.Деньги". И это правильно, т.к. происходит повторная попытка создания счета (с тем же Order_Id).

Вопрос: каким образом можно избежать данной ситуации? Нужно как-то пересоздавать Заказ в магазине (чтобы получить новый Order_id)? Или есть еще какие-то варианты?

Спасибо.

Обычно к номеру заказа подставляется префикс или суффикс, чтобы сделать его уникальным. Например,

$new_order_id = $order_id . '_' . TIME;

Обычно к номеру заказа подставляется префикс или суффикс, чтобы сделать его уникальным. Например,

$new_order_id = $order_id . '_' . TIME;

получается, что при получении "notify", необходимо будет каждый раз вырезать order_id из значения new_order_id?