Эквайринг в Узбекистане: что покупается у банка, а что придётся построить у себя
Эквайринг продают банки, а ломается он на стороне сайта. Что даёт договор, как устроен обмен с Payme и Click и какие четыре ошибки повторяются почти у всех.
Содержание
Эквайринг в Узбекистане продают банки и платёжные организации, и на этом их часть работы заканчивается. Дальше начинается ваша: сайт обязан принять вызов от платёжного сервиса, ответить в его формате и не провести один платёж дважды. Именно эта часть съедает сроки, и её нет ни на одной странице с тарифами.
Ниже разобрано, что входит в эквайринг по договору, что остаётся на вашей стороне, как устроен обмен у двух самых частых здесь сервисов и в каких четырёх местах интеграция ломается регулярно.
Три разные вещи называют одним словом
Предприниматель приходит с фразой «подключите эквайринг» и почти всегда имеет в виду не эквайринг. Под одним словом живут три сущности, и путаница между ними стоит недели переписки.
- Эквайринг. Договор, по которому деньги с карты покупателя доходят до вашего счёта. В Узбекистане его даёт банк или платёжная организация. Услуга финансовая, а не техническая.
- Платёжный сервис. Payme, Click, Uzum и другие: страница оплаты, кабинет мерчанта, документация и протокол обмена с вашим сервером.
- Интеграция. Код на вашей стороне, который умеет разговаривать по этому протоколу. Его не даёт никто, его пишут.
Первые две позиции покупаются. Третья строится — и именно её обычно забывают включить в бюджет запуска.
Что входит в эквайринг по договору, а что нет
| Даёт платёжный сервис | Остаётся вам |
|---|---|
| Страницу оплаты и приём карты | Сервер, который сервис сможет вызвать |
| Кабинет мерчанта с историей операций | Собственный учёт: что считается оплаченным заказом |
| Документацию и тестовый контур | Обработчик, устойчивый к повторному вызову |
| Уведомление об оплате | Реакцию на уведомление, которое не пришло |
| Метод выписки по операциям | Сверку этой выписки со своей базой |
Правый столбец целиком лежит на стороне сайта, и он одинаковый у всех. Эквайринг в Узбекистане предлагают почти все банки, и различаются их предложения в первую очередь процентом комиссии. Работу из правого столбца этот процент не показывает вовсе. Отсюда правило, которое экономит недели: сравнивать сервисы имеет смысл после того, как вы посчитали правый столбец, а не до.
Как выглядит обмен на самом деле
Схему обычно рисуют так: покупатель нажимает «оплатить», сайт идёт в платёжный сервис и получает ответ. В документации всё наоборот.
Протокол Merchant API у Payme Business построен на JSON-RPC 2.0 поверх HTTPS: запросы приходят методом POST на ваш сервер, и сервер обязан ответить со статусом 200. Любой другой HTTP-статус сервис читает как ошибку протокола, а не как «зайду позже».
Платёжный путь собирается из четырёх методов. CheckPerformTransaction спрашивает, можно ли вообще создать транзакцию на эту сумму. CreateTransaction создаёт её. PerformTransaction проводит. CancelTransaction отменяет. Рядом стоят методы проверки состояния и выписки по операциям.
У Click протокол свой и короче: биллинг поставщика реализует запросы Prepare и Complete, после чего услуги становятся доступны во всех интерфейсах оплаты сразу.
Общее в обоих случаях важнее различий. Вызывает не ваш сайт, а платёжный сервис. Значит, у вас должен быть постоянно доступный адрес по HTTPS, а база обязана отвечать на вопрос «можно ли оплатить этот заказ на эту сумму прямо сейчас» быстрее, чем истечёт таймаут на той стороне.
Что подготовить до того, как звать разработчика
Половина задержек при подключении эквайринга случается не в коде, а здесь. Пять пунктов ниже собираются параллельно разработке и обычно занимают больше времени, чем сама разработка.
- Договор с платёжным сервисом. Кто может его подписать и на каких условиях, спрашивайте у самого сервиса: требования у каждого свои и меняются.
- Описание того, что вы продаёте, публичная оферта и правила возврата на сайте. Их читают при подключении.
- Решение, что в вашей системе считается оплаченным заказом. Звучит очевидно, а ответа обычно нет.
- Доступ к тестовому контуру. У Payme это песочница, у остальных свои варианты.
- Адрес, по которому сервис будет вызывать ваш сервер, и понимание, кто отвечает за его доступность в три часа ночи.
Если список читается не как чек-лист, а как список вопросов, разберём его на вашей задаче: интеграция платёжных систем начинается с разбора того, что уже есть, а не с договора.
Четыре места, где ломается
Эти ошибки мы встречали в проектах разных лет и разного размера. Эквайринг у них был от разных банков, а ошибки одни и те же.
Повторный вызов
Платёжный сервис имеет право прислать подтверждение дважды: связь оборвалась, ответа он не получил, повторил. Обработчик, который на втором вызове ещё раз спишет товар со склада и ещё раз отправит письмо, формально работает и проходит любое ручное тестирование.
Уведомление, которое не дошло
Деньги списаны, заказ висит неоплаченным, покупатель пишет в поддержку — и всё это при исправно работающем платёжном сервисе. Лечится не кнопкой «повторить», а опросом состояния транзакции по расписанию.
Сумма
Сумму присылает сервис, а сверять её нужно со своей. Заказ и подтверждение, отличающиеся одним нулём, проходят проверку одинаково, если эту проверку не написали.
Возврат и отмена
Отмена это отдельный метод протокола и отдельная ветка вашей логики. Вернуть деньги мало: надо вернуть товар на склад, снять заказ со сборки и не сломать отчётность за месяц.
Список не теоретический. Мерчант-платформа, которую мы построили, даёт магазину доступ к 35+ разным платёжным системам через одно подключение, и каждый пункт вырос из её пограничных случаев: как устроена эта платформа.
Сверка стоит в протоколе, а не в списке пожеланий
У Payme среди методов есть GetStatement, выписка по операциям мерчанта. Она там не для полноты: расхождение между вашей базой и базой платёжного сервиса возникает у всех, вопрос только в том, кто заметит его первым.
Мы разбирали базу действующей платёжной системы, где расхождения жили годами: 212 191 значимая строка операций, акты для партнёров собирались руками, закрыть год было нечем. Разбор той работы объясняет, почему сверку закладывают в первую версию, а не во вторую.
Сколько занимает подключение эквайринга
Срок зависит не от платёжного сервиса, а от того, что уже есть на сайте. Сам эквайринг к нему почти не относится: договор оформляется параллельно с разработкой и её не задерживает. Если заказы считаются, статусы существуют и есть тестовый контур, подключение одного сервиса это работа на дни. Если «оплачено» пока нигде не хранится, сначала придётся построить учёт заказов, и это другая задача с другим сроком.
Точные сроки и стоимость определяются по техническому заданию: мы называем их после разбора, а не по прайсу. Если провайдер уже выбран и нужен объём работ на вашей стороне, начните с интеграций и API. Если платежи это ядро продукта, а не кнопка на сайте, смотрите отрасль «Онлайн-платежи».
Эквайринг в Узбекистане выбирается за час, а живёт с вами годами. Стоимость этого выбора определяет не процент комиссии, а аккуратность вашей стороны. Пришлите ссылку на сайт и название сервиса, с которым уже разговариваете. Скажем, что придётся сделать и сколько это займёт по вашей задаче.