Подключение Stripe
Stripe — международный приём карт (Visa, Mastercard и другие). Деньги поступают напрямую на ваш счёт в Stripe — ОКНА в расчётах не участвуют и комиссию не берут, вы платите только комиссию Stripe по своему тарифу.
Валюты — евро (EUR) и доллары (USD). В интерфейсе Stripe лежит в блоке «Международные» (€ / $). Рублёвые записи через Stripe не оплачиваются — для них подключите российский способ оплаты.
Что понадобится
- Аккаунт Stripe, в котором приём платежей уже активирован.
- Secret API Key — в панели Stripe: Developers → API keys, ключ
вида
sk_live_…(для боевого режима) илиsk_test_…(для тестового). Подойдёт только такой ключ: публикуемый (pk_…) и ограниченный (rk_…) не годятся. - Webhook Signing Secret — ключ вида
whsec_…. Он появляется, когда вы создаёте эндпоинт уведомлений (шаг 2). - Услуга с ценой в евро или долларах — иначе Stripe не появится на странице оплаты.
Шаг 1. Скопируйте адрес уведомлений из ОКОН
- Откройте Настройки → Приём оплаты.
- В блоке «Международные» выберите Stripe.
- Внизу формы, в блоке «Webhook URL для кабинета провайдера», скопируйте адрес:
https://okna.one/api/public/payments/webhook?provider=stripe
Адрес общий для всех кабинетов: ОКНА узнают вашу организацию по самому
платежу и проверяют подпись вашим ключом whsec_….
Шаг 2. Создайте эндпоинт уведомлений в Stripe
- В панели Stripe откройте Developers → Webhooks → Add endpoint.
- В поле адреса вставьте скопированный на шаге 1 URL.
- Выберите события, по которым ОКНА отмечают оплату:
checkout.session.completed;payment_intent.succeeded.
- Сохраните эндпоинт и скопируйте его Signing secret (
whsec_…).
Шаг 3. Введите оба ключа в ОКНА
- Вернитесь в ОКНА → Настройки → Приём оплаты → Stripe.
- Заполните оба поля:
- Secret API Key —
sk_live_…(илиsk_test_…для тестов); - Webhook Signing Secret —
whsec_….
- Secret API Key —
- Нажмите Сохранить и включить — Stripe сразу появится в списке способов оплаты со статусом «Активен».
Ключи хранятся только на сервере и после сохранения больше не показываются. Каждый секрет сохраняется независимо: заполнили только «Secret API Key» — меняется он один, а «Webhook Signing Secret» остаётся прежним, и наоборот. Оба поля обязательны только при самом первом подключении; позже вводите заново лишь тот ключ, который меняете. Переключателем «Принимать оплату» в карточке можно в любой момент временно отключить приём, не удаляя ключи.
Шаг 4. Проверьте оплатой
- Создайте тестовую запись на услугу с ценой в евро или долларах (можно поставить минимальную сумму).
- Откройте страницу оплаты этой записи. Если валюта записи рублёвая, а у услуги есть и валютная цена — на странице будет селектор «Валюта»; выберите евро или доллары.
- Нажмите «Оплатить» у Stripe и завершите платёж картой.
- Через несколько секунд запись в календаре станет «Оплачено», а вам придёт уведомление «клиент оплатил».
Хотите проверить без реальных денег — введите тестовый ключ sk_test_…
и подпись тестового эндпоинта, проведите платёж тестовой картой Stripe,
а потом верните боевые sk_live_… и whsec_… — тестовый и боевой
эндпоинты в Stripe разные, поэтому оба ключа и правда меняются одновременно.
Отдельного переключателя «тестовый режим» в ОКНАх нет — режим определяется
самими ключами.
Как это видит клиент
- В письме о записи (и в напоминании об оплате) — кнопка «Оплатить сеанс».
- Открывается страница оплаты ОКОН: сумма, время сессии и список подключённых способов. Клиент нажимает «Оплатить» у Stripe.
- Дальше — страница Stripe Checkout с уже подставленной суммой.
- После успешной оплаты клиент возвращается на страницу «Оплата прошла», а запись помечается оплаченной автоматически.
Что передаётся за границу
Stripe — зарубежный сервис, поэтому ОКНА отправляют туда только то, без чего платёж не пройдёт: сумму, валюту, электронную почту клиента (для квитанции Stripe) и внутренние номера записи. Имя и телефон клиента не передаются, а назначение платежа обезличено — в Stripe уходит строка «Оплата сессии», без названия услуги.
Частые вопросы
Какая сумма подставляется в оплату? Персональный тариф клиента на услугу в выбранной валюте, если он задан; иначе — цена услуги. Если счёт выставлен платёжной ссылкой — сумма из ссылки.
Можно ли принимать рубли через Stripe? Нет. Для рублёвых записей подключите российский способ: ЮKassa, Robokassa, Prodamus или ЮMoney.
Как сделать возврат? Возврат делается в панели Stripe. В ОКНАх статус оплаты при этом не меняется — снимите отметку «Оплачено» в карточке записи вручную.
Если не работает
- Оплата прошла, но запись «Не оплачено». Чаще всего не сохранён
«Webhook Signing Secret»: без него уведомления Stripe отклоняются.
Откройте карточку Stripe и введите его заново — «Secret API Key»
трогать не нужно, если он верный. Проверьте также, что в эндпоинте
Stripe выбраны события
checkout.session.completedиpayment_intent.succeeded, а адрес совпадает с блоком «Webhook URL». Оплату всегда можно отметить вручную в карточке записи. - Ключ не сохраняется. «Secret API Key» должен начинаться с
sk_live_илиsk_test_, а подпись — сwhsec_. Ограниченные ключи (rk_…) не принимаются. - На странице оплаты нет Stripe. Проверьте статус карточки («Активен») и цену услуги: Stripe показывается только у записей в евро или долларах. Если у услуги нет валютной цены — добавьте её в разделе «Услуги».
- «Не получилось открыть оплату». Обычно это недействительный ключ или не активированный аккаунт Stripe — проверьте «Secret API Key» в панели Stripe и введите его заново.
- Не помогло — напишите нам через Обратную связь на Главной, приложите время оплаты и номер записи.



