Назад

VibeFox Tpay for OpenCart — Помощь

Требования

OpenCart: 3.0.x (проверено на 3.0.5.0) или 4.0.2 и новее (проверено на 4.1.0.3).

PHP: 8.0 или новее. Для проверки подписи JWS у уведомлений нужны расширение OpenSSL и исходящий HTTPS-доступ к secure.tpay.com.

Валюта: только польский злотый (PLN). Tpay проводит расчёты в PLN, а в его Open API нет поля валюты. Добавьте PLN в System > Localisation > Currencies, если её нет в вашем магазине: Tpay показывается только тогда, когда покупатель платит в PLN.

Доступ к вашему магазину из интернета: Tpay отправляет уведомления об оплате в ваш магазин, поэтому адрес уведомлений должен быть доступен из интернета (не блокироваться файрволом или HTTP-аутентификацией).

Учётная запись Tpay: нужны эти значения из панели мерчанта Tpay: Merchant ID (идентификатор вашей учётной записи Tpay), ключи Open API Client ID и Client secret (Integration, API) и код безопасности (Settings, Notifications). Ключи песочницы берутся из отдельной учётной записи песочницы Tpay.

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

Установка

Скачиваемый файл — это один zip-архив с пакетами для обеих версий OpenCart. Распакуйте его на своём компьютере. Он содержит README.txt, пакет для OpenCart 3 wcp_tpay_payment-oc3-(version).ocmod.zip и пакет для OpenCart 4 wcp_tpay_payment.ocmod.zip. Устанавливайте только пакет для вашей версии OpenCart. Лицензионный ключ одинаков для обеих версий.

OpenCart 3

1. В административной части откройте Extensions > Installer, нажмите Upload и выберите файл wcp_tpay_payment-oc3-(version).ocmod.zip. Расширение не содержит модификаций OCMOD, поэтому обновлять Extensions > Modifications не нужно. Вместо установщика можно скопировать содержимое папки upload из этого пакета в корневую папку вашего магазина.

2. Откройте Extensions > Extensions и выберите тип Payments. Найдите VibeFox Tpay Payment и нажмите Install (зелёная кнопка +). Вашему администратору нужно право изменять список платёжных расширений.

3. Нажмите Edit (кнопка с карандашом), чтобы открыть страницу настроек. Вставьте лицензионный ключ VibeFox в поле License key в блоке лицензии вверху страницы и нажмите Activate (см. Лицензионный ключ).

4. Введите ключи песочницы и боевые ключи (см. Настройка). В панели Tpay ничего настраивать не нужно, кроме кода безопасности: адрес уведомлений передаётся с каждой транзакцией.

5. Включите Enable/Disable и нажмите Save. Проверьте платёж в режиме песочницы, затем выключите Sandbox mode, чтобы принимать настоящие платежи.

OpenCart 4

1. В административной части откройте Extensions > Installer, нажмите Upload и выберите файл wcp_tpay_payment.ocmod.zip. Не переименовывайте файл: OpenCart 4 берёт код расширения из имени файла, и переименованный пакет не работает.

2. Пакет появится в списке установленных расширений на той же странице. Нажмите рядом с ним Install (зелёная кнопка +).

3. Откройте Extensions > Extensions и выберите тип Payments. Найдите VibeFox Tpay Payment, нажмите Install (зелёная кнопка +), затем Edit (кнопка с карандашом).

4. Введите лицензионный ключ и ключи Tpay так же, как в шагах 3–5 для OpenCart 3. Страница настроек и её поля одинаковы в обеих версиях. Отличается только адрес уведомлений (см. Уведомления об оплате).

После установки способ оплаты выключен, а режим песочницы включён.

Настройка

Все настройки находятся на странице расширения: Extensions > Extensions > Payments > VibeFox Tpay Payment > Edit. Разделы перечислены слева; кнопка Save под списком сохраняет всю страницу. Над настройками страница показывает Sandbox mode is on: payments go to the Tpay sandbox and no real money is charged., пока включён режим песочницы. Она предупреждает, если ключи текущего режима заполнены не полностью (тогда Tpay не показывается при оформлении заказа), если валюта магазина по умолчанию не PLN (тогда Tpay показывается, только когда покупатель платит в PLN), и если расширение PHP OpenSSL отсутствует при включённой проверке JWS (платежи тогда не будут подтверждаться). Без права изменять расширение страница показывает настройки, но не может их сохранить.

