В приоритете делаем КГУ, этот проект только, если нет задач по КГУ.
Alexey Bychkov on September 25, 2013:
Сразу основные вопросы, пришедшие в голову: * "Необходимо разработать веб-приложение" - что имеется ввиду под веб-приложением? * это должно как-то быть связано с бэкендом, КГУ или ещё чем-то? как и чем именно? или полностью автономная система? * кто должен иметь сюда доступ? 1 пользователь? или несколько? нужна возможность их создавать?
Андрей Буганов on September 25, 2013:
1. Веб-сайт, аналогичный админке КГУ например 2. Пока полностью автономная система (интеграция только с Деньги.Онлайн) 3. Уточню у Виктора
Андрей Буганов on September 25, 2013:
3. Только один администратор, требуется добавить форму авторизации, и форму изменения настроек, в настройки пока только смену пароля.
Alexey Bychkov on October 21, 2013:
Андрей, приступили к внимательному анализу задачи. Несколько вопросов по ТЗ:
"формирование отчетности осуществляется в пользователском интерфейсе Деньги.Онлайн"
1. Делается на стороне сервиса и дополнительных усилий со стороны программиста не надо для этого?
2. Для работы нужен доступ к самому сервису
3. Не уверен, что получится сделать импорт как описали в ТЗ.
Альтернатива: Нажимаем «Импорт», появляется всплывающее окно, выбираем файл, жмем «Импортировать». Отправляется форма, страница перезагружается. Если есть ошибки — они показываются как сейчас на сайте (всплывающее красное окно с текстом ошибки). Если файл можно импортировать — то импортируем. Все ошибки записываются в логи и доступны все сразу после загрузки страницы, если есть ошибки требующие подтверждения (сумма больше 10000) — то можно при загрузке страницы их сразу показывать.
"В случае, если “ID провайдера” = 9 OR xx " 4. что за ХХ?
"“Срок действия карты”, преобразованной к формату /^[\d]{1,2}[\d]{4}$/ - ММГГ"
5. Но в примере импорта срок действия указан такой: 0715. Где ошибка?
6. Оплата будет совершаться с основного баланса?
Андрей Буганов on October 21, 2013:
1. Да 2. Создадим, пока делайте внутреннюю логику 3. Импорт желательно сделать как описано, в чем конкретно проблема реализации описанной схемы? 4. Пока делаем только 9, еще добавятся со временем 5. Если попадется 0715 преобразовывать к 072015 6. Не понятен вопрос, их может быть несколько?
Alexey Bychkov on October 22, 2013:
По поводу 3:
Вы описали ранее интерактивный импорт. Выбираешь файл, он проверяется, в случае проверки сразу выводятся ошибки. Если файл нормальный — то мы сразу видим процесс импорта. Первая запись добавилась, вторая, в третьей какая-то ошибка, мы ее не добавили (вместо это показали ошибку в логе), в четвертой очень большая сумма — появилось окошко подтверждения (мы ждем нажатия да или нет, а пока ничего не делаем).
1. Для того что бы проверить структуру файла необходимо отправить его на сервер, разобрать и посмотреть что внутри. Отправить его можно стандартной формой или тратить лишнее время и подключать плагины, которые отправляют файлы без перезагрузки.
2. Логичнее сделать 1 запрос на сервер ДеньгиОнлайн (достать список провайдеров) и проверить по нему сразу весь список с экселя, чем для каждой строки делать этот запрос.
3. Не стоит забывать о пагинации, она у нас строится при загрузке страницы. Нельзя без излишней траты времени сделать так что бы после добавления новой записи она появилась вверху, а последняя (с этой страницы) перешла на следующую страницу.
Другими словами, это серьезно затянется по времени. Структурно и логически сильно отличается от текущих функционалов.
По поводу 6:
Есть основной баланс и Региональные.
Андрей Буганов on October 22, 2013:
1. Тогда делаем так: Импортируем файл, разбираем, загружаем в БД корректные записи, для ошибочных формируем список лога, перенаправляемся на страницу пользователей, в логе выводим список всех ошибок. 2. Если это есть у Деньги.Онлайн (в ТЗ про бюджеты вроде ничего нет), то используем основной баланс
Alexey Bychkov on October 24, 2013:
Работаем над этой задачей. Сейчас важны доступы в систему.
Андрей Буганов on October 24, 2013:
Доступ дал в скайпе
Alexey Bychkov on October 25, 2013:
Андрей, по поводу доступа...
Для подключения к системе GSG необходимо: 1) заключить договор с ДеньгиOnline (по данному вопросу можно обращаться по адресу электронной почты sales@den gionline.com); 2) получить от ДеньгиOnline идентификатор клиента и секретный ключ, а также наладить техническое взаимодействие (по данному вопросу можно обращаться по адресу электронной почты tech@dengionline.com). После подключения к системе по всем возникшим операционным вопросам клиенту необходимо обращаться по адресу электронной почты merchant@dengionline.com.
Сейчас вы просто зарегистрировали аккаунт, но этого не достаточно. Как описано в пункте 2: нужно заключить договор, что бы получить project_id и secret_key. Именно они собственно и нужны для отладки взаимодействия.
Alexey Bychkov on October 25, 2013:
и еще не уверен, что правильно зарегистрирован аккаунт. В примерах указано что валюта основного баланса - рубли, а у нас доллары. Был ли выбор валюты главного баланса? Потому что придется делать оплаты в рублях.
Андрей Буганов on October 28, 2013:
Алексей, а откуда информация про договор? я насколько знаю договор есть и был заключен еще в июле. А валюты разве нельзя указать в рублях в API?
Alexey Bychkov on October 28, 2013:
в аккаунте, который вы дали нет информации о project_id, secret - это ид проекта и секретный ключ для API запросов. сделали вывод, что вы не заключили договор. Эти данные необходимы для продолжения работы.
Можно указать, что оплата в рублях. НО, тогда при конвертации из USD в RUR будут теряться комиссии. Логичнее сделать основной счет в рублях, мне так кажется.
Андрей Буганов on October 28, 2013:
Запросил идентификатор и ключ. По деньгам посмотрю договор позже.
Alexey Bychkov on October 30, 2013:
Из документации (пункт 4.5):
«Для выплат в VMT/MCMC в запросе должны быть переданы параметры: name (string) — ФИО получателя платежа (должны совпадать с именем на карте); expiry (integer) — дата истечения срока действия карты (в формате ММГГ); phone (integer) — телефон получателя платежа в международном формате (без знака +); account (integer) — номер банковской карты.»
Phone — в системе указано, что телефоны хранятся длинной 10, а это без кода страны. Можно автоматически подставлять код России, но не будет ли проблем с другими странами?
Может быть сразу в Excel писать номер телефона согласно международного формата без + и соответственно импортировать их так в систему?
Из ТЗ: «Номер карты - дополнительно проверяется первая цифры номера на соответствие с доступными платежными системами (пока только MasterCard, в ближайшее время и VISA). В случае ошибки в “Лог ошибок” записывается сообщение “Для получателя [Получатель] телефон [Телефон] указана карта, платежная система которой не доступна для перевода средств через Деньги.Онлайн”. Данная строка импортируемого файла игнорируется. Список кодов всех платежных систем (http://bankirsha.com/nomer-bankovskoi-karty-nomer-karty.html): 1. VISA – 4; 2. American Express – 3, 3. MasterCard – 5, 4. Maestro - 3, 5 или 6. В Деньги.Онлайн сообщили что платеж для Maestro просто не пройдет в системе и вернет ошибку. Отличить Maestro от American Express и MasterCard нет никакой возможности на нашей стороне.»
Где-то здесь ошибка: - здесь написано, что мастер кард может начинаться только с 5. - в ДеньгиOnline, когда запрашиваешь платежные системы, то к каждой из них он отправляет регулярное выражение, по которому можно проверить счет. Так вот судя по этому выражения номер карты мастера кард может начинаться с 5, 677189 или 677288.
Исходя из этого проверку на первую цифру не делали.
В связи с тем, что валюта основного счета — USD, появляется проблема: для каждой платежной системы приходят лимиты на оплату (минимум и максимум), так вот они приходят в долларовом эквиваленте. Как результат их отключили и полагаемся на валидацию со стороны сервиса.
Андрей Буганов on October 31, 2013:
Phone — в системе указано, что телефоны хранятся длинной 10, а это без кода страны. Можно автоматически подставлять код России, но не будет ли проблем с другими странами? - если код страны не указан, то подставляем автоматически 7, если код есть - оставляем который указан
- здесь написано, что мастер кард может начинаться только с 5. - все верно, Maestro это и есть Mastercard, но они все же отличаются по своим возможностям. Проверка нужна, в ошибки попадают все карты начинающиеся на 1, 2, 3, 7, 8, 9, 0
А текущий курс валют нельзя запрашивать по API?
Alexey Bychkov on November 4, 2013:
ок, хорошо
>>> А текущий курс валют нельзя запрашивать по API?
можно, НО, это дополнительный запрос к API, который не нужен. К тому же зачем возиться с пересчетами и нагружать код переводом валюты, если достаточно сделать основную валюту в рублях?
Alexey Bychkov on November 4, 2013:
Андрей, в целом - закончили.
Ждем от вас ответа по курсу, делаем последние правки/проверки и можно будет смотреть.
Андрей Буганов on November 5, 2013:
Алексей, основная валюта это USD, так указано в договоре и на это есть причины.
Comments
Андрей Буганов on September 25, 2013:
Ознакомится с ТЗ https://drive.google.com/folderview?id=0B_apKFByhvnGM3p1Z3BsZHRLTnc&usp=sharing
Задать вопросы.
После этого приступим к работе.
В приоритете делаем КГУ, этот проект только, если нет задач по КГУ.
Alexey Bychkov on September 25, 2013:
* "Необходимо разработать веб-приложение" - что имеется ввиду под веб-приложением?
* это должно как-то быть связано с бэкендом, КГУ или ещё чем-то? как и чем именно? или полностью автономная система?
* кто должен иметь сюда доступ? 1 пользователь? или несколько? нужна возможность их создавать?
Андрей Буганов on September 25, 2013:
2. Пока полностью автономная система (интеграция только с Деньги.Онлайн)
3. Уточню у Виктора
Андрей Буганов on September 25, 2013:
Alexey Bychkov on October 21, 2013:
"формирование отчетности осуществляется в пользователском интерфейсе Деньги.Онлайн"
1. Делается на стороне сервиса и дополнительных усилий со стороны программиста не надо для этого?
2. Для работы нужен доступ к самому сервису
3. Не уверен, что получится сделать импорт как описали в ТЗ.
Альтернатива:
Нажимаем «Импорт», появляется всплывающее окно, выбираем файл, жмем «Импортировать».
Отправляется форма, страница перезагружается. Если есть ошибки — они показываются как сейчас на сайте (всплывающее красное окно с текстом ошибки).
Если файл можно импортировать — то импортируем. Все ошибки записываются в логи и доступны все сразу после загрузки страницы, если есть ошибки требующие подтверждения (сумма больше 10000) — то можно при загрузке страницы их сразу показывать.
"В случае, если “ID провайдера” = 9 OR xx "
4. что за ХХ?
"“Срок действия карты”, преобразованной к формату /^[\d]{1,2}[\d]{4}$/ - ММГГ"
5. Но в примере импорта срок действия указан такой: 0715. Где ошибка?
6. Оплата будет совершаться с основного баланса?
Андрей Буганов on October 21, 2013:
2. Создадим, пока делайте внутреннюю логику
3. Импорт желательно сделать как описано, в чем конкретно проблема реализации описанной схемы?
4. Пока делаем только 9, еще добавятся со временем
5. Если попадется 0715 преобразовывать к 072015
6. Не понятен вопрос, их может быть несколько?
Alexey Bychkov on October 22, 2013:
По поводу 3:
Вы описали ранее интерактивный импорт. Выбираешь файл, он проверяется, в случае проверки сразу выводятся ошибки. Если файл нормальный — то мы сразу видим процесс импорта. Первая запись добавилась, вторая, в третьей какая-то ошибка, мы ее не добавили (вместо это показали ошибку в логе), в четвертой очень большая сумма — появилось окошко подтверждения (мы ждем нажатия да или нет, а пока ничего не делаем).
1. Для того что бы проверить структуру файла необходимо отправить его на сервер, разобрать и посмотреть что внутри. Отправить его можно стандартной формой или тратить лишнее время и подключать плагины, которые отправляют файлы без перезагрузки.
2. Логичнее сделать 1 запрос на сервер ДеньгиОнлайн (достать список провайдеров) и проверить по нему сразу весь список с экселя, чем для каждой строки делать этот запрос.
3. Не стоит забывать о пагинации, она у нас строится при загрузке страницы. Нельзя без излишней траты времени сделать так что бы после добавления новой записи она появилась вверху, а последняя (с этой страницы) перешла на следующую страницу.
Другими словами, это серьезно затянется по времени. Структурно и логически сильно отличается от текущих функционалов.
По поводу 6:
Есть основной баланс и Региональные.
Андрей Буганов on October 22, 2013:
2. Если это есть у Деньги.Онлайн (в ТЗ про бюджеты вроде ничего нет), то используем основной баланс
Alexey Bychkov on October 24, 2013:
Сейчас важны доступы в систему.
Андрей Буганов on October 24, 2013:
Alexey Bychkov on October 25, 2013:
Для подключения к системе GSG необходимо:
1) заключить договор с ДеньгиOnline (по данному вопросу можно обращаться по адресу электронной почты sales@den
gionline.com);
2) получить от ДеньгиOnline идентификатор клиента и секретный ключ, а также наладить техническое взаимодействие
(по данному вопросу можно обращаться по адресу электронной почты tech@dengionline.com).
После подключения к системе по всем возникшим операционным вопросам клиенту необходимо обращаться по адресу
электронной почты merchant@dengionline.com.
Сейчас вы просто зарегистрировали аккаунт, но этого не достаточно. Как описано в пункте 2: нужно заключить договор, что бы получить project_id и secret_key. Именно они собственно и нужны для отладки взаимодействия.
Alexey Bychkov on October 25, 2013:
Андрей Буганов on October 28, 2013:
А валюты разве нельзя указать в рублях в API?
Alexey Bychkov on October 28, 2013:
Андрей Буганов on October 28, 2013:
По деньгам посмотрю договор позже.
Alexey Bychkov on October 30, 2013:
Из документации (пункт 4.5):
«Для выплат в VMT/MCMC в запросе должны быть переданы параметры:
name (string) — ФИО получателя платежа (должны совпадать с именем на карте);
expiry (integer) — дата истечения срока действия карты (в формате ММГГ);
phone (integer) — телефон получателя платежа в международном формате (без знака +);
account (integer) — номер банковской карты.»
Phone — в системе указано, что телефоны хранятся длинной 10, а это без кода страны. Можно автоматически подставлять код России, но не будет ли проблем с другими странами?
Может быть сразу в Excel писать номер телефона согласно международного формата без + и соответственно импортировать их так в систему?
Из ТЗ: «Номер карты - дополнительно проверяется первая цифры номера на соответствие с доступными платежными системами (пока только MasterCard, в ближайшее время и VISA). В случае ошибки в “Лог ошибок” записывается сообщение “Для получателя [Получатель] телефон [Телефон] указана карта, платежная система которой не доступна для перевода средств через Деньги.Онлайн”. Данная строка импортируемого файла игнорируется. Список кодов всех платежных систем (http://bankirsha.com/nomer-bankovskoi-karty-nomer-karty.html):
1. VISA – 4;
2. American Express – 3,
3. MasterCard – 5,
4. Maestro - 3, 5 или 6.
В Деньги.Онлайн сообщили что платеж для Maestro просто не пройдет в системе и вернет ошибку. Отличить Maestro от American Express и MasterCard нет никакой возможности на нашей стороне.»
Где-то здесь ошибка:
- здесь написано, что мастер кард может начинаться только с 5.
- в ДеньгиOnline, когда запрашиваешь платежные системы, то к каждой из них он отправляет регулярное выражение, по которому можно проверить счет. Так вот судя по этому выражения номер карты мастера кард может начинаться с 5, 677189 или 677288.
Исходя из этого проверку на первую цифру не делали.
В связи с тем, что валюта основного счета — USD, появляется проблема:
для каждой платежной системы приходят лимиты на оплату (минимум и максимум), так вот они приходят в долларовом эквиваленте. Как результат их отключили и полагаемся на валидацию со стороны сервиса.
Андрей Буганов on October 31, 2013:
- здесь написано, что мастер кард может начинаться только с 5. - все верно, Maestro это и есть Mastercard, но они все же отличаются по своим возможностям. Проверка нужна, в ошибки попадают все карты начинающиеся на 1, 2, 3, 7, 8, 9, 0
А текущий курс валют нельзя запрашивать по API?
Alexey Bychkov on November 4, 2013:
>>> А текущий курс валют нельзя запрашивать по API?
можно, НО, это дополнительный запрос к API, который не нужен. К тому же зачем возиться с пересчетами и нагружать код переводом валюты, если достаточно сделать основную валюту в рублях?
Alexey Bychkov on November 4, 2013:
Андрей Буганов on November 5, 2013:
Alexey Bychkov on November 5, 2013:
http://chat.websumy.ru/inside/payment
admin
123123123