• Гибкая система возврата платёжных методов (laravel api -> vue checkout page)?

    @tardigrada Автор вопроса
    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 в колонне тоже выглядит неправильно.
    Написано
  • Гибкая система возврата платёжных методов (laravel api -> vue checkout page)?

    @tardigrada Автор вопроса
    Dmitry Bay, про эквайринг пока речь не идёт, есть многошаговая форма оплаты:
    1 этап: сумма пополнения
    2 этап: ввод данных (имя, фамилия, адрес, страна, номер телефона)
    В этом месте я хочу после валидации данных возвращать доступные пользователю способы оплаты (на основании country_id, currency_id и amount (может проверять сумму пополнения сразу не стоит, вдруг, пользователь увидет позже сообщение
    "минимальная сумма пополнения для того, чтобы воспользоваться данным способом составляет ххх"
    и изменит сумму пополнения))
    3 этап: выбор способа оплаты

    2)
    Как они совпадают? По мне так разные строки с разными платежными шлюзами. Вот тут и возвращаемся к PaymentMethod.


    Почему?
    Если в таблице:
    1. Кредитная карта / Испания / Евро
    2. Кредитная карта / США и Австралия / Доллары
    3. Paypal / США и Испания / Евро и Доллары
    4. Кредитная карта / Зимбабве / Доллары

    То можно в админ панели показать три записи (объединяем 2 и 4 строку так как способ оплаты = Кредитная карта и валюта = Доллары совпадают)
    1. Кредитная карта / Испания / Евро
    2. Кредитная карта / США и Австралия и Зимбабве (в админ панели будут просто отмеченные чекбоксы / Доллары
    3. Paypal / США и Испания / Евро и Доллары
    Написано