Как реализовать корзину маркетплейса с оплатой каждому вендору отдельно?

Ссылка скопирована
1 ответ

Подскажите кто знает примеры маркетплейсов, где можно посмотреть реализацию, когда каждому вендору клиент оплачивает отдельно (не в одной корзине). Хочу посмотреть на примеры реализаций.

Дополнительно:

Зачем клиенту такой геморрой? всегда будете проигрывать "нормальным" маркетплейсам

  • А еще клиент должен отдельно оплачивать последнюю милю своему ПВЗ, комиссию - маркетплейсу и эквайринг - банку.
    Порядок должен быть!
  • Ты или не правильно представляешь работу маркетплейсов или не правильно задаёшь вопрос или всё вместе.

    Клиент не "оплачивает продавцу" (продавцу, а не вендору!), клиент оплачивает товар. А уже МП перечисляет деньги продавцу.
    И зачем тут "не одна корзина" - не ясно.

  • на али подобное есть
  • Алекс Глебов, нет, на али не подобное, ты оплачиваешь один раз али, а они уже распределяют
  • Everything_is_bad,
    img

    Как реализовать корзину маркетплейса с оплатой каждому вендору отдельно?

  • Алекс Глебов, еще раз, ты оплачиваешь один раз али, а они уже распределяют , а ТС хочет, чтобы ты каждому клиенту платил, сам, отдельно, а не ТСу
  • Everything_is_bad, сфера далека от "нормальных" маркетплейсов
  • Ответы:

    2 решения:

    1. Плохое: есть общая корзина, которая содержит несколько подкорзин - каждая такая подкорзина принадлежит отдельным вендорам. Грубо говоря, ты делаешь группировку по коду вендора в общей корзине: select * from basket group by vendor_code

    2. Хорошее: клиент такого разделения не видит и оплачивает сразу все, а разделение будет уже на стороне бэка. Это более удобно для клиента, чем делать несколько различных покупок.

    • Если он оплатит сразу все значит уже не каждому вендору отдельно. С подкорзинами примерно себе так и представлял, но хотелось бы увидеть примеры (о чем сей пост).
    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Алексей Денисов Ответ

    Для реализации корзины маркетплейса с оплатой каждому вендору отдельно, вам потребуется создать систему, которая будет разделять оплаты между разными вендорами в зависимости от товаров, добавленных в корзину.

    Ниже приведен пример реализации данной функциональности на PHP:

    // Предположим, что у вас есть массив $cart, содержащий информацию о товарах в корзине
    $cart = [
        ['vendor_id' => 1, 'product_id' => 1, 'price' => 10],
        ['vendor_id' => 2, 'product_id' => 2, 'price' => 20],
        ['vendor_id' => 1, 'product_id' => 3, 'price' => 15]
    ];
     
    // Создаем массив, в котором ключами будут идентификаторы вендоров, а значениями - общая сумма заказа для каждого вендора
    $vendors_total = [];
    foreach ($cart as $item) {
        $vendor_id = $item['vendor_id'];
        $price = $item['price'];
     
        if (isset($vendors_total[$vendor_id])) {
            $vendors_total[$vendor_id] += $price;
        } else {
            $vendors_total[$vendor_id] = $price;
        }
    }
     
    // Теперь у вас есть массив $vendors_total, в котором суммы заказов для каждого вендора
    // Далее вы можете произвести оплату каждому вендору отдельно, используя доступные платежные системы
     
    // Пример отправки платежа вендору
    foreach ($vendors_total as $vendor_id => $total) {
        // Здесь можно использовать API платежной системы для осуществления платежа вендору
        // Например:
        // makePayment($vendor_id, $total);
    }

    // Предположим, что у вас есть массив $cart, содержащий информацию о товарах в корзине $cart = [ ['vendor_id' => 1, 'product_id' => 1, 'price' => 10], ['vendor_id' => 2, 'product_id' => 2, 'price' => 20], ['vendor_id' => 1, 'product_id' => 3, 'price' => 15] ]; // Создаем массив, в котором ключами будут идентификаторы вендоров, а значениями - общая сумма заказа для каждого вендора $vendors_total = []; foreach ($cart as $item) { $vendor_id = $item['vendor_id']; $price = $item['price']; if (isset($vendors_total[$vendor_id])) { $vendors_total[$vendor_id] += $price; } else { $vendors_total[$vendor_id] = $price; } } // Теперь у вас есть массив $vendors_total, в котором суммы заказов для каждого вендора // Далее вы можете произвести оплату каждому вендору отдельно, используя доступные платежные системы // Пример отправки платежа вендору foreach ($vendors_total as $vendor_id => $total) { // Здесь можно использовать API платежной системы для осуществления платежа вендору // Например: // makePayment($vendor_id, $total); }

    Этот код позволяет разделить сумму заказа между разными вендорами и осуществить оплату каждому вендору отдельно. Помните, что для успешной реализации данной функциональности также потребуется настройка платежных систем и обработка возвратов в случае возникновения проблем.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно