VibeFox Authorize.Net for WooCommerce — Помощь
Требования
WordPress: 5.8 или новее.
WooCommerce: 7.0 или новее, установлен и активен. Без WooCommerce плагин показывает уведомление в административной части, а способ оплаты не загружается.
PHP: 8.0 или новее.
HTTPS: страница оформления заказа должна работать по HTTPS. Accept.js не работает по обычному HTTP.
Учётная запись Authorize.Net: нужны API Login ID, Transaction Key и Public Client Key вашей учётной записи Authorize.Net, а для вебхуков — Signature Key. Рабочие (account.authorize.net) и тестовые (sandbox.authorize.net) учётные записи имеют разные учётные данные. Учётные записи Authorize.Net доступны мерчантам в США, Канаде, Великобритании, Европе, Австралии и Новой Зеландии.
Валюта: валюта магазина должна быть USD, CAD, CHF, DKK, EUR, GBP, NOK, PLN, SEK, AUD или NZD, и ваша учётная запись Authorize.Net должна проводить расчёты в ней. Для других валют способ оплаты скрывается при оформлении заказа.
Лицензионный ключ VibeFox: покупается на vibefox.net. Один ключ работает на одном домене.
Установка
1. В WordPress перейдите в Plugins > Add New > Upload Plugin, выберите ZIP-файл плагина и нажмите Install Now. Также можно загрузить папку wcp_authorizenet_gateway в /wp-content/plugins/ по FTP.
2. Нажмите Activate.
3. Откройте настройки: WooCommerce > Settings > Payments > Authorize.Net > Manage или нажмите Settings под названием плагина на странице Plugins.
4. Введите ваш лицензионный ключ VibeFox в блоке лицензии вверху страницы и нажмите Activate.
5. Введите учётные данные тестовой и рабочей учётных записей (см. раздел «Настройка»). По желанию настройте вебхук.
6. Включите Enable/Disable, выберите Transaction type и сохраните. Проверьте платёж в тестовой среде картой 4111 1111 1111 1111 с любым будущим сроком действия и любым CVV, затем снимите отметку Sandbox mode.
Настройка
Все настройки находятся на одной странице: WooCommerce > Settings > Payments > Authorize.Net. Над полями страница предупреждает, если сайт не использует HTTPS (Accept.js работает только на страницах HTTPS), и если валюта магазина не поддерживается (тогда способ оплаты скрывается при оформлении заказа). Страница показывает только поля учётных данных выбранного режима.
Общие
Enable/Disable: Enable Authorize.Net включает или выключает способ оплаты. По умолчанию: выключено.
Title: название способа оплаты, которое видят покупатели при оформлении заказа. По умолчанию: Credit Card.
Description: текст над формой карты при оформлении заказа. По умолчанию: Pay securely with your credit card via Authorize.Net.
Учётные данные API
В Merchant Interface Authorize.Net откройте Account > Settings > Security Settings. В разделе API Credentials & Keys скопируйте API Login ID и создайте Transaction Key и Signature Key. В разделе Manage Public Client Key скопируйте Public Client Key. Тестовая и рабочая среды используют разные учётные данные.
Sandbox mode: Use the Authorize.Net sandbox (test transactions, no real charges). Переключает адрес API, Accept.js и набор учётных данных ниже. По умолчанию: включено. Снимите отметку, чтобы принимать реальные платежи.
Live API Login ID и Sandbox API Login ID: API Login ID рабочей или тестовой учётной записи.
Live Transaction Key и Sandbox Transaction Key: Transaction Key этой учётной записи.
Live Public Client Key и Sandbox Public Client Key: открытый ключ (Public Client Key), который Accept.js использует в браузере.
Live Signature Key и Sandbox Signature Key: нужны только для вебхуков. Ключ проверяет заголовок X-ANET-Signature каждого уведомления.
Оплата
Transaction type: способ списания с карты. Авторизация истекает через 30 дней.
Вебхуки (рекомендуется)
Без вебхуков заказы, удержанные Fraud Detection Suite, либо списанные или аннулированные в панели Authorize.Net, нужно обновлять вручную. В Merchant Interface перейдите в Account > Settings > Business Settings > Webhooks и нажмите Add Endpoint. Используйте URL, показанный в этом разделе настроек. Он выглядит так: https://your-site/wc-api/wc_authorizenet/. Выберите следующие события:
Введите Signature Key учётной записи в поле Live Signature Key или Sandbox Signature Key. Вебхуки без действительной подписи отклоняются. Для каждого уведомления плагин перед изменением заказа также запрашивает у Authorize.Net текущий статус и сумму транзакции, поэтому повторные уведомления ничего не меняют.
Дополнительно
Debug log: Log API requests and responses записывает в WooCommerce > Status > Logs, источник wcp_authorizenet_gateway. Ключи, токены карт и персональные данные скрываются. По умолчанию: выключено.
Delete data on uninstall: Remove the settings and the Authorize.Net order meta when the plugin is deleted. По умолчанию: выключено.
Оформление заказа
Покупатель выбирает способ оплаты (по умолчанию Credit Card), вводит номер карты, срок действия (MM/YY) и код безопасности (CVV) на странице оформления заказа. В тестовой среде форма показывает подсказку с тестовой картой 4111 1111 1111 1111. При оформлении заказа Accept.js в браузере обменивает данные карты на одноразовый токен. У полей карты нет атрибутов name, поэтому номер карты и CVV никогда не отправляются на ваш сервер.
Плагин списывает токен через API Authorize.Net на сумму заказа в валюте заказа. Платёжный адрес, e-mail и IP-адрес передаются вместе с транзакцией для проверки адреса и фильтров мошенничества. Если платёж одобрен, покупатель попадает на страницу «Заказ получен», и корзина очищается.
Если карта отклонена, покупатель остаётся на странице оформления заказа и видит сообщение Payment failed: и причину, например отклонённую карту, неверный код безопасности или истёкший срок действия карты. Ошибки настройки и API покупателям не показываются: они видят общее сообщение, а подробности попадают в примечание к заказу и в журнал. Если магазин не может связаться с Authorize.Net, покупатель видит сообщение Payment error: unable to connect to the payment gateway. Please try again.
Повторные отправки формы и повторная оплата того же заказа никогда не списывают деньги дважды. Способ оплаты работает в классическом оформлении заказа, в блоке «Оформление заказа» и на странице Pay for order. Он совместим с High-Performance Order Storage (HPOS) WooCommerce.
В плагине нет сохранённых карт и профилей покупателей, подписок и предзаказов WooCommerce, eCheck/ACH, Apple Pay, Google Pay, PayPal или 3-D Secure, частичного списания авторизации и автоматической конвертации валют.
Заказы и возвраты
Статусы заказа
Processing или Completed: карта списана (Authorize and capture) или авторизация списана. WooCommerce ставит Processing, а Completed — для заказов только с виртуальными загружаемыми товарами. Примечание к заказу показывает сумму, ID транзакции, код авторизации, тип карты и последние четыре цифры. ID транзакции — это Authorize.Net Trans ID.
On hold: средства только авторизованы (Authorize only), либо Fraud Detection Suite удержал транзакцию на проверку. Одобрите или отклоните удержанную транзакцию в панели Authorize.Net; при работе вебхуков заказ обновляется автоматически. Заказ также переводится в On hold, если списание, о котором сообщил вебхук, не совпадает с суммой заказа.
Cancelled: вебхук сообщил, что транзакция отклонена, аннулирована или истекла до оплаты заказа. Если это случилось с оплаченным заказом, его статус не меняется, и добавляется предупреждающее примечание.
Списание
Для заказа с авторизацией откройте заказ, выберите Capture payment (Authorize.Net) в действиях заказа и нажмите кнопку обновления. Списывается вся сумма заказа за вычетом возвратов, и заказ отмечается оплаченным. Если списание не прошло, ошибка показывается и добавляется в примечания к заказу. Списать можно и в панели Authorize.Net; при работе вебхуков заказ обновляется автоматически.
Возвраты
Откройте заказ, нажмите Refund, введите сумму и нажмите Refund via Credit Card (название кнопки берётся из названия вашего способа оплаты). Возврат на всю сумму заказа сначала аннулирует транзакцию, если она ещё не рассчитана, или авторизацию, которая не была списана. Рассчитанные транзакции, обычно через 24 часа, можно вернуть полностью или частично. До расчёта частичный возврат невозможен: верните полную сумму, чтобы аннулировать транзакцию, или повторите попытку после расчёта. Если Authorize.Net не принимает возврат, WooCommerce показывает ошибку, и возврат не записывается. Успешный возврат или аннулирование добавляются в примечания к заказу.
Возвраты, списания и проверки вебхуков по заказу используют учётные данные того режима, в котором заказ был оплачен, поэтому заказы другого режима можно списывать и возвращать после переключения Sandbox mode. Сохраняйте учётные данные этого режима в их полях, пока такие заказы не обработаны.
Лицензионный ключ
Плагин работает с лицензионным ключом VibeFox с vibefox.net. Блок лицензии находится вверху страницы WooCommerce > Settings > Payments > Authorize.Net. Вставьте ключ в поле License key и нажмите Activate. В блоке показан статус, например дата окончания действия лицензии и ваш домен. Используйте Check now, чтобы проверить статус снова, Change key, чтобы ввести другой ключ, и Remove key, чтобы удалить его с этого сайта. Ссылка Manage licenses and domains in your account открывает ваш аккаунт на vibefox.net.
Один ключ работает на одном домене. Удаление ключа с сайта не освобождает слот домена. Освободите слот в вашем аккаунте на vibefox.net.
Без активного ключа Authorize.Net не показывается покупателям при оформлении заказа. Если оплата всё же начата, покупатель видит сообщение This payment method is not available. Please choose another one. Менеджеры магазина, вошедшие в систему, по-прежнему видят способ оплаты с пометкой (unlicensed — visible to admins only), чтобы вы могли настроить и протестировать плагин до покупки ключа. Напоминание появляется на странице Plugins и на страницах WooCommerce. Существующие заказы не затрагиваются: вебхуки по-прежнему обрабатываются, а списания и возвраты работают.
Когда срок лицензии истекает, плагин продолжает работать, но для обновлений и поддержки нужно продление. Статус снова проверяется автоматически в фоновом режиме.
Устранение неполадок
Authorize.Net не появляется при оформлении заказа: проверьте, что лицензия активна, Enable/Disable включено и в текущем режиме заполнены API Login ID, Transaction Key и Public Client Key. Проверьте, что валюта магазина поддерживается; страница настроек показывает предупреждение, если это не так.
Оплата прошла, но заказ остаётся в статусе On hold: тип транзакции — Authorize only (тогда списание делается действием заказа), либо Authorize.Net удержал транзакцию на проверку. Одобрите или отклоните её в панели Authorize.Net. Чтобы такие заказы обновлялись автоматически, настройте вебхук: проверьте, что URL конечной точки точно совпадает с показанным в настройках, что выбраны все четыре события и что введён Signature Key текущего режима.
Webhook answers webhooks are not configured: ни для одного режима не введён Signature Key.
Webhook answers invalid signature: Signature Key принадлежит другой учётной записи или режиму. Создайте или скопируйте Signature Key заново и вставьте его в поле своего режима.
Webhook answers verification failed, retry later: магазин не смог прочитать транзакцию через API Authorize.Net. Authorize.Net повторит доставку.
Форма карты не загружается или показывает The secure card form (Accept.js) could not be loaded: страница оформления заказа должна работать по HTTPS, а Public Client Key и API Login ID текущего режима должны быть верными.
Payment error: the card could not be tokenized: Accept.js не вернул токен. Покупатель должен заново ввести данные карты и повторить попытку.
Покупатель видит общую ошибку: откройте примечания к заказу или включите Debug log и посмотрите в WooCommerce > Status > Logs, источник wcp_authorizenet_gateway. Валюту, которую не поддерживает учётная запись, отклоняет Authorize.Net.
Частичный возврат не проходит, потому что транзакция ещё не рассчитана: верните полную сумму заказа, чтобы аннулировать транзакцию, или повторите попытку после расчёта, обычно в течение 24 часов.
Блок лицензии показывает ошибку: следуйте сообщению в блоке. Например, если ключ уже используется на другом домене, освободите слот в вашем аккаунте на vibefox.net и нажмите Check now. Если адрес сайта изменился, нажмите Check now, чтобы активировать ключ для нового домена. Если сервер лицензий недоступен, плагин продолжает работать по последнему известному статусу.
Удаление
Деактивация плагина сохраняет все данные. Чтобы удалить плагин, деактивируйте его и удалите на странице Plugins. Лицензионный ключ и статус лицензии этого плагина всегда удаляются. Настройки платёжного шлюза, данные Authorize.Net, сохранённые в заказах, и журналы удаляются, только если была включена опция Delete data on uninstall. Иначе они сохраняются для повторной установки. Существующие заказы сохраняют свои примечания об оплате и ID транзакций.
Authorize.Net — товарный знак соответствующего правообладателя. Этот плагин не связан с Authorize.Net и не одобрен ею.
