Merge branch 'master' into release
# Conflicts: # README.md # modules/gateways/callback/payanyway.php # modules/gateways/payanyway.php
This commit is contained in:
commit
c3f7257472
56
README.md
56
README.md
@ -1,6 +1,5 @@
|
|||||||
# 🌟 Платёжный модуль PayAnyWay для WHMCS
|
# 🌟 Платёжный модуль PayAnyWay для WHMCS
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||

|

|
||||||

|

|
||||||
@ -12,32 +11,33 @@ WHMCS предоставляет мощный функционал, которы
|
|||||||
> Данный модуль работает **только с валютой RUB (Российский рубль)**.
|
> Данный модуль работает **только с валютой RUB (Российский рубль)**.
|
||||||
> Перед активацией модуля убедитесь, что в WHMCS в качестве базовой валюты установлен RUB, либо у пользователя выбран счёт в RUB. Использование других валют не поддерживается.
|
> Перед активацией модуля убедитесь, что в WHMCS в качестве базовой валюты установлен RUB, либо у пользователя выбран счёт в RUB. Использование других валют не поддерживается.
|
||||||
|
|
||||||
> **📦 Версия модуля: 1.1.0**
|
> **📦 Версия модуля: 1.0.0**
|
||||||
|
|
||||||
## 🏗️ Структура модуля
|
## 🏗️ Структура модуля
|
||||||
|
|
||||||
```
|
```
|
||||||
└── modules
|
├── modules
|
||||||
└── gateways
|
│ └── gateways
|
||||||
├── callback
|
│ ├── callback
|
||||||
│ └── payanyway.php
|
│ │ └── payanyway.php
|
||||||
└── payanyway.php
|
│ └── payanyway.php
|
||||||
|
└── README.md
|
||||||
```
|
```
|
||||||
|
|
||||||
## 🚀 Установка и настройка модуля
|
## 🚀 Установка и настройка модуля
|
||||||
|
|
||||||
1. 📥 [Скачайте архив модуля](https://www.payanyway.ru/info/public/cms/whmcs.zip) и распакуйте его.
|
1. 📥 [Скачайте архив модуля](https://git.pub.moneta.ru/CMS/WHMCS/releases) и распакуйте его.
|
||||||
2. 📂 Скопируйте содержимое архива в корень сайта.
|
2. 📂 Скопируйте содержимое архива в корень сайта.
|
||||||
3. ⚙️ В списке модулей оплаты WHMCS найдите **PayAnyWay** и активируйте его.
|
3. ⚙️ В списке модулей оплаты WHMCS найдите **PayAnyWay** и активируйте его.
|
||||||
4. ✏️ Заполните соответствующие поля в настройках способа оплаты:
|
4. ✏️ Заполните соответствующие поля в настройках способа оплаты:
|
||||||
|
|
||||||
| Поле | Значение |
|
| Поле | Значение |
|
||||||
|------|----------|
|
|-----------------------------------------|----------------------------------------------------------------|
|
||||||
| **Show on Order Form** | ✅ Поставить галочку |
|
| **Show on Order Form** | ✅ Поставить галочку |
|
||||||
| **Display Name** | `PayAnyWay` |
|
| **Display Name** | `PayAnyWay` |
|
||||||
| **Account Number** | Номер расширенного счета в PayAnyWay (Moneta) |
|
| **Account Number** | Номер расширенного счета в PayAnyWay (Moneta) |
|
||||||
| **Code of data integrity verification** | Код проверки целостности данных из настроек расширенного счета |
|
| **Code of data integrity verification** | Код проверки целостности данных из настроек расширенного счета |
|
||||||
| **Test Mode** | ❌ Галочку **не** ставить |
|
| **Test Mode** | ❌ Галочку **не** ставить |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -47,20 +47,20 @@ WHMCS предоставляет мощный функционал, которы
|
|||||||
|
|
||||||
2. ⚙️ Заполните настройки расширенного счета (раздел **«Мой счет» → «Управление счетами» → «Редактировать счет»**):
|
2. ⚙️ Заполните настройки расширенного счета (раздел **«Мой счет» → «Управление счетами» → «Редактировать счет»**):
|
||||||
|
|
||||||
| Параметр | Значение |
|
| Параметр | Значение |
|
||||||
|----------|----------|
|
|------------------------------------------|------------------------------------------------------------------|
|
||||||
| **Тестовый режим** | `Нет` |
|
| **Тестовый режим** | `Нет` |
|
||||||
| **Check URL** | `https://your_site_name/modules/gateways/callback/payanyway.php` |
|
| **Check URL** | `https://your_site_name/modules/gateways/callback/payanyway.php` |
|
||||||
| **Pay URL** | `https://your_site_name/modules/gateways/callback/payanyway.php` |
|
| **Pay URL** | `https://your_site_name/modules/gateways/callback/payanyway.php` |
|
||||||
| **HTTP method** | `GET` / `POST` |
|
| **HTTP method** | `GET` / `POST` |
|
||||||
| **Проверить Check/Pay URL** | `Нет` |
|
| **Проверить Check/Pay URL** | `Нет` |
|
||||||
| **Можно переопределять настройки в URL** | `Да` |
|
| **Можно переопределять настройки в URL** | `Да` |
|
||||||
| **Подпись формы оплаты обязательна** | `Да` |
|
| **Подпись формы оплаты обязательна** | `Да` |
|
||||||
| **Код проверки целостности данных** | `ваш_код` (произвольный набор символов) |
|
| **Код проверки целостности данных** | `ваш_код` (произвольный набор символов) |
|
||||||
| **Success URL** | Оставить пустым |
|
| **Success URL** | Оставить пустым |
|
||||||
| **Fail URL** | Оставить пустым |
|
| **Fail URL** | Оставить пустым |
|
||||||
| **InProgress URL** | Оставить пустым |
|
| **InProgress URL** | Оставить пустым |
|
||||||
| **Return URL** | Оставить пустым |
|
| **Return URL** | Оставить пустым |
|
||||||
|
|
||||||
> ⚠️ **Важно!** Для кириллического домена PayURL и CheckURL должны быть указаны в кодировке [Punycode](https://2ip.ru/punycode/).
|
> ⚠️ **Важно!** Для кириллического домена PayURL и CheckURL должны быть указаны в кодировке [Punycode](https://2ip.ru/punycode/).
|
||||||
|
|
||||||
|
|||||||
@ -16,26 +16,20 @@ require_once __DIR__ . '/../../../includes/invoicefunctions.php';
|
|||||||
require_once __DIR__ . '/../payanyway.php';
|
require_once __DIR__ . '/../payanyway.php';
|
||||||
|
|
||||||
$requestData = ($_SERVER['REQUEST_METHOD'] === 'POST') ? $_POST : $_GET;
|
$requestData = ($_SERVER['REQUEST_METHOD'] === 'POST') ? $_POST : $_GET;
|
||||||
|
$gatewayModuleName = 'payanyway';
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$gatewayModuleName = 'payanyway';
|
|
||||||
$gatewayParams = getGatewayVariables($gatewayModuleName);
|
$gatewayParams = getGatewayVariables($gatewayModuleName);
|
||||||
if (!$gatewayParams['type']) {
|
if (!$gatewayParams || !isset($gatewayParams['type'])) {
|
||||||
payanyway_sendResponse('FAIL', 500); // Module Not Activated
|
payanyway_sendResponse('FAIL');
|
||||||
}
|
}
|
||||||
|
|
||||||
$gatewayName = payanyway_getWhmcsVariableOrFail($gatewayParams, 'name');
|
|
||||||
$integrityCode = payanyway_getPayAnyWayIntegrityCodeOrFail($gatewayParams);
|
|
||||||
|
|
||||||
$callbackData = payanyway_getCallbackData($requestData);
|
$callbackData = payanyway_getCallbackData($requestData);
|
||||||
|
|
||||||
('CHECK' === $callbackData['MNT_COMMAND'])
|
(isset($callbackData['MNT_COMMAND'])) && ('CHECK' === $callbackData['MNT_COMMAND'])
|
||||||
? payanyway_handleCheckCallback($callbackData, $gatewayName, $integrityCode)
|
? payanyway_handleCheckCallback($callbackData, $gatewayParams)
|
||||||
: payanyway_handlePayCallback($callbackData, $gatewayName, $integrityCode, $gatewayModuleName);
|
: payanyway_handlePayCallback($callbackData, $gatewayParams, $gatewayModuleName);
|
||||||
} catch (\PayAnyWayException $e) {
|
|
||||||
logTransaction($gatewayModuleName, $requestData, 'Error: ' . $e->getMessage());
|
|
||||||
payanyway_sendResponse('FAIL', 500);
|
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
logTransaction($gatewayModuleName, $requestData, 'Error: ' . $e->getMessage());
|
logTransaction($gatewayModuleName, $requestData, 'Error: ' . $e->getMessage());
|
||||||
payanyway_sendResponse('FAIL', 500);
|
payanyway_sendResponse('FAIL');
|
||||||
}
|
}
|
||||||
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user