При сохранении поле Title не должно быть пустым и не может содержать больше 128 символов, Sort Order должен быть целым числом (отрицательные значения допускаются), Total — числом не меньше 0, а статусы заказов должны существовать; иначе ничего не сохраняется. Незаполненные ключи не мешают сохранению. Пробелы, вставленные вместе с Merchant ID или Client ID, удаляются, а секреты очищаются от лишних пробелов.

Tpay

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

Title: название способа оплаты, которое видит покупатель при оформлении заказа. Оно же сохраняется в заказе как название способа оплаты. По умолчанию: Tpay. Обязательно, не более 128 символов.

Description: текст, который покупатель видит на шаге Confirm Order над кнопкой подтверждения. По умолчанию: Pay with BLIK, online bank transfer or card on the secure Tpay page.

Sandbox mode: использует песочницу Tpay (тестовые платежи, реальные деньги не списываются) с ключами песочницы и адресом openapi.sandbox.tpay.com. Выключите, чтобы принимать настоящие платежи боевыми ключами. Возвраты всегда отправляются в ту среду, в которой был оплачен заказ. По умолчанию: включено.

Sort Order: место Tpay среди способов оплаты при оформлении заказа. Оставьте поле пустым или введите целое число (отрицательные значения допускаются).

Geo Zone: предлагать Tpay только для платёжных адресов в выбранной географической зоне. По умолчанию: All zones. Географические зоны настраиваются в разделе System > Localisation > Geo Zones.

Total: сумма заказа в валюте магазина по умолчанию, которую заказ должен достичь, прежде чем будет предложен Tpay. Оставьте поле пустым, чтобы предлагать Tpay при любой сумме.

Боевые ключи

Где их найти: в панели мерчанта Tpay (раздел содержит ссылку на неё) в разделе Integration, API (ключи Open API: Client ID и Secret); Merchant ID — это идентификатор вашей учётной записи Tpay; код безопасности находится в Settings, Notifications.

Merchant ID: идентификатор вашей учётной записи Tpay (цифры). Tpay передаёт его в каждом уведомлении.

Client ID: Client ID Open API.

Client secret: Client secret Open API.

Security code: используется для проверки контрольной суммы MD5 уведомлений Tpay.

Ключи песочницы

Песочница — это отдельная тестовая учётная запись Tpay со своими ключами (раздел содержит ссылку на документацию API Tpay). Они используются только при включённом Sandbox mode.

Sandbox Merchant ID: Merchant ID учётной записи песочницы.

Sandbox Client ID: Client ID Open API учётной записи песочницы.

Sandbox Client secret: Client secret Open API учётной записи песочницы.

Sandbox Security code: код безопасности уведомлений учётной записи песочницы.

Сохранённые секреты (Client secret и Security code обеих сред) больше не показываются. Поле остаётся пустым и показывает Saved - leave empty to keep it. Вводите новое значение, только если хотите его изменить. Чтобы удалить сохранённый секрет, отметьте Clear the saved value под полем и нажмите Save.

Уведомления об оплате

Notification URL: Tpay подтверждает платежи по адресу, показанному здесь. В OpenCart 3 он выглядит так: https://your-store/index.php?route=extension/payment/wcp_tpay_payment/notify, в OpenCart 4 так: https://your-store/index.php?route=extension/wcp_tpay_payment/payment/wcp_tpay_payment.notify. Он строится по адресу витрины вашей установки OpenCart. Адрес передаётся автоматически с каждой транзакцией; в панели Tpay ничего настраивать не нужно, кроме кода безопасности. Заказ получает статус только после уведомления с правильной контрольной суммой и подписью и совпадающей суммой (или совпадающей проверки статуса при возврате покупателя). Tpay повторяет уведомление, пока ваш магазин его не примет. Режим обслуживания адрес не блокирует (в OpenCart 4 расширение добавляет стартовое действие для уведомлений и возврата покупателя).

