Skip navigation

Это форум технической поддержки WPML – плагина для многоязычной WordPress.

Доступно для чтения всем, но только клиенты, купившие WPML, могут оставлять сообщения. Сотрудники WPML отвечают на сообщения форума 6 дней в неделю, 22 часов в сутки.

Sun Mon Tue Wed Thu Fri Sat
- 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 -
- 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 -

Часовой пояс сторонника: Europe/Kyiv (GMT+03:00)

Эта тема содержит 1 ответ, имеет 0 голоса.

Последнее обновление: Christopher Amirian 5 дней, 3 часа назад.

При содействии: Andrey.

Автор Посты
28 июня, 2025 в 9:15 пп #17179712

chiorescoE

Предыстория вопроса:
Мы принимаем онлайн-платежи через плагин Moldova Agroindbank (MAIB) для WooCommerce. Формат URL-ов в WPML — «?lang=ru» (имя языка в параметре запроса).
Когда плагин генерирует callback-адрес скрытая ссылка
WPML автоматически превращает его в скрытая ссылка
Из-за закодированного «/» (%2F) WordPress не достигает endpoint-а wc-api, и заказ остаётся Pending → позже Cancelled, хотя банк уже подтвердил платёж.
Наша цель — сохранить текущий формат ?lang= для всего сайта, но исключить путь wc-api/maib/ из обработки WPML, чтобы callback оставался корректным.

Симптомы:
Из-за %2F запрос MAIB попадает на главную страницу вместо endpoint-а wc-api; заказ остаётся Pending и позднее автоматически отменяется, несмотря на успешный платёж.
2025-06-28T13:17:54+00:00 Информация Order params for send to maib API: {
"amount": 653,
"currency": "MDL",
"clientIp": "2a00:1858:1055:82eb:983b:170f:f7d:4342",
"language": "ru",
"description": "Order #17643",
"orderId": "17643",
"clientName": "u041cu0430u0440u0438u043du0430 u041bu0443u0433u043eu0432u0441u043au0430u044f",
"email": "lmg80@mail.ru",
"phone": "+3768011222",
"delivery": 0,
"okUrl": "скрытая ссылка",
"failUrl": "скрытая ссылка",
"callbackUrl": "скрытая ссылка",
"items": [
{
"id": "15358",
"name": "SKIN1004 Madagascar Centella Hyalu-Cica Water-Fit Sun Serum - 100 ml",
"price": 456,
"quantity": 1
},
{
"id": "13779",
"name": "CP-1 Bright Complex Intense Nourishing Shampoo 500 ml",
"price": 187,
"quantity": 1
}
]
}, order_id: 17643
2025-06-28T13:17:54+00:00 Информация Initiate Direct Payment
2025-06-28T13:17:54+00:00 Информация Get access token with Project ID / Secret
2025-06-28T13:17:54+00:00 Информация Access token generated successfully.
2025-06-28T13:17:55+00:00 Информация Response from pay endpoint: {
"payId": "267a4a6c-daf8-4f8d-a287-b84a13ab2761",
"payUrl": "скрытая ссылка",
"orderId": "17643"
}, order_id: 17643
2025-06-28T13:17:55+00:00 Заметка Order id: 17643, redirecting user to maib gateway: скрытая ссылка

Вопросы:

Поддерживается ли официально формат ?lang= для подобных callback-URL?
Как правильно (через хук или настройку) исключить endpoint wc-api/* из фильтрации WPML,

29 июня, 2025 в 9:51 дп #17180086

Christopher Amirian
Сторонник WPML с 07/2020

Языки: Английский (English )

Часовой пояс: Asia/Yerevan (GMT+04:00)

Здравствуйте,

Добро пожаловать в службу поддержки WPML.
Я не являюсь носителем русского языка, но использую ИИ, чтобы ускорить процесс поддержки для вас.
Я отвечу на этот тикет до того, как он будет передан одному из моих коллег.

Нет возможности выборочно запретить WPML анализировать параметры URL.

Что я могу предложить — рассмотреть возможность использования формата URL через директории вместо параметров:

Перейдите в «Консоль WordPress» > «WPML» > «Языки» > «Формат URL для языков».

Установите флажок «Разные языки в директориях».

Нажмите кнопку «Сохранить».

Перейдите в «Консоль WordPress» > «Настройки» > «Постоянные ссылки».

Нажмите кнопку «Сохранить», чтобы сбросить кэш постоянных ссылок.

Также вы можете проверить, поможет ли сохранение конкретного параметра, который использует платежный шлюз. Подробнее:
https://wpml.org/documentation/getting-started-guide/language-setup/language-switcher-options/preserve-url-arguments-when-switching-languages/

Спасибо.