Курс

Как работают платёжные системы

МОДУЛЬ 7: ПРИЁМ ОПЛАТ • Урок 1 из 6

16. Как работают платёжные системы (Фундамент)

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

Платёжка — это робот-посредник.

Представь, что ты продаешь билеты в кино.

Ты не можешь сам брать деньги с карты клиента (у тебя нет лицензии банка).

Поэтому ты нанимаешь специального кассира — Платёжную Систему.

[ Схема работы (на пальцах) ]

Весь процесс всегда состоит из 4 шагов. Всегда.

1. Инициализация (Дай ссылку)

Клиент на твоем сайте жмёт "Купить".

Твой сайт звонит Платёжке и говорит:

— Эй, тут парень хочет купить подписку за $10. Создай для него ссылку на оплату.

Платёжка отвечает:

— Ок, пусть идёт сюда: pay.stripe.com/invoice_123.

2. Оплата (Клиент уходит)

Твой сайт перекидывает клиента по этой ссылке.

Клиент вводит карту, смс-код, подтверждает в приложении.

В этот момент твой сайт ничего не знает. Клиент ушёл. Ты просто ждёшь.

3. Webhook (Звонок на базу)

Как только деньги списались, сервер Платёжки звонит ТВОЕМУ серверу.

Этот звонок называется Webhook.

Он говорит:

— Пришли $10 по заказу №123!

4. Выдача товара

Твой сервер получает этот звонок, проверяет, что это не пранк, и включает клиенту PRO-режим.

[ Главная ошибка новичка ]

Многие думают так:

"Клиент оплатил, значит Платёжка перекинет его на страницу 'Спасибо'. Я просто на странице 'Спасибо' выдам ему доступ!"

ЭТО СМЕРТЕЛЬНАЯ ОШИБКА.

Почему?

  1. У клиента может пропасть интернет после оплаты. Деньги ушли, а на "Спасибо" он не попал.
  2. Хитрый клиент может просто скинуть другу прямую ссылку на страницу "Спасибо". Друг зайдёт и бесплатно получит доступ.

Правило: Верь только Webhook'у.

Никогда не выдавай товар на фронтенде. Только когда сервер платёжки лично сообщил твоему серверу о деньгах.

[ Проблема "Безликого платежа" ]

Платёжка ничего не знает про твоего юзера nick@example.com.

Для неё есть только транзакция tx_999888.

Когда прилетит Webhook, там будет написано: "Пришли деньги по транзакции tx_999888".

А ты такой: "Эээ... а кому включать подписку?"

Чтобы этого не случилось, мы используем Metadata или Client Reference ID.

При создании платежа (шаг 1) мы прикрепляем к нему записку:

"Это платёж от юзера ID 55, тариф Pro".

Платёжка вернёт нам эту записку вместе с Webhook'ом.

[ Итого ]

  1. Бэкенд просит ссылку на оплату (+ прикрепляет ID юзера).
  2. Фронтенд отправляет юзера платить.
  3. Платёжка стучится на бэкенд (Webhook) и говорит "Успех".
  4. Бэкенд включает подписку.

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

💬 Совет:

Я видел стартапы, которые теряли тысячи долларов, потому что выдавали доступ сразу после редиректа на сайт. Умные школьники быстро просекли фишку и кидали ссылки в чаты. Не будь как те стартапы. Уважай Webhook.