Макс, оплата лежит, возможно баг Оффтоп — вот тут обещал рассказать, как прикрутил оплату в механизм фант. Я подумал, что просто читать сухую фигню никому не интересно. Поэтому написал в виде истории. История Ну, ок. Ну что, стартапер, пора прикрутить оплату. Что у нас там есть? Юкасса? Пойдёт. У них должен быть виджет. Я 1000 раз видел такой виджет на сайте. Что для этого потребуется? Пакет в npm установить, да по кнопке событие отправить? Значит, проговорим ещё раз! Отображаем 2 кнопки: 199 ₽ / 999 ₽. По нажатию открываем миниапп с формой оплаты. Вводим данные, отправляем, получаем ответ, что оплата прошла успешно, показываем механику «вечерний режим». Макс, документацию не смотрел, но навскидку — день-два. Завтра начну. Чтобы отобразить HTML-страницу в миниапп, нужен сервер. Ладно, пусть сервером будет express.js. Не буду ничего изобретать, я работал с ним, двигаться нужно быстро. Получается, осталось наверстать страницу и встроить туда форму оплаты. Как лень. Иди сюда, клауд код, подключи форму, добавь загрузку, напиши стилей по БЭМ, используй чистый CSS. Вроде норм. Менять архитектуру? Уже сервер есть, выглядит как отдельная сущность. Монорепа? Для бота? Зачем? Оставим на потом. А-а, по документации нужны веб-хуки, юкасса их дёрнет по завершению/отклонению оплаты. Ладно, не вопрос, сервер уже есть, клауд, набросай ручки для успешно выполненного запроса и отклонённого, отдай пользователю вёрстку о статусе платежа на каждую ручку. Макс, пришлось ещё ручки написать. Завтра добью. Чёрт, веб-хуки работают только по https. Блин, придётся домен покупать, сертификат выпускать. Могу обойтись малой кровью — хотя бы локально? Так, чат гпт, дипсик, клауд, воины! А, Caddy можно использовать для выпуска сертификата. А локально как дебажить? Есть ngrok. Агент ngrok слушает https-адрес и перенаправляет запросы в локалхост. Кайф, прикольная технология, как временное решение подойдёт. Останется только решить вопрос с продакшеном, но сначала докрутим, чтоб локально работало. Макс, я купил домен, выпустил сертификат и подготовил инфраструктуру, чтобы миниапп с формой оплаты работал локально! Мне нужен ещё один вечер. Ну что, теперь и бота можно сразу переключить на веб-хуки, опыт есть, тем более лонгпулинг нужен только для локальной разработки. Закину пока в бэклог, потом сделаю. Всё, форма работает. Что теперь? Нажимаем кнопку оплаты — открывается миниапп, там форма, оплачиваем в тестовом режиме; кстати, юкасса очень удобно сделала: юкасса дергает вебхук, говорит, что всё хорошо, отображаем статику с оповещением. Кайф. Работает. Ну что? Пора в продакшен запихнуть. Макс, нужно докер компос дописать, сабдомен выпустить, сборку в гитхаб экшен доработать. Короче, ещё вечерок — и можно катить. Здесь уже прошаренный, начитался нейронок, добавил в компос сервис с кадди, вкрутил секреты на токены, ссылки юкассы, запустил сборку. Не завелось. Перерыл рег.ру, перечитал доку и понял, что сабдомен не сразу становится доступным, подождал несколько часов. Не работает. Макс, завтра финалка. Не грусти. Чёрт, Саша, надо сабдомен интернету пошарить. Пошарил! Работает. Ну, кто теперь здесь папа, бииич? А вот теперь и бота переключим на веб-хуки. Теперь он быстрее и защищён через https. Макс, работает. Какой баг? Блин, миниапп не умеет редиректить из себя в приложении сбера, тинька? Чёрт. А зачем вообще здесь миниапп? Телеграмм умеет открывать ссылку в своём браузере. Просто откроём форму в браузере. Клауд, перепиши на браузер вместо миниапп. Да, хорошо. Порефакторим немного, исправим бред в CSS. Работает! Ссылка открывается, форма видна. Макс, теперь у нас работает. Жду первые продажи! Здесь нет технички, чисто история, как было. Читать много, но, надеюсь, у вас получится впитать мой вайб. Дальше хочу поговорить детальнее про технологии, которые пощупал. Некоторые из них мне понравились.

норм - 👍 не норм - 👎

накидайте реакций, пож.


В этом посте были ссылки, но мы их удалили по правилам Сетки