Как интегрировать плагин сдэк в rbspayment для оплаты доставки на сайте?

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

Суть такова что есть сайт где установлен плагин Метод доставки СДЭК для Woocommerce(1) и плагин Оплата банковской картой для woocommerce(2) так вот я никак не могу интегрировать (1) в (2) раздельно все работает СДЭК показывает стоимость доставки но я хочу чтобы можно было оплатить доставку на сайте а осталную сумму при доставке.Как интегрировать ,

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

Сделай за меня, на фрилансе. А так все с помощью API

  • Олег, это понятно но хотя бы кто-нибудь обьяснить, хотелось бы и самому понять
  • Ответы:

    Дело не в API, вам надо написать новый метод оплаты, за основу можно взять стандартный - оплата при доставке, в котором к оплате выставляйте только стоимость доставки, а в него уже уже подключайте rbspayment, ну или тупо ломом выпилите из плагина оплаты total_amount и замените его на shipping_amount

    • Спасибо
    Нужно решить такую задачу?

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

    Заказать помощь
    Лучший ответ
    1
    Сергей Миронов Ответ

    В Вашей задаче СДЭК и rbspayment не нужно “интегрировать друг в друга” напрямую. СДЭК — это метод доставки, который считает стоимость доставки в заказе WooCommerce. Платёжный модуль должен получить сумму к оплате. Если Вы хотите оплатить на сайте только доставку, а остаток при получении, это уже не стандартная логика WooCommerce, а отдельный сценарий оплаты.

    Правильные варианты:

    • создать отдельный метод оплаты “Оплатить только доставку”;
    • в нём передавать в rbspayment не order_total, а сумму доставки;
    • после успешной оплаты ставить заказу специальный статус, например “Доставка оплачена”;
    • остаток хранить как сумму к оплате при получении или в мета-поле заказа.

    В WooCommerce стоимость доставки можно получить из заказа:

    $shipping_total = (float) $order->get_shipping_total();
    $shipping_tax = (float) $order->get_shipping_tax();
    $amount_to_pay = $shipping_total + $shipping_tax;

    $shipping_total = (float) $order->get_shipping_total(); $shipping_tax = (float) $order->get_shipping_tax(); $amount_to_pay = $shipping_total + $shipping_tax;

    Но просто заменить total в чужом плагине оплаты — плохой путь. При обновлении плагина правка слетит, а ещё можно сломать чеки, фискализацию и статусы заказа. Лучше наследоваться от класса платежного шлюза или написать небольшой gateway-плагин, который использует API банка корректно.

    Отдельно проверьте юридическую часть: если у Вас онлайн-касса, в чеке должно быть понятно, что именно оплачено. Частичная оплата заказа и оплата доставки — это не только технический вопрос, но и вопрос корректной фискализации.

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

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

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

    комментарий

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

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