Pull to refresh

Comments 27

это для физ лиц, страйп нет, по этому и начал искать выход какой-то, но я знаю еще способ как можно сделать, в регистрации приложения можно указать свой домен если есть, если нет есть сервис ngrok через него можно http принимать локалхост(ну это для тестов), а у себя временный серв разворачивать на время оплаты (минут на 10 или до первого уведомления от юмани) можно через Quartz наприер. Так вот юмани на указанный урл при регистрации приложения кидает http post, его можно просто принять и проверить, потом серв закрыть, ресурсы освободить

ну это конечно же зависит от цели ибо в больших обьемах это уже один из самых не оптимальных вариантов...

Я пока остановился на донатах с ботом donate и провайдером smart-glocal. Работает везде, нет заморочек с юрлицом

верно, генерации ссылки на оплату, я эту форму и использую, суть статьи в том, чтобы потом отследить нужный платеж

и получить доступ в целом к информации о счете (истории операций, деталям операций)

ссылка которую вы приводите рассказывает о получении уведомления после платежа не более того, я же говорю об доступе к истории операций и их поброьностям, а отслеживание платежа это уже просто один из вариантов, тут все по документации, суть в том, что если вам нужна информация выше перечисленная вы можете просто использовать готовый код, если хотите сгенерировать ссылку для оплаты, история та же, добавьте лишь параметры, если у вас есть лишьнее время, чтобы все писать вручную, пишите

я думаю у всех хватит фантазии применить это к боту, я лишь поделился кодом для опеределенных целей чтобы избавить кого нибудь от лишних телодвижений

Пытаюсь добавить комментарий, почту, ФИО - и не работает (https:(слеш слеш)yoomoney(точка)ru/quickpay/confirm?receiver=4575675673567562&quickpay-form=shop&targets=str333&paymentType=PC&sum=30&formcomment=str111&comment=str222&need-fio=Вася%20Пупкин%20Путинов&need-email=sddf@mail.ru) - после оплаты все соответствующие параметры платежа - пусты.. что не так ?

видимо изменили апи, а документацию нет, проблема в том, я не могу пока дать ответ на этот вопрос, я планирую обновить либу и добавить уведомления, но с контактными данными, пока не знаю как быть, я сам много тестил, использовал https, но параметры в ответе пост запроса все же оставались пусты, думаю это вопрос уже к юмани ибо в документации сказано о том, что эти параметры могут быть получены если они запрашиваются и сервер использует https, в юмани клиенте, в настройках уведомлений нету возможности добавлять данные поля, соответсвенно непонятно каким образом они могут быть запрошены, если брать во внимание тот факт, что там так же говориться, о том, что эта информация будет доступна если ты пользуешся определенной формой для генерации ссылки указанной в доках или их кнопками сбора средств, однако нет примеров где используется кантактная информация и мало того еще раньше было доступно свойство targets благодоря которому ты мог менять название платежа, условно не "Перевод по кнопке" как сейчас, а твоя строка, но параметр targets люди продолжают использовать в старых библиотеках несмотря на то, что он уже давно не работает, так вот можеть быть и тут, пока не могу сказать, я обратился в поддержку, что бы они пошарили этот момент, если же вы сам или кто-либо еще кто это читает найдет(е) способ, обязательно сообщите, мы добавим.

Тоже обратился в техподдержку - пока тишина, раз молчат тогда дело плохо - скорее всего на их существование повлияла их внутренняя политика.. а так эти параметры очень удобны по многим вариантам и хотя бы просто сказать спасибо всяческими способами например предусмотреть систему скидок..

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

Опередили :) да и он работает исправно более того даже принимает кириллицу.

Именно то, что мне сейчас нужно. Видел подобную библиотечку на питоне, уже думал по документации писать с нуля, а тут вдруг это)) Спасибо

Здравствуйте, на моменте с получением токена после подтверждения на сайте yoomoney, я не понимаю как токен получить, у меня поле token = null. Ввожу в строку var token = await authorize.GetAccessToken(code: "Ссылку на тг бота которая дается после подтверждения Yoomoney", clientId: "Клиент айди", redirectUri: "ссылку на тг бота"); но возвращается null

здравствуйте, после того когда вы запустили код авторизации =>

using yoomoney_api.authorize;

