Обновить

Комментарии 3

Спасибо за пример с оплатой. Самый интересный момент - куда эти старсы девать? Я в телеге принимаю оплату на свой расчетный счет рублями, звезды не мой путь.

Тоже подумываю принимать оплату с валюте, через платежную систему, со старсами тяжело с выводом, там вывод идёт от 100 звёзд, через тон, потом на карту, и эти 100 звёзд должны ещё отлежаться 21 день, короче запара

Для MVP — хороший пример. Но в текущем варианте pre_checkout_query всегда подтверждается через ok=True, а количество запросов определяется из invoice_payload.

В проде, возможно, стоит сверять данные платежа с записью о заказе в БД: пользователя, валюту и сумму. telegram_payment_charge_id также стоит хранить как уникальный — иначе при повторной обработке одного и того же update баланс пользователя может увеличиться дважды.

С платными подписками многие проходили похожий путь: принять платеж оказывалось самой простой частью. Дальше начинались возвраты, продления, сверка платежей и автоматическая выдача или отзыв доступа.

Было бы интересно увидеть продолжение про идемпотентность, refundStarPayment и обработку жизненного цикла подписки. Планируете развивать пример в эту сторону?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации