воскресенье, 28 ноября 2010 г.

Баг корзины

И снова здравствуйте!

В данный момент я разрабатываю платежный модуль для работы с Украинским Процессинговым Центром. Работа модуля предусматривает перенаправление покупателя на страницу процессингового центра, где он вводит информацию о кредитной карте - номер, срок действия и т.д.

Схема работы предусматривает оповещение магазина в случае неудачной
транзакции. При чем кодов ошибок достаточно много. Я не знаю, как вам, но мне эта информация кажется полезной и ее хотелось бы сохранять. Вроде бы все сделал и код ошибки приходи и все хорошо, но... При возврате с ошибкой платежа, магазин по умолчанию очищает корзину. Т.е. покупатель возвращается, а у него заказ имеет статус "Pending" и корзина, естественно пуста. Такой вариант нам не подходит, потому как следующий платеж покупатель может сделать только лишь перезаказав товар.

После перелопачивания форума мадженты я нашел вот это http://www.magentocommerce.com/boards/viewthread/199053/  и соответсвующий багрепорт. Эта проблема не была исправлена ни в 1.4.0.1, ни в 1.4.1.1.

По ссылке даны рекомендации, как можно локально на конкретном магазине проправить Core файлы. Но будьте готовы, что при обновлении это слетит. И дай бог, чтобы в следующем релизе это пофиксили.

Я для себя принял решение все-таки подменить Core файлы (хоть это и некошерно) и помнить об этой особенности.

З.Ы. Модуль почти готов, осталось "причесать" внешний вид. Так что кому интересно - велкам.

2 комментария:

  1. Очень интересует данный модуль, но для Shop-Script - можно ли его загнать туда???

    ОтветитьУдалить
  2. увы... забросил я эту тему.. Модуль был отлажен и практичски готов к продакшену. Осталось допилить пару строк кода для криптования/декриптования реквестов/респонзов. Но тут слегка перпендикулярно стали приоритеты.

    Кстати, для Shop-Script может и можно было бы его допилить, только что это такое - Shop-Script? Готов на взаимовыгодных условиях поделится исходниками... точнее - результатом работы с УПЦ (не церковью) по отладке механизма. Если найду в архивах.

    ОтветитьУдалить