python

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

  • понедельник, 8 октября 2018 г. в 00:23:08
https://habr.com/post/425605/
  • Яндекс API
  • Платежные системы
  • Монетизация веб-сервисов
  • Python
  • Open source



Open source yandex money donation service


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

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

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

Проект на Python



Модули:


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

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


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



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


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



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


  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