Интеграция платёжных шлюзов Shopify: настройка и оптимизация

Интеграция платёжных шлюзов Shopify

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Услуги, которые мы предлагаем
Показано 1 из 1Все 2062 услуг
Интеграция платёжных шлюзов Shopify: настройка и оптимизация
Простой
~2-3 дня

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1414
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1285
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    982
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1241
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    982
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    995

Интеграция платёжных шлюзов Shopify

При выборе платёжного шлюза для Shopify-магазина часто возникает дилемма: встроенный Shopify Payments не поддерживает нужную страну, а сторонние провайдеры требуют сложной интеграции и влекут дополнительную комиссию до 2%. Мы решали эту задачу для 50+ магазинов — от локальных брендов до enterprise-проектов. В этой статье разберём все уровни интеграции, сравним их по сложности и затратам, а также покажем реальный пример подключения кастомного шлюза.

Почему стоит выбирать Shopify Payments?

Shopify Payments — встроенное решение на базе Stripe. Оно доступно в США, Великобритании, ЕС, Австралии и ряде других стран, но недоступно для бизнеса из СНГ. Если ваш магазин зарегистрирован в поддерживаемой стране, это самый простой вариант: включается в настройках одной галочкой, не требует кода и не влечёт дополнительных комиссий. Комиссия за транзакцию стандартная — около 2.9% + фиксированная сумма (например, $0.30).

Как интегрировать сторонний платёжный шлюз?

Для провайдеров, которых нет в официальном списке Shopify, есть два основных пути: hosted-редирект и полноценная интеграция через Shopify Payment Provider API. Выбор зависит от требований к UX и необходимости автоматизации возвратов.

Согласно документации Shopify, hosted-редирект реализуется через Payment App API и требует Shopify Partner аккаунта.

Hosted-редирект (быстрый старт)

Покупатель редиректится на страницу провайдера для оплаты. Реализуется через Payment App API. Требуется Shopify Partner аккаунт и approval приложения. Пример конфигурации:

# shopify.app.toml [payment_gateway_integration] merchant_label = "MyPay" supports_oversell_protection = false supports_3ds = true confirmation_callback_url = "https://app.example.com/shopify/confirm" payment_session_url = "https://app.example.com/shopify/payment" refund_session_url = "https://app.example.com/shopify/refund" void_session_url = "https://app.example.com/shopify/void" 

Endpoint создания платежа:

// POST /shopify/payment app.post('/shopify/payment', async (req, res) => { const { id, gid, amount, currency, customer_locale, payment_method } = req.body; const payment = await myPayClient.createPayment({ amount: parseFloat(amount), currency, reference: id, redirect_url: `https://app.example.com/shopify/return?session=${id}`, }); res.json({ payment_method: { data: { payment_method } }, redirect_url: payment.checkout_url, status: 'redirecting', }); }); 

После оплаты — callback на confirmation_callback_url, где статус подтверждается обратно в Shopify:

app.post('/shopify/confirm', async (req, res) => { const session = await getSession(req.body.id); const paymentStatus = await myPayClient.getStatus(session.payment_id); res.json({ status: paymentStatus === 'paid' ? 'success' : 'failure', }); }); 

Полноценный кастомный шлюз (Shopify Payment Provider API)

Этот подход даёт полный контроль над процессом оплаты и автоматические возвраты. Регистрируется как Shopify App с типом payment. Мы используем его для сложных интеграций с банками, криптовалютными платёжками и локальными системами. Hosted-редирект в 2 раза быстрее в реализации, чем полноценный Payment Provider API, но последний обеспечивает бесшовный UX и автоматические возвраты.

Сравнение вариантов интеграции

Критерий Shopify Payments Hosted-редирект Payment Provider API
Сложность Минимальная Средняя Высокая
Комиссия Shopify 0% дополнительной 0.5–2% 0.5–2%
Возвраты Автоматические Ручные Автоматические
Поддержка стран Ограниченная Любая Любая
Кастомизация Нет Ограниченная Полная
Время реализации 1–2 дня 1–2 недели 2–4 недели

Что входит в нашу работу по интеграции

  • Анализ требований: юрисдикция, валюта, необходимые функции (рекуррентные платежи, 3DS, множественные валюты)
  • Проектирование архитектуры: выбор подхода, разработка схемы взаимодействия с платёжным провайдером
  • Регистрация Shopify Partner аккаунта и создание приложения с типом payment
  • Разработка endpoints: создание платежа, подтверждение, возврат, отмена
  • Настройка webhooks и колбэков для синхронизации статусов
  • Интеграция с темой Shopify: кастомные блоки, если требуется (только Shopify Plus)
  • Тестирование в песочнице и продакшене: 3DS, таймауты, двойные списания
  • Документация для вашей команды и обучение сотрудников
  • Гарантия поддержки в течение 30 дней после запуска

Типичные ошибки при интеграции

  • Неправильный формат URL колбэков — Shopify требует HTTPS и определённые gid
  • Отсутствие обработки ошибок в endpoints — возврат 500 вместо корректного статуса failure
  • Некорректная конфигурация 3DS: не все провайдеры поддерживают, нужно настраивать флаг supports_3ds
  • Забывают про void-запросы при отмене заказа — это может привести к блокировке средств
Детали обработки void-запросов

При отмене заказа до подтверждения платежа Shopify отправляет запрос на void_session_url. Обработчик должен отменить платеж в платёжной системе, иначе средства могут быть заблокированы на несколько дней. Типичная ошибка — не реализовать этот endpoint, что приводит к задержкам возврата.

Процесс работы с нашей командой

  1. Аналитика — изучаем ваш магазин, аудит текущего решения, определяем требования
  2. Проектирование — выбираем шлюз, рисуем схему, согласовываем сроки
  3. Реализация — разрабатываем приложение, endpoints, тестируем в Staging
  4. Тестирование — проводим нагрузочное тестирование, проверяем возвраты и 3DS
  5. Деплой — публикуем приложение в Shopify App Store (если нужно), настраиваем продакшен
  6. Поддержка — мониторинг, исправление багов, консультации. Опыт наших инженеров — 8+ лет в веб-разработке

Shopify Plus: checkout.liquid

На Shopify Plus доступен checkout.liquid — можно добавить кастомный payment option через JavaScript. Это нарушает стандартный flow и усложняет обновления темы, но иногда единственный вариант для специфичных провайдеров. Мы используем этот подход только когда другие варианты невозможны, и всегда сопровождаем подробной документацией.

Как автоматизировать возвраты?

Возвраты в Shopify автоматически вызывают refund_session_url провайдера. Обработчик должен инициировать возврат в платёжной системе и вернуть статус:

app.post('/shopify/refund', async (req, res) => { const { id, payment_id, amount, currency } = req.body; await myPayClient.refund(payment_id, { amount: parseFloat(amount), currency }); res.json({ status: 'success' }); }); 

При автоматизации возвратов время обработки сокращается с 2 дней до 5 минут. Это критично для магазинов с высоким объёмом возвратов. Средняя экономия на операционных расходах составляет до $500 в месяц.

Ограничения и комиссии

Shopify взимает дополнительную комиссию (0.5–2%) при использовании стороннего провайдера вместо Shopify Payments. На Shopify Plus комиссия снижена. Это нужно учитывать при выборе провайдера для магазинов в поддерживаемых странах. Если Shopify Payments недоступен, комиссия неизбежна, но мы помогаем минимизировать её правильным выбором провайдера — например, через Stripe Connect, который позволяет снизить комиссию до 1.5%.

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