ݺߣ

ݺߣShare a Scribd company logo
Прием платежей в Badoo - 
взгляд изнутри 
Анатолий Панов
Я расскажу 
● Об архитектуре биллинга в Badoo 
● О нашем процессинге кредитных карт 
● И том как у нас выглядит подключение 
нового способа оплаты
Badoo это 
● Сайт для поиска новых друзей 
● Более 200 млн. зарегистрированных 
пользователей 
● Мобильные приложения под Android, iOS, 
Windows, BlackBerry. А также Wap и 
HTML5 
● Работаем во всех странах мира
Прием платежей в Badoo  взгляд изнутри. Dev Conf 2014
Прием платежей в Badoo  взгляд изнутри. Dev Conf 2014
Billing Badoo 
DB
Что нас не устраивало 
● Сложно поддерживать разную 
конфигурацию 
● Единая точка отказа 
● Нельзя легко масштабироваться 
● Выкладка кода сайта и сервера 
мобильных приложений происходит в 
разное время
Billing Badoo 
DB 
DB
Billing Badoo 
DB 
DB
Billing Badoo 
DB 
DB
Billing Badoo 
DB 
Billing API 
HTTP/JSON 
DB
Billing Badoo 
DB 
Billing API 
HTTP/JSON 
DB
Billing 
Web app 
Billing API 
HTTP/JSON Mobile app
Billing Credit Card 
DB 
processing 
DB 
HTTPS
PCI DSS 
● Стандарт безопасности разработанный 
международными платежными системами 
● Несколько уровней, с различными 
требованиями в зависимости от 
количества транзакций в год
Доля успешных 
Фрод (Fraud) 
платежей 
Безопасность 
(PCI DSS)
Что такое фрод и чем он опасен
Как бороться с фродом
3D Secure
3D Secure 3D Secure
Негативное влияние 3D Secure
Поэтому мы проводим через 
3D Secure только подозрительные 
платежи
Доход
Покупатель Продавец Платежный шлюз 
Платежная Банк-эквайер 
система (МПС) 
Банк-эмитент
Что влияет на успешность транзакций 
● Сумма транзакции 
● Тип товара/услуги 
● Тип банковской карты 
● Место совершения платежа 
● Число транзакций
Что влияет на успешность транзакций 
● Сумма транзакции 
● Тип товара/услуги 
● Тип банковской карты 
● Место совершения платежа 
● Число транзакций 
● MCC (Merchant Category Code) 
● Локальный эквайринг (Доверие между 
банками)
MCC (Merchant Category Code) 
7273 
4814 
8641 
Дайтинг и эскорт услуги 
(Dating and Escort Services) 
Телекомы (Telecoms) 
Социальные, гражданские 
и услуги сообществ 
(Social, Civic and Fraternity 
services)
Эффект от локального эквайринга
Routing Platform
Routing Platform
Routing Platform
Routing Platform 
50% 30% 20%
Merchant Risk Council Spotlight Award
Прием платежей в Badoo  взгляд изнутри. Dev Conf 2014
Прием платежей в Badoo  взгляд изнутри. Dev Conf 2014
Почему нельзя просто подключить 
одного агрегатора, который 
предлагает больше всего методов?
Если проект маленький, то так 
и стоит поступить
Для больших проектов 
● Уменьшение рисков 
● Можно выбрать агрегатора с наименьшей 
комиссией 
● Разная реализация одних и тех же 
способов оплаты 
● Пользователи инертны и хотят платить 
привычным способом
Голландия
Германия
Франция
Польша
Россия
Прием платежей в Badoo  взгляд изнутри. Dev Conf 2014
Как выглядит подключение 
нового агрегатора?
Этапы подключения 
1. Проверка документации. Соответствует 
ли агрегатор нашим требованиям
1. Требования к агрегаторам 
● Повтор уведомлений, если мы отвечаем 
ошибкой 
● Поддержка нашего идентификатора 
транзакции. Это строка длинной 32 
символа, содержащая тире 
● Возможность инициировать закрытие 
подписки или проверять ее статус
Этапы подключения нового агрегатора 
1. Проверка документации. Соответствует 
ли агрегатор нашим требованиям 
2. Написание кода
Этапы подключения нового агрегатора 
1. Проверка документации. Соответствует 
ли агрегатор нашим требованиям 
2. Написание кода 
3. Тестирование и запуск
Прием платежей в Badoo  взгляд изнутри. Dev Conf 2014
Прием платежей в Badoo  взгляд изнутри. Dev Conf 2014
Devel
Прием платежей в Badoo  взгляд изнутри. Dev Conf 2014
Devel 
Shot 
External 
Shot
Devel 
Shot 
Staging 
External 
Shot 
Production
Этапы подключения нового агрегатора 
1. Проверка документации. Соответствует 
ли агрегатор нашим требованиям 
2. Написание кода 
3. Тестирование и запуск 
4. Эксплуатация. Поддержка пользователей 
и кода.
60-70% наших задач - это поддержка 
пользователей и уже написанного 
кода
Поддержка пользователей 
● В Лондоне есть отдел, который 
занимается поддержкой пользователей 
● Знают несколько языков, общаются с 
пользователями на их языке 
● Есть интерфейс, где модератор видит все 
покупки пользователя. Это позволяет 
решать им до 90% проблем 
самостоятельно
Логирование 
● Стараемся писать как можно больше 
● Каждый запрос имеет уникальный 
идентификатор 
● Логи собираются со всех серверов в 
общее место 
● По идентификатору запроса можно найти 
все связанные с ним события
Как узнать что что-то сломалось?
Следим за числом и типом ошибок
Мониторинг 
● Zabbix мониторит то, для чего можно 
выставить однозначные пороги 
● Для агрегаторов этого сделать нельзя из- 
за разного трафика
Прием платежей в Badoo  взгляд изнутри. Dev Conf 2014
История мониторинга 
● Мало интеграций. Каждый день смотрим 
все графики 
● Интеграций становиться больше. Делаем 
страницу с избранными графиками. 
Смотрим их каждый день, все остальное 
когда получится 
● Понимаем, что нужно автоматизировать 
процесс
Автоматический мониторинг
Прием платежей в Badoo  взгляд изнутри. Dev Conf 2014
Заключение 
● Если для биллинга есть целый отдел, 
стоит подумать о выделении его в сервис 
● Логировать всё, что можно 
● Мониторить как можно больше 
● Нужно следить за мошенниками, 
спамерами и фродом 
● Если поток транзакций большой, нужно 
задуматься об увеличении доли 
успешных платежей
Спасибо за внимание! 
Вопросы? 
Badoo Development 
twitter.com/BadooDev 
habrahabr.ru/company/badoo/ 
Анатолий Панов 
anatoly@i-panov.com

