Бюджет:
3000 руб
Дано: Wordpress + WooCommerce + WooCommerce Subscriptions + Mollie система приёма платежей онлайн.
Нужно: сделать функцию, изменяющую поведение ручных manual Подписок (WooCommerce Subscriptions) с гейтвеем типа "manual" (создаваемые вручную или через гейтвей с таким типом) на тип recurring. Целевой результат: recurring подписки должны генерить автоматические платежи (при наступлении очередного периода оплаты, деньги снимаются со счета клиента автоматически, это стандартная функция Subscriptions).
Реализовать в виде последовательности действий:
1. Функция проверяет, какой тип платежа имеет эта Подписка. Если тип "manual" то продолжаем
2. Создаётся новый woocommerce заказ на оплату (order) этой подписки, со статусом pending payment, связанный к этой Подпиской
3. Подписанту по его почте отправляется ссылка на форму типа /checkout ?hash на оплату этого заказа (сайт наш, онлайн, уже запущен)
*** Подписант оплачивает по ссылке, использую обычную стандартную checkout- форму ***
4. Типу оплаты подписки проставляется тип "iDeal"
5. При получении оплаты, в параметры данной Подписки должен записаться код ответа платёжной системы.
Все эти действия могут/должны быть выполнены уже доступными в уже имеющихся плагинах функциями (mollie, woocommerce subscriptions).
На выходе функции: подписка должна превратиться из "ручной" в "регулярную" (в стандартных терминах WooCommerce Subscriptions, с само-возобновляемыми платежами по расписанию).
Согласно мануалам, подписка является "возобновляемой" при соблюдении двух условий:
(а) первая (!) оплата должна быть сделана при помощи гейтвея (gateway) который поддерживает "автоматические подписки", и
(б) от платёжной системы должен быть получен "мандат" (разрешение, ключ), записанный в нужные поля нужной Подписки.
Эта функция должна уметь работать с уже существующими подписками, НЕ создавая новых. История жизни уже существующей подписки должна сохраниться. Как видно из пункта (а) выше, надо хакнуть стандартное условие.
Уточнения:
- См. приложенный скриншот, сравнение двух подписок: возобновляемой (потому что есть данные платёжной системы), и сделанной вручную.
- iDeal это просто один из типов карт, типа Maestro. Ничего особенного в этой части нет, изучать не требуется.
- "Мандат" получается автоматически, ответом от Mollie. Для этого надо изучить работу имеющегося вордпресс-плагина Mollie, и запустить в нужный момент нужную часть его функций, по прописыванию в Подписку нужного ответа.
- Запуск функции можно сделать например, кнопкой в интерфейсе пользователь заходит в нужную Subscription (Подписку) в админке вордпресса, и там нажимает некую кнопку запуска этой функции, или по специальному URL
- ссылки на хелперы приложить не получается, будут переданы при начале работы
В качестве помощи [ссылки запрещены, поэтому нужно загуглить фразы]:
- Что такое мандат платёжной системы: "Mollie How do I obtain a mandate from my consumer for Recurring?"
- Ппро изменение гейтвея: "WooCommerce Admin Change Payment Method Integration Guide"