JWS signature: дополнительно проверяет X-JWS-Signature уведомлений по сертификату Tpay (рекомендуется). Требует расширения OpenSSL для PHP и исходящего HTTPS-доступа к secure.tpay.com. Сертификаты кешируются на сутки. Контрольная сумма MD5 проверяется всегда. По умолчанию: включено.

Заказы

OpenCart создаёт заказ на шаге Confirm Order без статуса (отсутствующий заказ). Заказ получает статус только после того, как Tpay подтвердил платёж (уведомлением или проверкой статуса). Каждое поле ниже содержит ваши статусы заказов OpenCart.

Paid Order Status: статус после подтверждённого платежа. По умолчанию: В обработке.

On Hold (Review) Status: платёж требует вашей проверки (см. Статусы заказов). По умолчанию: Ожидание, так как в OpenCart нет статуса On hold. Вы можете создать свой статус в System > Localisation > Order Statuses и выбрать его здесь.

Cancelled Order Status: расширение никогда не устанавливает этот статус. Платёж за заказ в этом статусе переводит заказ на проверку, а не тихо открывает его снова. По умолчанию: Отменён.

Refunded Status: устанавливается после полного возврата платежа со страницы заказа. По умолчанию: Возвращён.

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

Debug log: записывает события платежей: только технические события (без ключей и данных покупателей) в файл wc_tp_debug.log.php в папке логов OpenCart (storage/logs). Файл нельзя открыть из веба, а при размере 5 МБ он переносится в старую копию. По умолчанию: выключено. Пока опция выключена, ничего не записывается, включая ошибки, поэтому включите её до поиска причины проблемы.

Log: показывает размер и последние записи журнала. Нажмите Clear log, чтобы его очистить.

Delete data on uninstall: если включено, при удалении расширения удаляются настройки платёжного шлюза и журнал. Заказы и их платёжные данные Tpay всегда сохраняются. По умолчанию: выключено.

Импорт / экспорт

Export: Download JSON сохраняет настройки в файл JSON. Client secrets и Security codes не экспортируются.

Import: вставьте ранее экспортированный JSON и нажмите Import, чтобы восстановить настройки. Сохранённые Client secrets и Security codes остаются.

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

На шаге Payment Method покупатель выбирает способ оплаты (по умолчанию Tpay). На шаге Confirm Order покупатель видит ваше описание и примечание You will be redirected to the secure Tpay page to complete the payment. В режиме песочницы также показывается Sandbox mode - no real money is charged. OpenCart создаёт заказ на этом шаге, по-прежнему без статуса. В OpenCart 4 покупатель выбирает способ оплаты кнопкой Choose в блоке способа оплаты, в окне Payment method options, и нажимает Confirm Order внизу страницы оформления заказа.

Когда покупатель нажимает Confirm Order, расширение создаёт транзакцию Tpay на сумму заказа в PLN с описанием Order # и номером заказа, передаёт имя, адрес электронной почты, платёжный адрес и телефон покупателя и отправляет его на страницу оплаты Tpay. Страница показывается на польском, английском или украинском языке в зависимости от языка заказа (для остальных языков — английский). Там покупатель выбирает BLIK, банковский перевод, карту или другой способ, включённый в вашей учётной записи Tpay, и платит.

Заказ отмечается оплаченным только после подтверждения Tpay. Tpay отправляет уведомление в ваш магазин; расширение проверяет контрольную сумму MD5 с кодом безопасности, Merchant ID и (если включено) подпись JWS, используя ключи среды, в которой был начат платёж, а затем сумму: она должна равняться сумме, запрошенной для этой попытки оплаты, и сумме заказа, а оплаченная сумма не может быть меньше. Уведомления без правильной контрольной суммы или подписи отклоняются. Затем заказ получает статус стандартным для OpenCart способом, с обычными письмами о заказе и обновлением остатков.

