dinox

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

Рекомендуемые сообщения

dinox    670

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
tabook    129

Велосипед изобретать не нужно. Для буржуйских проектова я более 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
markimax    1 531

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dinox    670

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ashap    190

номер счета

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

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

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

Имя домена

Подпись

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
shchs    123

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

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';

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ashap    190

АПЫ......!!! гдеееее ты.................. ???

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
tim21701    497

Готов написать приложение/клиент для "нового каталога"))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу