VibeFox Redsys for WooCommerce — Помощь
Требования
WordPress: 6.2 или новее.
WooCommerce: 8.0 или новее, установлен и активен. Без WooCommerce плагин не активируется.
PHP: 8.0 или новее.
Мерчант-аккаунт Redsys: ваш банк (эквайер, который выдал вам виртуальный POS-терминал Redsys) предоставляет код торговца (FUC), номер терминала и доступ к административной панели Redsys, где показан секретный ключ SHA-256 каждой среды. Ключ тестовой среды отличается от ключа боевой. Онлайн-уведомление (HTTP) должно быть включено для вашего терминала. Если не уверены, уточните у банка.
Валюта магазина: одна из валют, которые поддерживает плагин (см. раздел «Конфигурация»), и банк должен включить для неё ваш терминал Redsys. Большинство терминалов принимают только EUR.
Доступный сайт: Redsys должен иметь возможность подключиться к вашему сайту из интернета без логина и блокировки файрволом, чтобы доставлять уведомления о платежах.
Лицензионный ключ VibeFox: приобретается на vibefox.net. Один ключ работает на одном домене.
Установка
1. В WordPress перейдите в Plugins > Add New > Upload Plugin, выберите ZIP-файл плагина и нажмите Install Now. Также можно загрузить папку wcp_redsys_gateway в /wp-content/plugins/ по FTP.
2. Нажмите Activate.
3. Откройте настройки: WooCommerce > Settings > Payments > Redsys > Manage или нажмите Settings под названием плагина на странице Plugins.
4. Введите лицензионный ключ VibeFox в блоке лицензии вверху страницы и нажмите Activate.
5. Введите код торговца, терминал и секретный ключ каждой среды (см. раздел «Конфигурация»).
6. Включите Enable/Disable. Проверьте платёж с включённым Test Mode, затем снимите флажок Test Mode, чтобы принимать реальные платежи.
Конфигурация
Все настройки находятся на одной странице: WooCommerce > Settings > Payments > Redsys. Над полями страница предупреждает, если код торговца не указан или содержит не только цифры, если секретный ключ не является допустимым ключом Redsys SHA-256, если ключ текущего режима пуст (тогда способ оплаты скрыт при оформлении заказа) и если валюта магазина не поддерживается. Пока включён тестовый режим, страница показывает Test mode is active: payments go to the Redsys test environment (SIS-T), no real money is charged. После сохранения предупреждения сразу отражают новые настройки. В списке способов оплаты Redsys отмечен как требующий настройки, пока код торговца, терминал и ключ текущего режима не станут корректными.
Общие
Enable/Disable: Enable Redsys Gateway включает или выключает способ оплаты. По умолчанию: выключено.
Title: название способа оплаты, которое видят покупатели при оформлении заказа. По умолчанию: Credit/Debit Card (Redsys).
Description: текст под способом оплаты при оформлении заказа. По умолчанию: Pay securely with your credit or debit card via Redsys.
Аккаунт Redsys
Банк предоставляет вам код торговца, терминал и доступ к административной панели Redsys, где показан секретный ключ SHA-256 каждой среды. Раздел содержит ссылку на административную панель Redsys.
Merchant Code (FUC): ваш код торговца Redsys, до 9 цифр. При сохранении удаляются все символы, которые не являются цифрами.
Terminal Number: номер терминала, назначенный банком, до 3 цифр. По умолчанию: 1. Пустое поле сохраняется как 1.
Secret Key (SHA-256) — live: ключ SHA-256 в Base64 для боевой (продуктивной) среды. Он используется, когда тестовый режим выключен.
Тестовый режим (SIS-T)
Тестовая среда Redsys имеет собственный секретный ключ. Раздел показывает публичные тестовые данные Redsys: код торговца 999008881, терминал 1, ключ sq7HjrUOBfKmC576ILgskD5srU870gJ7, карта 4548 8100 0000 0003, срок действия 12/49, CVV 123. В тестовом режиме реальные деньги не списываются.
Test Mode: Enable test mode отправляет платежи и возвраты в тестовую среду Redsys (SIS-T) и подписывает их тестовым ключом. По умолчанию: включено. Снимите флажок, чтобы принимать реальные платежи. Пока режим включён, при оформлении заказа под способом оплаты показывается TEST MODE: Redsys test environment, no real money is charged.
Secret Key (SHA-256) — test: ключ SHA-256 в Base64 тестовой среды. Используйте свой тестовый ключ или публичный тестовый ключ, указанный выше.
Страница оплаты и заказы
Commerce Name: название магазина на платёжной странице Redsys, не более 25 символов. По умолчанию: название вашего сайта, обрезанное до 25 символов.
Order Status After Payment: статус заказа после успешной оплаты. Статус устанавливается один раз, поэтому покупатель получает одно письмо.
Уведомления о платежах
Redsys сообщает о каждом платеже на адрес уведомлений вашего магазина. Он имеет вид https://your-site/wc-api/rdsg_redsys/ и показан в этом разделе. Плагин передаёт его в Redsys с каждым платежом, поэтому ничего копировать в панель Redsys не нужно. Онлайн-уведомление (HTTP) должно быть включено для вашего терминала. Уточните у банка, если заказы остаются в статусе «Ожидает оплаты» после успешной оплаты. Уведомления без действительной подписи отклоняются. Без уведомления заказ не отмечается оплаченным.
Дополнительно
Debug log: Enable debug logging записывает подробности платежей, уведомлений и возвратов в WooCommerce > Status > Logs, источник wcp_redsys_gateway. Ошибки записываются всегда, даже когда эта опция выключена. Ключи, подписи и данные карт никогда не записываются. По умолчанию: выключено.
Delete Data: Delete the gateway settings when the plugin is deleted. Если включено, при удалении плагина удаляются настройки шлюза и журналы плагина. По умолчанию: выключено.
Поддерживаемые валюты
EUR, USD, GBP, JPY, CHF, CAD, AUD, NZD, NOK, SEK, DKK, PLN, CZK, HUF, BGN, RON, ILS, INR, MYR, SGD, THB, SAR, ZAR, RUB, BRL, MXN, ARS, CLP, COP, PEN, CNY, TWD. Способ оплаты скрыт для других валют. На странице Pay for order учитывается валюта заказа.
Оформление заказа
Покупатель выбирает способ оплаты (по умолчанию Credit/Debit Card (Redsys)) и оформляет заказ. Заказ переходит в статус «Ожидает оплаты», а покупатель видит Redirecting to Redsys for payment. Please wait..., после чего переходит на платёжную страницу Redsys вашего банка. Если браузер не переходит сам, покупатель нажимает Pay via Redsys. На странице Redsys покупатель платит картой с 3-D Secure или через Bizum либо другой способ, включённый вашим банком для терминала. Страница использует язык вашего магазина (испанский, английский, каталанский, французский, немецкий, итальянский, португальский и другие) или английский для остальных языков.
Сумма передаётся в минимальных единицах валюты заказа, например EUR 43,45 как 4345; JPY и CLP передаются без десятичных знаков. Платёж описывается как Order с номером заказа и названием вашего сайта. Остаток на складе уменьшается, когда платёж подтверждён, а не раньше.
После оплаты покупатель возвращается на страницу «Заказ получен» вашего магазина. Заказ отмечается оплаченным только после подтверждения Redsys подписанным уведомлением. До его получения страница показывает Redsys is confirming your payment. If you completed the payment, your order will be updated in a few moments — please do not pay again.
Если покупатель отменяет оплату или платёж отклонён, Redsys возвращает покупателя в ваш магазин. Для заказа, оформленного через корзину, заказ отменяется стандартным для WooCommerce способом, а корзина сохраняется. Для заказа, созданного вами в админке (ссылка на оплату), покупатель возвращается на страницу Pay for order с сообщением The Redsys payment was not completed. You can try again or choose another payment method., и заказ не отменяется. На странице перенаправления вашего магазина также доступны Cancel order & restore cart или, для заказов из админки, Choose another payment method.
Покупатель может снова оплатить неоплаченный заказ на странице Pay for order. Каждая попытка получает новый номер заказа Redsys, и платёж, сделанный из любой из них, например из второй вкладки браузера, по-прежнему распознаётся.
Если заказ не удаётся отправить в Redsys, покупатель видит короткое сообщение и может выбрать другой способ оплаты: Redsys payments are not configured correctly. Please choose another payment method or contact us., сообщение о том, что валюта не принимается, или The order total must be greater than zero.
Способ оплаты работает в классическом оформлении заказа, в блоке «Оформление заказа» и на странице Pay for order. Он совместим с WooCommerce High-Performance Order Storage (HPOS).
Плагин принимает разовые платежи, которые сразу авторизуются и списываются на странице Redsys. На вашем сайте нет формы ввода карты (InSite или iframe), нет сохранённых карт, оплаты в один клик или токенизации, подписок или регулярных платежей, предавторизации с последующим списанием и SOAP-уведомлений.
Заказы и возвраты
Статусы заказов
Pending payment: покупатель отправлен в Redsys и ещё не оплатил, или уведомление Redsys ещё не пришло. Примечание к заказу гласит Awaiting Redsys payment.
Processing, Completed or On Hold: платёж подтверждён. Статус соответствует Order Status After Payment. В примечании к заказу указаны номер заказа Redsys (Ds_Order), код авторизации и код ответа; для тестовых платежей добавляется отметка [TEST]. ID транзакции заказа — это номер заказа Redsys.
On hold after payment: Redsys сообщил сумму или валюту, отличающиеся от суммы заказа, тестовый платёж поступил, пока магазин работает в боевом режиме (реальные деньги не списывались), или платёж поступил после отмены заказа. Примечание к заказу объясняет причину. Проверьте платёж в административной панели Redsys, затем передайте заказ в обработку или сделайте возврат.
Failed: платёж был отклонён или отменён в Redsys. В примечании к заказу указаны код ответа и, для частых кодов, краткая причина, например Insufficient funds, Card expired или Cancelled by the customer. Только заказ, который ещё ждёт оплаты, переходит в статус «Неудачный». Оплаченный или закрытый заказ никогда не меняется из-за отклонённой попытки: попытка только отмечается примечанием.
Cancelled: покупатель отменил платёж либо заказ отменили вы или тайм-аут резерва остатков WooCommerce.
Если для уже оплаченного или возвращённого заказа поступает второй, отличающийся платёж, заказ не меняется. Примечание просит вас вернуть дублирующий платёж в административной панели Redsys. Если Redsys сообщает, что платёж ещё выполняется, добавляется примечание, и заказ ждёт окончательного результата.
Возвраты
Откройте заказ, нажмите Refund, введите сумму и нажмите кнопку возврата через способ оплаты Redsys (по умолчанию Refund via Credit/Debit Card (Redsys)). Поддерживаются полные и частичные возвраты. Возврат отправляется через REST API Redsys в ту среду, где был сделан платёж (тестовую или боевую), подписывается ключом этой среды, и проверяется подпись ответа. Если Redsys не принимает возврат, WooCommerce показывает ошибку и возврат не регистрируется. Успешный возврат добавляется в примечания к заказу с номером заказа Redsys и причиной.
Возвраты, оформленные в административной панели Redsys, не регистрируются как возвраты WooCommerce. Когда Redsys присылает уведомление о них, к заказу добавляется примечание. При необходимости создайте ручной возврат в WooCommerce, не используя кнопку возврата Redsys.
Лицензионный ключ
Плагин работает с лицензионным ключом VibeFox с vibefox.net. Блок лицензии находится вверху страницы WooCommerce > Settings > Payments > Redsys. Вставьте ключ в поле License key и нажмите Activate. В блоке отображается статус, например дата, до которой лицензия действительна, и ваш домен. Используйте Check now, чтобы снова проверить статус, Change key, чтобы ввести другой ключ, и Remove key, чтобы удалить его с этого сайта. Ссылка Manage licenses and domains in your account открывает ваш аккаунт vibefox.net.
Один ключ работает на одном домене. Удаление ключа с сайта не освобождает место под домен. Освободите его в своём аккаунте vibefox.net.
Без действующего ключа Redsys не показывается покупателям при оформлении заказа. Если платёж всё же начат, покупатель видит This payment method is not available. Please choose another one. Авторизованные менеджеры магазина по-прежнему видят способ оплаты с пометкой (unlicensed — visible to admins only), чтобы вы могли настроить и проверить плагин до покупки ключа. Напоминание появляется на странице Plugins и на страницах WooCommerce. Существующие заказы не затрагиваются: уже начатые платежи по-прежнему подтверждаются, и возвраты работают.
Когда лицензия истекает, плагин продолжает работать, но для обновлений и поддержки нужно продление. Статус автоматически проверяется снова в фоновом режиме.
Устранение неполадок
Redsys не отображается при оформлении заказа: проверьте, что лицензия активна, включён Enable/Disable, заполнены код торговца и терминал, а для текущего режима есть действительный ключ: Secret Key (SHA-256) — test в тестовом режиме, Secret Key (SHA-256) — live в боевом. Проверьте, что валюта магазина (на странице Pay for order — валюта заказа) есть в списке поддерживаемых валют. Страница настроек показывает предупреждение о каждой из этих проблем.
Платёж прошёл, но заказ остаётся в статусе Pending payment: уведомление Redsys не дошло до вашего магазина. Попросите банк проверить, что онлайн-уведомление (HTTP) включено для вашего терминала. Убедитесь, что адрес из раздела Уведомления о платежах доступен из интернета без логина, страницы обслуживания и блокировки файрволом. Включите Debug log и посмотрите WooCommerce > Status > Logs, источник wcp_redsys_gateway.
Уведомление отвечает Forbidden: подпись не совпала с секретным ключом среды, в которой был начат платёж, или код торговца в уведомлении не ваш. Проверьте, что секретные ключи и код торговца в настройках соответствуют вашему терминалу.
Уведомление отвечает Order not found: уведомление подписано верно, но ни один заказ этого магазина не использует этот номер заказа Redsys.
Уведомление отвечает Busy: заказ в тот же момент обрабатывался другим уведомлением. Redsys повторит уведомление.
Уведомление отвечает Bad request: в запросе не было параметров Redsys или они были повреждены. Запрос поступил не от Redsys в ожидаемом формате.
Заказ в статусе On hold after payment: прочитайте примечание к заказу. Оплаченная сумма или валюта отличались от заказа, тестовый платёж поступил, пока магазин работает в боевом режиме, или платёж поступил после отмены заказа. Передайте заказ в обработку или сделайте возврат.
Тестовые платежи не подтверждают заказы в боевом режиме: тестовый платёж никогда не оплачивает заказ, пока Test Mode выключен. Вместо этого заказ переводится в статус удержания с примечанием. Для тестовых платежей используйте тестовый режим с тестовым ключом.
Возврат не проходит: прочитайте ошибку. Redsys refund: the merchant code or the TEST secret key is not configured. (или LIVE) означает, что не задан ключ среды платежа. Коды ошибок Redsys объясняются в сообщении, например SIS0057 (сумма превышает остаток платежа), SIS0056 (исходный платёж не найден: другая среда или терминал), SIS0042 (ошибка подписи, проверьте ключ этой среды), SIS0026 (неизвестный код торговца или терминала) и SIS0027 (валюта не настроена для терминала). Если Redsys недоступен, возврат не выполняется. Попробуйте позже.
Ваш терминал принимает валюту, которой нет в списке: разработчики могут изменить список валют с помощью фильтра rdsg_currency_codes. Добавляйте валюту, только если банк включил её для терминала.
После обновления с версии 1.0: ключ, который вы использовали в тестовом режиме, теперь находится в Secret Key (SHA-256) — test. Введите боевой ключ, прежде чем снимать флажок Test Mode. Заказы, созданные в версии 1.0, по-прежнему получают уведомления и возвраты.
Блок лицензии показывает ошибку: следуйте сообщению в блоке. Например, если ключ уже используется на другом домене, освободите место в аккаунте vibefox.net и нажмите Check now. Если адрес сайта изменился, нажмите Check now, чтобы активировать ключ для нового домена. Если сервер лицензий недоступен, плагин продолжает работать по последнему известному статусу.
Удаление
Деактивация плагина сохраняет все данные. Чтобы удалить его, деактивируйте и удалите плагин на странице Plugins. Лицензионный ключ и статус лицензии этого плагина всегда удаляются. Настройки шлюза и журналы плагина удаляются, только если была включена опция Delete Data; иначе они сохраняются для будущей переустановки. Данные Redsys, сохранённые в заказах, всегда остаются, потому что они документируют платежи и нужны для возвратов. Существующие заказы сохраняют свои примечания об оплате и ID транзакций.
Redsys — товарный знак его владельца. Этот плагин не связан с Redsys и не одобрен компанией Redsys.
