Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
Порівняння попередніх версій Попередня ревізія Наступна ревізія | Попередня ревізія Наступна ревізія По сторонах наступні версії | ||
openpayz [2023/01/18 19:30] nightfly |
openpayz [2024/03/25 12:37] nightfly [Логін + угода] |
||
---|---|---|---|
Рядок 38: | Рядок 38: | ||
| [[http:// | | [[http:// | ||
| [[http:// | | [[http:// | ||
- | | [[https:// | + | | [[https:// |
| [[http:// | | [[http:// | ||
| [[https:// | | [[https:// | ||
Рядок 49: | Рядок 49: | ||
| [[https:// | | [[https:// | ||
| [[https:// | | [[https:// | ||
+ | | [[https:// | ||
===== Як це працює? | ===== Як це працює? | ||
- | В цілому якось так:\\ | ||
- | {{: | + | В цілому якось так: |
+ | |||
+ | {{: | ||
З чого випливає, | З чого випливає, | ||
Рядок 129: | Рядок 132: | ||
**Увага: | **Увага: | ||
\\ | \\ | ||
+ | |||
+ | ===== Режим високої продуктивності ===== | ||
+ | При ввімкненні опції | ||
+ | <code ini> | ||
+ | OP_HIGHLOAD_ENABLE=1 | ||
+ | </ | ||
+ | |||
+ | вся обробка транзакцій перестає здійснюватися вбудованими у фронтенди викликами op_ProcessHandlers і повинна бути винесена в окремий воркер op_WorkerPaymentsProceed, | ||
+ | |||
+ | <code bash> | ||
+ | */2 * * * * / | ||
+ | </ | ||
+ | |||
+ | Слід також зауважити, | ||
===== Альтернативні Платіжні ID ===== | ===== Альтернативні Платіжні ID ===== | ||
Рядок 134: | Рядок 151: | ||
В деяких, | В деяких, | ||
- | Рекомендований | + | ==== Рекомендований за замовчуванням |
<file sql op_customers_crc32_full.sql> | <file sql op_customers_crc32_full.sql> | ||
CREATE OR REPLACE VIEW op_customers (realid, | CREATE OR REPLACE VIEW op_customers (realid, | ||
</ | </ | ||
- | Ну або він же але трішечки швидший за рахунок ігнорування заборон. | + | ==== Без заборон ==== |
+ | власне все той же за замовчуванням, але з ігноруванням заборон | ||
<file sql op_customers_crc32_fast.sql> | <file sql op_customers_crc32_fast.sql> | ||
-- transform users.login -> crc32(users.login); | -- transform users.login -> crc32(users.login); | ||
Рядок 145: | Рядок 164: | ||
</ | </ | ||
+ | ==== Використовуємо IP ==== | ||
Або якось так, для використання IP адрес користувачів у вигляді INT | Або якось так, для використання IP адрес користувачів у вигляді INT | ||
<file sql op_customers_aton.sql> | <file sql op_customers_aton.sql> | ||
Рядок 151: | Рядок 171: | ||
</ | </ | ||
+ | ==== Використовуємо логіни ==== | ||
Або якось так, у випадку якщо у вас повністю цифрові логіни користувачів: | Або якось так, у випадку якщо у вас повністю цифрові логіни користувачів: | ||
<file sql op_customers_login.sql> | <file sql op_customers_login.sql> | ||
Рядок 157: | Рядок 178: | ||
</ | </ | ||
+ | ==== Використовуємо угоди ==== | ||
Або якось так, якщо ви впевнені, | Або якось так, якщо ви впевнені, | ||
<file sql op_customers_contract.sql> | <file sql op_customers_contract.sql> | ||
Рядок 163: | Рядок 185: | ||
</ | </ | ||
+ | ==== Непорожні угоди ==== | ||
Можна якось так, якщо ви впевнені, | Можна якось так, якщо ви впевнені, | ||
<file sql op_customers_login_contract2.sql> | <file sql op_customers_login_contract2.sql> | ||
Рядок 169: | Рядок 192: | ||
</ | </ | ||
+ | ==== Знову угоди ==== | ||
Наступне представлення більш універсальне, | Наступне представлення більш універсальне, | ||
<file sql op_customers_login_contract_pautina.sql> | <file sql op_customers_login_contract_pautina.sql> | ||
Рядок 174: | Рядок 198: | ||
</ | </ | ||
- | Загалом як не складно | + | ==== Логін + угода ==== |
- | (Переконайтесь що у вас всюди увімкнено OPENPAYZ_REALID | + | Також ви можете спробувати використовувати два різних платіжних ID для ваших користувачів, наприклад використовуючи для цього одночасно |
+ | <file sql login_plus_contract.sql> | ||
+ | CREATE OR REPLACE VIEW `op_customers` (realid, | ||
+ | SELECT DISTINCT `users`.`login` AS `realid`, | ||
+ | `users`.`login` AS `virtualid` | ||
+ | FROM `users` | ||
+ | LEFT JOIN `op_denied` ON `users`.`login` = `op_denied`.`login` WHERE `op_denied`.`login` IS NULL | ||
+ | UNION | ||
+ | SELECT DISTINCT `contracts`.`login` AS `realid`, | ||
+ | `contracts`.`contract` AS `virtualid` | ||
+ | FROM `contracts` | ||
+ | LEFT JOIN `op_denied` ON `contracts`.`login` = `op_denied`.`login` | ||
+ | WHERE `op_denied`.`login` IS NULL AND `contracts`.`contract` !='' | ||
+ | </ | ||
- | ===== Режим високої продуктивності | + | Загалом як не складно помітити все лімітовано тільки збоченістю вашої фантазії ;)\\ |
- | При ввімкненні опції | + | (Переконайтесь що у вас всюди увімкнено OPENPAYZ_REALID для використання Платіжних ID з БД, до слова " |
- | < | + | |
- | OP_HIGHLOAD_ENABLE=1 | + | |
- | </ | + | |
- | вся обробка | + | ==== Статичні платіжні |
- | <code bash> | + | У випадку, |
- | */2 * * * * / | + | |
- | </ | + | |
- | Слід також зауважити, що експлуатація OpenPayz з вимкненою опцією OP_HIGHLOAD_ENABLE у реальному світі та на продакшні вкрай не рекомендується. Відключати його має сенс лише при тестуванні та запуску нових фронтендів платіжних систем. | + | <file sql op_static_payids.sql> |
+ | CREATE OR REPLACE VIEW op_customers (realid,virtualid) AS SELECT op_static.realid, | ||
+ | </ | ||
===== Розробка власного фронтенду ===== | ===== Розробка власного фронтенду ===== | ||
Рядок 271: | Рядок 305: | ||
Ось власне і все, у разі успіху - // | Ось власне і все, у разі успіху - // | ||
+ | |||
+ | ===== Налаштування платіжних систем (очевидні і не дуже) ===== | ||
+ | ==== Providex ==== | ||
+ | <hidden onHidden=" | ||
+ | Мабуть, | ||
+ | \\ | ||
+ | Ітак: | ||
+ | * вмикаємо модуль [[contragentextinfo|Додаткова інформація про контрагентів]]\\ | ||
+ | * для необхідного нам контрагента створюємо новий запис для нашої платіжної системи в " | ||
+ | {{ : | ||
+ | * або не помилитись - найменування платіжної системи бажано не вписувати руками, | ||
+ | * **Merchant ID** та його **пароль** мають бути вписані точно в ті ж самі поля, які ви бачите на скріні вище, тобто **Код контрагента в платіжній системі** та **Пароль сервісу** відповідно | ||
+ | |||
+ | Ось і все - налаштування креденшлів платіжної системи **Providex** для певного господарюючого суб' | ||
+ | </ |