Вы здесь

Commerce robokassa обновлен до 7.x-2.0-rc1

Недавно увидел длинное обсуждение на тему проблем c робокассой https://www.drupal.org/node/2497615 и решил причесать модуль так как есть наработки.
Что изменилось - собственно все.
Версия 7.x-1.x переведена в другие релизы и теперь она с минимальной поддержкой.
Все пожелания принимаются только в версию 7.x-2.x

Настоятельно рекомендуется сделать резервную копию перед обновлением

Основные изменения:
1. Добавлена поддержка нескольких платежных правил. (В версии 7.x-1.0-rc1 только одно правило разрешено)
2. Изменение статуса платежной транзакции и заказа происходит drupal commerce way
3. Страницы success/fail заменены стандартным для drupal commerce процессингом (перейти не следующую страницу чекаута при успешной оплате или на предыдущую при не успешной). Это поведение позволяет добавлять статусы и стейты заказа при помощи хуков hook_commerce_order_state_info и hook_commerce_order_status_info, а так же дополнительные страницы чекаута без хаков. Как следствие используется стандартная для Drupal Commerce страница завершения заказа. При обновлении до версии 7.x-2.0-rc1 вероятно необходим пересмотр чекаута.
4. Платежная транзакция создается при редиректе пользователя на шлюз robokassa.ru. (В версии 7.x-1.0-rc1 платежная транзакция создавалась только при успешной оплате)
5. Все разрешенные в Robokassa методы хеширования SignatureValue поддерживаются. (В версии 7.x-1.0-rc1 поддерживался только md5).
6. Версия 7.x-2.0-rc1 может грузить и правильно обрабатывать незавершенные платежные транзакции версии 7.x-1.0-rc1.
7. Настройки версии 7.x-2.0-rc1 не совместимы с настройками версии 7.x-1.0-rc1 При обновлении Вы должны Перенастроить платежный метод на сайте и заменить ссылки в robokassa merchant.
8. Поддерживается только метод обмена POST.

Качать тут

P.S. Спасибо всем участвовавшим.

6
13
29.02.2016 - 03:14

Комментарии

Аватар пользователя UksusoFF
UksusoFF – 29.02.2016 - 07:40

Спасибо, очень странно что так долго до него никому дела не было. Вроде бы очень популярный агрегатор.

Аватар пользователя xandeadx
xandeadx – 29.02.2016 - 10:26

Какой смысл создавать транзакцию при редиректе? Деньги покупателя ведь ещё при нём.

Аватар пользователя niko-
niko- – 29.02.2016 - 10:55

Какой смысл создавать транзакцию при редиректе? Деньги покупателя ведь ещё при нём.

Любая правильно работающая платежная система (в том числе модули интеграции) обязаны создавать лог на каждую попытку оплаты (смотрите к примеру код commerce paypal). В этом случае менеджер магазина может разговаривать с техподдержкой платежной системы на равных с применением логов когда покупатель его интернет магазина не может провести оплату по вине платежной системы. (имею ввиду разбор кейса - звонок от клиента вида "аааа не могу оплатить" ) А с какой попытки с покупателя спишутся деньги это уже второй вопрос. Этот подход является рекомендованным в drupal commerce если посмотреть чуть глубже чем модуль example (там ошибка в этой части).

Аватар пользователя lukasss
lukasss – 02.03.2016 - 00:29

niko спасибо за модуль!

Аватар пользователя Платон Фёдорович
Платон – 20.03.2016 - 11:12

Под восьмёрку ждать только после стабильного релиза Commerce 8.x-2.0?

Аватар пользователя niko-
niko- – 24.03.2016 - 17:05

Планы на ближайшее будущее по Robokassa.

Под Drupal 8 сейчас в работе Robokassa payment (в том числе в этой же песочнице уже портированная версия для 7). Drupal 8 версия в песочнице будет готова ориентировочно через пару недель.
Drupal 8 версия Robokassa payment будет завязана на Payment offsite API - API для упрощения создания offsite payment methods.

По Commerce 8.x-2.0 - как минимум они должны стабилизировать платежное API, а судя по динамике это произойдет не раньше появления бета версий. В любом случае ждать релиза Commerce 8.x-2.0 я не собираюсь и сделаю версию при первой реальной возможности.

Аватар пользователя Платон Фёдорович
Платон – 28.03.2016 - 13:39

Спасибо вам огромное :)

Аватар пользователя mamba
mamba – 31.03.2016 - 11:21


Подскажите, почему после оплаты через робокассу он сбрасывает пользователя?
То есть нахожусь на странице оплаты уже на сайте робокассы, оплачиваю и возвращаюсь на сайт. В итоге 2 последних действия происходит гостем. Если оплата не через робокассу, а клиент выбирает например"Оплата на точке", то он не уходит с сайта и заказ оформляется нормально без таких нюансов.
Из-за этого проблемы некоторые.

Аватар пользователя niko-
niko- – 10.04.2016 - 13:29

Это апдейт с 1.х или на сайте сразу поставлена была 2.х?

Аватар пользователя Алексей Кондратьев

использую commerce robokassa 7x-2x на мультисайте, два поддомена, для одного поддомена использую платежное правило, создаваемое модулем по умолчанию, на другом собственное платежное правило с действием Включить метод Робокасса. Платежное правило по умолчанию работает, собственное перебрасывает на страницу сервиса, затем после успешной оплаты перебрасывает на страницу /checkout/%/review и опять на сервис робокассы - то есть некорректно работает. В чем может быть дело?

Аватар пользователя Алексей Кондратьев

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

Аватар пользователя deSiter
deSiter – 06.07.2016 - 10:04

Спасибо за полезный модуль! Ответьте, пожалуйста, по правильной настройке. Всё работает до момента возвращения с платёжной системы на сайт после оплаты. Открывается страница "Страница не найдена" с адресом вида сайт/id_заказа/complete. При этом создаётся заказ, но его статус не меняется на оплачен, а остаётся "в ожидании" несмотря на то, что платёж благополучно прошёл.
В настройках Робокассы все страницы указал верно. Способ передачи данных POST.