Я хочу сделать себе функционал, в котором:
- пользователи имеют на счете "внутреннюю валюту" (которая им дается за разные действия на сайте).
- пользователи могут оплачивать "внутренней валютой" часть стоимости покупок (например, до 40%). Причем лучше всего - если я для каждого продукта могу установить, какую его часть можно оплатить "баллами" (в каком-то продукте - 50%, а в каком-то всего 10%).
Есть три готовых решения (Woocommerce Account Funds, CodeCanyon WPdeposit, YITH Account Funds ) кое-что из этого функционала делают, но не все:
1) Система частичной оплаты баллами и деньгами:
Woocommerce Account Funds - позволяет!!! платить за товар частично внутренней валютой (баллами), частично настоящей (рублями, долларами и т.д.), а в WPdeposit этого я не нашел.
Видимо, это связано с тем, что Account Funds - это продукт самого Woocommerce - и под этот продукт они переделали корзину/оплату Woocommerce, добавив возможность частичной оплаты в сам магазин (а не в плагин).
Это уже здорово, но к сожалению, в исходной конфигурации Account Funds нельзя поставить ограничения (напр баллами можно оплатить не более 30% стоимости), и тем более нельзя поставить ограничения для каждого продукта. Возможно, удастся "допилить" руками - и поставить ограничение на общий процент оплаты баллами (но для смены процента нужно будет переписывать код, что не айс). Индивидуальные ограничения по оплате каждого товара вшивать в код тоже наверное можно - но тогда придется переписывать код при каждой смене товаров ))) что уже совсем-совсем не айс.
Пока, в Account Funds если я хочу оплатить часть цены баллами - Account Funds просто смотрит, сколько у меня баллов - и списывает максимальное число баллов, отнимая от стоимости корзины - а остальную часть стоимости корзины - предлагает оплатить какой-нибудь из установленных платежных систем живыми электронными деньгами.
В WPdeposit еще хуже - при оплате товара - можно либо выбрать платежную систему (напр PayPal етс), либо оплату баллами - и соответственно либо всю стоимость товара оплатить только баллами, либо только деньгами.
2) Начисление баллов.
В обоих системах можно добавлять баллы "руками" админа сайта. Но это, конечно не айс вариант.
Также в обоих системах пользователи могут "покупать баллы" за живые деньги (например, через PayPal).
В WPdeposit также можно поставить возможность ВЫВОДА баллов в живые деньги (и тогда пользователи смогут получать за баллы живые деньги с вашего кошелька, например, в PayPal)) ну если вы хотите в такое играть.
В WPdeposit более развитая система начисления баллов за стандартные действия. В консоли WPdeposit можно установить баллы за "стандартные действия" (типа написания комментария и др), а также добавлять дополнительные плагины, которые позволяют начислять баллы за другие действия. Я хочу давать баллы за совершенно другие действия (типа прохождения теста) - и это нужно уже допиливать руками. Но в описании к WPdeposit - просто прописаны операторы кода, которые это делают - их можно добавлять в код действий - и тогда баллы будут автоматически начисляться/списываться.
В Account Funds не очень понятно, как можно автоматизировать "выдачу" баллов за действия на сайте.
Но тоже можно, наверное, найти операторы и расставлять их в коде.
C YITH Account Funds я пока не разбирался.