Authorize authorize = new(clientId:"YOUR_CLIENT_ID",redirectUl:"YOUR_REDIRECT_URL",scope:new []
{
    "account-info",
    "operation-history",
    "operation-details",
    "incoming-transfers",
    "payment-p2p",
});

в консоли или в свойстве класса =>

authorize.AuthorizeUrl

будет адрес =>

https://yoomoney.ru/oauth/authorize?client_id=XXXXXXXXXXXXXXXXXXXXXXXXXX

по которому нужно перейти, после чего на этой странице вам нужно будет ввести код с вашего мобильно устройста, далее вас редиректит на адрес который вы указывали при регистрации приложения в поле Redirect Uri, и вот тут нужно скопировать полный адрес этой страницы =>

https://example/k/?code=A54AB5755DFA80B0167532E413C87F90CBD8677C72758EAAD6E7F1AAD341FEBEBAD7B3754D2A6E42101029C134E55CB55A382412D953497D9CE5FCC7F96FE47B92615B0167BA727E49DC81F21A36312FDF440CAD5A1813E9849167C5B7307661504D134A432DDB727FDA302E040326425F82D41F3237FCFD6A9A6DE3C904D4A1

и отдать его в параметр "code:"

var token = await authorize.GetAccessToken(code: "YOUR_СODE", clientId: "YOUR_CLIENT_ID", redirectUri: "YOUR_REDIRECT_URL");

однако не забудьте про остальные параметры данного метода, 1 параметр это ваш uri со страницы переадресации, 2 параметр это ваш id, 3 параметр это адрес переаресации установленный вами при регистрации приложения в поле Redirect Uri, после всех этих действий переменной token будет ваш токен доступа!

Your access token:
4100118408605024.16F0ADB9BFE2156AF44828F2B7A7347A146B487DF8AF88343832A44F39691B888E3FFAEFE6087AD8F8C425809360F712E8A9BE9C1EC0B1906A967413A8FD66A132D786C4097D8EA4D60F086666FDABEF0FD89EFDCFB29CA4936A10E7F89463C337DED49799349B0D3A8581F7D7434A0938F3E0A9E75256752C4A78484630762A

обязательно пишите если что-то не получается.

Спасибо помогло. Но вот проблема, как мне использовать полученные данные? Мне нужно зная label транзакции получить данные label, datatime, status. Но я никак не могу использовать в коде данные истории транзакций. Может у вас имеется решение?

История операций

var operationHistory = client.GetOperationHistory(token:token);
operationHistory.Print();

там будет последовательность (IEnumerable<T>) =>

List of operations:

    operation id:         --> 753357775682335104
    status                --> success
    datetime              --> 15.11.2023 10:02:55
    title                 --> Пополнение с карты ****4963
    pattern id            --> Null
    direction             --> in
    amount                --> 9,70
    label                 --> 3867f6b5-8596-4b06-a095-5f1a1c5997a1
    type                  --> deposition
    amount_currency       --> RUB
    is_sbp_operations     --> false

получаем первое вхождение нужных свойств =>

var tuple = (
	operationHistory.Operations.Select(o => o.Label).FirstOrDefault(),
	operationHistory.Operations.Select(o => o.Status).FirstOrDefault(),
	operationHistory.Operations.Select(o => o.Datetime).FirstOrDefault()
);

WriteLine($"\nlabel --> {tuple.Item1}\nStatus --> {tuple.Item2}\nDatetime -->{tuple.Item3}");

вывод:

label      --> 3867f6b5-8596-4b06-a095-5f1a1c5997a1
Status     --> success
Datetime   --> 15.11.2023 10:02:55

Поля все поля и свойства публичные, вы можете получить доступ ко всем нужным вам свойствам всех классов.

если у вас есть значение label вы пожете пройти циклом по operationHistory.Operations и сверять со своим сверять включая дату и строку success, как угодно

Спасибо, решил сделать таким способом
Спасибо, решил сделать таким способом

сходите на гитхаб по ссылке, посмотрите как реализованы классы, за одно звезду репозиторию поставите?

Вопрос, есть возможность просто вставить токен от бота тг и юмани и все? просто не хочу париться и не платить комиссию?

посмотрите мою вторую статью, мб будет полезно

Sign up to leave a comment.

Articles