VibeFox Flutterwave for OpenCart — Помощь
Требования
OpenCart: 3.0.x (проверено на 3.0.5.0) или 4.0.2 и новее (проверено на 4.1.0.3).
PHP: 8.0 или новее.
Учётная запись Flutterwave: вам нужны секретные ключи вашей учётной записи Flutterwave из панели Flutterwave, раздел Settings, API keys: FLWSECK_TEST-… для тестового режима и FLWSECK-… для рабочего режима. Используются только секретные ключи. Публичные ключи и ключи шифрования не нужны. Также вы настраиваете вебхук с секретным хешем на ваш выбор (см. Настройка).
Валюты: заказ всегда списывается в валюте заказа. Само расширение не ограничивает страны или валюты; Flutterwave покажет ошибку, если ваша учётная запись не поддерживает валюту. Где предлагать Flutterwave, можно ограничить с помощью Geo Zone и Total.
Лицензионный ключ VibeFox: приобретается на vibefox.net. Один ключ работает на одном домене.
Установка
Архив для загрузки — это один zip-файл с пакетами для обеих версий OpenCart. Распакуйте его на своём компьютере. Он содержит README.txt, пакет для OpenCart 3 wcp_flutterwave_payment-oc3-(version).ocmod.zip и пакет для OpenCart 4 wcp_flutterwave_payment.ocmod.zip. Устанавливайте только пакет для вашей версии OpenCart. Лицензионный ключ один и тот же для обеих версий.
OpenCart 3
1. В административной части перейдите в раздел Extensions > Installer, нажмите Upload и выберите файл wcp_flutterwave_payment-oc3-(version).ocmod.zip. Расширение не содержит модификаций OCMOD, поэтому обновлять Extensions > Modifications не нужно. Вместо установщика можно скопировать содержимое папки upload из этого пакета в корневую папку магазина.
2. Перейдите в Extensions > Extensions и выберите тип Payments. Найдите VibeFox Flutterwave Payment и нажмите Install (зелёная кнопка +). Вашему администратору нужно право изменять список платёжных расширений.
3. Нажмите Edit (кнопка с карандашом), чтобы открыть страницу настроек. Вставьте лицензионный ключ VibeFox в поле License key в блоке лицензии в верхней части страницы и нажмите Activate (см. Лицензионный ключ).
4. Введите секретные ключи, настройте вебхук в панели Flutterwave и введите тот же секретный хеш в расширении (см. Настройка).
5. Включите Enable/Disable и нажмите Save. Проверьте платёж в тестовом режиме, затем включите Live mode.
OpenCart 4
1. В административной части перейдите в раздел Extensions > Installer, нажмите Upload и выберите файл wcp_flutterwave_payment.ocmod.zip. Не переименовывайте файл: OpenCart 4 берёт код расширения из имени файла, и переименованный пакет не работает.
2. Пакет появится в списке установленных расширений на той же странице. Нажмите рядом с ним Install (зелёная кнопка +).
3. Перейдите в Extensions > Extensions и выберите тип Payments. Найдите VibeFox Flutterwave Payment, нажмите Install (зелёная кнопка +), затем Edit (кнопка с карандашом).
4. Введите лицензионный ключ, секретные ключи и вебхук так же, как в шагах 3–5 для OpenCart 3. Страница настроек и её поля одинаковы в обеих версиях. Отличается только URL вебхука (см. Вебхук).
После новой установки способ оплаты выключен, а режим — тестовый.
Настройка
Все настройки находятся на странице расширения: Extensions > Extensions > Payments > VibeFox Flutterwave Payment > Edit. Разделы перечислены слева; кнопка Save под списком сохраняет всю страницу. Над настройками страница показывает Live mode: real payments are accepted. или Test mode: no real money is charged. Она предупреждает, если секретный ключ текущего режима пуст, если в рабочем режиме в поле рабочего ключа стоит тестовый ключ (FLWSECK_TEST-…), или если в тестовом режиме в поле тестового ключа стоит рабочий ключ (FLWSECK-…); тогда способ оплаты скрывается при оформлении заказа до исправления. Также страница предупреждает, если не задан секретный хеш вебхука: тогда вебхуки отклоняются, и платежи подтверждаются только когда покупатель возвращается в ваш магазин. Без права изменять расширение страница показывает настройки, но не может их сохранить.
При сохранении Title должен содержать от 1 до 128 символов, Sort Order должен быть пустым или целым числом, Total должен быть пустым или числом не меньше 0, а выбранная географическая зона и статусы заказов должны существовать. Иначе ничего не сохраняется, и страница показывает, что нужно исправить. Проблемы с ключами сохранение не блокируют.
Flutterwave
Enable/Disable: Enable Flutterwave Payment включает или выключает способ оплаты. По умолчанию: выключено.
Title: название способа оплаты, которое видит покупатель при оформлении заказа. Оно же сохраняется в заказе как название способа оплаты. По умолчанию: Flutterwave. Обязательное поле, до 128 символов.
Description: описание способа оплаты, которое показывается на шаге Confirm Order над кнопкой подтверждения. По умолчанию: Pay securely via Card, Bank Transfer, USSD, Mobile Money via Flutterwave.
Sort Order: положение Flutterwave среди способов оплаты при оформлении заказа. Оставьте поле пустым или введите целое число.
Geo Zone: предлагать Flutterwave только для адресов оплаты в выбранной географической зоне. По умолчанию: All zones. Географические зоны настраиваются в разделе System > Localisation > Geo Zones.
Total: сумма заказа в основной валюте магазина, которую заказ должен достичь, прежде чем будет предложен Flutterwave. Оставьте поле пустым, чтобы предлагать Flutterwave при любой сумме.
API-ключи
Скопируйте секретные ключи из панели Flutterwave, раздел Settings, API keys (в этом разделе есть ссылка). Тестовый и рабочий режимы используют разные ключи.
Live mode: принимает реальные платежи. Выключите его для тестового режима. Тестовый режим использует тестовый секретный ключ, и реальные деньги не списываются. Рабочий режим использует рабочий секретный ключ. По умолчанию: выключено (тестовый режим). Пока включён тестовый режим, покупатели на шаге Confirm Order видят TEST MODE - no real payments will be processed.
Test Secret Key: ваш тестовый секретный ключ Flutterwave (FLWSECK_TEST-...).
Live Secret Key: ваш рабочий секретный ключ Flutterwave (FLWSECK-...).
Сохранённые ключи и секретный хеш больше не показываются. Поле остаётся пустым и показывает Saved — leave empty to keep it. Вводите новое значение, только если хотите его изменить. Чтобы удалить сохранённое значение, отметьте Clear the saved value под полем и нажмите Save.
Вебхук
Вебхук подтверждает платежи даже тогда, когда покупатель не возвращается в ваш магазин. В панели Flutterwave, в разделе Settings, Webhooks, введите URL из поля Webhook URL этого раздела и секретный хеш на ваш выбор — и для тестового режима, и для рабочего. В OpenCart 3 URL выглядит так: https://your-store/index.php?route=extension/payment/wcp_flutterwave_payment/webhook, в OpenCart 4 — так: https://your-store/index.php?route=extension/wcp_flutterwave_payment/payment/wcp_flutterwave_payment.webhook. Он формируется из адреса вашего магазина. Он должен быть доступен из интернета по HTTPS. Копируйте URL точно так, как он показан в настройках. Расширение реагирует на это событие:
Другие события игнорируются.
Secret Hash: секретный хеш вебхука. Он должен совпадать со значением в настройках вебхука в вашей панели Flutterwave. Flutterwave отправляет его с каждым вебхуком; одно и то же значение используется для тестового и рабочего режимов. Вебхуки без действительного секретного хеша отклоняются. Без вебхука платёж подтверждается только когда покупатель возвращается в ваш магазин.
Оплата
Payment Options: способы оплаты через запятую, которые показываются на странице Flutterwave, например card, banktransfer, ussd, mobilemoney. Оставьте поле пустым, чтобы показывать все способы, включённые в вашей учётной записи. При сохранении список очищается (строчные буквы, без дубликатов).
Autocomplete Orders: оплаченные заказы получают Complete Order Status вместо Paid Order Status. По умолчанию: выключено.
Заказы
OpenCart создаёт заказ на шаге Confirm Order без статуса (пропущенный заказ). Он получает статус только после того, как Flutterwave подтвердит платёж через API. Каждое поле ниже перечисляет ваши статусы заказов OpenCart.
Paid Order Status: статус после подтверждённого платежа. По умолчанию: В обработке.
Complete Order Status: статус после подтверждённого платежа, когда включено Autocomplete Orders. По умолчанию: Выполнен.
Awaiting Payment Status: покупатель вернулся, пока платёж в Flutterwave ещё ожидает обработки (банковский перевод, USSD, мобильные деньги). Заказ сохраняет этот статус, пока вебхук не подтвердит платёж. По умолчанию: Ожидание.
On Hold (Review) Status: платежи, сумма или валюта которых не совпадают с заказом, либо которые поступили после отмены заказа, получают этот статус и примечание с объяснением причины. По умолчанию: Ожидание, так как в OpenCart нет статуса On hold. Вы можете создать свой статус в разделе System > Localisation > Order Statuses и выбрать его здесь.
Failed Status: ожидающий платёж по заказу в ожидании завершился неудачно в Flutterwave. По умолчанию: Неудачно.
Refunded Status: устанавливается после полного возврата платежа со страницы заказа. По умолчанию: Возвращен.
Дополнительно
Debug log: записывает события API Flutterwave для отладки в файл flwv_debug.log.php в папке журналов OpenCart (storage/logs). Файл нельзя открыть через веб-браузер; при достижении 5 МБ он переименовывается в flwv_debug.old.log.php. Ошибки и предупреждения записываются всегда. Ключи, секретный хеш и данные покупателей никогда не записываются в журнал. По умолчанию: выключено.
Log: показывает размер и последние записи журнала. Нажмите Clear log, чтобы очистить его.
Delete data on uninstall: при удалении расширения удаляет его настройки и журналы. Данные об оплате, сохранённые в заказах, всегда остаются. По умолчанию: выключено.
Импорт / экспорт
Export: Download JSON сохраняет настройки в файл JSON. Секретные ключи и секретный хеш не экспортируются.
Import: вставьте ранее экспортированный JSON и нажмите Import, чтобы восстановить настройки. Сохранённые ключи и секретный хеш сохраняются.
Оформление заказа
На шаге Payment Method покупатель выбирает способ оплаты (по умолчанию Flutterwave). На шаге Confirm Order покупатель видит ваше описание и примечание You will be redirected to the Flutterwave checkout page. OpenCart создаёт заказ на этом шаге, по-прежнему без статуса. В OpenCart 4 покупатель выбирает способ оплаты кнопкой Choose в блоке способа оплаты, в окне Payment method options, и нажимает Confirm Order внизу страницы оформления. Когда покупатель нажимает Confirm Order, расширение создаёт платёж Flutterwave на сумму заказа в валюте заказа с адресом электронной почты покупателя, телефоном и именем из адреса оплаты, названием и логотипом вашего магазина и текстом Payment for order с номером заказа, и отправляет покупателя на страницу оформления Flutterwave. Требуется действительный адрес электронной почты. Там покупатель оплачивает одним из способов, включённых в вашей учётной записи (или указанных в Payment Options).
После оплаты покупатель возвращается в ваш магазин. Заказ отмечается оплаченным только после подтверждения Flutterwave: через вебхук или через проверку на стороне сервера при возврате покупателя. Затем заказ получает статус обычным для OpenCart способом, с обычными письмами о заказе и обновлением остатков, а покупатель видит страницу успешного оформления заказа OpenCart. Если платёж всё ещё ожидает обработки, например банковский перевод, USSD или мобильные деньги, заказ получает статус Awaiting Payment Status, а на странице также выводится Your payment is being confirmed by Flutterwave. You will receive an e-mail as soon as it is confirmed. Когда Flutterwave подтверждает платёж, заказ переходит в оплаченный статус, и покупатель получает письмо. Если заказ отложен для проверки, например потому что оплаченная сумма не совпадает с заказом, страница показывает Your payment was received and your order is being reviewed. We will contact you if anything is needed. Если ожидающий платёж позже завершился неудачей, и покупатель возвращается к заказу, страница показывает Your Flutterwave payment was not completed. Please contact us about this order.
Если Flutterwave недоступен, когда покупатель возвращается, страница Payment confirmation сообщает: Your payment is being confirmed by Flutterwave. Your order will be confirmed as soon as Flutterwave confirms it — please do not pay again. с кнопками Check again и Back to checkout. Вебхук устанавливает статус заказа, как только поступает.
Если платёж отклонён, покупатель возвращается к оформлению заказа с сообщением Your payment was declined. You can try again or choose another payment method. Если покупатель отменяет платёж на странице Flutterwave, выводится Payment was cancelled. You can try again or choose another payment method. Если платёж не был завершён, выводится The payment was not completed. You can try again or choose another payment method. Если платёж не удалось проверить, выводится Payment verification failed. Please contact support. Заказ остаётся без статуса, корзина сохраняется, и покупатель может оплатить снова. На OpenCart 4 эти сообщения выводятся над страницей оформления заказа.
OpenCart 3 создаёт новый заказ каждый раз, когда показывается шаг Confirm Order; OpenCart 4 обновляет заказ текущего оформления, поэтому новая попытка оплачивает тот же заказ. Каждая попытка получает собственную ссылку. Перед новым платежом у Flutterwave проверяются открытые и ожидающие платежи этого заказа и других заказов из той же корзины за последние 24 часа. Если один из них оплачен, он подтверждает свой заказ, и покупатель переходит на страницу успеха вместо повторной оплаты. Если другой заказ из той же корзины уже оплачен через Flutterwave, новый платёж тоже не начинается. Более старая платёжная ссылка, которая будет оплачена позже, по-прежнему принимается. Если та же корзина оплачивается дважды, например в двух вкладках браузера, статус получает заказ только по первому платежу: другой заказ остаётся без статуса, а оплаченный заказ получает примечание с просьбой вернуть второй платёж в панели Flutterwave.
OpenCart 4 хранит заказ в оформлении, пока не показана страница успеха. Если этот заказ был закрыт без оплаты (например, его ожидающий платёж завершился неудачно или вы его отменили), покупатель возвращается к оформлению заказа с сообщением об отклонённом платеже, и следующее нажатие Confirm Order оплачивает новый заказ корзины. Если вы закрыли заказ уже после оплаты, выводится сообщение This order can no longer be paid (it was closed by the store). Please confirm your order again. Если этот заказ уже оплачен, но корзина с тех пор изменилась, в том числе новое количество, выводится сообщение Your previous order is already paid. Please confirm the order again: the cart will be paid with a new order. Оплаченный заказ никогда не отображается как оплаченный для другой корзины.
Если Flutterwave не может начать платёж, покупатель остаётся на шаге Confirm Order с коротким сообщением, например Flutterwave is temporarily unavailable. Please try again in a moment or choose another payment method. Техническая причина записывается в журнал.
Вебхук и URL возврата также работают, когда магазин находится в режиме обслуживания, потому что OpenCart 3 пропускает запросы платёжных расширений, а на OpenCart 4 расширение добавляет для них стартовое действие (startup action).
Расширение принимает только разовые платежи. На вашем сайте нет встроенного или модального оформления, нет сохранённых карт, подписок, раздельных платежей и платёжных планов. Размещённые платёжные ссылки нельзя отменить через API Flutterwave, поэтому старая ссылка всё ещё может быть оплачена.
Заказы и возвраты
Статусы заказов
Без статуса (missing order): покупатель был направлен в Flutterwave и не оплатил, платёж был отклонён или отменён, либо Flutterwave ещё не подтвердил платёж. В разделе Sales > Orders такие заказы показываются только с фильтром Order Status, установленным в значение Missing Orders.
Paid Order Status (по умолчанию В обработке) или Complete Order Status (по умолчанию Выполнен): платёж подтверждён. Complete Order Status используется, когда включено Autocomplete Orders. Примечание показывает сумму, способ оплаты, ссылку Flutterwave, транзакцию и режим.
Awaiting Payment Status (по умолчанию Ожидание): покупатель вернулся, пока платёж в Flutterwave ещё ожидал обработки. Заказ переходит в оплаченный статус, когда Flutterwave подтверждает платёж.
On Hold (Review) Status (по умолчанию Ожидание): проверенная сумма или валюта не совпали с заказом, либо платёж поступил после того, как заказу был присвоен статус без оплаты, например Отменено. Фактически оплаченные сумма и валюта записываются, а примечание объясняет это. Выполните заказ или верните платёж. Если у заказа уже был другой статус обработки, добавляется только примечание.
Failed Status (по умолчанию Неудачно): Flutterwave сообщил, что последняя попытка платежа по ожидающему заказу не удалась или отменена. Примечание показывает причину. Более ранние попытки и оплаченные заказы не меняются.
Refunded Status (по умолчанию Возвращен): платёж полностью возвращён через расширение.
Если для уже оплаченного заказа поступает второй платёж, заказ не меняется. Примечание просит вас вернуть дубликат в панели Flutterwave.
Примечания — это записи в History заказа, которые покупатель не видит.
Вкладка VibeFox Flutterwave Payment
В разделе Sales > Orders откройте заказ, оплаченный через Flutterwave. Внизу страницы заказа, рядом с History и Additional, вкладка VibeFox Flutterwave Payment показывает Transaction reference, Mode (Test или Live), Status платежа, Transaction ID, Flutterwave reference, Payment type, суммы Paid / refunded, форму возврата, историю возвратов и Flutterwave notes заказа. Вкладка показывается пользователям, имеющим доступ к расширению.
Возвраты
На вкладке введите Amount (подставляется сумма, которая ещё не возвращена), при необходимости Reason (optional), и нажмите Refund via Flutterwave. Подтвердите вопрос Refund this amount through Flutterwave? This cannot be undone. Поддерживаются полные и частичные возвраты. Вам нужно право изменять расширение (задаётся в разделе System > Users > User Groups). Возвраты делаются в сумме и валюте, которые списал Flutterwave, поэтому после расхождения суммы или валюты вы можете вернуть не больше того, что фактически заплатил покупатель, а не сумму заказа. Возврат отправляется секретным ключом того режима, в котором была произведена оплата (тестовый или рабочий), поэтому этот ключ должен быть задан. Если Flutterwave отказывает в возврате, вкладка показывает ошибку, и возврат не регистрируется. Успешный возврат добавляется в историю возвратов и примечания с ID возврата и статусом (выполнен или инициирован, со статусом, который сообщил Flutterwave). Полный возврат устанавливает заказу Refunded Status без уведомления покупателя и без возврата товаров на склад, как при ручной смене статуса. Частичный возврат статус не меняет. Возвраты доступны после подтверждения платежа Flutterwave.
Возвраты товаров в разделе Sales > Returns не возвращают деньги через Flutterwave. Возвраты, сделанные в панели Flutterwave, не синхронизируются обратно с OpenCart. При необходимости обновите статус заказа вручную.
Лицензионный ключ
Расширение работает с лицензионным ключом VibeFox с vibefox.net. Блок лицензии License — VibeFox Flutterwave Payment — первый блок в разделе Extensions > Extensions > Payments > VibeFox Flutterwave Payment > Edit, над настройками. Вставьте ключ в поле License key и нажмите Activate. После этого блок показывает ключ в замаскированном виде, статус (например, дату, до которой действует лицензия, и ваш домен) и кнопки Check now, чтобы повторно проверить статус, Change key, чтобы ввести другой ключ, и Remove key, чтобы удалить ключ из этого магазина. Ниже находятся строка Product: opencart-payment-flutterwave и ссылка Manage licenses and domains in your account, которая открывает вашу учётную запись на vibefox.net. Изменять ключ могут только администраторы с правом Modify на расширение. Тексты блока следуют языку административной части (включены английский и русский).
Если ключ не принят, блок сообщает причину, например Key not found, This key belongs to another product, Domain limit reached или License expired on с датой. После смены адреса магазина или после освобождения места для домена в вашей учётной записи нажмите Check now. Если сервер лицензий недоступен, расширение продолжает работать по последнему известному статусу.
Один ключ работает на одном домене: адрес магазина из настроек OpenCart. Удаление ключа из магазина не освобождает место для домена. Освободите его в своей учётной записи на vibefox.net.
Без активного ключа Flutterwave не показывается покупателям при оформлении заказа. Если платёж всё же начат, покупатель видит This payment method is not available. Please choose another one. Администратор, вошедший в административную часть в том же браузере, по-прежнему видит способ оплаты в магазине, помеченный как (unlicensed — visible to admins only), чтобы вы могли настроить и протестировать расширение до покупки ключа. На OpenCart 4 этот предпросмотр недоступен: магазин не видит вход администратора, поэтому без активного ключа способ оплаты скрыт для всех. После того как вы один раз откроете страницу Edit, на Dashboard административной части появляется напоминание. Закройте его кнопкой ×, чтобы скрыть на 7 дней. Существующие заказы не затрагиваются: уже начатые платежи по-прежнему подтверждаются, а возвраты работают.
Когда срок лицензии истекает, расширение продолжает работать, но для обновлений и поддержки нужно продление. Статус автоматически проверяется снова при открытии административного Dashboard или страницы Edit: раз в день в течение первых 14 дней после ввода ключа, затем раз в неделю. Задание cron не требуется. Удаление расширения всегда удаляет лицензионный ключ и статус лицензии.
Устранение неполадок
Flutterwave не появляется при оформлении заказа: проверьте, что лицензия активна, включён Enable/Disable, и что секретный ключ текущего режима заполнен и соответствует режиму: тестовый ключ (FLWSECK_TEST-…) в тестовом режиме, рабочий ключ (FLWSECK-…) в рабочем режиме. В противном случае на странице настроек появляется предупреждение. Также проверьте, что адрес оплаты входит в выбранную Geo Zone, и что сумма заказа достигает значения Total, заданного в настройках.
Платёж прошёл, но заказ остаётся без статуса: вебхук не работает. В панели Flutterwave проверьте, что URL вебхука точно совпадает с показанным в Webhook URL, в том режиме, который вы используете (тестовом или рабочем), и что его секретный хеш совпадает с Secret Hash в расширении. Ожидающие банковские переводы, USSD и мобильные деньги остаются в ожидании, пока Flutterwave их не подтвердит. Заказ также получает статус, когда покупатель возвращается в магазин после оплаты. Включите Debug log и посмотрите поле Log на странице расширения.
Вебхук отвечает Invalid hash или Secret hash not configured: секретный хеш в панели Flutterwave отличается от указанного в расширении, либо в расширении он не задан. Введите одно и то же значение в обоих местах.
Вебхук отвечает Verification failed, Busy, retry later или Order could not be updated, retry later: не удалось связаться с Flutterwave для проверки платежа, транзакция ещё не видна, заказ обрабатывал другой запрос, или не удалось установить его статус. Flutterwave повторит вебхук. Причина указана в журнале.
URL вебхука в браузере показывает Empty body: это нормально. URL принимает только вебхуки от Flutterwave.
Покупатель видит Payment gateway is not properly configured: секретный ключ текущего режима отсутствует или относится к другому режиму.
Покупатель видит This payment method is not available: сессия оформления больше не соответствует заказу, либо способ оплаты тем временем был выключен. Покупатель перезагружает страницу оформления.
Покупатель видит We could not match this payment to an order: ссылка возврата не относится к платежу по этому заказу. Если с покупателя списали деньги, найдите платёж в панели Flutterwave.
Flutterwave показывает ошибку на своей странице, или покупатель видит Flutterwave could not start the payment: ваша учётная запись Flutterwave может не поддерживать валюту заказа или выбранные варианты оплаты.
Заказ после оплаты находится в статусе удержания: прочитайте примечания на вкладке VibeFox Flutterwave Payment (см. Статусы заказов), затем выполните заказ или верните платёж.
На вкладке нет формы возврата: вкладка объясняет причину: платёж ещё не подтверждён, он полностью возвращён, у вашей группы пользователей нет права изменять расширение, или секретный ключ режима платежа не настроен.
Возврат не выполняется с сообщением о режиме: платёж был сделан в тестовом или рабочем режиме, а секретный ключ этого режима не настроен. Введите его и повторите попытку.
Возврат отвечает Another operation on this payment is running: в этот момент отправлялся другой возврат по этому заказу. Подождите немного, проверьте историю возвратов и при необходимости повторите попытку.
Для разработчиков расширение вызывает события OpenCart flwv_payment_request (данные, отправляемые в Flutterwave) и flwv_currency_decimals (точность валюты).
Удаление
Перейдите в Extensions > Extensions, выберите тип Payments и нажмите Uninstall (красная кнопка −) рядом с VibeFox Flutterwave Payment. Лицензионный ключ и статус лицензии этого расширения всегда удаляются. OpenCart всегда удаляет собственные настройки расширения: Enable/Disable, Sort Order, Geo Zone, Total и статусы заказов из раздела Orders, которые при повторной установке возвращаются к значениям по умолчанию. Событие OpenCart расширения также удаляется (на OpenCart 4 — его события и стартовое действие, которое пропускает вебхук и URL возврата в режиме обслуживания). Если Delete data on uninstall включено, удаляются остальные настройки (название, описание, режим, ключи, секретный хеш, варианты оплаты, автозавершение, переключатель журнала отладки) и журнал. Если оно выключено, они сохраняются для последующей повторной установки. Записи о платежах и возвратах Flutterwave всегда сохраняются, поэтому заказы, оплаченные раньше, можно вернуть и после повторной установки. Существующие заказы сохраняют свои примечания об оплате.
На OpenCart 4, чтобы удалить также файлы расширения, перейдите в Extensions > Installer после удаления, нажмите Uninstall (оранжевая кнопка −) рядом с VibeFox Flutterwave Payment в списке установленных расширений, затем Delete (красная кнопка с корзиной), чтобы удалить загруженный пакет.
Flutterwave — товарный знак его владельца. Это расширение не связано с Flutterwave и не одобрено компанией Flutterwave.
