Тестирование подключения к платежной системе с использованием скрипта эмулятора
Доброго времени суток Вам, читающим эти строки !
У меня в данный момент вечер - 20:28.
Сегодня я расскажу Вам как протестировать подключенную к сайту платежную систему если она не имеет
тестового режима платежей.
Эту работу Мы с Вами рассмотрим на готовом уже реализованном примере сделанном для сайта на базе
megainformatic cms groupon
С такой проблемой я столкнулся, когда занимался подключением к платежной системе
interkassa.
Зайдём на сайт
megainformatic cms groupon
Нажмём кнопку
Войти и используем для входа следующие данные:
admin
123456
Теперь пошагово рассмотрим что нужно сделать для настройки и проверки подключения к платежной системе
interkassa.
1) Сначала в личном кабинете interkassa нужно настроить базовые шаги выполнения оплаты.
=========== настройки личного кабинета интеркасса =======
Success URL - http://megainformatic.ru/webprojects_cms/megainformatic_cms_groupon/pay.php?ps=interkassa&p=2
Метод передачи Success URL - POST
Fail URL - http://megainformatic.ru/webprojects_cms/megainformatic_cms_groupon/pay.php?ps=interkassa&p=3
Метод передачи Fail URL - POST
Status URL - http://megainformatic.ru/webprojects_cms/megainformatic_cms_groupon/pay.php?ps=interkassa&p=1
Метод передачи Status URL - POST
Остальные настройки выставляются на усмотрение владельца интернет-магазина.
Персональные настройки требуемые для функционирования модуля оплаты интеркасса нужно корректно прописать в файле
modules/pay/pay_systems/interkassa/config_interkassa.php
2) После того, как это сделано в админ-панели сайта входим в раздел УПРАВЛЕНИЕ > НАСТРОЙКИ САЙТА и выставляем тестовый режим
для оплаты (см. более подробно ниже - пункт 3.1)
3) Теперь можно перейти к тестированию оплаты
Тестирование оплаты через эмулирующий скрипт интеркасса
======================================
По аналогии с тем, как в статье -
Тестирование подключения платежной системы было описано тестирование оплаты через
тестовый сервер робокасса (robokassa_test)
Мы с вами будем тестировать подключение к интеркассе.
Отличием, как видите, является то, что у интеркассы нет тестового сервера, поэтому тестировать будем просто через эмулирующий скрипт, который представляет
собой обычные формы, которые мы сами же и будем отправлять.
3.1) Сначала нужно включить тестовый режим интеркассы в настройках сайта - это необходимо для корректного обращения из скрипта сайта к реальному серверу интеркассы либо к скрипту эмуляции (в нашем данном примере) - для этого -
заходим в админ-панель сайта и выбираем раздел УПРАВЛЕНИЕ > Настройки сайта
для пункта Тестовый Режим оплаты интеркасса указываем значение 1
и нажимаем кнопку Сохранить изменения.
После этого можно тестировать подключение интеркасса в тестовом режиме со скриптом эмулятора.
3.2) скрипт эмулятора - это -
http://megainformatic.ru/webprojects_cms/
megainformatic_cms_groupon/interkassa_test_payment.php
чтобы сформировать тот или иной шаг выполнения платежа (всего их 3), надо знать следующее:
сумму платежа, которую будем тестировать
id платежа, который тестируем
цп платежа (цифровую подпись)
id будущего платежа можно узнать посмотрев в админке - ПОЛЬЗОВАТЕЛИ > ОПЛАТА.
Т. е. если например
в админке уже сделано 20 платежей, то это будет номер 21
цп можно узнать там же, после того как будет выполнен шаг 3.3
цп указана в столбце sign для данного платежа
либо посмотреть на странице эмулятора сразу после выполнения шага 3.3
3.3) Входим в личный кабинет юзера
(после входа на сайт как суперадмин просто обратитесь к главной странице сайта по адресу -
megainformatic cms groupon),
а затем слева от аватарки кликните пункт ЛИЧНЫЙ КАБИНЕТ
вводим сумму пополнения, например, 120 и жмём кнопку interkassa
3.4) Попадем на страницу эмулятора, который просто распечатает на экран все переменные, переданные через POST
После этого можно в админке проверить появление записи о сделанном платеже со статусом no_pay (не оплачен)
3.5) Тестируем вызов STATUS URL (оповещение о платеже) - находясь на странице с адресом
http://megainformatic.ru/webprojects_cms/
megainformatic_cms_groupon/interkassa_test_payment.php
добавляем в конец адреса параметры, например - ?p=1&a=120.00&id=21&h=4EA8D1C9C69ABCAA3C9393D2902592CC
,где p - это тестируемый шаг платежа (от 1 до 3)
a - сумма платежа, которая будет проверяться и
id - тестируемый id (номер) платежа
h - цифровая подпись платежа - в вашем случае должна быть такая, которая была сгенерирована на шаге 3.4
т. е. адресная строка должна выглядеть как -
http://megainformatic.ru/webprojects_cms/
megainformatic_cms_groupon/interkassa_test_payment.php?p=1&a=120.00&id=21&h=4EA8D1C9C69ABCAA3C9393D2902592CC
и нажимаем ENTER чтобы перейти на эту страницу. Далее на открывшейся странице просто жмём кнопку SEND
Попадем на STATUS URL нашего сайта где будет написано OKn (n - номер платежа), а также что платеж успешно выполнен.
А в админке данный платеж должен изменить
статус на pay (оплачен).
3.6) Тестируем Fail URL
в адресной строке браузера набираем -
http://megainformatic.ru/webprojects_cms/
megainformatic_cms_groupon/interkassa_test_payment.php?p=3
и нажимаем ENTER чтобы перейти на эту страницу. Далее на открывшейся странице просто жмём кнопку SEND
В результате должна отобразиться страница обработки Fail URL - т. е. выдачу ошибки платежа
В админке платеж не меняет своё состояние
3.7) Тестируем Success URL - успешное зачисление платежа
в адресной строке браузера набираем -
http://megainformatic.ru/webprojects_cms/
megainformatic_cms_groupon/interkassa_test_payment.php?p=2&a=120.00&id=21
параметр h не указываем, т. к. на данном шаге цифровая подпись не требуется и не проверяется.
и нажимаем ENTER чтобы перейти на эту страницу. Далее на открывшейся странице просто жмём кнопку SEND
В результате должна отобразиться страница обработки Success URL - т. е. успешное завершение платежа (Ваш платеж успешно подтвержден!)
В админке платеж должен изменить своё состояние на accept
3.8) Пополнение баланса пользователя проверяется аналогично робокассе - как только админ сайта убедился, что средства от данного
пользователя действительно пришли на счёт интернет-магазина, он заходит в админку и меняет состояние этого платежа на ok.
На этом на сегодня всё :)))))
Если у вас есть необходимость в подключении любой платежной системы к вашему сайту - обращайтесь - здесь как видите было представлено готовое решение и в случае с вашей платежной системой нужно только модифицировать код под неё.
Удачи ВАМ на ниве сайтостроя !!!