Перейти к содержимому
easygym

Документация для владельца клуба

Как принимать оплату картой через Stripe

Клиенты клуба платят картой, Apple Pay или Google Pay, а деньги поступают на собственный Stripe-аккаунт клуба. Здесь весь путь — от открытия аккаунта до первой настоящей оплаты — в том же порядке, что и мастер в настройках easygym, а дальше — выплаты, комиссии, возвраты, автопродление и оплата на ресепшене.

Обзор возможности: Оплата картой через Stripe

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

Содержание

Как движутся деньги

Клуб в easygym продаёт абонементы на своём сайте и на ресепшене. Клиент платит на странице оплаты Stripe — картой, Apple Pay или Google Pay, — и абонемент включается сам, как только Stripe подтвердит оплату.

  • Деньги идут на собственный Stripe-аккаунт клуба, а Stripe выплачивает их на банковский счёт клуба.
  • Не нужны ни разработчик, ни отдельный сайт, ни сертификаты: страницу оплаты показывает Stripe, а easygym даёт сайт клуба с тарифами, офертой, условиями возврата и контактами.
  • Персонал видит онлайн-оплаты и оплаты, которые нужно вернуть, — на вкладке «Платежи» и в карточке каждого клиента.

Две отдельные денежные линии

Линия 1

Оплата абонементов

Клиент клуба→Stripe-аккаунт клуба

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

Линия 2

Плата за easygym

Владелец клуба→easygym

Отдельный платёж на сайте платформы. С оплатами клиентов клуба он не связан и из них не удерживается.

Принцип

Деньги клиентов клуба идут напрямую на собственный Stripe-аккаунт клуба, а Stripe выплачивает их на банковский счёт клуба. easygym не получает, не хранит и не распределяет эти средства. Ключом Stripe клуба он создаёт оплаты и проверяет их состояние, а по действию владельца или администратора клуба может вернуть оплату — деньги тогда возвращаются на карту, с которой платили. Получить или перевести средства клуба easygym не может. Плата за сам easygym — отдельно, на сайте платформы.

Почему у клуба собственный аккаунт, а не общий аккаунт easygym: принимать деньги за других и передавать их дальше — регулируемая финансовая услуга. С собственным Stripe-аккаунтом клуба easygym не стоит между клиентом и клубом: деньги не проходят через easygym, и получить или перевести средства клуба он не может. Ключ клуба easygym использует только чтобы создавать оплаты, проверять их, списывать сохранённые карты с согласия клиента и возвращать оплаты.

Оплаты в ОАЭ

Числа ниже — для аккаунта Stripe, открытого в ОАЭ. У аккаунта в другой стране свои тарифы и свои правила выплат: страницы, откуда взяты эти числа, стоят в конце раздела, а дата сверки — вверху страницы.

Чем платит клиент

Visa и Mastercard — те же карты через Apple Pay, Google Pay и Link. American Express в списке Stripe для аккаунтов в ОАЭ нет. Tabby и Tamara через Stripe не проходят вовсе: клуб, который продаёт годовой абонемент в рассрочку, договаривается с ними отдельно, мимо easygym.

Что удерживает Stripe

Stripe удерживает 2,9 % + 1,00 AED успешной оплаты картой, выпущенной в ОАЭ. Карта другой страны — турист или гость на отдыхе — добавляет 1 %, а оплата, которую Stripe конвертирует, — ещё 1 %.

На абонементе 300,00 AED это примерно 9,70 AED. Меньше 2,00 AED Stripe не спишет — такую оплату принимают наличными или на собственном терминале клуба.

Свою комиссию Stripe удерживает из оплаты до выплаты, а easygym из денег клиентов не удерживает ничего.

Когда деньги доходят до клуба

Stripe выплачивает в дирхамах и только на банковский счёт в ОАЭ. Первая выплата уходит примерно через 7 дней после первой оплаты, дальше деньги за оплату приходят за 5 рабочих дней. Выплаты приходят по рабочим дням — не в выходной и не в праздник, — а меньше 20,00 AED Stripe не выплачивает.

Скажите об этом клубу до запуска: деньги за первые проданные абонементы не задержались, они просто ещё в пути.

Налог и квитанции

Фискальное устройство в ОАЭ не нужно, а налог к цене Stripe не добавляет: клиент платит ровно ту сумму, что на сайте, и easygym отправляет ему квитанцию на неё. Поэтому клуб, зарегистрированный по VAT, закладывает налог в цену тарифа и указывает свой TRN в реквизитах продавца — оттуда он попадает и в квитанцию, и на страницу оферты сайта.

