Задать вопрос
@ArtyomPLAY
Люблю Vue, React и все что с этим связано.

Yandex kassa + node.js?

Нужно сделать оплату некоторого товара, как лучше отлавливать результат платежа?
Сразу же после подтверждения статуса платежа(отклонен или оплачен соответственно) - нужно выполнить некоторые действия на сервере(например отправить письмо на почту), как лучше поступить? Первый раз имею дело с платежкой, а у них ещё и модуля под ноду нет. Нашел стороннюю обертку yandex-checkout-node - но она , скажем так, не блещет функционалом. Можно просто создать платеж, и чекнуть его статут.
Спасибо заранее!
upd. т.е. насколько я понял - когда создаю платеж и отсылаю ссылку для оплаты на фронт, на сервере в этот момент я завожу таймер на повторный запрос статуса платежа (вроде из апи ЯКассы прилетает значение в мс, через которое лучше повторить запрос), и соответственно каждый раз создаю таймер с новой проверкой, пока статус не станет разрешенным?
  • Вопрос задан
  • 935 просмотров
Подписаться 3 Средний 6 комментариев
Решения вопроса 1
@vshvydky
обычно путь следующий
1. эндпоинт создания запроса на оплату, по нему ты понимаешь кто из твоих клиентов инициировал оплату и на какую сумму, клиент стучит к тебе на сервер с этим запросом
2. ты запрашиваешь создание новой операции оплаты у процессора, он возвращает линк редиректа на форму ввода денег и идентификатор транзакции.
3. отдаешь этот урл клиенту, переводишь его туда, идентификатор транзакции пишешь себе в базу, накидываешь статус новый или как тебе будет удобнее.
4. клиент оплачивает суммы, далее в зависимости от настроек системы клиент редирекетится на ту страницу, которая указана у тебя, для отображения что хорошо или неудачно прошла его операция.
5. любое изменение по статусам оплаты процессор шлет на твои коллбеки, ты получаешь их и обрабатываешь по своей бизнес логике, у тебя есть идентификатор транзакции, который ты себе записал и статус новый, далее ты переводишь его в статус успешного или не успешного состояния.
ЗЫ: у процессоров бывает статус отсроченного списания денежных средств у клиента, что-то из серии паймент пендинг, это означает, что деньги на его счете заблокированы на запрошенную сумму, но сам перевод будет осуществлен позднее, это банковские приколы. Соответственно такую логику тоже стоит учитывать.
Надеюсь эти общие слова про оплаты полностью ложатся на кейс яндекс-кассы, удачи.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы