Чтобы принимать оплату через Freedom Pay в мобильном приложении, нужно подать заявку, заполнить и подписать анкету, подготовить сайт по требованиям сервиса, получить доступ в личный кабинет мерчанта и подключить API или мобильный SDK через свой сервер. Все запросы к Freedom Pay подписываются секретным ключом, поэтому он хранится только на сервере. После тестовых платежей приложение переводится в боевой режим.

Freedom Pay это тот же сервис, что раньше назывался PayBox.money: ребрендинг прошёл в 2022 году, и в старых проектах вы ещё встретите прежнее имя в коде и настройках. Ниже разберём подключение по шагам и технические детали, которые важно сделать правильно с первого раза.

Кому подходит Freedom Pay

Freedom Pay это платёжный сервис, который принимает оплату картами и перечисляет деньги на расчётный счёт мерчанта. В документации сервиса описаны приём платежей, сохранение карт, возвраты, выплаты, рассрочка и выставление счетов. Для приложений это удобно в нескольких сценариях:

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

Как и в случае любого эквайринга, Freedom Pay подходит для физических товаров и услуг. Цифровой контент внутри приложения (подписки на премиум-функции, игровая валюта) Apple и Google требуют продавать через свои встроенные покупки.

Шаг 1. Заявка, анкета и документы

На сайте freedompay.kz процесс подключения для бизнеса описан как последовательность шагов:

  1. Оставить заявку с контактными данными.
  2. Заполнить анкету: данные о компании и руководителе.
  3. Подготовить сайт, на котором видны реальные товары или услуги.
  4. Скачать анкету, подписать, поставить печать, отправить скан, а оригиналы передать в офис Freedom Pay.
  5. После проверки документов получить доступ в личный кабинет.
  6. Выполнить техническую интеграцию по документации.
  7. Провести тестовые платежи и принять первую боевую оплату.

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

Шаг 2. Требования к сайту: даже если продаёте в приложении

Платёжные сервисы проверяют, что бизнес реальный и клиенту понятно, что он покупает. Freedom Pay в инструкции прямо перечисляет, что должно быть на сайте:

  • реальные товары или услуги с ценами;
  • реквизиты компании и контакты;
  • политика конфиденциальности;
  • логотипы платёжных систем;
  • условия оплаты, доставки и возврата.

Если у вас только приложение, сделайте простой сайт-визитку с этими страницами. Та же политика понадобится и для публикации в сторах, подробности в статье про политику конфиденциальности для приложения.

Шаг 3. Техническая схема интеграции

Интеграция строится через ваш сервер. Приложение никогда не отправляет запросы к Freedom Pay с секретным ключом.

  1. Клиент нажимает «Оплатить», приложение передаёт заказ на ваш сервер.
  2. Сервер формирует запрос на создание платежа в Merchant API Freedom Pay: номер заказа, сумма, описание, адреса для уведомлений и возврата клиента.
  3. Запрос подписывается: по документации к полям запроса добавляется случайная строка pg_salt и секретный ключ мерчанта, от этого считается подпись pg_sig. Ответы Freedom Pay тоже подписаны, и сервер обязан их проверять.
  4. В ответ сервер получает ссылку на платёжную страницу и передаёт её приложению.
  5. Приложение открывает страницу во встроенном браузере или использует мобильный SDK, клиент вводит карту и проходит 3-D Secure.
  6. Freedom Pay отправляет результат на ваш result_url. Сервер проверяет подпись, сумму и номер заказа и только после этого меняет статус заказа.
  7. Клиент возвращается в приложение через success_url или failure_url, и приложение запрашивает у сервера актуальный статус.

Как спроектировать такие методы на сервере, описано в статье про API для мобильного приложения.

SDK, страница оплаты или сохранённая карта

Способ Когда выбирать На что обратить внимание
Платёжная страница в WebView Быстрый старт, Flutter или React Native, одна реализация на обе платформы Корректно ловить возврат по success_url и failure_url
Android SDK и iOS SDK Freedom Pay Нативные приложения, важна конверсия на экране оплаты Минимальные версии ОС и обновления SDK, для Flutter нужна обёртка
Сохранение карты Повторные заказы, абонементы, оплата после оказания услуги Согласие клиента, понятная кнопка удаления карты в профиле

В документации Freedom Pay отдельно описаны JS SDK, Android SDK и iOS SDK, а также сохранение карт. Какой вариант выбрать, зависит от стека приложения и того, как часто клиенты платят повторно.

Тестирование и перевод в боевой режим