Шаг 1

Аккаунт Stripe

Клубу нужен собственный аккаунт Stripe: на него и поступают деньги клиентов. Открывайте его на тот бизнес, который продаёт клиентам абонементы, — тот, что указан продавцом в оферте на сайте клуба.

Что просит Stripe

Прежде чем аккаунт начнёт принимать настоящие деньги, Stripe проверяет бизнес. Что именно он попросит, зависит от страны и вида бизнеса, — список Stripe показывает при активации аккаунта.

  • В ОАЭ аккаунт открывают на бизнес с торговой лицензией (trade licence).
  • В США — на компанию или индивидуального предпринимателя, с теми данными о бизнесе, которые попросит Stripe.
  • В других странах сначала проверьте, что Stripe там работает: список стран — на его сайте.
  • Везде Stripe спрашивает о бизнесе и о людях, которые за ним стоят, и просит банковский счёт для выплат.

Как открыть аккаунт

  1. Зарегистрируйтесь на stripe.com с рабочей почтой клуба.
  2. Активируйте приём платежей: данные бизнеса, его владелец и банковский счёт для выплат. До этого аккаунт работает только в тестовом режиме — а пройти весь мастер можно уже сейчас, с тестовыми ключами.
  3. Заполните публичные данные: название бизнеса, сайт — укажите сайт клуба в easygym — и контакты поддержки. Клиенты видят их на странице оплаты, в квитанциях Stripe и в выписке по карте.
  4. Там же задайте statement descriptor — короткое название, которое стоит рядом со списанием в банковском приложении клиента. Впишите в него название клуба: строка, которую через месяц после покупки никто не узнаёт, и отправляет людей оспаривать платёж в банк вместо звонка в клуб.
  5. В Settings → Branding задайте логотип и цвета клуба — страница оплаты будет выглядеть как клуб.

Страну аккаунта после активации не поменять: бизнесу в другой стране нужен свой аккаунт.

В мастере easygym

Отметьте «Аккаунт создан», когда аккаунт открыт: о новых аккаунтах Stripe easygym не сообщает. Когда ключи подключены, шаг отмечается сам.

Открыть этот шаг в админке (откроется в новой вкладке)

Шаг 2

Ключи API и вебхук

easygym работает со Stripe-аккаунтом клуба через ключ API. В кабинете Stripe откройте Developers → API keys. Подойдёт и секретный ключ (sk_…), но мы советуем ограниченный (rk_…): он умеет только то, что вы разрешили, и если когда-нибудь утечёт, ни для чего другого его не использовать.

Ограниченный ключ для easygym

  1. На странице API keys выберите «Create restricted key» и назовите ключ, например, «easygym».
  2. Выставьте права из таблицы ниже, всё остальное оставьте «None».
  3. Создайте ключ и сразу скопируйте: Stripe показывает его только один раз.

Какие права нужны ключу

Какие права нужны ключу
Checkout SessionsWrite — записьОткрывает страницы оплаты — для покупок на сайте и оплаты по QR на ресепшене, — закрывает неоплаченные и проверяет их состояние.
PaymentIntentsWrite — записьПроверяет оплаты и списывает сохранённую карту при автопродлении.
PaymentMethodsWrite — записьПоказывает маску сохранённой карты и отвязывает карту, когда клиент её удаляет.
CustomersWrite — записьСохранённая карта принадлежит покупателю в Stripe: страница оплаты его создаёт, а автопродление списывает карту с него.
RefundsWrite — записьВозвращает оплату, когда персонал нажимает «Вернуть деньги» в easygym, и читает возвраты оплаты, когда Stripe о них сообщает, — чтобы записать возврат из easygym или тот, который банк клиента не принял.
ChargesRead — чтениеЧитает списание, когда Stripe сообщает о возврате, сделанном в кабинете Stripe.
Webhook EndpointsWrite — записьСоздаёт вебхук в аккаунте клуба при подключении ключа и убирает его при отключении платежей.
AccountRead — по желаниюТолько чтобы показать название аккаунта в админке. Без этого права ключ подключается так же.

Право на запись включает чтение. Если ключу не хватает права, Stripe отказывает в запросе, а журнал запросов ключа в кабинете Stripe показывает, какой запрос не прошёл, — добавьте право через «Edit key».

Куда вставить ключ

  1. В админке откройте Настройки → Платежи — шаг 2 мастера.
  2. Вставьте ключ в поле «Секретный ключ». Публичный ключ (pk_…) — по желанию: страницы оплаты работают и без него.
  3. Нажмите «Проверить и подключить». easygym сначала проверяет ключ у Stripe и создаёт вебхук и только потом сохраняет ключ — в зашифрованном виде.

