Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Автоматическая выдача лицензий


dinox

Recommended Posts

Пока делается каталог новый давайте вместе подумаем и сделаем автоматизацию выдачи лицензий на текущем форуме, у кого-то они привязаны к домену у кого-то просто серийники давайте придумаем общее решение и я внедрю уведомления по урлам которые каждый разработчик даст для автогенерации лицензий, это же решение потом перенесется в новый каталог

Надіслати
Поділитися на інших сайтах


Велосипед изобретать не нужно. Для буржуйских проектова я более 7 лет использую Avangate, там очень клевое API.
В частности вот кусок из fulfillment API.
Каждый разраб задает в своем ЛК специальный URL для нотификаций о заказе.
При заказе приходит POST (список разрешенных IP можно задать) в котором передаются следующие параметры:
CYO1jTK.png

 

Нам можно добавить домен и удалить большую половину полей.

 

В ответ сервер разработчика должен подготовить  в ответ XML следующего содержания (простой формат)

<?xml version="1.0" encoding="UTF-8"?> 
<Data>
<code>SIMPLE_CODE 1</code>
<code>SIMPLE_CODE 2</code>
...
<code>SIMPLE_CODE N</code>
</Data>

Расширенный

<?xml version="1.0" encoding = "UTF-8" ?>
<data>
<description>General description (for all codes below)</description>
<code>
<description>Description for CODE 1 and/or the binary.key</description>
<key>CODE1</key>
<file name="binary.key" content_type = "text/plain">
UklGRhTsCABBVkkgTElTVCQBAABoZHJsYXZpaDgAAABqBAEAgPQDAAAAAAAQAAEALQAAAAAA
AAACAAAAgD4AAEABAADwAAAAAAAAAAAAAAAAAAAAAAAAAExJU1R0AAAAc3RybHN0cmD4MQAA
</file>
</code>
<code>
<description>Description for CODE 2</description>
<key>CODE 2</key>
</code>
<code>
<description>Description for the the binary_2.key</description>
<file name = "binary_2.key" >
UklGRhTsCABBVkkgTElTVCQBAABoZHJsYXZpaDgAAABqBAEAgPQDAAAAAAAQAAEALQAAAAAA
AAACAAAAgD4AAEABAADwAAAAAAAAAAAAAAAAAAAAAAAAAExJU1R0AAAAc3RybHN0cmD4MQAA
</file>
</code>
</data>

Это кратко. Подробности можно обсудить, можно спросить у меня. Обкатано почти на 8 тыс заказов.

Змінено користувачем tabook
Надіслати
Поділитися на інших сайтах

Очень просто - у меня  уже все реализовано

Привязка к заказу и пользователю

Автогенерация архивов на лету при скачивании, каждый архив уникальный

Потом если кто то выложил на варез - очень легко отследить

  • +1 2
Надіслати
Поділитися на інших сайтах

Меня интересует не Ваша внутрення кухня, а набор согласованых полей которые вы бы принимали и давали ответ мне что приняли и что лицензию или архив отдали, какие данные для Вас должен передавать форум 

Надіслати
Поділитися на інших сайтах


номер счета

название модуля или что то что бы его индетифицировать

ник покупателя

емаил покупателя

Имя домена

Подпись

Подпись формируется путем собрания всех полей и секрета

секрет(наборбуквцифр), у каждого продавца свой, который знает только форум и продавец

сравниваем подпись у себя и отдаем ключ или файл

Ответ просто echo OK например

  • +1 3
Надіслати
Поділитися на інших сайтах

  • 1 month later...

При публикации модуля, разработчик должен указать:

1. урл для активации

2. пароль для проверки подлинности

3. возможна ли активация на тестовый домен

 

При этом разработчику система сообщается id дополнения.

-----------------------------------------

 

При покупке клиент вводит свой домен и, если разрешено, тестовый домен.

-----------------------------------------

 

После оплаты, идет POST на сервер активации разработчика, содержащий:

0. id запроса (генерирует каталог, уникален, чтобы соотносить между собой запросы и ответы каталога и сервера активации)

1. id дополнения

2. md5(пароль)

3. ник покупателя

4. email покупателя

5. datetime покупки

6. домен для активации

7. тест домен (если разрешено)

 

Сервер активации сравнивает хеши паролей и при совпадении, идет активация. Тут уж как у кого сделано, либо ключ автоматом уходит на емаил покупателя, либо добавляется соотв.запись в базу, но не принципиально и не важно.

 

На POST, сервер активации выдает простой ответ, не надо xml и других усложнений, достаточно просто $this->response->setOutput($otvet), содержащий:

0. id запроса (берется из запроса каталога)

1. id дополнения (не обязательно, но для облегчения поиска проблем не помешает)

2. статус активации (1 - все хорошо, 2 - не хорошо, пароли не совпали и т.д. и т.п.)

$otvet = '0|1|2';

Надіслати
Поділитися на інших сайтах


  • 5 weeks later...

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.