Подключение платежей
Если хотите получать оплату, стандартный путь для одиночного мейкера — Stripe (или Lemon Squeezy / Paddle, если хотите, чтобы они занимались налогом с продаж за вас — как , они берут больший процент, но избавляют от налоговой головной боли). Механика повторяема и хорошо задокументирована, что делает её идеальной для делегирования. Нужные вам части:
- Поток checkout — Stripe Checkout самый быстрый; он даёт вам размещённую страницу оплаты, так что вы никогда не касаетесь сырых данных карты.
- Представьте вебхук как звонок платёжной компании вашему приложению в тот миг, когда продажа проходит, вместо того чтобы приложению постоянно спрашивать «уже прошло?». Вебхук — это именно так: эндпоинт ( на вашем сервере), который вызывает платёжный провайдер, чтобы ваше приложение узнавало, когда платёж действительно прошёл успешно. Это та часть, которую новички пропускают, а потом удивляются, почему заказы никогда не выполняются. Редирект обратно на ваш сайт может быть закрыт, заблокирован или подделан; вебхук — это источник истины «сервер-сервер». Никогда не доверяйте только редиректу; доверяйте вебхуку.
- Способ хранить права доступа — отметить пользователя как оплатившего в вашей базе данных, чтобы после обновления страницы или на новом устройстве он по-прежнему видел купленное.
Ключевая мысль — какой стрелке вы доверяете. Редирект пользователя обратно на ваш сайт может потеряться или быть подделан; именно вебхук — это линия «сервер-сервер», которая на самом деле открывает продукт:
┌──────┐ 1. жми Купить ┌───────────┐
│ ЮЗЕР │────────────────▶│ YOUR APP │
└──────┘ └─────┬─────┘
▲ │ 2. создать сессию оплаты
│ ▼
│ ┌─────────────┐
│ 3. оплата хостинг │ STRIPE │
└───────────────────▶│ Checkout │
(данные карты) └──────┬──────┘
│
┌─────────────────────┴─────────────────────┐
│ 4a. редирект назад 4b. вызов WEBHOOK │
│ (можно подделать) (сервер→сервер,│
▼ подписан/доверен)▼
┌──────────────┐ ┌────────────────────┐
│ стр. спасибо │ ✗ НЕ открывать тут │ YOUR APP /webhook │
│ (только UI) │ │ проверь подпись → │
└──────────────┘ │ юзер = PAID ✓ │
└────────────────────┘
Попросите AI набросать все три и объяснить проверку подписи вебхука, поскольку это единственный чувствительный к безопасности шаг — без неё любой, кто найдёт URL вашего вебхука, мог бы подделать событие «платёж прошёл» и открыть ваш продукт бесплатно. Протестируйте всё в тестовом режиме Stripe с их тестовыми номерами карт (4242 4242 4242 4242 — самый известный), прежде чем переключаться на боевые ключи, и используйте Stripe , чтобы перенаправлять события вебхука на вашу локальную машину и наблюдать, как они срабатывают. Не пропускайте генеральную репетицию в тестовом режиме. Первые реальные деньги, прошедшие через ваше приложение, должны быть транзакцией, которую вы уже видели работающей десяток раз.