После оплаты покупатель возвращается в ваш магазин. Одно лишь возвращение ничего не отмечает как оплаченное. Если уведомление ещё не пришло, расширение запрашивает у API Tpay статус транзакции (не чаще раза в 10 секунд) и применяет те же проверки. Когда платёж подтверждён, покупатель видит страницу успешного оформления заказа OpenCart. Пока платёж не подтверждён, страница Payment confirmation показывает Tpay has not confirmed your payment yet. If you have paid, refresh this page in a moment. If the payment did not go through, you can try again: с кнопкой Refresh и кнопкой Pay again, которая ведёт обратно к оформлению заказа. Уведомление устанавливает статус заказа, как только приходит. Если заказ ушёл на проверку, страница успеха также показывает Your payment is being verified. We will contact you as soon as it is confirmed.

Если Tpay сообщает, что платёж не прошёл, покупатель возвращается к оформлению заказа с сообщением Tpay reports that the payment did not go through. Please try again or choose another payment method. Если платёж не прошёл на странице Tpay, Tpay возвращает покупателя на страницу оформления заказа. Корзина сохраняется в обоих случаях.

OpenCart 3 создаёт новый заказ каждый раз, когда показывается шаг Confirm Order. OpenCart 4 хранит один заказ для оформления и обновляет его, поэтому Pay again начинает новую попытку того же заказа. Каждая попытка оплаты имеет собственный номер. Когда покупатель платит снова, более ранние неоплаченные транзакции Tpay этого заказа и других заказов той же корзины отменяются в Tpay; платёж, уже прошедший по более раннему ссылке, по-прежнему принимается. Если другой заказ из той же корзины уже оплачен, покупатель переходит на страницу успеха, а не к новому платежу.

В OpenCart 4, если заказ этого оформления был закрыт магазином в это время или уже оплачен, но корзина с тех пор изменилась (в том числе новое количество товара), покупатель возвращается к оформлению заказа с сообщением Your previous order is already closed or paid. Please confirm the order again: the cart will be paid with a new order. Для заказа, который магазин отменил до начала любой оплаты, выводится сообщение Order #… was cancelled by the store before the payment was completed. No Tpay payment was received for it. Please place a new order or contact us. Следующее нажатие Confirm Order оплачивает новый заказ. В OpenCart 4 эти сообщения, сообщение о неудачном платеже и We could not match this payment to an order. If you were charged, please contact us. выводятся над страницей оформления заказа.

Если Tpay не может начать платёж, покупатель остаётся на шаге Confirm Order с сообщением The Tpay payment could not be started. Please try again or choose another payment method., а причина записывается в журнал (если включён Debug log). Другие сообщения: Tpay accepts payments in Polish złoty (PLN) only. Please choose another payment method. и The order total must be greater than zero.

Расширение работает только в PLN. В магазине нет выбора банка или кода BLIK (покупатель выбирает на странице Tpay), нет сохранённых карт, подписок, кнопок Apple Pay или Google Pay в магазине и нет калькуляторов рассрочки.

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

Статусы заказов

Нет статуса (отсутствующий заказ): покупатель был отправлен в Tpay и не оплатил, или Tpay ещё не подтвердил платёж. Неудачный платёж тоже оставляет заказ без статуса. В разделе Sales > Orders такие заказы показываются только с фильтром Order Status, установленным в Missing Orders.

Paid Order Status (default Processing): Tpay подтвердил платёж. Примечание показывает название транзакции Tpay (TR-...), оплаченную сумму, подтверждён ли платёж уведомлением или проверкой статуса, среду и переплату, если она была.

On Hold (Review) Status (default Pending): платёж поступил, но валюта заказа не PLN, его сумма отличалась от запрошенной или от суммы заказа (например, заказ был изменён после начала платежа), оплачена только часть, или платёж пришёл на заказ в статусе Cancelled Order Status. Примечание объясняет причину. Проверьте платёж в панели Tpay и выполните заказ или сделайте возврат. Если покупатель затем оплатит правильную сумму другой попыткой, заказ перейдёт в Paid Order Status.

