Разработка
Flowwow

Как быстро интегрировать CloudPayments в сервис на PHP

Привет! На связи Иван Могилат, Backend-разработчик Flowwow. Делюсь библиотекой для работы с CloudPayments и рассказываю, кому она пригодится.

 

О сервисе

CloudPayments – это платежный сервис, работающий с банковскими картами Visa, MasterCard, Maestro, Visa Electron, Мир, а также системами оплаты Google Pay и Apple Pay. Позволят проводить платежные операции в любых браузерах и мобильных приложениях.

Flowwow работает с сервисом уже более пяти лет, используя его и для мобайла, и для десктопа. Какое-то время все держалось “на костылях”: решение легко встроить, если вы используете стандартную CMS (WordPress, Joomla и т.п.), но если речь идет о самописном сайте со своими особенностями и функциями, процесс интеграции требует творческого подхода.

Проблема

Выстроенная логика работала до тех пор, пока Flowwow оставался только маркетплейсом цветов: продавцы предлагали товары и сами же их доставляли, а затем получали деньги с учетом удержанной комиссии. В 2019 году мы запустили собственную курьерскую доставку: продавцы пользуются доставкой как услугой, все заботы по ее организации Flowwow берет на себя. Появилась задача встроить платежный сервис в новое приложение, связывающее продавцов и курьеров.

Решение

Мы не могли просто взять кусок кода из одного сервиса и добавить его в новый – поняли, что нужно подготовить библиотеку, которую можно будет использовать для каждого нового проекта. Учитывая, что Flowwow постоянно запускает новые направления – расширение категорий товаров, работа с оптовиками, офлайн-магазины – нам просто необходимо иметь инструмент для быстрого подключения платежей.

В итоге мы привели наработки в удобный вид и создали собственную библиотеку для обработки всех необходимых методов API на бекенде – приема платежей, отмены, возврата средств, выписки чеков и так далее. Сейчас логика работы с платежной системой отделена от основного проекта, ее легче тестировать и труднее сломать.

Результат

Результатом нашей работы с радостью делимся с вами: Cloudpayments api Library. Будет полезно всем, кто пишет сервис на PHP.

{ "author_name": "Flowwow", "author_type": "editor", "tags": [], "comments": 18, "likes": 11, "favorites": 18, "is_advertisement": false, "subsite_label": "dev", "id": 260226, "is_wide": true, "is_ugc": false, "date": "Sat, 19 Jun 2021 11:25:59 +0300", "is_special": false }
0
18 комментариев
Популярные
По порядку
Написать комментарий...
0

Мне, как покупателю,  не видна схема с криптограммой, которая работает "за сценой". Это создает поле для мошенничества. Вашу платежную форму не сложно скопировать, "по пиксельно", подменить на  фейковую. В случае работы с банком, внимательный покупатель видит, что форма загружена из домена банка, это само по себе вызывает доверие.  

Как архитектор платформы bil24.pro напишу, что все больше покупателей выбирает, например,  СберID при оплате в форме Сбербанка. С другой стороны,  совсем малая часть наших клиентов использует для оплаты билетов CloudPayments, предпочитая работать напрямую с банками, через API. Не знаю, что там у вас сейчас с ценами на сервис, но, на мой взгляд, ваша схема проигрывает конкурентную борьбу банкам. Без обид... ) 

Ответить
0

По протоколу (API)  интернет-эквайринга банков, например, Сбер или Альфа, когда передаешь в банк  bundle с данными заказа, в ответ приходит URL страницы с формой для ввода данных банковской карты. Эта страница загружается с сервера банка и передает данные карты ему же. А как в случае с CloudPayments? Какой URL у страницы с формой ввода данных карты? Она грузится с сервера CLoudPayments? 

Ответить
1

Александр, у CloudPayments нет отдельной формы по ссылке, для оплаты данные карты передаются с криптограмой. Это одна из причин, по которой мы выбрали клауд: при оплате клиент не переходит на другой сайт.

Ответить
2

То есть клиент не получает форму ввода карты из домена Сбера или Альфы,  а вводит данные на странице в вашем домене, как вы пишете  "клиент не переходит на другой сайт".  В таких случаях, когда не видно, что форма из домена банка - я не ввожу в нее данные своей карты, включая CVV код. И другим советую поступать так же.  Если банкам хоть как-то еще можно доверять, и то не всегда,  то "дарить" данные карты магазину или  СloudPayments - ну ... это как-то глупо что-ли, в нынешних условиях. 

Ответить
0

Александр, понимаем ваше беспокойство и объясняем: мы регулярно проходим сертификацию по стандарту безопасности PCI DSS, имеем сертификат первого высшего уровня, который есть не у каждого банка. Мы и магазин не видим ваши карточные данные (как до этого написали наши партнёры Flowwow, мы получаем зашифрованные данные криптограммой, и всё это происходит через банковский платежный шлюз) и, соответственно, не можем их сохранять. 

Ответить
1

Кстати, а почему сами к своим сервисам библиотеки не разрабатываете? Зачем людям тащить к себе код непонятной конторы которая в любой момент может забить на его поддержку?

Ответить
1

Очень хороший вопрос,  присоединяюсь. В своих проектах мы стараемся такое third party не использовать. Кроме прекращения поддержки, код может быть с дырами, багами.  В итоге надежность центрального сервера системы зависит не от нашего собственного кода, а от глюков сторонней библиотеки. 

