Dokan Stripe Connect не взимает плату за доставку с помощью remove_filter ('woocommerce_cart_shipping_packages', 'dokan_custom_split_shipping_packages');

Мы используем Dokan для поддержки мультивендорной торговой площадки WooCommerce. Это настроено так, что администратор получает комиссию в виде собранной платы в Stripe как часть обработки платежей Stripe Connect. Продавцы получают остаток средств на покупку своей продукции.

По умолчанию Dokan применяет плату за доставку к каждому поставщику, участвующему в транзакции (поэтому, если стоимость доставки составляет 5 долларов США, и есть два поставщика, с клиента взимается плата в размере 10 долларов США один раз на поставщика).

Мы спросили Dokan, как взимать плату за доставку только один раз за заказ, поскольку наш администратор сайта отправляет все товары продавца вместе как одну посылку. Они сказали нам добавить следующий код в файл functions.php нашей дочерней темы:

remove_filter( 'woocommerce_cart_shipping_packages', 'dokan_custom_split_shipping_packages' );

Это работает правильно, потому что плата за доставку применяется только один раз ко всему заказу при оформлении заказа, а не один раз на продавца.

Проблема

Однако, когда мы тестируем транзакцию (полоса находится в тестовом режиме), похоже, что стоимость доставки фактически не взимается. Экран заказа WooCommerce показывает, что с кредитной карты списана вся сумма заказа. Продавцы получают свои платежи через полосу для оплаты их стоимости продукта. Админ получает через Stripe собранную комиссию в размере стоимости продукта.

Но мы не можем найти, куда идет стоимость доставки. Его нет в учетной записи администратора Stripe, и он не отображается в учетных записях Stripe поставщиков.

Мы не знаем, взимается ли с него вообще плата, потому что с Stripe в тестовом режиме мы фактически не видим, как выглядит выписка по кредитной карте клиента. Однако отчеты о заказах WooCommerce показывают, что стоимость доставки была снята.

Мы что-то упускаем?


person Matthew Rideout    schedule 16.12.2020    source источник


Ответы (2)


Этот вопрос будет касаться либо Dokan, либо WooCommerce, но все, что вы видите на панели инструментов Stripe Testmode, - это то, что произошло бы в режиме реального времени, поэтому, если он не работает в режиме тестирования, он не будет работать в режиме реального времени.

person floatingLomas    schedule 17.12.2020

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

Однако, если вы управляете стоимостью доставки как администратор, а поставщик не настраивает свою собственную доставку, вы можете внести несколько изменений, чтобы добиться изменений.

Вы можете использовать это в своей дочерней теме functions.php:

remove_filter ('woocommerce_cart_shipping_packages', 'dokan_custom_split_shipping_packages');

remove_filter ('woocommerce_shipping_package_name', 'dokan_change_shipping_pack_name');

remove_action ('woocommerce_checkout_create_order_shipping_item', 'dokan_add_shipping_pack_meta'); `

С уважением.

person Nazmul Hassan    schedule 27.12.2020