Сохранённый ключ больше не показывается никому, даже владельцу клуба. Чтобы заменить его, нажмите «Заменить ключи» и вставьте новый; «Отключить» удаляет его из easygym.

В мастере easygym

Шаг отмечается сам, как только Stripe примет ключ и вебхук будет на месте.

Открыть этот шаг в админке (откроется в новой вкладке)

Шаг 3

Тестовая оплата

Прежде чем принимать настоящие деньги, пройдите путь клиента с тестовыми ключами: они работают как боевые, но деньги не двигаются. В Stripe это тестовый режим, он же песочница (sandbox), а его ключи начинаются с sk_test_ или rk_test_.

Как проверить

  1. Подключите тестовый ключ на шаге 2 — так же, как боевой.
  2. На шаге 3 создайте небольшую оплату в валюте клуба — 4,00 AED, 1,00 $ или 1,00 €. Сумма чуть выше минимума Stripe, чтобы платёж прошёл при любой валюте выплат аккаунта. Откройте страницу оплаты и заплатите тестовой картой.
  3. Нажмите «Проверить оплату»: easygym спросит у Stripe, пришла ли оплата.
  4. Верните оплату кнопкой на том же шаге — она вернётся тем же путём, что и настоящий возврат.
  5. Для полной картины купите тариф на сайте клуба: абонемент станет активным, придёт письмо, а покупка появится в кабинете клиента.

Тестовые карты

Карта 4242 4242 4242 4242 с любым будущим сроком и любым CVC всегда проходит. Карта 4000 0000 0000 0002 всегда отклоняется — так видно, что увидит клиент, если банк откажет.

Stripe принимает оплату в валюте клуба, если это AED, USD или EUR. Для другой валюты мастер тестовую оплату не создаёт — сначала смените валюту клуба.

В мастере easygym

Шаг отмечается сам, как только Stripe подтвердит тестовую оплату.

Открыть этот шаг в админке (откроется в новой вкладке)

Боевой режим

Тестовый и боевой режимы в Stripe разделены: у каждого свои ключи, права и вебхуки. Поэтому после теста боевой ключ подключается точно так же.

Теперь деньги настоящие

Как только подключён боевой ключ, клиенты платят на счёт клуба по-настоящему, а тестовые карты больше не проходят.

Как перейти в боевой режим

  1. Дождитесь, пока Stripe активирует аккаунт: без этого боевые ключи оплат не принимают.
  2. В боевом режиме создайте такой же ограниченный ключ (rk_live_…) с теми же правами.
  3. На шаге 2 нажмите «Заменить ключи» и вставьте боевой ключ. easygym создаст для него новый вебхук и уберёт тот, что создал раньше.
  4. Проведите первую настоящую оплату: купите самый дешёвый тариф на сайте клуба своей картой или создайте оплату на шаге 3 и верните её.

Какой режим подключён, видно в админке: «Тестовый режим» или «Боевой режим».

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

Вебхук: как оплаты доходят до easygym

О каждой оплате Stripe сообщает easygym через вебхук — адрес в easygym, на который Stripe шлёт сообщение, когда с оплатой что-то происходит. Поэтому абонемент включается в момент оплаты, даже если клиент сразу закрыл страницу.

easygym создаёт его сам

При подключении ключа easygym сам создаёт вебхук в Stripe-аккаунте клуба: на собственный адрес этого клуба, только для нужных ему событий и с описанием «easygym». Секрет подписи вебхука он сохраняет и сверяет с ним каждое сообщение, поэтому поддельное отклоняется.

На какие события подписывается easygym

  • payment_intent.succeeded
  • payment_intent.processing
  • payment_intent.payment_failed
  • payment_intent.canceled
  • checkout.session.completed
  • checkout.session.expired
  • charge.refunded
  • charge.refund.updated

Другие события вашего аккаунта до easygym не доходят: аккаунт может и дальше обслуживать другие ваши сервисы.

Если easygym не может его создать

Ключ без права Webhook Endpoints или адрес, который Stripe не принимает, останавливают мастер с объяснением. Тогда создайте вебхук вручную:

  1. В кабинете Stripe откройте Developers → Webhooks и добавьте endpoint.
  2. Endpoint URL — адрес из шага 2 мастера, в блоке «Как добавить вебхук вручную», с кнопкой копирования.
  3. Выберите события из списка выше.
  4. Откройте созданный endpoint, покажите его секрет подписи (whsec_…) и вставьте в поле «Секрет подписи вебхука (необязательно)» вместе с ключом.

