Користувальницькькі налаштування

Налаштування сайту


openpayz

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Порівняння попередніх версій Попередня ревізія
Наступна ревізія
Попередня ревізія
Наступна ревізія По сторонах наступні версії
openpayz [2023/04/26 15:30]
nightfly [Альтернативні Платіжні ID]
openpayz [2023/06/16 16:26]
nightfly [Як це працює?]
Рядок 52: Рядок 52:
  
 ===== Як це працює? ===== ===== Як це працює? =====
-В цілому якось так:\\ 
  
-{{:opzarch.png?400|}}+В цілому якось так: 
 + 
 +{{:opzarch.png|}} 
  
 З чого випливає, що платіжні системи безпосередньо спілкуються зі своїми "фронтендами", абоненти у разі потреби спілкуються з "бекендами" інтегрованими в кабінет користувача або прямо в сайт провайдера, а OpenPayz реєструє транзакції, що надійшли від "фронтендів", вносить їх до загального реєстру транзакцій і викликає для них різноманітні "обробники".\\ З чого випливає, що платіжні системи безпосередньо спілкуються зі своїми "фронтендами", абоненти у разі потреби спілкуються з "бекендами" інтегрованими в кабінет користувача або прямо в сайт провайдера, а OpenPayz реєструє транзакції, що надійшли від "фронтендів", вносить їх до загального реєстру транзакцій і викликає для них різноманітні "обробники".\\
Рядок 148: Рядок 150:
 В деяких, випадках, наприклад, з "міркувань легасі" вам може захотітись використовувати "якісь інші Платіжні ID". Для цього варто знати, що усі меппінги "Логін"=>"Платіжний ID" лежать в view вашої БД з іменем **op_customers**. Власне для того аби на ходу замінити їх всі на потрібне вам представлення трансформуючи дані ваших користувачів для цього як вам заманеться. Нижче декілька прикладів: В деяких, випадках, наприклад, з "міркувань легасі" вам може захотітись використовувати "якісь інші Платіжні ID". Для цього варто знати, що усі меппінги "Логін"=>"Платіжний ID" лежать в view вашої БД з іменем **op_customers**. Власне для того аби на ходу замінити їх всі на потрібне вам представлення трансформуючи дані ваших користувачів для цього як вам заманеться. Нижче декілька прикладів:
  
-Рекомендований варіант що розгорнуто за замовчуванням:+==== Рекомендований за замовчуванням ==== 
 <file sql op_customers_crc32_full.sql> <file sql op_customers_crc32_full.sql>
 CREATE OR REPLACE VIEW op_customers (realid,virtualid) AS SELECT users.login, CRC32(users.login) FROM users LEFT JOIN op_denied ON users.login = op_denied.login WHERE op_denied.login IS NULL; CREATE OR REPLACE VIEW op_customers (realid,virtualid) AS SELECT users.login, CRC32(users.login) FROM users LEFT JOIN op_denied ON users.login = op_denied.login WHERE op_denied.login IS NULL;
 </file> </file>
  
-Ну або він же але трішечки швидший за рахунок ігнорування заборон.+==== Без заборон ====  
 +власне все той же за замовчуванням, але з ігноруванням заборон за рахунок чого є трішечки швидшим
 <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);
Рядок 159: Рядок 163:
 </file> </file>
  
 +==== Використовуємо IP ==== 
 Або якось так, для використання IP адрес користувачів у вигляді INT Або якось так, для використання IP адрес користувачів у вигляді INT
 <file sql op_customers_aton.sql> <file sql op_customers_aton.sql>
Рядок 165: Рядок 170:
 </file> </file>
  
 +==== Використовуємо логіни ==== 
 Або якось так, у випадку якщо у вас повністю цифрові логіни користувачів: Або якось так, у випадку якщо у вас повністю цифрові логіни користувачів:
 <file sql op_customers_login.sql> <file sql op_customers_login.sql>
Рядок 171: Рядок 177:
 </file> </file>
  
 +==== Використовуємо угоди ==== 
 Або якось так, якщо ви впевнені, що у всіх ваших користувачів є унікальні номери угод: Або якось так, якщо ви впевнені, що у всіх ваших користувачів є унікальні номери угод:
 <file sql op_customers_contract.sql> <file sql op_customers_contract.sql>
Рядок 177: Рядок 184:
 </file> </file>
  
 +==== Непорожні угоди ==== 
 Можна якось так, якщо ви впевнені, що у всіх ваших користувачів унікальні номери угод - в різниці від попереднього, не буде записів для користувачів з порожніми угодами: Можна якось так, якщо ви впевнені, що у всіх ваших користувачів унікальні номери угод - в різниці від попереднього, не буде записів для користувачів з порожніми угодами:
 <file sql op_customers_login_contract2.sql> <file sql op_customers_login_contract2.sql>
Рядок 183: Рядок 191:
 </file> </file>
  
 +==== Знову угоди ==== 
 Наступне представлення більш універсальне, теж створює платіжний ID на базі номеру угоди, але виникають помилки при відсутній угоді. Наступне представлення більш універсальне, теж створює платіжний ID на базі номеру угоди, але виникають помилки при відсутній угоді.
 <file sql op_customers_login_contract_pautina.sql> <file sql op_customers_login_contract_pautina.sql>
Рядок 188: Рядок 197:
 </file> </file>
  
-Також ви можете спробувати використовувати два різних платінжних ID для ваших користувачів, наприклад використовуючи для цього одночасно їх логін (сподіваємось що він цифровий) а також можливо номер угоди цього користувача, у випадку якщо він не порожній. Якось так:+==== Логін + угода ====  
 +Також ви можете спробувати використовувати два різних платіжних ID для ваших користувачів, наприклад використовуючи для цього одночасно їх логін (сподіваємось що він цифровий) а також можливо номер угоди цього користувача, у випадку якщо він не порожній. Якось так:
  
 <file sql login_plus_contract.sql> <file sql login_plus_contract.sql>
openpayz.txt · Востаннє змінено: 2024/03/25 13:49 повз nightfly