~/VibeHandbook
PDF бесплатно

Глава 16 · 04

Подключение платежей

Если хотите получать оплату, стандартный путь для одиночного мейкера — 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 , чтобы перенаправлять события вебхука на вашу локальную машину и наблюдать, как они срабатывают. Не пропускайте генеральную репетицию в тестовом режиме. Первые реальные деньги, прошедшие через ваше приложение, должны быть транзакцией, которую вы уже видели работающей десяток раз.

Хотите офлайн-версию?

Скачайте всю книгу в PDF или EPUB — бесплатно.