Платежи и взносы
Типы взносов¶
Кошельки управляют учётом взносов пайщиков на их лицевых счетах и фондах кооператива. Когда пайщик совершает взнос - это фиксируются на счетах в кошельке пайщика и фондах кооператива.
Взносы бывают: вступительные, паевые, членские.
Вступительный взнос оплачивается пайщиком однократно при вступлении в кооператив.
Паевые взносы совершают пайщики, чтобы затем получить возврат паевого взноса с выгодой в качестве удовлетворения потребности.
Членские взносы берутся при участии в целевых потребительских программах в фиксированной сумме или как % от суммы паевого взноса, и используются для пополнения невозвратных фондов кооператива. Подробнее о членских взносах смотри разделы Фондов и Программ.
Вступительные и Паевые взносы принимаются через совершение Платежа. Приём паевых взносов не ограничивается только платежами, и может осуществляться любым имуществом, но это выходит за описание данного раздела.
Платежи¶
Платеж - это информационное сообщение, которое порождается, обрабатывается и преобразуется платежным провайдером и советом во взнос. Платеж создаётся и обрабатывается провайдером платежей на основании поручения пользователя, а взносы принимаются и обрабатываются смарт-контрактами после успешного получения платежа.
flowchart TB
%% Определение платежей
REG_PAYMENT["Регистрационный платеж"]
SHARE_PAYMENT["Паевой платеж"]
REFUND_PAYMENT["Платеж возврата"]
SHARE_REFUND["Возврат паевого взноса"]
%% Взносы
ENTRY_FEE["Вступительный взнос"]
MIN_SHARE["Минимальный паевой взнос"]
SHARE_CONTRIBUTION["Паевой взнос"]
%% Связи
REG_PAYMENT --> ENTRY_FEE
REG_PAYMENT --> MIN_SHARE
SHARE_PAYMENT --> SHARE_CONTRIBUTION
%% Добавленные блоки
SHARE_REFUND --> REFUND_PAYMENT
%% Цветовые стили (платежи выделены красным, шрифт принудительно чёрный)
style REG_PAYMENT stroke:#ff6666,stroke-width:2px
style SHARE_PAYMENT stroke:#ff6666,stroke-width:2px
style REFUND_PAYMENT stroke:#ff6666,stroke-width:2px
Платежи обладают суммой и типом. В системе предусмотрено два типа платежей: регистрационные и паевые. Регистрационные платежи порождают одновременно два типа взносов: вступительный и минимальный паевый взносы, которые требуются совершить при регистрации нового пайщика.
Вступительный взнос направляется в фонд кооператива для дальнейшего списания на расходы и хранится там до принятия советом соответствующего решения на списание. Минимальный паевый взнос помещается в кошелёк пайщика и паевый фонд кооператива. Причина же, почему эти взносы вообще появились - это успешный регистрационный платеж.
Кроме регистрационного платежа, который порождает вступительный и минимальные паевые взносы для регистрации пайщика, в системе существуют паевые платежи, которые после успешной обработки добавляются в кошелёк пайщика и увеличивают паевый фонд кооператива.
Паевые взносы отображаются в Кошельке и могут быть использованы в Целевых Программах для удовлетворения потребностей пайщиков кооператива. При использовании паевых средств в Целевых Программах могут взыматься членские взносы, размер которых определяется условиями программы.
Все паевые взносы безусловно возвратные и должны быть возвращены кооперативом по требованию пайщика в границах баланса его паевого счёта. Минимальный паевый взнос, при этом, возвращается при выходе пайщика из кооператива. Управление возвратами паевых взносов производится смарт-контрактами, на основе которых бэкенд MONO создаёт платежи возврата, которые обрабатываются администрацией кооператива.
Подробнее о методологии кооперации смотри на сайте платформы "Кооперативная Экономика. Здесь же нам важен принцип - платежи порождают взносы. Платежи обрабатываются платежными провайдерами, а взносы - смарт-контрактами.
Платежные провайдеры¶
Подключение платежных провайдеров производится через установку и конфигурацию расширений. Получить список подключенных провайдеров с их идентификаторами возможно с помощью запроса getPaymentProviders
Каждый провайдер умеет по-своему создавать платежи и обрабатывать платежи. Количество платежных провайдеров в системе не ограничено. Какие конкретно провайдеры подключены в конкретном кооперативе - определяет сам кооператив с помощью установки расширений.
Например, провайдер qrpay возвращает в result.data строку с реквизитами в формате, который при пребразовании в QR-код и его сканировании банковским приложением, распознаётся им и приводит к автоматическому заполнению полей реквизитов и суммы для оплаты. Обработка платежа производится "вручную" через изменение администратором статуса платежа.
Провайдер yookassa (если подключен и настроен) возвращает токен платежа confirmation_token в result.data, который может быть пребразован в платежный виджет и встроен в сайт для приёма платежей. Обработка происходит автоматически при поступлении оповещения от Yookassa на бэкенд MONO.
Список активных провайдеров¶
⚠️ 🛠️ SDK: Queries.PaymentMethods.GetPaymentProviders не найден | 🔗 GraphQL API: Query.getPaymentProviders
Запрос по извлечению списка провайдеров возвращает идентификаторы провайдеров и схемы их данных.
Вступительный и минимальный паевой взносы¶
🛠️ SDK: Mutations.Gateway.CreateInitialPayment | 🔗 GraphQL API: Mutation.createInitialPayment
В процессе регистрации пайщика необходимо совершить вступительный и минимальный паевый взносы, выполнив регистрационный платеж. Для создания регистрационного платежа необходимо вызвать мутацию CreateInitialPayment.
⚠️ Описание для Mutations.Gateway.CreateInitialPayment не найдено
⚠️ Mutations.Gateway.CreateInitialPayment не найден
Паевый взнос¶
🛠️ SDK: Mutations.Gateway.CreateDepositPayment | 🔗 GraphQL API: Mutation.createDepositPayment
⚠️ Описание для Mutations.Gateway.CreateDepositPayment не найдено
⚠️ Mutations.Gateway.CreateDepositPayment не найден
Список платежей¶
🛠️ SDK: Queries.Gateway.GetPayments | 🔗 GraphQL API: Query.getPayments
⚠️ Описание для Queries.Gateway.GetPayments не найдено
⚠️ Queries.Gateway.GetPayments не найден
Платеж возврата¶
🛠️ SDK: Mutations.Wallet.CreateWithdraw | 🔗 GraphQL API: Mutation.createWithdraw
⚠️ Описание для Mutations.Wallet.CreateWithdraw не найдено
⚠️ Mutations.Wallet.CreateWithdraw не найден
Управление платежами¶
🛠️ SDK: Mutations.Gateway.SetPaymentStatus | 🔗 GraphQL API: Mutation.setPaymentStatus
⚠️ Описание для Mutations.Gateway.SetPaymentStatus не найдено
⚠️ Mutations.Gateway.SetPaymentStatus не найден