Для локальной тестовой установки пересылайте события через Stripe CLI (stripe listen) и вставьте секрет подписи, который он напечатает.

Не удаляйте вебхук

Не удаляйте и не отключайте вебхук easygym в Stripe: оплаты будут проходить, но easygym узнает о них с опозданием. Если его удалили, подключите ключ заново — easygym создаст новый.

Выплаты

Оплаты собираются на балансе Stripe-аккаунта клуба, и Stripe выплачивает их на банковский счёт клуба по графику выплат этого аккаунта. Первая выплата обычно идёт дольше следующих.

easygym в выплатах не участвует и их не видит: каждая выплата и дата её поступления видны в кабинете Stripe.

Счёт для выплат добавляют и меняют в настройках выплат Stripe. Какие счета и валюты возможны, зависит от страны Stripe-аккаунта.

Для аккаунта в ОАЭ валюта, расписание и минимальная выплата — в разделе «Оплаты в ОАЭ».

Комиссии

Комиссию Stripe берёт по собственному договору клуба с ним. Ставки зависят от страны аккаунта, карты и способа оплаты и меняются — поэтому мы их здесь не приводим: актуальные — на странице тарифов Stripe.

Для аккаунта в ОАЭ — главном рынке — ставки указаны в разделе «Оплаты в ОАЭ».

easygym ничего не удерживает с оплат клиентов. Его собственная плата — отдельный платёж за платформу, а не доля выручки клуба.

Что происходит с комиссией Stripe при возврате и сколько стоит спорный платёж — тоже на странице тарифов Stripe.

Возвраты

Продавец — клуб, поэтому о возврате решает он — по условиям на странице возвратов своего сайта.

Возврат из easygym

  1. Откройте оплату в карточке клиента: Участники → Онлайн-оплаты → Вернуть деньги.
  2. Укажите сумму — всё, что осталось на платеже, или меньше, — напишите причину и подтвердите. easygym вернёт её на карту, с которой платил клиент. Возврат всего остатка сразу отменяет оплаченные платежом абонемент и доступ, частичный — оставляет их.
  3. Когда деньги дойдут до клиента, зависит от его банка. Пока Stripe не подтвердит возврат, у оплаты стоит «Возврат в обработке».

Возвращать оплаты может персонал, которому доступно управление деньгами клуба.

Возврат в кабинете Stripe

Вернуть оплату можно и в кабинете Stripe. О полном возврате easygym узнает и отметит оплату возвращённой, но абонемент оставит как есть — что с ним делать, решает клуб. Частичный возврат оплату в easygym не меняет.

Если деньги пришли за уже отменённую продажу — скажем, гость оплатил страницу по QR после того, как кассир её отменил, — easygym отметит оплату «Нужен возврат» на вкладке «Платежи»: верните её клиенту.

Изредка банк клиента не принимает возврат из easygym или полный возврат из кабинета Stripe — например, карта уже закрыта. Тогда Stripe возвращает деньги на баланс клуба, и это может занять до 30 дней. easygym отметит оплату «Нужен возврат» на вкладке «Платежи» с причиной от банка, а в карточке клиента у неё будет «Банк отклонил возврат». Верните её оттуда ещё раз или верните деньги клиенту другим способом. Абонемент, отменённый вместе с возвратом, остаётся отменённым. Если не прошёл частичный возврат из кабинета Stripe, в easygym ничего не меняется — как и от самого частичного возврата.

Спорные платежи (чарджбэки) разбираются в кабинете Stripe: easygym их не получает. Как на них отвечать, объясняет документация Stripe.

Сохранённые карты и автопродление

Чтобы абонемент продлевался сам, карту клиента нужно сохранить. Карта хранится в Stripe-аккаунте клуба: easygym держит только ссылку Stripe на неё и маску номера — ни полного номера, ни срока, ни CVC.

Как это работает

  • Карта сохраняется только с отдельного согласия клиента на странице покупки — рядом с условиями автопродления: сумма, как часто и как отменить.
  • Перед первым автоматическим списанием и перед списанием по новой цене клиент заранее получает письмо.
  • В дату списания, за несколько дней до даты продления, easygym списывает сохранённую карту через Stripe-аккаунт клуба, без участия клиента.
  • Если банк отказал или просит клиента подтвердить оплату, клиенту приходит письмо со ссылкой на оплату, а easygym пробует списать ещё несколько раз в следующие дни. Если все попытки не прошли, автопродление останавливается, а продление ещё можно оплатить по ссылке.
  • После каждого списания клиенту приходит квитанция на почту.
  • Клиент останавливает автопродление в кабинете: Мой кабинет → Абонементы → Остановить автопродление. Карта, удалённая там, отвязывается и в Stripe.