Refunded Status (default Refunded): платёж полностью возвращён через расширение.

Если Tpay сообщает о другом платеже по заказу, который уже оплачен или возвращён, заказ не меняется; примечание просит при необходимости вернуть лишний платёж в панели Tpay. Платёж за другой заказ уже оплаченной корзины оставляет тот заказ без статуса и отмечается в оплаченном заказе. Неудачный платёж по заказу, который уже имеет статус, возвратный платёж (chargeback) и неизвестный статус Tpay только добавляют примечание.

Примечания — это записи в History заказа, которые покупатель не видит.

Вкладка VibeFox Tpay Payment

В разделе Sales > Orders откройте заказ, оплаченный через Tpay. Внизу страницы заказа, рядом с History и Additional, вкладка VibeFox Tpay Payment показывает название Tpay transaction и Transaction ID, референс платежа (CRC), Environment (метку Sandbox для платежей песочницы), Status платежа и способ подтверждения, оплаченную сумму, Order total / refunded, Refundable (paid through Tpay), если это значение отличается от суммы заказа, форму возврата, историю возвратов, Payment attempts заказа (с пометкой link cancelled для отменённых ссылок) и Payment notes. Вкладка видна пользователям, которые имеют доступ к расширению.

Возвраты

На вкладке введите Amount (подставляется сумма, которая ещё не возвращена), при необходимости Reason (optional, kept in the note), и нажмите Refund via Tpay. Подтвердите вопрос Refund this amount through Tpay? This cannot be undone. Полные и частичные возвраты поддерживаются для заказов, по которым платёж получен через Tpay, включая заказы на проверке. Нужно право изменять расширение (настраивается в System > Users > User Groups). Можно вернуть сумму, которую списала транзакция Tpay, совершившая платёж, но не больше суммы заказа. Возврат отправляется в среду (песочница или боевая), в которой был оплачен заказ, поэтому ключи этой среды должны быть заданы. Возврат считается выполненным только тогда, когда Tpay его подтвердит; отклонённый или не подтверждённый Tpay возврат показывается как ошибка и не регистрируется. Успешный возврат добавляется в историю возвратов и примечания вместе с причиной, которую вы ввели (причина Tpay не передаётся). Возврат всей возвратной суммы устанавливает заказу Refunded Status без уведомления покупателя и без возврата товаров на склад, как ручное изменение статуса. Частичный возврат статус не меняет.

Возвраты товаров в разделе Sales > Returns не возвращают деньги через Tpay. Возвраты, сделанные в панели мерчанта Tpay, в OpenCart автоматически не добавляются.

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

Расширение работает с лицензионным ключом VibeFox с vibefox.net. Блок лицензии License — VibeFox Tpay Payment — это первый блок в разделе Extensions > Extensions > Payments > VibeFox Tpay Payment > Edit, над настройками. Вставьте ключ в поле License key и нажмите Activate. После этого блок показывает ключ в маскированном виде, статус (например, дату, до которой лицензия действительна, и ваш домен) и кнопки Check now для повторной проверки статуса, Change key для ввода другого ключа и Remove key для удаления ключа из этого магазина. Ниже находятся строка Product: opencart-payment-tpay и ссылка 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.

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

Когда лицензия истекает, расширение продолжает работать, но для обновлений и поддержки нужно продление. Статус проверяется снова автоматически при открытии Dashboard или страницы Edit в административной части: раз в сутки в первые 14 дней после ввода ключа, затем раз в неделю. Cron-задание не нужно. При удалении расширения ключ лицензии и статус лицензии удаляются всегда.

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

Tpay не появляется при оформлении заказа: проверьте, что лицензия активна, что Enable/Disable включено и что заполнены все четыре ключа текущего режима (Merchant ID, Client ID, Client secret, Security code). Проверьте, что покупатель платит в PLN, что платёжный адрес находится в выбранной Geo Zone и что заказ достигает Total, заданного в настройках. Страница настроек показывает предупреждение о незаполненных ключах и о валюте магазина, отличной от PLN.

