Принимать оплату через Payme, Click и Uzum может только бизнес: ИП или юрлицо с расчётным счётом в банке Узбекистана. С каждой системой заключается свой договор, и каждая сначала проверяет сайт. Модерация занимает от нескольких дней до двух недель, интеграция с готовым сайтом ещё 3-5 рабочих дней. Комиссию с платежа фиксирует договор, по рынку она укладывается в 0,8-2%.

Какие способы оплаты нужны магазину и что платёжные системы проверяют на сайте до договора, мы писали в статье о приёме онлайн-оплаты на сайте в Узбекистане. Эта статья о том, как подключение выглядит изнутри.

Payme, Click и Uzum Bank в одной таблице

Покупателю все три системы привычны, везде принимаются Uzcard и Humo. Для сайта они разные: у каждой свой протокол обмена данными.

Payme Click Uzum Bank
Кто может подключить ИП, ЧП, ООО, АО, ГУП, СП, НОУ юрлица и ИП юрлица и ИП
Протокол Merchant API на JSON-RPC, сервер Payme сам вызывает методы сайта SHOP API, два запроса на платёж: Prepare и Complete сайт создаёт платёж через API, результат приходит уведомлением
Сумма в запросах в тийинах, 100 тийинов = 1 сум в сумах по документации Uzum, проверяется на тесте
Когда заказ оплачен после вызова PerformTransaction после запроса Complete после уведомления об успешной оплате
Комиссия по договору, на рынке 0,8-2% с платежа

Что подготовить до заявки

Физлицу кассу не откроет ни одна из систем. Payme в документации прямо перечисляет, с кем работает: ИП, ЧП, ООО, АО, ГУП, СП и НОУ. Иностранной компании понадобится местное юрлицо.

Пакет у всех трёх систем почти одинаковый:

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

Сайт проверяют вручную, и страница «скоро открытие» модерацию не пройдёт. Заранее соберите коды ИКПУ товаров и услуг из классификатора tasnif.soliq.uz: без них не соберётся фискальный чек.

Заявки удобнее подать во все системы в один день и параллельно делать интеграцию. Модерация от программиста не зависит, а если ждать каждую систему по очереди, две недели легко растягиваются в шесть.

Как устроен Payme

В Payme Business три типа касс: с выставлением счетов, без выставления счетов и для оплаты на месте. Последняя работает сразу после подключения, двум другим сначала нужна настройка обмена с сайтом через Merchant API. Интернет-магазину подходит касса с выставлением счетов.

Покупатель платит на странице checkout.paycom.uz. Сайт собирает для неё строку параметров: m (идентификатор кассы), ac.order_id (номер заказа), a (сумма) и c (адрес, куда вернуть покупателя), кодирует её в Base64 и добавляет к адресу. Сумма передаётся в тийинах, поэтому заказ на 150 000 сум превращается в a=15000000.

Пока человек платит, сервер Payme по очереди вызывает три метода на стороне сайта:

1

CheckPerformTransaction

Payme спрашивает, можно ли принять платёж. Сайт проверяет, что заказ существует, ещё не оплачен и сумма совпадает.

2

CreateTransaction

Payme создаёт транзакцию, сайт запоминает её номер и резервирует товар.

3

PerformTransaction

Деньги списаны. Статус «оплачен» заказ получает только здесь.

Кроме этих трёх сайт должен отвечать на CancelTransaction (отмена, в том числе уже проведённого платежа), CheckTransaction (состояние транзакции) и GetStatement (выписка за период, по ней удобно каждый день сверять оплаты с заказами). Через SetFiscalData передаются данные фискального чека.

У созданной транзакции есть срок жизни. Если её не провели за 12 часов, Payme отменяет её сам с причиной 4, «отмена по таймауту». Сайт в этом случае возвращает заказ в «не оплачен» и снимает резерв, иначе товар месяцами числится за покупателем, который давно передумал.

В песочнице test.paycom.uz стоит прогнать все сценарии: успешную оплату, неверную сумму, несуществующий заказ, повторный вызов и отмену. Боевой режим включают после того, как прошли все.

Как устроен Click

У Click на каждый платёж приходит два запроса на адреса, которые вы указываете в кабинете мерчанта. Там же выдаются service_id, merchant_id и секретный ключ. Сам сервис после настройки включает поддержка Click.

Первым приходит Prepare (action=0). Сайт проверяет заказ и сумму, резервирует товар и возвращает свой номер подготовки merchant_prepare_id. Вторым приходит Complete (action=1), после него заказ оплачен. Оба запроса подписаны полем sign_string, это MD5 от параметров запроса и секретного ключа. Сайт пересчитывает подпись и отклоняет запрос, если она не сошлась, так поддельную «оплату» не провести.

Сумма в Click приходит в сумах. На сайте, где подключены и Payme, и Click, тийины и сумы перепутать проще всего, и проверять это нужно отдельным тестом.

