VibeFox iPay88 for OpenCart — Помощь
Требования
OpenCart: 3.0.x (проверено на 3.0.5.0) или 4.0.2 и новее (проверено на 4.1.0.3).
PHP: 8.0 или новее.
Учётная запись мерчанта iPay88: Merchant Code и Merchant Key выдаёт iPay88 после активации вашей учётной записи мерчанта. Их также можно посмотреть в портале мерчанта iPay88. Если вы ещё не мерчант, подайте заявку на сайте iPay88. Держите Merchant Key в секрете: им подписываются платежи. У iPay88 нет отдельной песочницы, поэтому тестовых ключей нет.
Request URL: адрес вашего сайта должен быть зарегистрирован в iPay88 как request URL. Иначе страница iPay88 покажет «Permission not allow».
Валюта: Малайзия — MYR, а также USD, SGD, AUD, CAD, EUR, GBP, HKD, CNY, TWD, INR, IDR, PHP или THB, если на вашей учётной записи iPay88 включена опция мультивалютности; Филиппины — PHP или USD; Индонезия — IDR; Таиланд — THB. Если валюту оформления заказа покупателя нельзя списать в вашем регионе, способ оплаты скрывается на странице оформления заказа.
Лицензионный ключ VibeFox: покупается на vibefox.net. Один ключ работает на одном домене.
Установка
Архив для загрузки — один zip-файл с пакетами для обеих версий OpenCart. Распакуйте его на компьютере. Он содержит README.txt, пакет для OpenCart 3 wcp_ipay88_payment-oc3-(version).ocmod.zip и пакет для OpenCart 4 wcp_ipay88_payment.ocmod.zip. Установите только пакет для вашей версии OpenCart. Лицензионный ключ один и тот же для обеих версий.
OpenCart 3
1. В административной части откройте Extensions > Installer, нажмите Upload и выберите файл wcp_ipay88_payment-oc3-(version).ocmod.zip. Расширение не содержит модификаций OCMOD, поэтому обновлять Extensions > Modifications не нужно. Вместо установщика можно скопировать содержимое папки upload из этого пакета в корневую папку магазина.
2. Перейдите в Extensions > Extensions и выберите тип Payments. Найдите VibeFox iPay88 Payment и нажмите Install (зелёная кнопка +). Администратору нужно право на изменение списка платёжных расширений.
3. Нажмите Edit (кнопка с карандашом), чтобы открыть страницу настроек. Вставьте лицензионный ключ VibeFox в поле License key в блоке лицензии вверху страницы и нажмите Activate (см. Лицензионный ключ).
4. Выберите iPay88 region, введите Merchant Code и Merchant Key, включите Enable/Disable и нажмите Save.
5. Чтобы проверить настройку, выполните оплату с включённым Test mode, затем выключите тестовый режим.
OpenCart 4
1. В административной части откройте Extensions > Installer, нажмите Upload и выберите файл wcp_ipay88_payment.ocmod.zip. Не переименовывайте файл: OpenCart 4 берёт код расширения из имени файла, и переименованный пакет не работает.
2. Пакет появится в списке установленных расширений на той же странице. Нажмите рядом с ним Install (зелёная кнопка +).
3. Перейдите в Extensions > Extensions и выберите тип Payments. Найдите VibeFox iPay88 Payment, нажмите Install (зелёная кнопка +), затем Edit (кнопка с карандашом).
4. Введите лицензионный ключ и настройки iPay88 так же, как в шагах 3–5 для OpenCart 3. Страница настроек и её поля одинаковы в обеих версиях. Отличаются только Response и backend URL (см. Response и backend URL).
После новой установки способ оплаты выключен. Response и backend URL передаются с каждым платежом, поэтому настраивать их в iPay88 не нужно.
Настройка
Все настройки находятся на странице расширения: Extensions > Extensions > Payments > VibeFox iPay88 Payment > Edit. Разделы перечислены слева; кнопка Save под списком сохраняет всю страницу. Над настройками страница показывает Enter the iPay88 Merchant Code and Merchant Key — until then the payment method is not shown at checkout., пока не заполнен один из ключей, предупреждение, если валюту магазина по умолчанию нельзя списать в выбранном регионе (тогда способ оплаты скрывается на странице оформления заказа для этой валюты), и предупреждение, пока включён тестовый режим. Без права на изменение расширения страница показывает настройки, но не может их сохранить.
При сохранении Title не может быть длиннее 128 символов, Sort Order должен быть целым числом, Total — числом не меньше 0, а выбранная геозона и статусы заказов должны существовать. В противном случае ничего не сохраняется, а в ошибке указывается поле. Поля iPay88 никогда не блокируют сохранение.
iPay88
Enable/Disable: Enable iPay88 Payment Gateway включает или выключает способ оплаты. По умолчанию: выключено.
Title: название способа оплаты, которое видит покупатель на странице оформления заказа. Оно же сохраняется в заказе как название способа оплаты. По умолчанию: iPay88. До 128 символов; если оставить поле пустым, покупатели увидят iPay88.
Description: текст, который покупатель видит на шаге Confirm Order над кнопкой подтверждения. По умолчанию: Pay securely via iPay88 (credit card, online banking, e-wallet).
Sort Order: позиция iPay88 среди способов оплаты на странице оформления заказа. Оставьте поле пустым или введите целое число.
Geo Zone: предлагать iPay88 только для платёжных адресов в выбранной геозоне. По умолчанию: All zones. Геозоны настраиваются в разделе System > Localisation > Geo Zones.
Total: сумма заказа в валюте магазина по умолчанию, которую заказ должен достичь, прежде чем будет предложен iPay88. Оставьте поле пустым, чтобы предлагать iPay88 при любой сумме.
Учётная запись iPay88
iPay88 region: страна вашей учётной записи мерчанта iPay88. Она определяет страницу оплаты iPay88 и валюты, которые можно списывать. Заказ всегда списывается в своей валюте. По умолчанию: Malaysia.
Merchant Code: ваш Merchant Code iPay88, например M01234.
Merchant Key: ваш Merchant Key iPay88. Им подписываются запросы на оплату и проверяются ответы iPay88. Держите его в секрете. Пробелы в начале и в конце удаляются при сохранении. Сохранённый ключ больше не показывается: поле остаётся пустым и выводит Saved — leave empty to keep it. Вводите новое значение, только если хотите его изменить. Чтобы удалить сохранённый ключ, отметьте Clear the saved Merchant Key on save и нажмите Save.
Signature type: способ подписи запросов на оплату. Ответы проверяются в обоих форматах, поэтому платежи, начатые до переключения, остаются проверяемыми.
Оплата
Payment method: заранее выберите один из способов оплаты iPay88 из малайзийского списка PaymentId или оставьте Let the customer choose on the iPay88 page (по умолчанию). Список включает Credit Card (MYR), FPX (Online Banking), Maybank2U, Alliance Online, AmBank, RHB Bank, Hong Leong Bank, CIMB Clicks, Web Cash, PayPal (MYR), Credit Card (PHP), Boost, Touch n Go eWallet, GrabPay и ShopeePay.
Reference prefix: необязательно. Добавляется перед номером заказа в ссылке iPay88 (RefNo), например SHOP1-. Используйте разные префиксы в каждом магазине, который работает с одним аккаунтом iPay88, чтобы ответ одного магазина никогда не применялся к заказу другого. Допускаются буквы, цифры, «-» и «_», до 10 символов. Прочие символы удаляются при сохранении, а префикс, оканчивающийся цифрой, получает «-» в конце, потому что номер заказа читается с конца RefNo. Страница покажет предупреждение с сохранённым значением.
Test mode: списывает фиксированную тестовую сумму вместо суммы заказа. У iPay88 нет отдельной песочницы: тестовые платежи — реальные транзакции на боевой странице оплаты iPay88 на небольшую сумму (1,00; IDR 10 000). Заказ отмечается оплаченным, когда получена тестовая сумма, и примечание к заказу сообщает об этом. Пока тестовый режим включён, покупатели на шаге Confirm Order видят TEST MODE: only a test amount of ... will be charged. Платёж, начатый в тестовом режиме, всегда проверяется по тестовой сумме, даже если вы выключите тестовый режим до ответа iPay88. Никогда не оставляйте тестовый режим включённым в боевом магазине. По умолчанию: выключено.
Response и backend URL
Расширение передаёт оба URL с каждым платежом, поэтому их настраивать не нужно. Если iPay88 запросит их, скопируйте из этого раздела. В OpenCart 3 они выглядят так: https://your-store/index.php?route=extension/payment/wcp_ipay88_payment/back (Response URL, возврат покупателя) и https://your-store/index.php?route=extension/payment/wcp_ipay88_payment/backend (Backend URL, серверное уведомление от сервера к серверу), в OpenCart 4 — так: https://your-store/index.php?route=extension/wcp_ipay88_payment/payment/wcp_ipay_88payment.back и https://your-store/index.php?route=extension/wcp_ipay88_payment/payment/wcp_ipay_88payment.backend. В разделе также показан адрес вашего сайта, который должен быть зарегистрирован в iPay88 как request URL.
Оба ответа iPay88 проверяются одинаково: обязательные поля, подпись, вычисленная вашим Merchant Key, и ссылка на платёж, который этот магазин начал для данного заказа. Ответы без действительной подписи отклоняются и никогда не меняют заказ. Серверное уведомление получает ответ RECEIVEOK только после обработки; иначе iPay88 отправит его повторно. Оно также работает, когда магазин находится в режиме обслуживания: OpenCart 3 пропускает запросы платёжных расширений, а в OpenCart 4 расширение добавляет стартовое действие (startup action), которое пропускает подписанное серверное уведомление и возврат покупателя. iPay88 сообщает такие статусы платежа:
Заказы
OpenCart создаёт заказ на шаге Confirm Order без статуса (отсутствующий заказ, missing order). Заказ получает статус только после того, как iPay88 отправит корректно подписанный ответ. Неудачный или отменённый платёж оставляет заказ без статуса; покупатель возвращается к оформлению заказа с сохранённой корзиной. Каждое поле ниже перечисляет ваши статусы заказов OpenCart.
Order Status After Payment: успешный платёж (статус iPay88 1) с ожидаемыми суммой и валютой. По умолчанию: Processing.
Awaiting Payment Status: ожидающий платёж (статус 6), например перевод через банкомат или виртуальный счёт, который покупатель ещё не выполнил. Заказ переходит в статус после оплаты, когда iPay88 подтверждает платёж. По умолчанию: Pending.
On Hold (Review) Status: iPay88 сообщил об успешном платеже, но с другой суммой или валютой, чем у заказа, либо для заказа, который был отменён. Примечание показывает подробности; заказ не отмечается оплаченным. По умолчанию: Pending, так как в OpenCart нет статуса On hold. Вы можете создать собственный статус в разделе System > Localisation > Order Statuses и выбрать его здесь.
Failed Payment Status: ожидающий платёж (статус 6), который затем iPay88 сообщил как неудачный (статус 0). По умолчанию: Failed.
Cancelled Order Status: статус, который ваш магазин использует для отменённых заказов. Платёж, полученный для такого заказа, переводит его в статус проверки вместо отметки об оплате. Расширение никогда не устанавливает этот статус сам. По умолчанию: Canceled.
Дополнительно
Debug log: записывает запросы на оплату и ответы iPay88 в файл ipay88_p_debug.log.php в папке логов OpenCart (storage/logs). Файл нельзя открыть через веб. Персональные данные, Merchant Key и подписи не записываются. Ошибки и предупреждения записываются всегда, даже когда переключатель выключен. По умолчанию: выключено.
Log: показывает размер и последние записи журнала. Нажмите Clear log, чтобы очистить его.
Delete data on uninstall: если включено, при удалении расширения удаляются настройки и журнал. Заказы и записи о платежах iPay88 никогда не удаляются, поэтому поздний ответ по старому платежу обрабатывается и после повторной установки. По умолчанию: выключено.
Импорт / Экспорт
Export: Download JSON сохраняет настройки в JSON-файл. Merchant Key не экспортируется.
Import: вставьте ранее экспортированный JSON и нажмите Import, чтобы восстановить настройки. Сохранённый Merchant Key сохраняется.
Оформление заказа
На шаге Payment Method покупатель выбирает способ оплаты (по умолчанию iPay88). На шаге Confirm Order покупатель видит ваше описание. OpenCart создаёт заказ на этом шаге, по-прежнему без статуса. Когда покупатель нажимает Confirm Order, шаг показывает Redirecting to iPay88 payment gateway... и Please do not close this window., пока подписанная форма отправляется на страницу оплаты iPay88 вашего региона. Если браузер не отправляет её автоматически, покупатель нажимает Pay Now. Расширение передаёт сумму заказа в валюте заказа (в тестовом режиме — тестовую сумму), названия товаров, имя, e-mail и телефон покупателя. На странице iPay88 покупатель платит картой, через интернет-банкинг FPX, электронный кошелёк или другой способ, который предлагает ваш аккаунт.
На OpenCart 4 покупатель выбирает способ оплаты кнопкой Choose в блоке способа оплаты, в окне Payment method options, и нажимает Confirm Order внизу страницы оформления заказа. По умолчанию OpenCart 4 не запрашивает телефон на оформлении заказа, но iPay88 его требует: если в заказе нет телефона, на шаге подтверждения появляется обязательное поле Phone с сообщением iPay88 requires the contact number of the payer. Без номера покупатель видит iPay88 requires a phone number. Please enter your phone number and try again. Введённый номер сохраняется для следующей попытки.
Заказ отмечается оплаченным только после того, как iPay88 подтвердит платёж подписанным ответом — либо при возврате покупателя, либо через серверное уведомление. Затем заказ получает статус стандартным для OpenCart способом, с обычными письмами о заказе и обновлением остатков. После успешной оплаты покупатель видит страницу успешного оформления заказа OpenCart с сообщением Your iPay88 payment has been received. Для ожидающего платежа страница показывает Your payment is pending confirmation from iPay88. We will update your order as soon as the payment is confirmed. Для заказа на проверке — We have received a payment notification from iPay88 and are reviewing it. We will contact you if anything is needed. Когда ожидающий платёж позже подтверждается или не проходит, OpenCart сообщает покупателю новый статус.
Если заказ в это же время подтверждается серверным уведомлением, покупатель видит We have not received the payment confirmation from iPay88 yet. If you completed the payment, your order will be updated shortly. с кнопками Check again и Back to checkout.
Если платёж не прошёл или был отменён, заказ остаётся без статуса, а корзина сохраняется. Покупатель возвращается к оформлению заказа с сообщением The payment was not completed: и причиной от iPay88, после чего следует You can try again or choose another payment method. На OpenCart 4 это сообщение показывается над страницей оформления заказа. OpenCart 3 создаёт новый заказ, а значит и новый RefNo, каждый раз, когда показывается шаг Confirm Order; OpenCart 4 обновляет заказ оформления, поэтому покупатель оплачивает тот же заказ снова. Повторная попытка того же заказа использует тот же RefNo. Если ответ невозможно проверить, покупатель видит The payment response could not be verified. If you completed the payment, please contact us with your order number — the payment will be checked manually. с кнопкой Return to the store.
Если платёж нельзя начать, покупатель остаётся на шаге Confirm Order с сообщением This payment method is temporarily unavailable. Please choose another payment method. (ключи не заполнены или сумма равна нулю) или iPay88 cannot accept payments in ... Please choose another payment method. (валюту нельзя списать в регионе). Одна корзина оплачивается только один раз: если другой заказ из этой же корзины уже оплачен или ждёт ожидающего платежа, второе платёжное окно не создаётся, и покупатель переходит на страницу успешного оформления заказа. Изменение корзины, включая новое количество, считается новой корзиной, которой нужна собственная оплата.
OpenCart 4 сохраняет заказ в оформлении до показа страницы успеха. Если за это время заказ был закрыт без оплаты (например, ожидающий перевод не прошёл или вы отменили заказ), покупатель возвращается к оформлению с сообщением Your previous order was cancelled without a payment. Please confirm the order again to pay with a new order. Если заказ уже оформлен, а корзина изменилась, появляется сообщение Your previous order #(number) has already been placed. Your cart has changed: please confirm the new order to pay for it. В обоих случаях следующее нажатие Confirm Order оплачивает новый заказ из корзины.
Расширение принимает только разовые платежи. Оно не поддерживает возвраты из OpenCart, сохранённые карты, подписки, предавторизацию и списание, а также поля карты на вашем сайте. Оно не запрашивает у iPay88 статус платежа повторно: заказы обновляются только по ответу iPay88 и серверному уведомлению.
Заказы
Статусы заказов
No status (missing order): покупатель был отправлен в iPay88, и результат ещё не пришёл, либо платёж не прошёл. В разделе Sales > Orders такие заказы видны только с фильтром Order Status, установленным на Missing Orders.
Order Status After Payment (default Processing): iPay88 сообщил об успешном платеже с ожидаемыми суммой и валютой. Примечание показывает TransID, PaymentID, сумму и валюту. В тестовом режиме второе примечание сообщает, что списана тестовая сумма вместо суммы заказа.
Awaiting Payment Status (default Pending): iPay88 сообщил, что платёж ожидает. Заказ переходит в Order Status After Payment, когда iPay88 подтверждает платёж, или в Failed Payment Status, если он не проходит.
Failed Payment Status (default Failed): ожидавший платёж затем не прошёл. Примечание показывает причину от iPay88. Покупатель может оформить новый заказ.
On Hold (Review) Status (default Pending): iPay88 сообщил об успешном платеже с суммой или валютой, отличными от заказа, либо платёж поступил после отмены заказа. Заказ НЕ был отмечен оплаченным. Примечание объясняет это. Проверьте платёж в портале iPay88 и выполните заказ или сделайте возврат платежа.
Оплаченный или завершённый заказ никогда не меняется по более позднему ответу. Если для него или для другого заказа из той же корзины поступает ещё один успешный платёж, примечание просит проверить его в портале iPay88 и вернуть, если это дубликат. Ответ о неудаче никогда не меняет оплаченный, отменённый или находящийся на проверке заказ. Повторные ответы ничего нового не добавляют.
Примечания — это записи в History заказа, которые покупатель не видит.
Вкладка VibeFox iPay88 Payment
В разделе Sales > Orders откройте заказ, оплаченный через iPay88. Внизу страницы заказа, рядом с History и Additional, вкладка VibeFox iPay88 Payment показывает RefNo, TransId, Status, запрошенную сумму (Requested), Amount received, PaymentId, AuthCode, Error и Region, метку TEST MODE для тестовых платежей и iPay88 notes заказа. Вкладка показывается пользователям, имеющим доступ к расширению.
Возвраты
Возвраты из OpenCart в iPay88 не отправляются. Выполните возврат платежа в портале мерчанта iPay88, а затем вручную зафиксируйте возврат в OpenCart.
Лицензионный ключ
Расширение работает с лицензионным ключом VibeFox, полученным на vibefox.net. Блок лицензии License — VibeFox iPay88 Payment — первый блок на странице Extensions > Extensions > Payments > VibeFox iPay88 Payment > Edit, над настройками. Вставьте ключ в поле License key и нажмите Activate. После этого блок показывает ключ в маскированном виде, статус (например, дату, до которой действует лицензия, и ваш домен), а также кнопки Check now для повторной проверки статуса, Change key для ввода другого ключа и Remove key для удаления ключа из этого магазина. Ниже находятся строка Product: opencart-payment-ipay88 и ссылка 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.
Без активного ключа iPay88 не показывается покупателям на оформлении заказа. Если оплата всё же начата, покупатель видит This payment method is not available. Please choose another one. Администратор, вошедший в административную часть в том же браузере, по-прежнему видит способ оплаты в магазине с пометкой (unlicensed — visible to admins only), чтобы вы могли настроить и проверить расширение до покупки ключа. На OpenCart 4 этот предпросмотр недоступен: магазин не видит вход администратора, поэтому без активного ключа способ оплаты скрыт для всех. После однократного открытия страницы Edit на Dashboard администратора появляется напоминание. Закройте его кнопкой ×, чтобы скрыть на 7 дней. Существующие заказы не затрагиваются: уже начатые платежи по-прежнему подтверждаются.
Когда срок лицензии истекает, расширение продолжает работать, но для обновлений и поддержки нужно продление. Статус проверяется снова автоматически при открытии административного Dashboard или страницы Edit: раз в сутки в первые 14 дней после ввода ключа, затем раз в неделю. Cron-задание не требуется. При удалении расширения лицензионный ключ и статус лицензии всегда удаляются.
Устранение неполадок
iPay88 не появляется на оформлении заказа: проверьте, что лицензия активна, Enable/Disable включён, заполнены Merchant Code и Merchant Key, а валюта оформления заказа покупателя может быть списана в выбранном iPay88 region. Страница настроек показывает предупреждение, если что-то не заполнено. Также проверьте, что платёжный адрес входит в выбранную Geo Zone и что сумма заказа достигает Total, заданного в настройках.
Платёж прошёл, но заказ остаётся без статуса: ни возврат покупателя, ни серверное уведомление не дошли до магазина с корректной подписью. Посмотрите поле Log: ошибки записываются всегда. Проверьте, что Merchant Key в точности совпадает с выданным iPay88, и что ваш сервер принимает запросы от iPay88 по Backend URL, указанному в настройках.
Страница iPay88 показывает «Permission not allow»: адрес вашего сайта не зарегистрирован в iPay88 как request URL. Попросите iPay88 зарегистрировать адрес, показанный в разделе Response и backend URL.
Серверное уведомление отвечает BAD SIGNATURE: подпись не совпадает с Merchant Key. Проверьте Merchant Key. Ничего не изменилось.
Серверное уведомление отвечает NOT CONFIGURED: Merchant Code или Merchant Key не заданы, поэтому ответ невозможно проверить. iPay88 отправит уведомление повторно.
Серверное уведомление отвечает UNKNOWN ORDER: для этой ссылки в этом магазине не начинался ни один платёж iPay88, например потому, что другой магазин с тем же аккаунтом не использует Reference prefix или использует тот же самый.
Серверное уведомление отвечает RETRY: заказ (или другой заказ из той же корзины) в это же время подтверждался возвратом покупателя или другим уведомлением, либо не удалось установить статус заказа. iPay88 отправит уведомление повторно.
Backend URL в браузере показывает BAD REQUEST: это нормально. URL принимает только подписанные запросы от iPay88.
Заказ в On Hold (Review) Status: iPay88 сообщил о платеже, который не соответствует заказу, или заказ был отменён. Прочитайте примечания на вкладке VibeFox iPay88 Payment и проверьте платёж в портале iPay88, затем завершите заказ или верните платёж.
Покупатель видит «iPay88 cannot accept payments in» и название валюты: валюту оформления заказа нельзя списать в выбранном регионе. В iPay88 Малайзия валюты, отличные от MYR, также требуют опции мультивалютности на вашем аккаунте iPay88.
Покупатель видит This payment method is not available. Please reload the checkout page.: сессия оформления больше не соответствует заказу, либо способ оплаты был отключён. Покупатель перезагружает страницу оформления.
Реальные покупатели списываются только 1,00: включён Test mode. Выключите его.
Удаление
Перейдите в Extensions > Extensions, выберите тип Payments и нажмите Uninstall (красная кнопка −) рядом с VibeFox iPay88 Payment. Лицензионный ключ и статус лицензии этого расширения всегда удаляются. OpenCart всегда удаляет собственные настройки расширения: Enable/Disable, Sort Order, Geo Zone, Total и статусы заказов из раздела Orders, которые при повторной установке возвращаются к значениям по умолчанию. Также удаляется событие OpenCart расширения (на OpenCart 4 также его события и стартовое действие (startup action), которое пропускает ответы iPay88 в режиме обслуживания). Если Delete data on uninstall включено, удаляются остальные настройки (название, описание, регион, Merchant Code и Key, тип подписи, способ оплаты, префикс, тестовый режим, переключатель журнала отладки) и журнал. Если выключено, они сохраняются для повторной установки. Записи о платежах iPay88 по заказам всегда сохраняются. Заказы никогда не удаляются и сохраняют свои платёжные примечания.
На OpenCart 4, чтобы удалить также файлы расширения, после удаления перейдите в Extensions > Installer и нажмите Uninstall (оранжевая кнопка −) рядом с VibeFox iPay88 Payment в списке установленных расширений, затем Delete (красная кнопка с корзиной), чтобы удалить загруженный пакет.
iPay88 — товарный знак его правообладателя. Это расширение не связано с iPay88 и не одобрено iPay88.
