В недавнем боте сделал оплату через UnitPay.
Если в обработчик попадает, что оплата была совершенна успешна, то просто айдишнику в базе даем все привелегии, которые надо.
Пример: человек переходит по ссылке payment.system/paymentController?id={тут айдишник телегы чувака, который оплачивает}
после того, как оплата была завершена, в методе, который отвечает за успешную оплату просто делаете всё что надо для юзера, который будет иметь "платные привелегии"