Прием платежей с карты без юр. лица на Яндекс.Деньги

4zmn56g2wlq0j7u7apzbfi883_s.png

Open source yandex money donation service


Прием платежей на Яндекс.Деньги физ. лица
  • онлайн платежи с карты, яндекса, телефона
  • добавление метки к платежу
  • получение и проверка оповещений на свой сервер
  • пример автоматизации подписки на Telegram бота

Реализация и описание под катом
Проект на Python

o-xu6tgx2dylwm4agouen4f4ngi.png

Модули:


  • money.yandex.ru — именной кошелек на который получаем деньги
  • httpsserver — python сервер генерирующий страницы оплаты и принимающий оповещения от яндекса
  • billingservice — remote процедура, вызываемая после получения оповещения о платеже, работает с базой
  • redis-server — используется как сервер очередей для удаленного вызова процедур
  • example/telegrambot — пример генерации ссылок для оплаты Telegram ботом

Кнопки для сбора денег


В Яндекс.деньгах есть возможность создавать кнопки и формы для сбора денег, в которые вы можете встроить свои комментарии и метки платежей.

ll9qmob-lrybnbwic6faqk2fdpe.png

Уведомления о платежах


Кроме того — есть возможность настроить прием уведомлений о платежах на ваш сервер.

iumgzuxbmli0ii-qztzh2wlxx74.png

Добавляем прием платежей


  1. Регистрируемся, повышаем статус кошелька до именного
  2. НАСТРОЙКИ→ВСЕ ОСТАЛЬНОЕ→HTTP УВЕДОМЛЕНИЯ
    • Добавляем свой домен и секрет
    • Включаем уведомления
  3. Поднимаем redis-server, вносим параметры доступа в rq_access.py
  4. Получаем SSL сертификат на домен, например через letsencrypt
  5. Поднимаем https сервер со своими параметрами, не забываем про фаервол если сервер не доступен
  6. Прописываем в httpsserver/.secret/ymsecret.py id кошелька и секрет для уведомлений из настроек
  7. Правим httpserver-ympayment.service, запускаем сервер под супервизором
  8. На машине с базой правим billing.service и запускаем systemd для этого сервиса запустится RQ worker
  9. Проверяем удаленный запуск процедур через очередь Redis
  10. Опираясь на example добавляем генерацию ссылки оплаты в вашу функцию бота

Пример работы в README
python-rq

© Habrahabr.ru