Если ты поймёшь этот урок, ты сможешь подключить вообще любую платёжку — от Stripe до крипты. Если не поймёшь — будешь страдать и терять деньги.
Платёжка — это робот-посредник.
Представь, что ты продаешь билеты в кино.
Ты не можешь сам брать деньги с карты клиента (у тебя нет лицензии банка).
Поэтому ты нанимаешь специального кассира — Платёжную Систему.
Весь процесс всегда состоит из 4 шагов. Всегда.
Клиент на твоем сайте жмёт "Купить".
Твой сайт звонит Платёжке и говорит:
— Эй, тут парень хочет купить подписку за $10. Создай для него ссылку на оплату.
Платёжка отвечает:
— Ок, пусть идёт сюда: pay.stripe.com/invoice_123.
Твой сайт перекидывает клиента по этой ссылке.
Клиент вводит карту, смс-код, подтверждает в приложении.
В этот момент твой сайт ничего не знает. Клиент ушёл. Ты просто ждёшь.
Как только деньги списались, сервер Платёжки звонит ТВОЕМУ серверу.
Этот звонок называется Webhook.
Он говорит:
— Пришли $10 по заказу №123!
Твой сервер получает этот звонок, проверяет, что это не пранк, и включает клиенту PRO-режим.
Многие думают так:
"Клиент оплатил, значит Платёжка перекинет его на страницу 'Спасибо'. Я просто на странице 'Спасибо' выдам ему доступ!"
ЭТО СМЕРТЕЛЬНАЯ ОШИБКА. ☠
Почему?
Правило: Верь только Webhook'у.
Никогда не выдавай товар на фронтенде. Только когда сервер платёжки лично сообщил твоему серверу о деньгах.
Платёжка ничего не знает про твоего юзера nick@example.com.
Для неё есть только транзакция tx_999888.
Когда прилетит Webhook, там будет написано: "Пришли деньги по транзакции tx_999888".
А ты такой: "Эээ... а кому включать подписку?"
Чтобы этого не случилось, мы используем Metadata или Client Reference ID.
При создании платежа (шаг 1) мы прикрепляем к нему записку:
"Это платёж от юзера ID 55, тариф Pro".
Платёжка вернёт нам эту записку вместе с Webhook'ом.
В следующем уроке разберем правила безопасности, чтобы твой аккаунт не заблокировали в первый же день.
Я видел стартапы, которые теряли тысячи долларов, потому что выдавали доступ сразу после редиректа на сайт. Умные школьники быстро просекли фишку и кидали ссылки в чаты. Не будь как те стартапы. Уважай Webhook.