Что нужно до подключения Stripe
Аккаунт Stripe может открыть эстонская компания, в том числе OÜ e-резидента. Для активации Stripe запрашивает данные фирмы, подтверждение личности представителя и расчётный счёт для выплат. После этого в панели управления появляются API-ключи для тестового и боевого режима.
- Данные компании и документ представителя
- Расчётный счёт для выплат
- Сайт, где понятно, что вы продаёте, с условиями и контактами
- Решение, что вам нужно: разовые платежи, подписки или и то и другое
Комиссии зависят от типа карты и страны её выпуска. Актуальные тарифы опубликованы на сайте Stripe.
Как оплата картой выглядит для покупателя
- Покупатель нажимает кнопку оплаты, открывается платёжная страница Stripe или встроенная в ваш сайт форма
- Он вводит данные карты либо выбирает Apple Pay или Google Pay
- Банк при необходимости просит подтверждение (3-D Secure), в Эстонии чаще всего через Smart-ID или приложение банка
- Stripe возвращает покупателя на ваш сайт и отправляет серверу уведомление (webhook), по которому заказ подтверждается
Данные карты ни разу не проходят через ваш сервер: покупатель вводит их в форму Stripe. Это сильно упрощает требования безопасности к вашему сайту.
WooCommerce, Shopify и кастомная разработка
В WooCommerce используем официальный плагин Stripe: вносим ключи, включаем нужные способы оплаты и настраиваем уведомления. В Shopify карточные платежи, как правило, идут через собственное платёжное решение платформы, поэтому отдельную интеграцию Stripe там обычно не делают.
Больше всего пользы от Stripe в кастомном проекте на Next.js: создаём платёж на сервере, принимаем уведомления на отдельном адресе и проверяем их подпись. Для подписок добавляем клиенту кабинет, где он сам меняет карту и отменяет подписку.
Тестирование и типичные ошибки
У Stripe есть тестовый режим с тестовыми картами. Проверяем успешный платёж, отклонённую карту, карту с дополнительным подтверждением и возврат. При переходе в боевой режим меняем ключи и заново регистрируем адрес уведомлений: настройки тестового и боевого режима раздельные.
- Проверка подписи уведомления не проходит, потому что фреймворк меняет тело запроса до проверки
- Адрес уведомлений зарегистрирован только в тестовом режиме
- Одно и то же уведомление приходит несколько раз, и заказ подтверждается дважды, если обработка не учитывает повторы
- Списание по подписке не прошло из-за истёкшей карты, а доступ у пользователя остался