Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

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


dinox
 Поделиться

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

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

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


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

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

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 недель спустя...

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.