Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Модуль] Z-Payment NG - next generation


kon

Recommended Posts

По мере подключения платежных систем сталкиваюсь со сложностями. По возможности сложности решаю и выкладываю на пользу/радоcть народу.Итак переделанный модуль для z-payment. Различия с исходным модулем:1. Включен "Пароль инициализации магазина" (повышение секурности раз в сто)2.а. Ручками заведите в магазине статус заказа "Ожидает оплаты"2.b В админке в настройке z-payment выставьте: Статус заказа после оплаты - "В обработке" Статус заказа после выписки счета: "Ожидает оплаты"Зачем это надо?Z-payment предполагает как вариант - отложенный платеж, например перевод через сбербанк - блиц.Если клиент выберет отложенный платеж - то он будет переправлен на страничку checkout/wait где ему объяснят, что заказ принят, но движуха начнется после получения денег. Статус заказа будет "Ожидает оплаты"Причем когда денежки придут, клиент (надеюсь) получит уведомление об этом по почте и статус заказа изменится на "В обработке".В штатном варианте сбербанк-блиц платеж будет принят системой как проведенный.Комментарии приветствуются, как обычно.P.S. Добавлен контроллер в ядро - checkout/wait - адрес для посыла людей с принятым платежной системой, но отложенным платежом.

zpayment.zip

Надіслати
Поділитися на інших сайтах


Оу, круто) Огромное спасибо за модуль)С ключем у меня секретным не пошло, пишет что не проходит проверку.Еще с кодировкой проблемы. Примечание по платежу в УТФ-6 отправляется, а страница оплаты з-пеймент в кирилице.

Надіслати
Поділитися на інших сайтах


Ничего не понял.

Просто секретного ключа в з-паймент нет.

есть:

Секретный ключ Merchant KeyПароль инициализации магазина
У меня сейчас оба используются.

Причем в опциях з-паймента стоит

Высылать предварительный запрос перед оплатой на Result URL = ДАВысылать Merchant Key, если Result URL обеспечивает безопасность = НЕТ
Сверьте админки z-paymenta и вашего магазина на предмет совпаденя всех ключей и адресов перехода. Даже если все выглядит хорошо, скопипастите из зпаймента ключи себе в магазин.

По поводу кодировок тоже не понял.

Не заскриншотите ли процесс.

Надіслати
Поділитися на інших сайтах


Ну смотрите, проблемы такие:Ставлю в z-payment "Пароль инициализации магазина", копирую его в админку модуля оплаты магазина, ставлю так же галочки как вы, пробую оплатить, вылазит - "Подпись к данным оплаты не прошла проверку!Если удалить из z-payment этот пароль, то все проходит.Но, в примечаниях платежа русские буквы получаются кракозябрами (примечание платежа берется из названия магазина + номер заказа) буквы выглядят так:интернет-гипермаркеС

Надіслати
Поділитися на інших сайтах


В этих паролях желательно не использовать спецсимволы.

Проверьте установку модуля. На месте ли файл catalog/view/theme/default/template/payment/zpayment.tpl ? не перекрывается ли он таким же файлом, но в другой теме?

Есть ли в нем строка:

<input name="ZP_SIGN" type="hidden" value="<?php echo md5($shop_id . $order_id . $amount . $init_password); ?>" />
По поводу кракозяб. На чем (операционка,система) крутится ваш магазин.

И еще. Попробуйте начать процедуру платежа в z-payment с моего сайта, будут ли кракозябы?

Надіслати
Поділитися на інших сайтах


Нет, я только цифры ставил. Проверю сейчас с паролем, потом отпишусь.По поводу кракозябр, на сервере вроде freeBSD cтоит, если не ошибаюсь (majordomo).Так же интересная вещь. Если человек оплатил заказ, но не нажал вернуться на сайт магазина, то он в базе не фиксируется, точнее фиксируется, но не как активный и в кабинете и в админке его не видно.

Надіслати
Поділитися на інших сайтах


Так нет же, если человек не нажал на кнопку перейти обратно в магазин, то заказ остается не активным, а если нажать на кнопку, то он становится активным и виден в личном кабинете и в админке.Если не нажал опять же, запись в базе делается, но order_status_id = 0, если нажал кнопку, то все ок и order_status_id = 1Грубо говоря этот статус меняется, если человек переходит по ссылке index.php?route=payment/zpayment/success

Надіслати
Поділитися на інших сайтах


В админку необходимо зайти и настроить состояния заказа после получения оплаты и после оформления заказа.

Потому что как только робот дергает магазин по поводу проведенной оплаты, происходит

confirm($LMI_PAYMENT_NO, $this->config->get('zpayment_order_status_id'), 'Z-payment');
И статус заказа меняется. Он не может остаться в нулях.

Не исключено, что если вы в админке не настраивали после установки этого модуля параметры, то zpayment_order_status_id может быть и нулевым.

После возврата на success, если стастус заказа всё еще нулевой - вас пошлет на страничку payment/wait

В админке - отключите - удалите - установите - настройте модуль.

Проверьте как работают платежи и куда вас поле success реально посылает - на success или wait.

