Удаляется информации об оплате при попытке снова оплатить заказ


#1

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

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

Проблема на строне администратора
После того как клиент переходит на страницу платежной системы, чтобы попробовать снова оплатить заказ, вся пердыдущая информация о транзакции из заказа удаляется и заказ переходит в статус “Открыт”. Таким образом если клиент после перехода на страницу платеной системы не будет пытаться оплатить и перейдет на сайт, то заказ так и останется в статусе “Открыт” и без платежной информации.

Если есть ответ от платежной системы и он записан в информацию об оплате в заказе то нельзя менять статус заказа и удалять информацию об оплате пока от платежной системы не пришел новый ответ, чтобы записать его в заказ.


#2

Подтверждаем. При отмене оплаты клиентом, заказ переходит в статус “Открыт”.


#3

Данное поведение зависит от того как реализован конкретный способ оплаты. Например, для PayPal это стандартное поведение.

Чтобы клиент мог повторно оплатить заказ в статусе Открыт, для этого статуса необходимо включить настройку Снова оплатить заказ (Администрирование > Статусы заказов > Открыт)


#4

Наверно не поняли меня. Я и говорю про Снова оплатить заказ. У меня статус Отложен и для него включен Снова оплатить заказ. Когда покупатель выбирает способ оплаты и нажимает оплатить (на странице заказа) то переходит на платежную страницу. В это время статус заказа сбрасывается на Открытый и удаляется информация о заказе. Т.е. я его отложил, а он снова открыт и еще была записана в заказ информация от платежной системы (была неудачная попытка оплаты).

  1. Я установил статус Отложено - при попытке повторной оплаты сменился на Открыт
  2. Из заказа удалилась информация от платежной системы о неудачной попытке оплаты.

Т.е. при повторной попытке оплаты всё начинается с чистого листа.