Интеграция WayForPay сводит три вещи: форму оплаты в чекате, серверный обратный вызов с подписью и статусы заказа, по которым работает ваша бухгалтерия. Подключаем карту, Apple Pay и Google Pay, при необходимости – оплату частями отдельным способом расчета. Далее то, что чаще всего ломается: повторная проверка статуса, когда вызов не дошел, возвращение из админки и событие покупки в аналитике. WayForPay стоит на 7 из 33 сайтов, которые мы померили 31 июля 2026, — с этим шлюзом мы имеем дело регулярно.
Заказ принимаете на сайте, а деньги - переводом на карту
Менеджер диктует номер в мессенджере, покупатель присылает сундуки, кто-то сверяет это руками. Онлайн-оплата убирает из цепочки человека: деньги идут на счет компании, заказ именно меняет статус, а сверка делается выгрузкой из кабинета, а не перелистыванием.
Разберём вашу ситуацию на бесплатном аудите
Сценарий 2 из 4
Опт идет по счету, но мелкий клиент хочет заплатить картой
Один ждут держит оба сценария. В измеренном нами оптовом магазине стройматериалов на 3 145 товаров рядом стоят WayForPay, безналичный расчет и наличные: компания платит по счету, розничный покупатель – картой, отдельного сайта для этого не нужно.
Сценарий 3 из 4
Средний чек высок, покупатель думает неделями
Здесь имеет смысл оплата по частям. Цена она не меняет, но разбивает ее на несколько платежей, а продавец получает сумму полностью. Работает только на дорогих позициях: на дешевых комиссия съедает маржу, и способом почти не пользуются.
Сценарий 4 из 4
Шлюз уже стоит, но заказы зависают
Деньги списаны, в кабинете провайдера платеж успешен, а в админке заказ до сих пор «ожидает оплаты». Причина почти всегда одна: обратный вызов не дошел или дошел, а модуль не переспросил шлюз о статусе. Это делается без переустановки магазина.
Кейсы
Задачи и результат в цифрах — все показатели сняты нашим замером
оптовый магазин косметики для бьюти-индустрии, каталог почти 4 тыс. позиций
Задача
Дать оптовому покупателю заплатить картой онлайн и оставить альтернативные способы расчета тем, кто работает по счету.
Решение
Магазин на OpenCart: WayForPay и три альтернативных способа расчета, две службы доставки, полная разметка магазина, две языковые версии.
Результат
Измерение 31.07.2026, два последовательных замера с одинаковым результатом: 3 947 товаров, 166 брендов и 47 категорий - 4 167 адресов в канонической карте сайта. Шесть типов JSON-LD на главном, первый ответ сервера 576,8 мс при 192,4 КБ HTML. Найден дефект: параллельно живет старая карта сайта – 7 782 записи на 2 755 уникальных адресов, то есть одновременно дублированная и неполная.
оптовый магазин строительных материалов
Задача
Принимать онлайн-оплату от мелкого опта, оставив безналичный расчет для компаний, и видеть в аналитике, что именно покупают.
Решение
Магазин на OpenCart: WayForPay, безналичный расчет и наличные деньги; доставка Новой почтой и самовывоз. Подключены GTM, GA4 и ремаркетинг Google Ads с просмотром списка товаров.
Результат
Измерение 31.07.2026: каталог 3 145 товаров — считали постранично через штатный поиск по уникальным идентификаторам в payload события просмотра списка, 31 страница по 100 позиций плюс 45. Первый ответ сервера 547,3 мс, полная загрузка 682,2 мс. Аналитика и ремаркетинг здесь действительно работают — в измеренной выборке скорее исключение. Обнаруженный дефект: /sitemap.xml отдает 200 с пустым телом.
оптовый поставщик медицинских расходных материалов
Задача
Принимать оплату онлайн в B2B-каталоге, где заказы согласовывают в мессенджере.
Решение
Магазин на OpenCart: WayForPay и оплата картой, доставка Новой Почтой, связь через Viber, Telegram и WhatsApp, счетчик Google Ads.
Результат
Измерение 31.07.2026: карта сайта индексом из пяти файлов — 1 602 товара, 32 категории, 17 производителей, 4 инфостраницы и главная, итого 1 656 адресов. Первый ответ сервера 364,7 мс при 401,6 КБ HTML. Найден дефект: структурированной разметки на главной нет вообще, языковая версия одна, hreflang отсутствует.
Что входит
Полный перечень работ и того, что вы получаете на выходе
Оплата картой в чекате - Visa, Mastercard, Apple Pay и Google Pay: покупатель платит в два касания, а данные карты остаются на стороне провайдера
Оплата частями отдельным способом расчета – включаем, если ваш средний чек этого стоит
Обратный вызов с проверкой подписи и повторной попыткой: заказ меняет статус даже тогда, когда первый вызов потерялся в сети
Запрос статуса платежа по номеру заказа — страховка на случай, когда вызов не пришел вообще
Соответствие платежных статусов и статусов заказа, согласованное с вашим бухгалтером: «оплачено» на сайте означает то же, что в сверке
Страницы успешной и неудачной оплаты с сохраненной корзиной – после отказа банка покупатель повторяет платеж, а не собирает заказ заново
Полный и частичный возврат из админки, с отметкой в самом заказе
Событие покупки с суммой и составом заказа в аналитике и рекламных кабинетах
Проверка на живом платеже с возвратом той же суммы — прием не на тестовом режиме
Письменная инструкция менеджеру: что делать с платежом в состоянии ожидания и кто принимает решение о возвращении
Гарантия 30 календарных дней на выполненные работы
Когда эта услуга не подходит
Что не входит в работу — чтобы не было сюрпризов на сдаче
Договор с платежным провайдером и прохождение проверки
Комиссии эквайринга и тарифные условия
Фискализация платежей – отдельная задача
Бухгалтерская сверка и выгрузка в учетную систему
Юридические тексты о возврате и оферте
Этапы работы
Прозрачные этапы с согласованием на каждом шагу
Общий срок:3–10 дней
1
Сценарии расчета и доступы
0,5–2 рабочих дня
Фиксируем, какие способы оплаты остаются в чекату и что из них означает «оплачено». Забираем ключ продавца и секретный ключ – их выдают вам, не подрядчику.
2
Шлюз и форма оплаты
0,5–2 рабочих дня
Подключение в тестовом режиме: карта, Apple Pay, Google Pay, при необходимости — оплата по частям отдельным способом. Здесь же смотрим, как страница оплаты ведет себя с мобильного.
3
Обратный вызов и сценарии ошибок
1–3 рабочих дня
Проверка подписи, ответ в формате провайдера, повторная попытка, запрос статуса платежа по номеру заказа, отдельное поведение для отказа банка и платежа в ожидании. Самый длинный этап и тот, ради которого все и делается.
4
Статусы, возврат, событие покупки
0,5–2 рабочих дня
Сопоставление состояний платежа со статусами заказа, полный и частичный возврат из админки, передача покупки с суммой в GA4 и рекламные кабинеты.
5
Живой платеж и передача
0,5–1 рабочий день
Оплачиваем реальный заказ на небольшую сумму, смотрим статус в админке и кабинете, возвращаем деньги по тому же пути. Далее – инструкция менеджеру и доступы.
Бесплатная проверка платежного сценария
Перед подключением шлюза проходим ваш ждущий как покупатель и смотрим, что там уже есть. Половина находок касается не платежей, а статусов заказов — и именно они создают путаницу в бухгалтерии.
Что мы измеряем
Реальный перечень способов расчета в чекатеСравним с тем, что написано на странице оплаты. В измеренных магазинах мы видели и полное совпадение, и случаи, когда страница обещала больше, чем ждал предлагал.
Статусы заказовКакие статусы существуют и какой из них означает «оплачен». Без четкого соответствия платеж и заказ живут отдельными жизнями.
Обработка обратных вызововПроверяется ли подпись ответа происходящего шлюза, если вызов не дошел с первого раза, и соответствует ли ваш сайт так, как этого ожидает провайдер.
Повторная попытка оплатыМожет ли покупатель заплатить за тот же заказ во второй раз после отказа банка. Очень часто нет, и сайт отдает ошибку без объяснения.
Оплата частямиНужен вам этот сценарий. Это отдельный способ в ожидании с собственными условиями, а не вариант обычной карты.
Идущий в аналитикуПередается ли событие покупки с суммой. В измеренном магазине стройматериалов ремаркетинг настроен с событиями просмотра списка товаров – это уровень, к которому следует стремиться.
Что вы получаете
Отчет по реальному чекауту с перечнем доступных способов расчета.
Схема соответствия платежных статусов и статусов заказа.
Оценку работ со сроком, с разделением на обязательное и желаемое.
Разговор на 20–30 минут с вами и вашим бухгалтером.
Срок: 1–2 рабочих дня
Почему это бесплатно
Ибо проверка занимает часы, а несогласованные статусы заказов потом стоят дней работы бухгалтера ежемесячно.
Что дальше
После проверки даем смету на конкретный список работ и срок.
Короткая форма: контакт и адрес сайта
Договор, акт и гарантия 30 дней
На каждый проект письменный договор: объём, сроки, сумма, порядок приёмки. После сдачи — акт и счёт, затем 30 календарных дней гарантии.
ФОП и безналичный расчёт
Исполнитель — зарегистрированный ФОП. Оплата на счёт с закрывающими документами.
Права и доступы — ваши
Код, дизайн и материалы переходят к вам после полной оплаты. Домен, хостинг, репозиторий оформляем на вас.
Портал клиента вместо переписки
Во время работы вы получаете доступ к порталу: договоры, счета, акты и статус проекта в одном месте.
Заказчики из Европы
Среди работ — проекты для Норвегии, Болгарии, Молдовы и Испании.
Цифры, которые можно проверить
Каждый кейс в портфолио — со ссылкой на живой сайт и техническим замером.
Сначала аудит, потом сумма
Прайса на сайте нет намеренно: объём одной и той же работы у двух клиентов отличается кратно.
Говорим «нет», когда не уверены
Если задача не наша или срок нереальный — скажем сразу.
Не нашли свой случай?
Опишите, как это устроено у вас, — ответим, подходит ли «Интеграция WayForPay» и что это значит в вашей ситуации. Без брифа и без звонка: один вопрос, один ответ.
Что влияет на стоимость
Почему две одинаковые на вид задачи считаются по-разному
Сколько платежных сценариев включаемОдна карта – это форма, обратный вызов и статус. Плюс оплата по частям — это уже второй сценарий со своими состояниями и своим поведением при возвращении, а не галочка в настройках.
Состояние статусов заказаКогда статусы заведены и бухгалтер знает, что значит оплата, работа идет по верху. Когда статусов три и все носят название «в обработке», сначала приходится строить схему — это самый длинный пункт сметы.
Платформа и состояние чекаутаНа типовой OpenCart или WooCommerce модуль становится в пределах дня. Самописный чекаут — серверный маршрут, который пишется руками: подпись, защита от повторной обработки того же вызова, повторы.
Возврат и сверкаВозвращение нужно не только подсоединить, но и решить, кто его делает и как он попадает в учет. Без этой договоренности путаница возвращается через месяц.
Состояние аналитикиЕсли GTM и GA4 уже стоят, событие покупки – это час работы. Если счетчиков нет вообще, сначала ставим измерения: в нашем выборе сайтов были и такие, где не нашлось ни одного счетчика.
Технологии и интеграции
На чём строим и с чем это соединяется
Стек
WayForPay API – карта, Apple Pay, Google Pay и оплата частями из одного кабинета. Предел: расчеты в гривне.
Подпись HMAC-MD5 на запросы и ответы. Формат задает провайдер; защита держится на секретности ключа, потому в клиентский код он не попадает.
Серверный адрес для результата платежа. Предел: без ответа в формате провайдера вызов считается недоставленным и повторяется.
OpenCart 3 и 4 – готовый модуль ставится за день. Граница: коробочная версия обычно не расспрашивает статус и не знает ваших названий статусов.
WooCommerce – плагин плюс правки хуков под ваши статусы заказа.
Next.js - маршрут API на рантайме Node. Предел: на edge подпись не сосчитать.
HTTPS и HSTS – условие работы шлюза, а не пожелания.
Интеграции
WayForPay
Visa/Mastercard
Apple Pay / Google Pay
оплата частями
безналичный расчет
GA4 - событие покупки
Google Ads - ремаркетинг
Google Tag Manager
Коробочный модуль своими силами против интеграции с разбором сценариев
Чем этот вариант отличается от альтернативы
Модуль «поставили и работает»Наш подход
Подпись обратного вызовачасто принимается любой запрос по адресу - статус заказа можно подделать извнепроверяем на каждом вызове, неподписанные отклоняем
Вызов не дошелзаказ остается неоплаченным, разбирает менеджер рукамиповторная попытка плюс запрос статуса платежа по номеру заказа
Статусы заказаназвания по умолчанию, сверка делается глазамисопоставлены с вашими названиями и согласованы с бухгалтером
Повторная оплата того же заказашлюз отклоняет повтор, покупатель решает, что сломался сайтновый идентификатор платежа, предыдущая попытка остается в истории
Возврат средствруками в кабинете провайдера, в админке следов нетполное и частичное из админки, с отметкой в заказе
Событие покупкисчетчик считает визиты, деньги нетсумма и состав заказа идут в GA4 и рекламный кабинет
Что нужно от вас
Без этого не начнём — лучше подготовить заранее
1Ключ продавца и секретный ключ из вашего кабинета платежного провайдера.
2Доступ к сайту и админки с правами на установку модулей.
3Перечень статусов заказа и решение, которое из них означает оплату.
4Юридические тексты о возврате средств – они должны быть на сайте до запуска.
5Тестовый заказ на небольшую сумму.
6Бухгалтера или менеджера, отвечающего за сверку платежей.
Если чего-то из этого нет — скажите, подскажем, как собрать или сделаем сами отдельной задачей.
Частые вопросы
Что спрашивают чаще всего — с конкретными ответами
У меня уже стоит модуль – зачем что-то переделывать?
Часто нечего, и мы так и говорим. Проверить стоит три вещи: отклоняет ли ваш сайт обратный вызов без правильной подписи, переспрашивает ли он шлюз о статусе, когда вызов не дошел, и означает ли «оплачено» в админке то же, что в кабинете провайдера. Если на все три «да» делать ничего не надо, и это будет написано в отчете после бесплатной проверки.
Покупатель заплатил, а заказ висит неоплаченным – что это?
Утерянный обратный вызов. Шлюз посылает результат платежа на ваш серверный адрес и ждет ответа на собственный JSON: номер заказа, слово accept, время и подпись. Нет такого ответа – вызов считается недоставленным, шлюз повторяет его, а если ваш модуль молчит все время, деньги остаются списанными, а заказ неоплаченным. Рабочий сценарий другой: модуль сам запрашивает статус платежа по номеру заказа перед тем, как оставить его во взвешенном состоянии. Отдельная рекомендация по практике: статус не меняется на странице, куда покупатель возвращается после оплаты. Он может ее закрыть, перезагрузить или не дойти вообще – единственный надежный источник правды здесь серверный вызов.
Покупатель хочет оплатить тот же заказ во второй раз — почему не получается?
Ибо идентификатор платежа должен быть уникальным. Первая попытка уже заняла номер вашего заказа, и повторный запрос с тем же номером шлюз отклоняет — покупатель видит ошибку и идет. Лечится просто: на каждую попытку генерируется собственный идентификатор с суффиксом, а связь с заказом держится отдельным полем. Десять строк кода и самая частая причина «сайт не дает заплатить» из тех, что мы разбирали.
Следует ли включать оплату частями?
Смотрите на средний чек. На дорогостоящих позициях способ снимает барьер разовой суммы: покупатель платит несколькими платежами, вы получаете деньги полностью, риск неуплаты берет банк. На дешевых товарах им почти не пользуются, а комиссия съедает маржу по каждому заказу. Для закупок по счету он не работает вообще. И честный предел: оплата по частям не увеличивает количество людей, которые хотят ваш товар — она помогает тем, кто уже хочет, но не готов заплатить всю сумму сейчас.
Можно ли оформить возвращение из админки?
Да, полное или частичное. Техническая часть проста, сложнее договориться о процедуре: кто принимает решение, в какой срок и что видит покупатель. Путаница обычно организационная — возвращение делают то из кабинета провайдера, то из админки, и через месяц зверька не сходится. Поэтому на передаче мы пишем краткую инструкцию менеджеру и фиксируем один путь.
Как увязать платежи с аналитикой?
Событием покупки с суммой и составом заказа, которое направляется после подтверждения платежа, а не на странице «спасибо». В измеренном нами оптовом магазине стройматериалов на 3 145 товаров работает связка GTM, GA4 и ремаркетинг Google Ads с событиями просмотра списка товаров – уровень, к которому следует стремиться. Честный предел: сам счетчик не улучшает ничего, а блокировщики и режим согласия делают GA4 источником тенденции, а не бухгалтерской истиной. Сводить его с кассой нужно сознательно.
Сколько времени занимает соединение?
3-10 рабочих дней. Сценарии и доступы – от половины дня до двух, шлюз и форма оплаты столько же, обратный вызов и сценарии ошибок 1–3 дня, статусы с возвратами и событие покупки – до двух дней, живой платеж и передача – до дня. Нижний предел означает готовый жут, где статусы уже заведены. Верхняя – когда схему статусов приходится строить с нуля или в чекате одновременно живут несколько способов расчета.
Безопасно ли держать ключи на сайте?
Секретный ключ живет только на сервере и в клиентский код не попадает — иначе подпись сможет сгенерировать кто-либо. Данные карты на ваш сайт не приходят вообще: их принимает сторона провайдера, поэтому требования к хранению карточных данных на вас не ложатся. Что действительно в вашей зоне: HTTPS без исключений, отдельный ключ для тестов и смена ключа, если доступ к админке имел подрядчик, с которым вы разошлись.
Прайса на сайте нет намеренно: объём той же работы у двух клиентов отличается в разы, и цифра «от» в этом случае ничего не объясняет. Сначала бесплатный аудит — считаем ваши страницы, дубли и скорость, — потом называем сумму и срок и фиксируем их в договоре.