Skip to content

Технология · Платежи

Интеграция Stripe

Три языка, цены по стране, промокоды и система денежных реферальных выплат — всё в одной оплате: Stripe — наш выбор, когда платежи нельзя оставить на потом.

Автор Ing. Hlib Yarovyi, Основатель

3

языка с полностью локализованной оплатой через Stripe, включая переведённые описания товаров и цены по стране

Astrooly требовал, чтобы пользователь видел свой язык на всём пути оплаты, а не только в переведённом интерфейсе — параметр locale в Stripe переводит UI, но названия и описания товаров нужно передавать отдельными переведёнными полями через custom fields Stripe. Серверное определение страны по IP задаёт тарифную зону ещё до создания сессии оплаты, с запасным вариантом на случай, если определение не сработало.

Когда нужен Stripe

Большинство интеграций Stripe останавливаются на «принять оплату картой». Более сложная версия — та, что реально важна для продукта с международными продажами, — сделать так, чтобы пользователь из другой страны видел свой язык и справедливую цену, а платёжный процесс при этом не ломался.

На Astrooly пришлось решить три задачи одновременно: переведённые описания товаров внутри хостящейся Stripe-страницы оплаты (а не только окружающего интерфейса), серверное определение страны, которое задаёт тарифную зону ещё до создания сессии, и систему промокодов, которая должна была корректно работать во всех валютных конфигурациях сразу.

Мы также построили систему денежных реферальных выплат поверх той же интеграции Stripe — полная сквозная атрибуция от клика до оплаченной конверсии, отслеживаемая на сервере, чтобы пережить блокировщики рекламы и переходы между устройствами, с дашбордом реферала, показывающим клики, регистрации и заработанную комиссию. Это слой, до которого большинство интеграций Stripe не доходит, потому что он требует, чтобы логика оплаты и логика атрибуции совпадали в том, что считать конверсией.

Что мы строим на Stripe

01

Многоязычная оплата

Параметр locale в Stripe задаёт язык интерфейса оплаты; переведённые названия и описания товаров передаются через custom fields Stripe, так что весь процесс, включая хостящуюся страницу оплаты, совпадает с языком пользователя.

02

Серверные цены по стране

Геолокация по IP определяет тарифную зону ещё до создания сессии Stripe, с чётким запасным вариантом на случай, если определение неоднозначно — VPN и корпоративные прокси не должны ломать оплату.

03

Промокоды во всех валютах

Логика скидочных кодов, работающая одинаково независимо от того, в какой валюте и тарифной зоне оказалась конкретная сессия.

04

Отслеживание денежных реферальных комиссий

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

05

Логика заказов и доступа через вебхуки

Подтверждение оплаты, статус подписки и выдача доступа обрабатываются через вебхуки Stripe, а не через опрос — состояние аккаунта остаётся корректным, даже если пользователь закрыл вкладку посреди оплаты.

Частые вопросы

Можете ли вы сделать многоязычный SaaS с оплатой на каждом языке?
Да. Мы задаём параметр locale в Stripe для интерфейса оплаты и передаём переведённые названия и описания товаров через custom fields Stripe, так что пользователи видят свой язык на всём пути оплаты, включая хостящуюся страницу Stripe — именно так работает трёхъязычная оплата в Astrooly.
Как технически работают цены по стране?
Сервер считывает IP запроса и делает геолокационный запрос до создания сессии Stripe. Определённая страна сопоставляется с тарифной зоной, которая задаёт валюту и сумму, передаваемую в Stripe. Если определение не удалось, система переходит на цену по умолчанию, а не ломает оплату.
Может ли Stripe обеспечить реферальную систему с реальными денежными комиссиями?
Сам Stripe — нет, эта логика реализуется в слое, который мы строим поверх него. Каждый реферер получает уникальную ссылку с серверным отслеживанием; клики, регистрации и оплаченные конверсии атрибутируются и хранятся на сервере, чтобы атрибуция пережила блокировщики рекламы, а реферер видит полную воронку и итоговую комиссию в своём дашборде.
В чём самая частая ошибка при интеграции Stripe?
Предположение, что параметр locale в Stripe сам по себе решает интернационализацию. Он переводит только обвязку интерфейса оплаты — названия товаров, описания и любые дополнительные позиции всё равно нужно явно передавать на языке пользователя, иначе «многоязычная» оплата покажет английские названия товаров внутри переведённого интерфейса.

Нужны платежи, которые работают на каждом рынке, где вы продаёте?

Мы строим интеграции Stripe с реальной локализацией, ценами по стране и логикой атрибуции, которая выдерживает реальный трафик — а не просто кнопку оплаты. Опишите продукт — оценим объём работы.