Платёж прошёл, но заказ остался без статуса: Tpay не смог доставить уведомление или оно было отклонено. Включите Debug log и посмотрите поле Log на странице расширения. Частые причины: неверный код безопасности или Merchant ID для среды платежа, заблокированный адрес уведомлений (файрвол, HTTP-аутентификация) или сервер без OpenSSL либо без исходящего HTTPS для проверки JWS. Заказ также получит статус, когда покупатель вернётся в магазин после оплаты.

Notification answered FALSE - invalid checksum: Merchant ID или код безопасности в настройках не совпадают с учётной записью Tpay (песочница или боевая) для этого платежа.

Notification answered FALSE - invalid JWS signature: подпись не удалось проверить, например из-за отсутствия OpenSSL или потому что сертификат Tpay не загружается. Исправьте сервер или при необходимости выключите JWS signature; контрольная сумма MD5 по-прежнему проверяется.

Notification answered FALSE - busy, retry later или FALSE - order could not be updated: корзина в тот же момент обрабатывалась другим запросом, или не удалось установить статус заказа. Tpay повторяет уведомление автоматически. Включите Debug log, чтобы увидеть причину.

URL уведомлений показывает FALSE - POST only in the browser: это нормально. URL принимает только уведомления от Tpay.

Заказ в статусе проверки: прочитайте примечания на вкладке VibeFox Tpay Payment (см. Статусы заказов), проверьте платёж в панели Tpay, затем выполните заказ или сделайте возврат.

Покупатель видел The Tpay payment could not be started: ключи текущего режима неверны или Tpay отклонил запрос. Включите Debug log; в журнале будет видна ошибка Tpay.

Покупатель видел This payment method is not available: сессия оформления больше не соответствует заказу, либо способ оплаты был выключен или потерял ключи. Покупатель перезагружает оформление заказа.

Покупатель видел We could not match this payment to an order: ссылка возврата не относилась к заказу. Если покупатель был списан, уведомление всё равно установит статус заказа; проверьте панель Tpay.

Возврат не проходит: если сообщение говорит, что ключи отсутствуют, введите ключи среды, в которой был оплачен заказ. Если сообщение говорит, что сумма слишком велика, можно вернуть не больше показанной суммы. Если Tpay не подтвердил возврат, проверьте транзакцию в панели мерчанта Tpay, прежде чем повторять попытку. Если вкладка показывает Tpay transaction ID not found., у заказа нет подтверждённого платежа Tpay, который можно вернуть.

Для разработчиков: до создания транзакции Tpay расширение запускает событие OpenCart wc_tp_transaction_data с данными транзакции, заказом и средой.

Удаление

Откройте Extensions > Extensions, выберите тип Payments и нажмите Uninstall (красная кнопка −) рядом с VibeFox Tpay Payment. Ключ лицензии и статус лицензии этого расширения удаляются всегда. OpenCart всегда удаляет собственные настройки расширения: Enable/Disable, Sort Order, Geo Zone, Total и статусы заказов из раздела Orders, которые при повторной установке возвращаются к значениям по умолчанию. Событие OpenCart расширения (в OpenCart 4 также его события и стартовое действие) и кешированные токены доступа Tpay и сертификаты всегда удаляются. Если Delete data on uninstall включено, удаляются также остальные настройки шлюза (название, описание, песочница, ключи, подпись JWS, переключатель журнала отладки) и журнал. Если выключено, они сохраняются для повторной установки. Транзакции и возвраты Tpay всегда сохраняются, поэтому заказы, оплаченные раньше, можно вернуть и после повторной установки. Существующие заказы сохраняют свои платёжные примечания.

В OpenCart 4, чтобы удалить и файлы расширения, после удаления перейдите в Extensions > Installer, нажмите Uninstall (оранжевая кнопка −) рядом с VibeFox Tpay Payment в списке установленных расширений, затем Delete (красная кнопка с корзиной), чтобы удалить загруженный пакет.

Tpay — товарный знак его правообладателя. Это расширение не связано с Tpay и не одобрено компанией Tpay.