Назад

VibeFox Razorpay for WooCommerce — Помощь

Требования

WordPress: 6.0 или новее.

WooCommerce: 7.0 или новее, установленный и активный. Без него плагин не активируется.

PHP: 8.0 или новее.

Учётная запись Razorpay: вам нужны Key ID и Key Secret вашей учётной записи Razorpay для тестового режима, а для рабочего режима — после активации учётной записи. Настоятельно рекомендуется webhook с секретом по вашему выбору (см. раздел «Настройка»). Платежи в валютах, отличных от INR, требуют, чтобы в вашей учётной записи Razorpay была включена функция International Payments.

Лицензионный ключ VibeFox: покупается на vibefox.net. Один ключ работает на одном домене.

Установка

1. В WordPress перейдите в Plugins > Add New > Upload Plugin, выберите ZIP-файл плагина и нажмите Install Now. Также можно загрузить папку wcp_razorpay_payment в /wp-content/plugins/ по FTP.

2. Нажмите Activate.

3. Откройте настройки: WooCommerce > Settings > Payments > Razorpay > Manage или нажмите Settings под названием плагина на странице Plugins.

4. Введите лицензионный ключ VibeFox в блоке лицензии вверху страницы и нажмите Activate.

5. Введите Test Key ID и Test Key Secret, настройте webhook в Razorpay Dashboard и введите его секрет (см. раздел «Настройка»).

6. Включите Enable/Disable и выполните тестовый платёж при включённом Test mode. Когда всё готово, введите ключи Live и снимите отметку с Test mode.

Настройка

Все настройки находятся на одной странице: WooCommerce > Settings > Payments > Razorpay. Над полями страница показывает уведомления: отсутствуют ключи текущего режима (тогда способ оплаты скрыт на оформлении заказа), Key ID не начинается с rzp_test_ в тестовом режиме или с rzp_live_ в рабочем, включён тестовый режим, секрет webhook пуст, либо валюта магазина не INR и требует, чтобы в вашей учётной записи Razorpay была включена функция International Payments. В списке способов оплаты Razorpay помечен как требующий настройки, пока у текущего режима нет ключей, а пока включён тестовый режим, отображается значок Test mode. Пробелы, вставленные вместе с ключами, удаляются при сохранении.

Общие

Enable/Disable: Enable Razorpay Payment Gateway включает или выключает способ оплаты. По умолчанию: выключено.

Title: название способа оплаты, которое видят покупатели на оформлении заказа. По умолчанию: UPI, Cards, NetBanking.

Description: текст, который отображается под способом оплаты на оформлении заказа. По умолчанию: Pay securely via UPI, Credit/Debit Card, or Internet Banking through Razorpay.

Ключи API

Получить ключи можно в Razorpay Dashboard в разделе Account & Settings > API Keys. Переключите Dashboard в тестовый режим, чтобы создать тестовые ключи (rzp_test_...). Рабочие ключи (rzp_live_...) доступны после активации учётной записи.

Test mode: Use the Test mode keys (no real money is charged). По умолчанию: включено. Снимите отметку, чтобы принимать реальные платежи. Платежи, списания и возвраты заказа всегда используют ключи того режима, в котором заказ был оплачен, поэтому смена режима позже не влияет на существующие заказы.

Test Key ID: Key ID из Razorpay Dashboard в тестовом режиме. Начинается с rzp_test_.

Test Key Secret: Key Secret из Razorpay Dashboard в тестовом режиме.

Live Key ID: Key ID из Razorpay Dashboard в рабочем режиме. Начинается с rzp_live_.

Live Key Secret: Key Secret из Razorpay Dashboard в рабочем режиме.

Оплата

Payment Action: момент списания денег. По умолчанию: Authorize & Capture.

Authorize & Capture: покупатель платит сразу. Если Razorpay сообщает об авторизованном платеже, плагин списывает его.
Authorize Only: деньги резервируются. Заказ переводится в статус «На удержании», а списание вы выполняете позже действием заказа Capture Razorpay payment или в Razorpay Dashboard. Razorpay автоматически возвращает авторизованные платежи, которые не были списаны вовремя.

Webhook

Webhook подтверждает платежи, даже если покупатель закрыл браузер сразу после оплаты, и фиксирует возвраты, сделанные в Razorpay Dashboard. В Razorpay Dashboard перейдите в Account & Settings > Webhooks и добавьте webhook для тестового режима и ещё один для рабочего режима. Используйте URL, который показан в этом разделе настроек. Он выглядит так: https://your-site/wc-api/razorpay_p_webhook/. Скопируйте его точно в том виде, в котором он показан в настройках. Укажите в Razorpay секрет по своему выбору и выберите следующие события:

payment.authorized: платеж авторизован.
payment.captured: платеж списан, в том числе когда вы списываете его в Razorpay Dashboard.
payment.failed: попытка оплаты не удалась.
order.paid: заказ Razorpay, к которому относится платеж, оплачен.
refund.created: платеж возвращён, например в Razorpay Dashboard.

