CS-Cart 4.9.2
Клиент перешел на сайт платежной системы, ввел реквизиты карты и получил отказ, после чего вернулся на страницу магазина. В магазине создан заказ с статусом “Неудача”.
На стороне клиента
В своих заказах клиент может посмотреть подробности о заказе и есть возможность повторно оплатить заказ.
На стороне админки
В подробностях заказа записана информация об оплате, полученная от платежной системы (код и причина отказа, метод оплаты и т.п.)
Проблема на стороне клиента
Если клиент повторно пытается оплатить заказ со страницы информации о заказе, к примеру он вводил данные карты с ошибкой и повторно выбирает тот же способ оплаты, переходит на страницу платежной системы. В это время вся информация о предыдущей транзакции удаляется (та которая была получена от платежной системы ранее) и меняется статус заказа на Открыт. Теперь клиент ничего не оплачивает на странице платежной системы и возвращается в магазин, например просто в браузере вводит адрес магазина и переходит в свои заказы. И видит что его заказ не в статусе “Неудача”, а в статусе “Открыт” и нет возможности повторно оплатить заказ, только оформить заказ повторно, если в магазине включена эта функция.
Проблема на строне администратора
После того как клиент переходит на страницу платежной системы, чтобы попробовать снова оплатить заказ, вся пердыдущая информация о транзакции из заказа удаляется и заказ переходит в статус “Открыт”. Таким образом если клиент после перехода на страницу платеной системы не будет пытаться оплатить и перейдет на сайт, то заказ так и останется в статусе “Открыт” и без платежной информации.
Если есть ответ от платежной системы и он записан в информацию об оплате в заказе то нельзя менять статус заказа и удалять информацию об оплате пока от платежной системы не пришел новый ответ, чтобы записать его в заказ.