Tamkovich.com: Телеком/VoIP блог
Современные технологии: Asterisk, SIP, Kamailio, Linux, Cisco, Linksys
Платёжная система Chronopay (Хронопей)
27 ноября, 2009 by Сергей Тамкович
РазноеПлатёжная система Хронопей (Chronopay) позволяет вам принимать платежи через интернет. Поддерживает все основные пластиковые карточки + WebMoney и Яндекс Деньги. Сайт системы — воодушевляет, нам сходу обещают:
- поддержка большинства популярных платежных инструментов;
- упрощенная схема подключения;
- прием платежей в 158 мировых валютах;
- простой и удобный бэк-офис;
- бесплатная техническая и пользовательская поддержка в режиме 24/7/365;
- высочайшие стандарты безопасности – умная система борьбы с мошенничеством.
И многое другое. И ведь не обманывают, действительно есть поддержка 158 мировых валют. Но особенно подробно я хотел бы остановиться на «простом и удобном» бэк-офисе. Забегая вперёд, скажу: хуже системы я ещё не видел.
За неделю, в течении которой я занимался интеграцией «удобного и простого» с нашей системой, я выловил такое количество детских ошибок, что невольно возникают вопросы: а тестировал ли кто-нибудь данное поделие? а есть ли вообще у Хронопей клиенты? Первыми граблями оказались проблемы с русским языком. Обозвать свои товары или свою компанию по-русски вы не сможете. Дело в том, что «админский» интерфейс Chronopay имеет кодировку UTF-8, а клиентский — CP1251. Хронопей показывает все названия в клиентском интерфейсе — без перекодировки, таким образом Русские буквы введенные в utf8, при отображении в cp1251 превращаются в крокозяблы.
Инновационным следует признать метод обозначения скрипта для обработки уведомлений о платежах (IPN). Отсталые системы, такие как PayPal и Moneybookers, заставляют указывать адрес скрипта IPN в интерфейсе администратора. То ли дело Хронопей! Единственный способ указать адрес IPN скрипта — это передать его как один из параметров платёжной формы. А вдруг у вас разные скрипты для каждого платежа?! Гениально!
Начали проверять взаимодействие. Сделали несколько платежей, всё работает. Запустили сервис в эксплуатацию, клиенты начали жаловаться, что на некоторые договора не проходят платежи с Яндекс деньги и Webmoney. Хронопей выдаёт вот такую ошибку:
'Product description' length should be not less than 3 characters
Что самое интересное, поле «Product description» не передаётся в информации о платеже. Это поле присутствует в интерфейсе администратора системы Хронопей и значение его, одинаково для всех платежей. По умолчанию это поле — пустое, это не мешает проходить платежам с пластиковых карт (VISA/MasterCard). Забивание длинной строчки, в интерфейсе администратора — так же не помогло. После многочисленных проб и ошибок, путём подбора, было обнаружено, что Хронопею не нравится размер (длинна) поля product_name, в котором я передавал номер договора. Если договор был меньше 1000 — Хронопей выдавал ошибку. Перепутать имена полей в сообщении об ошибке — чудесно. Но ещё чудесней то, что техническая поддержка, та которая 24/7/365, так и не смогла объяснить почему Хронопей отклоняет платежи с ошибкой. Я не исключаю, что они не журналируются.
Техническая сторона Chronopay произвела крайне негативное впечатление. Невнятная документация, большое количество неиспользуемых переменных, кривая реализация уведомлений о платежах (IPN). Chronopay не выглядит солидной, целостной системой. Вероятно, её делали по очереди несколько студентов, не особо разбираясь в работе предыдущего. Руководству данного сервиса, следовало бы нанять хорошего инженера для проведения технического аудита платёжной системы и выполнения «работы над ошибками». При этом, инженеру не надо быть гением — всё давно изобретено, достаточно лишь педантично реализовать лучшее, из того что есть у конкурентов.
Разное