1 / 21

Страх и ненависть в платежных системах

Годюк Арвид (Arvīds Godjuks) a.k.a. @psihius 14 июня 2014 года. Страх и ненависть в платежных системах. Обо мне. 10 лет в web – PHP, MySQL Только средние и большие проекты Активен в internals mailing list Огранизатор WebConf Riga 201 0 и 2012 2015 в планах  Демоны на PHP .

Download Presentation

Страх и ненависть в платежных системах

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Годюк Арвид (Arvīds Godjuks) a.k.a. @psihius 14 июня 2014 года Страх и ненависть в платежных системах

  2. Обо мне • 10 лет в web – PHP, MySQL • Только средние и большие проекты • Активен в internals mailing list • Огранизатор WebConf Riga 2010 и 2012 • 2015 в планах • Демоны на PHP 

  3. Что в этом докладе? • Опыт • Ещё раз опыт • И значительная сумма про*****ых денег 

  4. Чего не будет • Советов, как сделать пи**то • У каждого проекта свои заморочки • Ответа на вопрос «Где, чёрт возьми, ты работаешь, псих ненормальный?!»

  5. И так, платёжные системы • Классика • WebMoney, PayPal, Moneybookers, etc. • Ваучеры • Ukash, CashU, PaySafeCard, etc. • Криптовалюты • Bitcoin, Litecoin, etc.

  6. Реальность • Платёжки умирают • R.I.P Liberty Reserve • API платёжек координально отличаются • Деньги можно потерять

  7. Имейте альтернативу • Не складывайте все яйца в одну корзину – может получится гигансткий омлет

  8. А теперь к весёлью

  9. Приколы с API • Отсуствие SSL • Отсуствие status url • Подтверждение происходит в виде перенаправлениябраузера клиента • Это секюрно, инфа 146%!

  10. Приколы с API • Подтверждение транзакции методом парсинга HTML ответа от сервера платёжки • Пламенный привет Perfect Money

  11. Приколы с API • Когда докуметация ..., ну вы поняли • Потратил пол дня в попытках понять, почему не принимает валидный запрос на платёж. • Как оказалось – в поле комментария принимало буквы, цифры, пробел, @ и запятую. В документации ни слова.

  12. Приколы с API • Когда с сервером платёжки происходит неведома х.... • Привет Liberty Reserve, R.I.P. • Когда сервер платёжки начинает присылать двойные подтверждения. • Привет Perfect Money

  13. Оработка нотификаций • Унифицированное API • Offload обработки в background • Демоны 

  14. Защита платёжек • У многих платёжек кроме md5 хеша нет никакой дополнительной защиты • Привет видеокартам, перебирающим 150 млн. хешей в секунд • Бывает что даже нет и этого – пропускаем  • Есть платёжки, которые не имеют кастомных полей для мерчантов

  15. Защита платёжек – о хорошем • SHA1/SHA256 • Валидация нотификации через запрос на сервер платёжки • Дополнительные secret keys • Работа с SSL подписанными запросами • OAuth – привет Yandex.Money

  16. Защитаплатёжек - отсебятина • Кроме стандартных проверок на сумму платежа и валюту

  17. Защитаплатёжек - отсебятина • Испольуем custom fields • Генерируем свою подпись с данными, которые есть только внутри системы и валидируем • Проверяем платёж на соответсвие платёжной системе • Whitelisting серверов платёжек по IP

  18. Защитаплатёжек - отсебятина • Отложенная доставка купленного клиентом • Защищает так же от фрауда • Ведение собственного баланса, если вы делаете выплаты • Но нужно это делать правильно – столкнулся с race condition и вышел double spend

  19. Тайные знания  • Только для аудитории :trollface:

  20. Вопросы по архитектуре? • Не тематическая секция  • Yii 1.1 • MySQL

  21. Вопросы? • @psihius • https://www.facebook.com/psihius • arvids.godjuks@gmail.com

More Related