Оплата картой на ресепшене

Терминал для Stripe на ресепшене не нужен: гость платит со своего телефона, а деньги идут на тот же Stripe-аккаунт клуба, что и оплаты на сайте.

Как это проходит

  1. Кассир добавляет позиции в чек на кассе и выбирает «Карта (QR)».
  2. «Показать QR-код» открывает страницу оплаты Stripe на сумму чека и показывает её QR-код на экране.
  3. Гость сканирует код камерой телефона и платит картой, Apple Pay или Google Pay.
  4. Как только Stripe подтвердит оплату, касса показывает «Оплата получена»: продажа проведена, остатки обновлены.

Полезно знать

  • Страница оплаты открыта ограниченное время — касса показывает, сколько осталось. Если гость передумал, «Отменить оплату» закрывает страницу, и чек можно оплатить иначе.
  • Картой касса принимает чек от 2,00 AED, 0,60 $ или 0,60 € — не меньше минимума Stripe. Stripe считает свой минимум в валюте выплат аккаунта, после конвертации, поэтому для долларов и евро у кассы небольшой запас сверху. Чек поменьше оплачивают наличными или через терминал.
  • Банковский терминал, если он есть у клуба, остаётся отдельным способом оплаты: такую оплату кассир отмечает вручную, а деньги идут туда, куда их выплачивает банк терминала.
  • Если гость заплатил уже после отмены продажи, деньги всё равно придут на Stripe-аккаунт клуба, а easygym покажет оплату как требующую возврата.

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

Получает ли easygym деньги клиентов клуба?
Деньги клиентов клуба идут напрямую на собственный Stripe-аккаунт клуба, а Stripe выплачивает их на банковский счёт клуба. easygym не получает, не хранит и не распределяет эти средства. Ключом Stripe клуба он создаёт оплаты и проверяет их состояние, а по действию владельца или администратора клуба может вернуть оплату — деньги тогда возвращаются на карту, с которой платили. Получить или перевести средства клуба easygym не может. Плата за сам easygym — отдельно, на сайте платформы.
Сколько стоит приём оплаты картой?
Комиссию берёт Stripe по собственному договору клуба с ним — ставки для вашей страны на странице тарифов Stripe. easygym с оплат клиентов ничего не удерживает.
Когда деньги придут на счёт?
По графику выплат Stripe-аккаунта клуба. Первая выплата обычно идёт дольше; дата каждой выплаты видна в кабинете Stripe.
Можно подключить аккаунт Stripe, который у меня уже есть?
Да. easygym создаёт собственный вебхук только на нужные ему события и остальной аккаунт не трогает. Заведите для easygym отдельный ограниченный ключ — тогда его можно отозвать, не задев другие ваши сервисы.
В какой валюте платят клиенты?
В валюте клуба, если это AED, USD или EUR. Все оплаты на сайте и на ресепшене идут в этой валюте.
Видит ли easygym номера карт?
Нет. Клиент вводит карту на странице Stripe. easygym получает только результат оплаты, а для сохранённой карты — ссылку Stripe на неё и маску номера.
Что easygym делает с ключом?
Открывает страницы оплаты и проверяет их состояние, с согласия клиента списывает сохранённые карты при автопродлении, возвращает оплату, когда персонал нажимает «Вернуть деньги», и создаёт свой вебхук. Ключ хранится зашифрованным и не показывается; «Отключить» удаляет его из easygym, а отзыв ключа в кабинете Stripe сразу отключает easygym.
Нужен ли клубу свой сайт?
Нет. Stripe просит сайт бизнеса в настройках аккаунта — укажите сайт клуба в easygym: на нём тарифы с ценами, оферта, условия возврата и контакты.
Можно ли платить через Apple Pay или Google Pay?
Да, на странице оплаты Stripe — если кошельки включены в настройках способов оплаты Stripe, а телефон и браузер клиента их поддерживают.
Можно ли подключить картридер Stripe?
Нет: картридеры Stripe (Stripe Terminal) easygym не подключает. Оплата картой на ресепшене идёт через QR-код — без оборудования и в любой стране, где у клуба есть аккаунт Stripe.
Как принимать оплату картой через Stripe · easygym