Webhook Secret: секрет, который вы указали при создании webhook. Используйте один и тот же секрет для тестового и рабочего webhook, так как в плагине одно поле для обоих. Webhook без действительной подписи отклоняется. Без webhook платеж подтверждается, только когда покупатель возвращается из всплывающего окна или позже снова открывает страницу оплаты заказа.

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

Enable Logging: Save debug logs. Журнал находится в WooCommerce > Status > Logs, источник wcp_razorpay_payment. Ошибки и предупреждения записываются всегда; эта опция добавляет отладочные подробности. Ключи, подписи и контактные данные покупателя никогда не записываются в журнал. По умолчанию: выключено.

Delete Data on Uninstall: Remove the plugin settings and logs when the plugin is deleted (orders are never touched). По умолчанию: выключено.

Оформление заказа

Покупатель выбирает способ оплаты (по умолчанию UPI, Cards, NetBanking) и оформляет заказ. Плагин создаёт заказ Razorpay на точную сумму заказа и в его валюте и открывает страницу оплаты заказа. Окно Razorpay Checkout открывается там автоматически, с уже заполненными именем, e-mail и телефоном покупателя. Если окно закрыто, покупатель может нажать Pay Now, чтобы открыть его снова, или Cancel order. В тестовом режиме страница показывает Razorpay Test mode: no real money will be charged.

После успешной оплаты плагин проверяет подпись Razorpay, получает платёж через API Razorpay и сравнивает сумму и валюту с заказом. Заказ отмечается оплаченным только после подтверждения Razorpay. Затем покупатель видит страницу «Заказ получен». Если подпись действительна, но получить платёж в этот момент не удаётся, заказ переводится в статус «На удержании», а webhook подтвердит его позже.

Если покупатель возвращается к неоплаченному заказу, плагин повторно использует его заказ Razorpay. Если этот заказ Razorpay уже оплачен, например потому что покупатель закрыл браузер и webhook отсутствует, плагин применяет платёж вместо того, чтобы запрашивать второй.

Сообщения, которые видит покупатель:

Payment was cancelled. Please click "Pay Now" to try again.
Your session has expired. Please click "Pay Now" to try again.
We could not verify your payment. В сообщении добавляется, что заказ будет обновлён автоматически, как только Razorpay подтвердит списание, если деньги были списаны.
Razorpay is temporarily unavailable. Please try again in a few minutes.
Razorpay could not accept this payment: далее указана причина от Razorpay.
The order amount is too small to be paid with Razorpay.
Razorpay Checkout could not be loaded. Скрипт окна заблокирован; сообщение просит проверить соединение, отключить блокировщики контента и перезагрузить страницу.

Способ оплаты работает на классическом оформлении заказа, в блоке «Оформление заказа» и на странице Pay for order. Он совместим с WooCommerce High-Performance Order Storage (HPOS).

Плагин принимает только разовые платежи. Он не поддерживает подписки и регулярные платежи, сохранённые карты, Razorpay Magic Checkout, Payment Links и Route (разделённые платежи), а также виджеты предложений или доступности платежа.

Заказы и возвраты

Order statuses

Pending payment: заказ Razorpay создан, а покупатель ещё не оплатил. Каждый заказ Razorpay добавляется в заметки заказа с его суммой и режимом.

Processing or Completed: платеж списан и подтверждён; это статус WooCommerce по умолчанию после оплаты. Заметка заказа содержит ID платежа Razorpay, сумму и способ подтверждения (обратный вызов, webhook или проверка при возврате покупателя). ID транзакции — это ID платежа Razorpay (pay_...).

On hold: устанавливается в следующих случаях, каждый раз с заметкой заказа: платеж только авторизован (Authorize Only), оплаченная сумма или валюта не совпадают с заказом, платеж списан по отменённому заказу или платеж не удалось проверить через API Razorpay в этот момент. Заказ, который уже находится в статусе «На удержании», всё равно получает заметку.

Failed: webhook payment.failed пришёл для заказа в ожидании. Заметка показывает ошибку Razorpay. Покупатель по-прежнему может оплатить снова; заказ, у которого уже есть авторизованный или списанный платеж, не меняется.

Cancelled: покупатель нажал Cancel order, либо заказ отменили вы или истёк таймаут резервирования запаса WooCommerce. Платеж, который придёт позже, не открывает заказ автоматически: авторизованный платеж не списывается, а списанный платеж переводит заказ в статус «На удержании» для вашей проверки.

Если для уже оплаченного заказа поступает дополнительный платеж, заказ не меняется. Заметка предлагает вернуть его в Razorpay Dashboard, если это не было задумано.

Списание (Authorize Only)

Откройте заказ в статусе «На удержании», выберите Capture Razorpay payment в Order actions и нажмите кнопку обновления. Платеж списывается в том режиме, в котором был авторизован, и заказ становится оплаченным. Если Razorpay отказывает, в заметке заказа появляется Razorpay capture failed: с причиной. Списание, выполненное в Razorpay Dashboard, завершает заказ через webhook.

Возвраты

