Высоконагруженный проект должен не только предоставлять быстрый и качественный сервис, но и окупать себя. Нам приходится бороться не только за проценты, увеличивающие производительность и надежность, но и за процент проведенных транзакций. При большом объеме платежей разница в 1% может быть внушительной и окупать все затраты.
Я расскажу о том, как устроен биллинг в таком большом международном проекте, как Badoo, расскажу про возникавшие по мере роста проблемы, продемонстрирую архитектуру, к которой мы в итоге пришли, и объясню, почему она получилась именно такой. Отдельная подтема - то, как мы «готовим» процессинг кредитных карт и как он устроен. Также я расскажу про рекуррентные платежи, процессе разработки и мониторинге
1 of 68
Download to read offline
More Related Content
Прием платежей в Badoo взгляд изнутри. HighLoad++ 2014 (HL++ 2014)
2. Badoo это
● Сайт для поиска новых знакомств
● Более 200 млн. зарегистрированных
пользователей
● Мобильные приложения под Android, iOS,
Windows, BlackBerry. А также Wap и
HTML5
● Работаем во всех странах мира
11. Что нас не устраивало
● Сложно поддерживать разную
конфигурацию
● Единая точка отказа
● Нельзя легко масштабироваться
● Выкладка кода сайта и сервера
мобильных приложений происходит в
разное время
27. Требования к агрегаторам
● Безопасность
● Повтор уведомлений
● Понятная документация
● Поддержка нашего идентификатора
транзакции
● Возможность инициировать закрытие
подписки или проверять ее статус
29. Логирование
● Стараемся писать как можно больше
● Каждый запрос имеет уникальный
идентификатор
● Логи собираются со всех серверов в
общее место
● По идентификатору запроса можно
найти все связанные с ним события
31. История мониторинга
● Мало интеграций. Каждый день смотрим
все графики
● Интеграций становится больше. Делаем
страницу с избранными графиками.
Смотрим их каждый день, все остальное
когда получится
● Понимаем, что нужно автоматизировать
процесс
47. Что влияет на успешность транзакций
● Сумма транзакции
● Тип товара/услуги
● Тип банковской карты
● Место совершения платежа
● Число транзакций
48. Что влияет на успешность транзакций
● Сумма транзакции
● Тип товара/услуги
● Тип банковской карты
● Место совершения платежа
● Число транзакций
● MCC (Merchant Category Code)
● Локальный эквайринг (Доверие между
банками)
49. MCC (Merchant Category Code)
7273
4814
8641
Дайтинг и эскорт услуги
(Dating and Escort Services)
Телекомы (Telecoms)
Социальные, гражданские
и услуги сообществ
(Social, Civic and Fraternity
services)
60. One-click платежи
● Пользователь должен выдать
разрешение, совершив первый платеж
● Для повторых платежей, без участия
пользователя, нужен токен
● Токен привязан к конкретному
агрегатору
67. Заключение
● Если для биллинга есть целый отдел, стоит
подумать о выделении его в сервис
● Не забывать что качество зависит не только от нас,
но и от наших партнеров
● Нужно следить за мошенниками, спамерами и
фродом
● Если поток транзакций большой, важен каждый
процент
68. Спасибо за внимание!
Вопросы?
Badoo Development
twitter.com/BadooDev
habrahabr.ru/company/badoo/
Анатолий Панов
anatoly@i-panov.com