Dmitry Bay, Мы видимо неправильно друг друга поняли, я делаю просто пополнение внутреннего баланса:
1) сумма пополнения
2) данные
то что я хочу сделать: вернуть пользователю способы оплаты, с учётом правил, которые будет создавать модератор сайта.
3 этап: клиент выбирает способ оплаты
4 этап: его перекидывает на данный платёжный шлюз
Я просто хочу, чтобы модератор мог в filament админ панели создавать правила:
Страница создания:
1) Перечислены все способы оплаты (чекбоксы)
2) Перечислены все страны (чекбоксы)
3) Перечислены все валюты (чекбоксы)
4) Минимальная сумма пополнения
И потом, на основании country_id, currency_id (получаются с фронта), возвращались способы оплаты. Сейчас корректно можно выбрать чекбоксы и сохранить (решил пока все комбинации добавлять в базу данных, то есть:
Если админ выбрал paypal + кредитная карта, страны: германия + франция и валюты: евро
То в базе создастся 2 * 2 * 1 = 4 строки.
И главная проблема, я не знаю, как с помощью filament корректно сгруппировать правила, чтобы пользователь не видел просто огромную кучу строк:
1) paypal + германия + евро
2) paypal франция + евро
3) кредитная карта франция + евро
4) кредитная карта франция + евро
(а ведь правил может быть много и количество строк будет большое)
я хочу сгруппировать эту информацию (воссоздать страницу создания)
Если бы currencies и countries хранились бы в виде json внутри одной строки базы данных, то проблем не было бы (в админке одна строка и при открытии её можно было бы пройтись по countries, currencies и отметить чекбоксы), но тогда возникает проблема корректно парсить все эти JSON в контроллере и отдавать пользователю валидные способы оплаты. То есть надо будет тогда взять из базы данных все записи, потом взять все JSON из каждой записи и пройтись по ним, не выглядит это правильно + json в колонне тоже выглядит неправильно.
Dmitry Bay, про эквайринг пока речь не идёт, есть многошаговая форма оплаты:
1 этап: сумма пополнения
2 этап: ввод данных (имя, фамилия, адрес, страна, номер телефона)
В этом месте я хочу после валидации данных возвращать доступные пользователю способы оплаты (на основании country_id, currency_id и amount (может проверять сумму пополнения сразу не стоит, вдруг, пользователь увидет позже сообщение
"минимальная сумма пополнения для того, чтобы воспользоваться данным способом составляет ххх"
и изменит сумму пополнения))
3 этап: выбор способа оплаты
2)
Как они совпадают? По мне так разные строки с разными платежными шлюзами. Вот тут и возвращаемся к PaymentMethod.
Почему?
Если в таблице:
1. Кредитная карта / Испания / Евро
2. Кредитная карта / США и Австралия / Доллары
3. Paypal / США и Испания / Евро и Доллары
4. Кредитная карта / Зимбабве / Доллары
То можно в админ панели показать три записи (объединяем 2 и 4 строку так как способ оплаты = Кредитная карта и валюта = Доллары совпадают)
1. Кредитная карта / Испания / Евро
2. Кредитная карта / США и Австралия и Зимбабве (в админ панели будут просто отмеченные чекбоксы / Доллары
3. Paypal / США и Испания / Евро и Доллары
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
1) сумма пополнения
2) данные
то что я хочу сделать: вернуть пользователю способы оплаты, с учётом правил, которые будет создавать модератор сайта.
3 этап: клиент выбирает способ оплаты
4 этап: его перекидывает на данный платёжный шлюз
Я просто хочу, чтобы модератор мог в filament админ панели создавать правила:
Страница создания:
1) Перечислены все способы оплаты (чекбоксы)
2) Перечислены все страны (чекбоксы)
3) Перечислены все валюты (чекбоксы)
4) Минимальная сумма пополнения
И потом, на основании country_id, currency_id (получаются с фронта), возвращались способы оплаты. Сейчас корректно можно выбрать чекбоксы и сохранить (решил пока все комбинации добавлять в базу данных, то есть:
Если админ выбрал paypal + кредитная карта, страны: германия + франция и валюты: евро
То в базе создастся 2 * 2 * 1 = 4 строки.
И главная проблема, я не знаю, как с помощью filament корректно сгруппировать правила, чтобы пользователь не видел просто огромную кучу строк:
1) paypal + германия + евро
2) paypal франция + евро
3) кредитная карта франция + евро
4) кредитная карта франция + евро
(а ведь правил может быть много и количество строк будет большое)
я хочу сгруппировать эту информацию (воссоздать страницу создания)
Если бы currencies и countries хранились бы в виде json внутри одной строки базы данных, то проблем не было бы (в админке одна строка и при открытии её можно было бы пройтись по countries, currencies и отметить чекбоксы), но тогда возникает проблема корректно парсить все эти JSON в контроллере и отдавать пользователю валидные способы оплаты. То есть надо будет тогда взять из базы данных все записи, потом взять все JSON из каждой записи и пройтись по ним, не выглядит это правильно + json в колонне тоже выглядит неправильно.