Плагин для WordPress (woocommerce) — кастомный способ оплаты, кто-то делал?
Нужно сделать плагин, для Woocommerce добавление собственного способа оплаты (редирект).
То есть покупателя с корзины должно отправлять по сгенерированной ссылке, данные о сумме и о покупатели туда также должны быть отправлены, далее после оплаты должно вернуть.
Сам по себе вопрос вроде как простой, но я полный ноль в PHP.
Кто-то возможно делал подобное?
Дополнительно
Сам по себе вопрос вроде как простой, но я полный ноль в PHP.
Вы забыли добавить - "там работы на 5 минут".
И уже с апи работаешь, как угодно. Если знания не позволяют, то платный вариант решу
Не хочу обесценивать ёмкость работы, поэтому написал "вроде как"
Потому, что бюджета на 5 минут от среднего рейта ))
Михаил Р. @Mike_Ro Python, JS, WordPress, SEO, Bots, Adversting Как добавить собственные способы оплаты в Woocommerce?
Создание платёжного шлюза WooCommerce
Custom Payment Gateways for WooCommerce
- Спасибо большое за ответ!
- Михаил Р.
Проблема с плагином кастомной оплаты?
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос

Кастомный способ оплаты WooCommerce с редиректом делается не правкой шаблонов, а отдельным платёжным шлюзом на базе
WC_Payment_Gateway. Минимальная схема такая: зарегистрировать gateway, показать его в checkout, вprocess_payment()создать платёжную ссылку у платёжной системы и вернуть WooCommerce редирект. После оплаты статус заказа должен менять не return URL пользователя, а webhook или серверная проверка платежа.Скелет регистрации:
add_filter('woocommerce_payment_gateways', function ($gateways) { $gateways[] = 'WC_Custom_Redirect_Gateway'; return $gateways; }); class WC_Custom_Redirect_Gateway extends WC_Payment_Gateway { public function __construct() { $this->id = 'custom_redirect'; $this->method_title = 'Custom Redirect'; $this->method_description = 'Оплата через внешний редирект'; $this->has_fields = false; $this->init_form_fields(); $this->init_settings(); } public function process_payment($order_id) { $order = wc_get_order($order_id); $payment_url = 'https://payment.example/pay?order=' . $order->get_id(); return [ 'result' => 'success', 'redirect' => $payment_url, ]; } }
Для реального проекта этого мало. В запрос к платёжной системе обычно отправляют номер заказа, сумму, валюту, email/телефон, return URL, webhook URL и подпись. Подпись нужна, чтобы нельзя было подменить сумму или заказ.
$order->payment_complete($transaction_id)или ставьте корректный статус.functions.phpтемы.