В кабинете и документации Freedom Pay есть инструменты для тестовых платежей. Проверьте минимум такие сценарии:

  • успешная оплата и отказ банка;
  • клиент закрыл страницу оплаты на середине;
  • уведомление на result_url пришло раньше, чем клиент вернулся в приложение;
  • уведомление не пришло совсем, и сервер должен сам запросить статус платежа;
  • полный и частичный возврат;
  • повторное нажатие «Оплатить» без двойного списания.

Все обращения к Freedom Pay и все входящие уведомления пишите в журнал на сервере: время, номер заказа, сумма, ответ сервиса. Когда клиент из Шымкента позвонит и скажет «деньги списались, а заказа нет», вы найдёте ответ за минуту, а не будете сверять выписки вручную. Такой журнал пригодится и бухгалтерии при сверке поступлений.

После тестов переключите сервер на боевые ключи и сделайте первую реальную оплату на небольшую сумму с последующим возвратом.

Что увидит клиент в приложении

Техника важна, но клиент оценивает оплату по трём экранам. Сделайте их понятными, и число брошенных корзин заметно снизится.

  • Перед оплатой. Итоговая сумма, состав заказа, доставка и способ оплаты на одном экране. Никаких сюрпризов на странице банка.
  • Во время оплаты. Индикатор загрузки и кнопка «Назад», которая не ломает заказ. Если клиент ушёл в банковское приложение для подтверждения, по возвращении он должен попасть обратно на экран заказа, а не на главную.
  • После оплаты. Ясный результат: «Оплачено, заказ передан курьеру» или «Оплата не прошла» с кнопкой повторить и сменить способ. Чек и история платежей в профиле.

Отдельно продумайте статус «Ожидаем подтверждение банка». Бывает, что деньги списались, а уведомление ещё не дошло до сервера. Лучше честно показать ожидание и обновить статус через несколько секунд, чем предложить оплатить повторно.

Сроки и стоимость

Комиссию и сроки проверки документов Freedom Pay на странице инструкции не публикует: условия называет менеджер, и они могут зависеть от оборота и вида деятельности. Уточняйте их до подписания анкеты.

Разработка зависит от готовности приложения. Если корзина и сервер уже есть, подключение одного платёжного провайдера с уведомлениями, возвратами и тестами обычно занимает от одной до трёх недель. Сохранение карт и регулярные списания добавляют время на экраны профиля и обработку ошибок.

Частые ошибки при подключении Freedom Pay

  • Секретный ключ в приложении. Подпись pg_sig считается только на сервере, иначе ключ можно извлечь из сборки и создавать платежи от вашего имени.
  • Нет проверки подписи ответа. Сервер принимает любое «успешно» на result_url. Всегда проверяйте подпись и сумму.
  • Статус оплаты по возврату клиента. Переход на success_url не гарантирует оплату. Источник правды это уведомление или запрос статуса.
  • Старые настройки PayBox. При переносе проекта остаются старые адреса и библиотеки. Сверьте их с актуальной документацией freedompay.kz.
  • Сайт не прошёл проверку. Нет оферты, контактов или правил возврата, и подключение затягивается.

Общие правила защиты платежей и ключей собраны в статье о безопасности мобильного приложения. Если клиенты в основном платят через Kaspi, посмотрите также интеграцию Kaspi Pay в приложение: часто разумно дать оба способа.

Частые вопросы

Freedom Pay и PayBox это одно и то же?

Да, PayBox.money в 2022 году сменил название на Freedom Pay. Если в старом проекте интеграция называется PayBox, сверьте адреса и библиотеки с текущей документацией freedompay.kz.

Можно ли сохранить карту клиента для повторных оплат?

В документации Freedom Pay описано сохранение карт. Клиент должен дать согласие, а в профиле приложения нужна возможность удалить сохранённую карту.

Какая комиссия у Freedom Pay?

На странице инструкции по подключению тарифы не опубликованы. Условия называет менеджер сервиса, уточняйте их до подписания анкеты.

Есть ли у Freedom Pay SDK для iOS и Android?

Да, в документации есть разделы Android SDK и iOS SDK, а также JS SDK. Для Flutter и React Native обычно используют платёжную страницу во встроенном браузере или пишут обёртку над SDK.

Нужен ли сайт, если продажи только в приложении?

Да, Freedom Pay проверяет сайт: товары с ценами, реквизиты, контакты, политику конфиденциальности и условия возврата. Подойдёт простой сайт с этими страницами.

Подключим Freedom Pay под ключ

Команда applications.kz подключает Freedom Pay, Kaspi и Halyk ePay в приложения на iOS, Android и Flutter: сервер, подписи запросов, экран оплаты, сохранение карт, возвраты и тестирование. Если приложение уже работает и нужно добавить оплату, это задача для доработки приложения. Напишите через форму контактов или в WhatsApp +7 707 928 13 15, смету подготовим бесплатно за 24 часа.