Complete Click повторно не присылает. Если в этот момент сайт был недоступен или ответил ошибкой, заказ останется неоплаченным, пока его не найдёт сверка. Обратная ситуация тоже бывает: одно и то же уведомление по click_trans_id приходит дважды, и без проверки товар спишется со склада два раза.

Зачем рядом Uzum Bank

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

Подключают Uzum рядом с Payme и Click чаще всего ради рассрочки Uzum Nasiya. Для товаров дороже 1-2 млн сум она нередко решает, состоится покупка или нет. Условия рассрочки и её стоимость прописываются в договоре отдельно.

Фискальный чек и коды ИКПУ

При оплате через платёжную систему покупатель получает электронный фискальный чек. Положение о порядке предоставления электронного фискального чека через электронную платёжную организацию требует, чтобы в нём были QR-код и фискальный признак. Если данных не хватает, при проверке в приложении Soliq покупатель увидит, что чек «не содержит налоговой информации».

Для чека сайт передаёт по каждой позиции заказа:

  • название, цену и количество;
  • код ИКПУ из классификатора tasnif.soliq.uz;
  • код единицы измерения или упаковки из того же классификатора;
  • ставку НДС: 12% или «без НДС», в зависимости от режима налогообложения.

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

Сроки и деньги

Этап Сколько занимает
Документы и страницы сайта 1-3 дня, если оферта и реквизиты уже есть
Модерация и договор от нескольких дней до 2 недель на каждую систему
Интеграция одной системы с готовым сайтом 3-5 рабочих дней
Чеки с ИКПУ, тесты, первый боевой платёж ещё 2-5 рабочих дней

Постоянно вы платите только комиссию с каждого платежа. Процент назначает договор, по рынку это 0,8-2%. При сравнении предложений имеет смысл спросить ещё о сроке зачисления денег, о порядке возвратов и о стоимости рассрочки: эти условия влияют на деньги не меньше процента.

Разово вы платите за интеграцию. Готовые модули для популярных CMS есть, но их почти всегда приходится дорабатывать под чеки, отмены и сверку. Если магазин ещё только проектируется, оплату проще заложить сразу при разработке сайта, вместе с каталогом и статусами заказов.

Где теряют деньги после запуска

  • Заказ становится оплаченным, когда покупатель возвращается на сайт. Человек оплатил и закрыл вкладку, деньги пришли, а заказ висит неоплаченным.
  • Тийины перепутаны с сумами, и заказ на 150 000 сум уходит в Payme как 1 500.
  • Отмена и таймаут не обрабатываются, резервы не снимаются, остатки на складе расходятся с реальностью.
  • Одно уведомление обрабатывается дважды: два списания со склада, два письма покупателю.
  • Сверки с выпиской нет, и расхождения находятся в конце месяца.
  • ИКПУ не заполнены, и покупатели получают чеки без налоговой информации.

С какой системы начать, если подключать по одной, разобрали в статье Payme или Click. Данные покупателей, которые сайт собирает при оплате, подпадают под закон о персональных данных. Что из них можно хранить за рубежом, написано в статье о локализации персональных данных.

Вопросы и ответы

Можно ли подключить Payme к сайту физическому лицу?

Нет. Кассы Payme Business открывают только ИП, ЧП, ООО, АО, ГУП, СП и НОУ. Click и Uzum Bank тоже работают с юрлицами и ИП, а деньги приходят на расчётный счёт компании.

Сколько стоит подключить Payme, Click и Uzum?

Постоянно платится комиссия с каждого платежа, по рынку 0,8-2%, точная ставка в договоре. Разово оплачивается интеграция: 3-5 рабочих дней на одну систему, с фискальными чеками и тестами до двух недель.

Сколько ждать подключения?

Модерация и договор занимают от нескольких дней до двух недель на каждую систему. Если подать заявки во все системы в один день и параллельно делать интеграцию, магазин начнёт принимать оплату через 2-3 недели.

Почему в Payme сумма в 100 раз больше, чем в заказе?

Payme считает в тийинах: 1 сум равен 100 тийинам, и заказ на 150 000 сум передаётся как 15 000 000. Click принимает сумму в сумах, поэтому на сайте с обеими системами единицы легко перепутать.

Что будет с неоплаченной транзакцией в Payme?

Через 12 часов после создания Payme отменит её сам, с причиной 4 «отмена по таймауту». Сайт должен вернуть заказ в статус «не оплачен» и снять резерв товара.

Нужен ли фискальный чек при оплате через Payme или Click?

Нужен. В электронном фискальном чеке должны быть QR-код и фискальный признак. Для этого сайт передаёт по каждой позиции название, цену, количество, код ИКПУ из tasnif.soliq.uz и ставку НДС.

Обязательно подключать все три системы?

Нет. Обычно начинают с Payme и Click, а Uzum добавляют ради рассрочки на товары дороже 1-2 млн сум. Каждая следующая система обходится дешевле первой, потому что заказы, статусы и чеки на сайте уже настроены.