Откройте заказ, нажмите Refund, введите сумму и нажмите Refund via с названием способа оплаты. Поддерживаются полные и частичные возвраты. Возврат отправляется с ключами того режима, в котором был сделан платеж. Если Razorpay не принимает возврат, WooCommerce показывает Razorpay refund failed: с причиной, и возврат не регистрируется. Успешный возврат добавляется в заметки заказа с ID возврата Razorpay, суммой и статусом.

Возвраты, сделанные в Razorpay Dashboard, приходят через webhook и записываются в заказ как возвраты WooCommerce, один раз и без возврата товаров на склад. Возврат из Dashboard в другой валюте или на сумму больше возвратной не регистрируется автоматически; заметка предлагает внести его вручную.

Лицензионный ключ

Плагин работает с лицензионным ключом VibeFox с vibefox.net. Блок лицензии находится вверху страницы WooCommerce > Settings > Payments > Razorpay. Вставьте ключ в поле License key и нажмите Activate. В блоке отображается статус, например дата, до которой лицензия действует, и ваш домен. Нажмите Check now, чтобы проверить статус снова, Change key, чтобы ввести другой ключ, и Remove key, чтобы удалить его с этого сайта. Ссылка Manage licenses and domains in your account открывает вашу учётную запись на vibefox.net.

Один ключ работает на одном домене. Удаление ключа с сайта не освобождает место для домена. Освободите его в своей учётной записи на vibefox.net.

Без активного ключа Razorpay не отображается покупателям на оформлении заказа. Если платеж всё же начат, покупатель видит This payment method is not available. Please choose another one. Администраторы магазина, вошедшие в систему, по-прежнему видят способ оплаты с отметкой (unlicensed — visible to admins only), чтобы можно было настроить и проверить плагин до покупки ключа. Напоминание появляется на странице Plugins и на страницах WooCommerce. Существующие заказы не затрагиваются: уже начатые платежи по-прежнему подтверждаются, и возвраты работают.

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

Устранение неполадок

Razorpay не отображается на оформлении заказа: проверьте, что лицензия активна, Enable/Disable включено и в текущем режиме есть оба ключа: Test Key ID и Test Key Secret в тестовом режиме, Live Key ID и Live Key Secret в рабочем. Страница настроек показывает уведомление, если их нет.

Платеж прошёл, но заказ остаётся Pending payment: webhook не работает. В Razorpay Dashboard проверьте, что webhook существует в том режиме, который вы используете (Test или Live), что его URL точно совпадает с показанным в настройках и что выбраны все пять событий. Проверьте, что Webhook Secret совпадает с секретом в Razorpay. Заказ также подтверждается, когда покупатель снова открывает страницу оплаты заказа.

Webhook отвечает Webhook secret not configured: Webhook Secret пуст. Введите секрет webhook из Razorpay. Razorpay повторно отправит событие позже.

Webhook отвечает Invalid signature или Missing signature: секрет в настройках отличается от секрета webhook в Razorpay. Введите один и тот же секрет в обоих местах.

Webhook отвечает Retry later: плагину не удалось подтвердить списание через API Razorpay, либо заказ в этот момент обновлял другой запрос. Razorpay автоматически повторно отправит событие.

Заказ в статусе On hold: прочитайте заметку заказа. Платеж только авторизован (используйте Capture Razorpay payment), сумма или валюта не совпали с заказом, платеж пришёл по отменённому заказу, либо его не удалось проверить через API Razorpay в этот момент, и он ждёт webhook.

Покупатель видит ошибку при оплате: откройте заметки заказа или посмотрите WooCommerce > Status > Logs, источник wcp_razorpay_payment. Ошибки записываются в журнал даже при выключенной опции Enable Logging. Неверные ключи дают сообщение о том, что способ оплаты сейчас недоступен. Другие причины от Razorpay показываются после Razorpay could not accept this payment:.

Всплывающее окно не открывается: скрипт Razorpay Checkout заблокирован блокировщиком контента или соединением. Покупатель видит сообщение и может перезагрузить страницу.

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

Блок лицензии показывает ошибку: следуйте сообщению в блоке. Например, если ключ уже используется на другом домене, освободите место в учётной записи на vibefox.net и нажмите Check now. Если адрес сайта изменился, нажмите Check now, чтобы активировать ключ для нового домена. Если сервер лицензий недоступен, плагин продолжает работать по последнему известному статусу.

Удаление

Деактивация плагина сохраняет все данные. Чтобы удалить его, деактивируйте и удалите плагин на странице Plugins. Лицензионный ключ и статус лицензии этого плагина удаляются всегда. Настройки шлюза и журналы (файлы журналов, включая ротированные, и записи журнала в базе данных) удаляются только если была включена опция Delete Data on Uninstall. Иначе они сохраняются для повторной установки. Заказы и их данные Razorpay никогда не удаляются. Существующие заказы сохраняют свои заметки об оплате и ID транзакций.

Razorpay является товарным знаком своего правообладателя. Плагин не аффилирован с Razorpay и не одобрен Razorpay.