Надіслати
Поділитися на інших сайтах


Так, я скачал модуль, заменил все файлы, в админке магазина в оплате настроил z-payment, установил статусы для мнгновенной оплаты и отложенной.Пробовал сделать оплату и выбрать "себрбанк". Дохожу до страницы "распечатать квитанцию", там есть кнопка "вернуться в магазин" (она ссылается на адрес с sucess). Так вот, на этом экране счет в самой платежной системе выписывается, если закрыть эту страницу, то потом нигде, ни в админке магазина, не в лк покупателя не будет виден заказ, если нажать на кнопку "вернуться в магазин", то заказ везде становится виден, но добавляется в базу он в любом случае, если нажимаете подтвердить заказ, сразу перед экраном оплаты z-payment. но когда нажимаете подвердить, то заказ заносится в базу с нулевым значением order_status_id = 0, а после нажатия кнопки "вернуться в магазин", т.е перехода по sucess url 0 меняется на 1 и заказ появляется в админке и в личном кабинете. эта графа в таблице oc-order.

Надіслати
Поділитися на інших сайтах


по поводу кеширования скриптов.Например если оплачивать с помощью их валюты zp, и нажимать "вернуться в магазин" то в личном кабинете статус очень быстро меняется с ожидает оплаты на оплачено.

Надіслати
Поділитися на інших сайтах


В случае со сбербанком, это действительно так.Алгоритм с отложеным платежом.подвердить => появился заказ, Статус = 0.Выбираем сбербанк. Печатаем счет.Нажимаем кнопку "возврат в магазин".Магазин понимает что клиент вернулся, но оплаты нет, (потому что платежный сервер нас дернет только после прихода денег по сбербанку.) и меняет статус заказа на "Ожидание", заказ появляется в админке и кабинете, клиент получает письмо, корзина очищается.Когда то потом приходит подтверждение о получении оплаты от робота.Статус заказа меняется на "Оплачен, в работе" - клиент получает письмо.Да, в данном случае если не вернуться в магазин, заказ не появится в админке до получения реальной оплаты. Алгоритм мнгновенного платежа.подвердить => появился заказ, Статус = 0.платим Z-рублами со своего кошелька.Робот дергает магазин, статус заказа меняется на "Оплачен, в работе", появляется в админке и кабинете, клиент получает письмо.Нажимаем кнопку "возврат в магазин". Магазин понимает что клиент вернулся, оплата есть, чистит корзину и ничего больше не делает.В данном случае если не вернуться на сайт, заказ будет оформлен, но корзина не очищена.Надо подумать как ее чистить при таком раскладе.

Надіслати
Поділитися на інших сайтах


по поводу кеширования скриптов.Например если оплачивать с помощью их валюты zp, и нажимать "вернуться в магазин" то в личном кабинете статус очень быстро меняется с ожидает оплаты на оплачено.

Это по тому, что вы вернулись в магазин чуть раньше робота, который известил сайт об оплате.У зпаймента задержка при этом секунд 8.Вообще платежные системы злодеи. Им бы отправлять клиента назад после успешной оплаты автоматом. Жилось бы легче.
Надіслати
Поділитися на інших сайтах


Так вот со всеми отложенными платежами так получается. Что если клиент не нажмет вернуться в магазин, то мы не получим информацию что клиент сделал заказ, ни клиент потом, если завйдет в свой ЛК не увидит ничего, испугается и не будет квитанцию оплачивать.Я вот сегодня это обнаружил, пришла от ЗП уведомлялка, что счет выставлен, смотрю, а заказа в админке нет, т.е чтобы узнать по нему детали, надо в базу лезть. Главный минус - то, что это может отпугнуть клиента, что квитанцию ему выписали, а в ЛК информации о заказе нет.Я пока что написал на стадии выбора способа оплаты, чтобы нажимали на кнопку вернуться в магазин.

Надіслати
Поділитися на інших сайтах


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

Для формирования видимого заказа нужна какая то отмашка. Кто бы ее мог дать? На какой стадии?Ведь когда мы посылаем клиента к банкирам мы не знаем заранее, будет быстрый платеж или отложенный.Хорошая мысль предупреждать клиента об обязательном возврате в магазин после оплаты товара.Если показывать заказы с 0 статусом, то вам моментально заспамят админку.
Надіслати
Поділитися на інших сайтах


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

Надіслати
Поділитися на інших сайтах


Значит перед переходом на сайт платежных систем нужно выкидывать алерт и объяснять клиенту, что для правильного формирования заказа, он обязан вернуться в магазин после оплаты или выписки счета. И кнопку "Да обязуюсь" и "Нет, не понял."Другой вариант, пинать платежные системы, чтобы они принимали от магазинов дополнительный параметр, позволяющий нам заставить вернуть пользователя в магазин, для корректного завершения операции.

Надіслати
Поділитися на інших сайтах


Если сделаете алерт, то выложите пожалуйста.)Моих знаний хватает на то чтобы вставить в шаблон надпись. На экране выбора способа оплаты.Да, пнуть бы не помешало.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.