Как открыть свою платежную систему
Как разработать платежную систему и конкурировать с PayPal
Время чтения: 4 минуты
Отправим вам статью на:
Пока биткоин и другие криптовалюты переживают взлёты и падения, рынок онлайн платежей и платёжных систем растет. Оборот электронных кошельков занимает 22% всего рынка электронной коммерции и достигнет 668 миллиардов долларов к 2019 году. Эксперты считают, что через 2 года транзакции между виртуальными кошельками обгонят по популярности денежные переводы с кредитных и дебетовых карт.
Платёжная система, да и просто электронный кошелёк — это комплексное решение. Не просто сервер, обрабатывающий абстрактные числа и клиентский интерфейс. Тут и интеграция с банками, и шифрование, и продуманное позиционирование. Рассказываем, как разрабатывать систему электронной коммерции и потеснить акул бизнеса.
Позиционируйте сервис правильно
Нельзя просто выйти на рынок ещё с одним “лучшим электронным кошельком”. Продукты высокого качества для всех и каждого уже существуют и делят аудиторию между собой. Это не значит, что война проиграна. Просто люди выбрали подходящий вариант из того, что есть. Они пойдут к вам, если увидят что-то выгодное и удобное.
Lifehack
Ищите сегмент аудитории, который крупные корпорации обделили своим вниманием. Изучите потребности и создайте продукт с наибольшей потребительской стоимостью именно для этого сегмента. Берите пример с нашего клиента, сервиса электронной коммерции Ezuza. Мы разработали для них электронный кошелёк, ориентированный на миллениалов и малый бизнес. Сервис стартовал в Мексике и превосходит своих конкурентов.
Продумайте функционал
Возможности системы нужны не только для красивого маркированного списка на сайте. Функции системы электронной коммерции облегчают жизнь пользователям и избавляют их от головной боли при общении с обычными банками. Тщательно изучите, чего хочет ваш клиент, и дайте ему это.
Lifehack
Специфика рынка определяет необходимый набор функций виртуального кошелька или платёжной системы. Ребята из Ezuza все изучили и выявили потребности пользователей. Люди хотели удобный мобильный кошелёк для оплаты счетов, коммунальных услуг и P2P транзакций с разумной комиссией. Кроме того, востребованной оказалась функция пополнения собственного счёта через агента. Сказано — сделано. Мы разработали два отдельных приложения для клиентов и агентов сервиса. Теперь люди пополняют виртуальные кошельки, передавая реальные деньги ближайшим представителям Ezuza. Или используют сторонние сервисы, интегрированные с платёжной системой.
Не ошибитесь в выборе разработчика
Платёжная система для работы с электронными деньгами состоит из множества компонентов и подсистем. UI/ UX дизайн, безопасность, верификация аккаунтов, выставление и оплата счетов, межбанковские операции, защита от мошенничества и отмывания денег, управление аккаунтами, маркетинг и реклама, партнёрские программы и исследование рынка. Это то, что приходится учитывать не только при разработке системы электронной коммерции, но и для создания несложного электронного кошелька.
Когда мы разрабатывали банковское ПО для EBANQ и Ezuza, было много работы по интеграции со сторонними финансовыми структурами наподобие WaveCrest, OXXO и банками разных стран. Убедитесь, что компания-разработчик умеет справляться с такими задачами.
Lifehack
Когда разработчик сталкивается с нетипичной задачей, он отправляется на поиски нужной документации. Если будете интегрировать сторонний сервис без понятных гайдов, есть риск переплатить. Вопросы будут возникать всегда, а неясная документация только усложнит поиск ответов. Убедитесь, что разработчики получат доступ к необходимым мануалам. Если там все плохо, постарайтесь уговорить владельцев сервиса обновить доки или оперативно отвечать на вопросы разработки.
Помните о безопасности транзакций
Безопасность переводов — альфа и омега банковского ПО, электронных кошельков и других систем, которые проводят операции с деньгами. Мы используем 256-битное SSL шифрование для всех финансовых операций, а также применяем кастомные алгоритмы для защиты персональных данных пользователей. Чтобы предотвратить Man-in-the-Middle атаки, мы используем алгоритм RSA. Чтобы безопасно передавать ключи пользователям — симметричное шифрование и алгоритм DES. Все секретные данные храним зашифрованными с помощью алгоритма AES, а для их передачи на сервер применяем ассиметричное шифрование и RSA.
Lifehack
Не упустите из виду примитивные меры безопасности. Чтобы защитить данные и деньги пользователей, мы убрали возможность ставить приложения агентов на устройства с правами администратора. Казалось бы, простая мера, но значительно снижает риск взлома системы и кражи средств со счетов.
Будьте готовы к тестированию в боевых условиях
Даже приложение-раскраску нельзя выпускать без предварительных тестов, не говоря уже о платёжных системах и электронных кошельках. Если с тестами возникли сложности, не спешите объявлять крестовый поход против разработчика. Иногда работоспособность системы можно проверить только в бою. Например, ваша платёжная система интегрирована с банком для оплаты коммунальных услуг. Вы просите разработчика проверить, приходят ли деньги на счёт банка, когда пользователь совершает перевод. Чтобы знать наверняка, нужно создать пользовательские аккаунты в релизной версии системы и провести несколько настоящих переводов. Тестовое окружение тут не поможет, придётся выкручиваться.
Lifehack
Чтобы обошлось без сюрпризов, попросите разработчика предусмотреть способ быстро отключить нужный канал оплаты. В случае с мобильным кошельком для Ezuza мы не стали тестировать полсотни каналов разом и придумали способ гибкого отключения оплаты. Проверяли по 5-6 одновременно и были готовы мгновенно деактивировать любой, если что-то пойдёт не так.
И это всё?
Не совсем. Остался один вопрос, и лежит он в правовом поле страны, где вы будете запускать свой сервис. Звучит так: “Нужно ли мне здесь специальное разрешение или сертификат, чтобы вести финансовую деятельность в интернете?”. Скорее всего, ответ будет положительный. Почти в каждой стране есть государственные регуляторы, которые не дают цифровым разбойникам обворовывать местных жителей. Придётся сначала договориться с центробанком, валютным фондом, президентом. Зато в обмен вы получаете право зарабатывать в рамках закона. Есть ещё Сингапур, где с регуляторами всё проще и разрешение получить несложно, но это исключение. Обязательно изучите правовой вопрос перед тем, как будете продумывать бизнес-логику, монетизацию и другие аспекты.
Если уделите должное внимание всем компонентам, получите по-настоящему востребованный и конкурентоспособный продукт. Создадите что-то уникальное для определённого сегмента аудитории — сможете урвать жирный кусок у лидеров рынка.
Не стоит рассчитывать, что PayPal канет в лету, не выдержав конкуренции с вашим мобильным кошельком или платёжной системой. Платёжные системы такого уровня не создаются усилиями одной команды разработки. Прежде чем детище Маска и Тиля захватило мир, оно пережило череду слияний, поглощений и сменяющих друг друга руководителей.
Подпишитесь
Оставьте адрес, и каждый месяц мы будем высылать свежую статью
о новых трендах в разработке програмного обеспечения.
Как сделать платежную систему своими руками
Привет, Хабр! Мы в RBKmoney новый платежный процессинг написали. С нуля. Ну не мечта ли?
Правда, как всегда, на пути к мечте, большую часть пути пришлось проплыть по рекам с подводными камнями, часть — проехать на собственноручно собранных велосипедах. На этом пути мы получили множество интересных и полезных знаний, которыми хотели бы поделиться с вами.
Мы расскажем, как написали весь процессинг RBKmoney Payments, так мы его назвали. Как делали его устойчивым к нагрузкам и сбоям оборудования, как придумали возможность его практически линейного горизонтального масштабирования.
И, под конец, как мы со всем этим взлетели, не забыв о комфорте тех, кто находится внутри — наша платежная система создавалась с мыслью о том, чтобы быть интересной в первую очередь для разработчиков, тех, кто ее создает.
Этим постом мы открываем цикл статей, в которых будем делиться как конкретными техническими вещами, подходами и реализациями, так и опытом разработки больших распределенных систем в принципе. Первая статья — обзорная, в ней мы обозначим вехи, которые будем раскрывать подробно, а иногда — очень подробно.
Со дня последней публикации в нашем блоге прошло ни много ни мало 5 лет. За это время наша команда разработки заметно обновилась, у руля компании теперь новые люди.
Когда создаешь платежную систему, нужно учесть кучу самых разных вещей и разработать множество решений. От процессинга, способного обработать тысячи одновременных параллельных запросов на списание денег, до удобных и понятных для людей интерфейсов. Банально, если не учитывать мелкие нюансы.
Суровая реальность такова, что за платежным процессингом находятся платежные организации, вовсе не с распростертыми объятиями принимающие такой трафик, а иногда даже просящие «присылать нам не более 3 запросов в секунду». А на интерфейсы смотрят люди, которые, может быть, впервые в интернете решились что-то оплатить. И любой косяк UX, непонятность и задержка — это повод запаниковать.
Корзина, в которую можно положить покупки даже во время торнадо
Наш подход в создании платежного процессинга заключается в том, чтобы предоставить возможность всегда запустить платеж. Без разницы, что творится у нас внутри — сгорел сервер, админ запутался в сетях, отключили электричество в здании/районе/городе, у нас дизель хм… потеряли. Неважно. Сервис все равно позволит запустить платеж.
Подход звучит знакомо, не так ли?
Да, мы вдохновлялись концепцией, описанной в Amazon Dynamo Paper. Парни из Амазона тоже строили все так, что пользователь должен иметь возможность положить книжку в корзину, какая бы жуть ни творилась по ту сторону его монитора.
Конечно, мы не нарушаем законы физики и не придумали как опровергнуть CAP-теорему. Не факт, что платеж тут же и проведется — ведь могут быть неполадки и на стороне банков, но запрос сервис создаст, и пользователь увидит, что все сработало. Да и нам до идеала еще десяток листингов беклога с техническим долгом, чего греха таить, можем и 504 ответить изредка.
Заглянем в бункер, раз торнадо за окном
Нужно было сделать наш платежный шлюз доступным всегда. Возросла ли пиковая нагрузка, что-то упало или ушло на обслуживание в ДЦ — конечный пользователь не должен этого замечать вообще.
Это решили минимизацией мест, где хранится состояние системы — очевидно, что stateless-приложения легко масштабировать до горизонта.
Сами приложения у нас крутятся в Docker-контейнерах, логи из которых мы надежно сливаем в центральное Elasticsearch-хранилище; друг друга они находят через Service Discovery, а данные передают по IPv6 внутри Макросервиса.
Все собранные и работающие совместно микросервисы вместе с сопутствующими службами являются Макросервисом, который предоставляет вам в итоге платежный шлюз, каким вы его видите снаружи в виде нашего публичного API.
За порядком приглядывает SaltStack, в котором описано все состояние Макросервиса.
Мы еще вернемся с подробным описанием всего этого хозяйства.
С приложениями легче.
А вот если хранить где-то состояние, то обязательно в такой базе, в которой минимальна цена выхода из строя части нод. Еще чтобы в ней не было мастер-нод с данными. Чтобы могла с предсказуемым временем ожидания на запросы отвечать. Это тут мечтают? Тогда еще чтобы ее обслуживать особо не надо было, и чтобы разработчикам-эрлангистам нравилась.
Да, разве мы еще не сказали, что вся онлайн-часть нашего процессинга на Эрланге написана?
Как многие уже, наверное, догадались выбора у нас как такового и не было.
Все состояние онлайн-части нашей системы хранится в Basho Riak. О том, как готовить Riak и не сломать себе пальцы (потому что мозг вы сломаете обязательно), мы еще расскажем, а пока продолжим дальше.
Где деньги, Лебовски?
Если взять бесконечное количество денег, возможно, удастся построить бесконечно надежный процессинг. Но это не точно. Да и денег нам особо не выделили. В аккурат на сервера уровня «качественный, но Китай».
К счастью, это привело к положительным эффектам. Когда понимаешь, что тебе как разработчику, будет несколько затруднительно получить 40 физических ядер, адресующих 512GB оперативки, приходится выкручиваться и писать маленькие приложения. Зато их можно развернуть сколько угодно много — сервера все-таки недорогие.
Еще в нашем мире любые сервера имеют тенденцию не возвращаться после перезагрузки к жизни, или даже ловить отказ блоков питания в самый неподходящий момент.
С оглядкой на все эти ужасы, мы научились строить систему с расчетом на то, что любая ее часть обязательно внезапно сломается. Сложно припомнить, вызвал ли этот подход какие-либо неудобства для разработки онлайн-части процессинга. Возможно, это как-то связано с философией эрлангистов и их знаменитой концепцией LetItCrash?
Но с серверами легче.
Мы разобрались, где размещать приложения, их много, они масштабируются. База тоже распределенная, мастера нет, сгоревшие ноды не жалко, можем быстро нагрузить телегу серверами, приехать в ДЦ и покидать их вилами в стойки.
Но с дисковыми массивами так не поступить! Выход из строя даже небольшого дискового хранилища — это отказ части платежного сервиса, чего мы себе позволить не можем. Дублировать СХД? Слишком нецелесообразно.
А дорогие брендовые дисковые массивы мы себе позволить не хотим. Даже из простого чувства прекрасного — они не будут смотреться рядом со стойками, где ровными рядами набиты ноунеймы. Да и неоправданно дорого это все стоит.
В итоге мы решили не использовать дисковых массивов вообще. Все блочные устройства у нас крутятся под CEPH на одинаковых недорогих серверах — мы можем ставить их в стойки в больших, нужных нам количествах.
С сетевым железом подход не сильно отличается. Берем середнячков, получаем хорошее, подходящее под задачи оборудование совсем недорого. На случай выхода из строя свитча — параллельно работает второй, а на серверах настроен OSPF, сходимость обеспечена.
Таким образом у нас получилась удобная, отказоустойчивая и универсальная система — стойка, набитая простыми дешевыми серверами, несколько свитчей. Следующая стойка. И так далее.
Просто, удобно и в целом — очень надежно.
Прослушайте правила поведения на борту
Нам никогда не хотелось приходить в офис, делать работу и получать оплату деньгами. Финансовая составляющая очень важна, но она не заменит удовольствия от хорошо сделанной работы. Мы уже писали платежные системы, в том числе и на предыдущих местах работы. И примерно представляли, чем мы не хотим заниматься. А не хотелось стандартных, но проверенных решений, не хотелось скучного энтерпрайза.
И мы решили подтянуть в работу максимальный свежак. В разработке платежных систем часто ограничивают новые решения, мол, зачем вам докер вообще, давайте-ка без него. И вообще. Несекьюрно. Запретить.
Мы решили ничего не запрещать, а наоборот, поощрять все новое. Так у нас в продакшене построился Макросервис из огромной кучи приложений в докер-контейнерах, управляемый через SaltStack, кластеры Riak’а, Consul в качестве Service Discovery, оригинальная реализация трассировки запросов в распределенной системе и множество других замечательных технологий.
И все это безопасно настолько, что можно без стыда публиковать программу Bugbounty на hackerone.com.
Как легально работать с электронными кошельками и принимать платежи онлайн
С начала августа в России запрещено анонимно пополнять электронные кошельки. Теперь покупатели не смогут просто зачислить деньги в условные Яндекс.Деньги или QIWI на счет продавца через терминал. Вместо этого придется использовать счет в банке.
Мы попытались разобраться, насколько нововведения усложнят жизнь предпринимателя и как в принципе бизнесу легально работать с электронными кошельками и использовать их для приёма платежей.
В этой статье выясним:
Что такое электронный кошелек
Понятие «электронные деньги» законодатель изложил в пп. 18 ст. 3 Федерального закона от 27.06.2011 № 161-ФЗ. Это деньги, которые предварительно предоставляет одно лицу другому с помощью особого оператора, причем без учета банковского счета. Все распоряжения передаются оператору исключительно с использованием электронных средств платежа.
Раньше электронные кошельки можно было пополнять анонимно. После нововведений пользователю нужно следовать одному из правил:
Если говорить проще, то электронный кошелек — это как бы ваш аккаунт в большой базе данных, где происходит обмен информацией о платежах. А электронная система уже самостоятельно связывается с банками и проводит переводы.
Сейчас популярны такие электронные кошельки, как Яндекс.Деньги, PayPal, QIWI, VK Pay.
Предпринимателю электронные кошельки нужны в первую очередь для улучшения клиентского сервиса. В России оборот электронных денег, по данным Национальной ассоциации участников электронной торговли, ежегодно составляет 1,7 трлн руб. Используют электронные кошельки больше 10 млн человек. Если вы подключите кошельки к своему интернет-магазину, люди смогут расплачиваться с вами через платежные системы.
Не путайте электронные деньги и криптовалюты
Помимо электронных денег за последние годы в мире активно распространяется другое средство платежа — криптовалюта. В России она регулируется Федеральным законом от 31.07.2020 № 259-ФЗ и называется цифровой валютой. Закон уже принят в третьем чтении и вступит в силу 1 января 2021 года.
Цифровая валюта — это совокупность цифровых данных, которые распространители предлагают использовать в качестве средства платежа. В России можно будет хранить, инвестировать и «добывать» криптовалюту с помощью специальных вычислений (майнинга).
С прибыли от криптовалюты, как и с других валют, нужно платить налог — при переводе цифровой валюты в обычную в декларации учитывается разница между расходами на приобретение «крипты» и полученным доходом.
Но цифровой валютой будет нельзя расплачиваться за товары и услуги.
Для приема онлайн-платежей нужна онлайн-касса
Сейчас, в силу Федерального закона от 22.05.2003 № 54-ФЗ, предприниматель не может просто оставить ссылку на свой кошелек на сайте. Любые платежи можно принимать только через онлайн-кассу, с подключением к оператору фискальных данных и отправкой покупателям чеков, например, на электронную почту или телефон.
Но есть исключения. Без онлайн-касс могут работать:
Если вы предприниматель, перепродаете в интернете товары и планируете принимать деньги на электронный кошелек, то вам нужно проводить заказы через онлайн-кассу и выдавать клиентами чеки. Для этого лучше использовать специальную кассу, которая интегрируется в систему обработки заказов магазина — она проверит транзакцию и автоматически отправит покупателю чек.
Виды электронных кошельков
У платежных систем есть два вида электронных кошельков. Один могут использовать все, другой сделан специально для бизнеса.
Персональный кошелек
Чтобы его открыть, заведите личный кабинет в сервисе, подтвердите свою личность отправкой сканов паспорта или посетите для этого офис. В итоге вы получите электронный счет, виртуальную карту для расчетов — вам будут сбрасывать деньги на этот кошелек, вы же сможете оплачивать с него товары и услуги.
УФНС знает, что это ваш кошелек, поэтому необходимо контролировать, какие деньги туда приходят и какими налогами облагаются. Например, если у вас ООО, то вы можете получать на кошелек зарплату — организация должна будет удерживать с неё НДФЛ. Или получать на такой кошелек оплату за договор гражданского-правового характера как физлицо.
ИП может использовать этот кошелек как обычную банковскую карту — например, перевести на него деньги с расчетного счета. Максимум в кошельке можно держать до 100 000 руб.
Предпринимателям использовать такой кошелек как расчетный счет нельзя — платежная система не является банком.
Ведение бизнеса по закону. Сервисы для ИП и ООО
Корпоративный кошелек
Это вид электронного кошелька специально для предпринимателей и юрлиц. Вы получаете реквизиты, которые можно привязать к расчетному счету. На таком кошельке можно хранить до 600 000 руб., после превышения лимита остальные деньги переведут на расчетный счет.
На такой кошелек можно принимать платежи от физлиц.
Чтобы открыть кошелек, нужно заключить договор с платежной системой. У неё должен быть статус кредитной организации, то есть фактически это банк — например, так работают PayPal или QIWI.
Корпоративный кошелек на заменяет расчетный счет, принимать платежи от юридических лиц нельзя. Информацию о появлении кошелька налоговая инспекция получит от платежной системы, поэтому следите за всеми переводами и платежами. В случае проверки вам нужно будет подтвердить легальность операций — всё как в обычном банке.
Когда вы создаете корпоративный кошелек, то автоматически получаете и специальный плагин для интернет-магазина. Добавьте его на свой сайт — и системы свяжутся между собой. Дальше нужно синхронизировать кошелек, плагин и кассу, тогда пользователи смогут переводить вам деньги и получать чеки.
Чтобы клиенты могли оплачивать товары через все платежные системы, нужно заключить договор с каждой. Или использовать сервисы-агрегаторы.
Агрегаторы электронных платежей
В данном случае речь идет о сервисах, которые выступают посредниками между всеми участниками процесса — предпринимателями, банками, платежными системами и другими компаниями, если они есть. Агрегаторов много, наиболее популярные — Яндекс.Касса, Робокасса, PayKeeper.
Предприниматель с помощью сервисов экономит время — достаточно заключить договор с одним агрегатором и добавить на сайт его модуль, и можно сразу принимать платежи через нескольких электронных операторов. За это агрегатор будет брать дополнительную комиссию с каждой сделки.
Дополнительный плюс — через агрегаторы можно проводить платежи и по обычным банковским картам, то есть не нужен дополнительный эквайринг. Если такая услуга есть, то агрегатор заменит вашу онлайн-кассу и сам будет рассылать чеки.
Деньги клиентов сначала поступают на счет агрегатора, там копятся, а уже затем переводятся на ваш расчетный счет. Периодичность выплат зависит от договора — может быть пару раз в день, может раз в неделю.
Как тратить деньги с корпоративного электронного кошелька
Логика такая же, как и с расчетным счетом:
Как платить налоги с поступлений электронных денег, если вы на УСН
Особенность работы с электронными кошельками — много видов комиссий. В доходах нужно учитывать всю сумму, которую отправил вам покупатель. Те, кто применяет УСН «Доходы минус расходы», после могут списать комиссию в расходы. Доходы учитываются на дату оплаты.
Если необходим документ, подтверждающий все операции, у платежной системы или агрегатора нужно брать отчет — обычно он предоставляется раз в месяц, но всё зависит от договора.
Электронные кошельки для самозанятых
В отличие от предпринимателей и юрлиц, онлайн-касса самозанятым не нужна, так же как и корпоративный кошелек. Можно просто завести персональный кошелек, идентифицировать себя, принимать оплату и проводить чеки через приложение «Мой налог» — главное, отправлять эти чеки клиентам.
Ещё самозанятые могут использовать агрегатор Яндекс.Касса. Просто встраиваете плагин на сайт, и после покупатели оплачивают товары и услуги картой или электронными деньгами. С помощью агрегатора можно выставлять счета юрлицами — самостоятельно самозанятые формировать такие документы не могут.
Главное об использовании электронных кошельков предпринимателями
Электронный кошелек — это один из способов платить и принимать платежи. Если подключить электронный кошелек на сайт, клиентам будет проще делать покупки. Такими платежными системами пользуется более 10 млн жителей России.
Самозанятые могут использовать электронные кошельки без ограничений, главное вовремя платить налоги. Для предпринимателей и юрлиц обычный кошелек не подойдет, нужен корпоративный — только на такой можно принимать платежи. Причем только от физлиц, от предпринимателей и юрлиц нельзя.
С поступлений на кошелек нужно платить налоги. Если юрлицо или ИП использует УСН «Доходы минус расходы», комиссию можно вычесть как расход.
Не пропустите новые публикации
Подпишитесь на рассылку, и мы поможем вам разобраться в требованиях законодательства, подскажем, что делать в спорных ситуациях, и научим больше зарабатывать.