Ответить
0

Мы разрабатываем решения для различной интеграции партнеров. В том числе библиотеки на разных языках для более кастомной интеграции.

Некоторые партнеры дорабатывают код под свои нужды и делятся им с коллегами, среди этих библиотек есть очень достойные решения. Также должны подчеркнуть, что не можем гарантировать правильную работу решений CloudPayments при использовании сторонних библиотек. Коллеги из Flowwow провели большую и важную работу, и мы обязательно изучим их опыт.

Разработка библиотек с нашей стороны осуществляется в порядке очереди и библиотека для PHP в работе.

Ответить
0

можете дать ссылку на ваш  сертификат PCI DSS? 

Ответить
0

А подскажите, как проверить ваш сертификат? Что он реально имеет отношение к PCI DSS? 

Тут CloudPayments не находит: 
https://www.pcisecuritystandards.org/assessors_and_solutions/payment_applications?agree=true

А так какое-то российское ООО "Дейтерий" выдало вам сертификат, как он реально связан с PCI? Я просто не знаю. Вот как потребителю как мне проверить, что сертификат подлинный. Знающие люди, подскажите пожалуйста....

Ответить
0

Эта контора якобы тестирует на соответствие но к PCI отношения не имеют. Одни «как бы» соответствуют, а другие «как бы» подтвердили. Междусобойчик

Ответить
0

Спасибо за ответ. Заглянул на телеграм канал BadBank, сделал поиск по CloudPayments. В принципе понятно - онлайн казино, инфоцыгане, etc

Ответить
0

То есть нужно подключать 100500 банков вместо агрегатора? Вы нормальные? А если у банка нет API для платежей? Хотя у вас в России наверняка у каждого банка есть, но так не везде.

По поводу ТС - ссылки в статье нет, и вот тут уже косяк - все равно, что каждый магазин/студия будет предлагать свой код для подключения. А что там написано в коде, хз.

Ответить
0

А вы понимаете о чем идет речь?  Зачем "подключать 100500 банков"? В этом нет никакой необходимости. продавец подключает один интернет-эквайринг одного банка, и получает деньги от продаж товаров или услуг на свой расчетный счет в этом банке.  Покупатели платят картами ЛЮБЫХ банков, в любой точке планеты. API банков давно реализованы в виде библиотек, виджетов, плагинов. . В платформах эти API реализованы на системном уровне, подключение сводится к указанию имени и пароля. Причем многие банки используют одно и то же решение, один и тот же API.    Если можно работать с банками напрямую, зачем такой посредник как CloudPayments?

Ответить
1

Я писал не про клауд, а про прослойку в виде представленного ТС кода

Ответить
0

А-а, ясно, извините не так понял )

Ответить
0

есть ссылка в статье, если вы про эту статью) https://github.com/flowwow/cloudpayments-php-client

Ответить
Читать все 18 комментариев
Отдам читателям vc.ru бесплатно SaaS- и другие сервисы с исходниками

Друзья, привет! В своё время покупал для личного использования разные сервисы. Теперь решил раздать, может, кому-нибудь будут полезны.

«Этот рынок – просто красный океан»
Старая добрая дискета: так могли выглядеть популярные соцсети и сервисы в девяностых Статьи редакции

Чего только стоит Spotify с интерфейсом Winamp.

Портфельные тактики. Рассказывает персональный брокер

Разбираем два подхода к инвестициям — оптимизационные и тайминговые модели

Из офиса к гончарному кругу: как уволиться из IT-компании и стать кумиром гончаров со всего мира

Многое в жизни Александра Бердин-Лазурского произошло по воле случая: преподаватель сопромата решил быть дизайнером и за один вечер под пиво изготовил себе портфолио. Потом за годы приятной работы вырос до арт-директора и... выгорел. Тогда он понял, чем на самом деле хочет заниматься и как на этом зарабатывать.

Эксперимент: выбрать квартиру в другом городе с помощью 3D-тура

«Ирония судьбы» научила нас: все новые дома похожи друг на друга — а значит, имея представление о новостройках в одном городе, можно сделать вывод и о домах в другом. Для этого теперь даже не нужен билет на поезд или самолёт: прогуляться по квартирам в новостройках можно с 3D-туром на сайте «Циан».

Как продавать загородную недвижимость в пандемию, в 3 раза снизить стоимость заявки и на 30 % сэкономить бюджет

Тимлид по трафику коттеджного поселка «Британика» Константин Иванов рассказал, от чего зависят продажи в сфере загородной недвижимости, какие рекламные каналы и кампании эффективнее всего работают и как определять эту эффективность в цифрах и фактах.

Три причины присоединиться к Ruby meetup
ИП на упрощенке 6%: кому доверить расчет налога?

Cравним и оценим, кому стоит доверить расчет УСН

Вложить $27 трлн и перейти на «зелёную» энергетику: как бизнес и государства пытаются остановить глобальное потепление Статьи редакции

И сколько на возобновляемой энергии зарабатывают частные компании.

Угольный завод Роберта Шерера в штате Джорджия. Выбросы в атмосферу от подобных предприятий — одна из причин глобального потепления AP Photo
«МБХ медиа» вслед за «Открытыми медиа» объявило о прекращении работы Статьи редакции

Оба издания заблокировал Роскомнадзор.

null