More Related Content

Прием платежей в Badoo взгляд изнутри. Dev Conf 2014

  • 1. Прием платежей в Badoo - взгляд изнутри Анатолий Панов
  • 2. Я расскажу ● Об архитектуре биллинга в Badoo ● О нашем процессинге кредитных карт ● И том как у нас выглядит подключение нового способа оплаты
  • 3. Badoo это ● Сайт для поиска новых друзей ● Более 200 млн. зарегистрированных пользователей ● Мобильные приложения под Android, iOS, Windows, BlackBerry. А также Wap и HTML5 ● Работаем во всех странах мира
  • 7. Что нас не устраивало ● Сложно поддерживать разную конфигурацию ● Единая точка отказа ● Нельзя легко масштабироваться ● Выкладка кода сайта и сервера мобильных приложений происходит в разное время
  • 11. Billing Badoo DB Billing API HTTP/JSON DB
  • 12. Billing Badoo DB Billing API HTTP/JSON DB
  • 13. Billing Web app Billing API HTTP/JSON Mobile app
  • 14. Billing Credit Card DB processing DB HTTPS
  • 15. PCI DSS ● Стандарт безопасности разработанный международными платежными системами ● Несколько уровней, с различными требованиями в зависимости от количества транзакций в год
  • 16. Доля успешных Фрод (Fraud) платежей Безопасность (PCI DSS)
  • 17. Что такое фрод и чем он опасен
  • 20. 3D Secure 3D Secure
  • 22. Поэтому мы проводим через 3D Secure только подозрительные платежи
  • 24. Покупатель Продавец Платежный шлюз Платежная Банк-эквайер система (МПС) Банк-эмитент
  • 25. Что влияет на успешность транзакций ● Сумма транзакции ● Тип товара/услуги ● Тип банковской карты ● Место совершения платежа ● Число транзакций
  • 26. Что влияет на успешность транзакций ● Сумма транзакции ● Тип товара/услуги ● Тип банковской карты ● Место совершения платежа ● Число транзакций ● MCC (Merchant Category Code) ● Локальный эквайринг (Доверие между банками)
  • 27. MCC (Merchant Category Code) 7273 4814 8641 Дайтинг и эскорт услуги (Dating and Escort Services) Телекомы (Telecoms) Социальные, гражданские и услуги сообществ (Social, Civic and Fraternity services)
  • 33. Merchant Risk Council Spotlight Award
  • 36. Почему нельзя просто подключить одного агрегатора, который предлагает больше всего методов?
  • 37. Если проект маленький, то так и стоит поступить
  • 38. Для больших проектов ● Уменьшение рисков ● Можно выбрать агрегатора с наименьшей комиссией ● Разная реализация одних и тех же способов оплаты ● Пользователи инертны и хотят платить привычным способом
  • 45. Как выглядит подключение нового агрегатора?
  • 46. Этапы подключения 1. Проверка документации. Соответствует ли агрегатор нашим требованиям
  • 47. 1. Требования к агрегаторам ● Повтор уведомлений, если мы отвечаем ошибкой ● Поддержка нашего идентификатора транзакции. Это строка длинной 32 символа, содержащая тире ● Возможность инициировать закрытие подписки или проверять ее статус
  • 48. Этапы подключения нового агрегатора 1. Проверка документации. Соответствует ли агрегатор нашим требованиям 2. Написание кода
  • 49. Этапы подключения нового агрегатора 1. Проверка документации. Соответствует ли агрегатор нашим требованиям 2. Написание кода 3. Тестирование и запуск
  • 52. Devel
  • 55. Devel Shot Staging External Shot Production
  • 56. Этапы подключения нового агрегатора 1. Проверка документации. Соответствует ли агрегатор нашим требованиям 2. Написание кода 3. Тестирование и запуск 4. Эксплуатация. Поддержка пользователей и кода.
  • 57. 60-70% наших задач - это поддержка пользователей и уже написанного кода
  • 58. Поддержка пользователей ● В Лондоне есть отдел, который занимается поддержкой пользователей ● Знают несколько языков, общаются с пользователями на их языке ● Есть интерфейс, где модератор видит все покупки пользователя. Это позволяет решать им до 90% проблем самостоятельно
  • 59. Логирование ● Стараемся писать как можно больше ● Каждый запрос имеет уникальный идентификатор ● Логи собираются со всех серверов в общее место ● По идентификатору запроса можно найти все связанные с ним события
  • 60. Как узнать что что-то сломалось?
  • 61. Следим за числом и типом ошибок
  • 62. Мониторинг ● Zabbix мониторит то, для чего можно выставить однозначные пороги ● Для агрегаторов этого сделать нельзя из- за разного трафика
  • 64. История мониторинга ● Мало интеграций. Каждый день смотрим все графики ● Интеграций становиться больше. Делаем страницу с избранными графиками. Смотрим их каждый день, все остальное когда получится ● Понимаем, что нужно автоматизировать процесс
  • 67. Заключение ● Если для биллинга есть целый отдел, стоит подумать о выделении его в сервис ● Логировать всё, что можно ● Мониторить как можно больше ● Нужно следить за мошенниками, спамерами и фродом ● Если поток транзакций большой, нужно задуматься об увеличении доли успешных платежей
  • 68. Спасибо за внимание! Вопросы? Badoo Development twitter.com/BadooDev habrahabr.ru/company/badoo/ Анатолий Панов anatoly@i-panov.com